説明

物体認識装置、物体認識方法及びプログラム

【課題】画像認識に必要な計算を、CPUの1次キャッシュあるいは2次キャッシュに格納できるデータ量にて行うことが可能な画像認識装置を提供する。
【解決手段】本発明の物体認識装置は、認識対象物体の第2特徴点各々に登録画像の第1特徴点を対応させ、第1及び第2の特徴点の法線ベクトルの角度差θによるCOS、SIN値を、第1特徴点毎に求める評価値算出部と、回転された変位ベクトルと第2特徴点から、候補座標点を求める候補座標点演算部と、候補座標点を座標軸に各々投影し、投影された軸座標点に対応し、COS値をCOS積算値として積算するCOS値積算部と、候補座標点を複数の座標軸に各々投影し、投影された軸座標点に対応し、SIN値をSIN積算値として積算するSIN値積算部と、各軸座標点の組合せで、各軸座標点のCOS及びSIN積算値の総合値を求める積算値加算部と、総合値が閾値を超えると、認識対象物体との登録画像と一致を判定する認識対象物体判定部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力される画像において、予め登録された参照物体の位置、姿勢(回転角)及びスケーリングファクターを検出する物体認識装置に関するものである。
【背景技術】
【0002】
撮像装置などから入力される入力画像から、予め登録された参照物体の位置(2次元座標系における位置座標(x,y))、回転角θ及びスケーリングファクターSなどを検出する検出方法として、相関法、フーリエ記述子法、モーメント法、ハフ変換法などがよく知られている。
上述したいずれの検出方法も、登録されている参照物体の登録画像の特徴点は予め抽出されて登録されている。
そして、入力画像内から抽出された認識対象物体の特徴点と、登録されている登録画像の特徴点とを用いて、入力画像内における登録画像に対応した物体の画像の位置、登録画像に対する姿勢、及びスケーリングファクターを求める。
【0003】
上述した特徴点を用いた検出方法において、ハフ変換法は投票と呼ばれる単純な多数決の原理に基づくものである。
そのため、入力画像内における認識対象物体同士の1部の接触、あるいは重なりなどによる部分的な遮蔽、また画像ノイズなどに対し、認識対象物体の認識処理において頑健な性能を有している。
このハフ変換法において、任意形状を有する認識対象物体の検出を高速に行う方法として一般化ハフ変換法がある(例えば、非特許文献1参照)。
【0004】
上記一般化ハフ変換法は、参照物体より抽出された特徴点(ピクセル単位)において、その特徴点における接線と、あるいは法線の角度と、またその特徴点及び物体の基準となる基準点の位置関係とを参照テーブルとして準備する。この基準点は、参照物体の2次元座標への配置位置を示す配置基準点である。
すなわち、モデルとなる登録画像の上記参照テーブルを生成する図9のフローチャートに示すように、登録画像の画像を入力し(ステップS1)、図10に示すように、参照物体の特徴点(P)を2次微分(ラプラシアン)法あるいはモラベック(Moravec)の方法等により抽出する(ステップS2)。つまり、周辺画素との値(画素値)の差が大きな点である輪郭線上の点や、表面状態が大きく変わる点などが特徴点となる。
【0005】
そして、登録画像における特徴点の2値化処理を予め設定した閾値を用いて行い、2値化データを出力する(ステップS3)。ここで行う2値化手法としては、あらかじめ設定してある閾値による単純2値化法をはじめとして、ある閾値でヒストグラムを2クラスに分割した場合のクラス間分散が最大になるときの閾値を2値化閾値とする大津法(「判別および最小2乗規準に基づく自動しきい値選定法」(大津)、電子通信学会論文誌、Vol.J63−D,No.4.pp.349−356,1980)、あるいは、階調を持つ画像に対して、局所的濃度に応じて閾値を設定する2値化法等が用いられる。
【0006】
次に、登録画像の各特徴点のデータを記憶する参照テーブルの記憶領域の初期化を行い(ステップS4)、参照物体の基準点を任意の位置、例えば参照物体の重心位置として求める(ステップS5)。
特徴点(始点)から上記基準点(終点)への変位ベクトルと、特徴点における単位法線ベクトル(正規化法線ベクトル)とからなる特徴点データを求める処理を、全ての2値化データに対して行ったか否かの判定を行い(ステップS6)、全ての2値化データにおける特徴点データの取得処理が終了すると処理を終了し、特徴点データを取得する処理を行っていない2値化データがある場合に処理をステップS7へ進める。
【0007】
未処理の2値化データを読み出し(ステップS7)、この2値化データが特徴点であるか否かの判定を上記閾値により行い(ステップS8)、特徴点でない場合に処理をステップS6へ進め、特徴点である場合に処理をステップS9へ進める。
そして、特徴点(図においては単に点とする)における接線あるいは単位法線ベクトルを求め、処理をステップS6へ進める(ステップS9)。
例えば、ステップS9において、点P1における法線ベクトルN1を求め、点P2における法線ベクトルを求め、他の点においても同様に法線ベクトルを求める。これらの法線ベクトルの長さが同一となるように単位法線ベクトルとして規格化し、図11に示すように、特徴点の番号に対応させて、この特徴点における単位法線ベクトルを構成するx成分NXn(1≦n≦Mの整数、Mは特徴点の数)及びy成分NYnと、この特徴点における変位ベクトルDnを構成するx成分DXn及びy成分DYnとの参照テーブルを生成する。
【0008】
上記参照テーブルを用いた非特許文献1による画像認識処理は、図12に示すフローチャートの動作により行われる。
撮像装置等から入力画像を入力し(ステップS11)、図13に示すように、入力画像内の認識対象物体の特徴点(Q)を参照画像と同様の方法にて抽出する(ステップS12)。この図13は、認識対象物体の特徴点に対し、登録画像の特徴点を重ね合わせ、その登録画像の特徴点における法線ベクトルの角度を合わせ、登録画像の変位ベクトルの指し示す基準点の位置の投票を行うことを示す概念図である。
そして、入力画像における特徴点の2値化処理を、参照画像の処理と同様に、予め設定した閾値を用いて行い、2値化データを出力する(ステップS13)。
【0009】
次に、基準点の候補に対して投票を行う投票空間(図14の投票空間の概念図にある回転角度毎の基準点の座標を示す2次元平面)の記憶領域の初期化を行う(ステップS14)。
上記基準点から特徴点への変位ベクトルと、特徴点における単位法線ベクトルとからなる特徴点データを求める処理を、全ての2値化データに対して行ったか否かの判定を行い(ステップS15)、全ての2値化データに対する特徴点データの取得処理が終了した場合に処理を終了し、特徴点データを取得する処理を行っていない2値化データがある場合に処理をステップS16へ進める。
【0010】
未処理の2値化データを読み出し(ステップS16)、この2値化データが特徴点であるか否かの判定を上記閾値により行い(ステップS17)、特徴点でない場合、つまり閾値よりも小さい場合に処理をステップS15へ進め、特徴点である場合、つまり閾値以上である場合に処理をステップS18へ進める。
そして、特徴点の単位法線ベクトルを求め、処理をステップ19へ進める(ステップS18)。
登録画像の全ての特徴点を用いて、認識対象物体の選択された特徴点に対応した基準点の投票処理を行ったか否かの判定を行い(ステップS19)、認識対象物体の選択された特徴点に対して、登録画像の全ての特徴点を用いた投票処理が終了した場合、処理をステップS15へ進め、一方、投票処理に用いられていない登録画像の特徴点が存在する場合、処理をステップS20へ進める。
【0011】
認識対象物体の特徴点に対し、登録画像の特徴点を重ね合わせ、認識対象物体の特徴点における単位法線ベクトルと、登録画像の特徴点における単位法線ベクトルとの角度差(回転角θ)を求める(ステップS20)。
【0012】
次に、登録画像の特徴点の変位ベクトルを、特徴点を中心として回転角θ分、以下の式により回転させる(ステップS21)。
認識対象物体の特徴点における単位法線ベクトルと、登録画像の特徴点における単位法線ベクトルとから、COS値とSIN値とを求める。たとえば、図10における点P1が図13における点Q2であると仮定した場合、以下の(1)式により求めることができる。
COS = Nx1×nx2 + Ny1×ny2
SIN = Nx1×ny2 − Ny1×nx2 …(1)
ここで、登録画像の単位法線ベクトルを(Nx1,Ny1)とし、認識対象物体の単位法線ベクトルを(nx2,ny2)とする。
ここで、変位ベクトルも同様に、特徴点に対して回転角θにより回転するため、回転させた変位ベクトルの成分dx及びdyは、以下の(2)式により求めることができる。
dx = COS×DX − SIN×DY
dy = SIN×DX + COS×DY …(2)
ここで、登録画像の変位ベクトルを(DX,DY)としている。
【0013】
入力画像の認識対象物体の特徴点の位置対して、上記回転させた変位ベクトルを、以下の式のように加えて、基準点の候補位置を求める(ステップS22)。
上述した式により、点Q2の座標を(Qx,Qy)とすると、認識対象物体の基準点の候補は以下の(3)式により求められる。
Rx = Qx + dx
Ry = Qy + dy …(3)
【0014】
そして、回転角θに対応する2次元平面の座標に対し、上記基準点の候補の位置(Rx,Ry)に「1」を加算、すなわち投票を行う(ステップS23)。
上述したように、非特許文献1の方法においては、各特徴点における登録画像と認識対象物体とのそれぞれの法線の角度を合わせて(この際の回転角が姿勢となる)変位ベクトルの示す基準点の位置の投票を行う。
この結果、重ね合わせた特徴点が登録画像と認識対象物体とで対応している場合、法線ベクトルの角度を合わせると、登録画像の変位ベクトルが同一の点の方向を向き、その指し示す先の基準点が重なり合うため、投票数がピークとなる位置を、認識対象物体の基準点の位置として検出するとともに、その際の回転角を登録画像に対する姿勢として得ることができる。この処理により、登録画像と入力画像における認識対象物体との認識処理を非常に効率良く行う。
【0015】
しかしながら、この投票空間の次元を考えると、スケーリングファクターSを考慮しない場合であっても、図14に示すように、データ構成が縦位置(縦座標)、横位置(横座標)、回転角の3次元となる。また、スケーリングファクターによるサイズ変化も、物体検出において考慮すると1次元が加わり、4次元となる。
このため、実際の物体認識に対して応用する場合、3次元及び4次元の投票空間を構成するために非常に多くのメモリーを必要とすることになる。以降の説明においては、スケーリングファクターの次元を除いた3次元の投票空間に対して評価を行う。
【0016】
この3次元の投票空間の場合、上記非特許文献1の方法においては、「NX×NY×NA×NV」のビット数が必要となる。ここで、入力画像における認識対象物体の2次元座標における位置、及び登録画像に対する回転角の検出結果を示す際、2次元座標のx軸(横軸)の検出位置の分割数(分解能に対応)である座標点数NX、y軸(縦軸)の検出位置の分割数である座標点数NY、回転角度の検出角度の分割数である角度分割NA、それぞれの投票数を蓄積するメモリーのビット数NV(通常は2バイトあるいは4バイト)である。
すなわち、非特許文献1においては、認識対象物体の候補の位置及び角度ごとに、ぞれぞれの投票に対応させているため、多くのメモリー容量が必要となる。
この多くのメモリー容量を削減するため、物体検出候補の位置ごとに物体検出候補の回転角度θに対応するCOS値及びSIN値を単に積算する方法がある(たとえば、特許文献1参照)。
【0017】
特許文献1を用いた画像認識処理は、図15に示すフローチャートの動作により行われる。
撮像装置等から入力画像を入力し(ステップS31)、図13に示すように、入力画像内の認識対象物体の特徴点を参照画像と同様の方法にて抽出する(ステップS32)。
そして、入力画像における特徴点の2値化処理を、参照画像の処理と同様に、予め設定した閾値を用いて行い、2値化データを出力する(ステップS33)。
【0018】
次に、基準点の候補に対して投票を行う投票空間(後述するCOS値及びSIN値を積算するそれぞれの2次元平面)の記憶領域の初期化を行う(ステップS34)。
各特徴点におけるCOS値及びSIN値それぞれを、上記基準点の候補の位置に対して積算する処理を、全ての2値化データに対して行ったか否かの判定を行い(ステップS35)、全ての2値化データに対する上記COS値及びSIN値の積算処理が終了した場合に処理を終了し、上記COS値及びSIN値の積算処理を行っていない2値化データがある場合に処理をステップS36へ進める。
【0019】
未処理の2値化データを読み出し(ステップS36)、この2値化データが特徴点であるか否かの判定を上記閾値により行い(ステップS37)、特徴点でない場合に処理をステップS35へ進め、特徴点である場合に処理をステップS38へ進める。
そして、特徴点の単位法線ベクトルを求め、処理をステップ39へ進める(ステップS18)。
登録画像の全ての特徴点を用いて、認識対象物体の選択された特徴点に対応した基準点にCOS値及びSIN値の積算処理を行ったか否かの判定を行い(ステップS39)、認識対象物体の選択された特徴点に対して、登録画像の全ての特徴点を用いた積算処理が終了した場合、処理をステップS35へ進め、一方、積算処理に用いられていない登録画像の特徴点が存在する場合、処理をステップS40へ進める。
【0020】
入力画像における認識対象物体の特徴点の単位法線ベクトル(nx,ny)と、登録画像の特徴点の単位法線ベクトル(Nx,Ny)とから、以下の(4)式により、各特徴点におけるCOS値及びSIN値を求める(ステップS40)。
COS = Nx×nx + Ny×ny
SIN = Nx×ny − Ny×nx …(4)
【0021】
(4)式により求めたCOS値及びSIN値と、重ね合わせた登録画像の特徴点の変位ベクトル(DX,DY)とから、回転角θにより回転させた変位ベクトル(dx,dy)を、下記(5)式により求める。
dx = COS×DX − SIN×DY
dy = SIN×DX + COS×DY …(5)
【0022】
そして、入力画像における認識対象物体の特徴点(Qx,Qy)と、回転させた変位ベクトル(dx,dy)とから、以下の(6)式により、基準点位置の候補の位置を求める。
Rx = Qx + dx
Ry = Qy + dy …(6)
この得られた基準点位置の候補の位置(Rx,Ry)に対して、COS(θ)とSIN(θ)とを、図16に示すように、それぞれCOS(θ)の投票空間と、SIN(θ)の投票空間に積算する。
この結果、投票空間としてのメモリー容量は、「NX×NY×2×(積算のためのビット数)」で得られることになる。積算するビット数については双方ともに2から4ビットであるため、角度分割数NAを360とし1度の分解能を有すると考えると、特許文献1の方法は非特許文献1に比較して、1/180のメモリー容量にて実現することができる。ここで、2はCOS値、SIN値それぞれの積算を行う2つの2次元座標を示している。
【0023】
この投票処理により、認識対象物体の基準点の候補の点が登録画像に対して回転角θを有する真の基準点である場合、その候補の点に対して登録画像の各特徴点の全てからの回転角θの投票が大部分を占めることが考えらる。このため、真の基準点である点におけるCOS値とSIN値とのそれぞれの積算値は、その認識対象物体の回転角θの投票が大部分を占めることにより、その回転角θに対応するCOS値、SIN値の整数倍、投票数倍に近づくことになる。その結果、COS積算値、SIN積算値のいずれかまたは両方においてピークを得ることができる。
したがって、COS積算値、SIN積算値のピーク位置が入力画像における認識対象物体の基準点であり、その基準点に積算されたCOS値の積算値とSIN値の積算値との比、すなわちtan−1(SIN値の積算値/COS値の積算値)により回転角θを求めることができる。
【0024】
一方、基準点の候補の点が真の基準点でない場合、認識対象物体の特徴点における投票が誤投票であったり、あるいはノイズに起因するものとなり、投票される回転角θは一様乱数的な分布を有すると仮定される。
この結果、この真の基準点でない点でのCOS値及びSIN値の積算は、それぞれCOS関数、SIN関数を0度から360度までを一様な重みで単純に積分した値の整数倍となることが期待され、積算値は0に近づくことになる。
【先行技術文献】
【特許文献】
【0025】
【特許文献1】特開2007−128374号公報
【非特許文献】
【0026】
【非特許文献1】D.H.Ballard,”Generalizing The Hough Transform To Detect Arbitrary Shapes”,Pattern Recongition,Vol.13,no.2,pp.111-122,1981
【発明の概要】
【発明が解決しようとする課題】
【0027】
しかしながら、特許文献1に示す物体認識方法にあっては、非特許文献1に対し、計算過程において用いるメモリー容量を2桁以上削減しているが、高速に演算を行う際において、メモリー容量が依然として多い欠点を有している。
CPU(中央演算装置)の演算速度は非常に高速となり、処理能力が向上したことにより、データを記憶する主記憶装置のメモリー素子との速度差が大きくなっている。
この主記憶装置のメモリーに対するアクセス時間を短縮するため、最近のCPUは1次キャッシュ、あるいは2次キャッシュなどの高速メモリーを内蔵している。
CPUの計算が効率に行われるのは、使用するデータ及び命令において、上記キャッシュに記憶されたデータ及び命令が有効である場合(キャッシュヒットした場合)である。
一方、キャッシュヒットしない場合、つまりキャッシュに記憶されたデータ及び命令が有効でない場合、それらはキャッシュに対して相対的に低速である主記憶装置のメモリーから読み込む必要があり、CPUは本来の性能に対して劣った動作速度となってしまう。
【0028】
このキャッシュメモリーの容量は、1次キャッシュで数十kバイト、2次キャッシュで数百kバイト、3次キャッシュで数Mバイトである。
非特許文献1において、2次元座標の座標点を1024×1024とし、回転角θの分解能を1度とし、投票に必要なバイト数を4とした場合、「1024×1024×360×4」となり、約1.5Gバイトのメモリー容量が必要となる。
また、特許文献1において、2次元の座標点を1024×1024とし、COS値及びSIN値各々として2、積算するバイト数を4バイトとした場合、「1024×1024×2×4」となり、約8Mバイト程度となる。
この後者のメモリー容量は、1次キャッシュ、2次キャッシュに格納することは不可能であり、3次キャッシュに格納できるか否かの容量である。また、画像サイズを大きくすると座標点を増加させる必要があり、3次キャッシュに格納することも不可能となってしまう。
【0029】
本発明は、このような事情に鑑みてなされたもので、その目的は、画像認識に必要な計算を、CPUの1次キャッシュあるいは2次キャッシュに格納できるデータ量にて行うことが可能な画像認識装置を提供することにある。
【課題を解決するための手段】
【0030】
この発明は上述した課題を解決するためになされたもので、本発明の物体認識装置は、登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データが記憶される特徴点データ記憶部と、入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する特徴点抽出部と、第2の特徴点における第2の法線ベクトルを求める法線ベクトル演算部と、第2の特徴点に対して第1の特徴点を重ね、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を求める評価値算出部と、前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める候補座標点演算部と、当該候補座標点を複数の第1の座標軸に各々投影し、投影された軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算するCOS値積算部と、当該候補座標点を複数の第2の座標軸に各々投影し、投影された軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算するSIN値積算部と、前記第1の座標軸及び前記第2の座標軸における前記候補座標点に対応する軸座標点のCOS積算値及びSIN積算値を加算して総合値を求める積算値加算部と、
前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する認識対象物体判定部とを有することを特徴とする。
本発明の物体認識方法は、登録画像データ生成部が、登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データを、特徴点データ記憶部に記憶する過程と、特徴点抽出部が入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する過程と、法線ベクトル演算部が第2の特徴点における第2の法線ベクトルを求める過程と、評価値算出部が、前記第2の特徴点各々に対して登録画像の第1の特徴点の全てを対応させ、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を、第1の特徴点毎に求める過程と、候補座標点演算部が、前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める過程と、COS値積算部が、当該候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算する過程と、SIN値積算部が、当該候補座標点を複数の前記座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算する過程と、積算値加算部が、前記座標軸各々における各軸座標点の組合せにおいて、各軸座標点におけるCOS積算値及びSIN積算値を加算して総合値を求める過程と、認識対象物体判定部が、前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する過程とを有することを特徴とする。
本発明のプログラムは、登録画像データ生成部が、登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データを、特徴点データ記憶部に記憶する処理と、特徴点抽出部が入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する処理と、法線ベクトル演算部が第2の特徴点における第2の法線ベクトルを求める処理と、評価値算出部が、前記第2の特徴点各々に対して登録画像の第1の特徴点の全てを対応させ、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を、第1の特徴点毎に求める処理と、候補座標点演算部が、前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める処理と、COS値積算部が、当該候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算する処理と、SIN値積算部が、当該候補座標点を複数の前記座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算する処理と、積算値加算部が、前記座標軸各々における各軸座標点の組合せにおいて、各軸座標点におけるCOS積算値及びSIN積算値を加算して総合値を求める処理と、認識対象物体判定部が、前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する処理とを有する物体認識装置としてコンピューターを機能させるためのプログラムである。
この発明によれば、認識対象物体の入力画像における配置の基準点の候補である候補座標点毎にCOS(θ)及びSIN(θ)の投票空間に投票するのではなく、候補座標点を座標軸上に投影し、投影された軸座標点毎にCOS(θ)及びSIN(θ)を積算し、積算結果を軸座標点各々に対応する候補座標点において加算するため、積算値を記憶する記憶部を2次元配列から、1次元配列とすることで、従来に比較してメモリー容量を削減することができ、この結果、キャッシュメモリーを有効に用いることが可能となり、認識処理を高速化することができる。
【0031】
本発明の物体認識装置は、前記座標軸が2次元平面におけるx軸及びy軸であることを特徴とする。
これにより、軸座標点に対応するCOS(θ)及びSIN(θ)各々の積算値を記憶する記憶部の1次元配列が、x軸方向に2本及びy軸方向に2本の計4本で済むため、2次元座標の各座標点毎に記憶部が必要な従来例に比較すると、メモリー容量を削減することができる。
【0032】
本発明の物体認識装置は、前記座標軸が2次元平面におけるx軸及びy軸と、x軸の座標点及びy軸の座標点で表される直線からなる直線軸との3軸であることを特徴とする。
これにより、軸座標点に対応するCOS(θ)及びSIN(θ)各々の積算値を記憶する記憶部の1次元配列が、x軸方向に2本、y軸方向に2本、直線軸方向に2本の計6本で済むため、2次元座標の各座標点毎に記憶部が必要な従来例に比較すると、メモリー容量を削減することができる。
また、複数の基準点が存在する場合、アーチファクトが発生する可能性があるが、2次元の座標点を投影する軸を3本とすることにより、2本の場合に比較して位置識別能力を向上させることができ、上記アーチファクトを排除することができ、物体認識の処理効率を向上させることができる。
【0033】
本発明の物体認識装置は、前記積算値加算部が、各座標軸の軸座標点におけるCOS積算値及びSIN積算値を2乗して加算し、前記総合値を求めることを特徴とする。
複数の軸の軸座標に対応した積算値を加算するため、ピーク値検出の際のS/N比を向上させて、基準点検出の精度を向上させることができる。
【0034】
本発明の物体認識装置は、前記積算値加算部が、各座標軸の軸座標点におけるCOS積算値の加算値を2乗した数値と、SIN積算値の加算値を2乗した数値とを加算し、前記総合値を求めることを特徴とする。
複数の軸の軸座標に対応した積算値を加算するため、ピーク値検出の際のS/N比を向上させて、基準点検出の精度を向上させることができる。
また、ノイズが存在する場合に積算値を平均化するため、上述したCOS積算値及びSIN積算値を2乗して加算する場合に比較して、よりS/N比を向上させることが可能となる。
【図面の簡単な説明】
【0035】
【図1】この発明の第1実施形態及び第2の実施形態による物体認識装置の構成例を示すブロック図である。
【図2】入力画像と、この入力画像のx軸とy軸とに設けられた積算記憶部列との対応を示し、第1の実施形態の動作を説明する概念図である。
【図3】x軸のx軸COS値積算記憶部、x軸SIN値積算記憶部、y軸のy軸COS値積算記憶部、y軸SIN値積算記憶部の配列構成を示す概念図である。
【図4】第1の実施形態による物体認識装置の物体認識の動作例を示すフローチャートである。
【図5】第1の実施形態による物体認識の動作を説明する概念図である。
【図6】第1の実施形態による物体認識の動作を説明する概念図である。
【図7】第2の実施形態による物体認識の動作を説明する概念図である。
【図8】x軸のx軸COS値積算記憶部、x軸SIN値積算記憶部、y軸のy軸COS値積算記憶部、y軸SIN値積算記憶部、A軸のA軸COS値積算記憶部、A軸SIN値積算記憶部の配列構成を示す概念図である。
【図9】登録画像の第1の特徴点の抽出と、この第1の特徴点における特徴点データの抽出の動作を説明するフローチャートである。
【図10】特徴点データの抽出を説明する概念図である。
【図11】特徴点データが記憶されるテーブル構成を示す概念図である。
【図12】非特許文献1の一般化ハフ変換を用いた画像認識処理の動作を示すフローチャートである。
【図13】図12における基準点の投票処理を説明する概念図である。
【図14】非特許文献1の一般化ハフ変換における画像認識の際に必要となるメモリー容量を説明する概念図である。
【図15】特許文献1における画像認識処理の動作を説明するフローチャートである。
【図16】特許文献1におけるCOS値及びSIN値の積算処理を説明する概念図である。
【発明を実施するための形態】
【0036】
<第1の実施形態>
以下、図面を参照して、本発明の第1の実施形態について説明する。図1は、この発明の第1の実施形態による物体認識装置の構成例を示す概略ブロック図である。
この図において、本実施形態による物体認識装置は、登録画像データ生成部1、特徴点データ記憶部2及び物体認識部3とを有している。
登録画像データ生成部1は、登録画像より抽出した特徴点を第1の特徴点の配列として抽出し、登録画像の基準点を設定し、第1特徴点から基準点への変位ベクトルを求め、第1特徴点における第1の単位法線ベクトルを求めて、第1の特徴点の座標、変位ベクトル及び第1の単位法線ベクトルを第1の特徴点データとして、各登録画像の第1の特徴点の識別情報である特徴点番号に対応させ、第1の特徴点毎に特徴点データ記憶部2へ書き込んで記憶させる。上記基準点は、登録画像及び参照物体の2次元座標への配置位置を示す配置基準点である。また、上記基準点は、登録画像が配置された2次元座標上の任意の点で良く、例えば、登録画像の重心を基準点としても良い。
特徴点データ記憶部2は、図11に示すテーブル構成により、第1の特徴点の特徴点番号に対応して各登録画像の第1の特徴点データが記憶されている。
物体認識部3は、入力画像における認識対象物体より抽出した特徴点を第2の特徴点の配列として求め、第1特徴点における第1の単位法線ベクトルを求め、特徴点データ記憶部2から登録画像の第1の特徴点データを順次読み出し、この第2の特徴点に順次第1の特徴点を対応させて、認識対象物体と登録画像との類似を判定していく。
【0037】
上記登録画像データ生成部1は、登録画像取得部11、特徴点抽出部12、特徴点2値化部13及び法線ベクトル抽出部14を有している。この登録画像データ生成部1の動作は、特許文献1にて説明した図9のフローチャートの動作と同様である。
登録画像取得部11は、撮像装置あるいはCADから、後に認識対象物体を認識するために用いる登録画像の画像データを入力する。
特徴点抽出部12は、上記登録画像の第1の特徴点(ピクセル単位)を、非特許文献1における特徴抽出にて説明した2次微分(ラプラシアン)法あるいはモラベックの方法などを用いて抽出する。
【0038】
特徴点2値化部13は、登録画像の第1の特徴点のピクセルと、第1の特徴点以外のピクセルとの階調度による2値化を行う。例えば、特徴点2値化部13は、予め設定した階調度の閾値により、第1の特徴点のピクセルの階調度を「1」、第1の特徴点以外のピクセルの階調度を「0」とする。ここで、予め設定した閾値は、一般化ハフ変換法にて説明した2値化処理を行う閾値を用いる。
【0039】
法線ベクトル抽出部14は、得られた個々の第1の特徴点に対応する、元の登録画像のピクセルの階調度において、縦方向及び横方向の微分処理を行い、階調度変化に基づく横方向のx軸成分及び縦方向のy軸成分をベクトルとする法線ベクトルを求める。この微分処理は、プレウィット(Prewitt)フィルタあるいはソーベル(Sobel)フィルタなどの1次微分フィルタにより行う。注目した特徴点のピクセルを中心とした上下左右の9つのピクセルの階調度に対して、フィルタ係数を乗算して結果を合計し、x軸成分あるいはy軸成分を求める。
また、法線ベクトル抽出部14は、得られたx軸成分及びy軸成分からなる法線ベクトルの長さが1となるように正規化し、第1の単位法線ベクトルとして出力する。
また、法線ベクトル抽出部14は、各第1の特徴点から基準点への変位ベクトルを抽出し、第1の特徴点の座標、変位ベクトル及び第1の単位法線ベクトルを第1の特徴点データとして、特徴点データ記憶部2へ書き込んで記憶させる。
【0040】
次に、物体認識部3は、入力画像取得部31、特徴点抽出部32、特徴点2値化部33、法線ベクトル抽出部34、評価値算出部35、候補座標点演算部36、COS値積算部37、SIN値積算部38、積算値加算部39、認識対象物体判定部40を有している。
入力画像取得部31は、カメラなどの撮像装置から、認識対象物体を含んだ入力画像の画像データを入力する。
特徴点抽出部32は、上記入力画像における認識対象物体の第2の特徴点(ピクセル単位)の座標点を、上記特徴点抽出部12と同様の手法を用いて抽出する。
【0041】
特徴点2値化部33は、認識対象物体の第2の特徴点のピクセルと、第2の特徴点以外のピクセルとの階調度による2値化を行う。例えば、特徴点2値化部33は、予め設定した階調度の閾値により、第2の特徴点のピクセルの階調度を「1」、第2の特徴点以外のピクセルの階調度を「0」とする。ここで、予め設定した閾値は、特徴点2値化部13と同様の数値を用いる。
法線ベクトル抽出部34は、法線ベクトル抽出部14と同様の手法を用いて、得られた個々の第2の特徴点に対応する、横方向のx軸成分及び縦方向のy軸成分をベクトルとする法線ベクトルを求める。
【0042】
評価値算出部35は、第1の特徴点に第2の特徴点とを対応させ、第1の特徴点の第1の単位法線ベクトル(nx,ny)と第2の特徴点の第2の単位法線ベクトル(Nx,Ny)との角度差(回転角)θに基づく、COS(θ)とSIN(θ)とを、評価値としてすでに説明した(4)式により求める。
候補座標点演算部36は、第2の法線ベクトルに対して、第1の法線ベクトルの方向が同様となるように、(5)式を用いて第1の法線ベクトルを第1の座標点を中心に回転させる。
そして、候補座標点演算部36は、回転させた変位ベクトルと、第2の特徴点の座標(Px,Py)とから、(6)式を用いて認識対象物体の基準点の候補位置(Rx,Ry)を求める。
【0043】
COS値積算部37は、図2に示すように、入力画像のx軸方向のピクセル数(画像幅)に対応した数のx軸COS値積算記憶部(ΣCOS(θ))と、入力画像のy軸方向のピクセル数(画像幅)に対応した数のy軸COS値積算記憶部(ΣCOS(θ))を有している。すなわち、各ピクセルに対応した軸座標毎に、x軸COS値積算記憶部、y軸COS値積算記憶部を有している。図2は、候補位置(Rx,Ry)と、この候補位置(Rx,Ry)が投影された軸座標との対応を示す概念図である。
また、COS値積算部37は、図3に示すように、COS(θ)値が演算された基準点の候補位置(Rx,Ry)をx軸に投影し、この投影された軸座標点(Rx)に対応するx軸COS値積算記憶部に、上記COS(θ)を積算する(ΣCOS(θ))。また、COS値積算部37は、COS(θ)値が演算された基準点の候補位置(Rx,Ry)をy軸に投影し、この投影された軸座標点(Ry)に対応するy軸COS値積算記憶部に、上記COS(θ)を積算する(ΣCOS(θ))。すなわち、図3に示すように、x軸に対応して2本、y軸に対して2本の、計4本の1次元の積算値記憶部の配列が設けられている。
【0044】
SIN値積算部38は、図2に示すように、入力画像のx軸方向のピクセル数(画像幅)に対応した数のx軸SIN値積算記憶部(ΣSIN(θ))と、入力画像のy軸方向のピクセル数(画像幅)に対応した数のy軸SIN値積算記憶部(ΣSIN(θ))を有している。すなわち、各ピクセルに対応した軸座標毎に、x軸SIN値積算記憶部、y軸SIN値積算記憶部を有している。図2は、候補位置(Rx,Ry)と、この候補位置(Rx,Ry)が投影された軸座標との対応を示す概念図である。
また、SIN値積算部38は、図3に示すように、SIN(θ)値が演算された基準点の候補位置(Rx,Ry)をx軸に投影し、この投影された軸座標点(Rx)に対応するx軸SIN値積算記憶部に、上記SIN(θ)を積算する(ΣSIN(θ))。また、SIN値積算部38は、SIN(θ)値が演算された基準点の候補位置(Rx,Ry)をy軸に投影し、この投影された軸座標点(Ry)に対応するy軸SIN値積算記憶部に、上記SIN(θ)を積算する(ΣSIN(θ))。
【0045】
積算値加算部39は、x軸における同一の軸座標におけるx軸COS値積算記憶部に記憶されたCOS積算値(ΣCOS(θ))の二乗と、x軸SIN値積算記憶部に記憶されたSIN積算値(ΣSIN(θ))の二乗とを加算し、x軸の各軸座標毎のx軸総合値を算出する。
また、積算値加算部39は、y軸における同一の軸座標におけるy軸COS値積算記憶部に記憶されたCOS積算値(ΣCOS(θ))の二乗と、y軸SIN値積算記憶部に記憶されたSIN積算値(ΣSIN(θ))の二乗とを加算し、y軸の各軸座標毎のy軸総合値を算出する。
また、積算値加算部39は、x軸総合値とy軸総合値とを各軸座標毎にそれぞれ加算し、2次元座標の各座標における総合値を算出する。
すなわち、軸座標Rxのx軸総合値と、軸座標Ryのy軸総合値とを加算し、2次元座標の(Rx,Ry)の総合値の算出処理を、x軸のピクセルに対応した軸座標と、y軸のピクセルに対応した軸座標の組合せ(2次元平面に対する逆投影の処理)の全てに行い、入力画像における全てのピクセルの2次元座標の座標点各々における総合値を算出する。
ここで得られる総合値は、以下の式により求められる。
総合値=(x軸の(ΣCOS(θ)))+(x軸の(ΣSIN(θ))
+(y軸の(ΣCOS(θ)))+(y軸の(ΣSIN(θ))
【0046】
認識対象物体判定部40は、上記総合値が予め設定したピーク値を超える座標点を、登録画像が配置された基準点として抽出し、登録画像に一致する認識対象物体の配置された基準点として出力する。
また、認識対象物体判定部40は、基準点に積算されたCOS(θ)の積算値とSIN(θ)の積算値との比、すなわちtan−1(ΣSIN(θ)/ΣCOS(θ))により回転角θを求めることができる。ここで用いるΣSIN(θ)及びΣCOS(θ)は、例えば、基準点がx軸に投影された位置の軸座標に対応するx軸COS値積算記憶部及びx軸SIN値積算記憶部各々に記憶されているCOS積算値及びSIN積算値である。
このピーク値は、実際に実験により測定し、認識対象物体が登録画像と一致したとき、基準点の総合値の値を統計的に取る値から設定する。
また、物体認識部3に接続されている認識詳細検出部41は、認識対象物体の位置を詳細に知る必要がある場合、上記認識対象物体判定部40が抽出した基準点及び回転角θを、より認識対象物体の配置された位置を詳細に抽出する処理を行う。そのため、詳細な認識対象物体の配置位置の抽出の必要がなければ、詳細検出部41を設ける必要はない。
【0047】
また、上述した積算値加算部39は以下のように構成してもよい。
積算値加算部39は、x軸における各軸座標(Rx)のx軸COS値積算記憶部のCOS積算値と、y軸における各軸座標(Ry)のy軸COS値積算記憶部のCOS積算値とを加算し、2次元座標(Rx,Ry)におけるCOS総合値を、x軸の軸座標とy軸の軸座標との全ての組合せに対して、2次元平面に対する逆投影を行い求める。
同様に、積算値加算部39は、x軸における各軸座標(Rx)のx軸SIN値積算記憶部のSIN積算値と、y軸における各軸座標(Ry)のy軸SIN値積算記憶部のSIN積算値とを加算し、2次元座標(Rx,Ry)におけるSIN総合値を、x軸の軸座標とy軸の軸座標との全ての組合せに対して、2次元平面に対する逆投影を行い求める。
また、積算値加算部39は、COS総合値の2乗した値とSIN総合値の2乗した値とを対応する2次元座標(Rx,Ry)にて加算し、2次元座標の各座標における総合値を算出する。
ここで得られる総合値は、以下の式により求められる。
総合値=((x軸の(ΣCOS(θ)))+(y軸の(ΣCOS(θ))))
+((x軸の(ΣSIN(θ)))+(y軸の(ΣSIN(θ))))
【0048】
次に、本実施形態における認識対象物体と登録画像との認識処理を図4を用いて説明する。図4は、上記認識処理の動作例を説明するフローチャートである。
入力画像取得部31は、図示しない撮像装置から入力画像を入力し、例えばピクセルで表現された画像データとして特徴点抽出部32及び法線ベクトル抽出部34へ出力する(ステップS51)。
入力画像が入力されると、特徴点抽出部12は、入力画像における認識対象物体の第2の特徴点を抽出し、抽出した入力画像(第2の特徴点とされた画像)を特徴点2値化部33へ出力する(ステップS52)。
次に、特徴点2値化部33は、入力される入力画像の各ピクセルに対し、第2の特徴点のピクセルと、それ以外のピクセルとに分離する階調度の2値化を行い、内部の記憶部に記憶する(ステップS53)。
【0049】
そして、COS値積算部37は、x軸COS値積算記憶部とy軸COS値積算記憶部とを初期化、すなわち積算値を「0」とする。
同様に、SIN値積算部38は、x軸SIN値積算記憶部とy軸SIN値積算記憶部とを初期化、すなわち積算値を「0」とする(ステップS54)。
次に、評価値算出部35は、入力画像の全てのピクセルの2値化データに対して、特徴点における評価値としてのCOS値及びSIN値の算出を行ったか否かの判定を行い(ステップS55)、全てのピクセルの2値化データに対し、特徴点における評価値の算出を行った場合に認識処理を終了し、一方、特徴点における評価値の算出を行なっていないピクセルが存在する場合、処理をステップS56へ出力する。
ここで、特徴点における評価値の算出を行っていないピクセルの検出は、たとえば、y軸の軸座標を固定してx軸の軸座標に対応したピクセルを順番に処理し、固定したy軸の軸座標に対応するx軸の軸座標における処理が終了すると、y軸の軸座標を変化させて、x軸の軸座標に対応したピクセルを順番に処理するようにする。これにより、x軸及びy軸におけるピクセルの数により、上述したx軸の軸座標とy軸の軸座標との組合せのループを組むことにより、終了時点を検出することができる。
【0050】
次に、評価値算出部35は、特徴点2値化部33から未処理のピクセルの2値化データを読みだし(ステップS56)、読みだした2値化データが予め設定した閾値を超え、このピクセルが第2の特徴点であるか否かの判定を行う(ステップS57)。
このとき、評価値算出部35は、読みだしたピクセルが第2の特徴点である場合、処理をステップS58へ進め、このピクセルが第2の特徴点でない場合、処理をステップS55へ進める。
ピクセルが第2の特徴点である場合、法線ベクトル抽出部34は、この第2の特徴点における第2の単位法線ベクトルを求め、処理をステップS59へ進める(ステップS58)。
そして、評価値算出部35は、上記第2の特徴点の第1の単位法線ベクトルと、登録画像の第2の法線ベクトルとからの評価値の算出を、登録画像の全ての第2の特徴点との間で行ったか否かの判定を行う(ステップS59)。このとき、評価値算出部35は、評価値の算出が登録画像の全ての第2の特徴点との間で行われている場合、処理をステップS55へ進め、評価値の算出が登録画像の全ての第2の特徴点との間で行われていない場合、処理をステップS60へ進める。
【0051】
次に、評価値算出部35は、評価値の算出に用いていない第1の特徴点の第1の単位法線ベクトルを特徴点データから読みだし、第2の特徴点の第2の単位法線ベクトル(nx,ny)と、第1の特徴点の第1の単位法線ベクトルとから、(4)式を用いてCOS(θ)及びSIN(θ)の評価値を算出する(ステップS60)。
そして、候補座標点演算部36は、(5)式を用いて、変位ベクトル(Dx,Dy)を回転角θにて回転させ、回転後の変位ベクトル(dx,dy)を算出する(ステップS61)。
また、候補座標点演算部36は、上記回転後の変位ベクトル(dx,dy)と、第1の特徴点の座標(Px,Py)とから、(6)式により基準点候補の座標(Rx,Ry)を算出する(ステップS62)。
【0052】
次に、COS値積算部37は、上記座標(Rx,Ry)をx軸に投影し、x軸の軸座標点(Rx)に対応するx軸COS値積算記憶部に上記COS(θ)を積算するとともに、上記座標(Rx,Ry)をy軸に投影し、y軸の軸座標点(Ry)に対応するy軸COS値積算記憶部に上記COS(θ)を積算する。
同様に、SIN値積算部38は、上記座標(Rx,Ry)をx軸に投影し、x軸の軸座標点(Rx)に対応するx軸SIN値積算記憶部に上記SIN(θ)を積算するとともに、上記座標(Rx,Ry)をy軸に投影し、y軸の軸座標点(Ry)に対応するy軸SIN値積算記憶部に上記SIN(θ)を積算する(ステップS63)。
【0053】
上述した処理により、x軸の軸座標に対応したx軸COS値積算記憶部、y軸の軸座標に対応したy軸COS値積算記憶部、x軸の軸座標に対応したx軸SIN値積算記憶部及びy軸の軸座標に対応したy軸SIN値積算記憶部に対し、認識対象物体の第2の特徴点各々の第2の単位法線ベクトルと、登録画像の全ての第1の単位法線ベクトルとの評価値が積算される。
そして、積算値加算部39は、x軸の各軸座標毎のx軸総合値を算出するとともに、y軸の各軸座標毎のy軸総合値を算出し、x軸総合値とy軸総合値とを各軸座標毎にそれぞれ加算し、2次元座標の各座標における総合値を算出する。
認識対象物体判定部40は、上記総合値が予め設定したピーク値を超える座標点を、登録画像が配置された基準点として抽出し、登録画像に一致する認識対象物体の配置された基準点として、COS積算値及びSIN積算値より得られる回転角θとともに出力する。
【0054】
上述したように、本実施形態においては、x軸上の1次元の軸座標に対応したx軸COS値積算記憶部及びx軸COS値積算記憶部と、y軸上の1次元の軸座標に対応したy軸COS値積算記憶部及びy軸COS値積算記憶部とに対し、回転角θを含めた評価値を記憶するものである。すでに説明したように、各積算値記憶部には1つの軸座標における評価値が積算される。
ここで、特許文献1と同様の条件にてメモリー容量を見積もると、「1024×4×4」の計算式となり、16kバイトのメモリー容量となる。このメモリー容量は、特許文献1の約8Mバイトに比較すると、2桁分のメモリー容量が削減されたことになる。これにより、CPUの1次キャッシュに収容可能な大きさとなり、キャッシュミスの発生により処理速度の低下を起こすことなく、CPUに演算処理を行わせることが可能となる。
上記計算式において、「1024」は、x軸方向及びy軸方向のピクセル数(軸座標数に対応)であり、次の「4」が各積算値記憶部の容量であり、次の「4」が1次元に配列された積算値記憶部の数である。
【0055】
<第2の実施形態>
次に、本発明の第2の実施形態による物体認識装置を説明する。第2の実施形態による物体識別装置は、第1の実施形態と同様の構成である。以下、異なる処理の点のみを説明する。
初めに、第1の実施形態において、複数(以下、2点として説明)の基準点が存在する場合における誤検出について説明する。第1の実施形態においては、総合値において1のピークのみ、すなわち基準点が存在する場合、あるいは図5に示すように、2点の基準点がいずれかの軸(x軸あるいはy軸)に平行に存在する場合には、基準点と各軸座標とが一対一対応となるため、特に誤検出は起こらない。
【0056】
しかしながら、図6に示すように、基準点がいずれの軸にも平行に配列していない場合、総合値がピーク値を超える値となる積算値として、x軸に2つの積算値記憶部に記憶された積算値と、y軸に2つの積算値記憶部に記憶された積算値とが存在する。これらx軸の2つの軸座標と、y軸の2つの軸座標との組合せとして、2次元平面に対する逆投影を行い基準点の座標を求めると、実際に基準点が存在する黒丸で示す座標と、アーチファクトと呼ばれる偽基準点の白丸で示す座標とが混在することになる。この場合、詳細検出部41によりアーチファクトを削除することができるが、アーチファクトの検出及び削除処理に演算処理が必要となるため、検出時間が長くなる。
【0057】
そこで、第2の実施形態においては、図7で示すように、x軸方向及びy軸方向に対する1次元の積算記憶部の配列に加え、x軸及びy軸と異なる角度φの方向のA軸方向に対する1次元の積算記憶部(A軸COS値積算記憶部,A軸SIN値積算記憶部)を、角度φの方向に設ける。このA軸は、認識対象物体が配置されている2次元平面の象限において、x軸及びy軸に対向して設けられる。すなわち、このA軸は、x軸及びy軸に加えて、座標(Rx、Ry)を投影するための投影軸として、図5に示すように、2次元平面の任意の位置に設けられる。このA軸における軸座標は、「Z=Rx×COS(φ)+Ry×SIN(φ)」から求める。2次元座標(Rx,Ry)が投影された軸座標Zに対応して、COS(θ)を積算するA軸COS値積算記憶部と、SIN(θ)を積算するA軸SIN値積算記憶部とが設けられることになる。すなわち、図8に示すように、x軸に対応して2本、y軸に対して2本、A軸に対して2本の、計6本の1次元の積算値記憶部の配列が設けられている。
異なる点は、COS値積算部37とSIN値積算部38とが、x軸とy軸とだけでなく、上述したように、A軸にも2次元座標を投影し、その投影した軸座標に対応する積算記憶部に、評価値を積算することである。以下、この動作について説明する。
【0058】
COS値積算部37は、座標(Rx,Ry)をx軸に投影し、x軸の軸座標点(Rx)に対応するx軸COS値積算記憶部にCOS(θ)を積算するとともに、上記座標(Rx,Ry)をy軸に投影し、y軸の軸座標点(Ry)に対応するy軸COS値積算記憶部に上記COS(θ)を積算するとともに、上記座標(Rx,Ry)をA軸に投影し、A軸の軸座標点(Z)に対応するA軸COS値積算記憶部に上記COS(θ)を積算する。
同様に、SIN値積算部38は、座標(Rx,Ry)をx軸に投影し、x軸の軸座標点(Rx)に対応するx軸SIN値積算記憶部にSIN(θ)を積算するとともに、上記座標(Rx,Ry)をy軸に投影し、y軸の軸座標点(Ry)に対応するy軸SIN値積算記憶部に上記SIN(θ)を積算するとともに、上記座標(Rx,Ry)をA軸に投影し、A軸の軸座標点(Z)に対応するA軸SIN値積算記憶部に上記SIN(θ)を積算する。
【0059】
そして、積算値加算部39は、x軸の各軸座標毎のx軸総合値を算出し、y軸の各軸座標毎のy軸総合値を算出し、またA軸の各軸座標のA軸総合値を算出し、x軸総合値とy軸総合値とZ軸総合値を軸座標毎にそれぞれ加算し、2次元座標の各座標における総合値を算出する。すなわち、x軸の軸座標及びy軸の軸座標の組合せの2次元座標毎に、対応するx軸の軸座標のx軸総合値と、y軸の軸座標のy軸総合値と、A軸の軸座標のA軸総合値を加算して、各2次元座標の座標点の総合値を算出する。
認識対象物体判定部40は、上記総合値が予め設定したピーク値を超える座標点を、登録画像が配置された基準点として抽出し、登録画像に一致する認識対象物体の配置された基準点として、COS積算値及びSIN積算値より得られる回転角θとともに出力する。
そして、認識対象物体判定部40は、上記総合値が予め設定したピーク値を超える座標点を、登録画像が配置された基準点として抽出し、登録画像に一致する認識対象物体の配置された基準点として出力する。
上述したように、x軸及びy軸と異なるA軸を設けることにより、総合値が3軸積算値の合計から算出されることにより、アーチファクトの座標を排除することができる。
【0060】
また、本実施形態においては、x軸上の1次元の軸座標に対応したx軸COS値積算記憶部及びx軸COS値積算記憶部と、y軸上の1次元の軸座標に対応したy軸COS値積算記憶部及びy軸COS値積算記憶部と、A軸上の1次元の軸座標に対応したA軸COS値積算記憶部及びA軸COS値積算記憶部とに対し、回転角θを含めた評価値を記憶するものである。すでに説明したように、各積算値記憶部には1つの軸座標における評価値が積算される。
ここで、特許文献1と同様の条件にてメモリー容量を見積もると、「1024×4×n」の計算式となり、4×nkバイトのメモリー容量となる。このメモリー容量は、特許文献1の約8Mバイトに比較すると、第1の実施形態と同様に、2桁分のメモリー容量が削減されたことになる。これにより、CPUの1次キャッシュに収容可能な大きさとなり、キャッシュミスの発生により処理速度の低下を起こすことなく、CPUに演算処理を行わせることが可能となる。
上記計算式において、「1024」は、x軸方向及びy軸方向のピクセル数(軸座標数に対応)であり、次の「4」が各積算値記憶部の容量であり、次の「n」が1次元に配列された積算値記憶部の数である。
【0061】
また、図1における物体認識装置の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより物体認識の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0062】
また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0063】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0064】
1…登録画像データ生成部
2…特徴点データ記憶部
3…物体認識部
11…登録画像取得部
12,32…特徴点抽出部
13,33…特徴点2値化部
14,34…法線ベクトル抽出部
31…入力画像取得部
35…評価値算出部
36…候補座標点演算部
37…COS値積算部
38…SIN値積算部
39…積算値加算部
40…認識対象物体判定部
41…詳細検出部

【特許請求の範囲】
【請求項1】
登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データが記憶される特徴点データ記憶部と、
入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する特徴点抽出部と、
第2の特徴点における第2の法線ベクトルを求める法線ベクトル演算部と、
前記第2の特徴点各々に対して登録画像の第1の特徴点の全てを対応させ、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を、第1の特徴点毎に求める評価値算出部と、
前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める候補座標点演算部と、
当該候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算するCOS値積算部と、
当該候補座標点を複数の前記座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算するSIN値積算部と、
前記座標軸各々における各軸座標点の組合せにおいて、各軸座標点におけるCOS積算値及びSIN積算値を加算して総合値を求める積算値加算部と、
前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する認識対象物体判定部と
を有することを特徴とする物体認識装置。
【請求項2】
前記座標軸が2次元平面におけるx軸及びy軸であることを特徴とする請求項1に記載の物体認識装置。
【請求項3】
前記座標軸が2次元平面におけるx軸及びy軸と、x軸の座標点及びy軸の座標点で表される直線からなる直線軸との3軸であることを特徴とする請求項1に記載の物体認識装置。
【請求項4】
前記積算値加算部が、
各座標軸の軸座標点におけるCOS積算値及びSIN積算値を2乗して加算して、前記総合値を求めることを特徴とする請求項1から請求項3のいずれかに記載の物体認識装置。
【請求項5】
前記積算値加算部が、
各座標軸の軸座標点におけるCOS積算値の加算値を2乗した数値と、SIN積算値の加算値を2乗した数値とを加算し、前記総合値を求めることを特徴とする請求項1から請求項3のいずれかに記載の物体認識装置。
【請求項6】
登録画像データ生成部が、登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データを、特徴点データ記憶部に記憶する過程と、
特徴点抽出部が入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する過程と、
法線ベクトル演算部が第2の特徴点における第2の法線ベクトルを求める過程と、
評価値算出部が、前記第2の特徴点各々に対して登録画像の第1の特徴点の全てを対応させ、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を、第1の特徴点毎に求める過程と、
候補座標点演算部が、前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める過程と、
COS値積算部が、当該候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算する過程と、
SIN値積算部が、当該候補座標点を複数の前記座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算する過程と、
積算値加算部が、前記座標軸各々における各軸座標点の組合せにおいて、各軸座標点におけるCOS積算値及びSIN積算値を加算して総合値を求める過程と、
認識対象物体判定部が、前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する過程と
を有することを特徴とする物体認識方法。
【請求項7】
登録画像データ生成部が、登録画像より抽出した複数の第1の特徴点と、この第1の特徴点における第1の法線ベクトルと、第1の特徴点から前記登録画像の基準点への変位ベクトルとからなる特徴点データを、特徴点データ記憶部に記憶する処理と、
特徴点抽出部が入力画像における認識対象物体の特徴を構成する第2の特徴点を抽出する処理と、
法線ベクトル演算部が第2の特徴点における第2の法線ベクトルを求める処理と、
評価値算出部が、前記第2の特徴点各々に対して登録画像の第1の特徴点の全てを対応させ、第1の法線ベクトルと第2の法線ベクトルの角度差θによるCOS(θ)及びSIN(θ)値を、第1の特徴点毎に求める処理と、
候補座標点演算部が、前記角度差から変位ベクトルの回転を行い、回転された変位ベクトルと第2の特徴点の座標から、基準点の候補である候補座標点を求める処理と、
COS値積算部が、当該候補座標点を複数の座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるCOS(θ)をCOS積算値として積算する処理と、
SIN値積算部が、当該候補座標点を複数の前記座標軸に各々投影し、投影された各座標軸の軸座標点に対応して、前記候補座標点におけるSIN(θ)をSIN積算値として積算する処理と、
積算値加算部が、前記座標軸各々における各軸座標点の組合せにおいて、各軸座標点におけるCOS積算値及びSIN積算値を加算して総合値を求める処理と、
認識対象物体判定部が、前記総合値が予め設定した閾値を超えた場合に、前記登録画像と一致する認識対象物体が当該候補座標点を基準点として配置されていると判定する処理と
を有する物体認識装置としてコンピューターを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate