(57)【要約】【課題】画像認識に必要な計算量及びメモリー容量を低減し、かつ一部が重なり合った複数の認識対象物体の検出処理を行うことが可能な画像認識装置を提供する。【解決手段】本発明の物体認識装置は、登録画像の点対称変換された画像より抽出した複数の第1の特徴点、変換画像の基準点から第1の特徴点への変位ベクトルが記憶される特徴点データ記憶部と、入力画像の認識対象物体の特徴を構成する第2の特徴点を抽出する特徴点抽出部と、第2の特徴点を回転中心として、変位ベクトルを単位角度にて順次回転させ、第2の特徴点と変位ベクトルとから候補座標点を算出する候補座標点算出部と、候補座標点を複数の座標軸に投影し、投影軸座標点に対し、変位ベクトルの回転角に対応させて投票を行う候補座標点投票部と、座標軸における投票における積算値の最大値の軸座標を基準点とする認識対象物体判定部とを有する。【選択図】図２
2010282438.tif 000002
【特許請求の範囲】
【請求項１】
登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データが記憶される特徴点データ記憶部と、
入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する特徴点抽出部と、
前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する候補座標点算出部と、
前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う候補座標点投票部と、
前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する認識対象物体判定部と
を有することを特徴とする物体認識装置。
【請求項２】
前記候補座標点算出部が、前記変位ベクトルを回転角０度から、単位角度毎に順次回転させ、回転角度の順番に、各軸において単位角度毎の軸座標に対応した積算記憶部の配列から、投票する積算記憶部の軸座標を予め設定した算出式により算出することを特徴とする請求項１に記載の物体認識装置。
【請求項３】
前記座標軸が２次元平面におけるｘ軸及びｙ軸であることを特徴とする請求項１または請求項２に記載の物体認識装置。
【請求項４】
前記座標軸が２次元平面におけるｘ軸及びｙ軸と、ｘ軸の座標点及びｙ軸の座標点で表される直線からなる直線軸との３軸であることを特徴とする請求項１または請求項２に記載の物体認識装置。
【請求項５】
登録画像データ生成部が、登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データを特徴点データ記憶部に記憶する過程と、
特徴点抽出部が、入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する過程と、
候補座標点算出部が、前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する過程と、
候補座標点投票部が、前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う過程と、
認識対象物体判定部が、前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する過程と
を有することを特徴とする物体認識方法。
【請求項６】
登録画像データ生成部が、登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データを特徴点データ記憶部に記憶する処理と、
特徴点抽出部が、入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する処理と、
候補座標点算出部が、前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する処理と、
候補座標点投票部が、前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う処理と、
認識対象物体判定部が、前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する処理と
を有する物体認識装置としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力される画像において、予め登録された参照物体の位置、姿勢（回転角）及びスケーリングファクターを検出する物体認識装置に関するものである。
【背景技術】
【０００２】
撮像装置などから入力される入力画像から、予め登録された参照物体の位置（２次元座標系における位置座標（ｘ，ｙ））、回転角θ及びスケーリングファクターＳなどを検出する検出方法として、相関法、フーリエ記述子法、モーメント法、ハフ変換法などがよく知られている。
上述したいずれの検出方法も、登録されている参照物体の登録画像の特徴点は予め抽出されて登録されている。
そして、入力画像内から抽出された認識対象物体の特徴点と、登録されている登録画像の特徴点とを用いて、入力画像内における登録画像に対応した物体の画像の位置、登録画像に対する姿勢、及びスケーリングファクターを求める。
【０００３】
上述した特徴点を用いた検出方法において、ハフ変換法は投票と呼ばれる単純な多数決の原理に基づくものである。
そのため、入力画像内における認識対象物体同士の１部の接触、あるいは重なりなどによる部分的な遮蔽、また画像ノイズなどに対し、認識対象物体の認識処理において頑健な性能を有している。
このハフ変換法において、任意形状を有する認識対象物体の検出を高速に行う方法として一般化ハフ変換法がある（例えば、非特許文献１参照）。
【０００４】
上記一般化ハフ変換法は、参照物体より抽出された特徴点（ピクセル単位）において、その特徴点における接線と、あるいは法線の角度と、またその特徴点及び物体の基準となる基準点の位置関係とを参照テーブルとして準備する。この基準点は、参照物体の２次元座標への配置位置を示す配置基準点である。
すなわち、モデルとなる登録画像の上記参照テーブルを生成する図１２のフローチャートに示すように、登録画像の画像を入力し（ステップＳ１）、図１３に示すように、参照物体の特徴点（Ｐ）を２次微分（ラプラシアン）法あるいはモラベック（Moravec）の方法等により抽出する（ステップＳ２）。つまり、周辺画素との値（画素値）の差の大きな点である輪郭線上の点や、表面状態が大きく変わる点などが特徴点となる。
【０００５】
そして、登録画像における特徴点の２値化処理を予め設定した閾値を用いて行い、２値化データを出力する（ステップＳ３）。ここで行う２値化手法としては、あらかじめ設定してある閾値による単純２値化法をはじめとして、ある閾値でヒストグラムを２クラスに分割した場合のクラス間分散が最大になるときの閾値を２値化閾値とする大津法（「判別および最小２乗規準に基づく自動しきい値選定法」（大津）、電子通信学会論文誌、Ｖｏｌ．Ｊ６３−Ｄ，Ｎｏ．４．ｐｐ．３４９−３５６，１９８０）、あるいは、階調を持つ画像に対して、局所的濃度に応じて閾値を設定する２値化法等が用いられる。
【０００６】
次に、登録画像の各特徴点のデータを記憶する参照テーブルの記憶領域の初期化を行い（ステップＳ４）、参照物体の基準点を任意の位置、例えば参照物体の重心位置として求める（ステップＳ５）。
上記基準点から特徴点への変位ベクトルと、特徴点における単位法線ベクトルとからなる特徴点データを求める処理を、全ての２値化データに対して行ったか否かの判定を行い（ステップＳ６）、全ての２値化データにおける特徴点データの取得処理が終了すると処理を終了し、特徴点データを取得する処理を行っていない２値化データがある場合に処理をステップＳ７へ進める。
【０００７】
未処理の２値化データを読み出し（ステップＳ７）、この２値化データが特徴点であるか否かの判定を上記閾値により行い（ステップＳ８）、特徴点でない場合に処理をステップＳ６へ進め、特徴点である場合に処理をステップＳ９へ進める。
そして、特徴点（図においては単に点とする）における接線あるいは単位法線ベクトルを求め、処理をステップＳ６へ進める（ステップＳ９）。
例えば、ステップＳ９において、点Ｐ１における法線ベクトルＮ１を求め、点Ｐ２における法線ベクトルを求め、他の点においても同様に法線ベクトルを求める。これらの法線ベクトルの長さが同一となるように単位法線ベクトルとして規格化し、図１４に示すように、特徴点の番号に対応させて、この特徴点における単位法線ベクトルを構成するｘ成分ＮＸｎ（１≦ｎ≦Ｍの整数、Ｍは特徴点の数）及びｙ成分ＮＹｎと、この特徴点における変位ベクトルＤｎを構成するｘ成分ＤＸｎ及びｙ成分ＤＹｎとの参照テーブルを生成する。
【０００８】
上記参照テーブルを用いた非特許文献１による画像認識処理は、図１５に示すフローチャートの動作により行われる。
撮像装置等から入力画像を入力し（ステップＳ１１）、図１６に示すように、入力画像内の認識対象物体の特徴点（Ｑ）を参照画像と同様の方法にて抽出する（ステップＳ１２）。この図１６は、認識対象物体の特徴点に対し、登録画像の特徴点を重ね合わせ、その登録画像の特徴点における法線ベクトルの角度を合わせ、登録画像の変位ベクトルの指し示す基準点の位置の投票を行うことを示す概念図である。
そして、入力画像における特徴点の２値化処理を、参照画像の処理と同様に、予め設定した閾値を用いて行い、２値化データを出力する（ステップＳ１３）。
【０００９】
次に、基準点の候補に対して投票を行う投票空間（図１７の投票空間の概念図にある回転角度毎の基準点の座標を示す２次元平面）の記憶領域の初期化を行う（ステップＳ１４）。
上記基準点から特徴点への変位ベクトルと、特徴点における単位法線ベクトルとからなる特徴点データを求める処理を、全ての２値化データに対して行ったか否かの判定を行い（ステップＳ１５）、全ての２値化データに対する特徴点データの取得処理が終了した場合に処理を終了し、特徴点データを取得する処理を行っていない２値化データがある場合に処理をステップＳ１６へ進める。
【００１０】
未処理の２値化データを読み出し（ステップＳ１６）、この２値化データが特徴点であるか否かの判定を上記閾値により行い（ステップＳ１７）、特徴点でない場合、つまり閾値よりも小さい場合に処理をステップＳ１５へ進め、特徴点である場合、つまり閾値以上の場合に処理をステップＳ１８へ進める。
そして、特徴点の単位法線ベクトルを求め、処理をステップ１９へ進める（ステップＳ１８）。
登録画像の全ての特徴点を用いて、認識対象物体の選択された特徴点に対応した基準点の投票処理を行ったか否かの判定を行い（ステップＳ１９）、認識対象物体の選択された特徴点に対して、登録画像の全ての特徴点を用いた投票処理が終了した場合、処理をステップＳ１５へ進め、一方、投票処理に用いられていない登録画像の特徴点が存在する場合、処理をステップＳ２０へ進める。
【００１１】
認識対象物体の特徴点に対し、登録画像の特徴点を重ね合わせ、認識対象物体の特徴点における単位法線ベクトルと、登録画像の特徴点における単位法線ベクトルとの角度差（回転角θ）を求める（ステップＳ２０）。
【００１２】
次に、登録画像の特徴点の変位ベクトルを、特徴点を中心として回転角θ分、以下の式により回転させる（ステップＳ２１）。
認識対象物体の特徴点における単位法線ベクトルと、登録画像の特徴点における単位法線ベクトルとから、ＣＯＳ値とＳＩＮ値とを求める。たとえば、図１３における点Ｐ１が図１６における点Ｑ２であると仮定した場合、以下の（１）式により求めることができる。
ＣＯＳ  ＝  Ｎｘ１×ｎｘ２  ＋  Ｎｙ１×ｎｙ２
ＳＩＮ  ＝  Ｎｘ１×ｎｙ２  −  Ｎｙ１×ｎｘ２        …（１）
ここで、登録画像の単位法線ベクトルを（Ｎｘ１，Ｎｙ１）とし、認識対象物体の単位法線ベクトルを（ｎｘ２，ｎｙ２）とする。
ここで、変位ベクトルも同様に、特徴点に対して回転角θにより回転するため、回転させた変位ベクトルの成分ｄｘ及びｄｙは、以下の（２）式により求めることができる。
ｄｘ  ＝  ＣＯＳ×ＤＸ  −  ＳＩＮ×ＤＹ
ｄｙ  ＝  ＳＩＮ×ＤＸ  ＋  ＣＯＳ×ＤＹ              …（２）
ここで、登録画像の変位ベクトルを（ＤＸ，ＤＹ）としている。
【００１３】
入力画像の認識対象物体の特徴点の位置対して、上記回転させた変位ベクトルを、以下の式のように加えて、基準点の候補位置を求める（ステップＳ２２）。
上述した式により、点Ｑ２の座標を（Ｑｘ，Ｑｙ）とすると、認識対象物体の基準点の候補は以下の（３）式により求められる。
Ｒｘ  ＝  Ｑｘ  ＋  ｄｘ
Ｒｙ  ＝  Ｑｙ  ＋  ｄｙ                              …（３）
【００１４】
そして、回転角θに対応する２次元平面の座標に対し、上記基準点の候補の位置（Ｒｘ，Ｒｙ）に「１」を加算、すなわち投票を行う（ステップＳ２３）。
上述したように、非特許文献１の方法においては、各特徴点における登録画像と認識対象物体とのそれぞれの法線の角度を合わせて（この際の回転角が姿勢となる）変位ベクトルの示す基準点の位置の投票を行う。
この結果、重ね合わせた特徴点が登録画像と認識対象物体とで対応している場合、法線ベクトルの角度を合わせると、登録画像の変位ベクトルが同一の点の方向を向き、その指し示す先の基準点が重なり合うため、投票数がピークとなる位置を、認識対象物体の基準点の位置として検出するとともに、その際の回転角を登録画像に対する姿勢として得ることができる。この処理により、登録画像と入力画像における認識対象物体との認識処理を非常に効率良く行う。
【００１５】
しかしながら、この投票空間の次元を考えると、スケーリングファクターＳを考慮しない場合であっても、図１７に示すように、データ構成が縦位置（縦座標）、横位置（横座標）、回転角の３次元となる。また、スケーリングファクターによるサイズ変化も、物体検出において考慮すると１次元が加わり、４次元となる。
このため、実際の物体認識に対して応用する場合、３次元及び４次元の投票空間を構成するために非常に多くのメモリーを必要とすることになる。以降の説明においては、スケーリングファクターの次元を除いた３次元の投票空間に対して評価を行う。
【００１６】
この３次元の投票空間の場合、上記非特許文献１の方法においては、「ＮＸ×ＮＹ×ＮＡ×ＮＶ」のビット数が必要となる。ここで、入力画像における認識対象物体の２次元座標における位置、及び登録画像に対する回転角の検出結果を示す際、２次元座標のｘ軸（横軸）の検出位置の分割数（分解能に対応）である座標点数ＮＸ、ｙ軸（縦軸）の検出位置の分割数である座標点数ＮＹ、回転角度の検出角度の分割数である角度分割ＮＡ、それぞれの投票数を蓄積するメモリーのビット数ＮＶ（通常は２バイトあるいは４バイト）である。
すなわち、非特許文献１においては、認識対象物体の候補の位置及び角度ごとに、ぞれぞれの投票に対応させているため、多くのメモリー容量が必要となる。
この多くのメモリー容量を削減するため、物体検出候補の位置ごとに物体検出候補の回転角度θに対応するＣＯＳ値及びＳＩＮ値を単に積算する方法がある（たとえば、特許文献１参照）。
【００１７】
特許文献１を用いた画像認識処理は、図１８に示すフローチャートの動作により行われる。
撮像装置等から入力画像を入力し（ステップＳ３１）、図１６に示すように、入力画像内の認識対象物体の特徴点を参照画像と同様の方法にて抽出する（ステップＳ３２）。
そして、入力画像における特徴点の２値化処理を、参照画像の処理と同様に、予め設定した閾値を用いて行い、２値化データを出力する（ステップＳ３３）。
【００１８】
次に、基準点の候補に対して投票を行う投票空間（後述するＣＯＳ値及びＳＩＮ値を積算するそれぞれの２次元平面）の記憶領域の初期化を行う（ステップＳ３４）。
各特徴点におけるＣＯＳ値及びＳＩＮ値それぞれを、上記基準点の候補の位置に対して積算する処理を、全ての２値化データに対して行ったか否かの判定を行い（ステップＳ３５）、全ての２値化データに対する上記ＣＯＳ値及びＳＩＮ値の積算処理が終了した場合に処理を終了し、上記ＣＯＳ値及びＳＩＮ値の積算処理を行っていない２値化データがある場合に処理をステップＳ３６へ進める。
【００１９】
未処理の２値化データを読み出し（ステップＳ３６）、この２値化データが特徴点であるか否かの判定を上記閾値により行い（ステップＳ３７）、特徴点でない場合に処理をステップＳ３５へ進め、特徴点である場合に処理をステップＳ３８へ進める。
そして、特徴点の単位法線ベクトルを求め、処理をステップ３９へ進める（ステップＳ１８）。
登録画像の全ての特徴点を用いて、認識対象物体の選択された特徴点に対応した基準点にＣＯＳ値及びＳＩＮ値の積算処理を行ったか否かの判定を行い（ステップＳ３９）、認識対象物体の選択された特徴点に対して、登録画像の全ての特徴点を用いた積算処理が終了した場合、処理をステップＳ３５へ進め、一方、積算処理に用いられていない登録画像の特徴点が存在する場合、処理をステップＳ４０へ進める。
【００２０】
入力画像における認識対象物体の特徴点の単位法線ベクトル（ｎｘ，ｎｙ）と、登録画像の特徴点の単位法線ベクトル（Ｎｘ，Ｎｙ）とから、以下の（４）式により、各特徴点におけるＣＯＳ値及びＳＩＮ値を求める（ステップＳ４０）。
ＣＯＳ  ＝  Ｎｘ×ｎｘ  ＋  Ｎｙ×ｎｙ
ＳＩＮ  ＝  Ｎｘ×ｎｙ  −  Ｎｙ×ｎｘ                …（４）
【００２１】
（４）式により求めたＣＯＳ値及びＳＩＮ値と、重ね合わせた登録画像の特徴点の変位ベクトル（ＤＸ，ＤＹ）とから、回転角θにより回転させた変位ベクトル（ｄｘ，ｄｙ）を、下記（５）式により求める。
ｄｘ  ＝  ＣＯＳ×ＤＸ  −  ＳＩＮ×ＤＹ
ｄｙ  ＝  ＳＩＮ×ＤＸ  ＋  ＣＯＳ×ＤＹ              …（５）
【００２２】
そして、入力画像における認識対象物体の特徴点（Ｑｘ，Ｑｙ）と、回転させた変位ベクトル（ｄｘ，ｄｙ）とから、以下の（６）式により、基準点位置の候補の位置を求める。
Ｒｘ  ＝  Ｑｘ  ＋  ｄｘ
Ｒｙ  ＝  Ｑｙ  ＋  ｄｙ                              …（６）
この得られた基準点位置の候補の位置（Ｒｘ，Ｒｙ）に対して、ＣＯＳ（θ）とＳＩＮ（θ）とを、図１９に示すように、それぞれＣＯＳ（θ）の投票空間と、ＳＩＮ（θ）の投票空間に積算する。
この結果、投票空間としてのメモリー容量は、「ＮＸ×ＮＹ×２×（積算のためのビット数）」で得られることになる。積算するビット数については双方ともに２から４ビットであるため、角度分解数ＮＡを３６０とし１度の分解能を有すると考えると、特許文献１の方法は非特許文献１に比較して、１／１８０のメモリー容量にて実現することができる。ここで、２はＣＯＳ値、ＳＩＮ値それぞれの積算を行う２つの２次元座標を示している。
【００２３】
この投票処理により、認識対象物体の基準点の候補の点が登録画像に対して回転角θを有する真の基準点である場合、その候補の点に対して登録画像の各特徴点の全てからの回転角θの投票が大部分を占めることが考えらる。このため、真の基準点である点におけるＣＯＳ値とＳＩＮ値とのそれぞれの積算値は、その認識対象物体の回転角θの投票が大部分を占めることにより、その回転角θに対応するＣＯＳ値、ＳＩＮ値の整数倍、投票数倍に近づくことになる。その結果、ＣＯＳ積算値、ＳＩＮ積算値のいずれかまたは両方においてピークを得ることができる。
したがって、ＣＯＳ積算値、ＳＩＮ積算値のピーク位置が入力画像における認識対象物体の基準点であり、その基準点に積算されたＣＯＳ値の積算値とＳＩＮ値の積算値との比、すなわちｔａｎ−１（ＳＩＮ値の積算値／ＣＯＳ値の積算値）により回転角θを求めることができる。
【００２４】
一方、基準点の候補の点が真の基準点でない場合、認識対象物体の特徴点における投票が誤投票であったり、あるいはノイズに起因するものとなり、投票される回転角θは一様乱数的な分布を有すると仮定される。
この結果、この真の基準点でない点でのＣＯＳ値及びＳＩＮ値の積算は、それぞれＣＯＳ関数、ＳＩＮ関数を０度から３６０度までを一様な重みで単純に積分した値の整数倍となることが期待され、積算値は０に近づくことになる。
また、任意形状を有する認識対象物体の検出を行うための方法としては、相関法または畳込みが用いられている（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開２００７−１２８３７４号公報
【非特許文献】
【００２６】
【非特許文献１】D.H.Ballard，”Generalizing The Hough Transform To Detect Arbitrary Shapes”，Pattern Recongition，Vol.13,no.2,pp.111-122,1981
【非特許文献２】”新編画像解析ハンドブック”、２００４、東京大学出版会、第２部第４章「マッチング」
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、特許文献１及び非特許文献１に示す物体認識方法にあっては、登録画像画像に対する入力画像における認識対象物体の回転角を元にして、変位ベクトルを回転させ、基準点の候補点を算出するため、登録画像から抽出した特徴点と、その特徴点における法線（または接線）のベクトル情報を必要としている。
このため、登録画像の特徴点毎に法線（または接線）のベクトル情報を得るための処理が必要となる。
また、登録画像と、入力画像とを撮像した際の、認識対象物体に対する照明方向や照明光の違いにより、計算から得られる法線ベクトルや接線の数値に系統的な誤差が発生することが考えられる。
この場合、登録画像の特徴点における法線ベクトルと、入力画像の特徴点における法線ベクトルとを用いて、基準点の候補座標における投票処理を行った結果にも誤差が発生することになる。
【００２８】
また、特許文献１の物体認識方法は、特徴点における投票の動作が、正しい位置の回転角θ以外において等方的に行われ、投票結果が平均化されて「０」に近づくことが期待されている。
しかしながら、登録画像と入力画像の認識対象物体とにおける法線ベクトルの誤差により、誤った座標において大量の投票による積算が行われると、認識対象物体の検出処理が正しく行われないことになる。
また、特許文献１の物体認識方法は、入力画像に複数の認識対象物体が存在し、これらの認識対象物体が重なり合ったり、近接して配置されている場合、誤った座標に大量の投票による積算が行われ、認識対象物体の検出処理を正しく行うことができない。このとき、投票処理自体は正常に行われるために、その検出結果が正しいか否かを直接に検出することができない。
【００２９】
図２０を用いて、特許文献１が認識処理を行えない場合を説明する。図２０は、認識対象物体の構成及び配置について説明する概念図である。
図２０（ａ）のモデル１と図２０（ｂ）モデル２とは、基準点を重心とし、同一の位置に基準点がある登録画像である。
図２０（ｃ）は、同じ登録画像のモデル１が回転角θを０度と１８０度として重なっている場合を示している。この場合、特許文献１においては０度と１８０度との積算が同一の座標にて重なるため、ＣＯＳ値、ＳＩＮ値ともに平均化されて「０」となり、正確な検出が出来ない。
また、図２０（ｄ）は、モデル１が０度で配置され、モデル２が１８０度で配置されている。この場合も基準点が同一であるため、図２０（ｃ）と同様な状態となり、モデル１及びモデル２の双方共に検出することができない可能性が高い。
【００３０】
一方、非特許文献２の物体認識方法は、相関法を用いるために、特徴点における法線ベクトルや接線を必要としないため、特許文献１及び非特許文献１における問題が発生することはない。
しかしながら、単純な相関法の場合、非特許文献１に記載されている計算量を低減する手法、及び特許文献１に記載されているメモリー容量を削減する方法が用いられていない。
すなわち、相関法においては、登録画像の全ての回転角θ毎に設けられた、基準点の２次元の候補座標に対して投票を行って行くためメモリー容量を多く必要とし、かつ相関値の計算において大量の演算処理を行う必要がある。
【００３１】
本発明は、このような事情に鑑みてなされたもので、その目的は、画像認識に必要な計算量及びメモリー容量を低減し、かつ一部が重なり合った複数の認識対象物体の検出処理を行うことが可能な画像認識装置を提供することにある。
【課題を解決するための手段】
【００３２】
この発明は上述した課題を解決するためになされたもので、本発明の物体認識装置は、登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データが記憶される特徴点データ記憶部と、入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する特徴点抽出部と、前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する候補座標点算出部と、前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う候補座標点投票部と、前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する認識対象物体判定部とを有することを特徴とする。
また、本発明の物体認識方法は、登録画像データ生成部が、登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データを特徴点データ記憶部に記憶する過程と、特徴点抽出部が、入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する過程と、候補座標点算出部が、前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する過程と、候補座標点投票部が、前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う過程と、認識対象物体判定部が、前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する過程とを有することを特徴とする。
また、本発明のプログラムは、登録画像データ生成部が、登録画像の点対称変換された画像より抽出した複数の第１の特徴点と、当該変換画像の基準点から第１の特徴点への変位ベクトルとからなる特徴点データを特徴点データ記憶部に記憶する処理と、特徴点抽出部が、入力画像における認識対象物体の特徴を構成する第２の特徴点を抽出する処理と、候補座標点算出部が、前記第２の特徴点毎に、当該第２の特徴点を回転中心として、前記変位ベクトルを予め設定した単位角度にて順次回転させ、回転させた回転角毎において、第２の特徴点の座標と変位ベクトルとから基準点の候補である候補座標点を算出する処理と、候補座標点投票部が、前記候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対し、前記変位ベクトルの回転角に対応させて投票を行う処理と、認識対象物体判定部が、前記座標軸における前記投票における積算値の最大値の軸座標の組合せを、基準点の座標とし、前記最大値を有する回転角を、前記認識対象物体の前記登録座標に対する回転角として検出する処理とを有する物体認識装置としてコンピューターを機能させるためのプログラムである。
この発明によれば、従来例のような２次元の積算記憶部の配列ではなく、１次元の記憶部の配列であるため、従来に比較してメモリー容量を削減することができ、かつ、相関法を用いているため、入力画像において複数の認識対象物体が重なり合っていても、それぞれを認識することができる。
また、この発明によれば、認識処理において法線ベクトルを用いないため、登録画像と入力画像との取得するときの光照射の環境の違いによる法線ベクトルの誤差の影響を受けないため、正確な認識を行うことができ、法線ベクトルの計算を行わないため、認識処理の時間を短縮することができる。
また、この発明によれば、第２の特徴点にて、第１の特徴点に対応する変位ベクトルを回転させ、回転させた変位ベクトルと第２の特徴点の座標点とから基準点の候補である候補座標点を算出するし、各軸に対する投票を行うため、登録画像と点対称変換された画像の回転角を替えつつ、畳み込みの演算を行う必要が無いため、認識処理を高速化することができる。
【００３３】
本発明の物体認識装置は、前記候補座標点算出部が、前記変位ベクトルを回転角０度から、単位角度毎に順次回転させ、回転角度の順番に、各軸において単位角度毎の軸座標に対応した積算記憶部の配列から、投票する積算記憶部の軸座標を予め設定した算出式により算出することを特徴とする。
この発明によれば、従来の畳み込み法のように回転角度毎に認識対象物体全ての第２の特徴点と登録画像の第１の特徴点との相関を演算するのではなく、回転角度毎に第１の特徴点と回転された変位ベクトルから得られる候補基準点に投票処理を行うのみのため、認識の処理時間を低減させることができる。
また、この発明によれば、候補基準点の算出処理を、変位ベクトルの回転角を０度から始めているため、この０度を基準として、単位角度単位で回転させた回転角に対応させ、順次、投影される軸座標を求めるため、予め設定した式により容易に軸座標が算出でき、かつ回転角に対応した積算記憶部の配列の列の順番に、上記軸座標に対応する積算記憶部に投票させれば良いため、従来に比較して処理速度を向上させることができる。
【００３４】
本発明の物体認識装置は、前記座標軸が２次元平面におけるｘ軸及びｙ軸であることを特徴とする。
これにより、軸座標点に対応するＣＯＳ（θ）及びＳＩＮ（θ）各々の積算値を記憶する記憶部の１次元配列が、ｘ軸方向に２本及びｙ軸方向に２本の計４本で済むため、２次元座標の各座標点毎に記憶部が必要な従来例に比較すると、メモリー容量を削減することができる。
【００３５】
本発明の物体認識装置は、前記座標軸が２次元平面におけるｘ軸及びｙ軸と、ｘ軸の座標点及びｙ軸の座標点で表される直線からなる直線軸との３軸であることを特徴とする。
これにより、軸座標点に対応するＣＯＳ（θ）及びＳＩＮ（θ）各々の積算値を記憶する記憶部の１次元配列が、ｘ軸方向に２本、ｙ軸方向に２本、直線軸方向に２本の計６本で済むため、２次元座標の各座標点毎に記憶部が必要な従来例に比較すると、メモリー容量を削減することができる。
また、複数の基準点が存在する場合、アーチファクトが発生する可能性があるが、２次元の座標点を投影する軸を３本とすることにより、２本の場合に比較して位置識別能力を向上させることができ、上記アーチファクトを排除することができ、物体認識の処理効率を向上させることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の認識処理の概要を説明する概念図である。
【図２】第１の実施形態による物体認識装置の構成例を示す概略ブロック図である。
【図３】第１の実施形態において、候補点座標をｘ軸に投影して、回転角に対応する積算記憶部に投票を行う処理を説明する概念図である。
【図４】第１の実施形態において、候補点座標をｙ軸に投影して、回転角に対応する積算記憶部に投票を行う処理を説明する概念図である。
【図５】積算記憶部に記憶された投票の積算値から、認識対象物体の基準点を検出する処理を説明する概念図である。
【図６】第１の実施形態において、認識対象物体の基準点を検出する各軸への投票処理を説明するフローチャートである。
【図７】第１の実施形態による物体認識の動作を説明する概念図である。
【図８】第１の実施形態による物体認識の動作を説明する概念図である。
【図９】第２の実施形態による物体認識の動作を説明する概念図である。
【図１０】第２の実施形態において、候補点座標をｘ軸、ｙ軸及びＡ軸に投影して、回転角に対応する積算記憶部に投票を行う処理を説明する概念図である。
【図１１】第２の実施形態において、認識対象物体の基準点を検出する各軸への投票処理を説明するフローチャートである。
【図１２】登録画像の第１の特徴点の抽出と、この第１の特徴点における特徴点データの抽出の動作を説明するフローチャートである。
【図１３】特徴点データの抽出を説明する概念図である。
【図１４】特徴点データが記憶されるテーブル構成を示す概念図である。
【図１５】非特許文献１の一般化ハフ変換を用いた画像認識処理の動作を示すフローチャートである。
【図１６】図１２における基準点の投票処理を説明する概念図である。
【図１７】非特許文献１の一般化ハフ変換における画像認識の際に必要となるメモリー容量を説明する概念図である。
【図１８】特許文献１における画像認識処理の動作を説明するフローチャートである。
【図１９】特許文献１におけるＣＯＳ値及びＳＩＮ値の積算処理を説明する概念図である。
【図２０】認識対象物体の構成及び配置について説明する概念図である。
【発明を実施するための形態】
【００３７】
本発明は、入力画像における認識対象物体と、登録画像との相関を複数の軸の軸座標に対して投票するラドン変換を用いており、その投票の積算値が最大である各軸座標の座標値が示す２次元座標の座標点を認識対象物体の基準点として検出する。
すなわち、図１に示すように、登録画像に点対称変換された画像の基準点を、認識対象物体の第２の特徴点に重ね合わせ、その際に変換画像の変位ベクトルから認識対象物体の基準点の候補座標点を求め、その候補座標点を各軸に投影した軸座標点に「１」を積算する投票を行う。この投票を変換画像を予め設定した単位角づつ回転させた回転角毎に行う。
この結果、認識対象物体が登録画像に対して３０度回転して入力画像に配置されていると、図１（ａ）に示すように、認識対象物体の基準点は変換画像の回転角が０の場合、検出されないが、図１（ｂ）に示すように、変換画像を３０度に回転した場合に、配置されている基準点を検出することができる。
【００３８】
＜第１の実施形態＞
以下、図面を参照して、本発明の第１の実施形態について説明する。図２は、この発明の第１の実施形態による物体認識装置の構成例を示す概略ブロック図である。本実施形態においては、基準点の候補座標点を投影して投票を行う軸をｘ軸とｙ軸との２つの場合を説明する。
この図において、本実施形態による物体認識装置は、登録画像データ生成部１、特徴点データ記憶部２及び物体認識部３とを有している。
登録画像データ生成部１は、登録画像に対して点対称変換された画像（以下、変換画像）より抽出した特徴点を第１の特徴点の配列として抽出し、変換画像の基準点を設定し、第１特徴点から基準点への変位ベクトルを求め、第１の特徴点の座標、変位ベクトルを第１の特徴点データとして、各変換画像の第１の特徴点の識別情報である特徴点番号に対応させ、第１の特徴点毎に特徴点データ記憶部２へ書き込んで記憶させる。上記基準点は、登録画像の２次元座標への配置位置を示す配置基準点である。また、基準点は、変換画像が配置された２次元座標上の任意の点で良く、例えば、変換画像の重心を基準点としても良い。
【００３９】
特徴点データ記憶部２は、図１４に示すテーブル構成により、第１の特徴点の特徴点番号に対応して、各変換画像の特徴点データが記憶されている。
物体認識部３は、入力画像における認識対象物体より抽出した第２の特徴点の配列として求め、第２の特徴点に変換画像の基準点を重ね合わせ、変換画像の変位ベクトルから認識対象物体の基準点の候補座標点を求め、この候補座標点に対する投票結果により、認識対象物体と登録画像との相関を判定していく。
【００４０】
上記登録画像データ生成部１は、登録画像取得部１１、特徴点抽出部１２、特徴点２値化部１３及び変位ベクトル抽出部１４を有している。この登録画像データ生成部１の動作は、特許文献１にて説明した図９のフローチャートの動作と同様である。
登録画像取得部１１は、撮像装置あるいはＣＡＤシステムから、後に認識対象物体を認識するために用いる登録画像の画像データを入力する。
特徴点抽出部１２は、上記登録画像に点対称変換された変換画像を生成し、この変換画像の第１の特徴点（ピクセル単位）を、非特許文献１における特徴抽出にて説明した２次微分（ラプラシアン）法あるいはモラベックの方法などを用いて抽出する。
【００４１】
特徴点２値化部１３は、変換画像の第１の特徴点のピクセルと、第１の特徴点以外のピクセルとの階調度による２値化を行う。例えば、特徴点２値化部１３は、予め設定した階調度の閾値により、第１の特徴点のピクセルの階調度を「１」、第１の特徴点以外のピクセルの階調度を「０」とする。ここで、予め設定した閾値は、一般化ハフ変換法にて説明した２値化処理を行う閾値を用いる。
変位ベクトル抽出部１４は、第１の特徴点毎に、基準点から第１の特徴点への変位ベクトルを求める。また、法線ベクトル抽出部１４は、第１の特徴点の座標、変位ベクトルを第１の特徴点データとして、特徴点データ記憶部２へ書き込んで記憶させる。
【００４２】
次に、物体認識部３は、入力画像取得部３１、特徴点抽出部３２、特徴点２値化部３３、候補座標点演算部３４、候補座標点投票部３５、認識対象物体判定部３６を有している。
入力画像取得部３１は、カメラなどの撮像装置から、認識対象物体を含んだ入力画像の画像データを入力する。
特徴点抽出部３２は、上記入力画像における認識対象物体の第２の特徴点（ピクセル単位）の座標値を、上記特徴点抽出部１２と同様の手法を用いて抽出する。
【００４３】
特徴点２値化部３３は、認識対象物体の第２の特徴点のピクセルと、第２の特徴点以外のピクセルとの階調度による２値化を行う。例えば、特徴点２値化部３３は、予め設定した階調度の閾値により、第２の特徴点のピクセルの階調度を「１」、第２の特徴点以外のピクセルの階調度を「０」とする。ここで、予め設定した閾値は、特徴点２値化部１３と同様の数値を用いる。
【００４４】
候補座標点演算部３４は、第２の特徴点の座標値と、第１の特徴点の変位ベクトルから、登録画像の回転角が０度の際の座標点をｘ軸に投影した際のｘ軸における軸座標値Ｒｘを、以下の（７）式により求める。
Ｒｘ＝Ｘ＋ｄ×ｃｏｓ（θ＋θ０）                        …（７）
この（７）式で、Ｘは第２の座標点のｘ座標値であり、ｄは変位ベクトルの長さであり、θ０は登録画像の回転角θが０の場合の角度である。
または、以下の（８）式により、軸座標Ｒｘを求めることができる。
Ｒｘ＝Ｘ＋Ｄｘ×ｃｏｓ（θ）−Ｄｙ×ｓｉｎ（θ）       …（８）
ここで、変位ベクトル（Ｄｘ，Ｄｙ）である。
そして、図３に示すように、変位ベクトルの角度θ０を求め、この角度θ０を基準値として変換画像の回転角θを単位角度毎に回転させた場合、θ＋θ０＝γとし、単位角度を１度とした場合γが０から３５９までのｃｏｓ値を予め設定しておくことにり、各角度γにおける軸座標点Ｒｘを容易に算出できることになる。
図３は、第２の特徴点の座標値（Ｘ，Ｙ）と変位ベクトルとから軸座標Ｒｘを算出する処理を説明する概念図である。
【００４５】
また、候補座標点演算部３４は、第２の特徴点の座標値と、第１の特徴点の変位ベクトルから、登録画像の回転角が０度の際の座標点をｙ軸に投影した際のｙ軸における軸座標値Ｒｙを、以下の（９）式により求める。
Ｒｙ＝Ｙ＋ｄ×ｓｉｎ（θ＋θ０）                        …（９）
ここで、Ｙは第２の座標点のｙ座標値であり、ｄは変位ベクトルの長さであり、θ０は登録画像の回転角θが０の場合の角度である。
または、以下の（１０）式により、軸座標Ｒｙを求めることができる。
Ｒｙ＝Ｙ＋Ｄｘ×ｓｉｎ（θ）＋Ｄｙ×ｃｏｓ（θ）       …（１０）
ここで、変位ベクトル（Ｄｘ，Ｄｙ）である。
そして、図４に示すように、変位ベクトルの角度θ０を求め、この角度θ０を基準値として変換画像の回転角θを単位角度毎に回転させた場合、θ＋θ０＝γとし、単位角度を１度とした場合γが０から３５９までのｓｉｎ値を予め設定しておくことにり、各角度γにおける軸座標点Ｒｙを容易に算出できることになる。
図４は、第２の特徴点の座標値（Ｘ，Ｙ）と変位ベクトルとから軸座標Ｒｙを算出する処理を説明する概念図である。
【００４６】
候補座標点投票部３５は、図３に示すように軸座標Ｒｘに対応した積算記憶部の１次元配列を各回転角θ毎に有している。
同様に、候補座標点投票部３５は、図４に示すように軸座標Ｒｙに対応した積算記憶部の１次元配列を各回転角度θ毎に有している。
本実施形態においては、上述したように、回転角θの回転を単位角度１度として行うため、ｘ軸及びｙ軸それぞれに対応して０から３５９度の３６０本ずつ、計７２０本が設けられている。
また、候補座標点投票部３５は、上記候補座標点演算部３４が求めた変位ベクトルの回転に対応した軸座標により、ｘ軸及びｙ軸それぞれの回転角θに対応した積算記憶部の配列において、軸座標に対応した積算記憶部に「１」を投票して積算する。
図４は、第２の特徴点の座標値（Ｘ，Ｙ）と変位ベクトルとから軸座標Ｒｙを算出する処理を説明する概念図である。
【００４７】
認識対象物体判定部４０は、上記ｘ軸及びｙ軸軸における積算記憶部の配列において、予め設定したピーク値を超える積算値を有する積算記憶部を抽出し、図５に示すように、その積算記憶部に対応する軸座標Ｒｘ、及び軸座標Ｒｙを組み合わせ、すなわち２次元平面に対する逆投影により得られた２次元の座標点（Ｒｘ，Ｒｙ）を、登録画像と形状が一致する認識対象物体の基準点が配置された位置とし、ピーク値を超える積算値のあった配列の回転角を、登録画像に対する認識対象物体の回転角として出力する。図５は、ピーク値を超えた積算値を有する積算記憶部から、登録画像と一致する認識対象物体の基準点の検出を示す概念図である。
【００４８】
また、物体認識部３に接続されている詳細検出部３７は、認識対象物体の位置を詳細に知る必要がある場合、上記認識対象物体判定部４０が抽出した基準点及び回転角θを、より認識対象物体の配置された位置を詳細に抽出する処理を行う。そのため、詳細な認識対象物体の配置位置の抽出の必要がなければ、詳細検出部３７を設ける必要はない。
【００４９】
次に、本実施形態における認識対象物体と登録画像との認識処理を図６を用いて説明する。図６は、上記認識処理の動作例を説明するフローチャートである。
入力画像取得部３１は、図視しない撮像装置から入力画像を入力し、例えばピクセルで表現された画像データとして特徴点抽出部３２及び法線ベクトル抽出部３４へ出力する（ステップＳ５１）。
入力画像が入力されると、特徴点抽出部３２は、入力画像における認識対象物体の第２の特徴点を抽出し、抽出した入力画像を特徴点２値化部３３へ出力する（ステップＳ５２）。
次に、特徴点２値化部３３は、入力される入力画像の各ピクセルに対し、第２の特徴点のピクセルと、それ以外のピクセルとの階調度の２値化を行い、内部の記憶部に記憶する（ステップＳ５３）。
【００５０】
そして、候補座標点投票部３５は、ｘ軸及びｙ軸におけるすべての積算記憶部の積算値を初期化、すなわち積算値を「０」とする（ステップＳ５４）。
次に、候補座標点演算部３４は、入力画像の全てのピクセルの２値化データに対して、特徴点における評価値としての投票処理を行ったか否かの判定を行い（ステップＳ５５）、全てのピクセルの２値化データに対し、特徴点における投票を行った場合に認識処理を終了し、一方、特徴点における投票を行なっていないピクセルが存在する場合、処理をステップＳ５６へ進める。
ここで、特徴点における評価値の算出を行っていないピクセルの検出は、たとえば、ｙ軸の軸座標を固定してｘ軸の軸座標に対応したピクセルを順番に処理し、固定したｙ軸の軸座標に対応するｘ軸の軸座標における処理が終了すると、ｙ軸の軸座標を変化させて、ｘ軸の軸座標に対応したピクセルを順番に処理するようにする。これにより、ｘ軸及びｙ軸におけるピクセルの数により、上述したｘ軸の軸座標とｙ軸の軸座標との組合せのループを組むことにより、終了時点を検出することができる。
【００５１】
次に、候補座標点演算部３４は、特徴点２値化部３３から未処理のピクセルの２値化データを読みだし（ステップＳ５６）、読みだした２値化データが予め設定した閾値を超え、このピクセルが第２の特徴点であるか否かの判定を行う（ステップＳ５７）。
このとき、候補座標点演算部３４は、読みだしたピクセルが第２の特徴点である場合、処理をステップＳ５８へ進め、このピクセルが第２の特徴点でない場合、処理をステップＳ５５へ進める。
ピクセルが第２の特徴点である場合、候補座標点演算部３４は、第２の特徴点座標おいて、変換画像の全ての第１の特徴点の処理を行ったか否かの判定を行い（ステップＳ５８）、処理が行われていない第１の特徴点が残っていない場合、処理をステップＳ５５へ進め、処理が行われていない第１の特徴点が残っている場合、残っている座標点に対応した変位ベクトルを特徴点データ記憶部２から読み出し、回転角θを「０」に初期化して処理をステップＳ５９へ進める。
【００５２】
次に、候補座標点演算部３４は、上記変位ベクトルの全ての回転角において、この回転させた変位ベクトルと、第２の特徴点の座標とから、候補座標点を生成したか否かの判定を行い（ステップＳ５９）、全ての回転角に対し、その第１の特徴点における変位ベクトルを回転させた場合、処理をステップＳ５８へ進め、一方、回転させていない回転角が存在する場合、変位ベクトルの回転角を単位角度分だけ回転させ、処理をステップＳ６０へ進める。
【００５３】
候補座標点演算部３４は、変位ベクトル（Ｄｘ，Ｄｙ）と第２の特徴点の座標（Ｘ，Ｙ）とを用い、上記（８）式によりｘ軸の軸座標Ｒｘを算出する。
そして、候補座標点投票部３５は、現在の回転角θの配列及び軸座標Ｒｘに対応した、ｘ軸における積算記憶部に「１」を投票して積算処理を行う（ステップＳ６０）。
次に、候補座標点演算部３４は、変位ベクトル（Ｄｘ，Ｄｙ）と第２の特徴点の座標（Ｘ，Ｙ）とを用い、上記（１０）式によりｙ軸の軸座標Ｒｙを算出する。
そして、候補座標点投票部３５は、現在の回転角θの配列及び軸座標Ｒｙに対応した、ｙ軸における積算記憶部に「１」を投票して積算処理を行う（ステップＳ６１）。
【００５４】
次に、認識対象物体判定部４０は、図６のフローチャートの投票処理が終了した後、各回転角毎のｘ軸の軸座標に対応した積算記憶部の配列、ｙ軸の軸座標に対応した積算記憶部の配列それぞれにおいて、ピーク値を超える積算値を有する積算記憶部を抽出する。
そして、認識対象物体判定部４０は、図５に示すように、抽出されたｘ軸の積算記憶部に対応する軸座標Ｒｘと、抽出されたｙ軸の積算記憶部に対応する軸座標Ｒｙとの組合せ、すなわち２次元平面に対する逆投影を行って得られる２次元の座標点（Ｒｘ，Ｒｙ）を、登録画像に一致する認識対象物体の基準点として検出する。
また、認識対象物体判定部４０は、ｘ軸に対応する積算記憶部の配列において、ピーク値を超える積算値を有する積算記憶部の存在する配列に対応する回転角を抽出するとともに、ｙ軸に対応する積算記憶部の配列において、ピーク値を超える積算値を有する積算記憶部の存在する配列に対応する回転角を抽出する。
そして、認識対象物体判定部４０は、座標点（Ｒｘ，Ｒｙ）に対応する積算記憶部の存在する配列の回転角を、その認識対象物体の登録画像に対する回転角として出力する。
【００５５】
上述したように、本実施形態においては、ｘ軸上の１次元の軸座標に対応した積算記憶部の１次元配列と、ｙ軸上の１次元の軸座標に対応した積算値記憶部の１次元配列とを、回転角の検出の分解能である１度に対応して３６０本ずつ、計７２０本有している。すでに説明したように、各積算記憶部には１つの軸座標における投票が積算される。
ここで、特許文献１と同様の条件にてメモリー容量を見積もると、「１０２４×４×７２０」の計算式となり、３Ｍバイトのメモリー容量となる。このメモリー容量は、特許文献１の約８Ｍバイトに比較すると、半分以下にメモリー容量が削減されたことになる。
上記計算式において、「１０２４」は、ｘ軸方向及びｙ軸方向のピクセル数（軸座標数に対応）であり、次の「４」が各積算値記憶部の容量であり、次の「７６０」が１次元に配列された積算記憶部の配列数である。
また、認識対象物体の検出において相関法を用いているため、特許文献１と異なり、一部が他の認識対象物体と重なっていたとしても、登録画像と一致した認識対象物体の検出を行うことが可能である。
また、登録画像と入力画像との取得の際の照明方向や照明光の違いにより、計算から得られる系統的な誤差を有する法線ベクトル等を用いる必要がないため、登録画像と入力画像との取得の環境の違いによる影響を抑制することが可能である。
【００５６】
＜第２の実施形態＞
次に、本発明の第２の実施形態による物体認識装置を説明する。第２の実施形態による物体識別装置は、第１の実施形態と同様の構成である。以下、異なる処理の点のみを説明する。
初めに、第１の実施形態において、複数（以下、２点として説明）の基準点が存在する場合における誤検出について説明する。第１の実施形態においては、積算値において１のピークのみ、すなわち基準点が存在する場合、あるいは図７に示すように、２点の基準点がいずれかの軸（ｘ軸あるいはｙ軸）に平行に存在する場合には、基準点と各軸座標とが一対一対応となるため、特に誤検出は起こらない。
【００５７】
しかしながら、図８に示すように、基準点がいずれの軸にも平行に配列していない場合、積算値がピーク値を超える値となる積算値として、ｘ軸に２つの積算記憶部に記憶された積算値と、ｙ軸に２つの積算記憶部に記憶された積算値とが存在する。これらｘ軸の２つの軸座標と、ｙ軸の２つの軸座標との組合せとして、実際に基準点が存在する黒丸で示す座標と、アーチファクトと呼ばれる偽基準点の白丸で示す座標とが混在することになる。この場合、詳細検出部３７によりアーチファクトを削除することができるが、アーチファクトの検出及び削除処理に演算処理が必要となるため、検出時間が長くなる。
【００５８】
そこで、第２の実施形態においては、図９で示すように、ｘ軸方向及びｙ軸方向に対する１次元の積算記憶部の配列に加え、ｘ軸及びｙ軸と異なる角度φの方向のＡ軸方向に対する１次元の積算記憶部の配列を、角度φの方向に設ける。このＡ軸は、認識対象物体が配置されている２次元平面の象限において、ｘ軸及びｙ軸に対向して設けられる。
すなわち、このＡ軸は、ｘ軸及びｙ軸に加えて、座標（Ｒｘ、Ｒｙ）を投影するための投影軸として、図９に示すように、２次元平面の任意の位置に設けられる。図９は、ｘ軸、ｙ軸及びＡ軸の２次元座標における関係を示す概念図である。
【００５９】
本実施形態の候補座標点演算部３４における各軸の軸座標の算出は、以下の（１１）式を用いる。
Ｒｚ＝Ｘｃｏｓ（φ）＋Ｙｓｉｎ（φ）＋ｄ×ｃｏｓ（θ＋θ０−φ）  …（１１）
この（１１）式において、図１０に示すように、ｘ軸の軸座標を算出する場合φ＝０とし、ｙ軸の軸座標を算出する場合φ＝９０度とし、Ａ軸の軸座標を算出する場合φは任意の角度とする。図１０は、（１１）式におけるφの角度と、ｘ軸、ｙ軸及びＡ軸の関係を示す概念図である。
【００６０】
次に、本実施形態における認識対象物体と登録画像との認識処理を図１１を用いて説明する。図１１は、上記認識処理の動作例を説明するフローチャートである。
第１の実施形態における図６のフローチャートの動作と同様な処理については同一のステップ番号を付してある。以下、第１の実施形態と異なるステップのみを説明する。ステップＳ５１からステップ５３までは、図６のフローチャートと同様である。
ステップＳ６４において、ステップＳ５３における２値化が終了した後、候補座標点投票部３５は、ｘ軸、ｙ軸及びＡ軸におけるすべての積算記憶部の積算値を初期化、すなわち積算値を「０」とする（ステップＳ６４）。
【００６１】
次に、候補座標点演算部３４は、第２の特徴点座標おいて、変換画像の全ての第１の特徴点の処理を行ったか否かの判定を行い（ステップＳ５８）、処理が行われていない第１の特徴点が残っていない場合、処理をステップＳ５５へ進め、処理が行われていない第１の特徴点が残っている場合、残っている座標点に対応した変位ベクトルを特徴点データ記憶部２から読み出して処理をステップＳ６９へ進める。ステップＳ５５からステップ５８までは図６のフローチャートと同様である。
新たな第１の特徴点の変位ベクトルが入力されると、候補座標点演算部３４は、全ての軸に対する投票が終了したか否かの判定を行い（ステップＳ６９）、全ての軸に対する投票が終了した場合、処理した軸を示すフラグをリセットした後、フラグ処理をステップＳ５８へ進め、一方全ての軸に対する投票が終了していない場合処理をステップＳ７０へ進める。
このとき、候補座標点演算部３４は、ｘ軸、ｙ軸及びＡ軸の順番で軸を設定する構成となっており、ｘ軸、ｙ軸及びＡ軸の全てのフラグが立った状態にてこのステップＳ６９の処理に入ってきた場合、全ての軸の処理が終了したとし、一方、フラグが立っていない場合、ｘ軸、ｙ軸及びＡ軸の順番にて、空いているフラグの軸に対応する角度をφに対して設定し、対応する軸のフラグを立てる。
【００６２】
次に、上記変位ベクトルの全ての回転角において、この回転させた変位ベクトルと、第２の特徴点の座標とから、候補座標点を生成したか否かの判定を行い（ステップＳ７０）、全ての回転角に対し、その第１の特徴点における変位ベクトルを回転させた場合、処理をステップＳ６９へ進め、一方、回転させていない回転角が存在する場合、変位ベクトルの回転角を単位角度分だけ回転させ、処理をステップＳ７１へ進める。
【００６３】
候補座標点演算部３４は、変位ベクトル（Ｄｘ，Ｄｙ）と第２の特徴点の座標（Ｘ，Ｙ）とを用い、上記（１１）式により、角度φに対応する軸の軸座標を算出する。
そして、候補座標点投票部３５は、上記軸における現在の回転角θの配列及び算出された軸座標に対応させ、軸における積算記憶部に「１」を投票して積算処理を行う（ステップＳ７１）。
【００６４】
次に、認識対象物体判定部４０は、図１１のフローチャートの投票処理が終了した後、各回転角毎のｘ軸の軸座標に対応した積算記憶部の配列、ｙ軸の軸座標に対応した積算記憶部の配列、Ａ軸の軸座標に対応した積算記憶部の配列それぞれにおいて、ピーク値を超える積算値を有する積算記憶部を抽出する。
そして、認識対象物体判定部４０は、図９に示すように、抽出されたｘ軸の積算記憶部に対応する軸座標Ｒｘと、抽出されたｙ軸の積算記憶部に対応する軸座標Ｒｙ、抽出されたＡ軸の積算記憶部に対応する軸座標Ｒｚとの組合せ、すなわち２次元平面に対する逆投影により得られた２次元の座標点（Ｒｘ，Ｒｙ，Ｒｚ）を、登録画像に一致する認識対象物体の基準点として検出する。
また、認識対象物体判定部４０は、ｘ軸に対応する積算記憶部の配列において、ピーク値を超える積算値を有する積算記憶部の存在する配列に対応する回転角を抽出し、ｙ軸に対応する積算記憶部の配列において、ピーク値を超える積算値を有する積算記憶部の存在する配列に対応する回転角を抽出し、Ａ軸に対応する積算記憶部の配列において、ピーク値を超える積算値を有する積算記憶部の存在する配列に対応する回転角を抽出する。
そして、認識対象物体判定部４０は、座標点（Ｒｘ，Ｒｙ，Ｒｚ）に対応する積算記憶部の存在する配列の回転角を、その認識対象物体の登録画像に対する回転角として出力する。
【００６５】
上述したように、本実施形態においては、ｘ軸上の１次元の軸座標に対応した積算記憶部の１次元配列と、ｙ軸上の１次元の軸座標に対応した積算値記憶部の１次元配列と、Ａ軸上の１次元の軸座標に対応した積算値記憶部の１次元配列とを、回転角の検出の分解能である１度に対応して３６０本ずつ、計１０８０本有している。すでに説明したように、各積算記憶部には１つの軸座標における投票が積算される。
ここで、特許文献１と同様の条件にてメモリー容量を見積もると、「１０２４×４×１０８０」の計算式となり、４Ｍバイトのメモリー容量となる。ここでは説明を簡単にするために、Ａ軸上の１次元配列の大きさも１０２４であるとした。このメモリー容量は、特許文献１の約８Ｍバイトに比較すると、約半分にメモリー容量が削減されたことになる。
上記計算式において、「１０２４」は、ｘ軸方向及びｙ軸方向のピクセル数（軸座標数に対応）であり、次の「４」が各積算値記憶部の容量であり、次の「１０８０」が１次元に配列された積算記憶部の配列数である。
また、第１の実施形態の効果に加え、ｘ軸及びｙ軸と異なるＡ軸を設けることにより、各軸の軸座標の組合せから求められるため、３軸全ての軸座標がピーク値を超える積算値を有していないと、基準点として検出されないため、２軸の際に発生するアーチファクトの座標を排除することができる。
【００６６】
また、図２における物体認識装置の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより物体認識の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６７】
また、「コンピューターシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００６８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６９】
１…登録画像データ生成部
２…特徴点データ記憶部
３…物体認識部
１１…登録画像取得部
１２，３２…特徴点抽出部
１３，３３…特徴点２値化部
１４…変位ベクトル抽出部
３１…入力画像取得部
３４…候補座標点演算部
３５…候補座標点投票部
３６…認識対象物体判定部
３７…詳細検出部
【図１】
2010282438.tif 000003
【図２】
2010282438.tif 000004
【図３】
2010282438.tif 000005
【図４】
2010282438.tif 000006
【図５】
2010282438.tif 000007
【図６】
2010282438.tif 000008
【図７】
2010282438.tif 000009
【図８】
2010282438.tif 000010
【図９】
2010282438.tif 000011
【図１０】
2010282438.tif 000012
【図１１】
2010282438.tif 000013
【図１２】
2010282438.tif 000014
【図１３】
2010282438.tif 000015
【図１４】
2010282438.tif 000016
【図１５】
2010282438.tif 000017
【図１６】
2010282438.tif 000018
【図１７】
2010282438.tif 000019
【図１８】
2010282438.tif 000020
【図１９】
2010282438.tif 000021
【図２０】
2010282438.tif 000022