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