以下、図面を参照しながら本発明の実施の形態について説明する。
図1は、本発明の一実施の形態である物体認識装置の機能の構成を示すブロック図である。
図1において、物体認識装置11は、モデル特徴量登録部31およびターゲット画像認識部32から構成される。
モデル特徴量登録部31は、物体の認識において、認識の対象の物体の画像であるモデル画像からエッジ画像を生成し、エッジ画像上のエッジ点における局所特徴量であるモデル特徴量を抽出し、エッジ点同士の幾何学的位置関係とともに辞書に登録する。
モデル特徴量登録部31は、カメラ部51、フレームメモリ52、エッジ強度画像生成部53、エッジ画像生成部54、モデル特徴量抽出部55、およびモデル辞書56を含むように構成される。
カメラ部51は、撮像素子と、その撮像素子に画像を結像させるレンズなどの光学系から構成される。カメラ部51は、被写体の像を撮像し、撮像された画像をフレームメモリ52に供給する。撮像される画像は、静止画像または動画像とされる。
フレームメモリ52は、カメラ部51から供給されたモデル画像を蓄積する。フレームメモリ52は、供給された画像が静止画像であった場合、その静止画像をそのまま記憶する。また、フレームメモリ52は、供給された画像が動画像であった場合、その動画像をフレーム毎に記憶する。フレームメモリ52に記憶された静止画像または動画像のフレーム画像は、これ以降の処理でモデル画像として扱われる。
エッジ強度画像生成部53は、フレームメモリ52に蓄積されているモデル画像を基に、エッジ強度画像を生成する。エッジ強度画像は、モデル画像の所定の領域における位置の変化に対する画素値の変化の大きさの度合いを示すエッジ強度からなる。エッジ強度画像において、画素値の変化が急峻かつ大きいほど、エッジ強度は強くなり、画素値の変化が緩やかかつ小さいほどエッジ強度は弱くなる。すなわち、エッジ強度画像生成部53は、モデル画像内の注目画素を含む近傍の領域における位置の変化に対する画素値の変化の大きさの度合いを示すエッジ強度からなるエッジ強度画像を生成する。エッジ強度画像生成部53は、生成されたエッジ強度画像を、モデル特徴量抽出部55に供給する。
エッジ画像生成部54は、フレームメモリ52に蓄積されているモデル画像を基に、エッジ画像を生成する。エッジ画像は、モデル画像の画素の画素値の大小の境界を示す画像である。例えば、エッジ画像生成部54は、モデル画像内の注目画素の画素値の大きさが、予め定められた閾値以上であれば1とし、それ以外を0とすることで得られる画像であるエッジ画像を生成する。エッジ画像生成部54は、生成されたエッジ画像を、モデル特徴量抽出部55に供給する。
モデル特徴量抽出部55は、エッジ画像生成部54から供給されたエッジ画像上の局所領域に、特徴量を抽出するためのサンプリング点を決定する。また、モデル特徴量抽出部55は、サンプリング点のうちの基準の点となるベース点と、ベース点以外のサンプリング点であってベース点に従属して決定される点であるサポート点との幾何学的位置関係を決定する。ここで、幾何学的位置関係は、注目される2点のうちの1点を基準とした場合、他の1点の位置を基準の点からの距離および角度で表す関係とされる。すなわち、モデル特徴量抽出部55は、ベース点に対するサポート点の相対位置を決定する。
ここで、特徴量を抽出するためのサンプリング点は、エッジ画像上の局所領域に設定される参照円と、エッジ画像とが交差する点であるエッジ点とされる。ベース点は、その参照円上のエッジ点の1つであり、その他の点はサポート点とされる。また、ベース点とサポート点との幾何学的位置関係によれば、サポート点の位置はそれぞれ、ベース点からの距離と角度とで表される。
より具体的には、モデル特徴量抽出部55は、図2に示されるように、エッジ画像生成部54によって生成されたエッジ画像111の局所領域としての参照円Rを決定し、参照円Rと交差するエッジ画像111上のエッジ点を、ベース点b、およびサポート点s1,s2、およびs3とする。
また、図3に示されるように、モデル特徴量抽出部55において、図2のように決定されたサポート点s1乃至s3のベース点bからの相対的な位置(距離および角度)は、相対距離r1,r2、およびr3、並びに基準軸Iからの相対角度θ1,θ2、およびθ3で表される。
また、モデル特徴量抽出部55は、決定されたベース点およびサポート点の近傍に、複数の特徴量抽出領域を設定し、エッジ強度画像生成部53から供給されたエッジ強度画像を基に、それぞれの特徴量抽出領域におけるエッジ強度をモデル画像の特徴量であるモデル特徴量として抽出する。
抽出されるモデル画像のモデル特徴量は、エッジ画像から得られる0および1の2値で表されるものでなく、上述したエッジ強度のように、エッジの近傍において、画素毎に連続値をとるものとされる。すなわち、モデル特徴量は、エッジ強度に限らず、画像処理によって得られる、モデル画像のエッジの近傍における変化を表すものであればよい。例えば、モデル特徴量は、画素の位置に対して変化する輝度などとされる。より具体的には、例えば、モデル特徴量は、モデル画像に対して、ガボアフィルタやガウシアン微分フィルタなどの微分フィルタによる演算を用いて抽出される特徴量とされる。
さらに、モデル特徴量抽出部55は、ベース点とサポート点との幾何学的位置関係、およびそれぞれの点についての特徴量抽出領域において抽出されたモデル特徴量を、モデル画像毎にモデル辞書56に供給(登録)する。
モデル辞書56は、例えば、ハードディスクドライブなどの記憶装置、ハードディスクやRAM(Random Access Memory)などの記憶媒体などから構成される。モデル辞書56は、モデル特徴量抽出部55から供給されたベース点とサポート点との幾何学的位置関係と、それぞれの点についてのモデル特徴量とを対応させて記憶する。
このように、モデル特徴量登録部31は、モデル画像の局所領域を、注目点(ベース点b)の特徴量、周辺の点(サポート点s1乃至s3)の特徴量、および注目点と周辺の点との位置関係(相対距離r1乃至r3、および相対角度θ1乃至θ3)で記述することができる。
次に、図1の説明に戻り、ターゲット画像認識部32について説明する。ターゲット画像認識部32は、モデル画像に含まれる物体と比較され、認識される画像であるターゲット画像からエッジ画像を生成し、生成したエッジ画像上のエッジ点の局所特徴量であるターゲット特徴量を抽出する。ターゲット画像認識部32は、抽出したターゲット特徴量と、モデル特徴量登録部31のモデル辞書56に登録されているモデル特徴量とのマッチングを行い、モデル画像とターゲット画像とのマッチングペアを取得する。ターゲット画像認識部32は、取得されたマッチングペアの数を基に、モデル画像内の物体とターゲット画像内の物体とを同定する。
なお、ターゲット画像は、モデル画像と同様に、静止画像そのものまたは動画像のフレーム画像とされる。
ターゲット画像認識部32は、カメラ部61、フレームメモリ62、エッジ強度画像生成部63、エッジ画像生成部64、ターゲット特徴量抽出部65、マッチング部66、および物体同定部67を含むように構成される。
カメラ部61、フレームメモリ62、エッジ強度画像生成部63、およびエッジ画像生成部64は、それぞれ上述したモデル特徴量登録部31に含まれるカメラ部51、フレームメモリ52、エッジ強度画像生成部53、およびエッジ画像生成部54のそれぞれと同様の構成とされるので、その説明は省略する。
ターゲット特徴量抽出部65は、ターゲット画像のエッジ画像およびエッジ強度画像を基に、モデル画像のベース点およびサポート点に対応するターゲット画像のエッジ点におけるエッジ強度を、ターゲット画像の特徴量であるターゲット特徴量として抽出する。ターゲット特徴量抽出部65は、抽出されたターゲット画像のターゲット特徴量を、マッチング部66に供給する。
抽出されるターゲット特徴量は、エッジ画像から得られる0および1の2値で表されるものでなく、エッジの近傍において、画素毎に連続値をとるものとされる。すなわち、ターゲット特徴量は、エッジ強度に限らず、画像処理によって得られる、モデル画像のエッジの近傍における変化を表すものであればよく、画素の位置に対して変化する輝度などとされる。より具体的には、例えば、ターゲット特徴量は、ターゲット画像に対して、ガボアフィルタやガウシアン微分フィルタなどの微分フィルタによる演算を用いて抽出される特徴量とされる。
このように、ターゲット特徴量およびモデル特徴量のそれぞれを、0および1の2値で表されるエッジ情報ではなく、画素の位置に対して変化する値とすることで、ターゲット特徴量とモデル特徴量とを比較するときの、それぞれの特徴量の抽出の誤差の影響を小さくすることができる。
マッチング部66は、ターゲット特徴量抽出部65において抽出されたターゲット画像のターゲット特徴量と、モデル辞書56に登録されているモデル画像のモデル特徴量とのマッチングを行い、モデル画像とターゲット画像とのマッチングペアを取得する。より具体的には、マッチング部66は、ターゲット特徴量抽出部65において抽出されたターゲット画像のエッジ上の、モデル画像のベース点およびサポート点に対応する点におけるターゲット特徴量と、モデル画像のベース点およびサポート点における複数のモデル特徴量のそれぞれとのマッチングを行う。
物体同定部67は、マッチング部66において取得されたマッチングペアの数を基に、ターゲット画像に含まれている物体を同定する。より具体的には、物体同定部67は、ターゲット特徴量と複数のモデル特徴量とのマッチングの結果であるマッチングペアの数が所定の値より大きい場合、ターゲット画像の被写体とモデル画像の被写体とを同定する。
このような構成により、ターゲット画像認識部32は、モデル画像の特徴量とターゲット画像の特徴量とのマッチングを行い、モデル画像に含まれている物体とターゲット画像に含まれている物体とを同定することで、画像内の物体を認識することができる。
次に、物体認識装置11における、モデル画像の特徴量の登録の処理について説明する。
例えば、カメラ部51によって所定の物体が撮像され、フレームメモリ52に記録されている画像がエッジ強度画像生成部53およびエッジ画像生成部54に取得されると、モデル特徴量登録部31によって、モデル画像の特徴量の登録の処理が開始される。
図4は、物体認識装置11のモデル特徴量登録部31におけるモデル画像の特徴量の登録の処理を説明するフローチャートである。
ステップS11において、エッジ強度画像生成部53は、フレームメモリ52から取得したモデル画像に対して、エッジ強度画像の生成の処理を施す。
図5は、エッジ強度画像の生成の処理の詳細を説明するフローチャートである。
ここでは、グレースケール画像からエッジ画像を生成する手法を示す。エッジ抽出には様々な手法があるが、安定性および正確性の観点ではカニーエッジフィルタ(Canny-Edge Filter)が知られており、ここでのエッジ抽出処理にもカニーエッジフィルタを利用する。なお、カニーエッジフィルタは、非特許文献「J.R.Parker, “Algorithms for Image Processing and Computer Vision”, John Wiley & Sons, Inc.」で詳しく説明されている。
ステップS31において、エッジ強度画像生成部53は、スムージング(Smoothing)処理を行う。すなわち、エッジ強度画像生成部53は、ガウスフィルタG(x,y)を画像f(x,y)に適用することにより、画像内のノイズおよび細かいテクスチャの削減を行う。より具体的には、エッジ強度画像生成部53は、式(1)に示されるように、ガウスフィルタG(x,y)と画像f(x,y)との畳み込みを行い、スムージング画像g(x,y)を得る。また、ガウスフィルタG(x,y)は、式(2)で示される。
ステップS32において、エッジ強度画像生成部53は、x軸方向の勾配gx(x,y)およびy軸方向の勾配gy(x,y)を算出する。より具体的には、エッジ強度画像生成部53は、ステップS31で得られたスムージング画像g(x,y)に、図6に示される微分フィルタを適用し、x軸方向の勾配とy軸方向の勾配とで表される勾配画像を作成する。すなわち、x軸方向の勾配gx(x,y)の作成には、図6の左側に示されるx方向フィルタが適用され、y軸方向の勾配gy(x,y)の作成には、図6の右側に示されるy方向フィルタが適用される。
ステップS33において、エッジ強度画像生成部53は、エッジ強度およびエッジ角度を算出する。エッジ強度画像生成部53は、ステップS32において作成した勾配画像gx(x,y)およびgy(x,y)を用いて、式(3)に示されるエッジ強度画像M(x,y)、および式(4)に示されるエッジ角度画像θ(x,y)を生成する。
このようにして、エッジ強度画像生成部53は、エッジ強度画像を生成する。
図4のフローチャートの説明に戻り、ステップS12において、エッジ画像生成部54は、フレームメモリ52から取得したモデル画像に対して、エッジ画像の生成の処理を施す。
図7は、エッジ画像の生成の処理の詳細を説明するフローチャートである。
図7のフローチャートにおいて、エッジ画像生成部54によって実行されるステップS51乃至ステップS53の処理は、図5のフローチャートにおいて、エッジ強度画像生成部53によって実行されるステップS31乃至ステップS33の処理と同様であるので、説明は省略する。
ステップS54において、エッジ画像生成部54は、エッジの細線化を行う。すなわちステップS53において生成されたエッジ強度画像M(x,y)は、部分的に数ピクセルの幅をもっている。エッジ画像生成部54は、これを1ピクセルの幅にするように細線化の処理を施す。より具体的には、エッジ画像生成部54は、所定の点(x,y)においてエッジ強度画像M(x,y)が0でない場合、その点におけるエッジ強度画像M(x,y)の値と、その点のエッジ角度画像θ(x,y)で表されるエッジ方向にある点(x1,y1)におけるエッジ強度画像M(x1,y1)の値およびその反対側のエッジ方向の点(x2,y2)におけるエッジ強度画像M(x2,y2)の値のそれぞれとを比較する。エッジ画像生成部54は、点(x,y)におけるエッジ強度画像M(x,y)が、エッジ強度画像M(x1,y1)またはエッジ強度画像M(x2,y2)より小さい場合、点(x,y)はエッジ点ではないとして、エッジ強度画像M(x,y)を0とする。
ステップS55において、エッジ画像生成部54は、エッジ検出を行う。すなわち、エッジ画像生成部54は、ステップS54において細線化されたエッジ強度画像M(x,y)から閾値処理によってエッジ画像を生成する。カニーエッジフィルタの場合、2つの閾値T_highおよびT_lowが閾値処理に用いられる。より具体的には、エッジ画像生成部54は、点(x,y)のエッジ強度画像M(x,y)がT_highより大きい場合、その点をスタート点とし、エッジ強度画像M(x,y)がT_low以上の点を順次探索していき、その点をエッジ点としていく。
上述したカニーエッジフィルタにおけるパラメータは、ステップS51(または、ステップS31)において用いられるスムージングの度合いσ、並びに、ステップS55において用いられるエッジの検出のための2つの閾値T_highおよびT_lowとなる。これらのパラメータが予め適切な値に設定されることで、より高精度なエッジ検出が可能となる。
図4のフローチャートの説明に戻り、ステップS13において、モデル特徴量抽出部55は、参照円の決定の処理を行う。
物体の輪郭は局所的に様々であり、上述したような相対距離および相対角度による拘束である幾何拘束を利用するためには、参照円の大きさ(半径)はそれぞれの局所領域に含まれる物体の輪郭、すなわちエッジ画像に応じて設定される。ここで、幾何拘束とは、上述したベース点とサポート点との幾何学的位置関係を保持することであり、ベース点に対してサポート点が多いほど幾何拘束が強いと言える。
より具体的には、例えば、図8Aに示されるように、参照円の半径が一定である場合、参照円R1の領域では十分な幾何拘束が得られない。一方、図8Bに示される参照円R1'の領域のように、参照円R1の半径を大きく変えた領域とすることで、十分な幾何拘束が得られる。すなわち、参照円R1'によりエッジ点が2つ増えている。なお、物体の輪郭に応じて、参照円の半径を小さく変えた領域とすることで十分な幾何拘束を得ることもできる。
従って、参照円の半径は、エッジ画像と交差するエッジ点がより多くなるように決定される。
このような参照円Rを決定するためには、参照円Rの中心となる中心画素および参照円Rの半径を決定する必要がある。そこで、参照円R周辺で十分な幾何拘束が得られる領域を抽出するために、参照円Rの輪郭の近傍における、参照円R全体のエッジ点のばらつき度合いを評価として用いる。
すなわち、エッジ点のばらつき評価は、図9に示されるように、参照円Rの半径r、参照円Rの中心点c、中心点cと各エッジ点pとの距離d、および各エッジ点pのx軸からの角度φを用いて、式(5)および式(6)によって表される。
ここでは、参照円Rの角度をL段階に量子化し、kは1乃至Lの値をとる。
但し、K(x)はスムージングカーネルで、式(7)によって表される。
エントロピー値H(c,r)は、参照円R上付近のエッジ点が参照円R全体に十分なばらつきを持つ程大きくなる。すなわち、エントロピー値が大きければ、参照円Rの中の領域に十分な数のエッジ点が含まれていると言える。
より具体的には、モデル特徴量抽出部55は、エッジ点ではない点を中心として、徐々に参照円Rの半径を大きくしていく。モデル特徴量抽出部55は、その都度エントロピー値を求めて、一番大きいエントロピー値のときの半径を記憶する。モデル特徴量抽出部55は、全ての点についてエントロピー値が最大となる半径を求める。このようにすることで、より大きいエントロピー値となる中心点と半径の参照円、すなわちより多くのエッジ点が含まれる参照円が決定される。
図10は、上述した指標を用いた、モデル画像上の任意点ciを中心とした参照円の決定の処理を説明するフローチャートである。
ステップS71において、モデル特徴量抽出部55は、参照円の半径rを、予め設定されている参照円の最小半径st_rとし、最大値H_maxを0とする。最大値H_maxは、任意点ciにおいて、参照円の半径の変化に応じて変化するエントロピー値の最大値を示す。
ステップS72において、モデル特徴量抽出部55は、上述した式(5)により、任意点ciを中心とした参照円の、そのときの半径でのエントロピー値Hi=H(ci,r)を算出する。
ステップS73において、モデル特徴量抽出部55は、算出したエントロピー値Hiが最大値H_maxより大きいか否かを判定する。エントロピー値Hiが最大値H_maxより大きいと判定されると、処理はステップS74に進む。
ステップS74において、モデル特徴量抽出部55は、最大値H_maxをエントロピー値Hiとし、エントロピー値が最大となるときの参照円の半径r_maxを半径rとする。ステップS74の後、処理はステップS75に進む。
一方、ステップS73において、エントロピー値Hiがエントロピー値の最大値H_max以下であると判定されると、ステップS74はスキップされて、処理はステップS75に進む。
ステップS75において、モデル特徴量抽出部55は、予め設定されている半径の更新ステップr_stepの分だけ、半径rを大きくする。
ステップS76において、モデル特徴量抽出部55は、半径rが予め決められた閾値r_threshより大きいか否かを判定する。半径rが閾値r_threshより大きいと判定された場合、処理は終了する。
一方、半径rが閾値r_thresh以下であると判定された場合、処理はステップS72に戻り、ステップ72以降の処理を繰り返す。
このように、モデル特徴量抽出部55は、任意点ciを中心とした参照円について、予め設定されている半径の更新ステップで、順次半径を大きくしながら、参照円の半径とエントロピー値を算出し、最大エントロピー値H_maxと、そのときの参照円の半径r_maxとを記憶する。
すなわち、モデル特徴量抽出部55は、この処理をモデル画像上のすべての点で行うことで、図11に示される、各画素におけるエントロピー値の最大値H_maxおよび参照円の半径r_maxを記憶したエントロピーマップE_Mapを得る。
このようにして、すべての点についての参照円が決定された後、最終的な参照円の決定の処理として、モデル特徴量抽出部55は、エントロピーマップE_Mapのエントロピー値を使って、ノンマキシマムサプレッション(non-maximum suppression)を行う。すなわち、モデル特徴量抽出部55は、注目画素が極大値でない場合、注目画素の近傍領域(8近傍、16近傍など)において、エントロピーマップE_Mapの保持するエントロピー値および半径の値を0とする。
そして、モデル特徴量抽出部55は、予め設定された最小エントロピー値により閾値処理をすることで、最終的なエントロピーマップE_Mapを生成する。エントロピーマップE_Mapは、モデル画像と同様の大きさを持ち、各画素にはエントロピー値と円の半径が保持されている。これによって、エントロピー値が0でない画素の位置が参照円の中心とされ、参照円Ri(iは1乃至nの整数)が決定される。
図4のフローチャートの説明に戻り、ステップS14において、モデル特徴量抽出部55は、ベース点およびサポート点を決定する。
より具体的には、モデル特徴量抽出部55は、参照円Riとエッジ画像を用いて、ベース点bi、サポート点sij(jは1以上の整数)を決定する。ここで、参照円の選択順序は、エントロピーマップE_Mapにおけるエントロピー値の降順とされる。
図12は、ベース点およびサポート点であるサンプリング点のサンプリングについて説明する図である。
ベース点およびサポート点のサンプリングにおいて、モデル特徴量抽出部55は、図12に示されるように、参照円Riを角度方向にm分割する。分割数mは、参照円Riの半径に応じて変化させる(例えば、参照円Riの半径が大きい場合には分割数mは多く、参照円Riの半径が小さい場合には分割数mは少なくする)。
さらに、モデル特徴量抽出部55は、分割された各領域にサンプリング領域を設定する。より具体的には、例えば、モデル特徴量抽出部55は、図12に示されるように、分割された円弧の中心付近に円弧を含むように、円弧の接線方向に長辺をもつ長方形の領域であるサンプリング領域Asamを設定する。このサンプリング領域Asam内で最も参照円に近いエッジ画像111上のエッジ点が、サンプリング点mij(jは1以上であってm以下の整数)とされる。
次に、モデル特徴量抽出部55は、複数のサンプリング点の中からベース点を決定する。例えば、モデル特徴量抽出部55は、複数のサンプリング点のうちのx座標が最も小さいものをベース点とする。本発明において、物体の形状は、ベース点の集合によって記述されることから、ベース点はエッジ画像全体に広がっていることが望ましい。そこで、ベース点として既に決定された位置を履歴として参照して新たなベース点が決定されるようにする。すなわち、モデル特徴量抽出部55は、前回までのベース点の位置の履歴を参照し、それらベース点の画素の周辺に存在しない点(画素)をサンプリング点mijの中から選択し、今回のベース点とするとともに、その他の点(画素)をサポート点とする。また、ベース点の位置の履歴は、逐次更新される。
ステップS15において、モデル特徴量抽出部55は、サポート点の相対角度θijおよび相対距離rijを決定する。より具体的には、モデル特徴量抽出部55は、決定されたベース点biと、その基準軸方向(0度方向)を用いて、ベース点biからの、サポート点sijそれぞれの相対位置を決定する。
図13は、ベース点biからの、サポート点sijの相対位置を示す図である。
図13Aにおいて、エッジ画像111上に、ベース点biおよびそのサポート点si1乃至si3が設定されている。図13Aに示されるように、モデル特徴量抽出部55は、ベース点biからのサポート点si1の相対距離ri1、ベース点biからのサポート点si2の相対距離ri2、およびベース点biからのサポート点si3の相対距離ri3を決定する。
また、図13Bに示されるように、モデル特徴量抽出部55は、ベース点biの基準軸に対するサポート点si1の相対角度θi1、ベース点biの基準軸に対するサポート点si2の相対角度θi2、およびベース点biの基準軸に対するサポート点si3の相対角度θi3を決定する。
ステップS16において、モデル特徴量抽出部55は、参照円Riを基に、ベース点biおよびサポート点sijの近傍に設定される複数の特徴量抽出領域のそれぞれにおいてモデル特徴量を抽出し、処理は終了する。より具体的には、モデル特徴量抽出部55は、参照円Riの中心と、サンプリング点(ベース点およびサポート点)のそれぞれとを結ぶ直線を基準として、サンプリング点の近傍に複数の特徴量抽出領域を設けることで、そのモデル特徴量を抽出する。
図14は、参照円R1についての、特徴量抽出領域の設定を説明する図である。図14に示されるように、参照円R1の中心点と、参照円R1上のサンプリング点のうちの1つであるベース点b1とを結ぶ直線上に、2つの特徴量抽出領域131Aおよび特徴量抽出領域131Bが設定されている。特徴量抽出領域131Aおよび特徴量抽出領域131Bは、ベース点b1を基準に、参照円R1の内側と外側とに設定される。
このようにすることで、モデル特徴量抽出部55は、1つのサンプリング点(ベース点またはサポート点)について、2つのモデル特徴量を抽出することができる。
また、設定される特徴量抽出領域は、上述したように参照円R1の内側および外側の2つに限らず、サンプリング点の近傍に複数設定されることで、それぞれのサンプリング点は複数の特徴量を持つことができる。
一般的に、テクスチャの少ない物体の場合、ステップS14において決定されたベース点およびサポート点は、物体の輪郭の部分に位置することが多い。そこで、それぞれのサンプリング点を中心に特徴量を抽出すると、ターゲット画像に複雑な背景が含まれる場合、背景のノイズの影響を受け、特徴量同士の一致が困難となる。
そこで、上述のように、1つのサンプリング点に対して複数のモデル特徴量を持たせることで、複数のモデル特徴量のうちの少なくとも1つは、背景のノイズの影響を受けにくくなり、ターゲット画像に複雑な背景が含まれる場合の物体の輪郭部分においても、特徴量同士が一致する可能性が高くなる。
また、決定した特徴量抽出領域内でのモデル特徴量は、エッジ画像ではなく、ステップS11において生成された、例えば0乃至255の連続値を持つエッジ強度画像Mをサンプリングしたものとされる。図15は、エッジ強度画像151を用いた、特徴量抽出領域131Aおよび特徴量抽出領域131Bにおける特徴量抽出を説明する図である。
図15に示されるように、エッジ強度画像151において、図14のエッジ画像111における特徴量抽出領域に対応する位置に、特徴量抽出領域131Aおよび特徴量抽出領域131Bが設定される。図15における特徴量抽出領域131Aおよび特徴量抽出領域131Bは、それぞれ半径の異なる複数の同心円のうちの最も外側の円で囲まれる前記特徴量抽出領域であり、その同心円は所定の角度毎に放射状に区分されている。
以下、特徴量抽出領域131Aおよび特徴量抽出領域131Bを、特に区別をする必要がない場合、単に特徴量抽出領域131と称する。
図16は、図15において設定された特徴量抽出領域131の分割を説明する図である。
図16に示されるように、特徴量抽出領域131は、半径の異なる3つの同心円で構成されるように、その中心からの距離方向に3(r0乃至r2)、角度方向に8(θ0乃至θ7)の24の小領域に分割されている。
図17は、図16のように分割された特徴量抽出領域131Bにおけるエッジ強度について説明する図である。
図17に示されるように、特徴量抽出領域131Bの分割された領域毎に、エッジ強度画像151のエッジ強度が加算されることによって、距離と半径とについての2次元ヒストグラムが得られる。
より具体的には、図17のエッジ強度画像151の輪郭が比較的多く含まれる、距離がr2で角度がθ1である領域と、距離がr1で角度がθ3である領域と、距離がr1で角度がθ4である領域と、距離がr2で角度がθ4である領域とにおけるエッジ強度は高いとされるので、2次元ヒストグラムにおいて、エッジ強度の高い領域に対応する部分は濃く塗りつぶされている。図17のエッジ強度画像151の輪郭が一部含まれる、距離がr1で角度がθ1である領域と、距離がr1で角度がθ4である領域とにおけるエッジ強度はやや高いとされるので、2次元ヒストグラムにおいて、エッジ強度のやや高い領域に対応する部分は薄く塗りつぶされている。また、図17のエッジ強度画像151の輪郭が含まれない領域におけるエッジ強度は低いとされるので、2次元ヒストグラムにおいて、エッジ強度の低い領域に対応する部分は白抜きとされている。
このような2次元ヒストグラムによって、特徴量抽出領域が分割されたそれぞれの領域におけるモデル特徴量であるエッジ強度が表される。なお、特徴量抽出領域は、上述のように距離方向に3、角度方向に8の24の小領域に限らず、他の数の小領域に分割されてもよい。
一般的に、エッジの抽出の処理には、閾値処理が含まれるためモデル画像と入力画像であるターゲット画像とで同様のエッジ画像を取得することは非常に困難とされる。エッジ点におけるエッジ情報をそのまま特徴量とした場合、0および1の2値によって与えられる特徴量はエッジの抽出誤差の影響を大きく受け、モデル画像とターゲット画像との差異が大きくなってしまう。
そこで、上述したように、0および1の2値で表されるエッジ点におけるエッジ情報ではなく、0乃至255の連続値を持つエッジ強度の情報を用いることで、エッジの抽出誤差による特徴量の変化を吸収することができる。
また、設定される特徴量抽出領域を粗く分割し、分割されたそれぞれの領域における特徴量の和を用いることで、輝度変化などによる物体の見え方の変化や、物体の遠近などのスケールの変化にも対応することができる。
このようにして、モデル画像から得られる情報は、それぞれのベース点について、サポート点の数をN、特徴量の数(特徴量抽出領域の数)をMとした場合、以下のようになる。
すなわち、ベース点の位置(bx,by)、ベース点の特徴量抽出領域の相対位置(fbθi,fbri)、およびベース点の特徴量bfiが1つのモデル画像について得られる。ここで、iは、1乃至Mの整数である。
また、サポート点の相対位置(θj,rj)(jは、1乃至Nの整数)、サポート点の特徴量抽出領域の相対位置(fsθi,fsri)、およびサポート点の特徴量sfiが1つのモデル画像について得られる。
このようにして、得られたベース点およびサポート点のそれぞれについての特徴量抽出領域の位置および特徴量が、モデル辞書56に登録される。
次に、物体認識装置11における、ターゲット画像の認識について説明する。すなわち、入力されるターゲット画像に含まれる物体が、モデル辞書56に登録されているモデル画像に含まれる物体のうちのどのモデル画像の物体に最も類似しているかを認識する処理について説明する。
類似度を図る方法には様々な方法があるが、例えば、そのうちの1つによれば、モデル画像が持つP個の特徴点であるエッジ点と、ターゲット画像におけるP個の特徴点に対応する点とについて、特徴量同士のコストが算出され、コストの値が十分高い点がマッチングペアとして保存される。得られたマッチングペア数が十分に多ければ、モデル画像に含まれる物体とターゲット画像に含まれる物体とが同定される。
次に、物体認識装置11における、ターゲット画像とモデル画像とのマッチングペアの取得の処理について説明する。
例えば、カメラ部61によって認識しようとする物体が撮像され、フレームメモリ62に記録されたターゲット画像がエッジ強度画像生成部63およびエッジ画像生成部64に取得されると、ターゲット画像認識部32によって、マッチングペアの取得の処理が開始される。
図18は、物体認識装置11のターゲット画像認識部32における、ターゲット画像とモデル画像とのマッチングペアの取得の処理を説明するフローチャートである。
図18のフローチャートにおいて、エッジ強度画像生成部63によって実行されるステップS91の処理は、図4のフローチャートにおいて、エッジ強度画像生成部53によって実行されるステップS11の処理と同様であるので、説明は省略する。
また、図18のフローチャートにおいて、エッジ画像生成部64によって実行されるステップS92の処理は、図4のフローチャートにおいて、エッジ画像生成部54によって実行されるステップS12の処理と同様であるので、説明は省略する。
ステップS93において、ターゲット特徴量抽出部65は、全てのエッジ点の周辺の特徴量を抽出する。より具体的には、ターゲット特徴量抽出部65は、エッジ画像生成部64から供給されたエッジ画像に対して、全てのエッジ点を中心とした、図4のフローチャートのステップS16においてモデル特徴量抽出部55によって設定されたものと同じ半径の特徴量抽出領域を設定する。ターゲット特徴量抽出部65は、エッジ強度画像生成部63から供給されたエッジ強度画像と、設定した特徴量抽出領域とに基づいて、図17を参照して説明した方式と同様の方式でターゲット特徴量であるエッジ強度を抽出する。ターゲット特徴量抽出部65は、抽出したターゲット特徴量を、マッチング部66に供給する。
ステップS94において、マッチング部66は、ターゲット画像のエッジ上の、モデル画像のベース点およびサポート点に対応する点におけるターゲット特徴量と、モデル画像のベース点およびサポート点における複数のモデル特徴量のそれぞれとのマッチングを行う。
図19は、モデル画像のエッジ画像111のベース点b1におけるモデル特徴量と、ターゲット画像のエッジ画像211の点p'におけるターゲット特徴量とのマッチングを説明するための図である。
図19に示されるように、マッチング部66は、ベース点b1を点p'の位置に合わせて、ベース点b1と点p'との間の特徴量コストd(b1,p')を算出する。また、マッチング部66は、サポート点s11,s12、およびs13について、図19のエッジ画像211の探索領域内で特徴量コストd(s1j,p'k)が最大となる点を探索する。ここで、探索の対象となる点は、探索領域内のエッジ点とされる。
このように、探索領域において最もマッチする点が探索されることで、ターゲット画像に歪みがある場合や、大きさの変化にも対応することができる。
また、上述したように、モデル画像のベース点およびサポート点のそれぞれは、複数のモデル特徴量を有しているので、マッチング部66は、モデル画像のベース点およびサポート点のモデル特徴量の中で最も高いコストを採用する。
図20は、複数のモデル特徴量とターゲット特徴量とのマッチングの例を示す図である。
図20の左側に示されるように、モデル画像のエッジ強度画像151におけるベース点b1には、特徴量抽出領域131Aおよび131Bが設定され、サポート点s11には、特徴量抽出領域231Aおよび231Bが設定されている。また、サポート点s12には、特徴量抽出領域232Aおよび232Bが設定され、また、サポート点s12には、特徴量抽出領域232Aおよび232Bが設定され、また、サポート点s13には、特徴量抽出領域233Aおよび233Bが設定されている。
図20の中央に示されるように、マッチング部66が、モデル画像のエッジ強度画像151に対して設定されている特徴量抽出領域におけるモデル特徴量と、ターゲット画像のエッジ強度画像251におけるターゲット特徴量とのマッチングを行う場合、図20の右側に示されるように、ターゲット画像の点p'では、特徴量抽出領域131Bの特徴量が選択され、ターゲット画像の点p'1では、特徴量抽出領域231Aの特徴量が選択される。また、ターゲット画像の点p'2では、特徴量抽出領域232Bの特徴量が選択され、ターゲット画像の点p'3では、特徴量抽出領域233Bの特徴量が選択される。
このようにして、ターゲット画像認識部32は、サンプリング点(ベース点およびサポート点)のそれぞれについて、複数のモデル特徴量と、ターゲット特徴量とのマッチングを行い、その中で最も特徴量コストの高いもの同士をマッチングペアとして選択する。これによって、複雑な背景や、物体の見え方の変化にも対応してマッチングを行うことができる。
上述したように、全てのベース点およびサポート点についてマッチングを行った結果得られる特徴量コストの合計は、式(8)で表される。
式(8)において、Nはサポート点の数を表す。また、αおよびβはそれぞれ、角度および距離のペナルティコストを表し、モデル画像の局所的な拘束から外れるほど小さくなる。
また、モデル画像のサンプリング点をm、これに対応するターゲット画像の点をtとすると、局所特徴量間の距離を表す特徴量コスト関数d(m,t)は、式(9)に示されるように、正規化相関関数で表される。
式(9)において、fmおよびftは、それぞれモデル画像およびターゲット画像の特徴量ベクトルを表す。また、fm'およびft'は、それぞれの特徴量ベクトルの平均値を表す。
マッチング部66は、モデル画像のベース点のそれぞれに対して、ターゲット画像の全てのエッジ点についての式(8)で表される特徴量コストを算出し、最もコストの高い点を、そのベース点に対応する点とする。
このようにして得られる情報は、モデル画像のベース点の数をq個とした場合、以下のようになる。
すなわち、モデル画像の座標点(mxi,myi)、およびターゲット画像の座標点(txi,tyi)(iは1乃至qの整数)が得られる。
図18のフローチャートの説明に戻り、ステップS95において、物体同定部67は、ミスマッチのペアを除去する。
すなわち、ステップS94において、モデル画像とターゲット画像との間のマッチングペアが取得されるが、ステップS94における処理は、局所的なマッチングの処理であるので、多くのアウトライア(ミスマッチペア)が存在する。物体同定部67は、このようなアウトライアを除去する。
モデル画像に含まれる物体とターゲット画像に含まれる物体とが同一の物体である場合、モデル画像のサンプリング点を(mx,my)とし、その点に対応するターゲット画像の点を(tx,ty)としたとき、マッチングペアは、以下の拘束条件を満たす必要がある。
ここで、dxはx軸方向の移動量であり、dyはy軸方向の移動量である。
この拘束条件を利用して、アウトライアを除去する方法を図21に示す。
図21において、モデル画像301のサンプリング点m1,m2,m3、およびm4は、それぞれ、ターゲット画像302のエッジ点t1,t2,t3、およびt4に対応している。すなわち、図21においてmi−ti(iは1乃至4の整数)はマッチングペアを示す。物体同定部67は、それぞれのペアについて、式(10)を用いて、移動量dxおよびdyを算出する。物体同定部67は、算出した移動量を、予め用意した投票空間303に投票する。
モデル画像に含まれる物体とターゲット画像に含まれる物体とが同一である場合、式(10)の拘束条件を満たすペアが多くなるので、最終的に得られる投票空間303において、ピーク304が形成される。このピークの値は、マッチングペアの数を表しているので、ピークが十分大きい場合には、このピークに投票されたペアを抽出することで、アウトライアは除去される。
例えば、図21において、m1−t1,m2−t2、およびm3−t3は同一の移動量をもち、同一の投票空間に投票されるが、m4−t4は異なる投票空間に投票され、アウトライアとして検出される。
図18のフローチャートの説明に戻り、ステップS96において、物体同定部67は、最終的なマッチングペアを取得して、処理は終了する。このようにして、例えば、得られたマッチングペアの数が予め定められた値より十分大きい場合、物体同定部67は、入力されたターゲット画像に含まれる物体と、注目しているモデル画像に含まれる物体とを同定することができる。
以上のようにして、物体認識装置11は、モデル画像とターゲット画像とのマッチングを行い、モデル画像の物体とターゲット画像の物体とを同定することができる。
上述したように、参照円によって決定される局所的な特徴量を用いることで、認識の対象となる物体の部分的な隠れに対しても、より確実な認識を行うことができる。すなわち、様々な大きさの参照円を用いれば、認識対象に隠れが存在する場合でも、隠れのない部分に対応する参照円でモデル画像の物体とターゲット画像の物体とを同定することができる。
また、ベース点とサポート点のように、注目点とその周辺の点における特徴量および位置関係を拘束条件として用いることで、ターゲット画像において対応する点の検出の精度を高くすることができる。
本発明においては、エッジ点は再現性の高い点として用いられ、マッチングの処理において、そのエッジ点の探索範囲が限定されるので、演算量を抑えることができ効率的なマッチングが可能となる。
なお、上述した説明では、1つの参照円に対して、ベース点を1つのみ定めるようにしたが、1つの参照円の中でベース点を複数設定することで、ターゲット画像において、1つのベース点に対応するエッジ点に部分的な隠れがある場合でも、安定してマッチングを行うようにすることができる。
また、上述した説明では、局所的な参照円を決定することで、ベース点およびサポート点を決定したが、円のほか、局所的な閉曲線であることを条件とした他の形状としてもよい。
なお、1つのモデル画像について、複数のスケールを持ったモデル画像と、複数の角度を持ったモデル画像とを生成するようにすれば、どのようなターゲット画像に対しても普遍的に対応することができる。
また、物体認識装置11は、物体の認識を繰り返すうちに、複数の特徴量抽出領域のうちのどの特徴量抽出領域を用いるかを学習するようにしてもよい。すなわち、例えば、物体の輪郭の内側と外側とに設定された特徴量抽出領域とでは、背景に近い外側の特徴量抽出領域よりも、内側の特徴量抽出領域の方がマッチングの処理に用いられる頻度が高くなるので、物体認識装置11は、このことを、モデル辞書56を更新することで記憶するようにしてもよい。
このように、モデル画像と入力画像との特徴量同士をマッチングするようにした場合には、画像内の物体を認識することができる。また、モデル画像のエッジ上の点であって、モデル画像の特徴量であるモデル画像特徴量を抽出するための点である特徴点の近傍の、1つの特徴点に対して複数の特徴量抽出領域のそれぞれにおいて、モデル画像特徴量を抽出し、特徴点に対応する入力画像のエッジ上の点における入力画像の特徴量である入力画像特徴量と、特徴点における複数のモデル画像特徴量のそれぞれとのマッチングを行うようにした場合には、部分的な隠れや複雑な背景を含むような一般的な画像に対しても、より確実に画像内の物体を認識することができる。
また、参照円における1つのサンプリング点(ベース点またはサンプリング点)に対して、複数のモデル特徴量を持たせることで、複数のモデル特徴量のうちの少なくとも1つは、背景のノイズの影響を受けにくくなり、ターゲット画像に複雑な背景が含まれる場合の物体の輪郭部分においても、特徴量同士が一致する可能性が高くなる、という効果を奏することが可能になることについては上述した通りである。
そこで、かかる効果を奏すべく、上述した例では、1つのサンプリング点(ベース点またはサポート点)について、2つの特徴量抽出領域が設定され、2つの特徴量抽出領域からそれぞれ1つの種類のモデル特徴量が抽出されていた。
例えば図14の例では、参照円R1の中心点と、参照円R1上のサンプリング点のうちの1つであるベース点b1とを結ぶ直線上に、2つの特徴量抽出領域131Aおよび特徴量抽出領域131Bが設定されていた。そして、特徴量抽出領域131Aおよび特徴量抽出領域131Bのそれぞれから、1つの種類のモデル特徴量が抽出されていた。即ち、1つのサンプリング点(ベース点またはサポート点)について、2つのモデル特徴量が抽出されていた。
しかしながら、モデル特徴量の抽出数は、複数であれば足り、「2つ」という図14の例は例示にしか過ぎない。
例えば、設定される特徴量抽出領域は、上述したように参照円R1の内側および外側の2つに限らず、サンプリング点の近傍に複数設定されることで、それぞれのサンプリング点は複数の特徴量を持つことができ、上述した効果がより顕著なものとなる。
また例えば、1つの特徴量抽出領域から抽出されるモデル特徴量の種類は、上述した1種類に限定されず、複数種類でもよい。この場合、1つのサンプル点(ベース点,サポート点)は、複数の特徴量抽出領域を持ち、さらに各特徴量抽出領域からは複数種類のモデル特徴量が抽出されることになる。その結果、各サンプリング点はさらに多数の特徴量を持つことができ、上述した効果がより顕著なものとなる。
具体的には例えば、図19に示されるように、モデル特徴量抽出部55は、参照円R1上のサンプリング点のうちの1つであるベース点b1とを結ぶ直線上に、2つの特徴量抽出領域131Aおよび特徴量抽出領域131Bを設定したとする。ここまでの処理は、図14の例と基本的に同様である。
その後、図14の例では、モデル特徴量抽出部55は、特徴量抽出領域131Aから所定の一種類のモデル特徴量を抽出し、特徴量抽出領域131Aから同一種類のモデル特徴量を抽出していた。
これに対して、図22の例では、モデル特徴量抽出部55は、特徴量抽出領域131Aから第1の種類のモデル特徴量(図22に記載の特徴量A1)と第2の種類のモデル特徴量(図22に記載の特徴量A2)とを抽出する。また、モデル特徴量抽出部55は、特徴量抽出領域131Bから第1の種類のモデル特徴量(図22に記載の特徴量B1)と第2の種類のモデル特徴量(図22に記載の特徴量B2)とを抽出する。
このように、ベース点b1から抽出されるモデル特徴量の個数は、図14の例では2個であったのに対して、図22の例では4個になる。
よって、1つのサンプリング点に対して複数のモデル特徴量を持たせることで、複数のモデル特徴量のうちの少なくとも1つは、背景のノイズの影響を受けにくくなり、ターゲット画像に複雑な背景が含まれる場合の物体の輪郭部分においても、特徴量同士が一致する可能性が高くなる、という上述した効果は、図14の例に比較して図22の例の方が顕著なものとなる。
なお、モデル特徴量として採用する種類は、特に限定されず、相互に異なる種類であれば足りる。
例えば、図17を用いて説明した種類、即ち、2次元ヒストグラムによって、特徴量抽出領域が分割されたそれぞれの領域におけるエッジ強度(以下、単にエッジ強度と称する)を、複数種類のうちの1種類として採用することができる。
また例えば、RGBそれぞれのレイヤは0乃至255の連続値を持つため、各レイヤの画像をエッジ強度画像と同等に扱うことができる。そこで、モデル特徴量抽出部55は、エッジ強度と同様の手順で、即ち、図16と図17を用いて説明した手順で、R,G,Bそれぞれについての2次元ヒストグラムを作成し、それらをモデル特徴量として抽出することができる。このようにして抽出される種類(以下、カラーテンプレートと称する)を、複数種類のうちの1種類乃至3種類として採用することができる。1乃至3種類と記述したのは、RGB全体で1つの種類と捉えてもよいし、RGBそれぞれのレイヤを別々の種類、即ち総計3種類と捉えてもよいからである。
なお、カラーテンプレートを作成する情報は、RGBに限定されず、他の色空間の情報を採用することもできる。
また例えば、図23に示されるように、モデル特徴量抽出部55は、特徴量抽出領域131に存在する色を量子化し、あらかじめ設定されたBinに投票することで、カラーヒストグラムを作成し、それらをモデル特徴量として抽出することができる。このようにして抽出される種類(以下、カラーヒストグラムと称する)を、複数種類のうちの1種類乃至3種類として採用することができる。1乃至3種類と記述した理由は、カラーテンプレートについての上述した理由と同様である。
なお、カラーヒストグラムを作成する情報は、図23の例ではRGBとされているが、RGBに限定されず、他の色空間の情報を採用することもできる。
いずれの種類のモデル特徴量を採用した場合でも、その抽出処理として、特徴量抽出領域131を粗く分割または値を粗く分割し、各領域または値の和を用いる処理を採用することで、物体の見え方の変化やスケール変化に対応することが可能となる。
このように、モデル特徴量抽出部55は、1つのサンプル点(ベース点,サポート点)に対して、複数の特徴量抽出領域131を設定することができ、さらに各特徴量抽出領域131のそれぞれでは、複数種類の特徴量を抽出することができる。
その結果、各ベース点に対してサポート点の数をNと記述し、特徴量抽出領域131の数をMと記述し、抽出されるモデル特徴量の種類数をLと記述した場合、次のような情報が1つのモデル画像から得られ、モデル辞書56に登録されることになる。
すなわち、ベース点の位置(bx,by)、ベース点の特徴量抽出領域の相対位置(fbθi,fbri)、およびベース点の特徴量bfikが1つのモデル画像について得られる。ここで、iは、1乃至Mの整数であり、kは、1乃至Lの整数である。
また、サポート点の相対位置(θj,rj)(jは、1乃至Mの整数)、サポート点の特徴量抽出領域の相対位置(fsθi,fsri)、およびサポート点の特徴量sfik(kは、1乃至Lの整数)が1つのモデル画像について得られる。
以下、このようにして1つの特徴量抽出領域131から複数種類のモデル特徴量が抽出される処理が採用された場合における、ターゲット画像認識部32の処理について説明する。ただし、1つの特徴量抽出領域131から1種類の特徴量が抽出される処理が採用された場合における、上述したターゲット画像認識部32の処理との相違点を主に説明し、一致点については適宜省略する。
ターゲット特徴量抽出部65は、ターゲット画像の特徴量であるターゲット特徴量として、モデル特徴量として抽出された複数種類のそれぞれについて抽出する。ターゲット特徴量抽出部65は、抽出されたターゲット画像の複数種類のターゲット特徴量を、マッチング部66に供給する。
マッチング部66は、ターゲット特徴量抽出部65において抽出されたターゲット画像のターゲット特徴量と、モデル辞書56に登録されているモデル画像のモデル特徴量とのマッチングを各種類毎に行い、モデル画像とターゲット画像とのマッチングペアを取得する。
即ち、マッチング部66は、図18のステップS94の処理を、モデル特徴量の各種類毎にそれぞれ実行することになる。
例えば上述した図22のエッジ画像111とのマッチングを行う場合、マッチング部66は、図24に示されるように、サンプリング点(ベース点およびサポート点)のそれぞれについて、第1の種類の複数のモデル特徴量と、第1の種類のターゲット特徴量とのマッチングを行い、その中で最も特徴量コストの高いもの同士をマッチングペア候補として選択する。
同様に、マッチング部66は、図25に示されるように、サンプリング点(ベース点およびサポート点)のそれぞれについて、第2の種類の複数のモデル特徴量と、第2の種類のターゲット特徴量とのマッチングを行い、その中で最も特徴量コストの高いもの同士をマッチングペア候補として選択する。
ここで、サンプリング点(ベース点およびサポート点)について、2つの特徴量抽出領域が設定され、各特徴量抽出領域に対して、第1の種類の特徴量と、第2の種類の特徴量がそれぞれ抽出されている。このため、図24と図25の例では、図22の記載にあわせ、符号Aが付された特徴量抽出領域については、第1の種類のモデル特徴量が特徴量A1と記述され、第2の種類のモデル特徴量が特徴量A2と記述されている。また、符号Bが付された特徴量抽出領域については、第1の種類のモデル特徴量が特徴量B1と記述され、第2の種類のモデル特徴量が特徴量B2と記述されている。
例えば図24の中央に示されるように、マッチング部66は、モデル画像のエッジ強度画像151に対して設定されている特徴量抽出領域における第1の種類のモデル特徴量(特徴量A1や特徴量B1)と、ターゲット画像のエッジ強度画像251における第1の種類のターゲット特徴量とのマッチングを行う。この場合、図24の右側に示されるように、ターゲット画像の点p'では、特徴量抽出領域131Bの特徴量B1が選択され、ターゲット画像の点p'1では、特徴量抽出領域231Aの特徴量A1が選択される。また、ターゲット画像の点p'2では、特徴量抽出領域232Bの特徴量B1が選択され、ターゲット画像の点p'3では、特徴量抽出領域233Bの特徴量B1が選択される。
また、上述の第1の種類のモデル特徴量(特徴量A1や特徴量B1)とのマッチングとは独立して、例えば図25の中央に示されるように、マッチング部66が、モデル画像のエッジ強度画像151に対して設定されている特徴量抽出領域における第2の種類のモデル特徴量(特徴量A2や特徴量B2)と、ターゲット画像のエッジ強度画像251における第2の種類のターゲット特徴量とのマッチングを行う。この場合、図25の右側に示されるように、ターゲット画像の点p'では、特徴量抽出領域131Bの特徴量B2が選択され、ターゲット画像の点p'1では、特徴量抽出領域231Aの特徴量A2が選択される。また、ターゲット画像の点p'2では、特徴量抽出領域232Bの特徴量B2が選択され、ターゲット画像の点p'3では、特徴量抽出領域233Bの特徴量B2が選択される。
なお、図24と図25に示されるモデル特徴量の選択は例示に過ぎない。即ち、特徴量の第1の種類と第2の種類とは相互に独立した別々の種類であり、上述の如く、各種類毎に独立してマッチングがそれぞれ行われる。よって、当然ながら、ターゲット画像によっては、点p'、点p'1、点p'2、または点p'3に対して、第1の種類については特徴量A1が選択され、第2の種類については特徴量B2が選択される場合もある。さらにまた、点p'、点p'1、点p'2、または点p'3に対して、第1の種類については特徴量B1が選択され、第2の種類については特徴量A2が選択される場合もある。
以上の説明においては、本発明の理解を容易なものとすべく、モデル特徴量の種類は第1の種類と第2の種類の2種類とされた。しかしながら、モデル特徴量の種類は、2種類に限定されず、当然ながらL種類(Lは2以上の整数値)でもよい。この場合、モデル画像のベース点の数をq個とすると、q個のベース点毎に、L種類の各特徴量についてのマッチング処理がそれぞれ独立して行われる。その結果、最終的に得られる情報は、以下のようになる。
すなわち、モデル画像の座標点(mxij,myij)、ターゲット画像の座標点(txij,tyij)、および最大コスト値cost_i_j(iは1乃至qの整数であり、jは1乃至Lの整数である)が得られる。
ここで、1つのベース点について着目するに、1つのベース点に対しては、L種類の特徴量によるマッチングペア候補がそれぞれ取得されることになる。この場合、L種類の特徴量によるマッチングペア候補を全て、最終的なマッチングペアとすることもできる。
ただし、本実施の形態では、さらに、マッチング部66は、各ベース点毎に、保存されているコスト値をもとに、L種類の特徴量によるマッチングペア候補の中から、最終的なマッチングペアの選択を行うとする。なお、後述するように、選択されるマッチングペアは、1つとは限らない点留意する。
ここで、L種類の特徴量の中に、他とは異なる尺度を有する種類が存在する場合と、存在しない場合とでは、マッチングペアの選択手法が異なる。そこで、以下、両者の場合の選択手法の一例についてそれぞれ説明する。
はじめに、異なる尺度を有する種類の特徴量が存在する場合の選択手法の一例について説明する。
例えば、ここでは、L=2として、第1の種類の特徴量としてエッジ強度が採用されており、第2の種類の特徴量としてカラーヒストグラムが採用されているとする。
この場合、両種類の特徴量の特徴空間でのスケールが異なるため、そのコスト値を単純に比較することはできない。そこで、このような場合、各種類の特徴量のコスト値に対して、信頼度を表す閾値を設定すればよい。例えば、エッジ強度(第1の種類の特徴量)の閾値としてはthresh1を採用し、カラーヒストグラム(第2の種類の特徴量)の閾値としてはthresh2を採用するとする。
この場合、マッチング部66は、各ベース点毎に、エッジ強度(第1の種類の特徴量)についてのマッチングペア候補のコスト値が閾値thresh1を超えているか否かを判定する。閾値thresh1を超えている場合には、マッチング部66は、そのマッチングペア候補をマッチングペアとして採用する。
同様に、マッチング部66は、各ベース点毎に、カラーヒストグラム(第2の種類の特徴量)についてのマッチングペア候補のコスト値が閾値thresh2を超えているか否かを判定する。閾値thresh2を超えている場合には、マッチング部66は、そのマッチングペア候補をマッチングペアとして採用する。
このように、各種類毎に別々の閾値で比較されるので、同一のベース点について、2種類の特徴量コストの何れもが各閾値を超える場合もでてくる。このような場合、マッチング部66は、2種類の各マッチングペアペアは何れも信頼性が十分高いとして判断し、たとえ対応する点がそれぞれ異なる場合であっても、両者ともマッチングペアとして採用するとする。
次に、異なる尺度を有する種類の特徴量が存在しない場合、即ち、同一尺度を有する種類の特徴量のみが存在する場合の選択の手法の一例について説明する。
例えば、ここでは、L=3として、第1の種類の特徴量としてカラーテンプレートのうちのRのレイヤが採用されており、第2の種類の特徴量としてカラーテンプレートのうちのGのレイヤが採用されており、第3の種類の特徴量としてカラーテンプレートのうちのBのレイヤが採用されているとする。
この場合、R,G,Bの3種類の特徴量は同一のスケールとして取り扱うことが可能である。よって、マッチング部66は、各ベース点毎に、マッチングペア候補の中から、それぞれ得られたコスト値の中で最も良いものをマッチペアとして選択すればよい。
以上の処理により、最終的なモデルの各ベース点のそれぞれに対応するターゲット点のマッチングペアの取得が可能となる。ただし、上述したように、各ベース点のうちの幾つかのベース点については、場合によっては複数の対応点が得られることになる。
即ち、以上の処理により、モデルの各ベース点は,その周辺に設けた複数の特徴量抽出領域から抽出した特徴量を持ち、マッチングの際にそれらの中で最もスコアが良いものが選択されるため、複雑背景化やビュー変化などの環境変化に対処可能となる。
さらに、モデルの各ベース点は複数種類の特徴量を持ち、その結果、得られたマッチングペア候補から、各種類の特徴量でのマッチング結果のコストによって絞り込んでマッチングペアが選択される。よって、1つの種類の特徴量を利用する場合と比較して、上述した環境変化に対してロバストになる。
また、各ベース点について、使用する特徴量をマッチング時に適応的に判定するため、事前に1つの特徴量を決定する必要がない。
このような各種効果を奏する図18のステップS94の処理が終了すると、処理はステップS95の処理に進む。ただし、ステップS95以降の処理は、上述した処理と基本的に同様となるため、ここではその説明は省略する。
以上においては、本発明を物体認識装置に適用した実施の形態について説明したが、本発明は、例えば、画像内の物体を比較し認識する情報処理装置に適用することができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図26は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)401は、ROM(Read Only Memory)402、または記憶部408に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)403には、CPU401が実行するプログラムやデータなどが適宜記憶される。これらのCPU401、ROM402、およびRAM403は、バス404により相互に接続されている。
CPU401にはまた、バス404を介して入出力インターフェース405が接続されている。入出力インターフェース405には、キーボード、マウス、マイクロフォンなどよりなる入力部406、ディスプレイ、スピーカなどよりなる出力部407が接続されている。CPU401は、入力部406から入力される指令に対応して各種の処理を実行する。
そして、CPU401は、処理の結果を出力部407に出力する。
入出力インターフェース405に接続されている記憶部408は、例えばハードディスクからなり、CPU401が実行するプログラムや各種のデータを記憶する。通信部409は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
また、通信部409を介してプログラムを取得し、記憶部408に記憶してもよい。
入出力インターフェース405に接続されているドライブ410は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア411が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部408に転送され、記憶される。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図26に示されるように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア411、または、プログラムが一時的もしくは永続的に格納されるROM402や、記憶部408を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部409を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 物体認識装置, 31 モデル特徴量登録部, 32 ターゲット画像認識部, 51 カメラ部, 52 フレームメモリ, 53 エッジ強度画像生成部, 54 エッジ画像生成部, 55 モデル特徴量抽出部, 56 モデル辞書, 61 カメラ部, 62 フレームメモリ, 63 エッジ強度画像生成部, 64 エッジ画像生成部, 65 ターゲット特徴量抽出部, 66 マッチング部, 67 物体同定部