オートチューン

[オートチューン] ダイアログは OCRMax 関数と連動して使用します。オートチューンレコードを生成してオートチューンモデルを作成することで、OCRMax 関数のセグメンテーションパラメータを設定し、フォントデータベースを登録します。オートチューンレコードには、画像、登録文字列、ユーザが確認済みの画像内の文字位置が含まれます。オートチューンモデルには、1 つ以上のオートチューンレコードと、オートチューンレコードに含まれるすべての画像の最適なセグメント設定が含まれます。

:  
  • In-Sight ビジョンシステムがオンラインになっている場合、[オートチューン] ダイアログは使用できません。
  • このパラメータが OCRMaxSettings 関数または GetInternalSettings 関数への参照として設定されている場合、[オートチューン] ダイアログは使用できません ([オートチューン] ダイアログを有効にするには、このパラメータを 0 に設定する必要があります)。GetInternalSettings 関数との関連で [オートチューン] ダイアログを有効にする方法については、「GetInternalSettings」関数を参照してください。
  • [オートチューン] ダイアログを使用する場合、セグメンテーションのチューニングは In-Sight ビジョンシステム上ではなく、In-Sight エミュレータ上で実行することを推奨します。OCRMax 関数のオートチューンアルゴリズムは大量の計算リソースを要するため、ビジョンシステム上よりもエミュレータ上で実行した方がパフォーマンスが向上します。
  • フォントデータベースを登録し、[オートチューン] ダイアログを使用して文字をセグメンテーションする場合は、文字の表示状態が最も良い画像の処理から開始し (画質が最も良い画像を最初に使用し)、表示状態の良いものから悪いものへと順番に処理することを推奨します。また、実行時に出現することが想定されるばらつきがすべて表れている画像を含めてください。これによって、OCRMax 関数のオートチューンアルゴリズムによるチューニングが成功しやすくなります。
  • オートチューンアルゴリズムは、+/- 5 度以上傾いている ROI 内のテキストに対しては機能しません。このシナリオでは、ROI をフィクスチャして角度範囲内のテキストに合わせて調整するか、[角度範囲] パラメータを 5 より大きい値に設定して、オートチューンアルゴリズムの計算にこの値を使用するようにします。
  • 文字がオーバーラップしている場合、オートチューンアルゴリズムは機能しません。オーバーラップしている文字は手動でセグメンテーションし、分類してください。
  • OCRMaxAutoTune 関数を使用することにより、VisionView オペレータインタフェースパネルなどの外部デバイスを使用して、[オートチューン] ダイアログに外部からアクセスすることができます。

概要

[オートチューン] ダイアログを実行すると、文字が正しくセグメンテーションされ、分類されているかを検証するため、各画像が調査されます。文字が正しくセグメンテーションされていない場合、OCRMax 関数のオートチューンアルゴリズムは、現在の画像 (オートチューンレコード) と以前登録された画像 (オートチューンモデル) をセグメンテーションする最適なセグメンテーションパラメータを計算します。画像の登録数が増えるほど、OCRMax 関数のオートチューンアルゴリズムの信頼性と正確性が向上します。満足な結果が得られたら、[オートチューン] ダイアログを閉じ、新しい セグメンテーションパラメータを適用します。フォントデータベースは新たに登録された文字で更新されます。

[オートチューン] ダイアログには、セグメンテーションパラメータを手動でチューニングする場合に比べて、主に 2 つの利点があります。 

  1. 画像に必要なサイクルは、2 回 (1 回目にセグメンテーションパラメータをチューニングし、2 回目に登録する) ではなく、1 回だけです。
  2. 読み取り精度は、チューニングプロセス中に取得されるセグメンテーションパラメータによって文字が自動的に登録されることによって向上します。

[オートチューン] ダイアログを表示するには

OCRMaxプロパティシートから、[オートチューン] ボタンを押します。

[オートチューン] ダイアログのタブと設定項目

[オートチューン] ダイアログは、[オートチューン][設定][記録][フォント] の 4 つタブで構成されています。

これらのタブのほかに、次の設定項目を含むツールバーがあります。

  • [リセット]:[セグメント] タブのパラメータがデフォルト設定にリセットされ、フォント情報がクリアされ、この関数に関連するオートチューンレコード (.rec) ファイルが削除されるように指定します。
  • [開く]: [開く] ダイアログを起動します。このダイアログを使用して、以前保存したオートチューンモデル (.REC ファイルなど) に移動します。デフォルトでは、[オートチューン] ダイアログには、最後に保存されたオートチューンモデルが自動的にロードされます。
  • [名前を付けて保存]: [名前を付けて保存] ダイアログを起動します。このダイアログを使用して、オートチューンモデル (.REC ファイルなど) を保存および格納するディレクトリに移動します。デフォルトでは、オートチューンモデルは接続されている In-Sight デバイス (エミュレータまたは In-Sight ビジョンシステム。どちらが接続されているか、ジョブの開発に使用されたかによります) 上のメモリに保存されます。
  • [領域の編集]: 対話型グラフィックモードを起動します。このモードを使用して、OCRMax の対象領域を変更することができます。

    :  参照される OCRMax 関数の [領域] パラメータがセル参照または数式によって定義されている場合、[領域の編集] 設定項目は無効になります。
  • [最初の画像]: 再生フォルダ ([記録/再生のオプション] ダイアログで設定します) に保存されている最初の画像に移動します。
  • [前の画像]: 再生フォルダに保存されている前の画像に移動します。
  • [次の画像]: 再生フォルダに保存されている次の画像に移動します。
  • [最後の画像]: 再生フォルダに保存されている最後の画像に移動します。
  • [画像を開く]: [画像を開く] ダイアログを起動します。このダイアログを使用して、画像ディレクトリに移動します。
  • [ライブビデオ]: ライブビデオモードに切り替えます。In-Sight ビジョンシステムから連続的に画像を取り込み、表示領域に表示します。このオプションは、ビジョンシステムに接続しているときのみ使用できます。

オートチューン

[オートチューン] タブでは、登録するテキスト文字列の入力、自動または手動での文字セグメンテーションの有効化、フォントデータベースへの文字の追加を行います。

  • [Text] フィールド: 登録するテキスト文字列を指定します。文字列にスペースが含まれている場合、キーボードのスペースキーを使用して入力します。
  • [セグメントの修正 (自動)]: OCRMax 関数で、文字領域を作成し、さまざまな組み合わせのセグメンテーションパラメータを使用して、正しい文字数が検出されるまで自動的にセグメンテーションを試行します。
  • [セグメントの修正 (手動)]: 対話型グラフィックモードで文字領域のサイズと位置を個別に編集することにより、文字領域を手動で調整します。その後、OCRMax 関数が文字領域の形状と位置に基づいて、最適なセグメンテーションパラメータを計算します。
  • [文字登録のみ]: [Text] フィールドに指定したテキストを登録し、フォントに追加します。セグメンテーションパラメータの調整は行いません。

設定

[設定] タブでは、OCRMax 関数のオートチューニングアルゴリズムの設定を行います。

  • [結果数]: 生成する候補結果の最大数 (1 ~ 9,999,999、デフォルト = 30) を指定します。

    :  In-Sight ビジョンシステムに接続している場合、最大 15 件のオートチューンモデルの結果を生成することができます。
  • [パラメータステップ]: 各セグメンテーションパラメータの試行の最大繰り返し回数 (1 ~ 100、デフォルト = 5) を指定します。

    :  繰り返し回数を多くするほど、オートチューンプロセスの完了までの時間が長くなります。
  • [ファイル名の自動保存]: .REC ファイルの名前を指定します。デフォルト名は「ocrs_{cell}.rec」です (名前を指定する場合、ファイルパスまたは拡張子を追加しないでください)。ファイル名の最大長は 255 文字で、英数字とアンダースコアのみを使用できます。[OK] ボタンを押して [オートチューン] ダイアログを閉じると、自動的に .REC ファイルが In-Sight ビジョンシステムのメモリにエクスポートされます。その後、[オートチューン] ダイアログを再び開いたとき、自動的に .REC ファイルがインポートされます。

    :  REC ファイルを特定の場所に保存する、または特定の場所からロードするには、[オートチューン] ダイアログのツールバーの設定項目の [開く] オプションと [名前を付けて保存] オプションを使用します。
  • [パラメータのロック]: [パラメータのロック] ダイアログを起動します。このダイアログでは、[オートチューン] ダイアログで最適なセグメンテーションパラメータ (オートチューンプロセスの開始前に設定します) を計算するときに変更しない OCRMax パラメータを指定します。

    :  スプレッドシート内のセル参照として作成されたパラメータは、自動的にロックされ無効になります。

記録

[記録] タブには、オートチューンレコードのリストが表示されます。オートチューンレコードには、画像、登録テキスト文字列、ユーザが確認済みの画像内の文字位置が含まれます。

  • テーブル: 登録に使用される画像の名前、登録されるテキスト文字列、セグメントおよび文字が検証済みであるかどうかが表示されます。
  • [記録の表示]: 有効にするレコードを選択してこのボタンを押すと、[オートチューン結果] ダイアログが起動します。このダイアログには以前登録した文字領域が表示され、その下に現在のオートチューン結果が表示されます。現在の結果による文字のセグメンテーションが登録済みの結果よりも適切である場合、[記録を現在の結果に置き換える] ボタンを押して、以前登録された文字領域を現在のオートチューン結果で上書きします。

  • [記録の削除]: レコードを選択してこのボタンを押すと、そのレコードがリストから削除されます。

    :  レコードの削除が完了するまでに、しばらく時間がかかる場合があります。

フォント

[フォント] タブには、登録された文字とそのインスタンスが読み取り専用で表示されます。

[オートチューン] ダイアログの使用法

以下のすべての手順は、登録する文字が含まれているサンプル画像のデータベースが作成され、ディレクトリに配置されていることを前提にしています。また、スプレッドシートに OCRMax 関数が挿入されていることも前提にしています。

[オートチューン] ダイアログを使用した OCR アプリケーションの文字の登録およびセグメンテーションプロセスは、以下により構成されます。

登録画像のロード

  1. 画像をロードします。[画像] メニューから [記録/再生のオプション] を選択します。
  2. [記録/再生のオプション] ダイアログは、自動的に [再生] タブが表示された状態で開きます。表示されていない場合は、[再生] タブをクリックします。
  3. [再生フォルダ] セクションで [参照] ボタンをクリックし、[フォルダの参照] ダイアログを表示します。登録画像が含まれているディレクトリに移動し、[OK] ボタンを押して続行します。
  4. [再生フォルダ] には指定したディレクトリが表示されます。[画像カウント] はこのディレクトリに保存されている画像の数を示しています。[記録/再生のオプション] ダイアログの [OK] ボタンをクリックして、続行します。
  5. [再生フォルダ] ディレクトリを指定すると、[オートチューン] ダイアログツールバーの [最初の画像][前の画像][次の画像][最後の画像] の各ボタンを使用して、画像に移動することができます。

自動文字セグメンテーションによる画像の登録

  1. [オートチューン] ダイアログでは、デフォルトで、[オートチューン] タブが表示されます。[Text] フィールドに、登録するテキスト文字列を入力します。
  2. [オートチューン] ダイアログのツールバーの [領域の編集] ボタンを押して対話型グラフィックスモードに切り替え、読み取るテキスト行の上に OCRMax 関数の対象領域を配置します。対象領域の設定時には、必ず角回転とスキューの両方またはどちらかを考慮してください。
  3. 関数は、関数が [セグメント] タブのデフォルト設定に基づいて文字であると判断したテキストの周囲に自動的に文字領域を作成します。
  4. [セグメンテーションの修正 (自動)] ボタンを押すと、OCRMax 関数を使用して、セグメンテーションパラメータを自動的に調整することができます。
  5. OCRMax 関数が文字をセグメンテーションした後、[自動セグメントの結果] ダイアログに結果のリストが表示されます。

  6. 結果を確認し、どの結果が最も適切に文字をセグメンテーションしているかを判断します。リストで結果を選択すると、画像内の文字領域が更新されます。必要に応じて、[結果の編集] ボタンを押して対話型グラフィックスモードに切り替え、文字の周囲の文字領域を手動で調整します。
  7. 最適な結果が決まったら、リストから結果を選択し、[OK] ボタンを押して、[自動セグメントの結果] ダイアログを閉じます。
  8. 新しいオートチューンレコードが作成され、新しい文字領域で画像が更新されます。フォントも新しく登録された文字で更新されます。
  9. 次の画像をロードして、手順 1 ~ 8 を繰り返します。
  10. すべての登録画像を使用したら、[OK] ボタンを押して、[オートチューン] ダイアログを閉じます。

手動文字セグメンテーションによる画像の登録

  1. [オートチューン] ダイアログでは、デフォルトで、[オートチューン] タブが表示されます。[Text] フィールドに、登録するテキスト文字列を入力します。
  2. [オートチューン] ダイアログのツールバーの [領域の編集] ボタンを押して対話型グラフィックスモードに切り替え、読み取るテキスト行の上に OCRMax 関数の対象領域を配置します。対象領域の設定時には、必ず角回転とスキューの両方またはどちらかを考慮してください。
  3. 関数は、関数が [セグメント] タブのデフォルト設定に基づいて文字であると判断したテキストの周囲に自動的に文字領域を作成します。
  4. [セグメンテーションの修正 (手動)] ボタンを押して、対話型グラフィックモードに切り替えます。
  5. 必要に応じて、文字領域の位置とサイズを手動で編集します。
  6. すべての文字領域のサイズと位置を必要に応じて再指定した後、[ジョブの編集] ツールバー[OK] ボタンを押して、対話型グラフィックスモードを終了します。
  7. [オートチューン] ダイアログが再び表示され、新しいオートチューンレコードが作成され、新しい文字領域で画像が更新されます。フォントも新しく登録された文字で更新されます。
  8. 次の画像をロードして、手順 1 ~ 8 を繰り返します。
  9. すべての登録画像を使用したら、[OK] ボタンを押して、[オートチューン] ダイアログを閉じます。

文字識別の修正

このオプションは、画像のセグメンテーションは正しく行われているが、文字が正しく識別されていない場合に使用します。

  1. [オートチューン] ダイアログでは、デフォルトで、[オートチューン] タブが表示されます。[Text] フィールドに、登録するテキスト文字列を入力します。
  2. [文字登録のみ] ボタンを押します。
  3. 新しく登録された文字によってフォントが更新され、新しいオートチューンレコードが作成されます。

    :  「Incorrect Auto-Tune Record text string in the Auto-Tune Model (オートチューンモデル内に記録されたオートチューンレコードテキスト文字列が正しくありません)」というエラーメッセージが表示された場合、このエラーメッセージは、分類が異なる点を除いて別のオートチューンレコードと同一のオートチューンレコードが追加されたことを示します。例えば、1 つ目のオートチューンレコードで数字の「0」が文字の「O」として分類され、2 つ目のオートチューンレコードで正しく数字の「0」として分類された場合、このエラーが発生します。このエラーが発生した場合は、[記録] タブに移動し、オートチューンレコードに対して指定されたテキスト文字列が正しいことを確認します。