(57)【要約】【課題】経験や知識の少ないユーザであっても、登録されたテンプレートに基づくマッチング処理を適切に実行できるように調整するための手法が要望されている。【解決手段】画像処理装置は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうマッチング処理手段と、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付ける対話手段と、抽出結果が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理を実行する、制御手段とを含む。【選択図】図７
2015176267.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうマッチング処理手段と、
前記入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付ける対話手段と、
前記抽出結果が適切ではないとの入力がされると、前記マッチング処理に用いるパラメータを最適化する処理を実行し、前記抽出結果が適切であるとの入力がされると、前記抽出された各領域についてのマッチング結果の成否に応じて、前記テンプレートを更新する処理を実行する、制御手段とを備える、画像処理装置。
【請求項２】
前記マッチング処理は、文字毎に登録されたテンプレートに基づいて、前記入力画像に含まれる文字毎に領域を抽出するとともに、各領域に含まれる文字を認識する処理を含む、請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記入力画像に含まれる文字の正解文字列を受付けるとともに、当該文字の正解文字列と各領域についての文字の認識結果とを比較することで、前記マッチング結果の成否を判断する、請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記文字の認識結果のうち前記文字の正解文字列とは一致しない文字に対応する部分画像を前記テンプレートとして追加する、請求項３に記載の画像処理装置。
【請求項５】
前記対話手段は、前記文字の認識結果を前記抽出された各領域に対応付けて表示するとともに、前記文字の認識結果のうち前記文字の正解文字列とは一致しない文字を、前記文字の正解文字列とは一致している文字とは異なる態様で表示する、請求項３または４に記載の画像処理装置。
【請求項６】
前記制御手段は、前記抽出された各領域が予め設定された文字列フォーマットに適合しているか否かを判断するとともに、文字列フォーマットに適合していない場合には、前記対話手段によるユーザからの入力を待つことなく、前記マッチング処理に用いるパラメータを最適化する処理を実行する、請求項２〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記制御手段は、前記抽出結果が適切ではないとの入力がされると、先に実行されたパラメータを最適化する処理の結果を利用して、パラメータを再度最適化する、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記制御手段は、パラメータを最適化する処理を予め定められた上限値まで繰返しても、適切な抽出結果を得られないと、前記パラメータの手動調整、および、前記入力画像の変更の少なくとも一方をユーザへ促す、請求項７に記載の画像処理装置。
【請求項９】
前記マッチング処理手段は、前記抽出された各領域に含まれる部分画像と前記１または複数のテンプレートとの間の一致度合いである類似度をそれぞれ算出し、
前記対話手段は、前記抽出された各領域について、最も高い類似度の値を各領域に対応付けて出力する、請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記対話手段は、前記抽出された各領域について、最も高い類似度の値と次に高い類似度の値との差である安定度の値を各領域に対応付けて出力する、請求項９に記載の画像処理装置。
【請求項１１】
前記対話手段は、抽出された各領域の範囲を示す枠を前記入力画像に重ねて表示する、請求項１〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうステップと、
前記入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付けるステップと、
前記抽出結果が適切ではないとの入力がされると、前記マッチング処理に用いるパラメータを最適化する処理を実行し、前記抽出結果が適切であるとの入力がされると、前記抽出された各領域についてのマッチング結果の成否に応じて、前記テンプレートを更新する処理を実行するステップとを備える、画像処理方法。
【請求項１３】
入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうステップと、
前記入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付けるステップと、
前記抽出結果が適切ではないとの入力がされると、前記マッチング処理に用いるパラメータを最適化する処理を実行し、前記抽出結果が適切であるとの入力がされると、前記抽出された各領域についてのマッチング結果の成否に応じて、前記テンプレートを更新する処理を実行するステップとを、コンピュータに実行させる画像処理プログラム。
【請求項１４】
入力画像に対して予め登録されたテンプレートに基づくマッチング処理を行なうマッチング処理手段と、
前記入力画像から前記テンプレートに一致するとして抽出された領域を示すとともに、前記領域が適切であるか否かについての入力を受付ける対話手段と、
前記領域が適切ではないとの入力がされると、前記マッチング処理に用いるパラメータを最適化する処理を実行し、前記領域が適切であるとの入力がされると、前記テンプレートを更新する処理を実行する、制御手段とを備える、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理をより適切に行なうことのできる画像処理装置、画像処理方法、画像処理プログラムに関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野においては、各種の画像処理技術が応用されている。例えば、ワークなどを撮像して得られた入力画像を用いて、ワークの大きさや位置などを計測する処理や、予め登録されたテンプレートに一致する位置または領域を探索する処理などが実行される。このような画像処理では、テンプレートの登録、撮像条件の設定、各種パラメータの設定などに経験が必要であり、知識の少ないユーザが適切な設定を行なうことが難しい場合も多い。そのため、例えば、特許文献１〜３に示すような、ユーザを支援する技術が提案されている。
【０００３】
特開２０１１−０７６５１７号公報（特許文献１）は、ティーチング機能を有する光学的情報読取装置においてユーザの用途に柔軟に対応し簡便に撮像条件を設定することができる光学的情報読取装置などを開示している。
【０００４】
特開２０１１−０７６５１９号公報（特許文献２）は、ティーチングの履歴を保持しておき、ティーチング履歴を用いて撮像条件を設定することができる光学的情報読取装置の設定方法などを開示している。
【０００５】
特開平１０−０２１３９３号公報（特許文献３）は、認識試行モード時にシステムが自動的にできることを採り入れて、操作者の判断を仰ぐべきことを最小限にすることで、複数のサンプルを提示しているにもかかわらず、従来と同程度かそれ以下の単純な操作で最適化が可能な画像処理装置などを開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０７６５１７号公報
【特許文献２】特開２０１１−０７６５１９号公報
【特許文献３】特開平１０−０２１３９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の光学的情報読取装置では、ユーザはティーチングテーブルを選択し、あるパラメータを優先的に変更しながら撮像条件を変化させて、複数回の撮像を行なって、撮像条件を決定する。特許文献１は、撮像条件をどのように変化させるのかについて明示的な記載はなく、撮像条件を決定するためには、ある程度の工数や経験が必要になると考えられる。
【０００８】
特許文献２に記載の光学的情報読取装置では、ユーザは、複数のティーチング履歴を用いて新たな撮像条件を設定することで、最適パラメータを決定する。特許文献２に記載の手法では、パラメータのみを調整することになるが、現実にはパラメータの調整だけでは十分の精度を得ることができない場合が多いと考えられる。
【０００９】
特許文献３に記載の画像処理装置では、画像モデルのデータの冗長性を加減したり、認識の失敗や信頼性の低下を検知して画像モデルを更新しながら再認識を行なう認識戦略の加減を行なったりすることで、最適なパラメータを決定する。特許文献３の手法では、モデル・戦略更新ルールを適切に決定する必要があり、このルールの決定にある程度の経験が必要になると考えられる。
【００１０】
経験や知識の少ないユーザであっても、登録されたテンプレートに基づくマッチング処理を適切に実行できるように調整するための手法が要望されている。
【課題を解決するための手段】
【００１１】
本発明のある局面に従う画像処理装置は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうマッチング処理手段と、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付ける対話手段と、抽出結果が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理を実行する、制御手段とを含む。
【００１２】
本発明の別の局面に従う画像処理方法は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうステップと、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付けるステップと、抽出結果が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理を実行するステップとを含む。
【００１３】
本発明のさらに別の局面に従う画像処理プログラムは、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうステップと、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付けるステップと、抽出結果が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理を実行するステップとをコンピュータに実行させる。
【００１４】
本発明のある局面に従う画像処理装置は、入力画像に対して予め登録されたテンプレートに基づくマッチング処理を行なうマッチング処理手段と、入力画像からテンプレートに一致するとして抽出された領域を示すとともに、領域が適切であるか否かについての入力を受付ける対話手段と、領域が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、領域が適切であるとの入力がされると、テンプレートを更新する処理を実行する、制御手段とを含む。
【発明の効果】
【００１５】
本発明によれば、経験や知識の少ないユーザであっても、登録されたテンプレートに基づくマッチング処理を適切に実行できるような調整を実現できる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態の画像処理装置を用いたアプリケーションの一例を示す模式図である。
【図２】本実施の形態の画像処理装置のハードウェア構成を示す模式図である。
【図３】本実施の形態の調整処理で生じ得るケース１に該当する画像例を示す図である。
【図４】本実施の形態の調整処理で生じ得るケース２に該当する画像例を示す図である。
【図５】本実施の形態の調整処理で生じ得るケース３に該当する画像例を示す図である。
【図６】本実施の形態における「類似度」および「安定度」の算出方法を示す模式図である。
【図７】本実施の形態の画像処理装置における調整処理の処理手順を示すフローチャートである。
【図８】入力画像に対する処理領域の指定の操作・表示例を示す図である。
【図９】入力画像に対する正解文字列の設定の操作・表示例を示す図である。
【図１０】初回のティーチングの操作・表示例を示す図である。
【図１１】文字の認識結果の表示例を説明するための図である。
【図１２】辞書登録の操作・表示例を示す図である。
【図１３】辞書登録後の認識結果の一例を示す図である。
【図１４】認識処理を実行中に表示される操作・表示例を示す図である。
【図１５】追加のティーチングに対する操作・表示例を示す図である。
【図１６】ティーチングの別の操作・表示例を示す図である。
【図１７】ティーチングの具体的な処理を説明するための模式図である。
【図１８】計測パラメータの詳細を設定するための操作表示画面の一例を示す図である。
【図１９】詳細パラメータを変更した場合の表示される内容の変化の一例を示す図である。
【図２０】計測パラメータの設定補助機能を実装した操作表示画面の一例を示す図である。
【図２１】認識結果の一例を示す図である。
【図２２】文字として連結または分離した方がよいと判断される部分を可視化した一例を示す図である。
【図２３】本実施の形態の画像処理装置の機能構成を示す模式図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１８】
本実施の形態の画像処理装置は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を含む各種のアプリケーションへの適用が可能である。本明細書において、「テンプレート」という用語は、マッチング処理のレファレンスとなる情報を包含する意味で用いる。すなわち、「テンプレート」は、マッチング処理のレファレンスとなる画像（以下、「モデル画像」とも称する。）そのもの、モデル画像を空間周波数領域に写像することで得られた画像、またはモデル画像を示す特徴量（例えば、輪郭、エッジ量、空間周波数など）などを含み得る。
【００１９】
以下、文字認識のアプリケーションについて説明する。
＜Ａ．アプリケーション例＞
図１は、本実施の形態の画像処理装置１００を用いたアプリケーションの一例を示す模式図である。図１を参照して、画像処理装置１００は、撮像部８を用いてコンベア１０上の一部の領域を撮像するとともに、当該撮像によって得られた画像（以下「入力画像」とも称す。）に対してマッチング処理を行なうことで、コンベア１０上を搬送される検出対象物（以下「ワークＷ」とも称す。）の表面に印字されている文字を認識し、その認識結果を出力する。
【００２０】
画像処理装置１００は、認識可能な文字毎に標準テンプレートを有しており、ワークＷに応じたテンプレートを事前登録することなく、文字認識処理を実行できる。標準テンプレートを、本明細書では「内蔵辞書」とも称する。標準テンプレートを用いた文字認識処理では、適切に認識できない文字がある場合には、その適切に認識できない文字についてのテンプレートを追加する。この追加登録されたテンプレートを、本明細書では「ユーザ辞書」とも称する。そして、何らかの文字についてテンプレートを追加登録することを、本明細書では「辞書登録」または「辞書カスタマイズ」とも称する。
【００２１】
＜Ｂ．画像処理装置１００のハードウェア構成＞
図２は、本実施の形態の画像処理装置１００のハードウェア構成を示す模式図である。図２を参照して、画像処理装置１００は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００２２】
画像処理装置１００は、表示部１０２と、入力部１０４と、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１１０と、主メモリ１１２と、ハードディスク１１４と、カメラインターフェイス１２０と、ネットワークインターフェイス１２２、メモリカードインターフェイス１２４を含む。これらの各部は、内部バス１０６を介して互いにデータ通信可能に接続される。
【００２３】
プロセッサ１１０は、ハードディスク１１４に格納された画像処理プログラム１１５を読出して、主メモリ１１２に展開して実行することで、本実施の形態の画像処理方法を実現する。表示部１０２には、画像処理の実行に伴う認識結果を含む結果出力が表示される。また、画像処理の実行により得られる認識結果の一部または全部は、ネットワークインターフェイス１２２を通じて、外部サーバなどへ出力されてもよい。
【００２４】
画像処理プログラム１１５は、例えば、メモリカード１２６などに格納された状態で流通する。この場合、メモリカードインターフェイス１２４を通じてメモリカード１２６に格納された画像処理プログラム１１５が読出されて、ハードディスク１１４へインストールされる。あるいは、画像処理プログラム１１５は、ネットワークインターフェイス１２２を通じて、外部サーバから配信されるように構成してもよい。
【００２５】
ハードディスク１１４には、画像処理プログラム１１５に加えて、内蔵辞書１１６と、ユーザ辞書１１７と、計測パラメータ１１８とが格納される。
【００２６】
汎用的なコンピュータアーキテクチャに従う構造を有する画像処理装置１００を利用する場合には、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、画像処理プログラム１１５は、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および／またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態の画像処理方法の実現に必要なモジュールの全てが画像処理プログラム１１５に含まれていなくともよく、必要なモジュールの一部がＯＳから提供されるような形態であってもよい。さらに、本実施の形態の画像処理プログラム１１５は、他のプログラムの一部に組み込まれて提供されるものであってもよい。
【００２７】
カメラインターフェイス１２０は、撮像部８による撮像によって得られる入力画像を受付ける。撮像部８は、典型的には、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった撮像素子を含んで構成される。図１および図２には、画像処理装置１００とは別に撮像部８が設けられ、撮像部８から画像処理の対象となる入力画像が提供される構成例を示すが、この構成に限られるものではない。例えば、画像処理装置１００と撮像部８とを一体的に構成し、撮像による入力画像の生成および画像処理の両方を一体的に実行するようにしてもよい。あるいは、各種の記憶媒体または通信媒体を介して、画像処理の対象となる入力画像を画像処理装置１００へ取り込むようにしてもよい。
【００２８】
代替的に、画像処理プログラム１１５の実行により提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００２９】
＜Ｃ．概要＞
本実施の形態の画像処理装置１００で実行される画像処理は、通常の認識処理と、当該認識処理の前段階の調整を行なうための調整処理とを含む。本実施の形態では、調整処理において、より適切な調整および設定をより簡単な手順で行なえるような機能を提供する。
【００３０】
本願発明者らは、調整処理における不具合を以下のケース１〜３に類型化し、いずれのケースに該当するのかを判断することで、ユーザを適切な手順に誘導できることを見出した。まず、類型化されたケース１〜３について説明する。
【００３１】
［ケース１］  文字の切出し結果が適切ではない場合
図３は、本実施の形態の調整処理で生じ得るケース１に該当する画像例を示す図である。図３（ａ）に示す入力画像では、その中に含まれる文字数は１０文字であるが、認識された文字数は９文字となっている。また、図３（ｂ）に示す入力画像では、左から２番目の３文字からなる文字列に対して認識された文字数は４文字となっており、一方、右端の３文字からなる文字列に対して認識された文字数は２文字となっている。
【００３２】
このように、１文字を２文字に分離したり、逆に２文字を１文字に連結して認識してしまったりする場合がある。このような誤認識の原因としては、計測パラメータが不適切であること、移動するワークに対する撮像条件が不適切であることなどが考えられる。
【００３３】
本実施の形態の調整処理では、まず、正解文字列または文字列フォーマットにより設定された文字数と切出された文字数とが一致するか否かを確認する。すなわち、文字の切出し結果が適切であるか否かを判断する。この文字の切出し結果が適切であるか否かの判断については、予め設定された正解文字列または文字列フォーマットに基づいて自動で判断してもよいが、文字の切出し結果をユーザへ提示した上で、文字の切出し結果が適切であるか否かを問い合わせてもよい。なお、例えば、製造年月日などを印字した文字列では、それに含まれる桁数が変化する場合（例えば、１月および１０月をそれぞれ「０１」および「１０」と印字するのか、あるいは「１」および「１０」と印字するのかといった違いがある場合）もあるため、ユーザが目視で確認することが好ましい。
【００３４】
文字の切出し結果が適切ではない場合には、追加のティーチングを実行するように、ユーザを誘導する。
【００３５】
本明細書において、「追加のティーチング」とは、先行の「ティーチング」の実行結果などの情報を参照して、「ティーチング」を再度実行することを意味し、調整処理の実行中に「追加のティーチング」が実行されることもあるし、通常の認識処理の実行中に不適切な認識結果が出力された場合に「追加のティーチング」が実行されることもある。
【００３６】
［ケース２］  文字の切出し結果は適切であるが、文字の認識結果が適切ではない場合
図４は、本実施の形態の調整処理で生じ得るケース２に該当する画像例を示す図である。図４に示す入力画像に対する認識結果では、その中に含まれる文字列の各文字を切出すことには成功しているが、認識結果に誤りがあり、「６８」という文字を「６６」と誤認識している。すなわち、文字の切出しは正確であるが、誤認識が生じている場合が示される。
【００３７】
典型的には、印字に用いられる文字フォントが特徴的であり、これによって、誤認識する場合や、一応認識はできているが、その認識結果の類似度や安定度が低く、認識が安定しない場合を生じ得る。
【００３８】
本実施の形態の調整処理では、このような文字の切出し結果により各文字を囲む矩形を適切に設定できているが、誤認識を生じる、あるいは生じる可能性が高い場合には、以下のような手順で、文字認識処理を安定化するための操作にユーザを誘導する。
【００３９】
より具体的には、文字列フォーマットに正解文字列が設定されている場合は、その正解文字列と認識結果とが一致するか否かを確認する。この一致の有無については、自動で判断できるが、認識結果をユーザへ提示した上で、認識結果が適切であるか否かを問い合わせてもよい。
【００４０】
このとき、文字認識処理が安定的に実行されているか否かを併せて判断してもよい。例えば、認識された各文字についてのテンプレートに対する類似度および安定度がそれぞれのしきい値以下であるか否かを判断する。いずれかの度合いがしきい値以下であれば、文字認識処理の安定性が低いと判断される。なお、切出された各文字を囲む矩形の大きさ（幅および高さ）が不揃いであるとか、隣接する文字に重なっているような場合も、文字認識処理の安定性が低いと判断してもよい。
【００４１】
上述のいずれかの判断において、認識結果が正解文字列と一致しない、または文字認識処理の安定性が低いと判断されると、文字認識処理を安定化させるために、辞書登録の操作にユーザを誘導する。
【００４２】
［ケース３］  ティーチングを繰返しても、適切な文字の切出し結果を得られない場合
図５は、本実施の形態の調整処理で生じ得るケース３に該当する画像例を示す図である。文字フォント自体の認識しづらさや、文字間のノイズ等の悪条件により、文字認識が極めて困難である場合も存在し得る。図５には、その一例を示す。このような場合には、ティーチングを繰返したとしても、目的の認識結果を得ることができない可能性が高い。このような場合には、入力画像を撮像し直し（あるいは、撮像条件の変更）や、手動での計測パラメータの調整などにユーザを誘導する。
【００４３】
より具体的には、ティーチングを繰返す上限値を予め設定しておき、繰返し回数がこの上限値に到達した場合には、入力画像の撮像しに進むようにユーザを誘導し、あるいは、計測パラメータの調整に進むようにユーザを誘導する。
【００４４】
本実施の形態の調整処理では、上述のケース１〜３を少なくとも想定して、通常の認識処理の実行に必要な条件や計測パラメータを適切に設定できるように、ユーザを支援する。概略すれば、本実施の形態の画像処理では、認識結果に応じて、計測パラメータの最適化、および、辞書登録のいずれが適切かをユーザへ提示する。
【００４５】
具体的には、文字認識処理を実行して得られる認識結果に含まれる文字数と、認識結果についての類似度を評価値とする、ティーチングを実行する。なお、評価値として、安定度を含めてもよい。そして、このティーチングの結果に基づいて、原因分析を行ない、以下の方針に従って原因を分類する。
【００４６】
まず、文字の切出し結果が適切であるか否かを判断する（ケース１）。切出し文字数や文字矩形のサイズなどに基づいて自動的に判断することもできるが、ユーザに切出し結果の成功／失敗を目視で確認させることが好ましい。文字の切出しが適切ではない場合には、計測パラメータを改善する必要があると判断できるので、追加のティーチングを実行するようにユーザを誘導する。追加のティーチングの実行においては、これまでに実行されたティーチングによって得られた計測パラメータが利用される。
【００４７】
これに対して、文字の切出し結果は適切であるが、誤読の発生有無を判断する（ケース２）。このとき、評価値である類似度または安定度の値がしきい値に対して低い場合には、誤読とみなしてもよい。誤読と判断される場合は、画像処理装置１００にとって読取にくい文字と考えられるため、辞書登録をするようにユーザを誘導する。但し、ティーチングの上限回数を超えても読取りが安定しない場合（ケース３）は、入力画像の撮り直しや、計測パラメータの手動での調整をユーザに促す。
【００４８】
なお、上述のような計測パラメータの調整および辞書登録を含む調整処理は、通常の認識処理の実行前に行なわれてもよいが、通常の認識処理の実行中に、何らかのＮＧが生じた場合も実行される。
【００４９】
この場合には、認識結果のＮＧの状況を評価値に基づいて判断し、画像処理装置１００側で原因分析を行なうことで、正しい文字認識ができるように有効な計測パラメータを自動的に最適化する。これに併せて、ユーザにその方法を提示する。つまり、原因分析後、計測パラメータの調整と辞書登録とのうちいずれが当該ワークにとって有効であるかを、ティーチングの結果に基づいてユーザに提示する。計測パラメータの調整と辞書登録とのうちいずれを用いるのかという判断においては、文字の切出し、誤読の有無、類似度および安定度などの値を用いる。
【００５０】
＜Ｄ．類似度および安定度＞
本実施の形態の画像処理において用いられる類似度および安定度について説明する。
【００５１】
本明細書において、「類似度」は、入力画像内の文字を示す部分画像（各文字を囲む矩形内の画像）と辞書（内蔵辞書またはユーザ辞書）内の文字モデル（すなわち、テンプレート）とがどれだけ似ているのかを示す評価値を意味する。すなわち、「類似度」は、辞書データと入力文字の特徴との比較から得られる評価値を意味する。
【００５２】
「安定度」は、入力画像内の文字に最も類似していると評価された文字モデル（第一候補）と、次に類似していると評価された文字モデル（第二候補）との間の類似度の差を示す。すなわち、「安定度」は、読取った文字の第一候補と第二候補との差を意味する。
【００５３】
図６は、本実施の形態における「類似度」および「安定度」の算出方法を示す模式図である。図６を参照して、入力画像内の各文字を示す部分画像２０と、各文字のテンプレートである文字モデルとの間で類似度が算出される。説明の便宜上、図６には、文字モデルを画像として示すが、各文字モデルの特徴量を保持するようにしてもよい。
【００５４】
部分画像２０と各文字モデルとの間の類似度は、図６に示すように算出される。図６に示す例では、部分画像２０は「９」を撮像したものであるので、文字モデル「９」との間の類似度が最も高くなっている。部分画像２０との間で次に類似度が高くなっているのは、文字モデル「３」である。ここで、最も高い類似度を類似度第一候補として設定し、次に高い類似度を類似度第二候補として設定する。
【００５５】
類似度第一候補の値である「８３」が類似度となり、対応する文字モデルが示す「９」が認識結果となる。また、類似度第一候補と類似度第二候補との間の差（この例では、８３−６８）である「１５」が安定度となる。
【００５６】
入力画像に含まれる文字（部分画像）の形状や状態によっては、文字が正しく認識されたとしても、類似度や安定度が低くなる場合がある。例えば、図６に示すように、「３」と「９」や、「８」と「６」といった、文字の構造が他の文字に比較的似ているような場合には、安定度が低くなる傾向がある。
【００５７】
このようにして算出された類似度および安定度がいずれも低い場合には、辞書登録が有効である。なお、経験上、類似度が高い場合には、安定度が相対的に低くても誤認識の可能性は低いといえる。
【００５８】
＜Ｅ．画像処理装置１００における調整処理手順＞
図７は、本実施の形態の画像処理装置１００における調整処理の処理手順を示すフローチャートである。図７に示す各ステップは、典型的には、プロセッサ１１０が画像処理プログラム１１５（いずれも図２）を実行することで実現される。
【００５９】
図７を参照して、画像処理装置１００は、入力画像を受付ける（ステップＳ１００）。ユーザは、任意のワークＷを撮像部８の視野内に配置し、撮像部８で撮像することで入力画像を生成できる。なお、調整処理においては、レファレンスとなるワークＷについての入力画像を生成することが好ましい。また、撮像部８以外の撮像手段を用いて生成された入力画像をネットワークまたはメモリカード１２６などの媒体を介して画像処理装置１００へ与えるようにしてもよい。
【００６０】
次に、画像処理装置１００は、入力画像に対して、ユーザによる処理領域の指定を受付ける（ステップＳ１０２）。処理領域とは、マッチング処理の対象となる領域を意味し、ユーザによって任意に指定される。続いて、画像処理装置１００は、正解文字列を用いるモードをユーザが選択したか否かを判断する（ステップＳ１０４）。画像処理装置１００で実行される調整処理では、正解文字列は必須ではない。正解文字列を用いるモードが選択されると、設定される正解文字列の情報を用いてティーチングを実行する。一方、正解文字列を用いないモードが選択されると、ユーザからの指示を用いてティーチングを実行する。正解文字列を用いるモードが選択された場合（ステップＳ１０４においてＹＥＳの場合）には、ステップＳ１１０以下の処理が実行され、正解文字列を用いるモードが選択されなかった場合（ステップＳ１０４においてＮＯの場合）には、ステップＳ１４０以下の処理が実行される。
【００６１】
ステップＳ１１０において、画像処理装置１００は、正解文字列および文字列フォーマットの少なくとも一方を受付ける（ステップＳ１１０）。正解文字列としては、入力画像に被写体として含まれるワークＷに印字等されている具体的な文字列（例えば、「ＡＢＣ」）が指定される。文字列フォーマットは、入力画像に被写体として含まれるワークＷに印字等されることになっている、文字種別および文字数が指定する情報（例えば、「Ａ＃＃」：ここで「＃」は任意の数字を示す。）である。正解文字列または文字列フォーマットを用いることで、画像処理装置１００で実行された文字認識処理の結果を評価することができ、この評価結果に基づいて、テンプレートおよび計測パラメータを最適化できる。
【００６２】
続いて、画像処理装置１００は、標準テンプレート（図２に示す内蔵辞書１１６）を用いて、入力画像に対して文字認識処理を実行する（ステップＳ１１２）。すなわち、画像処理装置１００は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なう。このとき、文字認識を行なうためのマッチング処理は、文字毎に登録されたテンプレートに基づいて、入力画像に含まれる文字毎に領域を抽出するとともに、各領域に含まれる文字を認識する処理を含むことになる。
【００６３】
このとき、画像処理装置１００は、計測パラメータについても最適化する。すなわち、画像処理装置１００は、ティーチングを実行して計測パラメータなどを決定する。
【００６４】
計測パラメータは、文字認識処理に必要な各種設定値を含み、例えば、認識対象の文字のフォントタイプ（捺印であるか、ドット印字であるか）、フォントの太さ、（ドット印字である場合の）ドット間隔、文字列の最大幅、文字列の高さの最大値／最小値、文字列の縦横比（文字アスペクト比）、文字列中のハイフンの高さなどを含む。
【００６５】
続いて、画像処理装置１００は、ステップＳ１１２の文字認識処理によって入力画像から各文字を切出した結果を表示するとともに、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせる（ステップＳ１１４）。すなわち、画像処理装置１００は、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付ける。言い換えれば、画像処理装置１００は、入力画像からテンプレートに一致するとして抽出された領域を示すとともに、領域が適切であるか否かについての入力を受付ける。
【００６６】
文字の切出し結果が適切ではないとユーザが指定した場合（ステップＳ１１４においてＮＯの場合）には、ステップＳ１１６〜Ｓ１２２の処理が実行され、文字の切出し結果が適切であるとユーザが指定した場合（ステップＳ１１４においてＹＥＳの場合）には、ステップＳ１３０およびＳ１３２の処理が実行される。すなわち、画像処理装置１００は、各領域の抽出結果が適切ではないとの入力がされると、マッチング処理に用いる計測パラメータを最適化する処理（ステップＳ１１６〜Ｓ１２２）を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理（ステップＳ１３０およびＳ１３２）を実行する。
【００６７】
ステップＳ１１８において、画像処理装置１００は、追加のティーチングを実行する（ステップＳ１１８）。追加のティーチングでは、認識結果の類似度などに基づいて、計測パラメータが再調整される。追加のティーチングでは、既に実行されているティーチングの結果が利用される。すなわち、画像処理装置１００は、抽出結果が適切ではないとの入力がされると、先に実行されたパラメータを最適化する処理の結果を利用して、パラメータを再度最適化する。言い換えれば、画像処理装置１００は、抽出された領域が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行する。
【００６８】
追加のティーチングによって再調整された計測パラメータに基づいて、画像処理装置１００は、入力画像に対して文字認識処理を実行し（ステップＳ１２０）、ステップＳ１１４以下の処理が再度実行される。
【００６９】
ステップＳ１１８の実行前に、画像処理装置１００は、ティーチングの繰返し回数が予め定められた上限値に到達したか否かを判断する（ステップＳ１１６）。ティーチングの繰返し回数が予め定められた上限値に到達していない場合（ステップＳ１１６においてＮＯの場合）には、ステップＳ１１８の処理が実行される。
【００７０】
これに対して、ティーチングの繰返し回数が予め定められた上限値に到達している場合（ステップＳ１１６においてＹＥＳの場合）には、入力画像を撮像し直すこと、あるいは、計測パラメータの手動調整をユーザへ通知し（ステップＳ１２２）、調整処理を中止する。すなわち、画像処理装置１００は、パラメータを最適化する処理を予め定められた上限値まで繰返しても、適切な抽出結果を得られないと、パラメータの手動調整、および、入力画像の変更の少なくとも一方をユーザへ促す。
【００７１】
ステップＳ１３０において、画像処理装置１００は、ステップＳ１１０において設定された正解文字列および文字列フォーマットに認識結果が適合しているか否かを判断する（ステップＳ１３０）。より具体的には、画像処理装置１００は、設定された正解文字列と認識された文字列とが完全に一致しているか否かを判断する。すなわち、画像処理装置１００は、入力画像に含まれる文字の正解文字列を受付けるとともに、当該文字の正解文字列と各領域についての文字の認識結果とを比較することで、マッチング結果の成否を判断する。
【００７２】
画像処理装置１００は、正解文字列と認識された文字列とが完全に一致している場合に、認識結果が適合していると判断する。また、画像処理装置１００は、認識された各文字についてのテンプレートに対する類似度および安定度の一方または両方が予め定められたしきい値を超えているか否かを判断する。画像処理装置１００は、類似度または安定度が予め定められたしきい値を超えている場合に、認識結果が適合していると判断する。
【００７３】
正解文字列および文字列フォーマットに認識結果が適合していないと判断された場合（ステップＳ１３０においてＮＯの場合）には、画像処理装置１００は、適合していないと判断された文字について、当該文字に対応する部分画像と当該文字の正解文字とを対応付けて、ユーザ辞書に登録する（ステップＳ１３２）。すなわち、画像処理装置１００は、文字の認識結果のうち文字の正解文字列とは一致しない文字に対応する部分画像をテンプレートとして追加する。言い換えれば、画像処理装置１００は、抽出された領域が適切であるとの入力がされると、テンプレートを更新する処理を実行する。
【００７４】
正解文字列および文字列フォーマットに認識結果が適合していると判断された場合（ステップＳ１３０においてＹＥＳの場合）、または、ステップＳ１３２の実行後、調整処理の実行を終了する。
【００７５】
ステップＳ１４０において、画像処理装置１００は、標準テンプレート（図２に示す内蔵辞書１１６）を用いて、入力画像に対して文字認識処理を実行する（ステップＳ１４０）。このとき、画像処理装置１００は、計測パラメータについても最適化する。
【００７６】
続いて、画像処理装置１００は、ステップＳ１４０の文字認識処理によって入力画像から各文字を切出した結果を表示するとともに、ユーザに対して、文字の認識結果が適切であるか否かを問い合わせる（ステップＳ１４２）。文字の認識結果が適切であるとユーザが指定した場合（ステップＳ１４２においてＹＥＳの場合）には、画像処理装置１００は、調整処理の実行を終了する。
【００７７】
これに対して、文字の認識結果が適切ではないとユーザが指定した場合（ステップＳ１４２においてＮＯの場合）には、画像処理装置１００は、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせる（ステップＳ１４４）。文字の切出し結果が適切ではないとユーザが指定した場合（ステップＳ１４４においてＮＯの場合）には、ステップＳ１１０以下の処理が実行される。これに対して、文字の切出し結果が適切であるとユーザが指定した場合（ステップＳ１４４においてＹＥＳの場合）には、画像処理装置１００は、文字列フォーマットの修正をユーザに対して促すとともに、ユーザから文字列フォーマットに対する修正を受付ける（ステップＳ１４６）。そして、調整の実行を終了する。
【００７８】
なお、図７に示すフローチャートでは、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせた後（ステップＳ１１４の後）、正解文字列および文字列フォーマットに認識結果が適合しているか否かを判断する（ステップＳ１３０）という処理手順を示した。しかしながら、正解文字列および文字列フォーマットが予め設定されている場合には、正解文字列および文字列フォーマットに認識結果が適合しているか否かを先に判断することもできる。このような場合において、正解文字列および文字列フォーマットに認識結果が適合していないと判断されると、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせることなく、自動的に追加のティーチングを開始してもよい。すなわち、画像処理装置１００は、抽出された各領域が予め設定された文字列フォーマットに適合しているか否かを判断するとともに、文字列フォーマットに適合していない場合には、ユーザからの入力を待つことなく、マッチング処理に用いるパラメータを最適化する処理を実行するようにしてもよい。
【００７９】
＜Ｆ．操作・表示例＞
本実施の形態の画像処理装置１００における調整における操作・表示例について、図７のフローチャートの対応するステップと関連付けて説明する。
【００８０】
図８は、入力画像に対する処理領域の指定の操作・表示例を示す図である。図９は、入力画像に対する正解文字列の設定の操作・表示例を示す図である。調整が開始されると、画像処理装置１００の表示部１０２には、図８（ａ）に示すような操作表示画面２００が表示される。操作表示画面２００には、入力画像２１０が表示されるとともに、処理領域を指定するためのエリア２３２が表示される。ユーザは、図８（ａ）に示す操作表示画面２００のエリア２３２に含まれる編集ボタンを選択することで、処理領域の形状を設定する。編集ボタンが選択されると、図８（ｂ）に示すような操作表示画面２００に遷移する。
【００８１】
図８（ｂ）の操作表示画面２００においては、指定する処理領域の形状を選択するエリア２３４と、処理領域を配置する入力画像中の位置を指定するエリア２３６とが表示される。ユーザは、エリア２３４に含まれるアイコンを操作して処理領域の形状を選択するとともに、入力画像２１０上でのドラッグ操作、エリア２３４に含まれる矢印ボタンへの操作、または入力ボックスに対する数値入力などを行なうことで、その選択した形状の処理領域のサイズおよび配置位置を指定する。図８の例では、処理領域の形状として長方形が選択されている。
【００８２】
このように、図８（ａ）および図８（ｂ）の操作表示画面２００において、ユーザは、入力画像２１０に対して処理領域２１２を指定する（図７のステップＳ１０２）。
【００８３】
処理領域の指定が完了すると、図９（ａ）の操作表示画面２００が表示される。図９（ａ）の操作表示画面２００には、入力画像２１０が表示されるとともに、計測パラメータを設定するためのエリア２２０と、文字列フォーマットを設定するためのエリア２３０とを含む。エリア２２０は、文字色を選択するためのラジオボタン２２１と、読取モードを選択するためのラジオボタン２２２と、ふち消し設定を有効化／無効化するためのチェックボックス２２３と、斜体補正を有効化／無効化するためのチェックボックス２２４と、回転補正を有効化／無効化するためのチェックボックス２２５とが選択可能に表示される。
【００８４】
エリア２２０は、ティーチングを開始するためのボタン２２６と、計測パラメータより詳細に設定するためのボタン２２８とが配置される。なお、ティーチングおよびティーチングの繰返し回数２２７を表示するようにしてもよい。
【００８５】
エリア２３０には、入力画像に含まれる文字列のフォーマットを設定することができる。図９（ａ）の例では、４行分のフォーマットを設定できるようになっている。この文字列フォーマットにおいては、任意の数字を示す「＃」や、任意の英数字を示す「＄」などを含む正規表現を用いることができる。
【００８６】
ユーザが図９（ａ）の操作表示画面２００のボタン２２６を選択すると、ティーチングが開始される。より具体的には、図９（ｂ）に示すように、正解文字列を設定するための入力ダイアログ２４０が表示される。入力ダイアログ２４０は、行毎に正解文字列を設定するための入力ボックス２４２と、正解文字列を用いるモードを選択するためのチェックボックス２４６とを含む。
【００８７】
チェックボックス２４６がチェックされると、正解文字列を用いないモードが選択されたとみなされる（図７のステップＳ１０４においてＮＯに相当）。
【００８８】
これに対して、チェックボックス２４６がチェックされず（図７のステップＳ１０４においてＹＥＳに相当）、ユーザが、入力ボックス２４２に正解文字列を設定し（図７のステップＳ１１０）、計測結果を反映するためのボタン２４４を選択すると、入力画像２１０（の処理領域２１２）に対して文字認識処理が実行される（図７のステップＳ１１２）。すなわち、初回のティーチングが実行される。
【００８９】
つまり、ユーザは、処理領域２１２の指定および正解文字列を設定といった事前設定を行なって、文字認識処理を実行する。これによって、初回のティーチングが実行される。
【００９０】
図１０は、初回のティーチングの操作・表示例を示す図である。初回のティーチングを含む文字認識処理が実行されると、入力画像２１０に設定された処理領域２１２の部分画像に最適な計測パラメータが決定される。
【００９１】
図１０（ａ）および図１０（ｂ）に示すように、処理領域２１２には、認識結果（認識された文字）と、文字の切出し結果として各文字を囲む矩形と、各認識された文字についての類似度および安定度とが表示される。
【００９２】
図１０（ａ）に示すように、文字認識処理の実行後、画像処理装置１００は、文字認識処理によって入力画像から各文字を切出した結果を表示するとともに、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせる。すなわち、操作表示画面２００上には、「文字切出しは正しいですか？」というダイアログ２５０が表示される（図７のステップＳ１１４）。ユーザは、文字の切出し結果が適切である場合には、ダイアログ２５０の「ＯＫ」のボタン２５２を選択する（図７のステップＳ１１４においてＹＥＳの場合に相当）。すると、操作表示画面２００は、図１０（ｂ）に示すような内容に遷移する。
【００９３】
一方、ユーザは、文字の切出し結果が適切ではない場合には、ダイアログ２５０の「キャンセル」のボタン２５４を選択する（図７のステップＳ１１４においてＮＯの場合に相当）。例えば、切出された文字を示す矩形が１文字１文字に一致していないような場合は、ユーザは、「キャンセル」のボタン２５４を選択する。すると、文字認識処理、つまりティーチングが再度実行される。
【００９４】
画像処理装置１００は、最初に、各文字の切出しが意図されたとおりに行なわれているかをユーザに確認する。なお、ユーザに判断を仰いでいる例を示すが、画像処理装置１００で自動的に判断するようにしてもよい。
【００９５】
図１１は、文字の認識結果の表示例を説明するための図である。図１１を参照して、切出された文字毎に、認識結果２１３と、各文字を囲む矩形２１４と、類似度２１５と、安定度２１６とが表示される。
【００９６】
各文字を囲む矩形２１４は、抽出された各領域の範囲を示す枠に相当し、入力画像に重ねて表示される。また、矩形２１４については、入力画像とは輝度や彩度が異なる態様で表示することが好ましく、さらに点滅表示などを用いてもよい。なお、矩形２１４に代えて、あるいはそれに加えて、抽出された各領域の範囲を示す座標値などを表示するようにしてもよい。
【００９７】
すなわち、画像処理装置１００におけるマッチング処理においては、抽出された各領域に含まれる部分画像と１または複数のテンプレートとの間の一致度合いである類似度がそれぞれ算出される。そして、画像処理装置１００は、抽出された各領域について、最も高い類似度の値を各領域に対応付けて出力するとともに、最も高い類似度の値と次に高い類似度の値との差である安定度の値を各領域に対応付けて出力する。
【００９８】
但し、表示項目および表示位置については、図１１に示す態様に限られない。入力画像から認識された文字のうち、正解文字列の対応する文字と一致していないものと一致していないものとを区別するために、その表示態様を異ならせてもよい。例えば、正解文字列の対応する文字と一致していない文字については、その認識結果を「赤色」で表示するとともに、一致している文字については、その認識結果を「緑色」で表示するようにしてもよい。すなわち、画像処理装置１００は、文字の認識結果を抽出された各領域に対応付けて表示するとともに、文字の認識結果のうち文字の正解文字列とは一致しない文字を、文字の正解文字列とは一致している文字とは異なる態様で表示する。
【００９９】
また、類似度および安定度のそれぞれについても、対応するしきい値との大小関係に基づいて、表示態様を異ならせてもよい。例えば、類似度または安定度のうち、予め設定されたしきい値を超えているものについては、その値を「緑色」で表示し、文字認識処理が安定していることをユーザへ通知するようにしてもよい。一方、類似度または安定度のうち、予め設定されたしきい値以下であるものについては、その値を「赤色」で表示し、文字認識処理が不安定になっていることをユーザへ通知するようにしてもよい。あるいは、類似度または安定度の大きさに応じて色を異ならせるグラデーション表示を行なってもよい。
【０１００】
再度図１０に戻って、画像処理装置１００は、続いて、予め設定された正解文字列および文字列フォーマットに認識結果が適合しているか否かを判断する。画像処理装置１００は、認識結果が適合していないと判断すると（ステップＳ１３０においてＮＯの場合に相当）、図１０（ｂ）に示すような、ユーザ辞書の登録へユーザを誘導するためのダイアログ２５０が表示される。すなわち、操作表示画面２００上には、「次の文字を辞書に登録します：Ｎ」というダイアログ２６０が表示される。図１０に示す例では、文字の切出し結果が適切であるが、処理領域２１２内の文字「Ｎ」を「Ｈ」と誤認識しているので、画像処理装置１００は、対象の部分画像を文字「Ｎ」として認識するための辞書登録を行なうことをユーザに薦める。
【０１０１】
ユーザがダイアログ２６０の「ＯＫ」のボタン２６２を選択すると、画像処理装置１００は、文字「Ｎ」に対応する部分画像と当該文字の正解文字とを対応付けて、ユーザ辞書に登録する（図７のステップＳ１３２）。すなわち、ユーザ辞書に対象文字が自動的に登録される。なお、ユーザがダイアログ２６０の「キャンセル」のボタン２６４を選択すると、辞書登録は行なわれない。
【０１０２】
図１２は、辞書登録の操作・表示例を示す図である。より具体的には、図１２に示す操作表示画面２０２は、ユーザ辞書の登録内容を示す。図１０に示す誤認識の結果に対して、図１２に示すようなユーザ辞書に、入力画像２１０から抽出された部分画像が文字「Ｎ」の画像として登録される。操作表示画面２０２は、文字毎に登録されている画像の数を一覧表示するエリア２０４を含む。
【０１０３】
図１３は、辞書登録後の認識結果の一例を示す図である。図１２に示すような辞書登録が行なわれると、図１３に示すように正しい認識結果が表示される。図１３の操作表示画面２００において、入力画像２１０に対して設定された処理領域２１２内の文字が適切に認識されていることが判る。つまり、図１０と図１３とを比較すると、辞書登録によって、入力画像２１０中の「Ｎ」の文字が正しく認識されるようになっていることが判る。
【０１０４】
以上のような手順によって、調整処理が完了する。このような調整処理によって最適化された計測パラメータやユーザ辞書を用いて、通常の認識処理が実行される。通常の認識処理の実行中において、何らかのワークＷに対する認識結果に誤りが生じた場合や、認識結果の安定度が予め定められたしきい値を下回った場合などに、追加のティーチングが実行される。
【０１０５】
図１４は、認識処理を実行中に表示される操作・表示例を示す図である。図１４に示す操作表示画面２０８では、安定度が予め定められた値より低いため、「安定度ＮＧ」と判断されている。画像処理装置１００では、このような認識処理を実行中でも、追加のティーチングが可能になっている。すなわち、初回のティーチングによって最適化された計測パラメータを用いて文字認識処理を実行中に、何らかのワークＷで読取ＮＧになってしまった場合に追加のティーチングを実行することができる。
【０１０６】
図１５は、追加のティーチングに対する操作・表示例を示す図である。初回のティーチングを含む文字認識処理が実行されると、入力画像２１０に設定された処理領域２１２の部分画像に最適な計測パラメータが決定される。図１５（ａ）に示すように、追加のティーチングにおいても、初回のティーチングと同様に、正解文字列を設定するための入力ダイアログ２４０が表示される。ユーザが入力ボックス２４２に正解文字列を設定し、計測結果を反映するためのボタン２４４を選択すると、読取ＮＧになってしまった入力画像を用いて追加のティーチングが実行される。
【０１０７】
さらに、図１５（ｂ）に示すように、画像処理装置１００は、追加のティーチングによって調整された計測パラメータを用いた文字認識処理によって入力画像から各文字を切出した結果を表示するとともに、ユーザに対して、文字の切出し結果が適切であるか否かを問い合わせる。図１５（ｂ）に示す例では、追加のティーチングによって計測パラメータを調整することで、適切な認識結果が得られている。すなわち、読取ＮＧになってしまった入力画像に対して、追加のティーチングが成功している。なお、追加のティーチングがうまくいかない場合には、上述の初回のティーチングに関して説明したように、辞書登録の操作に誘導されることになる。
【０１０８】
以上のような再ティーチングによって調整された後の計測パラメータを用いて、認識処理が継続される。
【０１０９】
なお、図１５（ｂ）のエリア２２０の繰返し回数２２７の欄には、ティーチングの繰返し回数が表示されている。画像処理装置１００は、実行されるティーチングが初回であるのか、追加（すなわち、２回目以降）であるのかについての情報を内部的に保持しており、追加のティーチングである場合には、先行のティーチングの実行結果などの情報が参照される。
【０１１０】
なお、ティーチング（文字認識処理）の結果を２値化した上で表示してもよい。図１６は、ティーチングの別の操作・表示例を示す図である。図１６（ａ）に示すように、ユーザが入力ダイアログ２４０上で正解文字列を設定すると、ティーチング（文字認識処理）が実行され、その結果が図１６（ｂ）に示すような態様で表示される。図１６（ｂ）に示すような２値化した態様でティーチング（文字認識処理）の結果を表示することで、ユーザは、文字の認識結果をより容易に確認することができる。
【０１１１】
＜Ｇ．ティーチングの具体的処理＞
上述のティーチングの具体的な処理例について説明する。図１７は、ティーチングの具体的な処理を説明するための模式図である。図１７には、初回のティーチングおよび追加のティーチングを一連の処理中に併せて実行する例を示すが、初回のティーチングと追加のティーチングとは独立したタイミングで実行することもできる。
【０１１２】
図１７を参照して、初回のティーチングでは、１枚の入力画像（ティーチング用の画像）から最適な計測パラメータを探索する。これに対して、追加のティーチングでは、１枚目の入力画像に加えて、別の入力画像を用いて、文字認識処理をより安定できる計測パラメータを選定する。
【０１１３】
具体的には、初回のティーチングでは、まず、（１）パラメータ候補を抽出する。具体的には、全ての計測パラメータを変動させて文字認識を繰返し、評価値として、類似度の平均値が高く、かつ正解数文字数が多い上位パラメータの組を候補に設定する。このとき、全ての計測パラメータとしては、文字高さ、文字アスペクト比、ドット間隔（横）、ドット間隔（縦）、太さレベル、文字幅などを含む。
【０１１４】
続いて、（２）（１）の処理において抽出された上位パラメータの組について、特定の計測パラメータについて再度変動させて最もロバストになる計測パラメータを探索する。特定のパラメータとしては、文字高さ、ドット間隔（横）、ドット間隔（縦）といった、文字認識の安定度への影響が相対的に大きなパラメータが変動対象とされる。
【０１１５】
以上の（１）および（２）の処理によって、最適化された計測パラメータが決定される。この決定された計測パラメータによる文字認識処理の結果に基づいて、計測パラメータをさらに調整する必要があると判断されると、追加のティーチングが実行される。
【０１１６】
追加のティーチングでは、（３）最初のティーチングで最終決定した特定パラメータの値を継承した上で、残りの計測パラメータについて文字認識がより安定する値を選定する。すなわち、（２）の処理において決定した、文字高さ、ドット間隔（横）、ドット間隔（縦）といった計測パラメータの値を継承した上で、別の入力画像を用いたティーチングを行ない、文字太さや文字アスペクト比といった残りの計測パラメータについて再度変動させて最もロバストになる計測パラメータを再選定する。
【０１１７】
なお、追加のティーチングは、必要なタイミングに応じて、適宜繰返される。
＜Ｈ．計測パラメータの調整支援機能＞
計測パラメータの調整を支援するために、計測パラメータを数値で表示することに加えて、その内容を可視化することが好ましい。このような可視化によって、ユーザによる計測パラメータの調整を支援する。
【０１１８】
（ｈ１：詳細パラメータの調整および可視化）
上述したように、ティーチングを繰返しても適切な文字の切出し結果を得られない場合には、手動での計測パラメータの調整などにユーザを誘導する。計測パラメータをより詳細の設定することになるが、この計測パラメータの調整を支援するために、以下のような可視化を行なってもよい。
【０１１９】
図１８は、計測パラメータの詳細を設定するための操作表示画面の一例を示す図である。図１８の操作表示画面２００は、入力画像２１０が表示されるとともに、計測パラメータをより詳細に設定するためのエリア２７０を含む。エリア２７０は、計測パラメータの詳細パラメータを設定するための、フォントタイプを選択するラジオボタン２７１と、フォントの太さレベルを設定する入力ボックス２７２と、ドット印字が選択された場合のドット間隔（横および縦）をそれぞれ設定する入力ボックス２７３および２７４と、最大文字幅設定を有効化／無効化するためのチェックボックス２７５と、文字幅の最大値を設定する入力ボックス２７６と、文字高さの最大値および最小値をそれぞれ設定する入力ボックス２７７および２７８と、文字の横縦比（文字アスペクト比）を設定する入力ボックス２７９と、文字列中のハイフンの高さを設定する入力ボックス２８０とを含む。
【０１２０】
これらの詳細パラメータと実際の認識結果との対応関係を一見して把握できるように、入力画像２１０に対して設定される処理領域２１１には、認識結果に加えて、詳細パラメータに関連付けられた支援表示がなされる。すなわち、文字認識に関する詳細パラメータを数値だけではなく、内部的な処理を疑似的に可視化できる表示機能を提供することが好ましい。
【０１２１】
図１８に示される処理領域２１１では、認識された各文字を囲む矩形２１１１の大きさが、入力ボックス２７６に設定される文字幅最大の値、および、入力ボックス２７７に設定される文字高さ最大の値を示す。すなわち、矩形２１１１の横幅が文字幅最大の値を示し、矩形２１１１の縦幅が文字高さ最大の値を示す。
【０１２２】
また、認識された２値化後の各文字に重ねて、グレイスケールの像２１１２が表示される。像２１１２が、入力ボックス２７２に設定される太さレベルの値、入力ボックス２７３に設定されるドット間隔（横）の値、および入力ボックス２７４に設定されるドット間隔（縦）の値を示す。すなわち、像２１１２は、太さレベルの値、ドット間隔（横）およびドット間隔（縦）で規定される範囲を示す。
【０１２３】
矩形２１１１および像２１１２が認識結果に重ねて表示されることで、ユーザは、現在設定されている詳細パラメータの妥当性や安定性などを一見して把握することができる。
【０１２４】
図１９は、詳細パラメータを変更した場合の表示される内容の変化の一例を示す図である。図１９には、図１８の入力ボックス２７２に設定される太さレベルの値を変化させた例を示す。「太さレベル」という計測パラメータは、２値化のしきい値に連動する計測パラメータであり、値を−１２８〜１２８の範囲で設定することができる。
【０１２５】
図１９（ａ）には、太さレベルを「−１２８」にした場合の例を示し、図１９（ｂ）には、太さレベルを「＋１２８」にした場合の例を示す。このように、２値化のしきい値を変化させることで、文字認識処理の結果は異なったものとなり、これを計測パラメータの変化に連動させて可視化することで、ユーザは、計測パラメータの設定が妥当であるか否かを容易に判断できる。
【０１２６】
なお、ドット間隔（横）およびドット間隔（縦）は、黒画素を、横方向および縦方向にそれぞれ連結させて、１つの文字としてつなげる上で調整が必要になる。
【０１２７】
図１８および図１９に示すように、詳細パラメータの内容を可視化した状態を提示することで、ユーザが詳細パラメータを手動で調整し、計測パラメータの各々を設定する際の一助になる。
【０１２８】
（ｈ２：計測パラメータの設定補助）
計測パラメータを手動で調整する場合には、入力画像の状態によっていずれの計測パラメータを調整すべきであるかが判らない場合も多い。そこで、計測パラメータの設定補助の機能として、認識された文字と、各計測パラメータの値とを比較することで、いずれの計測パラメータを調整するのが有効かをユーザにアドバイスするようにしてもよい。
【０１２９】
図２０は、計測パラメータの設定補助機能を実装した操作表示画面２００の一例を示す図である。図２０に示す操作表示画面２００において、「パラメータ設定補助」のチェックボックス２８４がチェックされることで、設定補助機能が有効化される。すなわち、ユーザによる計測パラメータの手動調整を支援機能は、「パラメータ設定補助」のチェックボックス２８４のチェックがトリガーとされる。
【０１３０】
例えば、認識された各文字を囲む矩形と、図１８および図１９に示すような計測パラメータ認識された各文字を囲む矩形２１１１とを比較して、以下のような支援を行なってもよい。
【０１３１】
図２０に示す例では、認識されている実際の文字の高さに対して、設定されている矩形の高さが大きすぎる。そこで、「『文字高さ最大』のパラメータを実際の文字の高さまで下げて下さい」といったメッセージをユーザへアドバイスすることができる。
【０１３２】
また、文字の途切れや太くなりすぎといった状態を検出することで、「太さレベル」、「ドット間隔（横）」、「ドット間隔（縦）」のうちいずれかの計測パラメータを調整するようにアドバイスすることもできる。併せて、テンプレートとなる文字を保持しておき、認識された文字とマッチングさせることで、途切れ部分や、太くなりすぎている部分を色で表示することが好ましい。
【０１３３】
さらに、現在設定されている計測パラメータに対して、微小変動させることで得られる最適値を表示するようにしてもよい。
【０１３４】
（ｈ３：文字形状の調整および可視化）
上述したように、ティーチングにより計測パラメータ処理を最適化するとともに、この最適化された計測パラメータに従って実行された文字認識の結果を可視化して表示することができる。
【０１３５】
図２１は、認識結果の一例を示す図である。例えば、図２１に示すように、文字認識の結果は、文字らしく形作られて表示されることになる。一方で、画像として見たときに、もう少し文字として連結または分離させることで、場合によっては、計測パラメータをより好ましい値に決定できる可能性がある。例えば、図２１の印２９２でそれぞれ囲まれる部分である。さらに好ましい状態の計測パラメータをユーザが手動で調整する場合の支援機能として、文字として連結または分離した方がよいと判断される部分を可視化するとことが好ましい。
【０１３６】
図２２は、文字として連結または分離した方がよいと判断される部分を可視化した一例を示す図である。図２２に示される処理領域２１１には、文字内の連結が途切れている状態の部分が印２９４で提示されている。認識結果である認識された文字毎に対応する矩形のそれぞれについてラベリングを行なうことで、文字内の連結が途切れていることが検出される。すなわち、出力結果文字の矩形毎でラベリングし、連結できていない部分を着色して表示する。
【０１３７】
この可視化によって、ユーザは、字として連結または分離した方がよいと判断される部分を一見して把握することができる。つまり、文字としてつながっているべきところが離れている場合に、その場所の表示態様を異ならせることで、ユーザへ注意喚起する。逆に、文字として離れているべきところがつながっている場合に、その場所の表示態様を異ならせることで、ユーザへ注意喚起する。
【０１３８】
併せて、文字内での連結をするために、いずれの計測パラメータを調整すべきかについて、ユーザへ提示してもよい。例えば、図２２に示す例では、「太さレベルの数値を少し上げて下さい」といったメッセージまたは音声を出力してもよい。このような支援機能によって、文字認識処理をより安定化することができる。
【０１３９】
＜Ｉ．機能ブロック＞
図２３は、本実施の形態の画像処理装置１００の機能構成を示す模式図である。図２３に示す各モジュールは、典型的には、プロセッサ１１０が画像処理プログラム１１５（いずれも図５）を実行することで実現される。
【０１４０】
図２３を参照して、画像処理装置１００は、その機能構成として、画像入力部１５０と、処理領域抽出部１５２と、正解受付部１５４と、パラメータ最適化部１５６と、ティーチング制御部１５８と、前処理部１６６と、文字切出し部１６８と、文字認識部１７０と、フォーマット整合部１７２と、結果出力部１７４とを含む。また、画像処理装置１００は、計測パラメータ１６２および文字列フォーマット１６４を格納するための変数格納部１６０と、内蔵辞書１１６およびユーザ辞書１１７を格納するための辞書格納部１７６とを含む。典型的には、変数格納部１６０については、画像処理装置１００の主メモリ１１２（図２）などの少なくとも一部を用いて提供され、辞書格納部１７６については、画像処理装置１００のハードディスク１１４（図２）などの少なくとも一部を用いて提供される。
【０１４１】
先に、通常の認識処理における各部の動作について説明する。
画像入力部１５０は、撮像部８（図２）などから入力画像を受付ける。処理領域抽出部１５２は、ユーザからの処理領域の指定を受付けて、入力画像の処理領域に対応する部分画像を前処理部１６６へ出力する。前処理部１６６は、処理領域抽出部１５２からの部分画像に対して、計測パラメータ１６２に従って前処理を実行し、その前処理後の画像を文字切出し部１６８へ出力する。文字切出し部１６８は、計測パラメータ１６２に従って、前処理部１６６からの画像に含まれる各文字に対応する領域を特定する。
【０１４２】
文字認識部１７０は、内蔵辞書１１６およびユーザ辞書１１７を参照して、文字切出し部１６８によって特定された各領域の文字を認識する。すなわち、文字認識部１７０は、入力画像に対して予め登録された１または複数のテンプレートに基づくマッチング処理を行なうマッチング処理部に相当する。
【０１４３】
フォーマット整合部１７２は、文字認識部１７０によって認識された文字列が予め設定されている文字列フォーマット１６４に整合しているかを判断する。フォーマット整合部１７２は、整合していれば、認識された文字列を結果出力部１７４へ出力し、整合していれば、読取ＮＧを結果出力部１７４へ出力する。結果出力部１７４は、フォーマット整合部１７２からの出力を用いて、表示部１０２上に結果出力を含む操作表示画面を出力する。
【０１４４】
次に、調整処理における各部の動作について説明する。
画像入力部１５０は、ティーチングに用いられる入力画像を受付ける。
【０１４５】
処理領域抽出部１５２は、ユーザからの処理領域の指定を受付ける。正解受付部１５４は、ユーザから正解文字列および文字列フォーマットを受付ける。これらの情報は、いずれか一方だけの場合もある。ユーザにより設定された文字列フォーマットは、変数格納部１６０の文字列フォーマット１６４として格納される。パラメータ最適化部１５６は、上述の図１７を用いて説明した処理に従って、計測パラメータを最適化する。最適化された計測パラメータは、変数格納部１６０の計測パラメータ１６２として格納される。すなわち、処理領域抽出部１５２、正解受付部１５４、およびパラメータ最適化部１５６は、入力画像からいずれかのテンプレートに一致するとして抽出された各領域の範囲を示す結果を出力するとともに、各領域についての抽出結果が適切であるか否かについての入力をユーザから受付ける対話部に相当する。
【０１４６】
ティーチング制御部１５８は、パラメータ最適化部１５６による計測パラメータの最適化、および辞書登録の処理を制御する。すなわち、ティーチング制御部１５８は、抽出結果が適切ではないとの入力がされると、マッチング処理に用いるパラメータを最適化する処理を実行し、抽出結果が適切であるとの入力がされると、抽出された各領域についてのマッチング結果の成否に応じて、テンプレートを更新する処理を実行する、制御部に相当する。
【０１４７】
＜Ｊ．別アプリケーション＞
上述の実施の形態においては、予め登録された１または複数のテンプレートに基づくマッチング処理の一例として、文字認識処理について説明したが、これらに限らず、パターンマッチング処理などにも適用できる。
【０１４８】
例えば、複数のワークを撮像して得られた入力画像に対して、当該ワークが存在する領域および数を特定するようなパターンマッチング処理などに適用できる。この場合のティーチングとしては、入力画像内に存在するワークの数を正解文字列として、対象のテンプレートを用いて計測パラメータを最適化する。そして、ティーチングにより計測パラメータを最適化できれば、それを最終結果として用いることとし、ティーチングを上限値まで繰返しても、最適な計測パラメータを決定できなければ、テンプレートの作成し直し、入力画像の撮像し直し（あるいは、撮像条件の変更）、あるいは、手動での計測パラメータの調整などにユーザを誘導する。
【０１４９】
このように、本発明に係る基本的な技術思想は、各種のマッチング処理へ適用できることは自明である。
【０１５０】
＜Ｋ．結論＞
本実施の形態の画像処理装置１００によれば、経験や知識の少ないユーザであっても、登録されたテンプレートに基づくマッチング処理を適切に実行できるような調整を実現できる。
【０１５１】
より具体的な事例として、上述したような文字認識処理を用いた文字読取検査では、処理前に初期設定（ティーチング）を行ない、調整済の計測パラメータを用いて検査を開始する必要がある。文字読取検査の運用中に、何らかのワークについて読取ＮＧが発生すると、その原因を分析し、計測パラメータを再度調整し直さなくてはいけない。計測パラメータの調整には多くの工数を要し、経験のないまたは少ないユーザには大きな負担になる。これに対して、本実施の形態の画像処理装置１００は、読取実行中に生じた読取ＮＧの原因を自動的に分析し、その要因に応じた適切な対処、すなわち計測パラメータの再ティーチングまたは辞書登録のうちより適切なものへユーザを誘導する。
【０１５２】
このように、読取実行中に読取ＮＧが生じた場合であっても、どのようにしたらその不具合を解消できるのかが案内されるので、ユーザは、迷うことなく必要なアクションをとることができ、調整および設定に係る工数を低減できる。併せて、経験や知識の少ないユーザであっても適切な調整および設定ができる。
【０１５３】
このような支援機能を導入することで、文字認識処理に必要な調整の操作性を向上させ、ライン構築時の設定工数を削減できる。
【０１５４】
また、本実施の形態において、追加で実施されるチューニングは、既に実行されているチューニングの結果を利用するので、より適切な計測パラメータを決定できる。本願発明者らの実験によれば、実際の文字読取検査において、本実施の形態の追加のティーチングを導入することで、初回のティーチングだけでは、読取性能が７０％台であったものが、９０％台に改善させることができた。
【０１５５】
また、経験や知識の少ないユーザにとってみれば、計測パラメータの数値だけでは、実際の処理に対する良し悪しの判断が難しい。これに対して、本実施の形態の画像処理装置では、計測パラメータの状態を視覚化してユーザへ提示するので、経験や知識の少ないユーザにであっても、計測パラメータの良し悪し、およびいずれの方向に調整すべきかを一見して把握することができる。
【０１５６】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１５７】
８  撮像部、１０  コンベア、２０  部分画像、１００  画像処理装置、１０２  表示部、１０４  入力部、１０６  内部バス、１１０  プロセッサ、１１２  主メモリ、１１４  ハードディスク、１１５  画像処理プログラム、１１６  内蔵辞書、１１７  ユーザ辞書、１１８，１６２  計測パラメータ、１２０  カメラインターフェイス、１２２  ネットワークインターフェイス、１２４  メモリカードインターフェイス、１２６  メモリカード、１５０  画像入力部、１５２  処理領域抽出部、１５４  正解受付部、１５６  パラメータ最適化部、１５８  ティーチング制御部、１６０  変数格納部、１６４  文字列フォーマット、１６６  前処理部、１６８  文字切出し部、１７０  文字認識部、１７２  フォーマット整合部、１７４  結果出力部、１７６  辞書格納部、Ｗ  ワーク。
【図１】
2015176267.tif 000003
【図２】
2015176267.tif 000004
【図７】
2015176267.tif 000005
【図１７】
2015176267.tif 000006
【図２３】
2015176267.tif 000007
【図３】
2015176267.tif 000008
【図４】
2015176267.tif 000009
【図５】
2015176267.tif 000010
【図６】
2015176267.tif 000011
【図８】
2015176267.tif 000012
【図９】
2015176267.tif 000013
【図１０】
2015176267.tif 000014
【図１１】
2015176267.tif 000015
【図１２】
2015176267.tif 000016
【図１３】
2015176267.tif 000017
【図１４】
2015176267.tif 000018
【図１５】
2015176267.tif 000019
【図１６】
2015176267.tif 000020
【図１８】
2015176267.tif 000021
【図１９】
2015176267.tif 000022
【図２０】
2015176267.tif 000023
【図２１】
2015176267.tif 000024
【図２２】
2015176267.tif 000025