OCR学習インタフェースチュートリアル
このチュートリアルには、画像の特別な設定を使用してOCRで文字を学習する手順が記載されています。また、このチュートリアルは同じ文字のさまざまな表現を学習するのに必要な多様な手順を説明します。
このチュートリアルには以下のセクションが含まれます。
OCRで文字を学習する
OCRで文字を学習するには、以下の手順に従ってください。
- OCR学習インタフェースを開く
- ファイル→画像を開くをクリックします。
- チュートリアル画像を選択するには、以下いずれかの手順に従ってください。
- NI VisionおよびVision Assistant
- <Vision>\Images\OCR Tutorialに移動します。<Vision>は、NI Vision開発モジュールのインストール場所です。
- 以下の画像を選択します。
- NIOCRExample1.tif
- NIOCRExample2.tif
- NIOCRExample3.tif
- NIOCRExample4.tif
- NIOCRExample5.tif
ヒント <Ctrl>キーを押しながら各ファイルをクリックすることで、複数の画像ファイルを選択することができます。すべてのファイルを選択チェックボックスを有効にし、指定したディレクトリのすべての画像を開きます。 - 開くをクリックします。
- Vision Builder AI
- <Vision Builder AI>\DemoImg\OCRに移動します。<Vision Builder AI>は、Vision Builder AIのインストール場所です。
- 以下の画像を選択します。
- NIOCRExample1.tif
- NIOCRExample2.tif
- NIOCRExample3.tif
- NIOCRExample4.tif
- NIOCRExample5.tif
ヒント <Ctrl>キーを押しながら各ファイルをクリックすることで、複数の画像ファイルを選択することができます。すべてのファイルを選択チェックボックスを有効にし、指定したディレクトリのすべての画像を開きます。 - 開くをクリックします。
ヒント 上記の各画像ファイル名をクリックすると、画像と関連したチュートリアルのステップが表示されます。上記のリストに戻るには、各画像をクリックします。 - NI VisionおよびVision Assistant
- 参照ボタンを使用してNIOCRExample1.tifを検索します。
- OCR学習インタフェースツールバーで 回転した長方形ツールを選択します。バーコードの周りに関心領域(ROI)を画像に描画します。
ヒント ROIを描くときにはバーコードを除きますが、描く領域の大きさは、解析する他の画像の文字をすべて囲める大きさにしてください。 - 正しい文字列でBACE30と入力して学習をクリックします。
-
NIOCRExample2.tifファイルを参照します。
この画像の解析では、NIOCRExample1.tif画像で描いたROIが使用されます。NIOCRExample2.tifファイルのバーコードは位置が同じでないため、ROI は一部を囲み、OCRはバーコードの部分をセグメント化します。
- 2値化タブのROIに接する粒子を無視チェックボックスを有効にしてOCRを構成し、バーコードのどの部分もセグメント化せずに文字を正しくセグメント化します。
- 粒子を削除(収縮)を1に設定します。
この値を1に設定すると、画像が収縮されます。収縮によって、粒子の境界のピクセル層が除去され、画像内のオブジェクトのサイズが小さくなります。この処理により画像内の文字が背景から分離されます。
- 正しい文字列でB8F1E9と入力して学習をクリックします。
-
NIOCRExample3.tifファイルを参照します。
この画像の解析では、OCRはNIOCRExample1.tifファイルで描いたROI、およびNIOCRExample2.tifファイルで文字を正しくセグメント化するために変更した設定を使用します。
- ROIのオブジェクトが正しくセグメント化されていることを確認します。
- 正しい文字列でB7ODF4と入力して学習をクリックします。
-
NIOCRExample4.tifファイルを参照します。
この画像の解析では、OCRはNIOCRExample1.tifファイルで描いたROI、およびNIOCRExample3.tifファイルで文字を正しくセグメント化するために変更した設定を使用します。NIOCRExample4.tifファイルの文字サイズとスペースは、文字の学習に使用した他の3つのファイルの文字サイズとスペースとは異なるので、OCRは文字Aの2つのインスタンスを不正確にセグメント化します。
- 結果タブを使用して、文字Aの2つのインスタンスのサイズ統計を表示します。
- サイズと間隔タブをクリックします。結果タブで確認した文字サイズの統計に基づいて、外接長方形幅の最大を変更します。たとえば、上の画像では、外接長方形幅の最大は50に設定されます。
- 正しい文字列でB85AA6と入力して学習をクリックします。
-
NIOCRExample5.tifファイルを参照します。
この画像の解析では、OCRはNIOCRExample1.tifファイルで描いたROI、およびNIOCRExample4.tifファイルで文字を正しくセグメント化するために変更した設定を使用します。
- オブジェクトが正しくセグメント化されていることを確認します。
- 正しい文字列でB8CE72と入力して学習をクリックします。
OCRは、ダイアログボックス下部の各タブのデフォルト設定にしたがって、ROIでオブジェクトをセグメント化し、このオブジェクトをブルーで表示してオブジェクトの周りに文字の外接長方形を描きます。読み込んだテキストは、適切であれば、使用している文字セットファイルに基づいて、認識した文字と代替文字を表示します。文字セットファイルを開けていないか、または文字を学習していない場合、読み込んだテキストはROIでセグメント化された各オブジェクトの代替文字を表示します。たとえば、前の説明では、読み込んだテキストは6つの代替文字を含みます。文字の外接長方形で囲まれたオブジェクトはすべてセグメント化されたオブジェクトです。
読み込みオプションタブで代替文字を指定します。
文字仕様を確認する
結果タブには、OCRがROIでセグメント化した文字のデータが表示されます。
結果タブの各列に表示されるデータは以下のとおりです。
- 文字―現在ROIにある各文字の指標をリストします。
- クラス―現在ROIにある学習した各文字の値を指標によりリストします。
- 左および上—現在ROIにある各文字の外接長方形の左上のx座標とy座標を指標によりリストします。画像ビューアのステータスバーは、マウスを画像で移動すると、文字の外接長方形の左および上の座標を表示します。
- 幅および高さ—現在ROIにある学習した各文字の幅と高さを指標によりリストします。
- サイズ—文字の大きさをピクセルを単位として指標によりリストします。
- クラススコア—割り当てられた文字クラスが、文字セットの他の文字クラスと比べ、オブジェクト値をどれほど適確に表すかを示す値を指標によりリストします。値の範囲は、0〜1000です。
- 識別スコア文字―文字セットの基準文字に対する文字の一致率を示す値の指標を一覧表示します。値の範囲は0〜1000です。1000は、オブジェクトと基準文字が完全に一致していることを示します。
メモ 各クラスに基準文字を設定することができます。基準文字を設定すると、OCRはその文字がそのクラスの基準文字とどれほど一致しているかを示す識別スコアを返します。識別スコアを使用し、光学文字検証を行います。文字をクラスに設定しない場合、OCRは識別スコアとして0を返します。
文字セットファイルを保存する
いくつか文字を学習すると、文字セットファイルを保存できる状態になります。各文字セットファイルはOCRパラメータおよび学習した文字の現在の状態を含みます。
- 参照ボタンを使用して、このチュートリアルで使用した各画像をスクロールします。各画像と読み込んだテキストの情報をチェックして、文字が正しく学習されたかどうかを確認します。
このステップを実行して、OCRで設定したパラメータで文字の最適数を学習できるかどうかを確認します。読み込み手順でこの文字セットファイルを使用するので、OCRを構成して、画像の多様な文字を正しくセグメント化する文字とパラメータの広範囲なスペクトルが含まれることを確認する必要があります。
- 文字セットファイルを編集タブを使用して、学習した文字セットを確認および変更します。
- ファイル→文字セットファイルを保存をクリックして、文字セットファイルのファイル名でNIOCRTutorial.abcと入力し、OKをクリックして文字セットを保存します。
メモ OCRに付属のサンプルにあるNIOCRTutorial.abc文字セットを使用することができます。