(57)【要約】【課題】認識すべき文字が不鮮明な場合であっても、正確にその文字を認識できる文字認識装置及び文字認識方法を提供する。【解決手段】文字認識装置は、被検査物を撮影した検査画像を取得する画像取得手段（２）と、検査画像から、文字が写っている文字領域を検出する文字領域検出手段（３４）と、文字領域のうちの少なくとも一部分の領域について、認識対象となる複数の文字のそれぞれの部分構造を表す複数の線素の何れかと一致する画素を検出し、その一致する画素の数を計数することにより、文字領域のうちの少なくとも一部分の領域に含まれる各線素の数を検出する線素検出手段（３８）と、各線素の数から各認識対象文字の確信度を算出し、文字領域に写っている文字を、認識対象文字のうち、その確信度が最も高い文字であると判定するパターン識別手段（３９）とを有する。【選択図】図３
2010026805.tif 000002
【特許請求の範囲】
【請求項１】
文字が表記された被検査物を撮影した検査画像を取得する画像取得手段（２）と、
前記検査画像から、前記文字が写っている文字領域を検出する文字領域検出手段（３４）と、
前記文字領域のうちの少なくとも一部分の領域について、認識対象となる複数の文字のそれぞれの部分構造を表す複数の線素の何れかと一致する画素を検出し、当該一致する画素の数を計数することにより、前記少なくとも一部分の領域に含まれる前記各線素の数を検出する線素検出手段（３８）と、
前記各線素の数から各認識対象文字の確信度を算出し、前記文字領域に写っている文字を、前記認識対象文字のうち、当該確信度が最も高い文字であると判定するパターン識別手段（３９）と、
を有することを特徴とする文字認識装置。
【請求項２】
前記パターン識別手段（３９）は、前記各線素の数を入力とし、各認識対象文字の確信度を出力するサポートベクトルマシンにより構成される、請求項１に記載の文字認識装置。
【請求項３】
前記文字領域と各認識対象文字に対応する複数のテンプレートとの間でテンプレートマッチングを行って各認識対象文字との一致度を算出し、当該一致度が最も高い方から順に複数の認識対象文字を選択するパターンマッチング手段（３６）をさらに有し、
前記パターン識別手段（３９）は、前記文字領域に写っている文字を、前記選択された複数の認識対象文字のうち、対応する前記確信度が最も高い文字であると判定する、請求項１又は２に記載の文字認識装置。
【請求項４】
前記パターン識別手段（３９）は、前記少なくとも一部分の領域に前記選択された複数の認識対象文字の異なる部分が含まれるように、当該一部分の領域の位置またはサイズを決定する、請求項３に記載の文字認識装置。
【請求項５】
文字が表記された被検査物を撮影した検査画像を取得するステップと、
前記検査画像から、前記文字が写っている文字領域を検出するステップと、
前記文字領域のうちの少なくとも一部分の領域について、認識対象となる複数の文字のそれぞれの部分構造を表す複数の線素の何れかと一致する画素を検出し、当該一致する画素の数を計数することにより、前記少なくとも一部分の領域に含まれる前記各線素の数を検出するステップと、
前記各線素の数から各認識対象文字の確信度を算出し、前記文字領域に写っている文字を、前記認識対象文字のうち、当該確信度が最も高い文字であると判定するステップと、
を有することを特徴とする文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置及び文字認識方法に関するものであり、より詳しくは、被検査物上に表記された文字を撮影した画像から、その文字を認識する文字認識装置及び文字認識方法に関する。
【背景技術】
【０００２】
近年、被検査物に印字あるいは刻印されている文字情報を画像として取得し、その画像を解析することにより、その文字を認識する方法及び装置の開発が盛んに行われている。このような文字認識装置及び文字認識方法では、文字の種類毎に異なる特徴を表すと考えられる特徴量を画像から抽出し、その特徴量に基づいて文字を認識する。あるいは、認識対象となる文字の字体及びサイズが予め分かっている場合には、その字体及びサイズに応じた文字のテンプレートを準備しておき、画像とそのテンプレートとのパターンマッチングを行い、最も一致するテンプレートを特定することにより、文字を認識する。
【０００３】
しかし、被検査物の表面が汚れるなどして、文字列情報と重畳してノイズ情報が存在する場合、特徴量を抽出できなかったり、誤ったパターンマッチング結果が得られることにより、正確に文字を認識することができない場合がある。また、ドットマトリクスプリンタのように一つの文字がドットの集合として印字される場合についても、ドット間の不連続性がノイズと同じように作用するため、正確に文字を認識できない場合がある。そこで、前処理として、ノイズ情報を減弱するような処理を行った後、文字の認識を行う方法が開発されている。
【０００４】
例えば、特許文献１に開示された光学文字認識用画像データ処理方法では、画像データの画素の濃度値のヒストグラムを作成し、２−Ｄ空間平均演算を行うことによって画像データのダイナミックレンジを一度減少させ、その後文字情報が含まれていると考えられる領域に対してコントラストの範囲を広げ、さらにエッジ強調処理を行い、最後に二値化を行うことにより、ノイズを減弱させた画像データを得る。
【０００５】
【特許文献１】特開平５−３１４３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、認識すべき文字と、被検査物表面の傷や汚れが重なって、その文字の一部が不鮮明となっている場合、文字についての画像上の情報（例えば、濃度、エッジ強度など）を正確に取得できないことがある。このような場合、上記のような前処理を行っても、文字に関する情報だけを強調することができないため、認識精度の向上を期待することができなかった。
【０００７】
上記の問題点に鑑み、本発明は、認識すべき文字が不鮮明な場合であっても、正確にその文字を認識できる文字認識装置及び文字認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１に記載の形態によれば、被検査物上に表記された文字を認識する文字認識装置が提供される。係る文字認識装置は、被検査物を撮影した検査画像を取得する画像取得手段（２）と、検査画像から、文字が写っている文字領域を検出する文字領域検出手段（３４）と、文字領域のうちの少なくとも一部分の領域について、認識対象となる複数の文字のそれぞれの部分構造を表す複数の線素の何れかと一致する画素を検出し、その一致する画素の数を計数することにより、文字領域のうちの少なくとも一部分の領域に含まれる各線素の数を検出する線素検出手段（３８）と、各線素の数から各認識対象文字の確信度を算出し、文字領域に写っている文字を、認識対象文字のうち、その確信度が最も高い文字であると判定するパターン識別手段（３９）とを有する。
本発明に係る文字認識装置は、係る構成を有することにより、認識すべき文字の一部に傷や汚れなどが重畳されてその文字が不鮮明となっている場合であっても、正確にその文字を認識できる。
【０００９】
また請求項２に記載のように、パターン識別手段（３９）は、各線素の数を入力とし、各認識対象文字の確信度を出力するサポートベクトルマシンにより構成されることが好ましい。本発明に係る文字認識装置は、サポートベクトルマシンを識別器として利用することにより、各認識対象文字に対応する各線素の数が、非線形な分離を示すものであったとしても、検出された線素の数に基づいて被検査物上の文字を正確に識別することができる。
【００１０】
また請求項３に記載のように、本発明に係る文字認識装置は、文字領域と各認識対象文字に対応する複数のテンプレートとの間でテンプレートマッチングを行って各認識対象文字との一致度を算出し、一致度が最も高い方から順に複数の認識対象文字を選択するパターンマッチング手段（３６）をさらに有し、パターン識別手段（３９）は、文字領域に写っている文字を、その選択された複数の認識対象文字のうち、対応する確信度が最も高い文字であると判定することが好ましい。
本発明に係る文字認識装置は、係る構成を有することにより、異なる二種類の認識手段を用いて被検査物上の文字を認識するので、認識精度をより向上させることができる。
【００１１】
さらに請求項４に記載のように、パターン識別手段（３９）は、文字領域のうちの少なくとも一部分の領域に選択された複数の認識対象文字の異なる部分が含まれるように、その一部分の領域の位置またはサイズを決定することが好ましい。
本発明に係る文字認識装置は、係る構成を有することにより、候補となる各文字の特に差異のある部分に着目して認識処理を行うので、その差異が明確化されるため、認識精度をより向上させることができる。
【００１２】
また請求項５の記載によれば、被検査物上に表記された文字を認識する文字認識方法が提供される。係る文字認識方法は、被検査物を撮影した検査画像を取得するステップと、検査画像から、文字が写っている文字領域を検出するステップと、文字領域のうちの少なくとも一部分の領域について、認識対象となる複数の文字のそれぞれの部分構造を表す複数の線素の何れかと一致する画素を検出し、その一致する画素の数を計数することにより、文字領域のうちの少なくとも一部分の領域に含まれる各線素の数を検出するステップと、各線素の数から各認識対象文字の確信度を算出し、文字領域に写っている文字を、認識対象文字のうち、その確信度が最も高い文字であると判定するステップと、を有する。
【００１３】
なお、上記各手段に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しつつ本発明に係る文字認識装置について詳細に説明する。
本発明を適用した文字認識装置は、一例として、車載エンジンに燃料を供給するポンプユニットの生産ラインに設置され、被検査物であるそのポンプユニットの部品（ワーク）の表面に刻印された、型番、製造年月日などの文字列を認識するものである。そして係る文字認識装置は、先ずパターンマッチングにより文字認識を行い、その結果、認識精度が低いと考えられる文字を、各文字領域から検出した、文字の部分的な特徴を表す各線素の数を入力特徴量とし、特定の文字である可能性を表す確信度を出力とするサポートベクトルマシンを用いて認識するものである。
【００１５】
図１に、本発明の一実施形態に係る文字認識装置１の構成ブロック図を示す。
本発明の一実施形態に係る文字認識装置１は、被検査物であるワーク５を撮影し、検査画像を取得する撮像部２と、検査画像に基づいてワーク５表面に刻印された文字列を認識し、且つ文字認識装置の制御を行う処理部３とを有する。
以下、文字認識装置１の各部について詳細に説明する。
【００１６】
撮像部２は、ワーク５の表面に刻印された文字列を撮影し、検査画像を取得する。また撮像部２は、文字列全体が検査画像に含まれ、且つその文字列に含まれる個々の文字が検査画像上で識別できるように撮影する。そのために、撮像部２は、ＣＣＤ、Ｃ−ＭＯＳセンサなどの光電変換器で構成された２次元検出器と、その２次元検出器上にワーク５表面の像を結像する結像光学系を有する。本実施形態では、２次元検出器として、６４０×４８０画素の２／３インチＣＣＤを用い、各画素の輝度値を０〜２５５で表すものとした。しかし、撮像部２を、異なる画素数及び画面サイズを有する２次元検出器で構成してもよい。また撮像部２は、検査画像上で各文字の特徴が判別できるように、結像光学系の結像倍率が調整される。さらに、撮像部２は、ワーク５を照明する照明光源を有してもよい。
撮像部２は、取得した検査画像を処理部３へ送信する。
【００１７】
図２に、撮像部２で取得される検査画像の概略図を示す。図２において、検査画像２００に撮影されたワーク５の表面には、文字列情報として、ワーク５の型番情報２０１と、製造年月日情報２０２とが刻印されている。本実施形態において、型番情報２０１は、８桁の数値で表される。また、製造年月日情報２０２は、左から順に、製造年を示す４桁の数値と、１文字のアルファベットが表記される。そして、各文字に対応する画素は、背景に対応する画素と比較して相対的に高い輝度値を有する。しかし、例えば、製造年月日情報２０２の一番左側に記載された数値'２'の近傍のように、ワーク５の表面に汚れや傷があると、その汚れや傷に対応する画素もまた、相対的に高い輝度を有する。そのため、このような汚れや傷の存在により文字が不鮮明となって、文字を誤認識する原因となり得る。
【００１８】
処理部３は、いわゆるパーソナルコンピュータ（ＰＣ）及びその周辺機器で構成され、撮像部２から取得した検査画像を解析して、ワーク５の表面に刻印された文字列情報を認識する。
図３に、処理部３の機能ブロック図を示す。図３に示すように、処理部３は、制御手段３１、通信手段３２、記憶手段３３、文字領域検出手段３４、正規化手段３５、パターンマッチング手段３６、輪郭抽出手段３７、線素検出手段３８及びパターン識別手段３９を有する。
以下、処理部３の各部について説明する。
【００１９】
制御手段３１は、ＰＣの中央演算装置（ＣＰＵ）と、その周辺回路などで構成され、ＣＰＵに読み込まれたプログラムにしたがって動作し、撮像部２及び処理部３の各手段を制御する。また、通信手段３２は、処理部３と、撮像部２及び他の機器との間で制御信号、画像データあるいはデータ信号を送受信する通信インタフェースであり、ＵＳＢ、ＳＣＳＩ、ＲＳ２３２Ｃ、イーサネット（登録商標）などのＩ／Ｏポート及びそれらのドライバで構成される。そして、処理部３は、通信手段３２を通じて撮像部２から検査画像を受信する。一方、制御手段３１で生成された制御信号は、通信手段３２を通じて撮像部２へ送信される。
さらに、処理部３は、認識した文字の情報を、通信手段３２を通じて外部の機器へ出力する。
【００２０】
記憶手段３３は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）などの半導体メモリ、又は磁気ディスク、光ディスクなどの記録媒体及びそのアクセス装置で構成され、撮像部２から受信した検査画像を一時的に記憶する。また、記憶手段３３は、処理部３の制御を行うプログラムなどを記憶する。
さらに記憶手段３３は、ワーク５に刻印される可能性のある各文字（以下、認識対象文字という）に対応する文字パターンテンプレートを記憶する。この文字パターンテンプレートには、刻印される文字の理想的な形状に対応するものの他、ワーク５表面の傷や汚れなどによって文字の一部が検査画像上で識別できない場合を想定して作成された、文字の一部が欠けたパターンも含まれる。
さらに記憶手段３３は、各文字の部分的な構造を表す線素に対応する線素テンプレートを記憶する。なお、線素テンプレートの詳細については、後述する。
【００２１】
文字領域検出手段３４、正規化手段３５、パターンマッチング手段３６、輪郭抽出手段３７、線素検出手段３８及びパターン識別手段３９は、例えばＣＰＵ上で実行されるプログラムにより実装される機能モジュールである。あるいは、これらの手段は、ＣＰＵと別個に設けられた画像処理用プロセッサなどを備えた専用処理ボードとして実装されてもよい。
【００２２】
文字領域検出手段３４は、検査画像から、ワーク５上に刻印された一文字ごとに、その文字が写っている文字領域を検出する。文字領域の検出には、様々な公知の方法を利用することができる。例えば、予め検査画像上の各文字の位置及びサイズが分かっている場合、文字領域検出手段３４は、その位置及びサイズに基づいて、各文字ごとに文字領域を設定する。また、検査画像上において、ワーク５のうちの所定の形状を有する基準点の位置（例えば、ワーク５の端部、中心、または所定のマーカの位置）と、各文字との位置関係が分かっている場合、文字領域検出手段３４は、その基準点の位置を、基準点の形状に対応するテンプレートを用いてパターンマッチングを行うことなどにより検出する。そして文字領域検出手段３４は、基準点の位置と各文字の位置関係にしたがって、各文字に対する文字領域を設定する。なお、この場合、基準点は、認識対象となる文字のうちの何れか一つでもよい。
文字領域検出手段３４は、各文字領域の位置及びサイズを、他の手段でも利用できるように記憶手段３３に記憶する。
【００２３】
正規化手段３５は、各文字領域内の文字のサイズが一定となるように、文字領域を拡大または縮小する。そのために、例えば、正規化手段３５は、文字領域内の画素の平均輝度を算出する。そして、正規化手段３５は、その平均輝度よりも高い輝度を有する画素のうち、文字領域内の最も上側に位置する画素を検出する。また、正規化手段３５は、文字領域内の画素の平均輝度値よりも高い輝度を有する画素のうち、文字領域内の最も下側に位置する画素、最も左側に位置する画素、及び最も右側に位置する画素をそれぞれ検出する。そして、正規化手段３５は、検出された上端の画素と下端の画素との差が、所定高さ（例えば、６０画素）となるように、文字領域の縦方向の長さを拡大または縮小して正規化する。同様に正規化手段３５は、検出された左端の画素と右端の画素との差が、所定幅（例えば、３０画素）となるように、文字領域の横方向の長さを拡大または縮小して正規化する。正規化手段３５は、この縦及び横のサイズが正規化された文字領域に相当する画像を正規化文字領域画像として作成する。そして正規化手段３５は、正規化文字領域画像を、他の手段でも利用できるように記憶手段３３に記憶する。
【００２４】
パターンマッチング手段３６は、記憶手段３３から読み出した文字パターンテンプレートと、正規化文字領域画像との間でパターンマッチングを行って、文字領域に含まれる文字を認識する。
パターンマッチング手段３６は、パターンマッチングにより、正規化文字領域画像と各文字パターンテンプレートの相対的な位置及び角度を探索領域内で変更しつつ一致度を求め、その一致度が最大となる文字パターンテンプレートを決定する。なお、一致度（相関係数）は、例えば、以下の式で求められる。
【数１】
2010026805.tif 000003
ここでｒは一致度であり、Ｉ、Ｍはそれぞれ正規化文字領域画像及び文字パターンテンプレートの輝度値を表す。また、Ｎは文字パターンテンプレートに含まれる画素数を表す。この式において、正規化文字領域画像と文字パターンテンプレートが完全に一致する場合、一致度ｒ＝１となり、正規化文字領域画像と文字パターンテンプレートに全く相関が無い場合、一致度ｒ＝０となる。
【００２５】
パターンマッチング手段３６は、一致度の最大値rmaxが所定の閾値Thpmよりも高い場合、その最大値rmaxに対応する文字パターンテンプレートが表す文字がその文字領域内に刻印されているものとする。なお、所定の閾値Thpmは、一致度の最大値rmaxがその閾値よりも高い場合、認識結果が誤りとなる可能性が非常に低くなるように、実験結果などに基づいて設定され、例えば、0.95に設定される。
【００２６】
一方、パターンマッチング手段３６は、一致度の最大値rmaxが所定の閾値Thpm以下の場合、一致度が最も高い方から順に所定個数の文字パターンテンプレートに表される文字を、その文字領域に含まれる文字の候補である候補文字として選択する。なお、所定個数は、予め設定された固定値（例えば、２、３、５など）でもよく、あるいは、可変であってもよい。所定個数が可変の場合には、パターンマッチング手段３６は、一致度rが候補抽出閾値Thc（上記の閾値Thpmよりも低い値であり、例えば、0.7に設定される）よりも高い文字パターンテンプレート全てに表される文字を候補文字として選択する。さらに、パターンマッチング手段３６は、一致度の最大値rmaxが候補抽出閾値Thcよりも低い場合、全ての認識対象文字を候補文字としてしてもよい。
パターンマッチング手段３６は、候補文字を対応する正規化文字領域画像と関連付けて記憶手段３３に記憶する。
【００２７】
輪郭抽出手段３７、線素検出手段３８及びパターン識別手段３９は、パターンマッチング手段３６による処理の結果、特定の文字が認識されず、候補文字が選択された正規化文字領域画像に対して処理を行う。
【００２８】
輪郭抽出手段３７は、正規化文字領域画像から、その画像に写っている文字の輪郭に相当する画素を抽出する。そのために、輪郭抽出手段３７は、前処理としてノイズ除去処理を行う。具体的には、輪郭抽出手段３７は、正規化文字領域画像の各画素に対してメディアンフィルタ（例えば、３×３画素、あるいは、５×５画素のメディアンフィルタ）処理を行う。あるいは、輪郭抽出手段３７は、正規化文字領域画像の平均輝度以上の輝度値の画素を対象として、モルフォロジー演算のオープニング処理を行う。また輪郭抽出手段３７は、正規化文字領域画像に対して、上記の処理とは別に、あるいは上記の処理と組み合わせて、他の様々なノイズ除去処理（ただし、輪郭をぼかさないタイプの処理が好ましい）を実行してもよい。
【００２９】
次に、輪郭抽出手段３７は、ノイズ除去処理が施された正規化文字領域画像に対して二値化処理を行って、正規化文字領域画像の各画素を文字に相当する画素とその他の画素に区分する。そこで、輪郭抽出手段３７は、ノイズ除去処理が施された正規化文字領域画像の平均輝度値、最大輝度値及び最小輝度値をそれぞれ算出する。そして輪郭抽出手段３７は、正規化文字領域画像の輝度値を補正するために、所定の基準値（例えば、１２８）から平均輝度値を引いた差をオフセット値として求め、そのオフセット値を各画素の輝度値に加算する。さらに輪郭抽出手段３７は、各正規化文字領域画像のコントラストを一定にするため、オフセット値が加えられた最大輝度値及び最小輝度値を、それぞれ、所定の最大値（例えば、２５５）及び所定の最小値（例えば、０）となるように、正規化文字領域画像の階調を線形変換する。
【００３０】
上記のような輝度値の補正処理を行った後、輪郭抽出手段３７は、正規化文字領域画像の各画素について、所定の基準値（例えば、１２８）よりも高い輝度値を有する画素を輝度値２５５、その所定の基準値以下の輝度値を有する画素を輝度値０と二値化する。図２に示したように、本実施形態では、文字に相当する画素は、その他に相当する画素と比較して相対的に高い輝度値を有する。そのため、正規化文字領域画像の各画素は、この二値化処理によって、文字に相当する画素（輝度値２５５）とその他の画素（輝度値０）に区分される。
【００３１】
輪郭抽出手段３７は、二値化された正規化文字領域画像に対してエッジ検出処理を行って、文字の輪郭に対応する画素を抽出する。例えば、輪郭抽出手段３７は、エッジ検出処理として、Sobel（ソーベル）フィルタ、Prewitt（プレウィット）フィルタ、ラブラシアンフィルタなどの１次または２次差分フィルタを用いて、二値化された正規化文字領域画像の各画素に対するフィルタ処理を実行する。そして、輪郭抽出手段３７は、フィルタ処理結果の絶対値が所定値（例えば２５５）以上となる画素を、輪郭に対応するエッジ画素とし、輪郭であることを示す輪郭輝度値（例えば２５５）を割り当て、それ以外の画素の輝度値を０とする輪郭画像を作成する。
【００３２】
最後に、輪郭抽出手段３７は、輪郭画像に対して細線化処理を行い、エッジ画素が連結された輪郭線が１画素幅で表されるようにする。またさらに、輪郭抽出手段３７は、輪郭に相当する輝度値を持つ画素に対してモルフォロジー演算のクロージング処理を行って、ノイズ等の影響により分断された輪郭線が連結されるようにしてもよい。
輪郭抽出手段３７は、得られた輪郭画像を線素検出手段３８へ渡す。
【００３３】
線素検出手段３８は、パターン識別手段３９において利用する識別用の入力特徴量として、輪郭画像に含まれる、認識対象となる文字の部分構造を表す線素の数を求める。
図４（ａ）〜（ｈ）に、本実施形態において使用する線素テンプレートの例を示す。図４（ａ）〜（ｈ）に示すように、各線素テンプレート４０１〜４０８ｂは、それぞれ３×３画素で表され、白抜きで表された画素の組が線素である。例えば、線素テンプレート４０１は、横方向に一列に並んだ画素の組によって表される線素に対応する。また、線素テンプレート４０２は、縦方向に一列に並んだ画素の組によって表される線素に対応する。そして線素に対応する各画素は、上記の輪郭輝度値を持ち、その他の画素は輝度値０を持つ。なお、線素はこれらに限られず、例えば、５×５画素のように、図４の例とは異なる大きさで表されるものであってもよい。さらに、線素は、横３画素×縦４画素あるいは横５×縦２画素のように、縦方向と横方向とで異なる大きさを有するものであってもよい。
【００３４】
線素検出手段３８は、輪郭画像全体または輪郭画像の一部分のみを含む部分領域について、各線素と一致する画素の数を算出する。本実施形態では線素検出手段３８は、輪郭画像を上下左右にそれぞれ２分割した、４個の部分領域のそれぞれについて、上記の各線素テンプレートの何れかと一致する画素の数を算出する。なお、部分領域の設定方法は上記に限られず、例えば、輪郭画像を上下方向に３等分したものであってもよく、あるいは、各部分領域が異なる大きさを有するように設定してもよい。
【００３５】
輪郭画像に含まれる特定の画素と線素テンプレートが一致するか否かの判断は、パターンマッチングにより行うことができる。例えば、線素検出手段３８は、特定の線素テンプレートを輪郭画像の所定の位置に合わせたときに、上記の（１）式と同様の式により算出される一致度が１となれば、その線素テンプレートに対応する線素が検出されたと判定する。あるいは、線素検出手段３８は、輪郭画像中の任意の着目画素及びその周囲８近傍画素のそれぞれの輝度値が、特定の線素テンプレートの各画素の輝度値と一致するか否かを調べ、全ての画素の輝度値が一致する場合に、その線素テンプレートに対応する線素が検出されたと判定してもよい。そして線素検出手段３８は、特定の線素が検出される度に、その特定の線素の検出数を１加算する。なお、図４（ｅ）に示す線素テンプレート４０５ａ及び４０５ｂは、互いに対して中心点対称となっているため、線素検出手段３８は、線素テンプレート（４０５ａ、４０５ｂ）の組を一つの線素に対応するものとして扱う。すなわち、線素検出手段３８は、線素テンプレート４０５ａまたは線素テンプレート４０５ｂの何れかに一致する画素の検出数の合計を、一つの線素に対する検出数とする。同様に、図４（ｆ）〜（ｈ）に示す線素テンプレート（４０６ａ、４０６ｂ）、（４０７ａ、４０７ｂ）、（４０８ａ、４０８ｂ）の各組についても、それぞれの線素テンプレートの何れか一方と一致する画素の検出数の合計を、一つの線素に対する検出数とする。しかし、これら中心点対称の二つの線素を、それぞれ別の線素として扱ってもよい。
【００３６】
図５（ａ）〜（ｃ）を参照しつつ、線素の検出数を求める方法についてさらに詳しく説明する。図５（ａ）は、二値化された正規化文字領域画像の一例５０１を示し、図５（ｂ）は、正規化文字領域画像５０１から抽出された文字の輪郭を示す、輪郭画像の一例５０２を示す。また図５（ｃ）は、輪郭画像５０２の右上部分の部分領域５０３を拡大表示したものである。
図５（ｃ）において、特に枠線で囲った領域５０４を例として、各線素の検出数の算出について説明する。ここで、画素５１１に着目すると、画素５１１及びその周囲８近傍画素の輝度値は、線素テンプレート４０８ｂの各画素の輝度値と一致する。そのため、線素検出手段３８は、線素テンプレートの組（４０８ａ、４０８ｂ）に対応する線素の検出数を１加算する。一方、画素５１２に着目すると、画素５１２及びその周囲８近傍画素の輝度値は線素テンプレート４０２の各画素の輝度値と一致する。そのため、線素検出手段３８は、線素テンプレート４０２に対応する線素の検出数を１加算する。同様に、画素５１３〜５１６に着目すると、それらの画素及びその周囲８近傍画素の輝度値も、線素テンプレート４０２の各画素の輝度値と一致する。従って、線素テンプレート４０２に対応する線素の検出数は５となる。領域５０４内には、その他の線素テンプレートと一致するところは存在しないため、線素検出手段３８は、他の線素の検出数を０とする。
線素検出手段３８は、上下左右にそれぞれ２分割した、４個の部分領域のそれぞれに含まれる、各線素の検出数を特徴量としてパターン識別手段３９へ渡す。
【００３７】
パターン識別手段３９は、各部分領域に含まれる各線素の検出数に基づいて、パターンマッチング手段３６により選択された候補文字の中から、文字領域画像中に写っている文字を識別する。本実施形態では、パターン識別手段３９は、サポートベクトルマシンにより構成した。
図６に、サポートベクトルマシンの概念図を示す。サポートベクトルマシンは、所定の識別対象物が、複数のカテゴリの何れかに属する場合、その識別対象物から求めた１乃至複数の特徴量（以下、特徴量セットという）に基づいて、その識別対象物を何れのカテゴリに属するかを判定する識別器である。そしてカテゴリ間の境界は、各カテゴリに属する学習データの特徴量セットのうち、隣接するカテゴリに属する学習データの特徴量セットとの距離が最も近いものの組で表される。このカテゴリ間の境界を表す特徴量セットは、サポートベクトルと呼ばれる。図６では、丸印で示された各点が、カテゴリＣ１に属する特徴量セットの一つであり、このうち特徴量セット６０１〜６０３が、カテゴリＣ１のサポートベクトルである。また、菱形で示された各点が、カテゴリＣ２に属する特徴量セットの一つであり、このうち特徴量セット６０４〜６０６が、カテゴリＣ２のサポートベクトルである。そして、サポートベクトルマシンでは、識別精度を向上するために、カテゴリＣ１のサポートベクトルと、カテゴリＣ２のサポートベクトル間の距離（マージン）が最大化されるように、サポートベクトルが決定される。さらに、サポートベクトルマシンでは、カテゴリ間の境界が非線形な場合でも、カーネル関数を利用して、学習データの特徴量セットを高次元に写像した上でサポートベクトルを決定することにより、各カテゴリに属する特徴量セットを線形分離可能とすることで、良好な識別性能を得ることができる。
【００３８】
本実施形態では、各認識対象文字に対応する二値化された正規化文字領域画像の各部分領域に含まれる、各線素の検出数を特徴量セットとして、サポートベクトルマシンを予め学習させた。学習の際、学習データとして使用する特徴量セットとして、認識対象文字全体が完全に見えるサンプルだけでなく、認識対象文字の一部（例えば、認識対象文字に対応する画素数の約１／１０〜１／４の画素）が傷や汚れにより不鮮明となっているサンプルから抽出した特徴量セットも利用した。さらに、正規化文字領域画像内に、傷や汚れに相当する画素が含まれるものから抽出した特徴セットも学習データとして使用した。
このような、画像中に傷や汚れを含むサンプルから抽出した特徴量セットも学習データとして利用することにより、サポートベクトルマシンの識別器としてのロバスト性を高めることができる。
学習されたサポートベクトルマシンは、各認識対象文字ごとのサポートベクトルに相当する特徴量セットなどによって表される。そしてこれらの特徴量セットは、各認識対象文字と関連付けられて、予め記憶手段３３に記憶される。
【００３９】
パターン識別手段３９は、線素検出手段３８から各部分領域に含まれる、各線素の検出数を受け取ると、それをサポートベクトルマシンの入力特徴量とすることにより、特定の認識対象文字である確からしさを表す確信度を各候補文字に対して出力する。そしてパターン識別手段３９は、確信度の最大値Pmaxが、所定の閾値Thpdよりも高い場合、その確信度の最大値Pmaxに対応する候補文字が、文字領域に写っている文字であると判定する。一方、確信度の最大値Pmaxが閾値Thpd以下である場合には、パターン識別手段３９は、その文字領域に写っている文字を識別不能と判定する。なお、閾値Thpdは、文字認識結果の信頼性が十分であると考えられる確信度に相当し、文字認識装置１に要求される認識精度に応じて適宜設定される。
【００４０】
最後に、処理部３は、各文字領域の位置関係に従って、パターンマッチング手段３６またはパターン識別手段３９により認識された各文字を配列し、ワーク５に刻印された文字列情報を得る。そして処理部３は、認識された文字列情報を、ディスプレイに表示してユーザに報知したり、通信手段３２を介して通信可能に接続された他の機器へ出力する。
【００４１】
図７を参照しつつ、本発明を適用した文字認識装置１が一つのワーク５に刻印された文字列情報を認識する際の動作について説明する。なお、文字認識装置１の動作は、処理部３の制御手段３１によって制御される。
【００４２】
図７に示すように、検査が開始されると、撮像部２は、ワーク５の文字が刻印された面を撮影し、検査画像を取得する（ステップＳ１０１）。取得された検査画像は、処理部３に送信される。処理部３は、検査画像を受信すると、文字領域検出手段３４により、検査画像からワーク５上に刻印された各文字ごとに、その文字が含まれる文字領域を検出する（ステップＳ１０２）。なお、文字領域検出手段３４による文字領域検出処理の詳細は、上述したとおりである。
【００４３】
各文字に対応する文字領域が検出されると、処理部３は、それら文字領域の中から、着目する文字領域を設定する（ステップＳ１０３）。そして、処理部３は、正規化手段３５により、着目文字領域内の文字が所定のサイズとなるように、着目文字領域を拡大または縮小して、着目文字領域に対応する正規化文字領域画像を作成する（ステップＳ１０４）。
【００４４】
次に、処理部３は、パターンマッチング手段３６により、着目文字領域に対応する正規化文字領域画像と、認識対象文字の各文字パターンテンプレートとのパターンマッチングを行い、各文字パターンテンプレートごとに一致度を算出する（ステップＳ１０５）。そしてパターンマッチング手段３６は、一致度の最大値rmaxと所定の閾値Thpmを比較する（ステップＳ１０６）。パターンマッチング手段３６は、一致度の最大値rmaxが所定の閾値Thpmよりも高い場合、その最大値rmaxに対応する文字パターンテンプレートが表す文字が着目文字領域内に刻印されているものと判定する（ステップＳ１０７）。
【００４５】
一方、パターンマッチング手段３６は、一致度の最大値rmaxが所定の閾値Thpm以下の場合、一致度が最も高い方から順に所定個数の文字パターンテンプレートに表される文字を、候補文字として選択する。そして、処理部３は、パターン識別手段３９により、着目文字領域内に刻印されている文字を、候補文字の中の何れかの文字と判定する（ステップＳ１０８）。
【００４６】
ステップＳ１０７またはステップＳ１０８の後、処理部３は、ワーク５上に刻印されている全ての文字が認識されたか否かを判定する（ステップＳ１０９）。まだ認識されていない文字が有る場合には、制御をステップＳ１０３に戻し、着目文字領域に設定されていない文字領域の中から、新たな着目文字領域を設定する。そして処理部３は、ステップＳ１０４〜Ｓ１０９の処理を繰り返す。一方、ステップＳ１０９において、全ての文字が認識されたと判定されると、処理部３は、認識した各文字を、各文字領域の位置関係に基づいて配列することにより文字列情報を得て、その文字列情報を出力する（ステップＳ１１０）。そして処理部３は認識処理を終了する。
【００４７】
図８を参照しつつ、上記のステップＳ１０８の処理の詳細な手順について説明する。
まず、処理部３の輪郭抽出手段３７は、着目文字領域に対応する正規化文字領域画像に対してノイズ除去処理を実行する（ステップＳ２０１）。輪郭抽出手段３７は、ノイズ除去処理として、上記のように、メディアンフィルタ処理、モルフォロジー演算のオープニング処理、または他の様々なノイズ除去処理の何れかまたはそれらを組み合わせて実行する。次に、輪郭抽出手段３７は、二値化処理を行って、文字に対応する画素とその他の画素を区分する（ステップＳ２０２）。その後、輪郭抽出手段３７は、エッジ検出処理を行って、文字の輪郭を抽出した輪郭画像を作成する（ステップＳ２０３）。さらに、輪郭抽出手段３７は、その輪郭線が１画素の幅となるように、輪郭画像に対して細線化処理を実行する。
【００４８】
次に、処理部３の線素検出手段３８は、輪郭画像を上下左右に各２等分して得られた４個の部分領域のそれぞれについて、その部分領域に含まれる各線素の数を検出する（ステップＳ２０４）。なお、線素の数の検出処理の詳細については、線素検出手段３８に関して上述したとおりである。
各部分領域に含まれる、複数の線素のそれぞれの検出数が求まると、処理部３のパターン識別手段３９は、それら検出数を入力特徴量として、各候補文字の確信度を算出する（ステップＳ２０５）。そしてパターン識別手段３９は、確信度の最大値pmaxと所定の閾値Thpdを比較する（ステップＳ２０６）。パターン識別手段３９は、確信度の最大値pmaxが所定の閾値Thpdよりも高い場合、その最大値pmaxに対応する候補文字が着目文字領域内に刻印されているものと判定する（ステップＳ２０７）。一方、パターン識別手段３９は、確信度の最大値pmaxが所定の閾値Thpd以下の場合、着目文字領域内の文字は識別不能と判定する（ステップＳ２０８）。
【００４９】
以上説明してきたように、本発明の一実施形態に係る文字認識装置は、ワーク表面に刻印された文字を、先ずパターンマッチングにより認識し、その結果、認識精度が低いと考えられる文字を、別途用意したサポートベクトルマシンを用いて認識する。このように、係る文字認識装置は、異なる複数の手法を用いてワーク表面の文字を認識することにより、良好な認識精度を得ることができる。さらに、サポートベクトルマシンの入力特徴量として、文字領域の各部分領域から抽出した、文字の部分的な構造を表す様々な線素の検出数を用いているので、文字の一部が傷や汚れなどにより不鮮明になっていたとしても、その汚れなどの影響を抑制することができる。したがって、係る文字認識装置は、被検査物上の文字の一部が傷や汚れなどによって不鮮明な場合でも、その文字を正確に認識することができる。
【００５０】
なお、上述してきた実施形態は、本発明を説明するためのものであり、本発明は、これらの実施形態に限定されるものではない。
例えば、上記の実施形態において、パターンマッチング手段３６を省略し、直接パターン識別手段３９、すなわち、サポートベクトルマシンにより文字認識を行ってもよい。この場合には、候補文字は選択されないので、パターン識別手段３９は、全ての認識対象文字に対する確信度を算出し、確信度の最大値に対応する文字が文字領域に写っていると判定する。また、被検査物に表記されている文字のサイズが一定であることが予め分かっている場合、正規化手段３５及び正規化手段３５による文字領域の拡大／縮小処理を省略してもよい。
【００５１】
また、パターン識別手段３９は、選択された各候補文字の全てが互いに異なる部分領域の各線素の検出数のみを入力特徴量として用いてもよい。この場合には、入力特徴量として使用する各線素の数を求める部分領域の位置及びサイズを、上半分、下半分、左上、右下など、候補文字の組み合わせに応じて設定することができる。例えば、候補文字が'６'と'８'の２文字である場合、パターン識別手段３９は、使用する部分領域を文字領域の右上部分に位置する領域とすることができる。なお、候補文字の組み合わせと、使用する部分領域の対応関係は、予めルックアップテーブルに定義し、記憶手段３３に記憶しておく。
さらにこの場合、パターン識別手段３９において使用されるサポートベクトルマシンは、候補文字の組み合わせごとに、別個に準備され、各サポートベクトルマシンは、使用する部分領域のみの各線素の検出数を入力特徴量とするように、予め学習しておくことが好ましい。
【００５２】
また、線素検出手段３８は、文字領域画像に対して輪郭抽出及びその前処理を行わず、所定の閾値（例えば、文字領域画像の平均輝度値）以上の輝度値を持つ画素を対象に直接細線化した後、線素の数を求めてもよい。この場合には、サンプルの文字領域画像に対して直接細線化処理を行った後に各部分領域について検出された各線素の数を学習データとして使用し、パターン識別手段３９のサポートベクトルマシンを学習する。
さらに、パターン識別手段３９を、サポートベクトルマシンの代わりに、別の非線形識別器により構成してもよい。例えば、パターン識別手段３９を、３層以上の層を持つパーセプトロンタイプのニューラルネットワークにより構成してもよい。
【００５３】
以上のように、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【図面の簡単な説明】
【００５４】
【図１】本発明を適用した文字認識装置の概略構成図である。
【図２】被検査物のワークを撮影した検査画像の概略図である。
【図３】処理部の機能ブロック図である。
【図４】（ａ）〜（ｈ）は、それぞれ線素の一例を示す図である。
【図５】（ａ）は、二値化された正規化文字領域画像の一例を示す図であり、（ｂ）は、（ａ）に示した正規化文字領域画像から抽出された文字の輪郭を示す、輪郭画像の一例を示す図であり、（ｃ）は、（ｂ）に示した輪郭画像の右上部分の部分領域の拡大図である。
【図６】サポートベクトルマシンの概念図である。
【図７】本発明を適用した文字認識装置の全体動作を示すフローチャートである。
【図８】パターン識別処理の動作を示すフローチャートである。
【符号の説明】
【００５５】
１    文字認識装置
２    撮像部（画像取得手段）
３    処理部
３１    制御手段
３２    通信手段
３３    記憶手段
３４    文字領域検出手段
３５    正規化手段
３６    パターンマッチング手段
３７    輪郭抽出手段
３８    線素検出手段
３９    パターン識別手段
５    ワーク
【図１】
2010026805.tif 000004
【図３】
2010026805.tif 000005
【図４】
2010026805.tif 000006
【図５】
2010026805.tif 000007
【図６】
2010026805.tif 000008
【図７】
2010026805.tif 000009
【図８】
2010026805.tif 000010
【図２】
2010026805.tif 000011