(58)【調査した分野】(Int.Cl.,DB名)
前記第2指定手段は、設定されている文字フォーマットを表示するとともに、指定可能な複数の文字種別にそれぞれ関連付けられた複数のオブジェクトを表示し、いずれかのオブジェクトの選択に応答して、選択されたオブジェクトに関連付けられた文字種別を文字フォーマットに追加する、請求項1〜4のいずれか1項に記載の画像処理システム。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0021】
[A.画像処理システムの装置構成]
まず、本実施の形態に係る画像処理システムの装置構成について説明する。
図1は、本実施の形態に係る画像処理システム1の全体構成を示す外観図である。
図2は、本実施の形態に係る画像処理システム1の機能的構成を示す模式図である。
【0022】
図1を参照して、本実施の形態に係る画像処理システム1は、例えば、生産ラインなどに組込まれる。
図1に示す画像処理システム1は、その一つの機能として、入力画像から文字情報を取得する。より具体的には、視覚センサ200は、対象物(後述の「ワーク2」)を撮像することで得られる入力画像に対して文字認識を実行することで、入力画像から文字情報を取得する機能を有する。特に、視覚センサ200は、予め定められた文字フォーマットに従って文字認識を実行する。この文字認識の結果として、テキストデータを出力するようにしてもよい。
【0023】
本明細書において、「文字フォーマット」は、文字認識の実行にあたって、認識候補をより限定するための条件である。典型的には、文字フォーマットは、認識対象の文字別に文字種別の指定(英数字、英文字、数字文字、記号文字、特殊文字、漢字、ひらがな、カタカナなど)、特定文字の指定(アルファベットの各文字「A」,「B」,…、記号の各文字「’」,「−」,…、ひらがなの各文字「あ」,「い」,…、カタカナの各文字「ア」,「イ」,…)、フォント種別の指定、文字サイズ(フォントサイズ)の指定などを含む。このような文字フォーマットを予め指定することで、印字形式が予め定められているワーク(製品/半製品)などに対する認識率を向上(誤認識率を低下)させることができる。
【0024】
例えば、「英文字」、「英文字」、「数字」の順に文字フォーマットが指定されていれば、入力画像中の複数の文字列を含む文字領域に対して、1文字目は、「英文字」に属する文字候補から最も一致度の高いものが選択され、2文字目は、「英文字」に属する文字候補から最も一致度の高いものが選択され、3文字目は、「数字」に属する文字候補から最も一致度の高いものが選択される。このような文字フォーマット、すなわち文字認識の認識候補を限定することで、処理を高速化するとともに、認識率を向上させることができる。なお、文字フォーマットの詳細については後述する。
【0025】
視覚センサ200において実行される文字認識は、入力画像に含まれる文字領域を読み取ってその内容を示すテキストデータを出力する処理に加えて、文字フォーマットに含まれる特定文字との一致度が高く、かつ指定された文字種別での認識確度が高い領域を抽出する処理を含む。すなわち、後者の処理では、指定された文字フォーマットとの一致度が高い1つ以上領域を入力画像から抽出する。
【0026】
より具体的には、画像処理システム1は、視覚センサ200と表示操作部201とを含む。視覚センサ200と表示操作部201との間は、伝送ケーブル202を介して、所定のプロトコルに従って通信可能に構成されている。
【0027】
表示操作部201は、上記の文字フォーマットの設定を受付けるとともに、視覚センサ200により撮像された入力画像や処理結果などを表示する。すなわち、ユーザは、表示操作部201を操作して、文字フォーマットなどの処理に係る情報を送信することにより、視覚センサ200での画像処理や撮像処理を制御する。
図1には、表示操作部201に1台の視覚センサ200が接続されている例を示すが、伝送ケーブル202および図示しないハブとを介して、表示操作部201に複数の視覚センサ200が接続されるようにしてもよい。
【0028】
図1に示す画像処理システム1では、入力画像を取得する機能および入力画像に対して文字認識を実行する機能が視覚センサ200に実装され、文字認識の実行に必要な計測パラメータを指定する機能および文字認識の結果を表示する機能が表示操作部201に実装される例を示すが、この構成に限られるものではない。例えば、すべての機能を単体の画像処理装置に実装してもよいし、各機能を別々の装置に実装してもよい。あるいは、対象物を撮像して入力画像を取得する機能を撮像装置に実装し、残りの機能を画像処理装置に実装するようにしてもよい。本願発明の技術的範囲は、特許請求の範囲に記載された構成を有するものであれば、いずれの実装形態も含まれ得る。
【0029】
視覚センサ200は、IOケーブル203を介して、PLC(Programmable Logic Controller)250と通信可能に接続されている。PLC250は、他の装置からの信号を受信したり、当該他の装置に信号を送信したりすることによって、画像処理システム1の全体を制御する。
【0030】
視覚センサ200は、撮像部212および処理部213を含み、撮像部212は、照明部211および撮像レンズ221を含む。処理部213は、マイクロコンピュータを内蔵する。視覚センサ200の筐体には、視覚センサ200を図示しない支持部材に取付けるための取付部214が設けられる。
【0031】
表示操作部201は、LCD(Liquid Crystal Display)や有機EL(Organic Electro-Luminescence)などのディスプレイと、指やスタイラスでディスプレイに触れることで指示を受付けるための検出部とが一体的に構成されたタッチパネル204を有する。
【0032】
表示操作部201は、ユーザが設定した文字フォーマット300を視覚センサ200へ送信し、視覚センサ200は、対象物を撮像することで取得された入力画像、および当該取得した入力画像310に対して文字認識を実行することで得られた文字認識の結果を含む処理結果320を表示操作部201へ送信する。
【0033】
次に、
図2を参照して、視覚センサ200および表示操作部201の機能的構成について説明する。
【0034】
視覚センサ200は、対象物であるワーク2を照明する照明部211と、ワーク2を撮像するための撮像部212と、処理部213とを含む。照明部211は、照明用レンズ224と光源であるLED(Light Emitting Diode)225とを有する照明制御システム223を含む。撮像部212は、撮像レンズ221および撮像素子222を含む。
【0035】
処理部213は、図示されないランプなどの表示灯(インジケータ)を制御する表示灯制御部227と、視覚センサ200の各種処理を実行するCPU226と、各部に電力を供給する電源部228と、伝送ケーブル202に接続される通信システム229と、外部機器との間で入出力データを遣り取りする入出力システム230と、文字フォーマット300、文字認識データベース330、計測パラメータ340に加えて、入力画像や処理結果などの各種データを格納するためのメモリ231とを含む。文字認識データベース330は、文字認識を行うための各文字に関する情報(パターンや特徴量)を含む。
【0036】
表示操作部201は、各部に電力を供給する電源部240と、外部から指示を受付けるための検出部241およびディスプレイ242からなるタッチパネル204と、ディスプレイ242での表示を制御する表示ドライバ243と、表示ドライバ243を介してディスプレイ242に表示される画像を制御する表示制御部244と、画像を格納する画像保存部245と、視覚センサ200から受信した画像を取扱う画像制御部246と、視覚センサ200との間でデータを遣り取りする伝送部247とを含む。
【0037】
表示操作部201は、視覚センサ200に対して着脱自在に構成されており、典型的な使用形態として、製造現場などにおいて製造ラインを巡回するユーザが携帯可能なように小型化されている。そのため、表示操作部201のディスプレイ242のサイズも小さくなっている。
【0038】
ディスプレイ242は、表示ドライバ243からの制御信号に基づいて、画像を表示する。表示ドライバ243は、表示制御部244からの画像信号に基づいて、ディスプレイ242の表示処理を制御するための制御信号を生成し、ディスプレイ242に出力する。
【0039】
表示制御部244は、検出部241を介したユーザからの指示、画像制御部246から提供される画面情報、伝送部247を介して視覚センサ200から提供される入力画像や処理結果などに基づいて、ユーザインターフェイス画面を生成し、表示ドライバ243を介してディスプレイ242上に表示する。
【0040】
また、表示制御部244は、検出部241を介したユーザからの指示に基づいて設定される、文字フォーマットや計測パラメータを、伝送部247を介して視覚センサ200へ送信する。
【0041】
図2に示す機能構成は、プロセッサがプログラムを実行することで実現されてもよい。あるいは、視覚センサ200および/または表示操作部201の主たる処理回路およびその周辺回路を含めて、ASIC(Application Specific Integrated Circuit)などの専用集積回路を用いて実現してもよい。
【0042】
[B.文字フォーマット]
次に、画像処理システム1で扱う文字フォーマットについて説明する。本実施の形態に係る画像処理システム1では、文字フォーマットの一例として、「数字文字」、「英字文字」、「英数字」、「記号文字」といった文字種別を指定できる。これらの文字種別は、認識対象の文字別に指定可能になっている。
【0043】
「数字文字」は、数字文字「0」,「1」,…,「9」(認識対象:「0」〜「9」)を指定する。画像処理システム1においては、「数字文字」は記号「#」で示されるとする。
【0044】
「英字文字」は、英文字「A」,「B」,…,「Z」(認識対象:「A」〜「Z」)を指定する。画像処理システム1においては、「英字文字」は記号「$」で示されるとする。なお、「英字文字」として、大文字/小文字を区別するようにしてもよい。このとき、大文字および小文字のそれぞれをより細分化された文字種別としてもよい。例えば、文字種別としては、「英数大文字」および「英数小文字」といった具合である。
【0045】
「英数字」は、「数字文字」および「英字文字」を包含する文字種別(認識対象:記号文字以外のすべての文字)である。画像処理システム1においては、「数字文字」は記号「?」で示されるとする。
【0046】
「記号文字」は、記号文字「’」(アポストロフィー),「−」(ハイフン),「.」(ピリオド),「:」(コロン),「/」(スラッシュ)(認識対象:「’」「−」「.」「:」「/」)を指定する。画像処理システム1においては、「記号文字」は記号「@」で示されるとする。
【0047】
このようなワイルドカード(「#」,「?」,「@」)を指定することで、例えば、0(ゼロ)とO(オー)との間での誤認識などを防止できる。
【0048】
また、画像処理システム1では、上述の文字種別に加えて、特定文字の指定が可能になっている。特定文字とは、認識可能な文字から選択された1つの文字を意味し、数字文字「0」,「1」,…,「9」、英文字「A」,「B」,…,「Z」、および記号文字「’」,「−」,「.」,「:」,「/」のうち、いずれか1つが選択される。この特定文字が指定された場合には、認識対象の部分画像との間で、指定された特定文字との間についてのみ、類似度の算出処理や安定度の判定処理が実行される。そして、対象の部分画像が指定された特定文字と一致しているか否かが判断される。
【0049】
これらの文字種別や特定文字の指定に加えて、文字認識の対象から除外する文字属性を指定することもできる。文字認識の対象外になる文字は記号「*」で示されるとし、スキップを意味する。スキップ属性が指定された場合には、類似度の算出処理や安定度の判定処理がスキップされる。このとき、検出文字数からも除外されるようにしてもよい。このようなスキップ属性を指定することで、誤認識し易い文字などを対象から除外することができ、文字認識処理をより安定的に実行できる。
【0050】
[C.文字認識処理]
次に、上述の文字フォーマットを用いた文字認識処理について説明する。
図3は、本実施の形態に係る画像処理システム1における文字認識の処理内容を示す模式図である。
【0051】
図3を参照して、視覚センサ200では、対象物を撮像することで得られる入力画像310から文字領域312が抽出される。この文字領域312は、入力画像310に対してエッジ抽出処理や特徴量抽出処理などによって特定される。さらに、文字領域312に含まれる各文字の領域(部分画像)が抽出される。この各文字のイメージに対応する領域(部分画像)の抽出処理は、公知の技術を採用できるので、ここではその詳細な説明は行わない。
【0052】
続いて、視覚センサ200は、各文字の領域に対して文字認識を実行する。この文字認識について、文字認識データベース330が予め用意されている。文字認識データベース330は、典型的には、文字毎にそれを特定するための識別情報(パターンや特徴量)を含む。文字認識データベース330に格納される各文字について、対応する文字種別が付加されている。すなわち、数字文字「0」,「1」,…,「9」については、文字種別が「数字文字」であり、英文字「A」,「B」,…,「Z」については、文字種別が「英文字」であることが情報として付加されている。
【0053】
図3は文字認識の処理の典型例を示すものであり、本発明において、文字認識処理の実装としては、任意の方法を採用できる。
【0054】
視覚センサ200は、文字フォーマット300の下で、文字認識データベース330を参照して各文字の領域(部分画像)に対応する文字を特定する。
図3に示す文字フォーマット300では、「$$$@###」が指定されている。なお、文字フォーマット300の記述方式は、
図3に示すものに限られることなく、任意の記述方式を採用できる。
【0055】
図3に示す文字フォーマットは、左から第1〜3番目の文字が「英字文字」であり、第4番目の文字が「記号文字」であり、第5〜7番目の文字が「数字文字」であることを示す。そのため、視覚センサ200は、文字領域312に含まれる第1〜3番目の各文字について、文字認識データベース330に含まれる英字文字の各文字を候補として、一致度を算出する。すなわち、視覚センサ200は、まず、文字領域312に含まれる第1番目の文字と英文字「A」,「B」,…,「Z」との間で一致度をそれぞれ算出する。そして、(基本的には)文字候補のうち最も一致度の高いものを認識結果として出力する。以下、視覚センサ200は、文字領域312に含まれる第2番目以降の各文字について、同様の処理を繰返す。
【0056】
このような文字フォーマット300を用いることで、
図3に示す例では、文字領域312の第2番目に「I(アイ)」があり、文字領域312の第3番目に「O(オー)」があるが、これらをそれぞれ「1(いち)」および「0(ゼロ)」と誤って認識することを防止できる。同様に、
図3に示す例では、文字領域312の第5番目に「1(いち)」があり、文字領域312の第7番目に「0(ゼロ)」があるが、これらをそれぞれ「I(アイ)」および「O(オー)」と誤って認識することを防止できる。
【0057】
例えば、商品の型番、価格、製造年月日、識別番号などは、その印字フォーマットが予め定まっている場合が多いので、このような文字フォーマットを容易に適用することができ、これによって認識率を向上(誤認識率を低下)させることができる。
【0058】
上述したように、文字フォーマット300としては、特定文字を指定することもできる。特定文字を指定した場合には、一種のパターンマッチング処理が実行される。すなわち、
図3に示す例において、文字フォーマット300として、例えば、「$$$:###」が指定されると、文字領域312に含まれる第4番目の文字と「:」(コロン)との間の一致度が算出され、その算出された一致度が予め定められた値より高い場合に限って有効な認識結果として出力される。そのため、文字領域312に含まれる第4番目の文字が「:」(コロン)として認識されるもののみが抽出されることになる。この場合には、入力画像310から複数の文字領域312が抽出されることもある。
【0059】
図3に示す文字認識処理において、文字領域312の抽出処理、文字領域312に含まれる各文字の領域(部分画像)の抽出処理、抽出した各文字のイメージに対する文字認識データベース330を用いたマッチング処理などは、予め設定されたパラメータに従って実行される。すなわち、文字認識に係るパラメータとして、計測パラメータが予め用意されている。このような計測パラメータの初期値は、本実施の形態に係る画像処理システム1が提供するオートティーチ機能によって決定される。このオートティーチ機能の詳細については、後述する。
【0060】
[D.計測パラメータ]
次に、
図3に示す文字認識処理において参照される計測パラメータの詳細について説明する。本実施の形態に係る画像処理システム1においては、以下のような計測パラメータを用いる。
(1)文字色:検出対象の文字の色を指定するパラメータ
・設定値:「黒」または「白」
(2)印字種類:検出対象の文字の表現形式を指定するパラメータ
・設定値:「捺印」または「ドット」(「捺印」は、アウトラインフォントなどの外形が連続したフォントを意味し、「ドット」は、ドットマトリックスなどのフォントを意味する)
(3)ドット間隔(縦):(2)の印字種類が「ドット」の場合のみ有効となるパラメータであり、検出対象の文字を構成する縦のドット間隔を示すパラメータ
・入力範囲:0ピクセル〜入力画像の縦幅(ピクセル)
(4)ドット間隔(横):(2)の印字種類が「ドット」の場合のみ有効となるパラメータであり、検出対象の文字を構成する横のドット間隔を示すパラメータ
・入力範囲:0ピクセル〜入力画像の横幅(ピクセル)
(5)フィルタサイズ:ノイズ除去用のフィルタサイズを指定するパラメータ
・入力範囲:−60〜440(値が大きいほど広い領域でノイズ除去を行い、値が小さいほど狭い範囲でノイズ除去を行う)
(6)文字太さしきい値:検出対象の文字の太さを指定するパラメータ
・入力範囲:−255〜255(負の数を設定すると文字が細くなる方向に変化し、正の値を設定すると文字が太くなる方向に変化する)
(7)回転バラツキ補正:機能をONにすることで所定範囲にわたる文字の回転バラツキに対応できる
・設定値:「ON」または「OFF」
(8)斜体バラツキ補正:機能をONにすることで所定範囲にわたる文字の斜体バラツキに対応できる
・設定値:「ON」または「OFF」
(9)ふち消し補正:機能をONにすることで計測領域に接している黒い部分をノイズとして読み取り候補から除外する
・設定値:「ON」または「OFF」
(10)細長文字しきい値:検出矩形の高さの幅に対する倍率がいくら以上のときに細長文字(I,J,1,:,/)と判定するかを指定する
・入力範囲:1〜10
(11)ハイフン高さ上限:ハイフンと見なす領域の高さ上限値を指定する
入力範囲:0〜100
(12)ハイフン高さ下限:ハイフンと見なす領域の高さ下限値を指定する
入力範囲:0〜100
[E.処理手順]
次に、本実施の形態に係る画像処理システム1において入力画像から文字情報を取得する画像処理方法に係る処理手順について説明する。
【0061】
図4は、本実施の形態に係る画像処理システム1において入力画像から文字情報を取得する画像処理方法に係る処理手順を示すフローチャートである。
図5は、
図4に示すフローチャートのステップS110に示すオートティーチサブルーチンの処理手順を示すフローチャートである。本実施の形態に係る画像処理システム1は、動作モードとして、文字認識処理を含む計測処理に係る各種パラメータを調整するための調整モードと、実際に計測処理を実行する運転モードとを含む。
図4に示す処理手順の当初は調整モードが選択されているとする。
【0062】
図4を参照して、まず、調整モードにおいて、オートティーチ機能が実行される。すなわち、ユーザは、視覚センサ200の視野範囲に認識対象の文字列を含む対象物(基準サンプル)を配置し、表示操作部201を操作して参照画像の取得を指示する。すると、視覚センサ200は、目的の対象物(基準サンプル)を撮像することで参照画像を取得する(ステップS100)。そして、視覚センサ200は、その取得した参照画像を表示操作部201へ送信する。
【0063】
表示操作部201は、視覚センサ200から受信した参照画像を表示するとともに、参照画像に対する認識対象とすべき領域(計測領域)の設定を受付ける(ステップS102)。後述するように、ユーザは、タッチパネル上に表示される参照画像に対して計測領域を設定する。すなわち、表示操作部201は、目的の対象物を撮像することで得られた参照画像に対する計測領域の設定を受付ける処理を実行する。続いて、表示操作部201は、計測領域に含まれる認識対象の文字列についての文字フォーマットを受付ける(ステップS104)。すなわち、表示操作部201は、認識対象の文字別の制約条件を示す文字フォーマットを受付ける処理を実行する。この入力された文字フォーマットは、視覚センサ200へ送信される。
【0064】
そして、視覚センサ200は、オートティーチ処理を実行する(ステップS110)。このオートティーチ処理については、
図5を参照して、より詳細に説明する。
【0065】
図5に示すオートティーチ処理においては、変更される可能性の高い計測パラメータから順にその値を確定させる。これは、すべての計測パラメータを同時に変更すると、適切ではない計測パラメータの組み合わせを決定する可能性があるからである。
図5に示す例では、(1)文字色および印字種類、(2)文字太さしきい値およびフィルタサイズ、(3)ドット間隔(縦)およびドット間隔(横)、(4)回転バラツキ補正および斜体バラツキ補正の順で計測パラメータを決定する。現実的に、文字太さしきい値およびフィルタサイズは同時に変更することが多いので、これらを同時に決定する処理としている。オートティーチ処理の開始時には、いずれの計測パラメータもデフォルト値が設定されているとする。
【0066】
図5に示すオートティーチ処理においては、文字認識の結果(読み取り結果)と設定されている文字フォーマットとが一致しているか否かに基づいて、文字フォーマットに従う文字認識の実行結果が予め定められた確からしさを超えるか否かを判断する。すなわち、文字フォーマットの条件がない状態で実行された文字認識の結果が設定されている文字フォーマットと一致すれば、そのときの計測パラメータは、信頼度が高いといえる。このように、文字認識の結果(読み取り結果)と設定されている文字フォーマットとの一致の有無を確認することで、本来意図している文字フォーマットに沿った領域抽出を行えるように計測パラメータを決定できる。なお、文字フォーマットにおいて特定文字が指定されている場合には、その指定されている指定文字との一致の有無が判断される。
【0067】
より具体的には、
図5を参照して、視覚センサ200は、文字色および印字種類の組についての値を変更し(ステップS1101)、当該変更後の計測パラメータに従って、参照画像の計測領域に含まれる部分画像に対して文字認識を実行する(ステップS1102)。そして、視覚センサ200は、文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致しているか否かを判断する(ステップS1103)。文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致している場合(ステップS1103においてYESの場合)には、視覚センサ200は、現在の計測パラメータを設定値として反映する(ステップS1104)。そして、
図4のステップS114の処理が実行される。
【0068】
文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致していない場合(ステップS1103においてNOの場合)には、視覚センサ200は、文字太さしきい値およびフィルタサイズの組についての値を変更し(ステップS1105)、当該変更後の計測パラメータに従って、参照画像の計測領域に含まれる部分画像に対して文字認識を実行する(ステップS1106)。そして、視覚センサ200は、文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致しているか否かを判断する(ステップS1107)。文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致している場合(ステップS1107においてYESの場合)には、視覚センサ200は、現在の計測パラメータを設定値として反映する(ステップS1104)。そして、
図4のステップS114の処理が実行される。
【0069】
文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致していない場合(ステップS1107においてNOの場合)には、視覚センサ200は、ドット間隔(縦)およびドット間隔(横)の組についての値を変更し(ステップS1108)、当該変更後の計測パラメータに従って、参照画像の計測領域に含まれる部分画像に対して文字認識を実行する(ステップS1109)。そして、視覚センサ200は、文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致しているか否かを判断する(ステップS1110)。文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致している場合(ステップS1110においてYESの場合)には、視覚センサ200は、現在の計測パラメータを設定値として反映する(ステップS1104)。そして、
図4のステップS114の処理が実行される。
【0070】
但し、ドット間隔(縦)およびドット間隔(横)は、印字種類が「ドット」の場合のみ有効なパラメータであり、印字種別の値が「捺印」である場合には、ステップS1108〜S1110の処理をスキップしてよい。
【0071】
文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致していない場合(ステップS1110においてNOの場合)には、視覚センサ200は、回転バラツキ補正および斜体バラツキ補正の組についての値を変更し(ステップS1111)、当該変更後の計測パラメータに従って、参照画像の計測領域に含まれる部分画像に対して文字認識を実行する(ステップS1112)。そして、視覚センサ200は、文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致しているか否かを判断する(ステップS1113)。文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致している場合(ステップS1113においてYESの場合)には、視覚センサ200は、現在の計測パラメータを設定値として反映する(ステップS1104)。そして、
図4のステップS114の処理が実行される。
【0072】
なお、回転バラツキ補正および斜体バラツキ補正については、念のため、その機能を有効化して試してみるものであり、これらの計測パラメータについては、オートティーチ処理の対象から除外してもよい。
【0073】
文字認識の結果(読み取り結果)から取得される文字フォーマットと設定されている文字フォーマットとが一致していない場合(ステップS1113においてNOの場合)には、一旦、計測パラメータを元の値に戻した後(ステップS1114)、ステップS1101以下の処理が再度実行される。
【0074】
このように、視覚センサ200は、文字認識の実行結果に基づいて、文字フォーマットに従う文字認識の実行結果が予め定められた確からしさを超えるようにパラメータを変更して、文字認識に係るパラメータの初期値を決定する。言い換えれば、視覚センサ200は、文字認識の実行結果が予め定められた文字フォーマットと適合するように、パラメータを変更して、文字認識に係るパラメータの初期値を決定する。
【0075】
再度
図4を参照して、視覚センサ200は、現在の計測パラメータをオートティーチ機能により設定された計測パラメータの初期値として出力する(ステップS114)。その後、ユーザの要求に応じて、計測パラメータの変更処理が実行される。具体的には、表示操作部201は、計測パラメータの変更がユーザから要求されたか否かを判断する(ステップS120)。典型的には、タッチパネル上で、計測パラメータの変更を示すオブジェクト(ボタン)が選択されたか否かが判断される。計測パラメータの変更がユーザから要求されていなければ(ステップS120においてNOの場合)、ステップS130以下の処理が実行される。
【0076】
計測パラメータの変更がユーザから要求されると(ステップS120においてYESの場合)、表示操作部201は、計測パラメータの現在値を表示するとともに、計測パラメータの変更指示を受付ける(ステップS122)。すなわち、表示操作部201は、文字認識に係るパラメータの初期値に対する外部からの変更を受付ける処理を実行する。表示操作部201に対して指定された計測パラメータの変更指示は、視覚センサ200へ送信され、視覚センサ200が保持する計測パラメータを変更する。そして、視覚センサ200は、変更後の計測パラメータおよび設定されている文字フォーマットに従って、計測領域に含まれる部分画像に対して文字認識を再度実行する(ステップS124)。すなわち、視覚センサ200は、変更後の文字認識に係るパラメータに従って、計測領域に含まれる部分画像に対する文字認識を再度実行する。この再度実行された文字認識の結果は、表示操作部201に表示される。
【0077】
その後、表示操作部201は、運転モードの開始が指示されたか否かを判断する(ステップS130)。運転モードの開始が指示されていなければ(ステップS130においてNOの場合)、ステップS140の処理が実行される。
【0078】
運転モードの開始が指示されると(ステップS130においてYESの場合)、視覚センサ200は、予め定められたトリガー条件に応じて、対象物を撮像して入力画像を取得し(ステップS132)、現在の計測パラメータおよび文字フォーマットに従って、入力画像に含まれる領域に対して文字認識を実行する(ステップS134)。そして、視覚センサ200は、文字認識の実行結果を表示操作部201などへ出力する(ステップS136)。
【0079】
すなわち、表示操作部201は、運転モードの開始が指示されると、その時点で設定されている計測パラメータおよび文字フォーマットを視覚センサ200へ送信する。そして、視覚センサ200は、処理対象の入力画像を取得する処理を実行するとともに、この取得した入力画像に対して認識処理を実行する。この認識処理においては、視覚センサ200は、設定されている文字フォーマットの下での一致度が相対的に高い領域を特定する。
【0080】
言い換えれば、入力画像から抽出された1つ以上の文字領域のうち、文字フォーマットに従う文字認識を行った結果、その一致度が予め定められた値より高い文字領域が抽出される。そのため、1つの入力画像から複数の文字領域、すなわち複数の文字情報が抽出される場合もある。画像処理システム1が提供されるアプリケーションに依存して、このような複数の文字情報の抽出を禁止してもよいし、許容してもよい。
【0081】
そして、表示操作部201は、運転モードの停止が指示されたか否かを判断する(ステップS140)。運転モードの停止が指示されていなければ(ステップS140においてNOの場合)、ステップS132以下の処理が実行される。運転モードの停止が指示されると(ステップS140においてYESの場合)、表示操作部201は、調整モードへ遷移し、初期メニュー画面を表示し(ステップS142)、オートティーチ機能の開始が指示されたか否かを判断する(ステップS144)。オートティーチ機能の開始が指示されていなければ(ステップS144においてNOの場合)、ステップS142以下の処理が実行される。
【0082】
オートティーチ機能の開始が指示されると(ステップS144においてYESの場合)、ステップS100以下の処理が実行される。
【0083】
[F.ユーザインターフェイス画面]
次に、上述の
図4に示す処理手順の各局面において提供されるユーザインターフェイス画面の一例について説明する。
【0084】
(f1:初期メニュー画面)
図6は、本実施の形態に係る画像処理システム1が提供する文字認識処理の初期メニューを示すユーザインターフェイス画面400Aの一例を示す図である。
図6に示すユーザインターフェイス画面400Aは、表示操作部201において提供される。以下の各ユーザインターフェイス画面についても同様に、表示操作部201において提供される。
【0085】
図6を参照して、ユーザインターフェイス画面400Aにおいて、文字認識を実行するための各種設定がフロー形式で表示されている。具体的には、ティーチング処理を示す「ティーチ」、文字認識に係る各種パラメータの設定処理を示す「判定条件」、文字認識の結果を利用したOK/NG判定などの各種パラメータの設定処理を示す「照合条件」の3つの処理を示すオブジェクトが表示されている。ユーザが、「ティーチ」のオブジェクト402を選択すると、上述のオートティーチ機能が開始される。
【0086】
(f2:計測領域の設定)
図7は、本実施の形態に係る画像処理システム1が提供する文字認識処理における計測領域を設定するためのユーザインターフェイス画面400Bの一例を示す図である。
図7を参照して、ユーザインターフェイス画面400Bでは、目的の対象物(基準サンプル)を撮像することで取得された参照画像404が表示されている。ユーザは、この表示されている参照画像404の上から目的の計測領域を設定する。具体的には、ユーザは、タッチ操作あるいはマウス操作などによって、カーソル406を操作して計測領域に対応する領域を設定する。
図7においては、4つのカーソル406で囲まれる範囲が計測領域408となる。
【0087】
このように、表示操作部201は、参照画像404を表示するとともに、表示された参照画像404に対するユーザ操作に応答して計測領域408を決定する。その後、ユーザインターフェイス画面400Bの「OK」のオブジェクトが選択されると、計測領域408に含まれる認識対象の文字列についての文字フォーマットの設定画面へ遷移する。
【0088】
(f3:文字フォーマットの設定)
図8は、本実施の形態に係る画像処理システム1が提供する文字認識処理における文字フォーマットを設定するためのユーザインターフェイス画面400Cの一例を示す図である。画像処理システム1では、同一の入力画像に対して複数の計測領域を設定することが可能であり、
図8に示すユーザインターフェイス画面400Cでは、4つの計測領域に対して、それぞれ文字フォーマットを設定できるようになっている。すなわち、ユーザインターフェイス画面400Cは、4つの文字フォーマット入力領域410,412,414,416を含む。
【0089】
あるいは、複数の文字列(行)が含まれるように単一の計測領域を設定し、それに含まれるそれぞれの文字列に対して文字列フォーマットを設定することができる。例えば、単一の計測領域に2つの文字列が含まれる場合には、2つの文字フォーマット入力領域410,412を用いてそれぞれの文字列フォーマットを設定してもよいし、1つの文字フォーマット入力領域410において、予め定められたデリミタ(例えば、改行コード)を用いて区分しつつ、それぞれの文字列フォーマットを設定してもよい。
【0090】
ユーザは、いずれかの文字フォーマット入力領域を選択して、目的の文字フォーマットを入力する。この際、キーボードなどの入力装置を用いて直接的に入力してもよいが、以下のような文字フォーマット入力用のユーザインターフェイス画面が提供されてもよい。
【0091】
図9および
図10は、本実施の形態の変形例に係る画像処理システム1が提供する文字フォーマットを設定するためのユーザインターフェイス画面の一例を示す図である。
図9または
図10に示すユーザインターフェイス画面は、
図8に示すユーザインターフェイス画面400Cにおいて、文字フォーマット入力領域410,412,414,416のいずれかが選択されることで表示される。
【0092】
図9に示すユーザインターフェイス画面400Dでは、入力中の文字フォーマットを示す文字フォーマット入力領域410と、指定可能な複数の文字種別にそれぞれ関連付けられた複数のオブジェクト420と、指定可能な特定文字に関連付けられた複数のオブジェクト430とが並べて、すなわち同一画面内に表示されている。ユーザがオブジェクト420および430のうちいずれかを選択すると、当該選択されたオブジェクトに対応する文字フォーマットが追加される。すなわち、表示操作部201は、いずれかのオブジェクトが選択されると、選択されたオブジェクトに関連付けられた文字種別または特定文字を文字フォーマットに追加する。
【0093】
すなわち、表示操作部201は、設定されている文字フォーマットを表示するとともに、指定可能な複数の文字種別にそれぞれ関連付けられた複数のオブジェクトを表示し、いずれかのオブジェクトの選択に応答して、選択されたオブジェクトに関連付けられた文字種別を文字フォーマットに追加する。
【0094】
複数のオブジェクト420は、「数字文字」を指定するオブジェクトと、「数字文字」を指定するオブジェクトと、「英字文字」を指定するオブジェクトと、「記号文字」を指定するオブジェクトと、「スキップ属性」を指定するオブジェクトとを含む。
【0095】
表示領域402には、設定されている文字フォーマットが各文字種別に対応付けられた記号を用いて表示されている。すなわち、記号「#」、「$」、「@」といった記号で文字フォーマットが既定される。このような記号の意味が一見して把握できるように、
図9に示すユーザインターフェイス画面400Dのオブジェクト420の各々では、関連付けられた文字種別を示すメッセージ(例えば、「英数字」や「数字文字」といった表示)とともに、当該文字種別に対応する記号(例えば、「?」や「#」といった記号)が表示される。
【0096】
このように、オブジェクト420には、関連付けられた文字種別の意味を一見して把握できるようにメッセージが付加されており、さらに対応する文字種別を示す記号も併せて付加されているので、ユーザは、各記号の意味を予め知っておかなくても、文字フォーマット入力領域410に表示される設定中の文字フォーマットの内容を容易に把握することができる。
【0097】
ユーザインターフェイス画面400Dでは、設定されている文字フォーマットを編集するためのオブジェクトも表示されている。例えば、バックスペース操作(カーソルの直前の文字を消去する操作)に関連付けられたオブジェクト424と、クリア操作(設定されている文字フォーマットを全消去する操作)に関連付けられたオブジェクト426と、カーソルを移動させる操作に関連付けられたオブジェクト428とが配置されている。
【0098】
また、特定文字を個別に指定する必要がある場合には、ユーザはオブジェクト430を選択する。これによって、
図9に示すユーザインターフェイス画面400Dは、
図10に示すユーザインターフェイス画面400Eへ遷移する。
【0099】
図10を参照して、ユーザインターフェイス画面400Eは、ユーザインターフェイス画面400Dと比較して、オブジェクト420および430に代えて、オブジェクト432を配置したものに相当する。オブジェクト432は、指定可能な特定文字を所定規則で配置したものであり、
図10に示す例では、QWERT式で数字およびアルファベットが配置されている例を示す。このような配列順に限られず、アルファベット順や他の配列順を採用してもよい。ユーザは、ユーザインターフェイス画面400Eを用いて、所望の特定文字を文字フォーマットとして設定することができる。
【0100】
図9および
図10に示すユーザインターフェイス画面を採用することで、文字フォーマットについて知識の無いユーザであっても、容易に文字フォーマットとして文字種別などを指定することができる。
【0101】
その後、ユーザインターフェイス画面400Dまたは400Eの「OK」のオブジェクトが選択されると、オートティーチ機能が開始される。
【0102】
(f4:オートティーチ機能)
図11は、本実施の形態に係る画像処理システム1が提供する文字認識処理におけるオートティーチ機能に係るユーザインターフェイス画面400Fの一例を示す図である。
図11を参照して、ユーザインターフェイス画面400Fでは、参照画像404および参照画像404の上に設定されている計測領域408が表示されており、ユーザがTEACHのオブジェクト436を選択すると、オートティーチ機能が開始される。具体的には、視覚センサ200は、設定された文字フォーマットに従って、計測領域に含まれる部分画像に対して文字認識を実行するとともに、計測パラメータを最適化する。すなわち、このオートティーチ機能の実行中、設定された文字フォーマットに基づく文字認識の結果が最適化されるように、計測パラメータが調整される。
【0103】
その後、ユーザがメニュー表示するためのオブジェクト438を選択すると、手動調整を行うためのメニュー画面が表示される。
【0104】
図12は、本実施の形態に係る画像処理システム1が提供する文字認識処理における手動調整に係るユーザインターフェイス画面400Gの一例を示す図である。
図12に示すように、オブジェクト438が選択されると、各種メニュー項目が一覧表示される。すなわち、設定されている計測領域を変更するためのオブジェクト440(計測領域編集)と、設定されている文字フォーマットを変更するためのオブジェクト442(文字フォーマット)と、撮像条件などを変更するためのオブジェクト444(カメラ調整)と、計測パラメータを変更するためのオブジェクト446(計測パラメータ)と、動作モードでの処理をテストするためのオブジェクト448(連続計測テスト)とが表示される。
【0105】
(f5:文字フォーマット変更)
図12に示すユーザインターフェイス画面400Gにおいて、設定されている文字フォーマットを変更するためのオブジェクト442(文字フォーマット)が選択されると、設定されている文字フォーマットを変更(調整)するためのユーザインターフェイス画面が提供される。
【0106】
図13は、本実施の形態に係る画像処理システム1が提供する文字認識処理における文字フォーマット調整に係るユーザインターフェイス画面400Hの一例を示す図である。
図13を参照して、ユーザインターフェイス画面400Hでは、4つの文字フォーマット入力領域410,412,414,416に、それぞれ現在設定されている文字フォーマットが表示される。それに加えて、文字フォーマット入力領域410,412,414,416のそれぞれに関連付けて、オートティーチ機能によって抽出された文字認識結果411,413,415,417が表示される。ユーザは、この文字認識結果411,413,415,417を参照して、設定した文字フォーマットが正しいか、設定した文字フォーマットに従って正しく文字認識できているかなどを判断する。
【0107】
(f6:計測パラメータ変更)
図12に示すユーザインターフェイス画面400Gにおいて、計測パラメータを変更するためのオブジェクト446(計測パラメータ)が選択されると、設定されている計測パラメータを確認および変更(調整)するためのユーザインターフェイス画面が提供される。
【0108】
図14は、本実施の形態に係る画像処理システム1が提供する文字認識処理における計測パラメータ調整に係るユーザインターフェイス画面400Iの一例を示す図である。
図14を参照して、ユーザインターフェイス画面400Iでは、計測パラメータの項目および現在設定されている値が一覧表示される。具体的には、計測パラメータとして、文字色を示すフィールド450と、印字種類を示すフィールド452と、ドット間隔(縦)を示すフィールド454と、ドット間隔(縦)を示すフィールド456と、文字太さしきい値を示すフィールド458と、ノイズフィルタサイズを示すフィールド460とが表示されている。
【0109】
ユーザは、このユーザインターフェイス画面400Iを参照して、オートティーチ機能の結果決定された計測パラメータの状態を確認する。さらに、各フィールドを選択することで、設定されている値を変更または調整することができる。
【0110】
《f6a:文字色》
図14に示すユーザインターフェイス画面400Iにおいて、文字色を示すフィールド450が選択されると、設定されている文字色についての設定値を確認および変更(調整)するためのユーザインターフェイス画面が提供される。
【0111】
図15は、本実施の形態に係る画像処理システム1が提供する文字認識処理における計測パラメータの文字色の調整に係るユーザインターフェイス画面400Jの一例を示す図である。文字色の設定値としては、「黒文字」および「白文字」のいずれかが選択的に設定されるので、
図14に示すユーザインターフェイス画面400Jでは、「黒文字」に対応するオブジェクト462と、「白文字」に対応するオブジェクト464とが選択可能に表示されている。さらに、現在の設定値がわかるように、「黒文字」のオブジェクト462の表示態様は、「白文字」のオブジェクト464とは異なっている。
【0112】
《f6b:ドット間隔》
図14に示すユーザインターフェイス画面400Iにおいて、ドット間隔(縦)を示すフィールド454が選択されると、設定されているドット間隔(縦)についての設定値を確認および変更(調整)するためのユーザインターフェイス画面が提供される。
【0113】
図16は、本実施の形態に係る画像処理システム1が提供する計測パラメータのドット間隔(縦)の調整に係るユーザインターフェイス画面400Kの一例を示す図である。
【0114】
図16に示すユーザインターフェイス画面400Kでは、現在のドット間隔(縦)の設定値およびその設定値に従って実行された文字認識の結果がプレビュー表示されている。具体的には、参照画像上に設定された計測領域408から抽出された文字領域が枠で示されており、各枠についても、その中の文字の文字種別を示す態様で表示されている。ユーザは、この表示を確認して、文字領域が正しく抽出されているかを判断する。
【0115】
さらに、ユーザインターフェイス画面400Kには、ドット間隔(縦)を調整するためのオブジェクト466が表示されており、ユーザがオブジェクト466を操作することで、ドット間隔(縦)の設定値を調整できる。この際、ドット間隔(縦)を調整した結果が即座にわかるように、変更後の計測パラメータに従って部分画像に対して文字認識が再度実行される。これによって、ユーザは、ドット間隔(縦)などの計測パラメータの最適値への設定(いわゆる、チューニング作業)を容易に行うことができる。
【0116】
《f6c:しきい値》
図14に示すユーザインターフェイス画面400Iにおいて、文字太さしきい値を示すフィールド458が選択されると、設定されている文字太さしきい値についての設定値を確認および変更(調整)するためのユーザインターフェイス画面が提供される。
【0117】
図17および
図18は、本実施の形態に係る画像処理システム1が提供する計測パラメータの文字太さしきい値の調整に係るユーザインターフェイス画面400Lの一例を示す図である。
【0118】
図17および
図18に示すユーザインターフェイス画面400Lでは、現在の文字太さしきい値の設定値およびその設定値に従って実行された文字認識の結果がプレビュー表示されている。具体的には、参照画像上に設定された計測領域408から抽出された文字領域が枠で示されており、各枠についても、その中の文字の文字種別を示す態様で表示されている。ユーザは、この表示を確認して、文字領域が正しく抽出されているかを判断する。
【0119】
さらに、ユーザインターフェイス画面400Lには、文字太さしきい値を調整するためのオブジェクト474が表示されており、ユーザがオブジェクト474を操作することで、文字太さしきい値の設定値を調整できる。この際、文字太さしきい値を調整した結果が即座にわかるように、変更後の計測パラメータに従って部分画像に対して文字認識が再度実行される。
【0120】
具体的には、
図17に示すユーザインターフェイス画面400Lでは、文字太さしきい値が0に設定されており、
図18に示すユーザインターフェイス画面400Lでは、文字太さしきい値が18に変更されている。
図17と
図18とを比較する、文字太さしきい値が大きくなることによって、文字領域として抽出される範囲が変わっているのがわかる。このように、ユーザは、文字太さしきい値などの計測パラメータの最適値への設定(いわゆる、チューニング作業)を容易に行うことができる。
【0121】
[G.利点]
本実施の形態によれば、文字種別や特定文字などからなる文字フォーマットを入力し、オートティーチ機能を実行することで、文字認識処理に必要な計測パラメータが自動調整される。これにより、文字認識などの画像処理の知識が少ないユーザであっても、文字認識を実行するために必要な計測パラメータを容易に設定できる。
【0122】
また、本実施の形態によれば、多くのOK画像およびNG画像を予め用意する代わりに、文字フォーマットを利用するので、より少ない演算回数で計測パラメータを設定および最適化できる。
【0123】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。