(57)【特許請求の範囲】
【請求項１】
文字が記された被検査物（１）を撮影した検査画像を取得する画像取得手段（１１）と、
前記検査画像の文字領域から求めた特徴量に基づいて、前記文字領域に写っている文字を識別するサポートベクターマシン（１２９）と、
複数のモデル画像の文字部分相互間の相違領域（Ａ１）を細分化した第１セル（Ｂ１）の輝度値を特徴量として前記サポートベクターマシン（１２９）の学習データを生成する学習データ生成手段（Ｓ１２０）とを備えることを特徴とする文字認識装置。
【請求項２】
前記学習データ生成手段（Ｓ１２０）は、前記モデル画像の背景部分相互間の相違領域（Ａ２）を細分化した第２セル（Ｂ２）の輝度値も特徴量として前記学習データを生成することを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記学習データ生成手段（Ｓ１２０）は、前記文字部分相互間の共通領域（Ａ３）を細分化した第３セル（Ｂ３）の輝度値も特徴量として前記サポートベクターマシン（１２９）の学習データを生成することを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記学習データ生成手段（Ｓ１２０）は、前記学習データに利用する前記第１セル（Ｂ１）および前記第２セル（Ｂ２）の合計個数を、前記学習データに利用する前記第３セル（Ｂ３）の個数よりも多くすることを特徴とする請求項３に記載の文字認識装置。
【請求項５】
前記複数のモデル画像は、相互のパターンマッチングによって求められた一致度が閾値を超えた一組の画像であることを特徴とする請求項１ないし４のいずれか１つに記載の文字認識装置。
【請求項６】
前記文字領域を認識対象文字に対応するテンプレート画像と比較してパターンマッチングを行い前記認識対象文字との一致度を求めるパターンマッチング手段（１２４）を備え、
前記サポートベクターマシン（１２９）は、前記一致度が最も高くなった前記認識対象文字に対する確信度を求めることを特徴とする請求項１ないし５のいずれか１つに記載の文字認識装置。
【請求項７】
複数のモデル画像の文字部分相互間の相違領域（Ａ１）を細分化した第１セル（Ｂ１）の輝度値を特徴量としてサポートベクターマシン（１２９）の学習データを生成するステップ（Ｓ１２０）と、
文字が記された被検査物（１）を撮影した検査画像を取得するステップ（Ｓ２００）と、
前記サポートベクターマシン（１２９）を用いて、前記検査画像の文字領域から求めた特徴量に基づいて前記文字領域に写っている文字を識別するステップ（Ｓ２５０）とを含むことを特徴とする文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置および文字認識方法に関するものである。
【背景技術】
【０００２】
従来、特許文献１には、実際に誤読の起こる可能性のあるモデル組に関する情報を記憶しておく文字認識方法が記載されている。
【０００３】
この従来技術では、整合処理によって得られた二つの候補モデルがＭｉ１、Ｍｉ２であった場合（Ｍｉ１、Ｍｉ２のいずれが第１位、第２位であるかを問わない）、テーブル要素Ａｉが参照されることになる。
【０００４】
そして、認識処理対象の文字画像と各候補モデル（ここではＭｉ１、Ｍｉ２）との相違度Ｄｉ１、Ｄｉ２を、対応した再評価係数ｋｉ１、ｋｉ２を乗じて再評価し、ｋｉ１×Ｄｉ１≦ｋｉ２×Ｄｉ２のときはモデルＭｉ１の文字カテゴリを最終結果とし、ｋｉ１×Ｄｉ１＞ｋｉ２×Ｄｉ２のときはモデルＭｉ２の文字カテゴリを最終結果とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１９４７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術によると、候補モデルとの相違度を係数と掛け合わせて再評価しているに過ぎず、実質的に文字認識をしていない。また、評価係数の求め方が不明であるし、そもそも誤認識しない評価係数を予め決定することは困難であると考えられる。
【０００７】
本発明は上記点に鑑みて、文字の認識精度を向上することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載の発明では、文字が記された被検査物１を撮影した検査画像を取得する画像取得手段１１と、
検査画像の文字領域から求めた特徴量に基づいて、文字領域に写っている文字を識別するサポートベクターマシン１２９と、
複数のモデル画像の文字部分相互間の相違領域Ａ１を細分化した第１セルＢ１の輝度値を特徴量としてサポートベクターマシン１２９の学習データを生成する学習データ生成手段Ｓ１２０とを備えることを特徴とする。
【０００９】
これによると、複数文字相互間の相違を顕在化させることができるので、文字の誤認識を抑制して認識精度を向上させることができる。
【００１０】
なお、この欄および特許請求の範囲で記載した各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における文字認識装置の全体構成図である。
【図２】図１の処理部を示すブロック図である。
【図３】サポートベクターマシンの概念図である。
【図４】サポートベクターマシンの学習処理を示すフローチャートである。
【図５】サポートベクターマシンの学習処理においてパターンマッチングを行った結果の例を示すグラフである。
【図６】サポートベクターマシンの学習処理において作成された類似グループの例を示す図表である。
【図７】サポートベクターマシンの学習データ生成処理を示すフローチャートである。
【図８】サポートベクターマシンの学習データ生成処理において画像処理を行った結果の例を示す図である。
【図９】サポートベクターマシンの学習データ生成処理において作成された学習テーブルの例を示す図表である。
【図１０】文字認識装置の文字認識処理を示すフローチャートである。
【図１１】文字認識装置の文字認識処理に用いられた文字領域画像の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、一実施形態を説明する。図１に示す文字認識装置１０は、車両のエンジンに燃料を供給する燃料ポンプの生産ラインに設置され、燃料ポンプの部品の表面に刻印された型番等の文字（本例では、アルファベット大文字）を認識する。
【００１３】
文字認識装置１０は、先ずパターンマッチングにより文字認識を行って候補文字を選択し、候補文字に類似する類似文字がある場合、類似文字との相違領域等から抽出したセルの輝度値をサポートベクターマシンの入力特徴量として、候補文字である可能性を表すプロバビリティ（確信度）を求める。
【００１４】
文字認識装置１０は、撮像部１１と処理部１２とを備えている。撮像部１１は、被検査物であるワーク１を撮影して検査画像を取得する画像取得手段であり、取得した検査画像を処理部１２へ送信する。撮像部１１は、ワーク１を照明する照明光源を有してもよい。
【００１５】
処理部１２は、撮像部１１が取得した検査画像に基づいてワーク１表面に刻印された文字を認識するとともに種々の制御を行う。処理部１２は、パーソナルコンピュータおよびその周辺機器で構成されている。
【００１６】
図２に示すように、処理部１２は、制御手段１２１、通信手段１２２、記憶手段１２３、パターンマッチング手段１２４、ＸＯＲ演算手段１２５、ＡＮＤ演算手段１２６、セル抽出手段１２７、平均輝度値算出手段１２８およびサポートベクターマシン１２９等を有している。
【００１７】
制御手段１２１は、パーソナルコンピュータの中央演算装置（ＣＰＵ）と、その周辺回路などで構成され、ＣＰＵに読み込まれたプログラムにしたがって動作し、撮像部１１および処理部１２の各手段を制御する。
【００１８】
通信手段１２２は、処理部１２と、撮像部１１等の機器との間で制御信号、画像データおよびデータ信号を送受信する通信インタフェースであり、Ｉ／Ｏポートおよびそのドライバで構成される。
【００１９】
処理部１２は、通信手段１２２を通じて撮像部１１から検査画像を受信する。制御手段１２１で生成された制御信号は、通信手段１２２を通じて撮像部１１へ送信される。処理部１２は、認識した文字の情報を、通信手段１２２を通じて外部の機器へ出力する。
【００２０】
記憶手段１２３は、ランダムアクセスメモリ（ＲＡＭ）やリードオンリメモリ（ＲＯＭ）といった半導体メモリ、磁気ディスク、光ディスクなどの記憶媒体、および記憶媒体へのアクセス装置などで構成されており、処理部１２の制御を行うプログラムや種々のデータを記憶する。
【００２１】
記憶手段１２３が記憶するデータとしては、例えば、ワーク１に刻印される可能性のある各文字（以下、認識対象文字という）に対応するテンプレート画像、サポートベクターマシン１２９の学習データ、および撮像部１１が撮影した検査画像などがある。
【００２２】
パターンマッチング手段１２４、ＸＯＲ演算手段１２５、ＡＮＤ演算手段１２６、セル抽出手段１２７、平均輝度値算出手段１２８およびサポートベクターマシン１２９は、例えばＣＰＵ上で実行されるプログラムにより実装される機能モジュールである。これらの手段１２４〜１２９は、ＣＰＵとは別個の画像処理用プロセッサを備える専用処理ボードとして実装されてもよい。
【００２３】
パターンマッチング手段１２４は、入力画像を記憶手段１２３から読み出したテンプレート画像と比較してパターンマッチングを行って、入力画像に含まれる文字を認識する。具体的には、パターンマッチング手段１２４は、入力画像と各テンプレート画像との一致度を表すスコアを求め、そのスコアが最大となるテンプレート画像を決定する。本例では、スコアを下記の数式１に示す正規化相関係数で求める。
【００２４】
【数１】
0005729348.tif 000002
ここでＲはスコア（一致度）であり、Ｉは入力画像の輝度値であり、Ｔはテンプレート画像の輝度値であり、ｗは画像の幅であり、ｈは画像の高さである。
【００２５】
入力画像に含まれる文字とテンプレート画像に含まれる文字とが完全に一致する場合、スコアＲ＝１となり、入力画像に含まれる文字とテンプレート画像に含まれる文字とに全く相関が無い場合、スコアＲ＝０となる。
【００２６】
ＸＯＲ演算手段１２５は、２つの画像の排他的論理和（ＸＯＲ）を求める。ＡＮＤ演算手段１２６は、２つの画像の論理積（ＡＮＤ）を求める。セル抽出手段１２７は、画像中の所定領域から所定の大きさのセルを抽出する。平均輝度値算出手段１２８は、セル抽出手段１２７が抽出した各セルの平均輝度値を算出する。ＸＯＲ演算手段１２５、ＡＮＤ演算手段１２６、セル抽出手段１２７および平均輝度値算出手段１２８の詳細については後述する。
【００２７】
サポートベクターマシン１２９は、平均輝度値算出手段１２８が算出した各セルの平均輝度値を特徴量として、画像中に写っている文字を識別する。図３に、サポートベクターマシン１２９の概念図を示す。
【００２８】
サポートベクターマシン１２９は、所定の識別対象物が、複数のカテゴリの何れかに属する場合、その識別対象物から求めた特徴量に基づいて、その識別対象物を何れのカテゴリに属するかを判定する識別器である。
【００２９】
カテゴリ間の境界は、各カテゴリに属する学習データの特徴量のうち、隣接するカテゴリに属する学習データの特徴量との距離が最も近いものの組で表される。このカテゴリ間の境界を表す特徴量は、サポートベクトルと呼ばれる。
【００３０】
図３の例では、丸印で示された各点が、カテゴリＣ１に属する特徴量であり、このうち特徴量２０１〜２０３が、カテゴリＣ１のサポートベクトルである。また、菱形で示された各点が、カテゴリＣ２に属する特徴量であり、このうち特徴量２０４〜２０６が、カテゴリＣ２のサポートベクトルである。
【００３１】
サポートベクターマシン１２９では、識別精度を向上するために、カテゴリＣ１のサポートベクトルと、カテゴリＣ２のサポートベクトル間の距離（マージン）が最大化されるように、サポートベクトルが決定される。
【００３２】
サポートベクターマシン１２９では、カテゴリ間の境界が非線形な場合でも、カーネル関数を利用して、学習データの特徴量を高次元に写像した上でサポートベクトルを決定することにより、各カテゴリに属する特徴量を線形分離可能とすることで、良好な識別性能を得ることができる。
【００３３】
本実施形態では、互いに類似する複数の認識対象文字の相違領域等から抽出したセルの平均輝度値を学習データの特徴量としてサポートベクターマシン１２９を予め学習させた。サポートベクターマシン１２９の学習に用いる学習データの生成方法については後述する。
【００３４】
サポートベクターマシン１２９は、複数の画像の相違領域等から抽出したセルの平均輝度値を受け取ると、それを入力特徴量とすることにより、特定の認識対象文字である確信度を表すプロバビリティを求める。
【００３５】
処理部１２は、パターンマッチング手段１２４またはサポートベクターマシン１２９による文字認識結果を、ディスプレイに表示してユーザに報知したり通信手段１２２を介して通信可能に接続された他の機器へ出力したりする。
【００３６】
次に、サポートベクターマシン１２９の学習方法を説明する。サポートベクターマシン１２９の学習は、処理部１２が図４のフローチャートに示す処理を実行することによって行われる。
【００３７】
まずステップＳ１００では、学習に用いる入力画像を生成する。具体的には、認識対象文字に対応するモデル画像の大きさなどを自動調整する。本例では、モデル画像は予め記憶手段１２３に記憶されている。
【００３８】
続くステップＳ１１０では、類似文字のグルーピングを行う。具体的には、パターンマッチング手段１２４が、各テンプレート画像相互間で、上述の数式１に示す正規化相関係数を用いてパターンマッチングを行う。そして、パターンマッチングのスコアＲが閾値（本例では０．７）を超えた文字を類似文字としてグルーピングする。
【００３９】
図５は、認識対象文字「Ｃ」についてパターンマッチングを行った結果の例を示している。この場合、認識対象文字「Ｄ」、「Ｇ」、「Ｏ」、「Ｑ」のスコアが０．７を超えるため、認識対象文字「Ｃ」と、類似文字「Ｃ」、「Ｄ」、「Ｇ」、「Ｏ」、「Ｑ」との組合せでグルーピングする。
【００４０】
本例では、２種類の文字の組合せでグルーピングして類似グループを作成する。具体的には、「Ｃ、Ｄ」、「Ｃ、Ｇ」、「Ｃ、Ｏ」および「Ｃ、Ｑ」の４つの類似グループを作成する。
【００４１】
このようなグルーピングを「Ｃ」以外の認識対象文字についても行う。本例では、学習対象文字がアルファベット大文字であるので、例えば図６に示すような類似グループが作成される。作成された類似グループは、記憶手段１２３に書き込まれて登録される。
【００４２】
続くステップＳ１２０では、サポートベクターマシン１２９の学習に用いる学習データを生成する。したがって、ステップＳ１２０は学習データ生成手段を構成している。ステップＳ１２０の詳細を図７に示す。
【００４３】
まずステップＳ１２１０では、ステップＳ１１０で作成した類似グループの各認識対象文字に対応する各テンプレート画像を記憶手段１２３から読み出して入力する。
【００４４】
続くステップＳ１２２０では、ステップＳ１２１０で入力された各テンプレート画像について、文字部分の相違領域を抽出し、抽出した文字部分の相違領域を多数個のセルに細分化する。続くステップＳ１２３０では、ステップＳ１２２０で細分化した多数個のセルについて学習データを生成する。
【００４５】
図８（ａ）は、「Ｃ、Ｄ」の類似グループについてステップＳ１２２０、Ｓ１２３０を実行した例を示し、図８（ｂ）は、「Ｃ、Ｏ」の類似グループについてステップＳ１２２０、Ｓ１２３０を実行した例を示している。
【００４６】
ステップＳ１２２０では、ＸＯＲ演算手段１２５が類似グループの各認識対象文字に対応する各テンプレート画像の各文字部分に対して排他的論理和（ＸＯＲ）を求めることによって文字部分の相違領域Ａ１（図中の白色の領域）を抽出し、セル抽出手段１２７が相違領域Ａ１から第１セルＢ１を抽出することによって相違領域Ａ１を多数個の第１セルＢ１に細分化する。
【００４７】
図８（ａ）の例では、「Ｃ」、「Ｄ」のテンプレート画像の各文字部分に対して排他的論理和（ＸＯＲ）を求めることによって文字部分の相違領域Ａ１を抽出し、図８（ｂ）の例では、「Ｃ」、「Ｏ」のテンプレート画像の各文字部分に対して排他的論理和（ＸＯＲ）を求めることによって文字部分の相違領域Ａ１を抽出した。
【００４８】
本例では、相違領域Ａ１から四角形の第１セルＢ１を抽出している。相違領域Ａ１から第１セルＢ１を抽出する方法としては、例えば、第１セルＢ１に対応した四角形のパターンで相違領域をサーチングすることによって、相違領域を多数個の第１セルＢ１に細分化することができる。
【００４９】
ステップＳ１２３０では、平均輝度値算出手段１２８が各第１セルＢ１の平均輝度値を算出し、その平均輝度値を学習データとする。本例では、各第１セルＢ１の画像（グレー画像）の平均輝度値を、黒を０、白を１として正規化して学習データとする。
【００５０】
続くステップＳ１２４０では、ステップＳ１２１０で入力された各テンプレート画像について、背景部分（文字以外の部分）の相違領域を抽出し、抽出した背景部分の相違領域を多数個のセルに細分化する。続くステップＳ１２５０では、ステップＳ１２４０で細分化した多数個のセルについて学習データを作成する。
【００５１】
図８（ｃ）は、「Ｃ、Ｄ」の類似グループについてステップＳ１２４０、Ｓ１２５０を実行した例を示し、図８（ｄ）は、「Ｃ、Ｏ」の類似グループについてステップＳ１２４０、Ｓ１２５０を実行した例を示している。
【００５２】
ステップＳ１２４０では、ＸＯＲ演算手段１２５が類似グループの各認識対象文字に対応する各テンプレート画像の各背景部分に対して排他的論理和（ＸＯＲ）を求めることによって背景部分の相違領域Ａ２（図中の白色の領域）を抽出し、セル抽出手段１２７が相違領域Ａ２から第２セルＢ２を抽出することによって相違領域Ａ２を多数個の第２セルＢ２に細分化する。
【００５３】
図８（ｃ）の例では、「Ｃ」、「Ｄ」のテンプレート画像の各背景部分に対して排他的論理和（ＸＯＲ）を求めることによって背景部分の相違領域Ａ２を抽出し、図８（ｄ）の例では、「Ｃ」、「Ｏ」のテンプレート画像の各背景部分に対して排他的論理和（ＸＯＲ）を求めることによって背景部分の相違領域Ａ２を抽出した。
【００５４】
本例では、ステップＳ１２２０と同様に、相違領域Ａ２から四角形の第２セルＢ２を抽出している。なお、図８（ｄ）の例では、相違領域Ａ２の大きさが小さいため、第２セルＢ２が１つも抽出されていない。
【００５５】
ステップＳ１２５０では、ステップＳ１２３０と同様に、平均輝度値算出手段１２８が各第２セルＢ２の平均輝度値を算出し、その平均輝度値を学習データとする。
【００５６】
続くステップＳ１２６０では、ステップＳ１２１０で入力された各テンプレート画像について、文字部分の共通領域を抽出し、抽出した文字部分の共通領域を多数個のセルに細分化する。続くステップＳ１２７０では、ステップＳ１２６０で細分化した多数個のセルについて学習データを作成する。
【００５７】
図８（ｅ）は、「Ｃ、Ｄ」の類似グループについてステップＳ１２６０、Ｓ１２７０を実行した例を示し、図８（ｆ）は、「Ｃ、Ｏ」の類似グループについてステップＳ１２６０、Ｓ１２７０を実行した例を示している。
【００５８】
ステップＳ１２６０では、ＡＮＤ演算手段１２６が類似グループの各認識対象文字に対応する各テンプレート画像の各文字部分に対して論理積（ＡＮＤ）を求めることによって文字部分の共通領域Ａ３（図中の白色の領域）を抽出し、セル抽出手段１２７が共通領域Ａ３から第３セルＢ３を抽出することによっ共通領域Ａ３を多数個の第３セルＢ３に細分化する。
【００５９】
図８（ｅ）の例では、「Ｃ」、「Ｄ」のテンプレート画像の各文字部分に対して論理積（ＡＮＤ）を求めることによって文字部分の共通領域Ａ３を抽出し、図８（ｆ）の例では、「Ｃ」、「Ｏ」のテンプレート画像の各文字部分に対して論理積（ＡＮＤ）を求めることによって文字部分の共通領域Ａ３を抽出した。
【００６０】
本例では、ステップＳ１２２０、Ｓ１２４０と同様に、共通領域Ａ３から四角形の第３セルＢ３を抽出している。
【００６１】
ステップＳ１２７０では、ステップＳ１２３０、Ｓ１２５０と同様に、平均輝度値算出手段１２８が各第３セルＢ３の平均輝度値を算出し、その平均輝度値を学習データとする。
【００６２】
続くステップＳ１２８０では、ステップＳ１２３０、Ｓ１２５０、Ｓ１２７０で作成した学習データ、すなわち各第１、第２、第３セルＢ１、Ｂ２、Ｂ３の平均輝度値データを併合してＳＶＭ学習テーブルを作成する。図９は、「Ｃ、Ｏ」の類似グループについて作成した学習テーブルの例を示している。
【００６３】
ステップＳ１２８０では、第１、第２、第３セルＢ１、Ｂ２、Ｂ３の個数を調整して重み付けを行う。具体的には、文字部分および背景部分の相違領域Ａ１、Ａ２の第１、第２セルＢ１、Ｂ２の合計個数が、文字部分の共通領域の第３セルＢ３の個数よりも多くなるように、第１、第２、第３セルＢ１、Ｂ２、Ｂ３を適宜間引きする。
【００６４】
より具体的には、学習テーブル上のセルの全個数（図９の例では１００個）に対して、文字部分および背景部分の相違領域Ａ１、Ａ２の第１、第２セルＢ１、Ｂ２の合計個数を７０％以上、文字部分の共通領域の第３セルＢ３の個数を３０％未満とするのが好ましい。
【００６５】
このとき、間引き後の各第１、第２、第３セルＢ１、Ｂ２、Ｂ３が各領域Ａ１、Ａ２、Ａ３において極力均等に位置するように第１、第２、第３セルＢ１、Ｂ２、Ｂ３を間引きするのが好ましい。このような第１、第２、第３セルＢ１、Ｂ２、Ｂ３の間引きについての理解を容易にするために、図８（ｅ）、（ｆ）では、間引きされて少なくなった第３セルＢ３が文字部分の共通領域Ａ３に略均等に位置している様子を模式的に示している。
【００６６】
本例では、サポートベクターマシン１２９の学習対象としてのモデル画像として、認識対象文字に対応するテンプレート画像と同じ画像の他、文字の周囲に汚れがあったり文字の一部が欠けていたりする不鮮明な画像も複数個含め、これらの不鮮明なモデル画像から抽出した学習データもデフォルト設定に含めている。図９では、不鮮明なモデル画像から抽出した学習データを太枠で囲んで示している。このような不鮮明なモデル画像から抽出した学習データも利用することにより、サポートベクターマシン１２９のロバスト性を向上することができる。
【００６７】
なお、図９では図示を省略しているが、本例では、学習テーブルに各セルＢ１、Ｂ２、Ｂ３の位置情報（重心に対する相対位置）も含めている。
【００６８】
ステップＳ１２９０では、ステップＳ１２８０で併合した学習データ（学習テーブル）を記憶手段１２３に出力して書き込む。
【００６９】
ステップＳ１３０では、ＳＶＭ学習（サポートベクターマシン学習）を行う。具体的には、ステップＳ１２０で作成した学習データ（学習テーブル）をサポートベクターマシン１２９に入れ込む。以上により、サポートベクターマシン１２９の学習処理を終了する。
【００７０】
次に、文字認識装置１０を用いた文字認識方法を説明する。文字認識装置１０を用いた文字認識は、サポートベクターマシン１２９の学習処理を終了した後に処理部１２が図１０のフローチャートに示す処理を実行することによって行われる。
【００７１】
まずステップＳ２００では、撮像部１１によって撮影された検査画像を入力する。続くステップＳ２１０では、ステップＳ２００で入力された検査画像から文字が写っている領域の画像（以下、文字領域画像という。）を切り出す。
【００７２】
続くステップＳ２２０では、ステップＳ２１０で切り出された文字領域画像と、各認識対象文字に対応するテンプレート画像との間でパターンマッチングを行う。具体的には、パターンマッチング手段１２４が、ステップＳ２１０で切り出された文字領域画像と、各認識対象文字に対応するテンプレート画像との間で、上述の数式１に示す正規化相関係数を用いてパターンマッチングを行う。
【００７３】
続くステップＳ２３０では、ステップＳ２２０のパターンマッチングで最も高いスコアが得られた文字（以下、最高スコア文字）について、記憶手段１２３に登録されている類似グループを探索する。
【００７４】
ステップＳ２４０では、ステップＳ２３０での探索結果に基づいて、類似グループの登録があるか否かを判定する。類似グループの登録があると判定した場合、ステップＳ２５０へ進みＳＶＭ判別（サポートベクターマシン判別）を行う。
【００７５】
具体的には、ステップＳ２１０で切り出された文字領域画像、およびステップＳ２３０で探索された類似グループに属する類似文字のテンプレート画像の両画像に基づいて上述のステップＳ１２２０〜Ｓ１２７０と同様の処理を行って、両画像の文字部分の相違領域、背景部分の相違領域および文字部分の共通領域を抽出し、抽出した各領域から多数個のセルを抽出して各セルの平均輝度値を求める。そして、各セルの平均輝度値をサポートベクターマシンの入力特徴量とすることにより、ステップＳ２２０のパターンマッチングにおける最高スコア文字についてプロバビリティを求める。
【００７６】
一方、ステップＳ２４０にて類似グループの登録がないと判定した場合、ステップＳ２６０へ進み、ステップＳ２２０のパターンマッチングにおける最高スコア文字を第１位候補文字として選択する。
【００７７】
ステップＳ２５０、Ｓ２６０に続くステップＳ２７０では、ステップＳ２６０で選択した第１位候補文字におけるパターンマッチングのスコア、またはステップＳ２４０のＳＶＭ判別で求められたプロバビリティが閾値以上であるか否かを判定する。
【００７８】
閾値以上であると判定した場合、ステップＳ２８０へ進み、ステップＳ２２０のパターンマッチングにおける最高スコア文字（第１位候補文字）を認識文字としてディスプレイ等の出力対象機器に出力する。
【００７９】
一方、閾値未満であると判定した場合、ステップＳ２９０へ進み、文字の識別が不能であったこと（認識ＮＧ）をディスプレイ等の出力対象機器に出力する。
【００８０】
なお、ステップＳ２７０で用いる閾値は、文字認識装置１０に要求される認識精度に応じて適宜設定される。本例では、閾値が０．７に設定されている。
【００８１】
次に、図１０のフローチャートに示す処理によって文字認識を実行した結果の例を説明する。図１１（ａ）、（ｂ）は、ステップＳ２１０で切り出された文字領域画像の例を示している。
【００８２】
図１１（ａ）は、文字「Ｃ」を鮮明に視認できる画像であり、この画像に対して文字認識を実行した結果は以下の通りであった。
【００８３】
ステップＳ２２０のパターンマッチングでは、最高スコア文字が「Ｃ」となり、そのスコアは０．９９９となった。
【００８４】
したがって、ステップＳ２３０では文字「Ｃ」について類似グループの探索が行われステップＳ２４０では、登録された類似グループとして「Ｃ、Ｄ」、「Ｃ、Ｇ」、「Ｃ、Ｏ」、「Ｃ、Ｑ」の４つがあると判定された。
【００８５】
したがって、ステップＳ２５０で「Ｃ、Ｄ」、「Ｃ、Ｇ」、「Ｃ、Ｏ」、「Ｃ、Ｑ」の４つの類似グループについてＳＶＭ判別が行われ、その結果、「Ｃ、Ｄ」の類似グループについては文字「Ｃ」のプロバビリティが０．９４９、類似グループ「Ｃ、Ｇ」については文字「Ｃ」のプロバビリティが０．９４９、「Ｃ、Ｏ」の類似グループについては文字「Ｃ」のプロバビリティが０．９５１、類似グループ「Ｃ、Ｑ」については文字「Ｃ」のプロバビリティが０．９４８となった。
【００８６】
したがって、ステップＳ２７０の判定において、パターンマッチングのスコアおよびＳＶＭ判別のプロバビリティのいずれもが閾値０．７を上回ったと判定され、ステップＳ２８０にて文字「Ｃ」が認識文字として出力された。
【００８７】
一方、図１１（ｂ）は、文字「Ｃ」が不鮮明な画像であり、この画像に対して文字認識を実行した結果は以下の通りであった。
【００８８】
ステップＳ２２０のパターンマッチングでは、最高スコア文字が「Ｃ」となり、そのスコアは０．３３となった。
【００８９】
したがって、ステップＳ２３０では文字「Ｃ」について類似グループの探索が行われ、ステップＳ２４０では、登録された類似グループとして「Ｃ、Ｄ」、「Ｃ、Ｇ」、「Ｃ、Ｏ」、「Ｃ、Ｑ」の４つがあると判定された。
【００９０】
したがって、ステップＳ２５０で「Ｃ、Ｄ」、「Ｃ、Ｇ」、「Ｃ、Ｏ」、「Ｃ、Ｑ」の４つの類似グループについてＳＶＭ判別が行われ、その結果、「Ｃ、Ｄ」の類似グループについては文字「Ｃ」のプロバビリティが０．８５１、類似グループ「Ｃ、Ｇ」については文字「Ｃ」のプロバビリティが０．８８９、「Ｃ、Ｏ」の類似グループについては文字「Ｃ」のプロバビリティが０．８７０、類似グループ「Ｃ、Ｑ」については文字「Ｃ」のプロバビリティが０．９００となった。
【００９１】
したがって、ステップＳ２７０の判定において、ＳＶＭ判別のプロバビリティが閾値０．７を上回ったと判例されたので、ステップＳ２８０にて文字「Ｃ」が認識文字として出力された。このように、文字「Ｃ」が不鮮明な画像についても良好な認識結果を得ることができた。
【００９２】
本実施形態によると、ステップＳ１２２０、Ｓ１２３０等で述べたように、複数のモデル画像の文字部分相互間の相違領域Ａ１を細分化した第１セルＢ１の輝度値を特徴量としてサポートベクターマシン１２９の学習データを生成する。
【００９３】
このため、相違領域Ａ１の面積を特徴量とした場合と比較して複数文字相互間の相違を顕在化させることができる。このため、文字の誤認識を抑制して認識精度を向上させることができる。
【００９４】
本実施形態によると、ステップＳ１２４０、Ｓ１２５０等で述べたように、モデル画像の背景部分相互間の相違領域Ａ２を細分化した第２セルＢ２の輝度値も特徴量として学習データを生成する。このため、複数文字相互間の相違をさらに顕在化させることができ、ひいては文字の誤認識をさらに抑制することができる。
【００９５】
本実施形態によると、ステップＳ１２６０、Ｓ１２７０等で述べたように、文字部分相互間の共通領域Ａ３を細分化した第３セルＢ３の輝度値も特徴量としてサポートベクターマシン１２９の学習データを生成する。このため、相違領域Ａ１、Ａ２を細分化したセルＢ１、Ｂ２の輝度値のみを特徴量としてサポートベクターマシン１２９の学習データを生成する場合と比較して文字認識精度を向上させることができる。
【００９６】
本実施形態によると、ステップＳ１２８０で述べたように、学習データに利用する第１セルＢ１および第２セルＢ２の合計個数を、学習データに利用する第３セルＢ３の個数よりも多くする。このため、サポートベクターマシン（１２９）による検出マージンを拡大することができ、ひいては文字認識精度をさらに向上させることができる。
【００９７】
本実施形態によると、ステップＳ２４０で述べたように、サポートベクターマシン１２９は、パターンマッチングによるスコア（一致度）が最も高くなった認識対象文字についてプロバビリティ（確信度）を求める。すなわち、パターンマッチングによる認識結果をサポートベクターマシン１２９で再評価する。このため、文字認識精度をさらに向上させることができる。
【００９８】
（他の実施形態）
なお、上記一実施形態では、第１、第２、第３セルＢ１、Ｂ２、Ｂ３の平均輝度値を特徴量としてサポートベクターマシン１２９の学習データを生成したが、第１、第２、第３セルＢ１、Ｂ２、Ｂ３の最大輝度値等を特徴量としてサポートベクターマシン１２９の学習データを生成してもよい。
【００９９】
また、上記一実施形態では、２種類の文字の組合せで類似グループを作成し、２種類の文字に対してＳＶＭ判別を行ったが、３種類以上の文字の組合せで類似グループを作成し、３種類以上の文字に対してＳＶＭ判別を行ってもよい。
【０１００】
また、上記一実施形態において、サポートベクターマシン１２９の学習データ上のセルの全個数や、第１、第２、第３セルＢ１、Ｂ２、Ｂ３の個数の比率等を適宜変更してもよい。
【符号の説明】
【０１０１】
１        ワーク（被検査物）
１１      撮像部（画像取得手段）
１２４    パターンマッチング手段
１２９    サポートベクターマシン
Ａ１      文字部分の相違領域
Ｂ１      第１セル
Ａ２      背景部分の相違領域
Ｂ２      第２セル
Ａ３      文字部分の共通領域
Ｂ３      第３セル
Ｓ１２０  学習データ生成手段
【図１】
0005729348.tif 000003
【図２】
0005729348.tif 000004
【図３】
0005729348.tif 000005
【図４】
0005729348.tif 000006
【図５】
0005729348.tif 000007
【図６】
0005729348.tif 000008
【図７】
0005729348.tif 000009
【図８】
0005729348.tif 000010
【図９】
0005729348.tif 000011
【図１０】
0005729348.tif 000012
【図１１】
0005729348.tif 000013