(57)【要約】【課題】光学式文字認識の為の少なくとも１つのセグメンテーションパラメータを選択する、コンピュータに実装される方法を提供する。【解決手段】本方法は、１つ以上の文字を含む文字列を有する画像を受け取るステップを含んでよい。本方法は又、上記１つ以上の文字のそれぞれを識別する文字列を受け取るステップを含んでよい。本方法は又、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップを含んでよい。本方法は又、上記文字列を有する上記画像に対するセグメンテーションを、上記少なくとも１つのセグメンテーションパラメータを使用して実行するステップを含んでよい。本方法は又、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップと、上記セグメンテーション結果が上記１つ以上の条件を満たす場合には上記少なくとも１つのセグメンテーションパラメータを選択するステップと、を含んでよい。【選択図】図１
2014081938.tif 000002
【特許請求の範囲】
【請求項１】
光学式文字認識の為の少なくとも１つのセグメンテーションパラメータを選択する、コンピュータに実装される方法であって、
１つ以上のコンピューティング装置を使用して、１つ以上の文字を含む文字列を有する画像を受け取るステップと、
前記１つ以上のコンピューティング装置を使用して、前記１つ以上の文字のそれぞれを識別する文字列を受け取るステップと、
前記１つ以上のコンピューティング装置を使用して、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップと、
前記１つ以上のコンピューティング装置を使用して、前記文字列を有する前記画像に対するセグメンテーションを、前記少なくとも１つのセグメンテーションパラメータを使用して実行するステップと、
前記１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップと、
前記セグメンテーション結果が前記１つ以上の条件を満たす場合に、前記少なくとも１つのセグメンテーションパラメータを選択するステップと、
前記１つ以上のコンピューティング装置において、前記画像の少なくとも一部分を表示するステップと、
を含む、コンピュータに実装される方法。
【請求項２】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するステップであって、前記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成された、前記ステップ
を更に含む、請求項１に記載の、コンピュータに実装される方法。
【請求項３】
前記１つ以上のコンピューティング装置を使用して、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するステップ
を更に含む、請求項１に記載の、コンピュータに実装される方法。
【請求項４】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーション結果を表示するステップ
を更に含む、請求項１に記載の、コンピュータに実装される方法。
【請求項５】
前記１つ以上のコンピューティング装置を使用して、前記少なくとも１つのセグメンテーションパラメータを表示するステップ
を更に含む、請求項１に記載の、コンピュータに実装される方法。
【請求項６】
前記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含む、請求項５に記載の、コンピュータに実装される方法。
【請求項７】
前記１つ以上のコンピューティング装置を使用して、少なくとも１つのトレーニング済み画像を表示するステップ
を更に含む、請求項１に記載の、コンピュータに実装される方法。
【請求項８】
コンピュータ可読記憶媒体に常駐して、前記コンピュータ可読記憶媒体に記憶された複数の命令を有するコンピュータプログラム製品であって、前記複数の命令は、処理装置によって実行された場合に、
１つ以上のコンピューティング装置を使用して、１つ以上の文字を含む文字列を有する画像を受け取るステップと、
前記１つ以上のコンピューティング装置を使用して、前記１つ以上の文字のそれぞれを識別する文字列を受け取るステップと、
前記１つ以上のコンピューティング装置を使用して、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップと、
前記１つ以上のコンピューティング装置を使用して、前記文字列を有する前記画像に対するセグメンテーションを、前記少なくとも１つのセグメンテーションパラメータを使用して実行するステップと、
前記１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップと、
前記セグメンテーション結果が前記１つ以上の条件を満たす場合に、前記少なくとも１つのセグメンテーションパラメータを選択するステップと、
前記１つ以上のコンピューティング装置において、前記画像の少なくとも一部分を表示するステップと、
を含む操作を前記処理装置に実行させる、コンピュータプログラム製品。
【請求項９】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するステップであって、前記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成された、前記ステップ
を更に含む、請求項８に記載のコンピュータプログラム製品。
【請求項１０】
前記１つ以上のコンピューティング装置を使用して、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するステップ
を更に含む、請求項８に記載のコンピュータプログラム製品。
【請求項１１】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーション結果を表示するステップ
を更に含む、請求項８に記載のコンピュータプログラム製品。
【請求項１２】
前記１つ以上のコンピューティング装置を使用して、前記少なくとも１つのセグメンテーションパラメータを表示するステップ
を更に含む、請求項８に記載のコンピュータプログラム製品。
【請求項１３】
前記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記１つ以上のコンピューティング装置を使用して、少なくとも１つのトレーニング済み画像を表示するステップ
を更に含む、請求項８に記載のコンピュータプログラム製品。
【請求項１５】
光学式文字認識の為の少なくとも１つのセグメンテーションパラメータを選択するように構成されたコンピューティングシステムであって、
１つ以上の文字を含む文字列を有する画像を受け取るように構成された１つ以上の処理装置を備えており、前記１つ以上の処理装置は更に、前記１つ以上の文字のそれぞれを識別する文字列を受け取るように構成されており、前記１つ以上の処理装置は更に、少なくとも１つのセグメンテーションパラメータを自動的に生成するように構成されており、前記１つ以上の処理装置は更に、前記文字列を有する前記画像に対するセグメンテーションを、前記少なくとも１つのセグメンテーションパラメータを使用して実行するように構成されており、前記１つ以上の処理装置は更に、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するように構成されており、前記１つ以上の処理装置は更に、前記セグメンテーション結果が前記１つ以上の条件を満たす場合に、前記少なくとも１つのセグメンテーションパラメータを選択するように構成されており、前記１つ以上の処理装置は更に、前記１つ以上のコンピューティング装置において、前記画像の少なくとも一部分を表示するように構成されている、
コンピューティングシステム。
【請求項１６】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するステップであって、前記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成された、前記ステップ
を更に含む、請求項１５に記載のコンピューティングシステム。
【請求項１７】
前記１つ以上のコンピューティング装置を使用して、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するステップ
を更に含む、請求項１５に記載のコンピューティングシステム。
【請求項１８】
前記１つ以上のコンピューティング装置を使用して、前記セグメンテーション結果を表示するステップ
を更に含む、請求項１５に記載のコンピューティングシステム。
【請求項１９】
前記１つ以上のコンピューティング装置を使用して、前記少なくとも１つのセグメンテーションパラメータを表示するステップ
を更に含む、請求項１５に記載のコンピューティングシステム。
【請求項２０】
前記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含む、請求項１９に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその内容全体が本明細書に組み込まれている、２０１２年１１月２１日に出願された米国特許出願第１３／６８４，００７号、並びに、２０１２年１０月１７日に出願された米国特許出願第１３／６５３，９４８号の優先権を主張するものである。
【０００２】
本技術は、マシンビジョンのシステム及び方法に関し、特に、光学式文字認識のシステム及び方法に関する。
【背景技術】
【０００３】
ＯＣＲ技術は、多くのマシンビジョンシステムにおいて、各種製造工程に関連付けられたテキストを検出する為に用いられることが多い。しかしながら、所与のアプリケーションに応じてＯＣＲパラメータをセットアップすることは極めて困難であり、特に、新規ユーザにとっては困難である。例えば、ユーザがＯＣＲ文字列の周囲の領域を選択して、セグメンタがそれらの文字を正しく見つけない場合、ユーザは、この問題のトラブルシューティングを手動で行おうとして困難に直面することが多い。システムインテグレータがあらかじめ問題を解決しておける多くのアプリケーションと異なり、ＯＣＲは、製造現場においてランタイムパラメータのトレーニングや修正を実施する為の技能者や技術者を必要とする可能性がある。こうしたことが起こりうるのは、新しい部品を導入する場合や、新しい印字又はラベルを使用する場合である。既存のシステムは、デフォルトのセグメンテーションパラメータで動作する場合には、セットアップがかなり容易となる可能性があるが、それで動作しない場合、ユーザは、調節が必要かもしれない２０個から３０個のパラメータのリストと向き合うことになる。これは、殆どのユーザの技能レベルを超えている。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実装では、光学式文字認識の為の少なくとも１つのセグメンテーションパラメータを選択する、コンピュータに実装される方法を提供する。本方法は、１つ以上のコンピューティング装置を使用して、１つ以上の文字を含む文字列を有する画像を受け取るステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、上記１つ以上の文字のそれぞれを識別する文字列を受け取るステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、上記文字列を有する上記画像に対するセグメンテーションを、上記少なくとも１つのセグメンテーションパラメータを使用して実行するステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップと、上記セグメンテーション結果が上記１つ以上の条件を満たす場合に、上記少なくとも１つのセグメンテーションパラメータを選択するステップと、を含んでよい。本方法は又、上記１つ以上のコンピューティング装置において、上記画像の少なくとも一部分を表示するステップを含んでよい。
【０００５】
以下に挙げる機能のうちの１つ以上が含まれてよい。実施形態によっては、本方法は、上記１つ以上のコンピューティング装置を使用して、上記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するステップであって、上記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成された、上記ステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、上記セグメンテーション結果を表示するステップを含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、上記少なくとも１つのセグメンテーションパラメータを表示するステップを含んでよい。実施形態によっては、上記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含んでよい。本方法は又、上記１つ以上のコンピューティング装置を使用して、少なくとも１つのトレーニング済み画像を表示するステップを含んでよい。
【０００６】
別の実装では、コンピュータ可読記憶媒体に常駐するコンピュータプログラム製品を提供する。本コンピュータプログラム製品は、複数の命令がコンピュータ可読記憶媒体に記憶されていてよく、これらの命令は、処理装置によって実行された場合に、操作を処理装置に実行させる。操作は、１つ以上のコンピューティング装置を使用して、１つ以上の文字を含む文字列を有する画像を受け取るステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、上記１つ以上の文字のそれぞれを識別する文字列を受け取るステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、上記文字列を有する上記画像に対するセグメンテーションを、上記少なくとも１つのセグメンテーションパラメータを使用して実行するステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップと、上記セグメンテーション結果が上記１つ以上の条件を満たす場合に、上記少なくとも１つのセグメンテーションパラメータを選択するステップと、を含んでよい。操作は又、上記１つ以上のコンピューティング装置において、上記画像の少なくとも一部分を表示するステップを含んでよい。
【０００７】
以下に挙げる機能のうちの１つ以上が含まれてよい。実施形態によっては、操作は、上記１つ以上のコンピューティング装置を使用して、上記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するステップであって、上記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成された、上記ステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、上記セグメンテーション結果を表示するステップを含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、上記少なくとも１つのセグメンテーションパラメータを表示するステップを含んでよい。実施形態によっては、上記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含んでよい。操作は又、上記１つ以上のコンピューティング装置を使用して、少なくとも１つのトレーニング済み画像を表示するステップを含んでよい。
【０００８】
別の実装では、１つ以上の処理装置を有するコンピューティングシステムを提供する。上記１つ以上の処理装置は、１つ以上の文字を含む文字列を有する画像を受け取るように構成されてよい。上記１つ以上の処理装置は、上記１つ以上の文字のそれぞれを識別する文字列を受け取るように構成されてよい。上記１つ以上の処理装置は、少なくとも１つのセグメンテーションパラメータを自動的に生成するように構成されてよい。上記１つ以上の処理装置は、上記文字列を有する上記画像に対するセグメンテーションを、上記少なくとも１つのセグメンテーションパラメータを使用して実行するように構成されてよい。上記１つ以上の処理装置は、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するように構成されてよく、上記セグメンテーション結果が上記１つ以上の条件を満たす場合に、上記少なくとも１つのセグメンテーションパラメータを選択するように構成されてよい。上記１つ以上の処理装置は、上記１つ以上のコンピューティング装置において、上記画像の少なくとも一部分を表示するように構成されてよい。
【０００９】
以下に挙げる機能のうちの１つ以上が含まれてよい。実施形態によっては、上記１つ以上の処理装置は、上記セグメンテーションに関連付けられたユーザ選択可能オプションを表示するように構成されてよく、上記ユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成される。上記１つ以上の処理装置は、手動で生成されるセグメンテーションをユーザが手動で生成することを可能にするように構成されたユーザ選択可能オプションを表示するように構成されてよい。上記１つ以上の処理装置は、上記セグメンテーション結果を表示するように構成されてよい。上記１つ以上の処理装置は、上記少なくとも１つのセグメンテーションパラメータを表示するように構成されてよい。実施形態によっては、上記少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、断片コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、主行までの断片距離、断片マージモード、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白文字の幅のうちの１つ以上を含んでよい。上記１つ以上の処理装置は、少なくとも１つのトレーニング済み画像を表示するように構成されてよい。
【００１０】
１つ以上の実装の詳細を、添付図面及び以下の説明において示す。それらの説明、図面、及び特許請求の範囲から、他の特徴及び利点が明らかになるであろう。
【００１１】
様々な図面における同様の参照記号は、同様の要素を示しうる。
【図面の簡単な説明】
【００１２】
【図１】分散コンピューティングネットワークと結合されたイメージングプロセスを示す図である。
【図２】図１のイメージングプロセスの一実施形態に対応するシステム図である。
【図３】図１のイメージングプロセスの一実施形態を表すフローチャートである。
【図４】図１のイメージングプロセスの一実施形態を表すフローチャートである。
【図５】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図６】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図７】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図８】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図９】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図１０】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１１】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図１２】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１３】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１４】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１５】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１６】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１７】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図１８】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図１９】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２０】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２１】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図２２】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２３】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図２４】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図２５】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図２６】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２７】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２８】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図２９】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３０】図１のイメージングプロセスの一実施形態に関連付けられた線図である。
【図３１】図１のイメージングプロセスの一実施形態に関連付けられた線図である。
【図３２】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３３】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３４】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３５】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３６】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３７】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３８】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図３９】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図４０】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図４１】図１のイメージングプロセスの一実施形態に関連付けられた画像を示す図である。
【図４２】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【図４３】図１のイメージングプロセスの一実施形態に関連付けられたグラフィカルユーザインタフェースである。
【発明を実施するための形態】
【００１３】
システム概要
本開示の実施形態を用いて、ユーザによる、所与のアプリケーション（例えば、マシンビジョンアプリケーション）の光学式文字認識パラメータのセットアップを支援することが可能である。一般に、アプリケーションに応じてＯＣＲパラメータをセットアップすることは極めて困難であり、特に、新規ユーザにとっては困難である。例えば、ユーザがＯＣＲ文字列の周囲に領域を描画し、セグメンテーションプロセスがそれらの文字を正しく見つけない場合、ユーザは、その後どうするのが最良なのかわからない場合がある。そこで、本明細書に開示の実施形態を用いることにより、ユーザによるＯＣＲパラメータのセットアップを、可能な限り自動的に支援することが可能である。本明細書に開示の実施形態は、ＯＣＲ用セグメンテーションパラメータの選択に対するインタラクティブ／インクリメンタルなアプローチを含む。本明細書に開示の実施形態は又、セグメンテーション結果の均一性をチェックする機能と、特定の構成がその均一性を侵害する場合にはその構成を自動的に拒否する機能とを含む。本明細書に開示の実施形態は又、良好な文字の特定の統計的特性に基づく、セグメンテーションパラメータの自動選択を可能にする。
【００１４】
図１を参照すると、コンピュータ１２に常駐可能であってコンピュータ１２によって実行可能なイメージングプロセス１０が示されており、コンピュータ１２は、ネットワーク１４（例えば、インターネット又はローカルエリアネットワーク）に接続可能である。コンピュータ１２は、例えば、単一のサーバコンピュータ、一連のサーバコンピュータ、単一のパーソナルコンピュータ、一連のパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、又はコンピューティングクラウドであってよいが、これらに限定されない。コンピュータ１２の各種コンポーネントは、１つ以上のオペレーティングシステムを実行することが可能であり、それらは、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ（商標）、Ｎｏｖｅｌｌ  Ｎｅｔｗａｒｅ（商標）、Ｒｅｄｈａｔ  Ｌｉｎｕｘ（商標）、Ｕｎｉｘ、又はカスタムオペレーティングシステムであってよいが、これらに限定されない。
【００１５】
イメージングプロセス１０の命令セット及びサブルーチンは、コンピュータ１２に結合された記憶装置１６に記憶させることが可能であり、コンピュータ１２に含まれる１つ以上の処理装置（図示せず）と１つ以上のメモリアーキテクチャ（図示せず）とによって実行可能である。記憶装置１６は、ハードディスクドライブ、フラッシュドライブ、テープドライブ、光学式ドライブ、ＲＡＩＤアレイ、ランダムアクセスメモリ（ＲＡＭ）、又は読み出し専用メモリ（ＲＯＭ）であってよいが、これらに限定されない。
【００１６】
ネットワーク１４は、１つ以上の２次ネットワーク（例えば、ネットワーク１８）に接続可能であり、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はイントラネットであってよいが、これらに限定されない。
【００１７】
イメージングプロセス１０には、クライアントアプリケーション２２、２４、２６、２８を介してアクセス可能である。クライアントアプリケーション２２、２４、２６、２８は、例えば、標準的なウェブブラウザ、カスタマイズされたウェブブラウザ、又はカスタムアプリケーションであってよいが、これらに限定されない。クライアントアプリケーション２２、２４、２６、２８の命令セット及びサブルーチンは、クライアント電子機器３８、４０、４２、４４に（それぞれ）結合された記憶装置３０、３２、３４、３６に（それぞれ）記憶させることが可能であり、クライアント電子機器３８、４０、４２、４４に（それぞれ）組み込まれた１つ以上の処理装置（図示せず）及び１つ以上のメモリアーキテクチャ（図示せず）によって実行可能である。
【００１８】
記憶装置３０、３２、３４、３６は、例えば、ハードディスクドライブ、フラッシュドライブ、テープドライブ、光学式ドライブ、ＲＡＩＤアレイ、ランダムアクセスメモリ（ＲＡＭ）、及び読み出し専用メモリ（ＲＯＭ）であってよいが、これらに限定されない。クライアント電子機器３８、４０、４２、４４は、例えば、パーソナルコンピュータ３８、ラップトップコンピュータ４０、スマートフォン４２、ノートブックコンピュータ４４、サーバ（図示せず）、データ対応セルラ電話（図示せず）、及び専用ネットワーク機器（図示せず）であってよいが、これらに限定されない。 
【００１９】
クライアントアプリケーション２２、２４、２６、２８のうちの１つ以上を、イメージングプロセス１０の機能の一部又は全てを実行するように構成してよい。従って、イメージングプロセス１０は、純粋なサーバサイドアプリケーション、又は純粋なクライアントサイドアプリケーション、又は、クライアントアプリケーション２２、２４、２６、２８及びイメージングプロセス１０のうちの１つ以上によって協調的に実行される、ハイブリッドサーバサイド／クライアントサイドアプリケーションであってよい。
【００２０】
ユーザ４６、４８、５０、５２は、コンピュータ１２及びイメージングプロセス１０には、ネットワーク１４から直接、又は２次ネットワーク１８からアクセスすることが可能である。更に、コンピュータ１２は、点線のリンク線５４で示されるように、２次ネットワーク１８経由でネットワーク１４に接続することが可能である。
【００２１】
ネットワーク１４（又はネットワーク１８）には、様々なクライアント電子機器を直接又は間接的に結合することが可能である。例えば、パーソナルコンピュータ３８は、有線ネットワーク接続により、ネットワーク１４と直接結合されているように図示されている。更に、ノートブックコンピュータ４４は、有線ネットワーク接続により、ネットワーク１８と直接結合されているように図示されている。ラップトップコンピュータ４０は、ラップトップコンピュータ４０と、ネットワーク１４と直接結合されているように図示された無線アクセスポイント（即ち、ＷＡＰ）５８との間に確立された無線通信チャネル５６により、ネットワーク１４と無線結合されているように図示されている。ＷＡＰ５８は、例えば、ラップトップコンピュータ４０とＷＡＰ５８との間に無線通信チャネル５６を確立することが可能な、ＩＥＥＥ  ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、Ｗｉ−Ｆｉ、及び／又はＢｌｕｅｔｏｏｔｈの機器であってよい。スマートフォン４２は、スマートフォン４２と、ネットワーク１４と直接結合されているように図示されたセルラネットワーク／ブリッジ６２との間に確立された無線通信チャネル６０により、ネットワーク１４と無線結合されているように図示されている。
【００２２】
当該技術分野において知られているとおり、全てのＩＥＥＥ  ８０２．１１ｘ規格では、パス共有の為に、イーサネットプロトコル及びキャリア検知多重アクセス衝突回避（即ち、ＣＳＭＡ／ＣＡ）を用いることが可能である。各種の８０２．１１ｘ規格では、例えば、位相シフトキーイング（即ち、ＰＳＫ）変調又は相補コードキーイング（即ち、ＣＣＫ）変調を用いることが可能である。当該技術分野において知られているとおり、Ｂｌｕｅｔｏｏｔｈは、短距離無線接続を用いて、例えば、携帯電話、コンピュータ、及びスマートフォンの相互接続を可能にする電気通信業界規格である。
【００２３】
クライアント電子機器３８、４０、４２、４４は、それぞれがオペレーティングシステムを実行することが可能であり、そのオペレーティングシステムは、例えば、Ａｐｐｌｅ  ｉＯＳ（商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（商標）、Ａｎｄｒｏｉｄ（商標）、Ｒｅｄｈａｔ  Ｌｉｎｕｘ（商標）、又はカスタムオペレーティングシステムであってよいが、これらに限定されない。
【００２４】
次に図２を参照すると、イメージングプロセス１０において使用されるように構成された、マシンビジョンシステム１００を表す一例示的実施形態が示されている。代替実施形態においては、本開示の範囲から逸脱することなく、様々なシステム実装を採用できることに注目されたい。後で詳述するように、本明細書に記載のイメージングプロセス１０の実施形態は、主に、所与の文字列に関連付けられた１つ以上の文字に対するセグメンテーションパラメータを自動的に調整することに用いることが可能である。本明細書に記載のイメージングプロセスは、検査工程の間の任意の好適な時点で用いることが可能である。例えば、実施形態によっては、イメージングプロセスの局面は、ライブオブジェクト画像又はランタイムオブジェクト画像の全地球測位／位置決めをオブジェクトのモデル画像又はトレーニング画像に対して実施することに続いて、且つ、ランタイムオブジェクト又はランタイムフィーチャの検査前、検査中、又は検査後において、発生しうる。
【００２５】
実施形態によっては、マシンビジョンシステム１００は、イメージングデバイス１１０を含んでよく、このイメージングデバイスは、マシンビジョンアプリケーション１１２を実行することが可能なオンボード処理装置（図示せず）及びメモリ（図示せず）を含むカメラであってよい。カメライメージングデバイス１１０が、基底オブジェクト１２０の検査中に検出された感知障害に応答できるように、カメライメージングデバイス１１０に、適切なインタフェース、アラーム、及び信号を取り付けたり、且つ／又は、接続したりしてよい。この実施形態では、複数のオブジェクト（１２０）を収容しているコンベヤ１２２が示されている。これらのオブジェクトは、検査工程において、イメージングデバイス１１０の所定の視野（ＦＯＶ）内を順に通過することが可能である。従って、イメージングデバイス１１０は、観察される各オブジェクト１２０の少なくとも１つの画像を取得できる。
【００２６】
実施形態によっては、従来のマイクロコンピュータ１３０は、任意の好適なコンピューティング装置（例えば、図１に示されたコンピュータ１２）であってよい。コンピュータ１３０は、グラフィカルユーザインタフェースコンポーネント（例えば、マウス１３２、キーボード１３４、及びディスプレイ１３６）を含んでよい。他のタイプのインタフェースを用いてもよく、例えば、代替実施形態では、携帯型情報端末（ＰＤＡ）を用いてよい。実施形態によっては、イメージングデバイス１１０をコンピュータ１３０に常時接続してよく、特に、コンピュータが画像処理機能を実行する場合には、そうしてよい。更に、且つ／又は、代替として、イメージングデバイス（例えば、Ｉｎｓｉｇｈｔ（登録商標）の製品群におけるイメージングデバイス）内の処理装置は、リモートコンピュータとの相互接続に関わらず、デバイスの独立動作を可能にすることができる。この実施形態では、コンピュータ１３０は、イメージングデバイス１１０のセットアップ、テスト、及びランタイム動作の分析の為に、デバイスと接続し、且つ／又は、デバイスと通信することが可能である。
【００２７】
実施形態によっては、モデル画像又はトレーニング画像に関連するデータ１４０を、コンピュータ１３０との接続を介してディスク記憶装置１４２に記憶させたり、イメージングデバイス１１０のオンボードメモリに記憶させたりすることが可能である。このデータは、イメージングプロセス１０に関連付けられたデータを含んでよく、本開示の１つ以上の実施形態に従って使用可能である。
【００２８】
更に図３を参照すると、又、後で詳述するように、イメージングプロセス１０は、１つ以上の文字を含む文字列を有する画像を受け取るステップ（３０２）を含んでよい。イメージングプロセス１０は又、上記１つ以上の文字のそれぞれを識別する文字列を受け取るステップ（３０４）を含んでよい。イメージングプロセス１０は又、少なくとも１つのセグメンテーションパラメータを自動的に生成するステップ（３０６）を含んでよい。イメージングプロセス１０は又、上記少なくとも１つのセグメンテーションパラメータを使用して、上記文字列を有する上記画像に対してセグメンテーションを実行するステップ（３０８）を含んでよい。イメージングプロセス１０は又、セグメンテーション結果が１つ以上の条件を満たすかどうかを判定するステップ（３１０）と、上記セグメンテーション結果が上記１つ以上の条件を満たす場合には上記少なくとも１つのセグメンテーションパラメータを選択するステップ（３１２）と、を含んでよい。イメージングプロセス１０は又、上記１つ以上のコンピューティング装置において上記画像の少なくとも一部分を表示するステップ（３１４）を含んでよい。
【００２９】
本明細書に開示の実施形態は、マシンビジョン検査に関連付けられた光学式文字認識の、コンピュータに実装される方法を対象としている。実施形態によっては、イメージングプロセス１０は、既存のアプローチの制限の多くに対処するように構成されてよい。例えば、既存のアプローチの幾つかは、複数のフォントの事前トレーニングを行い、多くのフォントをテストして、どのフォントが正しいかを判定することをＯＣＲツールに行わせることによって、セットアップの問題に対処する。その後、他のパラメータ（セグメンテーションパラメータ用の値など）を推定することが可能である。このアプローチには制限がある。即ち、選択されるフォントが完全に一致しない可能性があり、そのため、パラメータの選択が次善のものになる可能性がある。
【００３０】
図４を参照すると、イメージングプロセス１０の一実施形態を表すフローチャート４００が示されている。図４に示されるように、イメージングプロセス１０は、自動セグメンテーション機能並びに自動調整機能を有するインクリメンタルプロセスを利用することが可能である。実施形態によっては、イメージングプロセス１０は、ユーザがユーザからの最小限の情報でＯＣＲツールを繰り返しセットアップすることを可能にできる。その最終結果は、構成及びトレーニングが完全に行われたＯＣＲツールである。従って、図４に示されるように、イメージングプロセス１０は、１つ以上の文字を含む文字列を有する画像４０２を受け取ることが可能である。イメージングプロセス１０は、イメージングプロセス１０を「ＯＣＲＭａｘを実行（Ｒｕｎ  ＯＣＲＭａｘ）」オプション４０４により続行するオプションをユーザに提供することが可能である。イメージングプロセス１０は又、セグメンテーションに関連付けられたユーザ選択可能オプション４０６を提示することが可能である。実施形態によっては、このユーザ選択可能オプションは、セグメンテーションが正しいか正しくないかをユーザが示すことを可能にするように構成されてよい。セグメンテーションが正しい場合、ユーザは、クラシフィケーションが正しいか正しくないかを示すオプション４０８を提供されてよい。クラシフィケーションが正しい場合、イメージングプロセス１０は、自動調整４１４に進むことが可能である（これについては後で詳述する）。クラシフィケーションが正しくない場合、ユーザは、文字列を指定するオプション４２０を提供されてよい。
【００３１】
実施形態によっては、セグメンテーションが正しくない場合、イメージングプロセス１０は、自動セグメンテーション機能４１０（これについては後で詳述する）を提供することが可能である。自動セグメンテーションの後、ユーザは、セグメンテーション結果が正しかったかどうかをオプション４１２で示すオプションを提供されてよい。正しいセグメンテーションが見つかった場合、イメージングプロセス１０は、自動調整４１４を進めることが可能である。正しいセグメンテーションが見つからない場合、ユーザは、画像が不良かどうかを識別するオプションを提供されてよい。その場合、イメージングプロセス１０は、それぞれが追加文字列を有する１つ以上の追加画像を受け取ることが可能である。そうでない場合、イメージングプロセス１０は、ユーザがセグメンテーションを手動で生成することを可能にするように構成されたユーザ選択可能オプション４２４をユーザに提供することが可能である。
【００３２】
実施形態によっては、イメージングプロセス１０により、最初の文字列及び追加文字列の一方又は両方を少なくとも部分的に使用して、文字のデータベースを生成することが可能である。イメージングプロセス１０が、文字列に対するセグメンテーションが正しいことの通知を受け取った後、関連付けられた、セグメンテーションパラメータの正しいセットを今後の使用に備えて記憶することが可能である。従って、イメージングプロセス１０は、セグメンテーションパラメータの正しいセットを今後の文字列に適用することが可能である。次に、セグメンテーションパラメータの正しいセットを調整して、使用すべき最適なセグメンテーションパラメータ値を１つ見つけることが可能である。次に、新しいフォント文字を抽出することが可能であり、クラシファイアをトレーニング及び使用することが可能である。このようにして、イメージングプロセス１０は、フォントが完全にトレーニングされて、現在のセグメンテーションパラメータが適正に動作しているという確信をユーザが得るまで、続行されてよい。これらのフォント及びセグメンテーションパラメータはコピー可能であり、自動調整プロセスは進めてよい。
【００３３】
実施形態によっては、イメージングプロセス１０は、ユーザがＯＣＲツールのセットアップ時に直面する可能性のある問題の多くに対処することが可能である。運用時に、ユーザが画像内の文字列の周囲に領域を描画し、デフォルトのセグメンテーションパラメータが正しく動作しない場合、普通のユーザであれば、正しいセグメンテーションの為にはどのパラメータを変更すべきかを判断するのに苦労する可能性がある。例えば、既存のシステムでは、セグメンテーションツールに様々なセグメンテーションパラメータが含まれている可能性があり、それらのそれぞれが手動による変更を必要とする可能性がある。図５に示された画像は、デフォルトのパラメータが複数の文字に対して正しくセグメンテーションを行うことに失敗した場合の一例を示している。
【００３４】
次に図６を参照すると、イメージングプロセス１０に従って使用可能なグラフィカルユーザインタフェース６００の一実施形態が示されている。運用時には、ユーザは、テキストフィールド６０２を使用して文字列を指定することが可能である。ＧＵＩ６００は、ユーザが自動セグメンテーション機能６０４を選択することによって自動セグメンテーションアルゴリズムを起動することを可能にできる。ＧＵＩ６００は又、ユーザが手動セグメンテーション機能６０６により手動セグメンテーションを実施することを可能にできる。
【００３５】
実施形態によっては、イメージングプロセス１０に関連付けられた自動セグメンテーションアルゴリズムは、様々なセグメンテーションパラメータの組み合わせによって進めることが可能であり、且つ、文字列の長さと同じ数のセグメントを見つける複数のセグメンテーションパラメータ及びパラメータの組み合わせを探ることが可能である。これらのセグメンテーションパラメータについては、後で詳述する。本明細書に記載のように、少なくとも１つのセグメンテーションパラメータを文字列に適用するフレーズは、少なくとも１つのセグメンテーションパラメータを使用して、文字列の画像に対してセグメンテーションを実施することを意味する場合がある。
【００３６】
実施形態によっては、正しい数のセグメントを識別することに加えて、イメージングプロセス１０は、文字列の不均一性に基づいて、特定の結果を拒否するように構成されてよい。例えば、複数の文字のＡＳＣＩＩ表現が与えられた場合、その文字列に、（例えば、狭いか、短いか、広い）特殊文字が含まれるかどうかを判定することが可能である。実施形態によっては、文字列に特殊文字が全く含まれない場合は、全ての領域の幅及び高さを同じサイズにする（又は所定の許容範囲内にする）必要があるが、その結果を拒否してもよい。文字列に特殊文字が含まれる場合は、個々の文字サイズが均一かどうかをチェックしてよい。不均一であり、拒否された結果の幾つかの例を、図７から図９に示す。
【００３７】
次に図１０を参照すると、グラフィカルユーザインタフェース１０００を表す一実施形態及び関連画像が示されている。従って、イメージングプロセス１０に関連付けられた自動セグメンテーションアルゴリズムを実行して、図１０に示されるように、おそらくは正しい１つ以上の結果を生成してユーザに示すことが可能である。運用時には、ユーザは、正しいと思われる１つの結果を選択し、ＧＵＩ１０００に関連付けられた「ＯＫ」アイコンを選択してよい。次に、アルゴリズムの第２の部分を進めてよい。このようにして、自動調整アルゴリズムは、この特定の画像に対して実行するのに最良且つ／又は最適なセグメンテーションパラメータを識別することが可能である。このモデルに現在のレコードを追加することが可能であり、それぞれの固有の文字を抽出することが可能であり、クラシフィケーションの為にフォントをトレーニングすることが可能である。図１１に示された画像は、セグメンテーション及びクラシフィケーションが正しく行われた文字に対して、この操作の後にイメージングプロセス１０を実行した結果を示している。
【００３８】
次に図１２から図１４を参照すると、グラフィカルユーザインタフェース１２００から１４００を表す実施形態が示されている。ＧＵＩ１２００は、この特定のフォントについて、イメージングプロセス１０の間に抽出された文字を示している。セグメンテーションが次の画像に対して失敗した場合、ユーザは、図１３から図１４に示されるように、上述の操作のうちの１つ以上を繰り返すことが可能である。
【００３９】
次に図１５から図１６を参照すると、グラフィカルユーザインタフェース１５００を表す実施形態が示されている。図１５に示されるように、モデルに新しいレコードが追加されると、抽出されている最良のセグメンテーションパラメータは、新しいレコードだけでなく以前のレコードに対しても動作可能である。この例に示されるように、このフォントは、今や、図１６に示された文字「−」を含んでいる。
【００４０】
実施形態によっては、イメージングプロセス１０は、ユーザが特定の文字列を手動で編集することを可能にできる。この特定の例では、各領域の編集及び訂正を手動で行うと、自動セグメンテーションアルゴリズムが、それらの文字の確立された正しい領域に基づいて動作することが可能である。図１７は、確立されたセグメンテーションパラメータによる正しいセグメンテーションが文字「８」に対して行われない場合の一例を示している。そこで、ユーザは、手動セグメンテーション機能１７０６を選択し、文字「８」の周囲の領域を調節することによって、図１８に示されるように、文字全体を囲むことが可能である。「ＯＫ」を選択すると、各セグメントの正しい位置及びサイズが与えられた状態での自動セグメンテーションアルゴリズムの実行が可能になる。従って、イメージングプロセス１０に関連付けられた自動セグメンテーションアルゴリズムは、セグメンテーションパラメータの様々な組み合わせを探り、これらを、図１９から図２０に示されるように、現在のレコードに対して適用することが可能である。（正しく、又は正しくなく）計算された各結果について、自動セグメンテーションアルゴリズムは、結果領域を、確立された正しい領域と比較することが可能である。
【００４１】
幾つかのありうるシナリオの１つとして、確立された正しい領域と結果領域との間の良好な一致を、ある許容範囲（例えば、デフォルトで８０％の面積の重なり）において識別することが考えられるが、これには限定されない。この特定の例では、最小最大、画素数、幅、高さなど、多種多様な情報を、良好な要素として抽出することが可能である。インスタンスによっては、確立された正しい領域の中に存在しない領域が、結果の中に含まれてよい。この特定の例では、様々なデータを追加要素として抽出することが可能である。更に、且つ／又は、代替として、結果の中に存在しない領域が、確立された正しい領域の中に含まれてよい。この特定の例では、欠落している要素として、様々なデータを、黄金領域を用いて抽出し、良好な要素に追加することが可能である。更に、且つ／又は、代替として、この２者の間に不良な一致があってよい（例えば、重なる面積が許容範囲より少なくてもよい）。この特定の例では、確立された正しい領域を用いて、様々なデータを、良好な要素として抽出することが可能である。この統計データは、モデル内のレコードにある全ての統計データ（あれば）と組み合わせてよい。実施形態によっては、追加要素を排除して良好な要素を含むように、セグメンテーションパラメータを修正してよい。セグメンテーションパラメータの組み合わせによっては、全ての領域が、確立された正しい領域のそれと一致する結果が得られる可能性がある。最も良好に一致した結果を選択し、モデルに追加してよい。そして、最も正しいセグメンテーションパラメータを、フォント文字とともに抽出することが可能である。
【００４２】
実施形態によっては、モデル内のレコード数が増えるにつれ、モデル内のレコードの全ての文字を正常にクラシファイするのに最適な数のフォント文字を抽出することが可能になる。ある文字の第２のインスタンスが、トレーニングされた文字に対して変動が大きすぎる為に正しくクラシファイされない場合は、そのインスタンスをフォントに追加してよい。このようにして、ユーザは、自分のフォントが全てのレコードに対して動作することを確認することが可能である。
【００４３】
本明細書に記載のように、イメージングプロセス１０は、１つ以上のセグメンテーションパラメータを含むことが可能である。幾つかのセグメンテーションパラメータには以下で説明するものが含まれてよいが、これらに限定されるものではなく、これらは、あくまで例として提示されており、網羅的な一覧であることを意図するものではない。
【００４４】
実施形態によっては、セグメンテーションパラメータは、極性を含んでよい。例えば、入力画像内の全ての文字の極性であってよい。
【００４５】
実施形態によっては、セグメンテーションパラメータは、例えば、行微調整モードを含んでよい。このモードは、使用すべき行微調整手法を指定することが可能である。行微調整モードは、クラシックモード又は標準であってよい。
【００４６】
実施形態によっては、セグメンテーションパラメータは、例えば、角度サーチ範囲を含んでよい。角度サーチ範囲は、度数では角度サーチ範囲の半分に対応してよい。これは、サーチ領域の角度に対して、行をサーチする範囲として使用される角度である。
【００４７】
実施形態によっては、セグメンテーションパラメータは、例えば、スキュー範囲を含んでよい。スキュー範囲は、度数ではスキューサーチ範囲の半分に対応してよい。これは、サーチ領域のスキューに対して、行をサーチすることが可能な範囲として使用されるスキューである。
【００４８】
実施形態によっては、セグメンテーションパラメータは、例えば、正規化モードを含んでよい。このモードは、入力画像を正規化することに用いる方法を指定することが可能である。これは、グローバル閾値処理、ローカル閾値処理、又はローカル高度に設定してよい。
【００４９】
実施形態によっては、セグメンテーションパラメータは、例えば、ストローク幅を含んでよい。ストローク幅は、画像の残り部分と同じストローク幅を有するように見えない全てのものを正規化画像から取り除くかどうかを指定することが可能である。これが有用になりうるのは、例えば、複数の文字が薄い縞状ノイズによって互いにつながっているように見える場合である。
【００５０】
実施形態によっては、セグメンテーションパラメータは、例えば、２値化閾値を含んでよい。２値化閾値は、正規化画像における、前景と背景との間を２値化する２値化閾値の計算に用いる修飾子を指定することが可能である。
【００５１】
実施形態によっては、セグメンテーションパラメータは、例えば、境界断片を含んでよい。境界断片は、サーチ領域のいずれかの境界に接触する断片があっても完全に無視するかどうかを指定することが可能である。
【００５２】
実施形態によっては、セグメンテーションパラメータは、断片画素数を含んでよく、例えば、文字断片が、文字に含まれうると見なされるべく有しうる前景（例えば、テキスト）画素の最小数を含んでよい。文字断片は、２値化画像内のブロブであってよい。
【００５３】
実施形態によっては、セグメンテーションパラメータは、例えば、文字がレポートされるべく有する必要がある前景（例えば、テキスト）画素の最小数を含んでよい。
【００５４】
実施形態によっては、セグメンテーションパラメータは、断片コントラスト閾値を含んでよく、例えば、断片が、文字に含まれうると見なされるべく、２値化閾値に対して有する必要がある（例えば、正規化画像グレーレベルでの）最小コントラスト量を含んでよい。
【００５５】
実施形態によっては、セグメンテーションパラメータは、文字高さを含んでよく、例えば、文字がレポートされるべく有する必要がある、文字のマーク矩形の最小高さ（画素数）を含んでよい。セグメンテーションパラメータは又、文字及び／又は文字行の最大高さを制限する為に最大文字高さ機能を使用するかどうかも含んでよい。セグメンテーションパラメータは又、文字のマーク矩形の最大許容可能高さ（画素数）も含んでよい。
【００５６】
実施形態によっては、セグメンテーションパラメータは、文字幅を含んでよく、例えば、文字がレポートされるべく有する必要がある、文字のマーク矩形の最小幅（画素数）を含んでよい。セグメンテーションパラメータは又、文字のマーク矩形の最大許容可能幅（画素数）も含んでよい。この値より幅広の文字があれば、広すぎない複数のピースに分割してよい。セグメンテーションパラメータは又、文字の最大幅を制限する為に最大文字幅機能を使用するかどうかも含んでよい。
【００５７】
実施形態によっては、セグメンテーションパラメータは、文字間ギャップを含んでよく、例えば、２つの文字の間に発生しうる最小ギャップサイズ（画素数）を含んでよい。２つの断片の間のギャップがこれより小さい場合、これらの断片は、同じ文字の一部と見なされなければならない。
【００５８】
実施形態によっては、セグメンテーションパラメータは、文字内ギャップを含んでよく、例えば、損傷した文字の場合であっても、１つの文字の中で発生しうる最大ギャップサイズ（画素数）を含んでよい。文字内ギャップが発生しうるのは、例えば、ドットマトリクス印刷における連続するドット列の間であり、或いは、かき傷によって損傷した活字の２つのピースの間である。この値より大きいギャップは、別々の２つの文字の間の区切りであると解釈できる。一方、この値以下のギャップは、別々の２つの文字の間の区切り、又は１つの文字の中のギャップのいずれかであると解釈できる。
【００５９】
実施形態によっては、セグメンテーションパラメータは、主行に対する断片距離を含んでよく、例えば、断片が文字の主行の外側に有しうる最大距離を、行高さの推定値に対するパーセンテージとして、含んでよい。
【００６０】
実施形態によっては、セグメンテーションパラメータは、文字断片マージモードを含んでよく、これは、例えば、「群（Ｇｒｏｕｐ）」段階の間に２つの断片をマージして１つの文字にするかどうかを決定する為に使用されるモードを指定することが可能である。このモードは、「重なりが必要（ｒｅｑｕｉｒｅＯｖｅｒｌａｐ）」に設定することが可能である（例えば、マージする文字断片同士は、水平方向に少なくとも１画素分重なっていなければならない）。このモードは又、「最小文字間ギャップを指定（ｓｐｅｃｉｆｙＭｉｎＩｎｔｅｒｃｈａｒａｃｔｅｒＧａｐ）」に指定することも可能である（例えば、間に水平方向のギャップがある文字断片同士をマージして複数の文字を形成することが可能である（但し、任意の２つの断片は、ギャップが「最小文字間ギャップ（ｍｉｎＩｎｔｅｒｃｈａｒａｃｔｅｒＧａｐ）」未満であればマージ可能である））。このモードは又、「ギャップを指定（ｓｐｅｃｉｆｙＧａｐｓ）」に指定することも可能である（例えば、「最小文字間ギャップ（ｍｉｎＩｎｔｅｒｃｈａｒａｃｔｅｒＧａｐ）」及び「最大文字内ギャップ（ｍａｘＩｎｔｒａｃｈａｒａｃｔｅｒＧａｐ）」の両方に基づいて２つの断片をマージする決定をすれば、間に水平方向のギャップがある文字断片同士をマージして複数の文字を形成することが可能である）。
【００６１】
実施形態によっては、セグメンテーションパラメータは、最小文字アスペクトを含んでよく、これは、例えば、幅広の文字を分割するかどうかを指定することが可能である。
【００６２】
実施形態によっては、セグメンテーションパラメータは、文字幅タイプを含んでよく、これは、例えば、フォントにおける文字の幅がどのように変動すると見込まれるかを指定することが可能である。なお、文字幅は、マーク矩形（例えば、インクの境界ボックス）の幅であり、（典型的にはマーク矩形の周囲のパディングを含むであろう）セル矩形の幅ではない。この幅タイプは、「不明（ｕｎｋｎｏｗｎ）」、「固定（ｆｉｘｅｄ）」、又は「可変（ｖａｒｉａｂｌｅ）」に設定することが可能である。
【００６３】
実施形態によっては、セグメンテーションパラメータは、解析モードを含んでよく、これは、例えば、「最小解析（ｍｉｎｉｍａｌ  ａｎａｌｙｓｉｓ）」を実施するか、「標準解析（ｓｔａｎｄａｒｄ  ａｎａｌｙｓｉｓ）」を実施するかを指定することが可能である。最小解析では、上述のパラメータに従って直接的なセグメンテーションを実施することが可能である。標準解析では、（例えば、文字間隔を含む）行全体の解析を実施して最適なセグメンテーションを決定する。
【００６４】
実施形態によっては、セグメンテーションパラメータは、ピッチメトリックを含んでよく、これは、例えば、文字の間隔（ピッチ）を指定することに用いることが可能である。なお、ピッチは、隣接する文字同士の（ほぼ）対応する場所の間の距離であり、１つの文字の末尾から次の文字の先頭までの距離（これは「文字間ギャップ（ｉｎｔｅｒｃｈａｒａｃｔｅｒ  ｇａｐ）」と呼ばれる）ではない。これは、「未知（ｕｎｋｎｏｗｎ）」、「左から左（ｌｅｆｔＴｏＬｅｆｔ）」、「中心から中心（ｃｅｎｔｅｒＴｏＣｅｎｔｅｒ）」、「右から右（ｒｉｇｈｔＴｏＲｉｇｈｔ）」などに設定することが可能である。
【００６５】
実施形態によっては、セグメンテーションパラメータは、ピッチタイプを含んでよく、これは、例えば、個々のピッチ値がどのように変動すると見込まれるかを指定することが可能であり、ピッチ値は、ピッチメトリックで指定されるとおりに測定される。これは、「未知（ｕｎｋｎｏｗｎ）」、「固定（ｆｉｘｅｄ）」、「比例（ｐｒｏｐｏｒｔｉｏｎａｌ）」、又は「可変（ｖａｒｉａｂｌｅ）」に設定することが可能である。
【００６６】
実施形態によっては、セグメンテーションパラメータは、最小ピッチを含んでよく、これは、例えば、２つの文字の間で発生しうる最小ピッチを画素数で指定することが可能である（但し、ピッチは、ピッチメトリックで指定されるとおりに計算される）。
【００６７】
実施形態によっては、セグメンテーションパラメータは、空白挿入を含んでよく、これは、例えば、空白文字を他の文字間のギャップに挿入することの取り扱い方を指定することが可能である。これは、「空白無し（ｎｏ  ｓｐａｃｅ）」、「単一の空白（ｓｉｎｇｌｅ  ｓｐａｃｅ）」、又は「複数の空白（ｍｕｌｔｉｐｌｅ  ｓｐａｃｅｓ）」に設定することが可能である。
【００６８】
実施形態によっては、セグメンテーションパラメータは、空白文字の幅を含んでよく、これは、例えば、空白文字の最小幅を画素数で指定することが可能である。更に、且つ／又は、代替として、セグメンテーションパラメータは、空白文字の最大幅を含んでよく、これは、例えば、空白文字の最大幅を画素数で指定することが可能である。
【００６９】
実施形態によっては、セグメンテーションパラメータは、２つの文字断片が同じ文字の一部と見なされる為に必要な、２つの文字断片のｘ方向の重なり合いの最小フラクションを含んでよい。
【００７０】
実施形態によっては、セグメンテーションパラメータは、文字の最小許容可能アスペクトを含んでよい（但し、このアスペクトは、文字の行全体の高さを文字のマーク矩形の幅で割ったものとして定義される）。この値よりアスペクトが小さい文字（例えば、幅が広すぎる文字）は、幅が広すぎないピースに分割される。
【００７１】
実施形態によっては、イメージングプロセス１０は、文字列が正しい場合のみ自動的にセグメンテーションを行い、不均一な結果は拒否するステップを含んでよい。イメージングプロセス１０は又、与えられた文字列及び確立された正しい領域の文字のセグメンテーションを自動的に行うことが可能である。本明細書に記載のように、イメージングプロセス１０は、モデルレコードにある所与のフォントをトレーニングするように構成されてよい。
【００７２】
実施形態によっては、イメージングプロセス１０は、文字列の一例を含む新しい画像を受け取るステップと、その文字列の正しいセグメンテーション領域ではなく、その文字列の中の正しい文字を識別する文字列を受け取るステップと、を含んでよい。イメージングプロセス１０は、その文字列の画像の可能なセグメンテーションを、セグメンテーションパラメータの様々なセットを用いて自動的に生成するように構成されてよい。イメージングプロセス１０は、それぞれが候補セグメンテーションパラメータと関連している、文字列の中の可能な正しいセグメンテーションの中から選択することが可能であり、選択された、文字列の中の正しいセグメンテーションのセグメンテーションパラメータを光学式文字認識に使用することが可能である。
【００７３】
実施形態によっては、イメージングプロセス１０は、文字列の一例を含む新しい画像を受け取るステップと、その文字列の正しいセグメンテーションではなく、その文字列の中の正しい文字を識別するステップと、を含んでよい。イメージングプロセス１０は、セグメンテーションパラメータの候補セットと、その文字列の画像のセグメンテーション結果とを、自動的に生成することが可能である。イメージングプロセス１０は、それぞれが候補セグメンテーションパラメータと関連している、文字列の中の可能な正しいセグメンテーションの中から選択することが可能であり、全ての候補結果をサーチし、それらのセグメンテーション領域を、ユーザが選択したもののセグメンテーション領域と比較し、特定パーセンテージ以内で同様の領域を生成するセグメンテーションパラメータを識別することが可能である。イメージングプロセス１０は、見つかった全てのセグメンテーションパラメータに加えて、モデル内の文字列のセグメンテーションが正しい、選択された画像を記憶することが可能である。イメージングプロセス１０は、セグメンテーションパラメータが一意に選択されるまで、又は最適に見つかるまで、上述の操作を繰り返すことが可能である。
【００７４】
実施形態によっては、イメージングプロセス１０は、文字列の一例を含む新しい画像を受け取るステップと、その文字列の正しいセグメンテーションではなく、その文字列の中の正しい文字を識別するステップと、を含んでよい。イメージングプロセス１０は、セグメンテーションパラメータの候補セットと、その文字列の画像のセグメンテーション結果とを、自動的に生成するように構成されてよい。イメージングプロセス１０は、それぞれが候補セグメンテーションパラメータと関連している、文字列の中の可能な正しいセグメンテーションの中から選択することが可能である。上述の選択がいずれも正しくない場合、イメージングプロセス１０は、文字列に対して正しいセグメンテーションを行い、その正しいセグメンテーションがなされた文字列に対してセグメンテーションパラメータを自動的に決定することが可能である。イメージングプロセス１０は、見つかった全てのセグメンテーションパラメータに加えて、モデル内の文字列のセグメンテーションが正しい、選択された画像を記憶することが可能である。イメージングプロセス１０は、セグメンテーションパラメータが一意に選択されるまで、又は最適に見つかるまで、上述の操作を繰り返すことが可能である。
【００７５】
実施形態によっては、イメージングプロセス１０は、様々なセグメンテーションパラメータを試行するステップと、文字列の長さと同じ数のセグメントを有する結果を生成するステップと、を含んでよい。イメージングプロセス１０は、文字列内の文字のＡＳＣＩＩ表現に対して、均一性基準を満たさない可能な結果を拒否することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００７６】
実施形態によっては、イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータに加えて、文字列のセグメンテーションが正しい画像のベクトルを受け取ることが可能である。イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータを試行し、文字列の長さと同じ数のセグメントを有する結果を生成することが可能である。イメージングプロセス１０は、文字列内の文字のＡＳＣＩＩ表現に対して、均一性基準を満たさない可能な結果を拒否することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００７７】
実施形態によっては、イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータに加えて、文字列のセグメンテーションが正しい画像のベクトルを受け取ることが可能である。イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータを試行し、文字列の長さと同じ数のセグメントを有する結果を生成することが可能である。成功しないセグメンテーションパラメータがあった場合、イメージングプロセス１０は、以前の実行の統計データを用いてパラメータを調節し、反復の形で再試行することが可能である。イメージングプロセス１０は、文字列内の文字のＡＳＣＩＩ表現に対して、均一性基準を満たさない可能な結果を拒否することが可能である。イメージングプロセス１０は、記憶されているセグメンテーションパラメータを、セグメンテーションが正しい画像のベクトルに適用し、失敗したものを拒否することが可能である。イメージングプロセスは、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００７８】
実施形態によっては、イメージングプロセス１０は、文字列のセグメンテーションが正しい画像のベクトルを受け取ることが可能である。イメージングプロセス１０は、文字列のセグメンテーションが正しい画像のベクトルから、セグメンテーションパラメータの範囲を抽出することが可能である。幾つかの例として、文字幅、高さ、断片及び文字の画素数、文字間ギャップ、文字内ギャップなどの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、抽出された範囲の中で様々なセグメンテーションパラメータを試行し、文字列の長さと同じ数のセグメントを有する結果を生成することが可能である。イメージングプロセス１０は、文字列内の文字のＡＳＣＩＩ表現に対して、均一性基準を満たさない可能な結果を拒否することが可能である。イメージングプロセス１０は、記憶されているセグメンテーションパラメータを、セグメンテーションが正しい画像のベクトルに適用し、失敗したものを拒否することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００７９】
実施形態によっては、イメージングプロセス１０は、文字列の一例を含む画像と、その文字列内の正しい文字と、その文字列の正しいセグメンテーションと、に対して、可能なセグメンテーションパラメータを自動的に生成するように構成されてよい。このようにして、イメージングプロセス１０は、文字列の正しいセグメンテーションから、セグメンテーションパラメータの範囲を抽出することが可能である。幾つかの例として、文字幅、高さ、画素数、ピッチ、及び文字間ギャップの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、抽出された範囲の中で様々なセグメンテーションパラメータを試行し、文字列の正しいセグメンテーションの領域とほぼ（例えば、特定パーセンテージ以内で）一致する領域を有する結果だけを保持することが可能である。イメージングプロセス１０は、文字列の画像の正しいセグメンテーションのベクトルと、関連付けられた正しいセグメンテーションパラメータとを生成することが可能である。
【００８０】
実施形態によっては、イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータに加えて、文字列のセグメンテーションが正しい画像のベクトルを受け取るように構成されてよい。イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータを試行し、文字列の正しいセグメンテーションの領域とほぼ（例えば、特定パーセンテージ以内で）一致する領域を有する結果だけを保持することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００８１】
実施形態によっては、イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータに加えて、文字列のセグメンテーションが正しい画像のベクトルを受け取るように構成されてよい。イメージングプロセス１０は、文字列の正しいセグメンテーションから、セグメンテーションパラメータの範囲を抽出するように構成されてよい。幾つかの例として、文字幅、高さ、画素数、ピッチ、及び文字間ギャップの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータを、様々な解析及び正規化モード、前景閾値、幅タイプなどを追加することによって拡張することが可能である。イメージングプロセス１０は、セグメンテーションパラメータを拡張し、文字列の正しいセグメンテーションの領域とほぼ（例えば、特定パーセンテージ以内で）一致する領域を有する結果だけを保持することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００８２】
実施形態によっては、イメージングプロセス１０は、既に見つかっている全てのセグメンテーションパラメータに加えて、文字列のセグメンテーションが正しい画像のベクトルを受け取ることが可能である。イメージングプロセス１０は、文字列の正しいセグメンテーションから、セグメンテーションパラメータの範囲を抽出するように構成されてよい。幾つかの例として、文字幅、高さ、画素数、ピッチ、及び文字間ギャップの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、既に見つかって拡張されている全てのセグメンテーションパラメータを試行し、文字列の正しいセグメンテーションの領域とほぼ（例えば、特定パーセンテージ以内で）一致する領域を有する結果だけを保持することが可能である。成功しないセグメンテーションパラメータがあった場合、イメージングプロセス１０は、以前の実行の統計データを用いてパラメータを調節し、反復の形で再試行することが可能である。イメージングプロセス１０は、記憶されているセグメンテーションパラメータを、セグメンテーションが正しい画像のベクトルに適用し、失敗したものを拒否することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００８３】
実施形態によっては、イメージングプロセス１０は、文字列のセグメンテーションが正しい画像のベクトルを受け取ることが可能である。イメージングプロセス１０は、文字列の正しいセグメンテーションから、セグメンテーションパラメータの範囲を抽出するように構成されてよい。幾つかの例として、文字幅、高さ、画素数、ピッチ、及び文字間ギャップの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、文字列のセグメンテーションが正しい画像のベクトルから、セグメンテーションパラメータの範囲を抽出するように構成されてよい。幾つかの例として、文字幅、高さ、断片及び文字の画素数、文字間ギャップ、文字内ギャップなどの範囲が挙げられるが、これらに限定されない。イメージングプロセス１０は、抽出された範囲の中で様々なセグメンテーションパラメータを適用し、文字列の正しいセグメンテーションの領域とほぼ（例えば、特定パーセンテージ以内で）一致する領域を有する結果だけを保持することが可能である。イメージングプロセス１０は、記憶されているセグメンテーションパラメータを、セグメンテーションが正しい画像のベクトルに適用し、失敗したものを拒否することが可能である。イメージングプロセス１０は、文字列の画像の可能なセグメンテーションのベクトルと、関連付けられた候補セグメンテーションパラメータとを生成することが可能である。
【００８４】
実施形態によっては、イメージングプロセス１０は、セグメンテーションアルゴリズムの以前の実行の統計データを用いてセグメンテーションパラメータを自動的に調節するステップを含んでよい。イメージングプロセス１０は、文字列の一例を含む新しい画像を受け取るステップと、その文字列の正しいセグメンテーションではなく、その文字列の中の正しい文字を識別するステップと、を含んでよい。イメージングプロセス１０は、セグメンテーションパラメータセットを供給し、セグメンテーションアルゴリズムを適用し、セグメンテーションがなされた領域の数を文字列の長さと比較することが可能である。セグメンテーションがなされた領域の数が文字列の長さより少ない場合、イメージングプロセス１０は、拒否された要素をより多く含むように、セグメンテーションパラメータを調節することが可能である。セグメンテーションがなされた領域の数が文字列の長さより多い場合は、保持された要素をより多く排除するように、セグメンテーションパラメータを調節することが可能である。イメージングプロセス１０は、最大反復回数にわたって、又は、同じ数のセグメントが見つかるまで、上述の操作の一部又は全てを繰り返すことが可能である。
【００８５】
実施形態によっては、イメージングプロセス１０は、文字列の一例を含む新しい画像を受け取るステップと、その文字列の中の正しい文字、並びにその文字列の正しいセグメンテーションを識別するステップと、を含んでよい。イメージングプロセス１０は、セグメンテーションパラメータセットを供給し、セグメンテーションアルゴリズムを適用し、セグメンテーションがなされた領域を正しいセグメンテーションの領域と比較することが可能である。幅、高さ、画素数、断片画素数、コントラストなどを含む統計データは、セグメントごとに抽出可能である。欠落しているセグメント（例えば、特定の場所において結果に存在しないセグメント）の統計データは、収集して群にすることが可能である。正しいセグメント（例えば、良好に重なり合うセグメント）の統計データは、この群に追加することが可能である。不良な結果（例えば、あまり良好に重ならない結果）の統計データは、文字列の正しいセグメンテーションから抽出し、群に追加することが可能である。追加セグメント（例えば、上記特定の場所において文字列の正しいセグメンテーションに存在しないセグメント）の統計データは、別個に収集することが可能である。セグメンテーションパラメータは、追加セグメントを排除し、その他の全てのセグメントを含むように調節することが可能である。イメージングプロセス１０は、最大反復回数にわたって、又は、正しいセグメンテーションが見つかるまで、上述の操作の１つ以上を反復的に繰り返すことが可能である。
【００８６】
次に図２１から図４３を参照すると、イメージングプロセス１０に関連付けられた様々なグラフィカルユーザインタフェースを表す実施形態が示されている。なお、本明細書に記載の様々な実施形態は、イメージングプロセス１０の一般的概要を提示することを意図したものであり、具体的なグラフィカルユーザインタフェースは、例としてのみの提示であって、いかなる形でも本開示の範囲を限定することを意図したものではない。
【００８７】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択する。そして、ユーザは、現在のレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加するボタンを選択してよい。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域が正しく、文字が正しくクラシファイされている場合、ユーザには、変更（セグメンテーションパラメータ、又はセグメンテーションパラメータとフォント）を受け入れるオプションが与えられてよい。
【００８８】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択する。そして、ユーザは、現在のレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加するボタンを選択してよい。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域は正しいものの、文字が正しくクラシファイされていない場合、ユーザは、文字列を指定してから、クラシフィケーションを修正して結果を「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加することを選択してよい。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域が正しく、文字が正しくクラシファイされている場合、ユーザには、変更（セグメンテーションパラメータ、又はセグメンテーションパラメータとフォント）を受け入れるオプションが与えられてよい。
【００８９】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択する。そして、ユーザは、現在のレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加するボタンを選択してよい。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域が正しくない場合、ユーザは、新しい領域を指定することなく、上述のステップの一部又は全てを繰り返してよい。その後、ユーザは、別の画像をロードしてよい。領域が正しく、文字が正しくクラシファイされている場合、ユーザは、変更（セグメンテーションパラメータ、又はセグメンテーションパラメータとフォント）を受け入れることを選択してよい。
【００９０】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。結果が正しくなく、セグメンテーション領域を調節する必要がある場合、ユーザは、セグメンテーション領域を調節してから、そのレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加することを選択してよい。ユーザは、別の画像をロードしてよい。そして、領域が正しく、文字が正しくクラシファイされている場合、ユーザは、変更（セグメンテーションパラメータ、又はセグメンテーションパラメータとフォント）を受け入れることを決定してよい。
【００９１】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択してから、このレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加することを決定してよい。その後、ユーザは、別の画像をロードしてよい。そして、セグメンテーションがなされた領域が正しく、文字が正しくクラシファイされている場合、ユーザは、「拒否（Ｒｅｊｅｃｔ）」ボタンを選択することにより、自動調整パラメータを拒否してよい。
【００９２】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択してから、このレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加することを選択してよい。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域が正しく、文字が正しくクラシファイされている場合、ユーザは、自動調整プロセスを完了する時間がないと判断する可能性があり、そこで、自動調整データを保存する為の「保存（Ｓａｖｅ）」ボタンが設けられてよい。
【００９３】
実施形態によっては、現在の画像がロードされている場合、イメージングプロセス１０は、実行されて、セグメンテーション及びクラシフィケーションの結果を正常なものとして表示することが可能である。セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよく、これに応じて、結果がユーザに返される。ユーザは、正しい結果を選択してから、このレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加するボタンをヒットしてよい。ユーザは、別の画像をロードしてよい。そして、セグメンテーション領域が正しいように見えない場合、ユーザは、文字列を入力してから、セグメンテーションを修正することを選択してよい。この結果は、ユーザに返されてよい。ユーザは、正しい結果を選択してから、このレコードを「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」に追加することを選択してよい。ここで、「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」内の最初のレコードが新しいセグメンテーションパラメータで失敗した場合、ユーザは、「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」内の最後の「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」を選択してから、「削除（Ｄｅｌｅｔｅ）」ボタンを選択してよい。「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」は、自動的に再調整されてよく、新しいセグメンテーションパラメータが計算される。ユーザは、別の画像をロードしてよい。セグメンテーションがなされた領域が正しく、文字が正しくクラシファイされている場合、ユーザは、変更（セグメンテーションパラメータ、又はセグメンテーションパラメータとフォント）を受け入れることを選択してよい。
【００９４】
次に図２１を参照すると、ユーザが「自動調整（Ａｕｔｏ−Ｔｕｎｉｎｇ）」モードにある場合、イメージングプロセス１０の実施形態は、普通に実行されて、セグメンテーション及びクラシフィケーションを実施してよい。従って、イメージングプロセス１０は、セグメンテーション及びクラシフィケーションのグラフィックスを、図２１に示されるように表示する。セグメンテーション領域又はクラシフィケーションが正しくない場合は、ユーザが「自動調整（Ａｕｔｏ−Ｔｕｎｉｎｇ）」モードにあるときの挙動が変化する。「自動調整（Ａｕｔｏ  Ｔｕｎｉｎｇ）」は、図２２に示されるように、ボタン又は他の好適なオプションを介して開始されてよい。図２３に示されるように、ユーザが診断グラフィックスを見たい場合、ユーザは、表示中の情報に応じて、様々に着色された矩形で満たされた画像を見ることになる。例えば、図２３に示されるように、拒否された断片の周囲の領域は、黄色で表示されてよく、文字の主線は青色で表示されてよい（図示せず）。図２４は、拒否された文字を示している。更に、且つ／又は、代替として、図２５に示されるように、保持された断片の周囲の領域は、シアンで表示されてよく、文字の主線は青色で表示されてよい。本開示の範囲から逸脱しない範囲で、他の様々な構成や方法を用いてよい。
【００９５】
実施形態によっては、イメージングプロセスは、新しい「診断（Ｄｉａｇｎｏｓｔｉｃｓ）」タブにおいては、「行データ（Ｌｉｎｅ  Ｄａｔａ）」、「保持された断片（Ｋｅｐｔ  Ｆｒａｇｍｅｎｔｓ）」、「拒否された断片（Ｒｅｊｅｃｔｅｄ  Ｆｒａｇｍｅｎｔｓ）」、「保持された文字（Ｋｅｐｔ  Ｃｈａｒａｃｔｅｒｓ）」、及び「拒否された文字（Ｒｅｊｅｃｔｅｄ  Ｃｈａｒａｃｔｅｒｓ）」に関連する情報をユーザに対して表示することが可能である。例えば、「行データ（Ｌｉｎｅ  Ｄａｔａ）」は、「角度（Ａｎｇｌｅ）」、「スキュー（Ｓｋｅｗ）」、「最小／最大文字間ギャップ（画素数）（Ｍｉｎ／Ｍａｘ  Ｉｎｔｅｒ  Ｃｈａｒ  Ｇａｐ  （ｐｉｘｅｌｓ））」、「最小／最大文字内ギャップ（画素数）（Ｍｉｎ／Ｍａｘ  Ｉｎｔｒａ  Ｃｈａｒ  Ｇａｐ  （ｐｉｘｅｌｓ））」、「最小／最大ピッチ（Ｍｉｎ／Ｍａｘ  Ｐｉｔｃｈ）」などであってよいが、これらに限定されない。「保持された断片（Ｋｅｐｔ  Ｆｒａｇｍｅｎｔｓ）」は、「最小／最大サイズ（画素数）（Ｍｉｎ／Ｍａｘ  Ｓｉｚｅ  （ｐｉｘｅｌｓ））」、「最小／最大コントラスト（％）（Ｍｉｎ／Ｍａｘ  Ｃｏｎｔｒａｓｔ  （％））」、「主線までの最大距離（％）（ＭａｘＤｉｓｔａｎｃｅＴｏＭａｉｎＬｉｎｅ  （％））」などであってよいが、これらに限定されない。「拒否された断片（Ｒｅｊｅｃｔｅｄ  Ｆｒａｇｍｅｎｔｓ）」は、「最小／最大サイズ（画素数）（Ｍｉｎ／Ｍａｘ  Ｓｉｚｅ  （ｐｉｘｅｌｓ））」、「最小／最大コントラスト（％）（Ｍｉｎ／Ｍａｘ  Ｃｏｎｔｒａｓｔ  （％））」、「主線までの最大距離（％）（ＭａｘＤｉｓｔａｎｃｅＴｏＭａｉｎＬｉｎｅ  （％））」などであってよいが、これらに限定されない。「保持された文字（Ｋｅｐｔ  Ｃｈａｒａｃｔｅｒｓ）」は、「最小／最大文字幅（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｗｉｄｔｈ  （ｐｉｘｅｌｓ））」、「最小／最大文字高さ（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｈｅｉｇｈｔ  （ｐｉｘｅｌｓ））」、「最小／最大文字サイズ（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｓｉｚｅ  （ｐｉｘｅｌｓ））」などであってよいが、これらに限定されない。「拒否された文字（Ｒｅｊｅｃｔｅｄ  Ｃｈａｒａｃｔｅｒｓ）」は、「最小／最大文字幅（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｗｉｄｔｈ  （ｐｉｘｅｌｓ））」、「最小／最大文字高さ（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｈｅｉｇｈｔ  （ｐｉｘｅｌｓ））」、「最小／最大文字サイズ（画素数）（Ｍｉｎ／Ｍａｘ  Ｃｈａｒ  Ｓｉｚｅ  （ｐｉｘｅｌｓ））」などであってよいが、これらに限定されない。
【００９６】
次に図２６を参照すると、グラフィカルユーザインタフェース２６００を表す実施形態が示されている。インタフェース２６００は、診断テキストデータが表示されるタブを含んでよい。実施形態によっては、表示すべき診断グラフィックスを指定する為のドロップダウンメニューを追加してよい。実施形態によっては、「診断を表示（Ｓｈｏｗ  Ｄｉａｇｎｏｓｔｉｃｓ）」ドロップダウンメニューは、「表示（Ｓｈｏｗ）」ドロップダウンメニューとの組み合わせで動作可能である。プロパティシート内において、「診断を表示（Ｓｈｏｗ  Ｄｉａｇｎｏｓｔｉｃｓ）」が「全てを隠す（ｈｉｄｅ  ａｌｌ）」以外の何かに設定されている場合は、診断グラフィックスだけが表示されてよい。プロパティシートの内側において、「診断を表示（Ｓｈｏｗ  Ｄｉａｇｎｏｓｔｉｃｓ）」が「全てを隠す（ｈｉｄｅ  ａｌｌ）」に設定されている場合は、通常のグラフィックスが表示されてよい。プロパティシートの外側において、「表示（Ｓｈｏｗ）」ドロップダウンプロパティが「全てを表示（Ｓｈｏｗ  Ａｌｌ）」又は「結果グラフィックスのみ（ｒｅｓｕｌｔ  ｇｒａｐｈｉｃｓ  ｏｎｌｙ）」に設定されている場合は、「診断を表示（Ｓｈｏｗ  Ｄｉａｇｎｏｓｔｉｃｓ）」の設定内容にかかわらず、通常のグラフィックスが表示される。プロパティシートの外側において、「表示（Ｓｈｏｗ）」ドロップダウンが「全てを隠す（ｈｉｄｅ  ａｌｌ）」に設定されている場合は、グラフィックスは、ユーザがプロパティシートを開いたときに表示されるグラフィックスである。
【００９７】
本明細書に記載のイメージングプロセスの実施形態は、様々なタイプのクラシフィケーションアルゴリズムを用いてよい。これらのクラシフィケーションアルゴリズムの幾つかは、文字をクラシファイする為の基本的なクラシフィケーションアルゴリズム、基本的な妥当性検査ルーチンが後に続く、文字をクラシファイする為の基本的なクラシフィケーションアルゴリズム、アグレッシブ且つ簡素化されたアルゴリズムによる、文字をクラシファイする為の基本的なクラシフィケーションアルゴリズムなどであってよいが、これらに限定されない。実施形態によっては、様々なデフォルトのクラシフィケーションアルゴリズムを用いてよい。例えば、図２７に示される「追加の文字妥当性検査をスキップする（Ｓｋｉｐ  Ａｄｄｉｔｉｏｎａｌ  Ｃｈａｒａｃｔｅｒ  Ｖａｌｉｄａｔｉｏｎ）」チェックボックスから、特定のモードを選択してよい。実施形態によっては、ジョブファイルのバージョンがファームウェアより古い場合、ファームウェアは、特定のパラメータに基づいてクラシフィケーションを自動的に設定する。更に、且つ／又は、代替として、ジョブファイルのバージョンがファームウェアより新しい場合、ファームウェアは、適切なパラメータに基づいてクラシフィケーションを自動的に設定する。
【００９８】
実施形態によっては、「自動調整モード（Ａｕｔｏ−Ｔｕｎｉｎｇ  Ｍｏｄｅ）」において、運用中にセグメンテーション及びクラシフィケーションの両方を実施することが可能である。その後、ユーザは、画像がロードされてプロセスが実行されるたびにクラシフィケーションを実施しないオプションを追加したい場合がある。「自動調整（Ａｕｔｏ−Ｔｕｎｉｎｇ）」が完了し、セグメンテーションパラメータ、又はセグメンテーションパラメータとトレーニングが良好であるとユーザが考えた場合、ユーザは、これらの変更をコミットしてよい。
【００９９】
本開示の実施形態は、様々なライブラリ、及びこれらのライブラリと通信している関連ファームウェアを利用してよい。本明細書に記載のイメージングプロセスは、様々な情報を１つ以上のグラフィカルユーザインタフェースに表示するように構成されてよい。従って、ライブラリから特定のユーザインタフェースに情報をレポートする幾つかのメッセージがあってよい。例えば、このメッセージは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」モデル内の各レコードに関するレコード情報を特定のユーザインタフェースに送り、そのインタフェースは、この情報を表示するように構成されてよい。更に、且つ／又は、代替として、幾つかのメッセージは、自動調整グラフィックス及び画像を、特定の表示用ユーザインタフェースに送るように構成されてよい。幾つかのメッセージは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」セッションを終了させるように構成されてよく、ライブラリが計算したセグメンテーションパラメータを、その後の、ユーザに対する表示の為に更新することが可能である。
【０１００】
実施形態によっては、ユーザは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」機能を開始させてよく、１つ以上の画像を使用してトレーニングを行ってよい。ユーザは、各画像について、文字のセグメンテーション及びクラシフィケーションが正しく行われたかどうかを決定してよい。正しく行われていない場合は、失敗画像のトレーニングが行われ、アルゴリズムは、画像のセグメンテーションを正しく行うセグメンテーション設定と、既にトレーニングされた画像とを見つける。トレーニングを行う画像の数が多いほど、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」アルゴリズムの信頼度及び精度を高めることが可能である。ユーザが満足した時点で、新しいセグメンテーション設定を適用してよく、新しくトレーニングされた文字により、フォントを更新してよい。「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセス中に文字をトレーニングすることには多くの利点があり、それらは、ユーザが画像セットを２回（１回はセグメンテーション、もう１回は文字のトレーニング）繰り返す必要がないこと、又、調整プロセスから得られたセグメンテーションパラメータを使用して文字のトレーニングを自動的に行うことが可能な為に読み取り精度が向上することなどであるが、これらに限定されない。
【０１０１】
本明細書で用いている「文字のセグメンテーション（Ｃｈａｒａｃｔｅｒ  Ｓｅｇｍｅｎｔａｔｉｏｎ）」という語句は、検査領域内の各文字の境界（上端、左端、下端、右端）を見つけるプロセス又は動作を意味するものであってよい。文字のセグメンテーションは、本明細書に記載の１つ以上のアルゴリズムを用いて実施されてよい。「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」という語句は、画像、トレーニング文字列、及び画像内の文字のユーザ確認済み場所からなるものであってよい。「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」という語句は、ゼロ個以上の「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄｓ）」と、全てのレコードの正しいセグメンテーションを最良に行う構成設定との集合を意味するものであってよい。
【０１０２】
本明細書に記載のように、「自動調整（Ａｕｔｏ−Ｔｕｎｉｎｇ）」の概念は、最適セグメンテーションパラメータを識別する為の誘導プロセスを意味するものであってよい。セグメンテーションパラメータは、このプロセスの完了後に更新されてよい。実施形態によっては、自動調整プロセスは、複数の画像が成功することを必要とする。ユーザインタフェースは、画像を取得し、結果を評価するプロセスにおいてユーザを誘導するように構成されてよい。従って、ユーザに膨大な数の結果を提示して、そこから選択させるべきではない。結果は、それぞれ別々でなければならず、量的に制限されていなければならない。ユーザに対しては、作業結果を失わないように、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」セッションをディスクに保存することを促さなければならない。最後に保存されたセッションは、ユーザインタフェースによって自動的に復元することが可能である。
【０１０３】
実施形態によっては、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスは、大量のＣＰＵリソース及びメモリリソースを必要とする可能性がある。プロセスが完了し、設定及びフォントが更新されたら、それらのリソースは不要になり、解放されてよい。実施形態によっては、リソースを可能な限り早急に解放することが重要である。「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスが完了したら（即ち、ユーザが設定を受け入れるか、キャンセルしたら）、全ての「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」リソースが解放されてよい。リソース間の情報（例えば、トレーニングされた画像など）は、複数のセッションにまたがっては保持されない。所要時間が２秒を超えると見込まれる操作の場合は、プログレスバーが表示されてよい。プログレスフィードバック（４７％完了）は利用できない為、プログレスバーは、操作が依然アクティブであることを単純に示すだけである。操作をキャンセルするメカニズムは設けられないであろう。
【０１０４】
実施形態によっては、トレーニング中に、ユーザは、プロパティシート又は設定パネルから「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」を押す。ユーザは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログが提示され、新しい画像を取得することが可能である。次にユーザは、新しい画像のトレーニングを行うか、別のステップにアクセスするか、「ＯＫ」を選択して終了することが可能である。新しいセグメンテーションパラメータが更新され、フォントが更新される。
【０１０５】
実施形態によっては、画像を自動文字セグメンテーションによってトレーニングした場合に、ユーザは、その画像のセグメンテーションがうまく行われなかったと判断する可能性があり、その場合は、トレーニング文字列を入力してよい。ユーザは、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」ボタンを選択してよい。ユーザは、ステータスバーを提示され、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」が完了するのを待つ。ユーザは、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」結果の一覧が提示され、各結果をクリックして評価することが可能である。結果を選択することにより、画像上のセグメンテーションマーキングを更新することが可能である。ユーザは、最良の結果を選択し、「ＯＫ」を選択する。新しい「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」が作成され、この新しい「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」設定により、画像が更新される。この新しくトレーニングされた文字により、フォントが更新される。
【０１０６】
実施形態によっては、画像を手動文字セグメンテーションによってトレーニングした場合に、ユーザは、その画像のセグメンテーションがうまく行われなかったと判断する可能性がある。その場合、ユーザは、トレーニング文字列を入力して、「手動セグメンテーション（Ｍａｎｕａｌ−Ｓｅｇｍｅｎｔ）」ボタンを選択してよい。「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログは隠され、表示コントロールに、トレーニング文字列内の各文字の編集可能領域が提示される。そして、ユーザは、各領域の位置決め及びサイズ調整を行ってよい。ユーザは、ツールバー上の「ＯＫ」をクリックする（又は、画像をダブルクリックする）。次に、ユーザは、ステータスバーを提示されて、セグメンテーション設定が見つかるのを待つことが可能である。プロセスが完了すると、ステータスバーは閉じる。新しい「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」が作成され、この新しい「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」設定により、画像が更新される。この新しくトレーニングされた文字により、フォントが更新される。
【０１０７】
実施形態によっては、ユーザは、画像は良好にセグメンテーションがなされているが、文字が誤識別されたと判断する可能性がある。その場合、ユーザは、トレーニング文字列を入力して、「フォントをトレーニング（Ｔｒａｉｎ  Ｆｏｎｔ）」ボタンをクリックする。この新しくトレーニングされた文字により、フォントが更新される。
【０１０８】
実施形態によっては、ユーザは、画像は良好にセグメンテーションがなされており、且つ、文字が正しく識別されたと判断する可能性がある。これは、他の画像との違いが顕著でないテスト画像である。ユーザアクションは不要である。
【０１０９】
実施形態によっては、ユーザは、画像は良好にセグメンテーションがなされており、且つ、文字が正しく識別されたと判断する可能性がある。ユーザは、これが、「自動調整（Ａｕｔｏ−Ｔｕｎｉｎｇ）」時に考慮されるべき重要な画像であると判断し、「レコードを作成（Ｃｒｅａｔｅ  Ｒｅｃｏｒｄ）」ボタンを選択してよい。現在の画像及び現在のセグメンテーション領域を用いて、新しい「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」が作成される。
【０１１０】
実施形態によっては、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」は、ツール内のセグメンテーションパラメータを設定し、任意選択で文字の再トレーニングを行う複数画像プロセスである。「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスがアクティブである間、ユーザは、画像をロードし、各画像についての結果を評価することを求められる。ユーザは、文字のセグメンテーションが正しく行われたかどうか、並びに、文字の識別が正しく行われたかどうかを、視覚的に判断する。文字のセグメンテーション又は識別が正しく行われていない場合、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」アルゴリズムは、訂正を行うことを試行する。プロセスが進むほど、結果の信頼度及び精度が高くなる。ユーザが満足した時点で、新しいセグメンテーション設定が適用され、新しくトレーニングされた文字により、フォントが更新される。
【０１１１】
実施形態によっては、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスは、複数の画像にまたがる。ユーザは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログを閉じることなく、画像をロードし、検査領域を調節することが可能であってよい。本明細書に記載の実施形態は、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログを閉じることなく、画像を、再生コントロールから、又はディスクから、又はライブ取得により、ロードする方法をユーザに提供することが可能である。実施形態は又、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログを閉じることなく、ビルトイン領域を編集する方法をユーザに提供することも可能である。
【０１１２】
実施形態によっては、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスがアクティブである間に、ユーザは、各画像における文字セグメンテーションを評価する。文字のセグメンテーションが正しく行われていない場合、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」アルゴリズムは、訂正を行うことを試行する。「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスは、処理対象テキストについての情報を要求することが可能であり、何らかの性能（速度及び精度）調節を提供する。
【０１１３】
本明細書に開示の実施形態は、幾つかの「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」オプションをユーザに提供することが可能である。幾つかのオプションは、以下のものを含んでよいが、これらに限定されない。「ロックされたパラメータの一覧（Ｌｏｃｋｅｄ  Ｐａｒａｍｅｔｅｒ  Ｌｉｓｔ）」。これは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」で修正してはならないセグメンテーションパラメータのセットを指定することが可能である。デフォルトでは、どのパラメータもロックされていない。「画像分解能（Ｉｍａｇｅ  Ｒｅｓｏｌｕｔｉｏｎ）」。例えば、文字は、フル分解能又はサブサンプル分解能でのセグメンテーションが可能である。デフォルト値を設定してよい。「結果の数（Ｎｕｍｂｅｒ  ｏｆ  Ｒｅｓｕｌｔｓ）」。これは、生成してユーザに提示する候補結果の最大数を特定することが可能である。「パラメータのステップ数（Ｐａｒａｍｅｔｅｒ  Ｓｔｅｐｓ）」。例えば、各セグメンテーションパラメータについて試行される反復の回数である。パラメータが自動的にロックされるのは、関連付けられたツール入力が「リンク（Ｌｉｎｋｓ）」タブ内でリンクされている場合である。
【０１１４】
実施形態によっては、現在の画像のセグメンテーションが正しく行われない場合、ユーザは、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」アルゴリズムの実行を選択してよい。「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」アルゴリズムは、現在の画像のセグメンテーションを正しく行うセグメンテーション構成の一覧と、「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄｓ）」の一覧にある画像とを検索して返す。返された構成の一覧は、ユーザに提示され、ユーザは、当該文字の最良のセグメンテーションを行う構成を選択する。満足な構成がユーザによって選択された場合は、その検証結果が新しい「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」として記憶され、選択された構成は、その後の画像のセグメンテーションに使用される。更に、この新しくトレーニングされた文字により、フォントが更新される。満足な構成がない場合、ユーザは、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」入力を修正して「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」機能を再実行するか、又は、当該文字の手動セグメンテーションをグラフィカルに行うことを選択してよい。
【０１１５】
本明細書に開示の実施形態は、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」動作を開始するコマンドをユーザに提供することが可能である。これは、明示的なコマンドでなくてよい。即ち、ユーザが現在の画像においてセグメンテーションをどのように格付けするかに応じて起動されて良い。ユーザは、トレーニング文字列を提供しなければならない。
【０１１６】
本明細書に開示の実施形態は、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」プロセスが進行中であること、並びに全てが良好であることをユーザに情報伝達するステータスインジケータを提供することが可能である。更に、且つ／又は、代替として、本明細書に開示の実施形態は、ユーザが文字のセグメンテーションを手動で行った後に、進行中の自動セグメンテーション動作をキャンセルする方法を提供することが可能である。キャンセルが完了したら、ユーザはインタラクティブグラフィックス表示に戻らなければならず、セグメンテーショングラフィックスは、ユーザが配置した場所にある。
【０１１７】
本明細書に開示の実施形態は、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」結果から最良のセグメンテーション構成を選択するオプションをユーザに提供することが可能である。
更に、且つ／又は、代替として、実施形態によっては、候補構成ごとに、セグメンテーション結果を現在の画像と照合して視覚的に評価する手段をユーザに提供することが可能である。
【０１１８】
現在の画像のセグメンテーションが正しく行われず、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」結果が満足なものでない場合、ユーザは、当該文字の手動セグメンテーションをグラフィカルに行うことを選択してよい。手動で配置された領域は、新しい「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」に記憶させてよい。手動で配置された領域に適合するセグメンテーション構成を見つける為に、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」ルーチンを内部的に実行してよい。ユーザによって提供される領域に基づいて、最良の構成を自動的に選択することが可能であり、ユーザは、構成の一覧から選択する必要がない。この新しくトレーニングされた文字により、フォントを更新してよい。
【０１１９】
更に、且つ／又は、代替として、本明細書に開示の実施形態は、ユーザが各セグメンテーション領域を手動で位置決めすることを可能にできる。ユーザは、各文字の位置、サイズ、角度、及びスキューを設定することが可能でなければならない。領域の数は、トレーニング文字列によって決定されてよく、システムは、ユーザが文字領域を追加したり除去したりすることを可能にしなくてもよい。
【０１２０】
実施形態によっては、ツールが構成を検索中であること、プロセスが進行中であること、並びに、全てが良好であることをユーザに情報伝達するステータスインジケータを提供するように構成されてよい。更に、且つ／又は、代替として、実施形態によっては、ユーザが文字のセグメンテーションを手動で行った後に、進行中の検索動作をキャンセルする方法を提供することが可能である。キャンセルが完了したら、ユーザはインタラクティブグラフィックス表示に戻らなければならず、セグメンテーショングラフィックスは、ユーザが配置した場所にある。
【０１２１】
前述のように、実施形態によっては、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセス中に文字のトレーニングが行われる。フォントトレーニングは、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」コマンドの後に自動的に実施される。フォントトレーニングは又、セグメンテーションが良好であるのに文字が誤識別される場合には、ユーザによって開始されてよい。フォントトレーニングのオプションは、いずれの場合にも当てはまる。
【０１２２】
本明細書に開示の実施形態は、トレーニング済み文字の管理方法に関する特定の情報を必要とする場合があり、幾つかのフォントトレーニングオプションをユーザに提供することが可能であり、そのようなオプションとして、トレーニング対象文字のインスタンスの数を制限することが可能な「文字当たりの最大インスタンス（Ｍａｘｉｍｕｍ  Ｉｎｓｔａｎｃｅｓ  ｐｅｒ  Ｃｈａｒａｃｔｅｒ）」があるが、これに限定されない。本明細書に開示の実施形態は又、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」コマンドを実行することなく文字の再トレーニングを行うオプションをユーザに提供することが可能である。ユーザは、トレーニング文字列を提供しなければならず、「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」が作成される。「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」データは、後でエクスポート及び復元されてよい。これにより、ユーザは、ベース画像のセットのトレーニングを行うことが可能であり、そして、後で、新たな問題画像に遭遇したときに、データセットに追加することが可能である。ユーザは、保存先又はロード元の場所を選択することが可能になる。ユーザは、任意の好適なコンピューティング装置の、ユーザが指定する場所においてアクティブセッションを継続できるようにされてよい。ユーザは、保存先の場所を選択することが可能になる。ユーザは又、以前に保存されたセッションを復元して、現在のアクティブセッションを上書きすることができるようにされてよい。ユーザは、ロード元の場所を選択することが可能になる。場合によっては、ユーザは、現在進行中のものを破棄して「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」プロセスを最初からやり直したい場合がある。ユーザは、「自動調整モデル（Ａｕｔｏ−Ｔｕｎｅ  Ｍｏｄｅｌ）」を新しい空の状態にリセットできるようにされてよい。
【０１２３】
実施形態によっては、「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄｓ）」は、典型的には、トレーニング動作中に自動的に作成される。レコードの作成に使用された画像が低品質であった為に「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」メカニズムにおいて問題を引き起こしている場合は、そのレコードを削除することが有用である可能性がある。レコードは、ユーザによる閲覧が可能である。レコード内の画像は、２つの方法でマーキングすることが可能であり、それらは、トレーニング済みのセグメンテーション領域によりマーキングする方法と、現在のセグメンテーション設定を使用して生成されたセグメンテーション領域によりマーキングする方法である。現在のセグメンテーション設定が、レコード画像のトレーニングに使用された設定よりも高い精度でレコード画像のセグメンテーションを行う場合、ユーザは、現在のセグメンテーション結果でレコードを更新することを選択してよい。
【０１２４】
実施形態によっては、そのレコードの作成に使用された画像に、検証済み（トレーニング時）セグメンテーション領域によるマーキングを施して、ユーザに提供することが可能である。実施形態は、そのレコードの作成に使用された画像に、現在の設定を使用して生成されたセグメンテーション領域によるマーキングを施して、ユーザに提供することが可能である。ユーザは、そのレコードの作成に使用されたテキストを提示されてよい。
【０１２５】
実施形態によっては、ユーザは、「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄ）」を削除したり、且つ／又は、現在のセグメンテーション結果で更新したりしてよい。更に、且つ／又は、代替として、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログは、以下のオプションをユーザに提供することが可能である。「ＯＫ」−「全てをコミット（Ｃｏｍｍｉｔ  Ａｌｌ）」。この場合、ユーザは、ダイアログを閉じて、セグメンテーションパラメータ及びトレーニング済みフォント文字を受け入れるオプションを有することが可能である。セグメンテーションパラメータはコピーされ、フォントは、トレーニング済み文字で更新される。
【０１２６】
次に図２８から図２９を参照すると、本開示の教示と整合するグラフィカルユーザインタフェースの実施形態が示されている。この特定の例では、図２８に示されたプロパティシート上の「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ボタンにより、自動調整機能を起動することが可能である。更に、且つ／又は、代替として、図２９に示されるように、「外部設定（Ｅｘｔｅｒｎａｌ  Ｓｅｔｔｉｎｇｓ）」セルが参照されているときは、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ボタンは無効にされてよい。
【０１２７】
次に図３０から図３１を参照すると、ツールバーグラフィカルユーザインタフェースを描いた本開示の実施形態が示されている。ツールバーコマンドは、画像取得コマンド、検査領域編集コマンド、エクスポートコマンド、インポートコマンド、クリアモデルコマンドなどであってよいが、これらに限定されない。「ＯＫ」ボタン又は「キャンセル（Ｃａｎｃｅｌ）」ボタンを押すと、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログが閉じられる。「ＯＫ」が選択されると、変更が関連セルに対してコミットされる。
【０１２８】
次に図３２から図３４を参照すると、実施形態によっては、１つ以上のタブページが含まれてよい。これらのタブページは、（図３２に示された）「自動調整（ａｕｔｏ−ｔｕｎｅ）」、「設定（ｓｅｔｔｉｎｇｓ）」、「レコード（ｒｅｃｏｒｄｓ）」、「フォント（ｆｏｎｔ）」などであってよいが、これらに限定されない。「自動調整（ａｕｔｏ−ｔｕｎｅ）」タブは、自動セグメンテーションコマンド、手動セグメンテーションコマンド、及びフォントトレーニングコマンドを設けることが可能である。「設定（ｓｅｔｔｉｎｇｓ）」タブは、自動調整設定へのアクセスと、フォントトレーニングオプションへのアクセスとを提供することが可能である。「レコード（Ｒｅｃｏｒｄｓ）」タブは、図３３に示された「レコードを表示（ｖｉｅｗ  ｒｅｃｏｒｄｓ）」、「レコードを削除（ｄｅｌｅｔｅ  ｒｅｃｏｒｄｓ）」、及び「レコードを更新（ｕｐｄａｔｅ  ｒｅｃｏｒｄｓ）」を設けることが可能である。実施形態によっては、「レコードを表示（Ｖｉｅｗ  Ｒｅｃｏｒｄ）」ボタンを選択すると、以下のモーダルダイアログが開く。これは、レコードの表示、並びにレコードの更新を考慮したものである。
【０１２９】
図３５から図３６に示されるように、プロセスが進行中の場合は、モーダルポップアップウィンドウが表示される。これは、自動セグメンテーションの進行状況、構成検索の進行状況、自動セグメンテーションのキャンセルの進行状況、及び構成検索のキャンセルの進行状況を提供することが可能である。
【０１３０】
実施形態によっては、図３４に示された「レコードを表示（ｖｉｅｗ  ｒｅｃｏｒｄ）」オプションを選択するとモーダルダイアログが生成されてよく、このダイアログは、当該レコードの表示及び／又は更新を考慮したものであってよい。図３７は、そのような構成を示すグラフィカルユーザインタフェース３７００を表している。図３７に示されるように、グラフィカルユーザインタフェース３７００は、「トレーニング済み（ｔｒａｉｎｅｄ）」機能及び「現在の設定（ｃｕｒｒｅｎｔ  ｓｅｔｔｉｎｇｓ）」機能の両方を含んでよく、それぞれ表示可能である。現在の結果を保存するオプションも提供されてよい。
【０１３１】
図３８から図３９に示されるように、実施形態によっては、「自動セグメンテーション（Ａｕｔｏ−Ｓｅｇｍｅｎｔ）」プロセスが完了すると、モデルダイアログが表示される。このダイアログは、ユーザが最良のセグメンテーション構成を選択することを可能にするものであってよい。「結果を編集（Ｅｄｉｔ  Ｒｅｓｕｌｔ）」ボタンが選択されると、ユーザは、現在の選択を開始点として、文字セグメントグラフィックスを手動で編集することが可能になる。「ＯＫ」ボタンが選択されると、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」モデルが現在の選択に基づいて更新され、ダイアログが閉じられる。「ＯＫ」ボタンが有効化されるのは、一覧内の１つのアイテムが選択されている場合だけである。
【０１３２】
実施形態によっては、文字セグメントを手動で編集する際に、平行四辺形グラフィックスを用いてよい。この平行四辺形グラフィックスは、幾つかの機能を含んでよい。例えば、移動機能により、マウスを平行四辺形の内側の中に置くと、カーソルが標準的な移動カーソル（４つの矢印）に変わる。このグラフィックスをクリックしてドラッグすると、平行四辺形を移動させることができる。例えば、サイズ変更機能により、マウスを平行四辺形の辺の上に置くと、カーソルが標準的なサイズ変更カーソル（２つの矢印）に変わる。この辺をクリックしてドラッグすると、平行四辺形のサイズを変更することができる。例えば、スキュー機能により、マウスを平行四辺形の左上コーナー上に置くと、カーソルが標準的なクロスヘアカーソルに変わる。このポイントをクリックしてドラッグすることにより、平行四辺形の内角を変更することができる。例えば、回転機能により（図４０を参照）、マウスを、平行四辺形の底辺にある回転アイコンの上に置くと、マウスカーソルが回転カーソルに変わる。このポイントをクリックしてドラッグすることにより、平行四辺形の回転を修正することができる。キーボード編集が可能になる。既存の「移動（Ｍｏｖｅ）」、「サイズ変更（Ｒｅｓｉｚｅ）」、及び「回転（Ｒｏｔａｔｅ）」の各モードに加えて、「スキュー（Ｓｋｅｗ）」モードが利用可能である。「スキュー（Ｓｋｅｗ）」モードでは、図４１に示されるように、平行四辺形の内角を１度刻みで（左矢印で−１度、右矢印で＋１度）調節する。平行四辺形の底辺と左辺との間の角度（度）が、上矢印の先端に描画される。
【０１３３】
次に図４２を参照すると、本開示の実施形態と整合するグラフィカルユーザインタフェース４２００が示されている。この特定の例では、「セグメンテーション（ｓｅｇｍｅｎｔａｔｉｏｎ）」タブに、「セルにエクスポート（Ｅｘｐｏｒｔ  ｔｏ  Ｃｅｌｌ）」というユーザ選択可能ボタンが含まれてよい。このエクスポートコマンドが無効化されてよいのは、図４３に示されるように、「外部設定（Ｅｘｔｅｒｎａｌ  Ｓｅｔｔｉｎｇｓ）」参照が既に設定されている場合である。
【０１３４】
自動調整ではメモリ及び処理装置が多用されることが一因となり、自動調整機能は、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」セッションの範囲内で実現可能である。セッションの終了時にメモリが解放され、結果は、コミットされるか、破棄される。セッションは、ほぼ完全に内部実装細部であり、ユーザにはさらされなくてよい。ユーザに対する影響は、中間トレーニングデータ（例えば、「自動調整レコード（Ａｕｔｏ−Ｔｕｎｅ  Ｒｅｃｏｒｄｓ）」がセッション間で保存されないことである。セッションデータは、ユーザによってインポート及びエクスポートされてよい。本明細書に開示の実施形態は、いずれかの「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」機能を実施する前に新たな「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」セッションを開始することが可能である。この動作は、ユーザに対して透過的であってよく、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログが開いているときに自動的に実施されてよい。本明細書に開示の実施形態は、全てのアクティブな「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」セッションを終了することが可能である。この動作は、ユーザに対して透過的であってよく、「自動調整（Ａｕｔｏ−Ｔｕｎｅ）」ダイアログが閉じているときに自動的に実施されてよい。
【０１３５】
本方法は又、１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを、閾値又は最適値に設定されている条件に基づいて判定するステップを含んでよい。本方法は又、１つ以上のコンピューティング装置を使用して、最初の文字列及び追加の文字列の一方又は両方を少なくとも部分的に用いて、文字のデータベースを生成するステップを含んでよい。本方法は又、１つ以上のコンピューティング装置を使用して、正しいセグメンテーションパラメータセットを有する文字列についての、正しいセグメンテーションの通知を受け取るステップを含んでよい。本方法は又、１つ以上のコンピューティング装置を使用して、正しいセグメンテーションパラメータセットを第２の文字列に適用するステップを含んでよい。実施形態によっては、識別するステップは、ＡＳＣＩＩ均一性基準に合致しているかどうかを識別するステップを含んでよい。
【０１３６】
操作は又、１つ以上のコンピューティング装置を使用して、セグメンテーション結果が１つ以上の条件を満たすかどうかを、閾値又は最適値に設定されている条件に基づいて判定するステップを含んでよい。操作は又、１つ以上のコンピューティング装置を使用して、最初の文字列及び追加の文字列の一方又は両方を少なくとも部分的に用いて、文字のデータベースを生成するステップを含んでよい。本方法は又、１つ以上のコンピューティング装置を使用して、正しいセグメンテーションパラメータセットを有する文字列についての、正しいセグメンテーションの通知を受け取るステップを含んでよい。本方法は又、１つ以上のコンピューティング装置を使用して、正しいセグメンテーションパラメータセットを第２の文字列に適用するステップを含んでよい。実施形態によっては、識別するステップは、ＡＳＣＩＩ均一性基準に合致しているかどうかを識別するステップを含んでよい。実施形態によっては、少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、文字断片距離、文字断片マージモード、幅広文字分割、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白スコアリング、空白文字の最小幅、及び空白文字の最大幅のうちの１つ以上を含んでよい。
【０１３７】
１つ以上の処理装置は更に、それぞれが追加文字列を有する少なくとも１つの追加画像を受け取るように構成されてよい。１つ以上の処理装置は更に、最初の文字列及び追加文字列の一方又は両方を少なくとも部分的に使用して、文字のデータベースを生成するように構成されてよい。１つ以上の処理装置は更に、正しいセグメンテーションパラメータセットを有する文字列についての、正しいセグメンテーションの通知を受け取るように構成されてよい。１つ以上の処理装置は更に、正しいセグメンテーションパラメータセットを第２の文字列に適用するように構成されてよい。実施形態によっては、識別するステップは、ＡＳＣＩＩ均一性基準に合致しているかどうかを識別するステップを含んでよい。実施形態によっては、少なくとも１つのセグメンテーションパラメータは、極性、行微調整、角度サーチ範囲、スキューサーチ範囲、正規化モード、ストローク幅、２値化閾値、境界断片、画素数、コントラスト閾値、文字高さ、文字幅、文字間ギャップ、文字内ギャップ、文字断片距離、文字断片マージモード、幅広文字分割、最小文字アスペクト、文字幅タイプ、解析モード、ピッチメトリック、ピッチタイプ、最小ピッチ、空白挿入、空白スコアリング、空白文字の最小幅、及び空白文字の最大幅のうちの１つ以上を含んでよい。
【０１３８】
当業者であれば理解されるように、本開示は、方法、システム、又はコンピュータプログラム製品として実施されてよい。従って、本開示は、全体がハードウェアである実施形態、全体がソフトウェアである実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又は、本明細書においては全てがまとめて「回路」、「モジュール」、又は「システム」と称せられてよい、ソフトウェアの側面とハードウェアの側面とを併せ持つ実施形態の形態をとるものであってよい。更に、本開示は、コンピュータで使用可能な記憶媒体において、コンピュータで使用可能なプログラムコードが実施されている、コンピュータで使用可能な記憶媒体上のコンピュータプログラム製品の形態をとるものであってよい。
【０１３９】
任意の好適な、コンピュータで使用可能な、又はコンピュータ可読な媒体が利用可能である。コンピュータで使用可能な、又はコンピュータ可読な媒体は、例えば、電子式、磁気式、光学式、電磁式、赤外線式、又は半導体式のシステム、装置、デバイス、又は伝搬媒体であってよいが、これらに限定されない。コンピュータ可読媒体のより具体的な例（非網羅的な一覧）として、１つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光学式記憶装置、インターネット又はイントラネットをサポートする伝送媒体のような伝送媒体、又は磁気記憶装置などが挙げられる。なお、コンピュータで使用可能な、又はコンピュータ可読な媒体は、プログラムが印刷される紙又は他の好適な媒体であってもよい。なぜなら、プログラムは、（例えば、紙又は他の媒体の光学式走査により）電子的に取り込んで、コンパイルし、解釈し（又は、必要であれば他の好適な方法で処理し）、コンピュータメモリに記憶させることが可能だからである。本文書の文脈では、コンピュータで使用可能な、又はコンピュータ可読な媒体は、命令を実行するシステム、装置、又はデバイスによって使用されるべく、又はこれらと接続されて、プログラムを格納、記憶、伝達、伝搬、又は搬送することが可能な任意の媒体であってよい。コンピュータで使用可能な媒体は、この媒体によって実施される、コンピュータで使用可能なプログラムコードを、ベースバンドで、又は搬送波の一部分として有する伝搬データ信号を含んでよい。コンピュータで使用可能なプログラムコードは、任意の適切な媒体により伝送されてよく、そのような媒体として、インターネット、有線、光ファイバケーブル、ＲＦなどがあるが、これらに限定されない。
【０１４０】
本開示の操作を実施する為のコンピュータプログラムコードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語で書くことが可能である。しかしながら、本開示の操作を実施する為のコンピュータプログラムコードは、「Ｃ」プログラミング言語や同様のプログラミング言語のような、従来の手続き型プログラミング言語でも書くことが可能である。プログラムコードは、全体をユーザのコンピュータで実行することが可能であり、或いは、一部をスタンドアロンソフトウェアパッケージとしてユーザのコンピュータで実行し、一部をユーザのコンピュータで実行し、一部をリモートコンピュータで実行することが可能であり、或いは、全体をリモートコンピュータ又はサーバで実行することが可能である。後のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）経由でユーザのコンピュータと接続されてよく、或いは、（例えば、インターネットサービスプロバイダを使用してのインターネット経由で）外部コンピュータに接続されてよい。
【０１４１】
本開示は、以下に、本開示の実施形態による方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／又はブロック図を参照して説明されている。当然のことながら、フローチャート図及び／又はブロック図の各ブロック、並びに、フローチャート図及び／又はブロック図におけるブロックの組み合わせは、コンピュータプログラム命令によって実装可能である。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置の処理装置に与えられてよく、それによって、これらのコンピュータプログラム命令が、コンピュータ又は他のプログラマブルデータ処理装置の処理装置によって実行されて、フローチャート図及び／又はブロック図の１つ以上のブロックで指定される機能／動作を実装する手段を生成するようなマシンが生成されてよい。
【０１４２】
これらのコンピュータプログラム命令は又、コンピュータ又は他のプログラマブルデータ処理装置に対し、特定の様式で機能するように指示することが可能なコンピュータ可読メモリに記憶されてよく、この特定の様式は、そのコンピュータ可読メモリに記憶されたそれらのコンピュータプログラム命令によって、フローチャート図及び／又はブロック図の１つ以上のブロックで指定される機能／動作を実装する命令手段を含む製造物が生産されるような様式であってよい。
【０１４３】
これらのコンピュータプログラム命令は又、一連の操作ステップをコンピュータ又は他のプログラマブルデータ処理装置で実行させるべく、コンピュータ又は他のプログラマブルデータ処理装置にロードされてもよく、それによって、それらのコンピュータプログラム命令がコンピュータ又は他のプログラマブルデータ処理装置で実行されて、フローチャート図及び／又はブロック図の１つ以上のブロックで指定される機能／動作を実装するステップを提供するような、コンピュータ実装プロセスが生成されてよい。
【０１４４】
図面中のフローチャート図及びブロック図は、本開示の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を表している。この点において、フローチャート図又はブロック図内の各ブロックは、指定された論理機能を実装する為の１つ以上の実行可能命令を含む、モジュール、セグメント、又はコードの一部分を表すものであってよい。又、代替実装によっては、ブロック内に記された各機能は、図面内に記された順序に従わずに実行されてよいことにも注意されたい。例えば、連続して図示されている２つのブロックが、実際にはほぼ同時に実行される場合があり、或いは、これらのブロックが、関連する機能によっては、逆の順序で実行される場合もある。又、ブロック図及び／又はフローチャート図の各ブロック、並びに、ブロック図及び／又はフローチャート図におけるブロックの組み合わせは、指定された機能又は動作を実行する、専用のハードウェアベースのシステム、又は、専用のハードウェア及びコンピュータ命令の組み合わせによって実装されてよいことにも注意されたい。
【０１４５】
本明細書で使用されている術語は、特定の実施形態を説明することのみを目的としており、本開示を限定することを意図したものではない。本明細書において使用されているように、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈上明らかに他の意味を示している場合を除き、複数形も同様に含むものとする。更に、語句「含む（「ｃｏｍｐｒｉｓｅｓ」及び／又は「ｃｏｍｐｒｉｓｉｎｇ」）」は、本明細書において使用された場合に、述べられた機能、整数、ステップ、操作、要素、及び／又は構成要素の存在を明示するものであり、１つ以上の他の機能、整数、ステップ、操作、要素、構成要素、及び／又はこれらの集合体の存在又は追加を排除するものではないことを理解されたい。
【０１４６】
後述の特許請求の範囲における全ての手段又はステップ並びに機能要素の、対応する構造、材料、動作、及び等価物は、他の特許請求されている要素との組み合わせで機能を実行する為の任意の構造、材料、又は動作を、明確に特許請求されているものとして含むことを意図されている。本開示の記載は、例示及び説明を目的として与えられており、網羅的であること、又は、開示された形態での開示に限定されることを意図したものではない。当業者であれば、本開示の範囲及び趣旨から逸脱することのない様々な修正や変形が明らかであろう。本実施形態は、本開示の原理及び実際の適用を最もよく説明すること、並びに、他の当業者が、様々な修正を有する様々な実施形態の開示を、想定される具体的な用途に適するものとして理解することを可能にする為に、選択され、記載されている。
【０１４７】
以上、本出願の開示を、詳細に、且つ、その実施形態を参照することにより、説明してきたが、添付の特許請求の範囲において定義されている本開示の範囲から逸脱することのない修正及び変形が可能であることは明らかであろう。
【図１】
2014081938.tif 000003
【図２】
2014081938.tif 000004
【図３】
2014081938.tif 000005
【図４】
2014081938.tif 000006
【図５】
2014081938.tif 000007
【図６】
2014081938.tif 000008
【図７】
2014081938.tif 000009
【図８】
2014081938.tif 000010
【図９】
2014081938.tif 000011
【図１０】
2014081938.tif 000012
【図１１】
2014081938.tif 000013
【図１２】
2014081938.tif 000014
【図１３】
2014081938.tif 000015
【図１４】
2014081938.tif 000016
【図１５】
2014081938.tif 000017
【図１６】
2014081938.tif 000018
【図１７】
2014081938.tif 000019
【図１８】
2014081938.tif 000020
【図１９】
2014081938.tif 000021
【図２０】
2014081938.tif 000022
【図２１】
2014081938.tif 000023
【図２２】
2014081938.tif 000024
【図２３】
2014081938.tif 000025
【図２４】
2014081938.tif 000026
【図２５】
2014081938.tif 000027
【図２６】
2014081938.tif 000028
【図２７】
2014081938.tif 000029
【図２８】
2014081938.tif 000030
【図２９】
2014081938.tif 000031
【図３０】
2014081938.tif 000032
【図３１】
2014081938.tif 000033
【図３２】
2014081938.tif 000034
【図３３】
2014081938.tif 000035
【図３４】
2014081938.tif 000036
【図３５】
2014081938.tif 000037
【図３６】
2014081938.tif 000038
【図３７】
2014081938.tif 000039
【図３８】
2014081938.tif 000040
【図３９】
2014081938.tif 000041
【図４０】
2014081938.tif 000042
【図４１】
2014081938.tif 000043
【図４２】
2014081938.tif 000044
【図４３】
2014081938.tif 000045
【外国語明細書】
2014081938000001.pdf