(57)【特許請求の範囲】
【請求項１】
二値画像から所定のマークを抽出する抽出部と、該マークが複数配置されてなるパターンが所定のパターンをしているか判定する判定部とを有する画像認識装置において、
前記抽出部は、前記二値画像から所定の領域を切り出すマスクと、該マスク内の所定領域の黒画素数もしくは画素間論理演算を行った後の黒画素数をカウントする計測部と、該計測部にて計測された黒画素数や画素間の関係を点数化する第１の点数化部とを有し、
前記判定部は、前記抽出部により抽出されたマークの位置情報からパターンを検出するパターン検出部と、前記マークの各点数に基づいて前記パターンを点数化する第２の点数化部と、該第２の点数化部で求められた点数に基づき前記パターンが所定のパターンか否かを決定する決定部とを有し、
前記計測部は、前記マスク内の前記マークを構成する画素からなる前景部分と該マークの背景を構成する画素からなる背景部分の黒画素数を計測可能とし、前記前景部分の黒画素数が所定値以上の場合、前記前景部分との境界に近い前記背景部分の黒画素数を計測しないことを特徴とする画像認識装置。
【請求項２】
請求項１に記載の画像認識装置において、前記第１の点数化部は、前記計測部により計測した黒画素数の関係を二次元テーブルを用いて点数化することを特徴とする画像認識装置。
【請求項３】
請求項１または２に記載の画像認識装置において、前記第１の点数化部は、複数の点数化された数値を所定の条件に基づいて組み合わせて、前記マークの最終的な合計点数を計算する点数統合部を有することを特徴とする画像認識装置。
【請求項４】
請求項１または２に記載の画像認識装置において、前記抽出部により抽出されたマーク間の距離が所定距離内にある場合、該所定距離内で最高点数のマークの位置情報のみを前記判定部に送る登録部を有することを特徴とする画像認識装置。
【請求項５】
請求項１または２に記載の画像認識装置において、前記パターン検出部は、前記抽出部により抽出されたマークの実際の配置と該マークの理想的配置との位置ズレ量を点数化し、その点数を前記第２の点数化部へ送ることを特徴とする画像認識装置。
【請求項６】
請求項５に記載の画像認識装置において、前記第２の点数化部は、前記第１の点数化部で計算された前記マークの合計点数と前記パターン検出部で点数化された前記位置ズレ量の点数とを合計することを特徴とする画像認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像認識装置、より詳細には、マークを点数化して抽出し、該マークで構成されるパターンの認識精度を向上させる画像認識装置に関する。
【０００２】
【従来の技術】
カラー画像認識方法に関して、例えば、特開平８−２６３６６２号公報に記載の全てのカラー画像を対象とするのではなく、カラー画像の内、特に抽出しようとする画像が予め決められた規則に従って描かれているパターンを高精度に認識するものが提案されている。
【０００３】
【発明が解決しようとする課題】
上述の公報に記載されたカラー画像認識方法におけるマーク抽出は、窓による切り出し、あるいはハフ変換によるが、いずれにしろマークか否かで抽出していた。しかし、二値化画像の品質、例えば、カスレや潰れによってはマークか否かの判定が困難で、一旦、誤ってマークを落としてしまうと次段のパターン認識でパターン抽出ができなくなってしまっていた。本発明によるとマークとして、確度の高そうなもの、中くらいのもの、低いものという具合に点数化して抽出し、次段のパターン検出に反映することでより正確に判断を下すことができる。例えば、３個のマークで構成されているパターンを判別する場合、３個のうちの１つが、たまたま、カスレていると従来方式では抽出されない可能性が高く、従って、パターンとして判別されなかった。しかし、本発明によるとマークがカスレたり、潰れていても、低確度のマークとして抽出される可能性があり最終的な判別率をあげることができ、パターンを構成するマークが低確度のものばかりならパターンではないとすることでパターン以外のものを誤認識してしまうことが少ない。
【０００４】
また、従来システムは、一旦、ハード化してしまうと二値化画像の品質に合わせて調整することが不可能であったが、本発明によると点数化部をＲＯＭテーブルにすることで容易に調整が可能である。
【０００５】
本発明は、上述の点に鑑みてなされたものであり、画像認識システムにおけるパターンの認識精度を向上させることを目的としてなされたものである。
【０００６】
【課題を解決するための手段】
請求項１の発明は、二値画像から所定のマークを抽出する抽出部と、該マークが複数配置されてなるパターンが所定のパターンをしているか判定する判定部とを有する画像認識装置において、前記抽出部は、前記二値画像から所定の領域を切り出すマスクと、該マスク内の所定領域の黒画素数もしくは画素間論理演算を行った後の黒画素数をカウントする計測部と、該計測部にて計測された黒画素数や画素間の関係を点数化する第１の点数化部とを有し、前記判定部は、前記抽出部により抽出されたマークの位置情報からパターンを検出するパターン検出部と、前記マークの各点数に基づいて前記パターンを点数化する第２の点数化部と、該第２の点数化部で求められた点数に基づき前記パターンが所定のパターンか否かを決定する決定部とを有し、前記計測部は、前記マスク内の前記マークを構成する画素からなる前景部分と該マークの背景を構成する画素からなる背景部分の黒画素数を計測可能とし、前記前景部分の黒画素数が所定値以上の場合、前記前景部分との境界に近い前記背景部分の黒画素数を計測しないことを特徴としたものである。
【０００７】
請求項２の発明は、請求項１の発明において、前記第１の点数化部は、前記計測部により計測した黒画素数の関係を二次元テーブルを用いて点数化することを特徴としたものである。
【０００８】
請求項３の発明は、請求項１または２の発明において、前記第１の点数化部は、複数の点数化された数値を所定の条件に基づいて組み合わせて、前記マークの最終的な合計点数を計算する点数統合部を有することを特徴としたものである。
【０００９】
請求項４の発明は、請求項１または２の発明において、前記抽出部により抽出されたマーク間の距離が所定距離内にある場合、該所定距離内で最高点数のマークの位置情報のみを前記判定部に送る登録部を有することを特徴としたものである。
【００１０】
請求項５の発明は、請求項１または２の発明において、前記パターン検出部は、前記抽出部により抽出されたマークの実際の配置と該マークの理想的配置との位置ズレ量を点数化し、その点数を前記第２の点数化部へ送ることを特徴としたものである。
【００１１】
請求項６の発明は、請求項５の発明において、前記第２の点数化部は、前記第１の点数化部で計算された前記マークの合計点数と前記パターン検出部で点数化された前記位置ズレ量の点数とを合計することを特徴としたものである。
【００１６】
【発明の実施の形態】
図１は、本発明が適用される画像認識装置における全体の流れの一例を説明する図で、図中、１０は、二値画像、１１は、マスク、抽出部２０は、マスク１１，論理回路２１，計測部２２，第１の点数化部２３からなり、判定部３０は、登録部３１，検出部３２，第２の点数化部３３，決定部３４からなる。第１の点数化部２３は、点数化部２３ａと点数統合部２３ｂを有する。
【００１７】
まず、二値画像１０から所定の領域をマスク１１に切り出し（Ｓ１）、計測部２２は、マスク１１内の所定領域の黒画素数または、論理回路２１を用いて画素間論理演算を実施した後の黒画素数をカウントする（Ｓ２、Ｓ３）。点数化部２３ａは、カウントされた黒画素数からマークの点数化を行い（Ｓ４）、点数統合部２３ｂで各点数がマークらしさとして合計される（Ｓ５）。登録部３１は、合計点数が所定値以上のマークを判別し（Ｓ６）、当該マークの位置座標を検出部３２に送り、（Ｓ７）、マークらしさを示す点数を第２の点数化部３３へ送る（Ｓ９）。ここで、検出部３２は、マークで構成されたパターンと所定のパターンとの位置ズレを検出し、その位置ズレ量を点数化し、第２の点数化部３３へ送る（Ｓ８）。第２の点数化部３３は、マークの点数と位置ズレ量の点数を合計した合計点数をパターンらしさとして決定部３４に送り（Ｓ１０）、決定部３４では、そのパターンらしさが所定の閾値以上ならパターンとして判定する（Ｓ１１）。
【００１８】
図２は、本発明におけるマークで構成されるパターンの一例を示す図である。二値画像１０を切り出したマスク１１は、マークを構成する画素からなる前景部分（マーク）１１ｂ、該マークの背景を構成する画素からなる背景部分１１ｃからなり、１２は、マーク１１ｂで構成されるパターンである。複数のマークを抽出部２０において点数化（マークらしさ）して抽出し、該マークで構成されるパターン１２が所定のパターンをなしているかどうかの判定を判定部３０で行う。
【００１９】
（実施例）
抽出するマークを直径８画素の円とした場合の各部について詳しく説明する。図３は、本発明におけるマスク１１の一例を示す図で、図中、１１ａは、注目画素である。前景部分１１ｂは、第１領域から第９領域までの複数の領域に分割され、各領域には領域を示す数字が付されている。背景部分１１ｃは、ａとｂの２つの領域からなり、それぞれ、領域を示す英字ａとｂが付されている。二値画像１０をマスク１１に切りだし、マスク１１内の前景部分１１ｂの黒画素数をカウントする。これは、１１ａの位置を注目画素として、分割された各領域の黒画素数をカウントすることにより行なう。
【００２０】
次に、計測部２２において各領域の黒画素数がカウントされる。ここで、数字で表された第ｎ領域（ｎ＝１〜９）の黒画素数をＣ（ｎ）とし、英字ａ，ｂで表された領域の黒画素数をＣ（ａ），Ｃ（ｂ）として表わし、以下の（１）〜（３）に示す黒画素数をカウントする。
（１）前景部分１１ｂの黒画素数をＣｓとして、下記に示す式（１）により求めて前景部分１１ｂが黒くでているかをみる。
Ｃｓ＝ΣＣ（ｉ）：ｉ＝１〜９    …式（１）
【００２１】
（２）背景部分１１ｃの黒画素数をＣｘとして、下記に示す式（２）により求めて背景部分１１ｃが白くぬけているかをみる。ただし、式（２）は、上述のＣｓが特に大きくなく、二値画像が濃くない場合に用いる。
Ｃｘ＝Ｃ（ａ）＋Ｃ（ｂ）        …式（２）
また、下記に示す式（３）により、上述のＣｓが特に大きく、二値画像が濃い場合のＣｘを求める。
Ｃｘ＝（Ｃ（ｂ）−２）×２      …式（３）
Ｃｓが特に大きく、二値画像１０が濃い場合、マークが潰れ（太り）ぎみになり、背景部分１１ｃに滲みがでて背景の黒画素数が大きくなる。すると、円以外の画像で背景が黒くなっている場合と区別がつきづらくなる。そこで、前景部分１１ｂが特に濃い場合に限り、太りの可能性があるとして前景部分１１ｂと隣合わない背景部分１１ｃのｂ領域をカウントする。ただし、式（３）における“−２”は便宜上の数字合わせである。
【００２２】
（３）対称性を示す黒画素数をＣｓｙｍとして、マスク１１の中心線について左右に折って重なった第１領域〜第９領域の各画素どうしの排他的論理和（ＸＯＲ）をとり、黒画素数をカウントする。
【００２３】
図４は、図３に示すマスク１１内の黒画素の配置例を示す図で、図中、網掛け部分（濃いグレーの部分）が黒画素である。図４に示す黒画素の配置例に基づいて各黒画素数Ｃｓ，Ｃｘ，Ｃｓｙｍをカウントする。
図５，図６，図７は、カウントする黒画素の配置例を示す図で、図５に示すように、前景部分１１ｂ内の第１領域から第９領域までの黒画素（濃いグレーの部分）を数えると、Ｃｓ＝４１となる。図６に示すように、背景部分１１ｃ内のａ領域とｂ領域の黒画素（濃いグレーの部分）を数えると、Ｃｘ＝７となる。図７に示すように、前景部分１１ｂ内の左右に折って重なった画素どうしの排他的論理和をとり、その結果の黒画素（濃いグレーの部分）を数えると、Ｃｓｙｍ＝７となる。
【００２４】
第１の点数化部２３の点数化部２３ａにおいて、計測部２２で求められた黒画素数Ｃｓ，Ｃｘ，Ｃｓｙｍに基づいてマークの特色を表す各種点数に変換する。（１）前景部分１１ｂと背景部分１１ｃの関係を示す点数をＰｓｘとして、前景部分１１ｂの黒画素が多く、背景部分１１ｃの黒画素が少ないほど円らしいとする関係に基づき二次元テーブルを用いて黒画素数ＣｓとＣｘの関係を点数化する。二次元テーブルの一例を下記の表１に示す。
【００２５】
【表１】
0004007762.tif 000002
【００２６】
（２）前景部分１１ｂの連続性を示す点数をＰｃとして、前景部分１１ｂの欠けが少ないほど円らしいとする関係に基づき二次元テーブルを用いて第１領域から第８領域の各領域における黒画素数Ｃ（１）〜Ｃ（８）の関係を点数化する。二次元テーブルの一例を下記の表２に示す。
【００２７】
【表２】
0004007762.tif 000003
【００２８】
（３）対称性を示す点数をＰｓｙｍとして、前景部分１１ｂの対称性が高いほど円らしいとする関係に基づき二次元テーブルを用いて黒画素数ＣｓｙｍとＣｓの関係を点数化する。二次元テーブルの一例を下記の表３に示す。
【００２９】
【表３】
0004007762.tif 000004
【００３０】
（４）回転性を示す点数をＰａｃとして、前景部分１１ｂについて円周方向に周期がないほど円らしいとする関係に基づき二次元テーブルを用いて第１領域から第８領域の各領域における黒画素数の差分の関係を点数化する。これは、周期性のある網点などを誤って抽出することを防ぐ目的があり、例えば、４５度と９０度の周期性をみる場合、下記に示す式（４）、式（５）を用いて黒画素数を計算する。式（４）は、４５度の位置関係にある領域の黒画素数の差分を求めて、その差分を合計する。合計した黒画素数をＣａ４５とする。式（５）も同様に、９０度の位置関係にある領域の黒画素数の差分を求めて、その差分を合計する。合計した黒画素数をＣａ９０とする。
【００３１】
Ｃａ４５＝｜Ｃ（１）−Ｃ（２）｜＋｜Ｃ（２）−Ｃ（３）｜＋｜Ｃ（３）−Ｃ（４）｜＋｜Ｃ（４）−Ｃ（５）｜＋｜Ｃ（５）−Ｃ（６）｜＋｜Ｃ（６）−Ｃ（７）｜＋｜Ｃ（７）−Ｃ（８）｜＋｜Ｃ（８）−Ｃ（１）｜    …式（４）
Ｃａ９０＝｜Ｃ（１）−Ｃ（３）｜＋｜Ｃ（２）−Ｃ（４）｜＋｜Ｃ（３）−Ｃ（５）｜＋｜Ｃ（４）−Ｃ（６）｜＋｜Ｃ（５）−Ｃ（７）｜＋｜Ｃ（６）−Ｃ（８）｜＋｜Ｃ（７）−Ｃ（１）｜＋｜Ｃ（８）−Ｃ（２）｜    …式（５）
【００３２】
ここで、理想的な円であれば、各領域の黒画素数は等しく、Ｃ（ｎ）＝Ｃ（ｍ）（ｎ，ｍは、１〜８をとる）であるから、Ｃａ４５＝Ｃａ９０＝０となる。しかし、上下左右に黒ドットがある網点などではＣａ４５＞＞０、Ｃａ９０＝０となる。二次元テーブルの一例を下記の表４（Ａ），（Ｂ）に示す。なお、表４（Ａ）において、（Ｂ）となっている箇所の点数は、表４（Ｂ）を参照し、点数を求める。
【００３３】
【表４】
0004007762.tif 000005
【００３４】
第１の点数化部２３は、点数統合部２３ｂを有しており、点数統合部２３ｂは、点数化部２３ａで変換された各種点数から、最終的なマークらしさを計算する。最終的なマークらしさをＰｅｌとして、下記に示す式（６）、式（７）は計算式の一例である。
Ｐｓｘ，Ｐｃ，Ｐｓｙｍ，Ｐａｃのどれか１つでも−１の場合、
Ｐｅｌ＝０                                …式（６）
上記以外の場合、
Ｐｅｌ＝Ｐｓｘ＋Ｐｃ＋Ｐｓｙｍ＋Ｐａｃ    …式（７）
ただし、点数化部２３ａの配点によっては、Ｐｅｌ＝Ｐｓｘ−Ｐｃ−Ｐｓｙｍ−Ｐａｃなどのように減点型なども考えられる。このようにして求めたＰｅｌを登録部３１へ送る。
【００３５】
登録部３１は、マークらしさＰｅｌが所定値以上のものを検出部３２へ送るが、マーク間の距離が所定画素以内なら最大点数のマークのみを送る。これは、１つのマークを抽出する際に、所定画素以内にある複数のマークが抽出されるのを防ぐことに加えて、さらに重要なことは、点数の最大（確度の最大）のものを選択することによって、より正確なマーク位置をとるためである。
【００３６】
図８，図９は、本発明における登録部３１の処理の一例を説明するフローチャートである。図９は図８に示すフローチャートの続きである。
最初に、主走査方向の各画素位置に画素数ＣＮＴ（ｘ）をカウントするカウンタとマーク点数ＰＮＴ（ｘ）を格納する点数格納用バッファを用意する。初期値はすべて０である。まず、Ｙ座標を０（ステップＳ２１）、Ｘ座標を０（ステップＳ２２）に設定する。抽出したマークを点数化してマーク点数ｐ（ｘ，ｙ）を求め（ステップＳ２３）、求めたｐ（ｘ，ｙ）と予め設定されている低確度、中確度、高確度の各閾値（図中では低確度、中確度、高確度の閾値として図示せず、単に閾値とした）と比較を行う（ステップＳ２４）。ｐ（ｘ，ｙ）が各閾値よりも小さい場合、ステップＳ２８へ移行する。ｐ（ｘ，ｙ）が各閾値よりも大きい場合、点数格納用バッファに格納されているマーク点数ＰＮＴ（ｘ）と比較を行い（ステップＳ２５）、マーク点数が大きい方を各画素位置に対応した点数格納用バッファに格納する。ｐ（ｘ，ｙ）がＰＮＴ（ｘ）より小さい場合は、ＰＮＴ（ｘ）をそのまま格納し、ＣＮＴ（ｘ）をインクリメントする（ステップＳ２６）。ｐ（ｘ，ｙ）がＰＮＴ（ｘ）より大きい場合は、ｐ（ｘ，ｙ）をマーク点数として点数格納用バッファに格納し、ＣＮＴ（ｘ）を０にする（ステップＳ２７）。次に、Ｘ座標の終わりかどうか判断し（ステップＳ２８）、Ｘ座標の終わりでない場合、Ｘ座標をインクリメントし（ステップＳ２９）、終わりの場合、Ｘ座標を０にする（ステップＳ３０）。
【００３７】
次にマーク間距離Ｉを１に設定する（ステップＳ３１）。点数格納用バッファをスキャンしてマーク間距離が最小許容距離未満のマークどうしでマーク点数ＰＮＴ（ｘ）とＰＮＴ（ｘ＋Ｉ）を比較し（ステップＳ３２）、ＰＮＴ（ｘ）がＰＮＴ（ｘ＋Ｉ）より大きい場合、ＰＮＴ（ｘ）を残して、ＰＮＴ（ｘ＋１）、ＣＮＴ（ｘ＋１）を０にし（ステップＳ３３）、マーク間距離Ｉと最小許容距離を比較し（ステップＳ３５）、距離Ｉが最小許容距離より小さい場合、距離Ｉをインクリメントする（ステップＳ３６）。距離Ｉが最小許容距離より大きい場合、ステップＳ３７に移行する。また、ステップＳ３２において、ＰＮＴ（ｘ）がＰＮＴ（ｘ＋Ｉ）より小さい場合、ＰＮＴ（ｘ＋Ｉ）を残して、ＰＮＴ（ｘ）、ＣＮＴ（ｘ）を０にし（ステップＳ３４）、ステップＳ３７へ移行する。ステップＳ３７では、Ｘ座標の終わりかどうか判断し、Ｘ座標の終わりでない場合、Ｘ座標をインクリメントし（ステップＳ３８）、終わりの場合、Ｘ座標を０にする（ステップＳ３９）。
【００３８】
次にカウンタをスキャンして、その値ＣＮＴ（ｘ）が最小許容距離以上かどうか判断し（ステップＳ４０）、ＣＮＴ（ｘ）が最小許容距離以上の場合、マークとして座標と点数を検出部へ送ることで登録する（ステップＳ４１）。ＣＮＴ（ｘ）が最小許容距離より小さい場合、ステップＳ４３へ移行する。ステップＳ４１でマークの座標と点数を検出部へ送った後、ＰＮＴ（ｘ）とＣＮＴ（ｘ）を０にし（ステップＳ４２）、Ｘ座標の終わりかどうか判断し（ステップＳ４３）、Ｘ座標の終わりでない場合、Ｘ座標をインクリメントし（ステップＳ４４）、終わりの場合、Ｙ座標の終わりかどうか判断する（ステップＳ４５）。Ｙ座標の終わりでない場合、Ｙ座標をインクリメントし（ステップＳ４６）、終わりの場合、処理を終了する。
【００３９】
マークがパターンとして理想的な配置をした場合、各マーク間の距離などの理論値がある。しかし、実際は多少のズレが見込まれる。検出部３２は、この理論値からのズレを点数化して第２の点数化部３３へ送る。この場合、ズレが少ないほど点数が高いことになる。例えば、３個のマークを頂点にした１辺３０画素の正三角形のパターンを考える。実際に配置された各マーク間の距離ｄ１，ｄ２，ｄ３を計算し、距離３０画素との差を求め、その差を合計した値を下記の式（８）に示すＤとする。さらに、求めたＤに基づいて二次元テーブルを用いて点数Ｐｄとして点数化する。二次元テーブルの一例を下記の表５に示す。
【００４０】
【表５】
0004007762.tif 000006
【００４１】
Ｄ＝｜ｄ１−３０｜＋｜ｄ２−３０｜＋｜ｄ３−３０｜    …式（８）
【００４２】
第２の点数化部では、点数統合部３２ｂで求めたマークらしさＰｅｌと検出部３２で求められた点数Ｐｄを合計して、パターンらしさＰｓｃとして点数化する。下記の式（９）にパターンらしさＰｓｃの計算式を示す。
パターンらしさＰｓｃ＝ΣマークらしさＰｅｌ  （Σ：パターンを構成する全てのマークについて）＋検出部３２からの点数Ｐｄ          …式（９）
決定部３４は、前述のパターンらしさＰｓｃの点数が所定の閾値以上ならパターンであると判定する。
【００４３】
【発明の効果】
以上の説明から明らかなように、本発明によると、二値画像の品質によらずに潰れたり、カスレたりしたマークであっても点数化することにより精度よく抽出し、マークの配置も正確に抽出することができ、マークが円の場合にマークの特色を表す各種点数に変換して精度よく抽出できるため精度の高いパターン判定を行うことができる。
【図面の簡単な説明】
【図１】  本発明が適用される画像認識装置における全体の流れの一例を説明する図である。
【図２】  本発明におけるマークで構成されるパターンの一例を示す図である。
【図３】  本発明におけるマスクの一例を示す図である。
【図４】  図３に示すマスク内の黒画素の配置例を示す図である。
【図５】  図４に示すマスク内のカウントする黒画素の配置例を示す図である。
【図６】  図４に示すマスク内のカウントする黒画素の配置例を示す図である。
【図７】  図４に示すマスク内の画素間で論理演算を行った後のカウントする黒画素の配置例を示す図である。
【図８】  本発明における登録部の処理の一例を説明するフローチャートである。
【図９】  本発明における登録部の処理の一例を説明する図８に示すフローチャートの続きである。
【符号の説明】
１０…二値画像、１１…マスク、１２…パターン、２０…抽出部、２１…論理回路、２２…計測部、２３…第１の点数化部、２３ａ…点数化部、２３ｂ…点数統合部、３０…判定部、３１…登録部、３２…検出部、３３…第２の点数化部、３４…決定部。
【図１】
0004007762.tif 000007
【図２】
0004007762.tif 000008
【図３】
0004007762.tif 000009
【図４】
0004007762.tif 000010
【図５】
0004007762.tif 000011
【図６】
0004007762.tif 000012
【図７】
0004007762.tif 000013
【図８】
0004007762.tif 000014
【図９】
0004007762.tif 000015