文字・図形の認識方法および検査方法
【課題】ドット文字・図形、かすれた文字・図形、分断された文字・図形を認識する。
【解決手段】ターゲットデータ抽出過程(S1)は、画像から抽出した骨格線を単純形状である近似線の集合として近似し、1単位で扱う近似線群をターゲットクラスタとする。照合度算出過程(S2)は、ドット文字・図形におけるドットの配列を表すドット文字・図形マスタとターゲットクラスタとの位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定し、注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度をクラスタ照合度として求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識する。
【解決手段】ターゲットデータ抽出過程(S1)は、画像から抽出した骨格線を単純形状である近似線の集合として近似し、1単位で扱う近似線群をターゲットクラスタとする。照合度算出過程(S2)は、ドット文字・図形におけるドットの配列を表すドット文字・図形マスタとターゲットクラスタとの位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定し、注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度をクラスタ照合度として求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として工業製品(たとえば、加工食品)のような対象物に製品管理などの目的で印刷ないし刻印されているドット文字・図形をTVカメラやスキャナのような画像入力装置で読み取り、画像入力装置で得た画像に画像処理を施すことによってドット文字・図形を認識する文字・図形の認識方法および検査方法に関するものである。
【背景技術】
【0002】
従来から、文字・図形(「文字・図形」とは、キャラクタジェネレータで生成できるような、文字や図形を意味しており、以下では単に「文字」と呼ぶ)をTVカメラやスキャナのような画像入力装置で読み取り、画像入力装置で得た画像に画像処理を施すことによって文字を認識する技術が種々提案されている。文字を認識する技術は、あらかじめ指定されたカテゴリに対応付けるパターン認識の技術であるから、カテゴリの対応付けが容易になるような文字の構造の記述、文字の変形に対する補正、対象物に表記された文字を1文字ずつ切り出すセグメンテーションなどの技術が必要になる。
【0003】
たとえば、手書き文字のように複雑に変形する文字を認識するために、文字の構造を以下の形で記述することが提案されている(たとえば、特許文献1、特許文献2参照)。特許文献1、2に記載の技術では、文字の画像を細線化して分岐点あるいは交差点を特異点として抽出し、特異点の周囲の構造を、「X」のような交差、「K」のような接触、「T」のような分岐の3種類に分類することによって、特異点で接続される線を複数のストロークに分割し、さらに、プリミティブと呼ぶ単調曲線の連結構造であるプリミティブ系列を用いて各ストロークを表し、プリミティブ系列と特異点との組により、文字の構造を記述している。ストロークは文字を手書きする際のひとつながりの部分(一筆で書く部分にほぼ一致する)に相当し、プリミティブとは、二次元画像内においてx、y座標が単調に変化する単調曲線を意味している。また、プリミティブの連結構造は、2つのプリミティブを連結することにより形成される凸の方向と、連結点の回りでのプリミティブの右手系での配置順序とで表され、プリミティブ系列は1つのストロークを構成するプリミティブの連結構造の集合になる。
【0004】
また、特許文献1、2では、文字の変形に対する補正のために、バウンディングボックス(文字を囲む最小の直立長方形)を用い、バウンディングボックスの縦横比を変更せずに長い方の辺を単位長にするようにスケールを正規化し、さらにアフィン変換による補正を行う技術も開示されている。
【0005】
すなわち、特許文献1、2に記載の技術では、入力画像について文字のセグメンテーションを行った後に、細線化してプリミティブ系列と特異点とで表される構造を解析し、次に入力画像から切り出した部分画像とモデルとの構造についてのマッチングによりカテゴリの候補を抽出し、さらに部分画像を正規化してモデルとの距離計算を行い類似度を評価することで、部分画像をモデルの文字のカテゴリに対応付けている。このように、文字の構造的情報と定量的情報とを用いることによりロバストなパターン認識が可能になっている。
【0006】
ところで、特許文献1、2にはセグメンテーションの技術については、とくに説明されていないが、セグメンテーションの技術としては、入力された文字列画像を細線化して得られる骨格線図形を単純弧や単純閉曲線を用いて部分曲線に分割した後、部分曲線における分岐点あるいは交差点の有無と部分曲線の横幅と文字列の高さとを用いて、文字の接触の可能性を推定する技術が提案されている(たとえば、特許文献3参照)。また、特許文献3には、骨格線図形を分割して得られた部分曲線を組合せることにより生成される文字列について特許文献1、2と同様の技術を用いて文字を認識し、認識結果の組合せのうち文字として認識された部分図形をノードとするネットワークを構成し、ネットワークから最適経路を選択することにより、ノードの認識文字の組合せを出力する技術も開示されている。さらに、文字数が既知である場合には、ネットワークから文字数と一致するノード数の経路から最適経路を選択することも記載されている。
【0007】
ところで、上述した特許文献1、2に記載の技術では、文字の構造的情報を用いて入力画像のカテゴリを絞り込んではいるものの、構造的情報として線図形の分岐点と交差点を基準に用いており、文字を構成する線が連続していることが前提になっている。このことは、特許文献3に記載の技術においても同様である。
【0008】
したがって、対象物に印刷したり刻印したりした文字のように変形の比較的少ない文字であっても、食品の賞味期限や消費期限の表示などにおいて広く用いられているドット文字、印刷装置の不具合などに起因して生じるかすれた文字(以下、「かすれ文字」という)、文字を構成する連続すべき線が不連続に分断した文字(以下、「分断文字」という)などでは、文字の構造的情報を正確に抽出することができず、特許文献1〜3に記載された技術を採用したとしても、文字を正確に認識することができない可能性がある。
【0009】
この種の問題に対応するために、本発明者は、入力された画像から文字・図形の骨格線を抽出して単純図形である近似線で近似し、それらの近似線から互いに近接した近似線の集合をターゲットクラスタとして抽出し、あらかじめ文字・図形の標準をターゲットクラスタと同様の近似線の集合として表したマスタクラスタと照合する技術を先に提案した(特願2003−4258533号)。この技術では、ターゲットクラスタとマスタクラスタとを照合する際に、ターゲットクラスタとマスタクラスタとのそれぞれの外接矩形をあらかじめ抽出しておき、両者の外接矩形を重ね合わせるように位置合わせを行った上で、両者に含まれる近似線の近接の度合いを形状類似度として評価し、形状類似度がもっとも高くなるマスタクラスタを着目するターゲットクラスタのカテゴリに対応付けている。
【特許文献1】特開平7−21317号公報
【特許文献2】特許第3183949号公報
【特許文献3】特開平6−76114号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述したように、特願2003−4258533号において開示した技術では、文字の構造を用いる代わりに線図形で表現されたマスタクラスタと照合することにより、ドット文字、かすれ文字、分断文字であっても正しい認識が可能になる。しかしながら、きわめて小さいドットからなるドット文字のように、ドットの寸法に比較してドットの間隔が広い場合には、ターゲットクラスタにおいてマスタクラスタに含まれる近似線と照合できる特徴が少なくなって形状類似度が低くなり、認識率が低下する可能性がある。
【0011】
本発明は上記事由に鑑みて為されたものであり、その目的は、ドット文字・図形、かすれ文字・図形、分断文字・図形などであっても認識可能であり、とくにドットの寸法に対するドットの間隔が広いドット文字・図形であっても正確に認識することが可能な文字・図形の認識方法および文字・図形の判読性を検査することができる文字・図形の検査方法を提供することにある。
【課題を解決するための手段】
【0012】
請求項1ないし請求項6の発明は文字・図形の認識方法に関するものである。
【0013】
請求項1の発明は、認識対象として入力された文字・図形の画像から文字・図形の骨格線を抽出し、次に骨格線を単純形状である近似線の集合として近似するとともに、連続している近似線を1つの近似線群に加え、かつ連続していない各一対の近似線間の距離を評価することにより当該近似線群の近傍にある近似線も当該近似線群に加えて、1単位として扱う近似線群をターゲットクラスタとして抽出するターゲットデータ抽出過程と、縦横複数個ずつの配置点からなるマトリクス内で文字・図形の形状に沿う配置点にドットを配置して構成したドット文字・図形におけるドットの配列およびドット文字・図形の外接矩形の寸法とからなるドット文字・図形マスタと前記ターゲットクラスタとの一致の程度を評価する照合度算出過程とを有し、照合度算出過程では、前記ターゲットクラスタについて設定した外接矩形に対してドット文字・図形マスタの外接矩形の位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定してターゲットクラスタを構成する近似線と各注目領域との位置関係により注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度を求めるとともに、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度を数値で表したクラスタ照合度を求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識することを特徴とする。
【0014】
この方法によれば、認識対象である文字・図形の画像との照合に用いるマスタデータ(一種のテンプレート)として、ドットの並びからなるドット文字・図形マスタを用い、ドット文字・図形マスタにおいてドットを配置することができる配置点の近傍に設定した注目領域とターゲットクラスタに属する近似線との重複の程度を評価するから、ターゲットクラスタを用いることによって、ドット文字・図形、かすれ文字・図形、分断文字・図形などでも認識することが可能になる。しかも、ドット文字・図形に対しては、理想的な配列のドットと照合するから、ドットの間隔の粗密に関わらずドット文字・図形を認識することができる。つまり、ドットの寸法に比較してドットの間隔が広い場合でもドット文字・図形の認識が可能になる。
【0015】
請求項2の発明では、請求項1の発明において、前記クラスタ照合度は、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることを特徴とする。
【0016】
この方法によれば、クラスタ照合度としてドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることにより、存在すべきドットが存在しない場合、あるいはドットが存在しないはずの場所にノイズが存在する場合には、いずれもクラスタ照合度が低下し、クラスタ照合度を用いることによりドット文字・図形マスタとターゲットクラスタとの類似度を容易に評価することができる。また、相互相関値は正規化しているから、印刷されたドット文字・図形のにじみなどによるドットの大きさの変化に対してロバストである。
【0017】
請求項3の発明では、請求項1または請求項2の発明において、前記ドット文字・図形マスタにおけるドットの配列は、ドット文字・図形におけるドットの位置とドット間を連結する仮想線の延長方向を反映した各ドットの位置での方向値とからなり、前記照合度算出過程では、仮想線の延長方向に交差する方向において各ドットからの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、対応点が検出されるとドット文字・図形マスタの各ドットと対応点との一致度が高くなるようにドット文字・図形マスタにアフィン変換による変形を施した後に、ドット照合度を求めることを特徴とする。
【0018】
この方法によれば、ターゲットクラスタとドット文字・図形マスタとの位置合わせの誤差を補正することができるから、ドット文字・図形が位置ずれ、回転、スケール変化を伴っていても精度よく認識することができる。
【0019】
請求項4の発明では、請求項1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、明度が規定の範囲内であり、かつ空間二次微分値が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする。
【0020】
この方法によれば、線状あるいはドット状のパターンに対して大きな値が得られる空間二次微分法と明度によって領域を分割する二値化処理とを併用するから、明度が急に変化するエッジや明度が滑らかに変化する明度むらの影響を除去して認識対象である文字・図形を構成する線あるいはドットの特徴だけを抽出することができる。
【0021】
請求項5の発明では、請求億1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、背景に相当する領域の明度の分布を二次曲面で近似し、文字・図形の画像における各画素の明度のうち当該二次曲面で表される明度との差分が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする。
【0022】
この方法によれば、背景に比較的滑らかで単純な明度むらが生じているような場合に、背景から得られる明度分布を二次曲面で近似し、文字・図形の領域における明度を明度分布から予測される明度との差分によって二値化するから、二値化の際に明度むらの影響を除去することができる。また、二次曲面を求めるには最小自乗法を利用することができ、空間二次微分の演算よりも演算が少ないから、明度むらを除去する処理を少ない演算量で実施することができる。
【0023】
請求項6の発明では、請求項1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、明度を二値化することにより前記骨格線を抽出する画素を選択するにあたり、文字・図形の画像内で文字・図形の明度を含む明度範囲内の画素の占める面積が、文字・図形が占める既知の面積以上であって規定範囲内の面積になるように明度範囲を設定し、当該明度範囲内の画素を前記骨格線を抽出する対象とすることを特徴とする。
【0024】
この方法によれば、認識対象である文字・図形が既知である場合に、認識対象である文字・図形が画面中に占める面積をもとに明度のヒストグラムの累積頻度値を参照することによって二値化のための閾値を設定するから、画像に占める認識対象である文字・図形の面積が小さい場合でも、適切な閾値を設定して文字・図形の領域を的確に抽出することが可能になる。
【0025】
請求項7ないし請求項10の発明は文字・図形の検査方法に関するものである。
【0026】
請求項7の発明では、請求項1ないし請求項6のいずれか1項に記載の文字・図形の認識方法における前記照合度算出過程においてクラスタ照合度が閾値以上になるときのドット文字・図形マスタの位置において得られるドット照合度とドット文字・図形マスタにおけるドットの配列とを用い、ドット文字・図形マスタの各配置点ごとにドットの有無が文字・図形の画像と一致するか否かを判断し、不一致である配置点の個数により認識対象である文字・図形の良否を判定する判読性評価過程を有することを特徴とする。
【0027】
この方法によれば、認識対象である文字・図形とドット文字・図形マスタとの相違の程度をドット単位で評価することができ、認識対象がドットを配列した文字・図形であっても判読性を評価することができる。
【0028】
請求項8の発明では、請求項7の発明において、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が、ドット文字・図形マスタにおいてドットの存在する配置点であるときにドット抜け点とし、ドットの存在しない配置点であるときにノイズ点として、ドット抜け点とノイズ点との個数の一方が規定の閾値を越えるときに判読性が不良と判断することを特徴とする。
【0029】
この方法によれば、認識対象である文字・図形におけるドットの抜けとノイズとをそれぞれ不良として検出することができる。
【0030】
請求項9の発明では、請求項7または請求項8の発明において、前記ドット文字・図形マスタは判読性に関わる重要部分の配置点があらかじめ登録されており、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が重要部分であるときには判読性が不良と判断することを特徴とする。
【0031】
この方法によれば、文字・図形において他の文字・図形との誤認を生じやすい部位を重要部分としてドット抜けやノイズを判断するから、単に判読性を判断するだけではなく、文字・図形の誤認を生じる可能性を低減することができる。
【0032】
請求項10の発明では、請求項7ないし請求項9の発明において、前記判読性評価過程において、認識対象である文字・図形が複数個でありかつドットの並びにより構成された文字である場合に、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点がドット文字・図形マスタにおいてドットの存在する配置点であるときの配置点の個数を、認識対象である文字・図形とドット文字・図形マスタとについて、認識対象である文字・図形の並ぶ方向に沿って並ぶドットの各列ごとにそれぞれ求め、認識対象である文字・図形から求めた配置点の個数をドット文字・図形マスタについて求めた配置点の個数で除算した結果が規定の閾値以下であるときに、認識対象である文字・図形において個数を求めたドットの一列が抜けていると判断することを特徴とする。
【0033】
この方法によれば、文字・図形がドットの並びによって形成されている場合に、文字・図形を印字ないし刻印する装置の異常によって一列のドットが抜けるいわゆるライン抜けを早期に検出することができ、文字・図形を印字ないし刻印する装置の異常を自動的かつ早期に発見することが可能になる。
【発明の効果】
【0034】
本発明の文字・図形の認識方法によれば、認識対象である文字・図形の画像との照合に用いるマスタデータとして、ドットの並びからなるドット文字・図形マスタを用い、ドット文字・図形マスタにおいてドットを配置することができる配置点の近傍に設定した注目領域とターゲットクラスタに属する近似線との重複の程度を評価するから、ターゲットクラスタを用いることによって、ドット文字、かすれ文字、分断文字などでも認識することが可能になるという利点がある。しかも、ドット文字・図形に対しては、理想的な配列のドットと照合するから、ドットの間隔の粗密に関わらずドット文字・図形を認識することができ、ドットの寸法に比較してドットの間隔が広い場合でもドット文字・図形の認識が可能になるという利点がある。
【0035】
本発明の文字・図形の検査方法によれば、認識対象である文字・図形とドット文字・図形マスタとの相違の程度をドット単位で評価することができ、認識対象がドットを配列した文字・図形であっても判読性を評価することができるという利点がある。
【発明を実施するための最良の形態】
【0036】
本実施形態に用いる装置の一例を図2に示す。図示例では、シート状あるいは立体形状の対象物11の画像を入力する画像入力装置としてTVカメラ12を備える。対象物11には、文字(従来構成と同様に文字・図形を意味する)が印字あるいは刻印(対象物11の表面がエンボス状に陥没あるいは隆起)され、TVカメラ12では文字を含む画像を撮像する。本実施形態は、主として印字あるいは刻印による文字の認識を行うものであり、手書き文字の認識については想定していない。TVカメラ12で撮像されたアナログ信号の画像は、デジタル画像生成装置13に入力されてデジタル信号に変換され、デジタル画像生成装置13からは画素値が明度である濃淡画像が生成される。この濃淡画像は記憶装置14に格納され、記憶装置14に格納された濃淡画像に対して画像処理装置15において以下に説明する画像処理が施される。記憶装置14は半導体メモリとハードディスク装置とからなり、記憶装置14には、対象物11を撮像した画像のほかに、文字の認識に必要なドット文字マスタも格納される。以下では、対象物11に文字が印字されている場合を想定して説明するが、文字が対象物11に刻印されている場合でも同様の技術を採用できる。
【0037】
ところで、ドット文字マスタは、対象物11に印字された文字と照合するための一種のテンプレートであって、図3に示すように、縦m個×横n個(本実施形態では、7個×5個)の配置点qi(i=1,2,…,35)からなるマトリクスを1文字の文字単位とし、文字単位内で文字の形状に沿った配置点qiにドットdi(i=1,2,…)を配置して構成される。一般にドットの並びを文字として人が認識する際には、隣接する一対のドット間に仮想線ri(i=1,2,…)を補完し、文字形状に沿って仮想線riを連結することによりドットdiの並びを一連の仮想線riからなる文字として認識していると考えられる。
【0038】
そこで、ドット文字マスタとして、文字単位内でのドットdiの位置と、ドットdi間を結ぶ仮想線riの延長方向を示すことができる方向値(図3における両端矢印で示す方向を表す値)と、文字単位を囲む外接矩形とを組にしたデータを用いる。また、ドット文字マスタでは、ドットdiを配置した配置点qiに対してドットdiを配置していない配置点qiとは異なる値を割り当てる。たとえば、ドットdiを配置した配置点qiに「1」を割り当て、ドットdiを配置していない配置点qiに「0」を割り当てる。方向値は、ドットdiに仮想線riが1本だけ連結されているときには当該仮想線riに直交する方向とし、ドットdiに仮想線riが2本連結されているときには両仮想線riのなす角度を二等分する方向とする。したがって、方向値は仮想線riを連結して表される文字のドットdiの位置における法線方向に相当する情報を持っており、しかも1個のドットdiに2本の仮想線riが連結されているときには、方向値を用いることにより各仮想線riを個別に記述する場合よりもデータ量を低減できることになる。文字が膨張収縮する際には、ドットdiの位置が方向値で表される方向に移動すると考えられるから、対象物11から得られた画像内の文字とドット文字マスタとの寸法を合わせる際には、方向値で表される方向にドットdiを変位させればよい。
【0039】
図3は文字「2」を表すドット文字マスタの例を示しており、各配置点qiにおけるドットdiの有無と、ドットdiごとの方向値とを組にしてドットdiの配列を表し、さらに、外接矩形rcの位置および寸法についてもドットdiの配列と組にしてドット文字マスタとして用いることを表している。図3では、たとえば配置点q1にはドットがなく、配置点q2にはドットd2が存在し、ドットd2の方向値は水平方向に対して112.5度の方向になる。
【0040】
画像処理装置15において行う画像処理の基本的な処理手順は、図1に示す通りであって、まずターゲットデータ抽出過程(S1)において、文字の認識を行う対象物11を文字を含めて撮像し、この画像からドット文字マスタと比較すべき文字の属性をターゲットデータとして抽出する。従来の技術では、ターゲットデータを抽出する前処理としてセグメンテーションを行い、セグメンテーションにより1文字ずつに切り分けているが、本実施形態ではターゲットデータ抽出過程においてはセグメンテーションを行わず、ドット文字、分断文字、不連続部分を含む文字などに対してターゲットデータ抽出過程においてひとまとまりに扱うことで、1文字よりも小さい単位に分割されることを抑制している。つまり、分離された部分同士の距離が規定した閾値以内であれば、分離された部分同士を1つの単位として扱う。このような単位を以下ではクラスタと呼ぶ。ターゲットデータから抽出したクラスタはターゲットクラスタと呼び、ターゲットクラスタは大抵の場合において1文字以上を含み、複数文字を含む場合もある。
【0041】
ターゲットデータ抽出過程においてターゲットクラスタに区分されたターゲットデータが得られると、ターゲットクラスタにドット文字マスタを照合する照合度算出過程(S2)が実施される。照合度算出過程においては、ターゲットクラスタにドット文字マスタの位置を合わせ、ドット文字マスタの各配置点qiに対応するドットdiの有無を表すドット照合度が求められ、さらにドット照合度の配列に基づいてターゲットクラスタとドット文字マスタ全体との類似度を表すクラスタ照合度が算出される。つまり、照合度算出過程においては、ドット文字マスタとターゲットクラスタとの一致の程度を評価することにより、ターゲットクラスタで表される文字がドット文字マスタのどの文字に対応するかを判断することにより文字を認識する。
【0042】
さらに、文字の認識後には、照合度算出過程において求められたクラスタ照合度が最大になる位置を照合位置として、照合位置においてドット照合度を再度求め、ドット文字マスタにおけるドットの位置と対象物11から得た文字の画像との整合性を検証し、対象物11に印字された文字が判読可能か否かを判断して最終的に対象物11に維持された文字の良否を判定する判読性評価過程(S3)を実施する。
【0043】
以下では、ターゲットデータ抽出過程、照合度算出過程、判読性評価過程について処理手順を具体的に説明する。
【0044】
ターゲット抽出過程の処理手順を図4に示す。ターゲットデータ抽出過程においては、入力された濃淡画像を二値化し(S11)、二値画像から骨格線を抽出する(S12)。骨格線の抽出には、Hilditch法のような周知の技術を用いればよいが、二値化の際には文字以外の余計な特徴を残さない技術を採用する必要がある。
【0045】
二値化の際の問題を説明するために、明度むらやノイズが存在する濃淡画像を図5(a)に示し、図5(a)のA−A′線上の明度の変化を図5(b)に示す。図5(a)では文字「R」の部分の明度が背景よりも低く、A−A′線が文字と交差している部位は1箇所であるから図5(b)では理想的には1箇所だけ明度が低くなるはずであるが、実際には明度むら(図5(a)においては明度の相違を斜線部の斜線の違いで表している)やノイズnsの存在によって、実際には複数箇所で明度が低くなっている。つまり、図5(b)に示す一定値である閾値Th1で二値化した場合には、図5(c)に示すように、二値画像に文字以外の部分が残ることになる。図5はドットを並べて構成したドット文字ではないが、ドット文字を認識しようとすればドットの並びを評価しなければならないから、二値画像においてノイズnsが点状に残っているとドット文字を構成するドットとの識別が困難になりドット文字の認識を阻害する。したがって、二値化に際しては文字以外の特徴が残らないように、以下に説明する3種類の技術のいずれかを採用する。なお、以下に説明する例では文字の領域の明度が背景よりも低い場合を想定するが、文字の領域の明度が背景よりも高い場合や、文字の領域の明度に対して明るい領域と暗い領域とが背景に存在する場合でも同様の技術を適用することが可能である。
【0046】
二値化の第1の方法としては、明度を閾値で二値化して抽出される画素であって、かつ濃淡画像から求めた空間二次微分値が閾値以上である画素を抽出する方法がある。空間二次微分値を求めるには、ラプラシアン−ガウシアンフィルタのような叩き込みフィルタを濃淡画像に適用すればよい。図6(a)は図5(a)に示した濃淡画像にラプラシアン−ガウシアンフィルタを適用し各画素の画素値を空間二次微分値とした空間二次微分画像である。図6(a)の空間二次微分画像における図5(a)のA−A′線に相当する線上の空間二次微分値の変化を図6(b)に示す。空間二次微分画像では、特定の太さの線状の特徴を抽出することができるので、文字と交差するA−A′線上では図6(b)のように文字に対応する部位において空間二次微分値が大きくなるのに対して、明度むらやノイズが生じている部位では空間二次微分値が小さくなる。つまり、空間二次微分値に適宜の閾値Th2を設定することにより、文字に対応すると考えられる部位を明度むらやノイズの部位から分離することができる。
【0047】
ただし、空間二次微分値を閾値Th2によって二値化するだけでは文字以外の部位が含まれることがあるから、文字のみを抽出するには、通常の濃淡画像に対して閾値を適用して得た二値画像と空間二次微分画像との両方でともに抽出された画素を文字の部位の画素として採用するのが望ましい。このような処理により、図6(c)のように文字に対応する領域のみを抽出することができる。空間二次微分値に対する閾値Th2は、明度が閾値Th1以下である画素における空間二次微分値の平均値を採用し、空間二次微分画像では空間二次微分値が閾値Th2以上である画素を白画素(背景)とすればよい。
【0048】
二値化の第2の方法としては、文字以外の背景を二次式で近似し、近似した二次式との差分が閾値以上になる画素を文字として抽出することにより明度むらを除去する方法がある。すなわち、まず明度を閾値で二値化することにより文字に相当する領域を大まかに切り出し、二値化によって背景となった画素の明度と座標との関係を二次式で近似する。つまり、明度の分布を二次曲面で近似する。近似する二次式としては下式のような二次双曲面を表す二次式を用いるのが望ましいが、他の二次式を用いることも可能である。
b(x,y)=a1・x2+a2・y2+a3・x+a4・y+a5
ただし、b(x,y)は座標(x,y)における明度、a1〜a5は係数である。上式を回帰方程式に用いて係数a1〜a5を決定すれば、文字を除いた背景の明度b(x,y)の近似式が得られる。この近似式から得られる明度b(x,y)と実際の明度との差分を求め、差分が規定の閾値以上である画素を文字に対応する画素として抽出すれば文字と背景とに分離するように二値化することができる。この技術は、明度むらの影響を除去するのに好適であるが、近似式との明度差の大きいノイズが生じている場合や、二次式では表すことのできない模様が背景に存在する場合には、背景を除去することができないが、空間二次微分値を求める場合に比較すると演算量が少なくなる。したがって、二次式で近似できるような滑らかな明度むらが生じている場合には少ない演算量で高速な演算が期待できる。
【0049】
二値化の第3の方法は、文字に対応する領域の画素数を用いて二値化のための閾値を決定する方法である。いま、図7(a)のように画像のサイズに対して文字に対応する領域が小さい場合に、明度のヒストグラムを求めると図7(b)のように文字に対応する領域の明度の度数(ピークp1付近の度数)は背景となる領域の明度の度数よりも大幅に少なくなる。一般にヒストグラムを用いて二値化のための閾値を決定する場合には、ヒストグラムに現れるピークのうち度数の大きい2つのピーク間の明度を閾値に用いることが多い。しかしながら、図7(b)のようなヒストグラムでは、4個のピークp1〜p4が生じており、どのピークp1〜p4の間を閾値に用いるのが望ましいかを自動的に判断することができない。とくに、図7に示す例では、文字に対応する領域の画素数が少ないから文字に対応する領域と考えられるピークp1の度数が小さく、度数の大きい2つのピーク間の明度を閾値に用いる方法では適切な閾値を決定することができない。
【0050】
ところで、製品管理などの目的で印刷ないし刻印されている文字の認識や検査の際には文字の属性は既知であるから、画像内で文字が占める面積を推定することができるから、明度が閾値以下である領域の面積(画素数)が推定した面積以上になるように閾値を設定する。ただし、文字がかすれ文字である場合やノイズがある場合には、推定された面積が得られる閾値(図7の9Aを想定している)を採用すると、文字に対応する領域に対してノイズに対応する領域の画素数が比較的多くなり、文字の特徴を抽出するのに十分な画素数を得られない場合があるから、推定された面積に相当する画素数よりも多めの画素数が抽出されるように閾値をやや高く設定する。たとえば、推定された面積が得られる閾値9Aよりも大きく、かつ明度に対する度数の変化率が規定値以下から規定値以上になるになる閾値(図7では9Cを想定している)を求め、推定された面積が得られる閾値9Aと閾値9Cとの間の適宜の閾値9Bを二値化に用いる。閾値9Bは2つの閾値9A,9Cの間で適宜に設定することができるが、たとえば、閾値9A以下の画素数と閾値9C以下の画素数との平均の画素数が得られるように閾値9Bを設定する。この技術は、背景において文字との明度差の小さい領域が多く含まれる場合には閾値を決定するのが困難な場合もあるが、文字の面積を推定して閾値を決定するから、対象物11に対する照明具合などによる明度変化があっても適切な閾値を設定することができ、しかも空間二次微分値を求める場合に比較すると演算量が少なくなる。
【0051】
上述した3種類の二値化技術のうち対象物11に応じた適宜の二値化技術を用いて得られる二値画像から骨格線を抽出した骨格線画像が得られると、骨格線からノードと線要素とを抽出し、線要素を直線や楕円弧のような単純形状からなる近似線に近似する。ノードはノードの座標とノード名とで表される。以下に、この処理について具体例を挙げて説明する。
【0052】
ここでは、骨格線画像において、図8(a)のように「R」という文字の骨格線が抽出されているとする場合を例として説明する。この場合、二値の骨格線画像をラスタ走査し、骨格線から端点と分岐点(交差点を含む)とをノードとして抽出すると(図4のS13)、図8(b)のように、端点t1,t2と分岐点j1,j2とが抽出される。ノードの抽出後には、各ノード間を結ぶ線要素を抽出する(S14)。すなわち、各端点t1,t2と各分岐点j1,j2とをそれぞれ始点として他の端点t1,t2または他の分岐点j1,j2に到達するまで線の追跡を行い(S14b)、線要素e1〜e4を抽出して記録する(S14c)。線要素e1〜e4は、一端が開いている場合には、他の端点t1,t2または分岐点j1,j2に到達するまでの追跡経路を1つの線要素とし(たとえば、線要素e3,e4)、両端が閉じている場合は始点となった端点t1,t2または分岐点j1,j2に到達するまでの追跡経路を1つの線要素とする(たとえば、線要素e1,e2)。追跡を終了したノードが端点t1,t2であれば追跡を終了し、追跡を行っていない端点t1,t2から追跡を行い、また、追跡を終了したノードが分岐点j1,j2であれば、当該分岐点t1,t2からさらに追跡する(S14a,S14d)。
【0053】
上述のようにして線要素e1〜e4が抽出されると、各線要素e1〜e4を単純形状(直線、楕円のような幾何形状)である「近似線」の集合として近似する。ここでは、単純形状として簡単な数式で表される近似線を用いる。また、近似線としては、直線と楕円の一部(以下、「楕円弧」と呼ぶ)との2種類を用いる。このように近似線として直線と楕円弧とを用いることによって、ベジェ曲線やスプライン曲線を用いる場合に比較して近似線の表現のためのパラメータを少なくすることができ、種々演算に対する処理負荷も小さくなる。図8(b)に示す形状では、線要素e1は、「R」の文字の左上角を形成する2本の直線と、上辺の直線の右端から分岐点j2までの1本の楕円弧とで近似することができる。つまり、図8(c)のように、線要素e1を2本の直線である近似線l1,l2と1本の楕円弧である近似線l3とで近似し、直線である2本の近似線l1,l2を接続する角点c1と、直線である一方の近似線l2に楕円弧である他方の近似線l3と接続する線接続点d1とをノードとして導入する。線要素e2〜e4は直線であるから、そのまま近似線l4〜l6に用いる。要するに、線要素を数式で表すことのできる近似線で近似するとともに、角点および線接続点を抽出する(図4のS15)。
【0054】
骨格線画像から骨格線のノードと線要素とを抽出する処理を、画像の全面または画像内において指定した特定範囲について実施し、ノードおよび近似線を抽出した後、1つの単位として扱う範囲のノードおよび近似線に関するノードデータおよび近似線データをまとめてターゲットクラスタとする。ノードデータは、ノード名にノードの座標およびノードに接続される近似線名が対応付けられ、近似線データは、近似線名に線要素のパラメータおよび線要素に接続されるノードのノード名が対応付けられる。たとえば、濃淡画像を二値化した二値画像が図9(a)のようになるときに、ターゲットクラスタで表される図形は図9(b)のようになる。
【0055】
ターゲットクラスタを生成する処理は、図4においてステップS16とステップS17とで表す手順で行われる。まず、適宜に選択したノードを起点ノードとし(S16b)、起点ノードを一端とする近似線の他端のノードを検出する(S16d)。他端のノードの種類を端点と分岐点とその他とに分類し(S16e)、端点であれば起点ノードに接続された別の近似線について同様の処理を行い(S16c)、分岐点であれば当該分岐点を新たな起点ノードにし(S16g)、同様の処理を行う。また、他端のノードが端点でも分岐点でもない場合には、当該ノードを新たな起点ノードにし(S16f)、当該ノードが一端に接続された近似線の他端のノードについて種類を分類する。この処理を行うと最初に選択した起点ノードに対して近似線を介して接続されているすべてのノードを抽出することができる。ただし、最初に選択した起点ノードと他のノードとの間には近似線が何本介在していてもよい。したがって、上述の処理が未処理である近似線がなくなれば(S16c)、最初に選択した起点ノードを含み1文字分とみなされるノードデータおよび近似線データの組が生成されるから、このノードデータおよび近似線データの組をクラスタ候補として一時的に記憶する(S16h)。クラスタ候補の生成および記憶の作業は画像内のすべてのノードがいずれかのクラスタ候補に含まれるようになるまで繰り返される(S16a)。以上の処理により図9(c)のようにクラスタ候補pc1〜pc33が抽出される。図9(c)では各クラスタ候補pc1〜pc33を外接矩形で囲んである。
【0056】
上述のようにして得られるクラスタ候補pc1〜pc33は、図9(c)を見れば明らかなように、必ずしも1文字分ごとのクラスタを形成していない。そこで、図4に示すステップS17では、1文字分に相当するクラスタ候補を結合する処理を行う。クラスタ候補pc1〜pc33を結合するか否かは、各一対のクラスタ候補pc1〜pc33に含まれるノードおよび近似線の距離によって評価する。すなわち、各クラスタ候補pc1〜pc33から2個のクラスタ候補を抽出し、互いに他方のクラスタ候補に含まれるすべてのノード間の距離と近似線間の距離との最短距離を求める(S17b)。この最短距離が規定した閾値以下であるときには(S17c)、両クラスタ候補は1つの単位として扱うべきであると判断し、両クラスタ候補を1つのクラスタとして扱ってターゲットデータとして登録する(S17e)。また、上述した最短距離が規定した閾値よりも大きいときには、両クラスタ候補は各別の文字と判断し、各別のクラスタとして扱ってターゲットデータを登録する(S17d)。たとえば、図9(c)のクラスタ候補pc1〜pc7におけるノード間の最短距離が閾値よりも小さくなるように閾値を設定することによって、両クラスタ候補pc1〜pc7を、図9(d)のように1つの単位として扱うことになる。ただし、クラスタ候補pc2,pc3のようにノードと近似線との距離が近い場合に、複数文字が1文字として扱われる場合があり、図9(d)のように、クラスタ候補pc1〜pc33の評価により得られるターゲットクラスタtc1〜tc4の一部には複数文字を含む場合が生じる。
【0057】
上述した処理によって、クラスタ候補の結合を行うことにより、「i」や「は」など不連続に分離された部位を含む文字やドット文字のように、1つの文字が隣接した2個以上の部分で構成されている場合であっても、1文字のクラスタにまとめることが可能になる。このことは、かすれ文字や分断文字であっても同様である。
【0058】
次に、照合度算出過程では、ドット文字マスタと上述したターゲットデータとを位置合わせし、後に実施する判読性評価過程においてドットごとの有無を判断するためのドット照合度と、位置合わせのために必要な文字形状の全体的な類似性を評価するクラスタ照合度とを求める処理を実施する。ドット照合度とクラスタ照合度とを求める照合度算出過程の処理手順について図10を用いて詳細に説明する。
【0059】
ターゲットクラスタとドット文字マスタとの位置合わせには、ターゲットクラスタとドット文字マスタとのそれぞれに設定した外接矩形同士の位置を合わせる(S22)。ただし、ターゲットクラスタは1文字分以上のターゲットデータを含み、複数文字分のターゲットを含むことがあるから、ドット文字マスタとターゲットクラスタとの高さ寸法と幅寸法とのそれぞれの寸法比を用いてターゲットクラスタに含まれる文字数を推定し、推定した文字数に応じて図11に示すようにターゲットクラスタtc内でドット文字マスタdmを移動させ、それぞれの位置で後述するのクラスタ照合度を求め、クラスタ照合度が最大になる位置を照合位置として、照合位置において後述するドット照合度を求め、このドット照合度を後述する判読性評価過程に用いる。
【0060】
上述のようにターゲットクラスタtc内でドット文字マスタdmを移動させ、クラスタ照合度が最大になる位置を求めることにより、複数文字を含むターゲットクラスタtcにおける文字の切り分けがなされる。ここに、クラスタ照合度はターゲットクラスタtcにおけるクラスタ候補pcとドット文字マスタdmの全体との類似度を表しており、クラスタ照合度が高いことは、クラスタ候補pcがドット文字マスタdmで表される文字と一致する可能性が高いことを表す。このように、ドット文字マスタdmとターゲットクラスタtcとの外接矩形の位置を合わせてクラスタ照合度を求めることにより、テンプレートを1画素ずつずらしてドット照合度を求める場合に比較すると、照合すべき領域が大幅に少なくなり、処理負荷を軽減することができる。
【0061】
ターゲットクラスタとドット文字マスタとの位置合わせの後、まずドット文字マスタをターゲットクラスタのドットの並びに合致させるように変形させる補正を行う(S23〜S25)。すなわち、図12(a)に示すように、ターゲットクラスタと(ノードを白丸で表し、ノード間を連結する線分を線要素としている部分)のノードおよび線要素にドット文字マスタのドットd1〜d14が重なるように、各ドットd1〜d14の位置から方向値(図3参照)で示される方向にターゲットクラスタの対応点を探索し、ターゲットクラスタが検出されたときには、ターゲットクラスタにおいて検出された位置にドットd1〜d14を対応付ける。つまり、仮想線の延長方向に交差する方向において各ドットd1〜d14からの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、ターゲットクラスタに対応点が検出されると、その位置にドットd1〜d14を対応付ける。ドット文字マスタの各ドットd1〜d14に設定された方向値で示される方向に探索してもターゲットクラスタを検出できないドット(図示例では、d4,d10,d13,d14については、方向値で示される方向に対して規定の角度範囲内で距離がもっとも近い位置のノードを対応付ける(S23)。
【0062】
さらに、ドット文字マスタにおけるドットd1〜d14とターゲットクラスタの対応点との位置関係に基づいて、次式に基づいてドット文字マスタを変形させるためのパラメータa1〜a6を最小自乗法によって求める(S24)。
X=a1・x+a2・y+a3
Y=a4・x+a5・y+a6
(X,Y)はターゲットクラスタ上の座標であり、(x,y)はドット文字マスタ上の座表を示す。この変形式は、位置と回転とスケールと座標の斜交角の変形を補償するアフィン変換式であるから、図9(b)のようにドット文字マスタの幅よりもターゲットクラスタの幅がやや狭くなる変形を生じている文字であってもドット文字マスタを重ね合わせることが可能になる(S25)。ただし、ドット文字マスタのアフィン変換を行ってもドット文字マスタをターゲットクラスタに完全に一致させるのは困難であるから、図13(a)のように、ドット文字マスタの変形後に各配置点qiごとに配置点qiを中心とした注目領域ai(i=1,2,…,35)を設定する(S26)。注目領域aiは、図示例ではドット文字マスタの変形後の配置点qiの位置を中心とする同じ大きさの正方形状の領域であって、隣接する配置点qiについて設定した注目領域aiが互いに重複しない程度の大きさに設定される。なお、注目領域aiは正方形状ではなく円形などを用いることも可能である。
【0063】
次に、ドット文字マスタの各配置点qiについて設定した注目領域aiについてターゲットクラスタが重なっているか否かを評価するドット照合度を求め(S27)、ドット照合度に基づいてターゲットクラスタとドット文字マスタとの全体的な類似性を示すクラスタ照合度を求める(S28)。
【0064】
まず、ドット照合度を求める方法について説明する。ドット照合度には、それぞれの注目領域aiに含まれるターゲットクラスタの線要素li(i=1〜7)の長さを用いる。たとえば、注目領域a16はターゲットクラスタに含まれる線要素l2,l5の一部と重複しているから、注目領域a16に対するドット照合度は、線要素l2,l5が当該注目領域a16内を通る部分の長さの和で求められる。ドット照合度は、注目領域a1〜a35内に線要素が多く存在するほど大きい値になる。つまり、ターゲットクラスタにおけるドットの有無を表す数値になる。図13(a)について求めたドット照合度の例を図13(b)に示す。
【0065】
ドット照合度はドット文字マスタを構成する配置点qiごとに求められるから、ドット文字マスタの1文字について配置点qiごとドット照合度を対応付けたドット照合度マトリクスが得られる。また、ドット照合度マトリクスの各注目領域a1〜a35のドット照合度は、ターゲットクラスタを抽出した文字の形状とドット文字マスタとの一致の程度の目安になる。そこで、ドット照合度が得られると、ドット照合度マトリクスとドット文字マスタとの類似性を評価するクラスタ照合度を求める(S28)。クラスタ照合度を求めるには、まず図14に示すように、ドット文字マスタのうちドットd1〜d14の存在する配置点qiに「1」を与え、残りの配置点qiに「0」を与えた二値化マトリクスを形成し、図13(b)のようなドット照合度マトリクスと二値化マトリクスとの正規化した相互相関値(相互相関係数)を求め、この値をクラスタ照合度とする。
【0066】
図13(b)のドット照合度マトリクスと図14の二値化マトリクスとの正規化した相互相関係数は0.919になり、これは両者の類似度が91.9%であることを意味する。クラスタ照合度は、ドット文字マスタのドットの存在する位置においてターゲットデータが存在しない場合や、ドット文字マスタにおいてドットが存在しない位置においてターゲットデータが存在する場合には、相互相関係数は小さい値になるから、この値をクラスタ照合度に用いることによって、文字全体の類似性をよく表した特徴量を得ることができる。
【0067】
したがって、ターゲットクラスタの複数の位置にドット文字マスタの位置を合わせるとともにクラスタ照合度を求め、クラスタ照合度が最大になる位置をドット文字マスタに類似した文字がターゲットクラスタに存在する位置と判断し、このときに得られたドット照合度マトリクスを図示しないバッファに保存する。具体的には、クラスタ照合度が得られると、それまでに得られているクラスタ照合度の最大値と比較し(S29)、新たに得られたクラスタ照合度がクラスタ照合度の最大値よりも大きいときには、新たに得られたクラスタ照合度を最大値に置き換える(S30)。また、このときのドット文字マスタの位置を照合位置とし(S31)、さらにドット照合度マトリクスを検査用ドット照合度マトリクスとしてバッファに登録する(S32)。ステップS22〜S32の処理はターゲットクラスタのすべての位置でクラスタ照合度を求めるまで繰り返して行い(S33)、その後、印字された文字の良否判定を行う判読性評価過程に移行する。
【0068】
ところで、判読性とは、文字が判読できるか否かの性質であって定性的な判断に基づくものである。文字が判読できないのは、たとえば図15(a)のように文字が大きく欠けていたり、図15(b)のように文字以外のノイズが混入したり、図15(c)のように文字に著しい変形が生じたりするなどの原因が考えられる。判読性評価過程では、この種の原因による判読性の程度を定量的な基準で判断可能としている。
【0069】
判読性評価過程では、図17に示すように、ドット文字マスタにおいてドットd1〜d14が存在している配置点に対して対象物11に印刷された文字では対応する部分が存在しないドット抜け点f1、またはドット文字マスタにおいてドットd1〜d14が存在していない配置点に対して対象物11の文字ではドットに相当するノイズが存在しているノイズ点f2を抽出し、ドット抜け点f1およびノイズ点f2の個数をそれぞれ求める(S41〜S47)。すなわち、照合度抽出過程において求めたドット照合度マトリクスに対して適宜の閾値を適用することにより、ドット文字マスタの各ドットd1〜d14ごとに、対応するドットが対象物11に印刷された文字に存在するか否かを判定し、ドットd1〜d14に対してドット照合度が閾値以下であるとドット抜け点f1、ドットd1〜d14以外でドット照合度が閾値以上の配置点をノイズ点f2とする。
【0070】
上述のようにしてドット抜け点f1とノイズ点f2との個数をそれぞれ求めた後、それぞれ適宜の閾値と比較する(S52,S53)。ドット抜け点f1、ノイズ点f2はいずれもドット文字マスタと一致しない部位であるから、これらの個数が多いことは判読性が低いことを意味する。したがって、ドット抜け点f1、ノイズ点f2のうちのいずれかの個数が閾値異常になるときには判読性が低いと評価し、対象物11に印刷された文字は不良であると判断する(S57)。また、どの個数も閾値未満であれば対象物11に印刷された文字を良好と判断する(S56)。ここに、ドット抜け点f1とノイズ点f2との個数に対する閾値は、たとえば、それぞれ2個、3個とすればよい。つまり、ドット抜け点f1が1個以内かつノイズ点f2が2個以内であれば良好と判断するのである。
【0071】
判読性の評価には、ドット抜け点f1とノイズ点f2との個数に加えて、隣接しているドット抜け点f1の個数を併用してもよい(S48〜S50,S54)。隣接するドット抜け点f1が存在することは2個以上のドット抜け点f1が存在することを意味しているから、隣接するドット抜け点f1の個数を評価に用いる場合には、ドット抜け点f1の個数に対する閾値を3個とする。
【0072】
図16に示した判読性評価過程の処理手順は、ライン抜けの判定も含んでいる(S51,S55)。ライン抜けとは、文字の印刷(あるいは刻印)の際に、文字を印刷ないし刻印する装置の不具合によって一直線上に連続的にドット抜け点を生じることを意味する。ライン抜けが生じる原因は、文字を構成する各ドットをそれぞれ印刷する複数個の点状の印字部を一列に配列した印字ヘッドを、印字部が並ぶ方向とは直交する方向に走行させて文字を印字する印字装置を用いる場合に、いずれかの印字部の不具合によって印字ヘッドの走行方向に沿った一直線上でドット抜けが連続的に生じることにある。たとえば、インクジェット式の印字装置では、印字ヘッドが詰まることによってライン抜けが生じることがある。
【0073】
ライン抜けを生じるときには、文字の形状によって、ドット抜け点が1個以下しか生じない場合があるから、ドット抜け点f1やノイズ点f2の個数に基づく判読性の判断では良好とみなされることがある。しかし、印字ヘッドが詰まるなど印字装置に異常がある場合には早期に対処する必要があり、とくにライン抜けは重大な異常として検出する必要がある。そこで、複数個の文字が並んでいるときに、文字が並ぶ方向における各ライン上(一般に、横書きの文字では各高さ位置の直線上)でのドットの個数をあらかじめ求めておき、印刷された文字から求めた同ライン上のドットの個数と比較することで、ライン抜けの判断を行う。つまり、印刷された文字から求めた各ライン上のドット数を、ドット文字マスタから求めた各ライン上のドット数で除算し、除算結果が規定の閾値以下であるときにはライン抜けと判断する。たとえば、図18に示す例では、縦7個のドットを形成する印字ヘッドを用いて文字を印字した例であって、印字ヘッドが正常であれば印字された文字が図18(a)のようになるものとする。横並びの各ドットの数は右端に記載してある。ここで、図18(b)のように、印字ヘッドの異常により上から3行目のドットが抜けたとすれば、本来は11個のドットが存在するのに対してドット数が0個になるから、3行目においてライン抜けが生じたと判断することができるのである。
【0074】
ところで、ドット照合度としては、上述した値だけではなく、以下に説明する6種類の値のうちのいずれかを用いてもよい。
【0075】
(1)図19はターゲットクラスタに含まれる線要素を一定幅に膨張させるように膨張処理を行ったものであり、膨張後の線要素が注目領域aiに占める画素数をドット照合度として用いることができる。線要素を膨張させて用いると、線要素が注目領域aiの境界付近に存在する場合に、境界を挟む複数の注目領域aiにおいてドット照合度が得られ、ドット照合度が0ではない注目領域aiが増えるから、ターゲットクラスタの形状がドット照合度に反映されやすくなり、線要素の膨張処理を行わないより安定性の高い認識が可能になる。
【0076】
(2)他のドット照合度としては、ターゲットクラスタを構成する近似線からの距離が大きいほど確率が低くなるような確率密度分布をターゲットクラスタに与え、各注目領域aiの中での確率の積算値を各注目領域aiのドット照合度に用いてもよい。図20は確率密度分布の概念を表しており、確率を濃淡で表している(色が濃いほど確率が高い)。近似線との距離が大きいほど低い確率を与えるから、注目領域aiの境界付近の近似線に対するドット照合度が小さくなり、各注目領域aiに対して近似線からの距離に応じた合理的なドット照合度を与えることができる。
【0077】
(3)注目領域aiを原画像である濃淡画像に重ね合わせ、各注目領域aiごとの平均明度をそれぞれドット照合度に用いるようにしてもよい。このようにしてドット照合度を求めると、膨張処理が不要であり、また確率密度分布を求める必要もないから、ドット照合度を簡単に求めることができる。
【0078】
(4)骨格線の抽出の際に、骨格線ではなく点列である骨格点が得られているときには、図21のように、各注目領域aiの中の骨格点(骨格点の点列は骨格線liに相当するから、図では骨格線liの符号を付している)の個数をドット照合度に用いてもよい。骨格点の個数は骨格線liの長さに相当するが、骨格点が得られているときには骨格線liの長さを求めるよりも処理が簡単になる。
【0079】
(5)ドット照合度として骨格点を利用する場合に、図22のように、骨格点を中心とする規定の幅および高さを有する矩形を設定し、当該矩形が各注目領域aiと重複する面積の総和をドット照合度に用いることも可能である。この方法では、骨格線の膨張処理に相当し、簡単な方法でドット照合度を得ることができる。
【0080】
(6)骨格点を用いてドット照合度を求める方法として、図23のように、骨格点を中心として骨格点の中心からの距離が大きくなるほど確率が低くなる確率密度分布を求め、各注目領域aiにおける確率の積算値を各注目領域aiのドット照合度に用いてもよい。図23は確率密度分布の概念を表しており、確率を濃淡で表している(色が濃いほど確率が高い)。この方法では、骨格線に対して求めた確率密度分布を用いてドット照合度を求める場合と同様の効果が期待でき、しかも骨格点を用いるから骨格線を用いる場合よりも処理量が少なくなる。
【0081】
一般に文字には人あるいは装置が認識する際のキーポイントとなる特徴部分が含まれるから、文字ごとに特徴部分(重要部分)に関する基準を設定しておき、特徴部分がドット抜け点やノイズ点になったときにはドット抜け点やノイズ点の個数にかかわらず、不良と判断するようにしてもよい。
【0082】
たとえば、図24(a)のような文字「8」と図24(b)のような文字「B」とは形状に共通点が多く、両者の差異は図24(b)に示すドットd21〜d23の有無である。したがって、ドットd21〜d23は判読性に関わる重要部分であって、仮に図24(c)のようにドットd21,d22が抜けているときには「8」か「B」かの識別が困難になって誤読を生じやすくなる。したがって、ドット文字マスタの「8」に対してノイズ点が判読性に関わる重要部分であるドットd21〜d23の位置に生じるときは不良と判断し、またドットマスタ「B」に対してドット抜け点がドットd21〜d23の位置に生じるときは不良と判断する。
【0083】
あるいはまた、図25(a)(b)のように文字「N」と「H」とでは、図25(a)のドットd24,d25、図25(b)のドットd26,d27が識別のための特徴部分になる。したがって、図25(c)のようにドットd24,d25の位置とドットd26,d27の位置との両方にドットが検出されるときには、「N」「H」のいずれの文字に対しても不良と判断する。
【図面の簡単な説明】
【0084】
【図1】本発明の実施形態の動作説明図である。
【図2】同上に用いる装置の概略構成図である。
【図3】同上に用いるドット文字マスタの一例を示す図である。
【図4】同上におけるターゲットデータ抽出過程の動作説明図である。
【図5】同上の動作説明図である。
【図6】同上の動作説明図である。
【図7】同上の動作説明図である。
【図8】同上におけるターゲットクラスタの生成過程を示す動作説明図である。
【図9】同上におけるクラスタ候補の生成過程を示す動作説明図である。
【図10】同上における照合度算出過程を示す動作説明図である。
【図11】同上の動作説明図である。
【図12】同上の動作説明図である。
【図13】同上の動作説明図である。
【図14】同上の動作説明図である。
【図15】同上の動作説明図である。
【図16】同上における判読性評価過程を示す動作説明図である。
【図17】同上の動作説明図である。
【図18】同上の動作説明図である。
【図19】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図20】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図21】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図22】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図23】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図24】同上の動作説明図である。
【図25】同上の動作説明図である。
【符号の説明】
【0085】
11 対象物
12 TVカメラ
13 デジタル画像生成装置
14 記憶装置
15 画像処理装置
【技術分野】
【0001】
本発明は、主として工業製品(たとえば、加工食品)のような対象物に製品管理などの目的で印刷ないし刻印されているドット文字・図形をTVカメラやスキャナのような画像入力装置で読み取り、画像入力装置で得た画像に画像処理を施すことによってドット文字・図形を認識する文字・図形の認識方法および検査方法に関するものである。
【背景技術】
【0002】
従来から、文字・図形(「文字・図形」とは、キャラクタジェネレータで生成できるような、文字や図形を意味しており、以下では単に「文字」と呼ぶ)をTVカメラやスキャナのような画像入力装置で読み取り、画像入力装置で得た画像に画像処理を施すことによって文字を認識する技術が種々提案されている。文字を認識する技術は、あらかじめ指定されたカテゴリに対応付けるパターン認識の技術であるから、カテゴリの対応付けが容易になるような文字の構造の記述、文字の変形に対する補正、対象物に表記された文字を1文字ずつ切り出すセグメンテーションなどの技術が必要になる。
【0003】
たとえば、手書き文字のように複雑に変形する文字を認識するために、文字の構造を以下の形で記述することが提案されている(たとえば、特許文献1、特許文献2参照)。特許文献1、2に記載の技術では、文字の画像を細線化して分岐点あるいは交差点を特異点として抽出し、特異点の周囲の構造を、「X」のような交差、「K」のような接触、「T」のような分岐の3種類に分類することによって、特異点で接続される線を複数のストロークに分割し、さらに、プリミティブと呼ぶ単調曲線の連結構造であるプリミティブ系列を用いて各ストロークを表し、プリミティブ系列と特異点との組により、文字の構造を記述している。ストロークは文字を手書きする際のひとつながりの部分(一筆で書く部分にほぼ一致する)に相当し、プリミティブとは、二次元画像内においてx、y座標が単調に変化する単調曲線を意味している。また、プリミティブの連結構造は、2つのプリミティブを連結することにより形成される凸の方向と、連結点の回りでのプリミティブの右手系での配置順序とで表され、プリミティブ系列は1つのストロークを構成するプリミティブの連結構造の集合になる。
【0004】
また、特許文献1、2では、文字の変形に対する補正のために、バウンディングボックス(文字を囲む最小の直立長方形)を用い、バウンディングボックスの縦横比を変更せずに長い方の辺を単位長にするようにスケールを正規化し、さらにアフィン変換による補正を行う技術も開示されている。
【0005】
すなわち、特許文献1、2に記載の技術では、入力画像について文字のセグメンテーションを行った後に、細線化してプリミティブ系列と特異点とで表される構造を解析し、次に入力画像から切り出した部分画像とモデルとの構造についてのマッチングによりカテゴリの候補を抽出し、さらに部分画像を正規化してモデルとの距離計算を行い類似度を評価することで、部分画像をモデルの文字のカテゴリに対応付けている。このように、文字の構造的情報と定量的情報とを用いることによりロバストなパターン認識が可能になっている。
【0006】
ところで、特許文献1、2にはセグメンテーションの技術については、とくに説明されていないが、セグメンテーションの技術としては、入力された文字列画像を細線化して得られる骨格線図形を単純弧や単純閉曲線を用いて部分曲線に分割した後、部分曲線における分岐点あるいは交差点の有無と部分曲線の横幅と文字列の高さとを用いて、文字の接触の可能性を推定する技術が提案されている(たとえば、特許文献3参照)。また、特許文献3には、骨格線図形を分割して得られた部分曲線を組合せることにより生成される文字列について特許文献1、2と同様の技術を用いて文字を認識し、認識結果の組合せのうち文字として認識された部分図形をノードとするネットワークを構成し、ネットワークから最適経路を選択することにより、ノードの認識文字の組合せを出力する技術も開示されている。さらに、文字数が既知である場合には、ネットワークから文字数と一致するノード数の経路から最適経路を選択することも記載されている。
【0007】
ところで、上述した特許文献1、2に記載の技術では、文字の構造的情報を用いて入力画像のカテゴリを絞り込んではいるものの、構造的情報として線図形の分岐点と交差点を基準に用いており、文字を構成する線が連続していることが前提になっている。このことは、特許文献3に記載の技術においても同様である。
【0008】
したがって、対象物に印刷したり刻印したりした文字のように変形の比較的少ない文字であっても、食品の賞味期限や消費期限の表示などにおいて広く用いられているドット文字、印刷装置の不具合などに起因して生じるかすれた文字(以下、「かすれ文字」という)、文字を構成する連続すべき線が不連続に分断した文字(以下、「分断文字」という)などでは、文字の構造的情報を正確に抽出することができず、特許文献1〜3に記載された技術を採用したとしても、文字を正確に認識することができない可能性がある。
【0009】
この種の問題に対応するために、本発明者は、入力された画像から文字・図形の骨格線を抽出して単純図形である近似線で近似し、それらの近似線から互いに近接した近似線の集合をターゲットクラスタとして抽出し、あらかじめ文字・図形の標準をターゲットクラスタと同様の近似線の集合として表したマスタクラスタと照合する技術を先に提案した(特願2003−4258533号)。この技術では、ターゲットクラスタとマスタクラスタとを照合する際に、ターゲットクラスタとマスタクラスタとのそれぞれの外接矩形をあらかじめ抽出しておき、両者の外接矩形を重ね合わせるように位置合わせを行った上で、両者に含まれる近似線の近接の度合いを形状類似度として評価し、形状類似度がもっとも高くなるマスタクラスタを着目するターゲットクラスタのカテゴリに対応付けている。
【特許文献1】特開平7−21317号公報
【特許文献2】特許第3183949号公報
【特許文献3】特開平6−76114号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述したように、特願2003−4258533号において開示した技術では、文字の構造を用いる代わりに線図形で表現されたマスタクラスタと照合することにより、ドット文字、かすれ文字、分断文字であっても正しい認識が可能になる。しかしながら、きわめて小さいドットからなるドット文字のように、ドットの寸法に比較してドットの間隔が広い場合には、ターゲットクラスタにおいてマスタクラスタに含まれる近似線と照合できる特徴が少なくなって形状類似度が低くなり、認識率が低下する可能性がある。
【0011】
本発明は上記事由に鑑みて為されたものであり、その目的は、ドット文字・図形、かすれ文字・図形、分断文字・図形などであっても認識可能であり、とくにドットの寸法に対するドットの間隔が広いドット文字・図形であっても正確に認識することが可能な文字・図形の認識方法および文字・図形の判読性を検査することができる文字・図形の検査方法を提供することにある。
【課題を解決するための手段】
【0012】
請求項1ないし請求項6の発明は文字・図形の認識方法に関するものである。
【0013】
請求項1の発明は、認識対象として入力された文字・図形の画像から文字・図形の骨格線を抽出し、次に骨格線を単純形状である近似線の集合として近似するとともに、連続している近似線を1つの近似線群に加え、かつ連続していない各一対の近似線間の距離を評価することにより当該近似線群の近傍にある近似線も当該近似線群に加えて、1単位として扱う近似線群をターゲットクラスタとして抽出するターゲットデータ抽出過程と、縦横複数個ずつの配置点からなるマトリクス内で文字・図形の形状に沿う配置点にドットを配置して構成したドット文字・図形におけるドットの配列およびドット文字・図形の外接矩形の寸法とからなるドット文字・図形マスタと前記ターゲットクラスタとの一致の程度を評価する照合度算出過程とを有し、照合度算出過程では、前記ターゲットクラスタについて設定した外接矩形に対してドット文字・図形マスタの外接矩形の位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定してターゲットクラスタを構成する近似線と各注目領域との位置関係により注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度を求めるとともに、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度を数値で表したクラスタ照合度を求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識することを特徴とする。
【0014】
この方法によれば、認識対象である文字・図形の画像との照合に用いるマスタデータ(一種のテンプレート)として、ドットの並びからなるドット文字・図形マスタを用い、ドット文字・図形マスタにおいてドットを配置することができる配置点の近傍に設定した注目領域とターゲットクラスタに属する近似線との重複の程度を評価するから、ターゲットクラスタを用いることによって、ドット文字・図形、かすれ文字・図形、分断文字・図形などでも認識することが可能になる。しかも、ドット文字・図形に対しては、理想的な配列のドットと照合するから、ドットの間隔の粗密に関わらずドット文字・図形を認識することができる。つまり、ドットの寸法に比較してドットの間隔が広い場合でもドット文字・図形の認識が可能になる。
【0015】
請求項2の発明では、請求項1の発明において、前記クラスタ照合度は、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることを特徴とする。
【0016】
この方法によれば、クラスタ照合度としてドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることにより、存在すべきドットが存在しない場合、あるいはドットが存在しないはずの場所にノイズが存在する場合には、いずれもクラスタ照合度が低下し、クラスタ照合度を用いることによりドット文字・図形マスタとターゲットクラスタとの類似度を容易に評価することができる。また、相互相関値は正規化しているから、印刷されたドット文字・図形のにじみなどによるドットの大きさの変化に対してロバストである。
【0017】
請求項3の発明では、請求項1または請求項2の発明において、前記ドット文字・図形マスタにおけるドットの配列は、ドット文字・図形におけるドットの位置とドット間を連結する仮想線の延長方向を反映した各ドットの位置での方向値とからなり、前記照合度算出過程では、仮想線の延長方向に交差する方向において各ドットからの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、対応点が検出されるとドット文字・図形マスタの各ドットと対応点との一致度が高くなるようにドット文字・図形マスタにアフィン変換による変形を施した後に、ドット照合度を求めることを特徴とする。
【0018】
この方法によれば、ターゲットクラスタとドット文字・図形マスタとの位置合わせの誤差を補正することができるから、ドット文字・図形が位置ずれ、回転、スケール変化を伴っていても精度よく認識することができる。
【0019】
請求項4の発明では、請求項1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、明度が規定の範囲内であり、かつ空間二次微分値が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする。
【0020】
この方法によれば、線状あるいはドット状のパターンに対して大きな値が得られる空間二次微分法と明度によって領域を分割する二値化処理とを併用するから、明度が急に変化するエッジや明度が滑らかに変化する明度むらの影響を除去して認識対象である文字・図形を構成する線あるいはドットの特徴だけを抽出することができる。
【0021】
請求項5の発明では、請求億1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、背景に相当する領域の明度の分布を二次曲面で近似し、文字・図形の画像における各画素の明度のうち当該二次曲面で表される明度との差分が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする。
【0022】
この方法によれば、背景に比較的滑らかで単純な明度むらが生じているような場合に、背景から得られる明度分布を二次曲面で近似し、文字・図形の領域における明度を明度分布から予測される明度との差分によって二値化するから、二値化の際に明度むらの影響を除去することができる。また、二次曲面を求めるには最小自乗法を利用することができ、空間二次微分の演算よりも演算が少ないから、明度むらを除去する処理を少ない演算量で実施することができる。
【0023】
請求項6の発明では、請求項1ないし請求項3の発明において、文字・図形の画像は濃淡画像であって、明度を二値化することにより前記骨格線を抽出する画素を選択するにあたり、文字・図形の画像内で文字・図形の明度を含む明度範囲内の画素の占める面積が、文字・図形が占める既知の面積以上であって規定範囲内の面積になるように明度範囲を設定し、当該明度範囲内の画素を前記骨格線を抽出する対象とすることを特徴とする。
【0024】
この方法によれば、認識対象である文字・図形が既知である場合に、認識対象である文字・図形が画面中に占める面積をもとに明度のヒストグラムの累積頻度値を参照することによって二値化のための閾値を設定するから、画像に占める認識対象である文字・図形の面積が小さい場合でも、適切な閾値を設定して文字・図形の領域を的確に抽出することが可能になる。
【0025】
請求項7ないし請求項10の発明は文字・図形の検査方法に関するものである。
【0026】
請求項7の発明では、請求項1ないし請求項6のいずれか1項に記載の文字・図形の認識方法における前記照合度算出過程においてクラスタ照合度が閾値以上になるときのドット文字・図形マスタの位置において得られるドット照合度とドット文字・図形マスタにおけるドットの配列とを用い、ドット文字・図形マスタの各配置点ごとにドットの有無が文字・図形の画像と一致するか否かを判断し、不一致である配置点の個数により認識対象である文字・図形の良否を判定する判読性評価過程を有することを特徴とする。
【0027】
この方法によれば、認識対象である文字・図形とドット文字・図形マスタとの相違の程度をドット単位で評価することができ、認識対象がドットを配列した文字・図形であっても判読性を評価することができる。
【0028】
請求項8の発明では、請求項7の発明において、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が、ドット文字・図形マスタにおいてドットの存在する配置点であるときにドット抜け点とし、ドットの存在しない配置点であるときにノイズ点として、ドット抜け点とノイズ点との個数の一方が規定の閾値を越えるときに判読性が不良と判断することを特徴とする。
【0029】
この方法によれば、認識対象である文字・図形におけるドットの抜けとノイズとをそれぞれ不良として検出することができる。
【0030】
請求項9の発明では、請求項7または請求項8の発明において、前記ドット文字・図形マスタは判読性に関わる重要部分の配置点があらかじめ登録されており、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が重要部分であるときには判読性が不良と判断することを特徴とする。
【0031】
この方法によれば、文字・図形において他の文字・図形との誤認を生じやすい部位を重要部分としてドット抜けやノイズを判断するから、単に判読性を判断するだけではなく、文字・図形の誤認を生じる可能性を低減することができる。
【0032】
請求項10の発明では、請求項7ないし請求項9の発明において、前記判読性評価過程において、認識対象である文字・図形が複数個でありかつドットの並びにより構成された文字である場合に、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点がドット文字・図形マスタにおいてドットの存在する配置点であるときの配置点の個数を、認識対象である文字・図形とドット文字・図形マスタとについて、認識対象である文字・図形の並ぶ方向に沿って並ぶドットの各列ごとにそれぞれ求め、認識対象である文字・図形から求めた配置点の個数をドット文字・図形マスタについて求めた配置点の個数で除算した結果が規定の閾値以下であるときに、認識対象である文字・図形において個数を求めたドットの一列が抜けていると判断することを特徴とする。
【0033】
この方法によれば、文字・図形がドットの並びによって形成されている場合に、文字・図形を印字ないし刻印する装置の異常によって一列のドットが抜けるいわゆるライン抜けを早期に検出することができ、文字・図形を印字ないし刻印する装置の異常を自動的かつ早期に発見することが可能になる。
【発明の効果】
【0034】
本発明の文字・図形の認識方法によれば、認識対象である文字・図形の画像との照合に用いるマスタデータとして、ドットの並びからなるドット文字・図形マスタを用い、ドット文字・図形マスタにおいてドットを配置することができる配置点の近傍に設定した注目領域とターゲットクラスタに属する近似線との重複の程度を評価するから、ターゲットクラスタを用いることによって、ドット文字、かすれ文字、分断文字などでも認識することが可能になるという利点がある。しかも、ドット文字・図形に対しては、理想的な配列のドットと照合するから、ドットの間隔の粗密に関わらずドット文字・図形を認識することができ、ドットの寸法に比較してドットの間隔が広い場合でもドット文字・図形の認識が可能になるという利点がある。
【0035】
本発明の文字・図形の検査方法によれば、認識対象である文字・図形とドット文字・図形マスタとの相違の程度をドット単位で評価することができ、認識対象がドットを配列した文字・図形であっても判読性を評価することができるという利点がある。
【発明を実施するための最良の形態】
【0036】
本実施形態に用いる装置の一例を図2に示す。図示例では、シート状あるいは立体形状の対象物11の画像を入力する画像入力装置としてTVカメラ12を備える。対象物11には、文字(従来構成と同様に文字・図形を意味する)が印字あるいは刻印(対象物11の表面がエンボス状に陥没あるいは隆起)され、TVカメラ12では文字を含む画像を撮像する。本実施形態は、主として印字あるいは刻印による文字の認識を行うものであり、手書き文字の認識については想定していない。TVカメラ12で撮像されたアナログ信号の画像は、デジタル画像生成装置13に入力されてデジタル信号に変換され、デジタル画像生成装置13からは画素値が明度である濃淡画像が生成される。この濃淡画像は記憶装置14に格納され、記憶装置14に格納された濃淡画像に対して画像処理装置15において以下に説明する画像処理が施される。記憶装置14は半導体メモリとハードディスク装置とからなり、記憶装置14には、対象物11を撮像した画像のほかに、文字の認識に必要なドット文字マスタも格納される。以下では、対象物11に文字が印字されている場合を想定して説明するが、文字が対象物11に刻印されている場合でも同様の技術を採用できる。
【0037】
ところで、ドット文字マスタは、対象物11に印字された文字と照合するための一種のテンプレートであって、図3に示すように、縦m個×横n個(本実施形態では、7個×5個)の配置点qi(i=1,2,…,35)からなるマトリクスを1文字の文字単位とし、文字単位内で文字の形状に沿った配置点qiにドットdi(i=1,2,…)を配置して構成される。一般にドットの並びを文字として人が認識する際には、隣接する一対のドット間に仮想線ri(i=1,2,…)を補完し、文字形状に沿って仮想線riを連結することによりドットdiの並びを一連の仮想線riからなる文字として認識していると考えられる。
【0038】
そこで、ドット文字マスタとして、文字単位内でのドットdiの位置と、ドットdi間を結ぶ仮想線riの延長方向を示すことができる方向値(図3における両端矢印で示す方向を表す値)と、文字単位を囲む外接矩形とを組にしたデータを用いる。また、ドット文字マスタでは、ドットdiを配置した配置点qiに対してドットdiを配置していない配置点qiとは異なる値を割り当てる。たとえば、ドットdiを配置した配置点qiに「1」を割り当て、ドットdiを配置していない配置点qiに「0」を割り当てる。方向値は、ドットdiに仮想線riが1本だけ連結されているときには当該仮想線riに直交する方向とし、ドットdiに仮想線riが2本連結されているときには両仮想線riのなす角度を二等分する方向とする。したがって、方向値は仮想線riを連結して表される文字のドットdiの位置における法線方向に相当する情報を持っており、しかも1個のドットdiに2本の仮想線riが連結されているときには、方向値を用いることにより各仮想線riを個別に記述する場合よりもデータ量を低減できることになる。文字が膨張収縮する際には、ドットdiの位置が方向値で表される方向に移動すると考えられるから、対象物11から得られた画像内の文字とドット文字マスタとの寸法を合わせる際には、方向値で表される方向にドットdiを変位させればよい。
【0039】
図3は文字「2」を表すドット文字マスタの例を示しており、各配置点qiにおけるドットdiの有無と、ドットdiごとの方向値とを組にしてドットdiの配列を表し、さらに、外接矩形rcの位置および寸法についてもドットdiの配列と組にしてドット文字マスタとして用いることを表している。図3では、たとえば配置点q1にはドットがなく、配置点q2にはドットd2が存在し、ドットd2の方向値は水平方向に対して112.5度の方向になる。
【0040】
画像処理装置15において行う画像処理の基本的な処理手順は、図1に示す通りであって、まずターゲットデータ抽出過程(S1)において、文字の認識を行う対象物11を文字を含めて撮像し、この画像からドット文字マスタと比較すべき文字の属性をターゲットデータとして抽出する。従来の技術では、ターゲットデータを抽出する前処理としてセグメンテーションを行い、セグメンテーションにより1文字ずつに切り分けているが、本実施形態ではターゲットデータ抽出過程においてはセグメンテーションを行わず、ドット文字、分断文字、不連続部分を含む文字などに対してターゲットデータ抽出過程においてひとまとまりに扱うことで、1文字よりも小さい単位に分割されることを抑制している。つまり、分離された部分同士の距離が規定した閾値以内であれば、分離された部分同士を1つの単位として扱う。このような単位を以下ではクラスタと呼ぶ。ターゲットデータから抽出したクラスタはターゲットクラスタと呼び、ターゲットクラスタは大抵の場合において1文字以上を含み、複数文字を含む場合もある。
【0041】
ターゲットデータ抽出過程においてターゲットクラスタに区分されたターゲットデータが得られると、ターゲットクラスタにドット文字マスタを照合する照合度算出過程(S2)が実施される。照合度算出過程においては、ターゲットクラスタにドット文字マスタの位置を合わせ、ドット文字マスタの各配置点qiに対応するドットdiの有無を表すドット照合度が求められ、さらにドット照合度の配列に基づいてターゲットクラスタとドット文字マスタ全体との類似度を表すクラスタ照合度が算出される。つまり、照合度算出過程においては、ドット文字マスタとターゲットクラスタとの一致の程度を評価することにより、ターゲットクラスタで表される文字がドット文字マスタのどの文字に対応するかを判断することにより文字を認識する。
【0042】
さらに、文字の認識後には、照合度算出過程において求められたクラスタ照合度が最大になる位置を照合位置として、照合位置においてドット照合度を再度求め、ドット文字マスタにおけるドットの位置と対象物11から得た文字の画像との整合性を検証し、対象物11に印字された文字が判読可能か否かを判断して最終的に対象物11に維持された文字の良否を判定する判読性評価過程(S3)を実施する。
【0043】
以下では、ターゲットデータ抽出過程、照合度算出過程、判読性評価過程について処理手順を具体的に説明する。
【0044】
ターゲット抽出過程の処理手順を図4に示す。ターゲットデータ抽出過程においては、入力された濃淡画像を二値化し(S11)、二値画像から骨格線を抽出する(S12)。骨格線の抽出には、Hilditch法のような周知の技術を用いればよいが、二値化の際には文字以外の余計な特徴を残さない技術を採用する必要がある。
【0045】
二値化の際の問題を説明するために、明度むらやノイズが存在する濃淡画像を図5(a)に示し、図5(a)のA−A′線上の明度の変化を図5(b)に示す。図5(a)では文字「R」の部分の明度が背景よりも低く、A−A′線が文字と交差している部位は1箇所であるから図5(b)では理想的には1箇所だけ明度が低くなるはずであるが、実際には明度むら(図5(a)においては明度の相違を斜線部の斜線の違いで表している)やノイズnsの存在によって、実際には複数箇所で明度が低くなっている。つまり、図5(b)に示す一定値である閾値Th1で二値化した場合には、図5(c)に示すように、二値画像に文字以外の部分が残ることになる。図5はドットを並べて構成したドット文字ではないが、ドット文字を認識しようとすればドットの並びを評価しなければならないから、二値画像においてノイズnsが点状に残っているとドット文字を構成するドットとの識別が困難になりドット文字の認識を阻害する。したがって、二値化に際しては文字以外の特徴が残らないように、以下に説明する3種類の技術のいずれかを採用する。なお、以下に説明する例では文字の領域の明度が背景よりも低い場合を想定するが、文字の領域の明度が背景よりも高い場合や、文字の領域の明度に対して明るい領域と暗い領域とが背景に存在する場合でも同様の技術を適用することが可能である。
【0046】
二値化の第1の方法としては、明度を閾値で二値化して抽出される画素であって、かつ濃淡画像から求めた空間二次微分値が閾値以上である画素を抽出する方法がある。空間二次微分値を求めるには、ラプラシアン−ガウシアンフィルタのような叩き込みフィルタを濃淡画像に適用すればよい。図6(a)は図5(a)に示した濃淡画像にラプラシアン−ガウシアンフィルタを適用し各画素の画素値を空間二次微分値とした空間二次微分画像である。図6(a)の空間二次微分画像における図5(a)のA−A′線に相当する線上の空間二次微分値の変化を図6(b)に示す。空間二次微分画像では、特定の太さの線状の特徴を抽出することができるので、文字と交差するA−A′線上では図6(b)のように文字に対応する部位において空間二次微分値が大きくなるのに対して、明度むらやノイズが生じている部位では空間二次微分値が小さくなる。つまり、空間二次微分値に適宜の閾値Th2を設定することにより、文字に対応すると考えられる部位を明度むらやノイズの部位から分離することができる。
【0047】
ただし、空間二次微分値を閾値Th2によって二値化するだけでは文字以外の部位が含まれることがあるから、文字のみを抽出するには、通常の濃淡画像に対して閾値を適用して得た二値画像と空間二次微分画像との両方でともに抽出された画素を文字の部位の画素として採用するのが望ましい。このような処理により、図6(c)のように文字に対応する領域のみを抽出することができる。空間二次微分値に対する閾値Th2は、明度が閾値Th1以下である画素における空間二次微分値の平均値を採用し、空間二次微分画像では空間二次微分値が閾値Th2以上である画素を白画素(背景)とすればよい。
【0048】
二値化の第2の方法としては、文字以外の背景を二次式で近似し、近似した二次式との差分が閾値以上になる画素を文字として抽出することにより明度むらを除去する方法がある。すなわち、まず明度を閾値で二値化することにより文字に相当する領域を大まかに切り出し、二値化によって背景となった画素の明度と座標との関係を二次式で近似する。つまり、明度の分布を二次曲面で近似する。近似する二次式としては下式のような二次双曲面を表す二次式を用いるのが望ましいが、他の二次式を用いることも可能である。
b(x,y)=a1・x2+a2・y2+a3・x+a4・y+a5
ただし、b(x,y)は座標(x,y)における明度、a1〜a5は係数である。上式を回帰方程式に用いて係数a1〜a5を決定すれば、文字を除いた背景の明度b(x,y)の近似式が得られる。この近似式から得られる明度b(x,y)と実際の明度との差分を求め、差分が規定の閾値以上である画素を文字に対応する画素として抽出すれば文字と背景とに分離するように二値化することができる。この技術は、明度むらの影響を除去するのに好適であるが、近似式との明度差の大きいノイズが生じている場合や、二次式では表すことのできない模様が背景に存在する場合には、背景を除去することができないが、空間二次微分値を求める場合に比較すると演算量が少なくなる。したがって、二次式で近似できるような滑らかな明度むらが生じている場合には少ない演算量で高速な演算が期待できる。
【0049】
二値化の第3の方法は、文字に対応する領域の画素数を用いて二値化のための閾値を決定する方法である。いま、図7(a)のように画像のサイズに対して文字に対応する領域が小さい場合に、明度のヒストグラムを求めると図7(b)のように文字に対応する領域の明度の度数(ピークp1付近の度数)は背景となる領域の明度の度数よりも大幅に少なくなる。一般にヒストグラムを用いて二値化のための閾値を決定する場合には、ヒストグラムに現れるピークのうち度数の大きい2つのピーク間の明度を閾値に用いることが多い。しかしながら、図7(b)のようなヒストグラムでは、4個のピークp1〜p4が生じており、どのピークp1〜p4の間を閾値に用いるのが望ましいかを自動的に判断することができない。とくに、図7に示す例では、文字に対応する領域の画素数が少ないから文字に対応する領域と考えられるピークp1の度数が小さく、度数の大きい2つのピーク間の明度を閾値に用いる方法では適切な閾値を決定することができない。
【0050】
ところで、製品管理などの目的で印刷ないし刻印されている文字の認識や検査の際には文字の属性は既知であるから、画像内で文字が占める面積を推定することができるから、明度が閾値以下である領域の面積(画素数)が推定した面積以上になるように閾値を設定する。ただし、文字がかすれ文字である場合やノイズがある場合には、推定された面積が得られる閾値(図7の9Aを想定している)を採用すると、文字に対応する領域に対してノイズに対応する領域の画素数が比較的多くなり、文字の特徴を抽出するのに十分な画素数を得られない場合があるから、推定された面積に相当する画素数よりも多めの画素数が抽出されるように閾値をやや高く設定する。たとえば、推定された面積が得られる閾値9Aよりも大きく、かつ明度に対する度数の変化率が規定値以下から規定値以上になるになる閾値(図7では9Cを想定している)を求め、推定された面積が得られる閾値9Aと閾値9Cとの間の適宜の閾値9Bを二値化に用いる。閾値9Bは2つの閾値9A,9Cの間で適宜に設定することができるが、たとえば、閾値9A以下の画素数と閾値9C以下の画素数との平均の画素数が得られるように閾値9Bを設定する。この技術は、背景において文字との明度差の小さい領域が多く含まれる場合には閾値を決定するのが困難な場合もあるが、文字の面積を推定して閾値を決定するから、対象物11に対する照明具合などによる明度変化があっても適切な閾値を設定することができ、しかも空間二次微分値を求める場合に比較すると演算量が少なくなる。
【0051】
上述した3種類の二値化技術のうち対象物11に応じた適宜の二値化技術を用いて得られる二値画像から骨格線を抽出した骨格線画像が得られると、骨格線からノードと線要素とを抽出し、線要素を直線や楕円弧のような単純形状からなる近似線に近似する。ノードはノードの座標とノード名とで表される。以下に、この処理について具体例を挙げて説明する。
【0052】
ここでは、骨格線画像において、図8(a)のように「R」という文字の骨格線が抽出されているとする場合を例として説明する。この場合、二値の骨格線画像をラスタ走査し、骨格線から端点と分岐点(交差点を含む)とをノードとして抽出すると(図4のS13)、図8(b)のように、端点t1,t2と分岐点j1,j2とが抽出される。ノードの抽出後には、各ノード間を結ぶ線要素を抽出する(S14)。すなわち、各端点t1,t2と各分岐点j1,j2とをそれぞれ始点として他の端点t1,t2または他の分岐点j1,j2に到達するまで線の追跡を行い(S14b)、線要素e1〜e4を抽出して記録する(S14c)。線要素e1〜e4は、一端が開いている場合には、他の端点t1,t2または分岐点j1,j2に到達するまでの追跡経路を1つの線要素とし(たとえば、線要素e3,e4)、両端が閉じている場合は始点となった端点t1,t2または分岐点j1,j2に到達するまでの追跡経路を1つの線要素とする(たとえば、線要素e1,e2)。追跡を終了したノードが端点t1,t2であれば追跡を終了し、追跡を行っていない端点t1,t2から追跡を行い、また、追跡を終了したノードが分岐点j1,j2であれば、当該分岐点t1,t2からさらに追跡する(S14a,S14d)。
【0053】
上述のようにして線要素e1〜e4が抽出されると、各線要素e1〜e4を単純形状(直線、楕円のような幾何形状)である「近似線」の集合として近似する。ここでは、単純形状として簡単な数式で表される近似線を用いる。また、近似線としては、直線と楕円の一部(以下、「楕円弧」と呼ぶ)との2種類を用いる。このように近似線として直線と楕円弧とを用いることによって、ベジェ曲線やスプライン曲線を用いる場合に比較して近似線の表現のためのパラメータを少なくすることができ、種々演算に対する処理負荷も小さくなる。図8(b)に示す形状では、線要素e1は、「R」の文字の左上角を形成する2本の直線と、上辺の直線の右端から分岐点j2までの1本の楕円弧とで近似することができる。つまり、図8(c)のように、線要素e1を2本の直線である近似線l1,l2と1本の楕円弧である近似線l3とで近似し、直線である2本の近似線l1,l2を接続する角点c1と、直線である一方の近似線l2に楕円弧である他方の近似線l3と接続する線接続点d1とをノードとして導入する。線要素e2〜e4は直線であるから、そのまま近似線l4〜l6に用いる。要するに、線要素を数式で表すことのできる近似線で近似するとともに、角点および線接続点を抽出する(図4のS15)。
【0054】
骨格線画像から骨格線のノードと線要素とを抽出する処理を、画像の全面または画像内において指定した特定範囲について実施し、ノードおよび近似線を抽出した後、1つの単位として扱う範囲のノードおよび近似線に関するノードデータおよび近似線データをまとめてターゲットクラスタとする。ノードデータは、ノード名にノードの座標およびノードに接続される近似線名が対応付けられ、近似線データは、近似線名に線要素のパラメータおよび線要素に接続されるノードのノード名が対応付けられる。たとえば、濃淡画像を二値化した二値画像が図9(a)のようになるときに、ターゲットクラスタで表される図形は図9(b)のようになる。
【0055】
ターゲットクラスタを生成する処理は、図4においてステップS16とステップS17とで表す手順で行われる。まず、適宜に選択したノードを起点ノードとし(S16b)、起点ノードを一端とする近似線の他端のノードを検出する(S16d)。他端のノードの種類を端点と分岐点とその他とに分類し(S16e)、端点であれば起点ノードに接続された別の近似線について同様の処理を行い(S16c)、分岐点であれば当該分岐点を新たな起点ノードにし(S16g)、同様の処理を行う。また、他端のノードが端点でも分岐点でもない場合には、当該ノードを新たな起点ノードにし(S16f)、当該ノードが一端に接続された近似線の他端のノードについて種類を分類する。この処理を行うと最初に選択した起点ノードに対して近似線を介して接続されているすべてのノードを抽出することができる。ただし、最初に選択した起点ノードと他のノードとの間には近似線が何本介在していてもよい。したがって、上述の処理が未処理である近似線がなくなれば(S16c)、最初に選択した起点ノードを含み1文字分とみなされるノードデータおよび近似線データの組が生成されるから、このノードデータおよび近似線データの組をクラスタ候補として一時的に記憶する(S16h)。クラスタ候補の生成および記憶の作業は画像内のすべてのノードがいずれかのクラスタ候補に含まれるようになるまで繰り返される(S16a)。以上の処理により図9(c)のようにクラスタ候補pc1〜pc33が抽出される。図9(c)では各クラスタ候補pc1〜pc33を外接矩形で囲んである。
【0056】
上述のようにして得られるクラスタ候補pc1〜pc33は、図9(c)を見れば明らかなように、必ずしも1文字分ごとのクラスタを形成していない。そこで、図4に示すステップS17では、1文字分に相当するクラスタ候補を結合する処理を行う。クラスタ候補pc1〜pc33を結合するか否かは、各一対のクラスタ候補pc1〜pc33に含まれるノードおよび近似線の距離によって評価する。すなわち、各クラスタ候補pc1〜pc33から2個のクラスタ候補を抽出し、互いに他方のクラスタ候補に含まれるすべてのノード間の距離と近似線間の距離との最短距離を求める(S17b)。この最短距離が規定した閾値以下であるときには(S17c)、両クラスタ候補は1つの単位として扱うべきであると判断し、両クラスタ候補を1つのクラスタとして扱ってターゲットデータとして登録する(S17e)。また、上述した最短距離が規定した閾値よりも大きいときには、両クラスタ候補は各別の文字と判断し、各別のクラスタとして扱ってターゲットデータを登録する(S17d)。たとえば、図9(c)のクラスタ候補pc1〜pc7におけるノード間の最短距離が閾値よりも小さくなるように閾値を設定することによって、両クラスタ候補pc1〜pc7を、図9(d)のように1つの単位として扱うことになる。ただし、クラスタ候補pc2,pc3のようにノードと近似線との距離が近い場合に、複数文字が1文字として扱われる場合があり、図9(d)のように、クラスタ候補pc1〜pc33の評価により得られるターゲットクラスタtc1〜tc4の一部には複数文字を含む場合が生じる。
【0057】
上述した処理によって、クラスタ候補の結合を行うことにより、「i」や「は」など不連続に分離された部位を含む文字やドット文字のように、1つの文字が隣接した2個以上の部分で構成されている場合であっても、1文字のクラスタにまとめることが可能になる。このことは、かすれ文字や分断文字であっても同様である。
【0058】
次に、照合度算出過程では、ドット文字マスタと上述したターゲットデータとを位置合わせし、後に実施する判読性評価過程においてドットごとの有無を判断するためのドット照合度と、位置合わせのために必要な文字形状の全体的な類似性を評価するクラスタ照合度とを求める処理を実施する。ドット照合度とクラスタ照合度とを求める照合度算出過程の処理手順について図10を用いて詳細に説明する。
【0059】
ターゲットクラスタとドット文字マスタとの位置合わせには、ターゲットクラスタとドット文字マスタとのそれぞれに設定した外接矩形同士の位置を合わせる(S22)。ただし、ターゲットクラスタは1文字分以上のターゲットデータを含み、複数文字分のターゲットを含むことがあるから、ドット文字マスタとターゲットクラスタとの高さ寸法と幅寸法とのそれぞれの寸法比を用いてターゲットクラスタに含まれる文字数を推定し、推定した文字数に応じて図11に示すようにターゲットクラスタtc内でドット文字マスタdmを移動させ、それぞれの位置で後述するのクラスタ照合度を求め、クラスタ照合度が最大になる位置を照合位置として、照合位置において後述するドット照合度を求め、このドット照合度を後述する判読性評価過程に用いる。
【0060】
上述のようにターゲットクラスタtc内でドット文字マスタdmを移動させ、クラスタ照合度が最大になる位置を求めることにより、複数文字を含むターゲットクラスタtcにおける文字の切り分けがなされる。ここに、クラスタ照合度はターゲットクラスタtcにおけるクラスタ候補pcとドット文字マスタdmの全体との類似度を表しており、クラスタ照合度が高いことは、クラスタ候補pcがドット文字マスタdmで表される文字と一致する可能性が高いことを表す。このように、ドット文字マスタdmとターゲットクラスタtcとの外接矩形の位置を合わせてクラスタ照合度を求めることにより、テンプレートを1画素ずつずらしてドット照合度を求める場合に比較すると、照合すべき領域が大幅に少なくなり、処理負荷を軽減することができる。
【0061】
ターゲットクラスタとドット文字マスタとの位置合わせの後、まずドット文字マスタをターゲットクラスタのドットの並びに合致させるように変形させる補正を行う(S23〜S25)。すなわち、図12(a)に示すように、ターゲットクラスタと(ノードを白丸で表し、ノード間を連結する線分を線要素としている部分)のノードおよび線要素にドット文字マスタのドットd1〜d14が重なるように、各ドットd1〜d14の位置から方向値(図3参照)で示される方向にターゲットクラスタの対応点を探索し、ターゲットクラスタが検出されたときには、ターゲットクラスタにおいて検出された位置にドットd1〜d14を対応付ける。つまり、仮想線の延長方向に交差する方向において各ドットd1〜d14からの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、ターゲットクラスタに対応点が検出されると、その位置にドットd1〜d14を対応付ける。ドット文字マスタの各ドットd1〜d14に設定された方向値で示される方向に探索してもターゲットクラスタを検出できないドット(図示例では、d4,d10,d13,d14については、方向値で示される方向に対して規定の角度範囲内で距離がもっとも近い位置のノードを対応付ける(S23)。
【0062】
さらに、ドット文字マスタにおけるドットd1〜d14とターゲットクラスタの対応点との位置関係に基づいて、次式に基づいてドット文字マスタを変形させるためのパラメータa1〜a6を最小自乗法によって求める(S24)。
X=a1・x+a2・y+a3
Y=a4・x+a5・y+a6
(X,Y)はターゲットクラスタ上の座標であり、(x,y)はドット文字マスタ上の座表を示す。この変形式は、位置と回転とスケールと座標の斜交角の変形を補償するアフィン変換式であるから、図9(b)のようにドット文字マスタの幅よりもターゲットクラスタの幅がやや狭くなる変形を生じている文字であってもドット文字マスタを重ね合わせることが可能になる(S25)。ただし、ドット文字マスタのアフィン変換を行ってもドット文字マスタをターゲットクラスタに完全に一致させるのは困難であるから、図13(a)のように、ドット文字マスタの変形後に各配置点qiごとに配置点qiを中心とした注目領域ai(i=1,2,…,35)を設定する(S26)。注目領域aiは、図示例ではドット文字マスタの変形後の配置点qiの位置を中心とする同じ大きさの正方形状の領域であって、隣接する配置点qiについて設定した注目領域aiが互いに重複しない程度の大きさに設定される。なお、注目領域aiは正方形状ではなく円形などを用いることも可能である。
【0063】
次に、ドット文字マスタの各配置点qiについて設定した注目領域aiについてターゲットクラスタが重なっているか否かを評価するドット照合度を求め(S27)、ドット照合度に基づいてターゲットクラスタとドット文字マスタとの全体的な類似性を示すクラスタ照合度を求める(S28)。
【0064】
まず、ドット照合度を求める方法について説明する。ドット照合度には、それぞれの注目領域aiに含まれるターゲットクラスタの線要素li(i=1〜7)の長さを用いる。たとえば、注目領域a16はターゲットクラスタに含まれる線要素l2,l5の一部と重複しているから、注目領域a16に対するドット照合度は、線要素l2,l5が当該注目領域a16内を通る部分の長さの和で求められる。ドット照合度は、注目領域a1〜a35内に線要素が多く存在するほど大きい値になる。つまり、ターゲットクラスタにおけるドットの有無を表す数値になる。図13(a)について求めたドット照合度の例を図13(b)に示す。
【0065】
ドット照合度はドット文字マスタを構成する配置点qiごとに求められるから、ドット文字マスタの1文字について配置点qiごとドット照合度を対応付けたドット照合度マトリクスが得られる。また、ドット照合度マトリクスの各注目領域a1〜a35のドット照合度は、ターゲットクラスタを抽出した文字の形状とドット文字マスタとの一致の程度の目安になる。そこで、ドット照合度が得られると、ドット照合度マトリクスとドット文字マスタとの類似性を評価するクラスタ照合度を求める(S28)。クラスタ照合度を求めるには、まず図14に示すように、ドット文字マスタのうちドットd1〜d14の存在する配置点qiに「1」を与え、残りの配置点qiに「0」を与えた二値化マトリクスを形成し、図13(b)のようなドット照合度マトリクスと二値化マトリクスとの正規化した相互相関値(相互相関係数)を求め、この値をクラスタ照合度とする。
【0066】
図13(b)のドット照合度マトリクスと図14の二値化マトリクスとの正規化した相互相関係数は0.919になり、これは両者の類似度が91.9%であることを意味する。クラスタ照合度は、ドット文字マスタのドットの存在する位置においてターゲットデータが存在しない場合や、ドット文字マスタにおいてドットが存在しない位置においてターゲットデータが存在する場合には、相互相関係数は小さい値になるから、この値をクラスタ照合度に用いることによって、文字全体の類似性をよく表した特徴量を得ることができる。
【0067】
したがって、ターゲットクラスタの複数の位置にドット文字マスタの位置を合わせるとともにクラスタ照合度を求め、クラスタ照合度が最大になる位置をドット文字マスタに類似した文字がターゲットクラスタに存在する位置と判断し、このときに得られたドット照合度マトリクスを図示しないバッファに保存する。具体的には、クラスタ照合度が得られると、それまでに得られているクラスタ照合度の最大値と比較し(S29)、新たに得られたクラスタ照合度がクラスタ照合度の最大値よりも大きいときには、新たに得られたクラスタ照合度を最大値に置き換える(S30)。また、このときのドット文字マスタの位置を照合位置とし(S31)、さらにドット照合度マトリクスを検査用ドット照合度マトリクスとしてバッファに登録する(S32)。ステップS22〜S32の処理はターゲットクラスタのすべての位置でクラスタ照合度を求めるまで繰り返して行い(S33)、その後、印字された文字の良否判定を行う判読性評価過程に移行する。
【0068】
ところで、判読性とは、文字が判読できるか否かの性質であって定性的な判断に基づくものである。文字が判読できないのは、たとえば図15(a)のように文字が大きく欠けていたり、図15(b)のように文字以外のノイズが混入したり、図15(c)のように文字に著しい変形が生じたりするなどの原因が考えられる。判読性評価過程では、この種の原因による判読性の程度を定量的な基準で判断可能としている。
【0069】
判読性評価過程では、図17に示すように、ドット文字マスタにおいてドットd1〜d14が存在している配置点に対して対象物11に印刷された文字では対応する部分が存在しないドット抜け点f1、またはドット文字マスタにおいてドットd1〜d14が存在していない配置点に対して対象物11の文字ではドットに相当するノイズが存在しているノイズ点f2を抽出し、ドット抜け点f1およびノイズ点f2の個数をそれぞれ求める(S41〜S47)。すなわち、照合度抽出過程において求めたドット照合度マトリクスに対して適宜の閾値を適用することにより、ドット文字マスタの各ドットd1〜d14ごとに、対応するドットが対象物11に印刷された文字に存在するか否かを判定し、ドットd1〜d14に対してドット照合度が閾値以下であるとドット抜け点f1、ドットd1〜d14以外でドット照合度が閾値以上の配置点をノイズ点f2とする。
【0070】
上述のようにしてドット抜け点f1とノイズ点f2との個数をそれぞれ求めた後、それぞれ適宜の閾値と比較する(S52,S53)。ドット抜け点f1、ノイズ点f2はいずれもドット文字マスタと一致しない部位であるから、これらの個数が多いことは判読性が低いことを意味する。したがって、ドット抜け点f1、ノイズ点f2のうちのいずれかの個数が閾値異常になるときには判読性が低いと評価し、対象物11に印刷された文字は不良であると判断する(S57)。また、どの個数も閾値未満であれば対象物11に印刷された文字を良好と判断する(S56)。ここに、ドット抜け点f1とノイズ点f2との個数に対する閾値は、たとえば、それぞれ2個、3個とすればよい。つまり、ドット抜け点f1が1個以内かつノイズ点f2が2個以内であれば良好と判断するのである。
【0071】
判読性の評価には、ドット抜け点f1とノイズ点f2との個数に加えて、隣接しているドット抜け点f1の個数を併用してもよい(S48〜S50,S54)。隣接するドット抜け点f1が存在することは2個以上のドット抜け点f1が存在することを意味しているから、隣接するドット抜け点f1の個数を評価に用いる場合には、ドット抜け点f1の個数に対する閾値を3個とする。
【0072】
図16に示した判読性評価過程の処理手順は、ライン抜けの判定も含んでいる(S51,S55)。ライン抜けとは、文字の印刷(あるいは刻印)の際に、文字を印刷ないし刻印する装置の不具合によって一直線上に連続的にドット抜け点を生じることを意味する。ライン抜けが生じる原因は、文字を構成する各ドットをそれぞれ印刷する複数個の点状の印字部を一列に配列した印字ヘッドを、印字部が並ぶ方向とは直交する方向に走行させて文字を印字する印字装置を用いる場合に、いずれかの印字部の不具合によって印字ヘッドの走行方向に沿った一直線上でドット抜けが連続的に生じることにある。たとえば、インクジェット式の印字装置では、印字ヘッドが詰まることによってライン抜けが生じることがある。
【0073】
ライン抜けを生じるときには、文字の形状によって、ドット抜け点が1個以下しか生じない場合があるから、ドット抜け点f1やノイズ点f2の個数に基づく判読性の判断では良好とみなされることがある。しかし、印字ヘッドが詰まるなど印字装置に異常がある場合には早期に対処する必要があり、とくにライン抜けは重大な異常として検出する必要がある。そこで、複数個の文字が並んでいるときに、文字が並ぶ方向における各ライン上(一般に、横書きの文字では各高さ位置の直線上)でのドットの個数をあらかじめ求めておき、印刷された文字から求めた同ライン上のドットの個数と比較することで、ライン抜けの判断を行う。つまり、印刷された文字から求めた各ライン上のドット数を、ドット文字マスタから求めた各ライン上のドット数で除算し、除算結果が規定の閾値以下であるときにはライン抜けと判断する。たとえば、図18に示す例では、縦7個のドットを形成する印字ヘッドを用いて文字を印字した例であって、印字ヘッドが正常であれば印字された文字が図18(a)のようになるものとする。横並びの各ドットの数は右端に記載してある。ここで、図18(b)のように、印字ヘッドの異常により上から3行目のドットが抜けたとすれば、本来は11個のドットが存在するのに対してドット数が0個になるから、3行目においてライン抜けが生じたと判断することができるのである。
【0074】
ところで、ドット照合度としては、上述した値だけではなく、以下に説明する6種類の値のうちのいずれかを用いてもよい。
【0075】
(1)図19はターゲットクラスタに含まれる線要素を一定幅に膨張させるように膨張処理を行ったものであり、膨張後の線要素が注目領域aiに占める画素数をドット照合度として用いることができる。線要素を膨張させて用いると、線要素が注目領域aiの境界付近に存在する場合に、境界を挟む複数の注目領域aiにおいてドット照合度が得られ、ドット照合度が0ではない注目領域aiが増えるから、ターゲットクラスタの形状がドット照合度に反映されやすくなり、線要素の膨張処理を行わないより安定性の高い認識が可能になる。
【0076】
(2)他のドット照合度としては、ターゲットクラスタを構成する近似線からの距離が大きいほど確率が低くなるような確率密度分布をターゲットクラスタに与え、各注目領域aiの中での確率の積算値を各注目領域aiのドット照合度に用いてもよい。図20は確率密度分布の概念を表しており、確率を濃淡で表している(色が濃いほど確率が高い)。近似線との距離が大きいほど低い確率を与えるから、注目領域aiの境界付近の近似線に対するドット照合度が小さくなり、各注目領域aiに対して近似線からの距離に応じた合理的なドット照合度を与えることができる。
【0077】
(3)注目領域aiを原画像である濃淡画像に重ね合わせ、各注目領域aiごとの平均明度をそれぞれドット照合度に用いるようにしてもよい。このようにしてドット照合度を求めると、膨張処理が不要であり、また確率密度分布を求める必要もないから、ドット照合度を簡単に求めることができる。
【0078】
(4)骨格線の抽出の際に、骨格線ではなく点列である骨格点が得られているときには、図21のように、各注目領域aiの中の骨格点(骨格点の点列は骨格線liに相当するから、図では骨格線liの符号を付している)の個数をドット照合度に用いてもよい。骨格点の個数は骨格線liの長さに相当するが、骨格点が得られているときには骨格線liの長さを求めるよりも処理が簡単になる。
【0079】
(5)ドット照合度として骨格点を利用する場合に、図22のように、骨格点を中心とする規定の幅および高さを有する矩形を設定し、当該矩形が各注目領域aiと重複する面積の総和をドット照合度に用いることも可能である。この方法では、骨格線の膨張処理に相当し、簡単な方法でドット照合度を得ることができる。
【0080】
(6)骨格点を用いてドット照合度を求める方法として、図23のように、骨格点を中心として骨格点の中心からの距離が大きくなるほど確率が低くなる確率密度分布を求め、各注目領域aiにおける確率の積算値を各注目領域aiのドット照合度に用いてもよい。図23は確率密度分布の概念を表しており、確率を濃淡で表している(色が濃いほど確率が高い)。この方法では、骨格線に対して求めた確率密度分布を用いてドット照合度を求める場合と同様の効果が期待でき、しかも骨格点を用いるから骨格線を用いる場合よりも処理量が少なくなる。
【0081】
一般に文字には人あるいは装置が認識する際のキーポイントとなる特徴部分が含まれるから、文字ごとに特徴部分(重要部分)に関する基準を設定しておき、特徴部分がドット抜け点やノイズ点になったときにはドット抜け点やノイズ点の個数にかかわらず、不良と判断するようにしてもよい。
【0082】
たとえば、図24(a)のような文字「8」と図24(b)のような文字「B」とは形状に共通点が多く、両者の差異は図24(b)に示すドットd21〜d23の有無である。したがって、ドットd21〜d23は判読性に関わる重要部分であって、仮に図24(c)のようにドットd21,d22が抜けているときには「8」か「B」かの識別が困難になって誤読を生じやすくなる。したがって、ドット文字マスタの「8」に対してノイズ点が判読性に関わる重要部分であるドットd21〜d23の位置に生じるときは不良と判断し、またドットマスタ「B」に対してドット抜け点がドットd21〜d23の位置に生じるときは不良と判断する。
【0083】
あるいはまた、図25(a)(b)のように文字「N」と「H」とでは、図25(a)のドットd24,d25、図25(b)のドットd26,d27が識別のための特徴部分になる。したがって、図25(c)のようにドットd24,d25の位置とドットd26,d27の位置との両方にドットが検出されるときには、「N」「H」のいずれの文字に対しても不良と判断する。
【図面の簡単な説明】
【0084】
【図1】本発明の実施形態の動作説明図である。
【図2】同上に用いる装置の概略構成図である。
【図3】同上に用いるドット文字マスタの一例を示す図である。
【図4】同上におけるターゲットデータ抽出過程の動作説明図である。
【図5】同上の動作説明図である。
【図6】同上の動作説明図である。
【図7】同上の動作説明図である。
【図8】同上におけるターゲットクラスタの生成過程を示す動作説明図である。
【図9】同上におけるクラスタ候補の生成過程を示す動作説明図である。
【図10】同上における照合度算出過程を示す動作説明図である。
【図11】同上の動作説明図である。
【図12】同上の動作説明図である。
【図13】同上の動作説明図である。
【図14】同上の動作説明図である。
【図15】同上の動作説明図である。
【図16】同上における判読性評価過程を示す動作説明図である。
【図17】同上の動作説明図である。
【図18】同上の動作説明図である。
【図19】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図20】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図21】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図22】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図23】同上におけるドット照合度を算出する概念を示す動作説明図である。
【図24】同上の動作説明図である。
【図25】同上の動作説明図である。
【符号の説明】
【0085】
11 対象物
12 TVカメラ
13 デジタル画像生成装置
14 記憶装置
15 画像処理装置
【特許請求の範囲】
【請求項1】
認識対象として入力された文字・図形の画像から文字・図形の骨格線を抽出し、次に骨格線を単純形状である近似線の集合として近似するとともに、連続している近似線を1つの近似線群に加え、かつ連続していない各一対の近似線間の距離を評価することにより当該近似線群の近傍にある近似線も当該近似線群に加えて、1単位として扱う近似線群をターゲットクラスタとして抽出するターゲットデータ抽出過程と、縦横複数個ずつの配置点からなるマトリクス内で文字・図形の形状に沿う配置点にドットを配置して構成したドット文字・図形におけるドットの配列およびドット文字・図形の外接矩形の寸法とからなるドット文字・図形マスタと前記ターゲットクラスタとの一致の程度を評価する照合度算出過程とを有し、照合度算出過程では、前記ターゲットクラスタについて設定した外接矩形に対してドット文字・図形マスタの外接矩形の位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定してターゲットクラスタを構成する近似線と各注目領域との位置関係により注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度を求めるとともに、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度を数値で表したクラスタ照合度を求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識することを特徴とする文字・図形の認識方法。
【請求項2】
前記クラスタ照合度は、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることを特徴とする請求項1記載の文字・図形の認識方法。
【請求項3】
前記ドット文字・図形マスタにおけるドットの配列は、ドット文字・図形におけるドットの位置とドット間を連結する仮想線の延長方向を反映した各ドットの位置での方向値とからなり、前記照合度算出過程では、仮想線の延長方向に交差する方向において各ドットからの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、対応点が検出されるとドット文字・図形マスタの各ドットと対応点との一致度が高くなるようにドット文字・図形マスタにアフィン変換による変形を施した後に、ドット照合度を求めることを特徴とする請求項1または請求項2記載の文字・図形の認識方法。
【請求項4】
文字・図形の画像は濃淡画像であって、明度が規定の範囲内であり、かつ空間二次微分値が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項5】
文字・図形の画像は濃淡画像であって、背景に相当する領域の明度の分布を二次曲面で近似し、文字・図形の画像における各画素の明度のうち当該二次曲面で表される明度との差分が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項6】
文字・図形の画像は濃淡画像であって、明度を二値化することにより前記骨格線を抽出する画素を選択するにあたり、文字・図形の画像内で文字・図形の明度を含む明度範囲内の画素の占める面積が、文字・図形が占める既知の面積以上であって規定範囲内の面積になるように明度範囲を設定し、当該明度範囲内の画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項7】
請求項1ないし請求項6のいずれか1項に記載の文字・図形の認識方法における前記照合度算出過程においてクラスタ照合度が閾値以上になるときのドット文字・図形マスタの位置において得られるドット照合度とドット文字・図形マスタにおけるドットの配列とを用い、ドット文字・図形マスタの各配置点ごとにドットの有無が文字・図形の画像と一致するか否かを判断し、不一致である配置点の個数により認識対象である文字・図形の良否を判定する判読性評価過程を有することを特徴とする文字・図形の検査方法。
【請求項8】
前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が、ドット文字・図形マスタにおいてドットの存在する配置点であるときにドット抜け点とし、ドットの存在しない配置点であるときにノイズ点として、ドット抜け点とノイズ点との個数の一方が規定の閾値を越えるときに判読性が不良と判断することを特徴とする請求項7記載の文字・図形の検査方法。
【請求項9】
前記ドット文字・図形マスタは判読性に関わる重要部分の配置点があらかじめ登録されており、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が重要部分であるときには判読性が不良と判断することを特徴とする請求項7または請求項8記載の文字・図形の検査方法。
【請求項10】
前記判読性評価過程において、認識対象である文字・図形が複数個でありかつドットの並びにより構成された文字である場合に、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点がドット文字・図形マスタにおいてドットの存在する配置点であるときの配置点の個数を、認識対象である文字・図形とドット文字・図形マスタとについて、認識対象である文字・図形の並ぶ方向に沿って並ぶドットの各列ごとにそれぞれ求め、認識対象である文字・図形から求めた配置点の個数をドット文字・図形マスタについて求めた配置点の個数で除算した結果が規定の閾値以下であるときに、認識対象である文字・図形において個数を求めたドットの一列が抜けていると判断することを特徴とする請求項7ないし請求項9のいずれか1項に記載の文字・図形の検査方法。
【請求項1】
認識対象として入力された文字・図形の画像から文字・図形の骨格線を抽出し、次に骨格線を単純形状である近似線の集合として近似するとともに、連続している近似線を1つの近似線群に加え、かつ連続していない各一対の近似線間の距離を評価することにより当該近似線群の近傍にある近似線も当該近似線群に加えて、1単位として扱う近似線群をターゲットクラスタとして抽出するターゲットデータ抽出過程と、縦横複数個ずつの配置点からなるマトリクス内で文字・図形の形状に沿う配置点にドットを配置して構成したドット文字・図形におけるドットの配列およびドット文字・図形の外接矩形の寸法とからなるドット文字・図形マスタと前記ターゲットクラスタとの一致の程度を評価する照合度算出過程とを有し、照合度算出過程では、前記ターゲットクラスタについて設定した外接矩形に対してドット文字・図形マスタの外接矩形の位置を合わせた後に、ドット文字・図形マスタの各配置点を基準とする注目領域を設定してターゲットクラスタを構成する近似線と各注目領域との位置関係により注目領域ごとにターゲットクラスタにおけるドットの有無の程度を数値化したドット照合度を求めるとともに、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との類似度を数値で表したクラスタ照合度を求め、クラスタ照合度が閾値以上になるときにターゲットクラスタをドット文字・図形マスタが表す文字・図形と認識することを特徴とする文字・図形の認識方法。
【請求項2】
前記クラスタ照合度は、各注目領域におけるドット照合度とドット文字・図形マスタに含まれるドットの配列との正規化した相互相関値を用いることを特徴とする請求項1記載の文字・図形の認識方法。
【請求項3】
前記ドット文字・図形マスタにおけるドットの配列は、ドット文字・図形におけるドットの位置とドット間を連結する仮想線の延長方向を反映した各ドットの位置での方向値とからなり、前記照合度算出過程では、仮想線の延長方向に交差する方向において各ドットからの距離が規定した閾値以内に存在するターゲットクラスタの対応点を探索し、対応点が検出されるとドット文字・図形マスタの各ドットと対応点との一致度が高くなるようにドット文字・図形マスタにアフィン変換による変形を施した後に、ドット照合度を求めることを特徴とする請求項1または請求項2記載の文字・図形の認識方法。
【請求項4】
文字・図形の画像は濃淡画像であって、明度が規定の範囲内であり、かつ空間二次微分値が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項5】
文字・図形の画像は濃淡画像であって、背景に相当する領域の明度の分布を二次曲面で近似し、文字・図形の画像における各画素の明度のうち当該二次曲面で表される明度との差分が規定の閾値以上である画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項6】
文字・図形の画像は濃淡画像であって、明度を二値化することにより前記骨格線を抽出する画素を選択するにあたり、文字・図形の画像内で文字・図形の明度を含む明度範囲内の画素の占める面積が、文字・図形が占める既知の面積以上であって規定範囲内の面積になるように明度範囲を設定し、当該明度範囲内の画素を前記骨格線を抽出する対象とすることを特徴とする請求項1ないし請求項3のいずれか1項に記載の文字・図形の認識方法。
【請求項7】
請求項1ないし請求項6のいずれか1項に記載の文字・図形の認識方法における前記照合度算出過程においてクラスタ照合度が閾値以上になるときのドット文字・図形マスタの位置において得られるドット照合度とドット文字・図形マスタにおけるドットの配列とを用い、ドット文字・図形マスタの各配置点ごとにドットの有無が文字・図形の画像と一致するか否かを判断し、不一致である配置点の個数により認識対象である文字・図形の良否を判定する判読性評価過程を有することを特徴とする文字・図形の検査方法。
【請求項8】
前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が、ドット文字・図形マスタにおいてドットの存在する配置点であるときにドット抜け点とし、ドットの存在しない配置点であるときにノイズ点として、ドット抜け点とノイズ点との個数の一方が規定の閾値を越えるときに判読性が不良と判断することを特徴とする請求項7記載の文字・図形の検査方法。
【請求項9】
前記ドット文字・図形マスタは判読性に関わる重要部分の配置点があらかじめ登録されており、前記判読性評価過程は、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点が重要部分であるときには判読性が不良と判断することを特徴とする請求項7または請求項8記載の文字・図形の検査方法。
【請求項10】
前記判読性評価過程において、認識対象である文字・図形が複数個でありかつドットの並びにより構成された文字である場合に、ドット文字・図形マスタにおけるドットの有無が文字・図形の画像と不一致である配置点がドット文字・図形マスタにおいてドットの存在する配置点であるときの配置点の個数を、認識対象である文字・図形とドット文字・図形マスタとについて、認識対象である文字・図形の並ぶ方向に沿って並ぶドットの各列ごとにそれぞれ求め、認識対象である文字・図形から求めた配置点の個数をドット文字・図形マスタについて求めた配置点の個数で除算した結果が規定の閾値以下であるときに、認識対象である文字・図形において個数を求めたドットの一列が抜けていると判断することを特徴とする請求項7ないし請求項9のいずれか1項に記載の文字・図形の検査方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図21】
【図22】
【図24】
【図25】
【図20】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図21】
【図22】
【図24】
【図25】
【図20】
【図23】
【公開番号】特開2006−65581(P2006−65581A)
【公開日】平成18年3月9日(2006.3.9)
【国際特許分類】
【出願番号】特願2004−247342(P2004−247342)
【出願日】平成16年8月26日(2004.8.26)
【出願人】(000005832)松下電工株式会社 (17,916)
【Fターム(参考)】
【公開日】平成18年3月9日(2006.3.9)
【国際特許分類】
【出願日】平成16年8月26日(2004.8.26)
【出願人】(000005832)松下電工株式会社 (17,916)
【Fターム(参考)】
[ Back to top ]