説明

3次元物体認識システム

【課題】1枚の画像から物体を認識し、画像のカメラ姿勢も推定する3次元認識。
【解決手段】 エッジ抽出処理202は、入力画像から画像エッジ点を抽出する。特徴ベクトル生成処理203は、エッジ抽出処理202で抽出した各画像エッジ点に対して、特徴ベクトルを生成する。2次元モデル照合処理207は、特徴ベクトルを付加された画像エッジ点群を入力し、物体モデル記憶107の物体モデルを参照して、入力画像エッジ点群と特徴ベクトルがマッチする2次元モデルをもつ物体モデルを求める。マッチした入力画像エッジ点とモデル画像エッジ点のペアの集合を作る。
3次元姿勢推定処理208は、2次元モデル照合処理207で求めた物体モデルを入力して、物体の3次元エッジモデルの投影像が入力画像エッジ点群と一致するカメラ姿勢を求める。最終的に、マッチした物体モデル名とカメラ姿勢を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像入力装置(カメラ) を移動しながら撮影した画像列から物体認識に用い
る物体モデルを生成すること、および、その物体モデルを用いてカメラ画像から物体を認識し、物体の3次元姿勢を推定することに関する。
【背景技術】
【0002】
本発明で対象とする物体認識は、カメラ画像を入力とし、あらかじめ定義した物体モ
デル群をその入力画像と照合して、最もよくマッチする物体モデルを出力する処理であ
る。最もマッチする物体モデルがなければ、何も出力しない。さらに、マッチする物体
モデルの3次元姿勢を推定する。これは、ロボットによる物体操作などへの応用におい
て、とくに重要である。
一般に、物体認識には物体モデルが必要であるが、物体モデルを手動で生成するのは、多大な工数がかかる。また、複雑な形状の物体に対応しにくい、誤差が入りやすい、などの問題がある。
【0003】
さて、物体モデルの生成システムも含む、カメラ画像から物体認識を行う方法は、従来から多数提案されている。物体認識は、一般に、物体モデルがもつ特徴と入力画像から抽出した特徴を比較して、よくマッチする物体モデルを求める。認識に用いる特徴として、2次元特徴と3次元特徴がある。
2次元特徴を用いる方法としては、たとえば、特許文献1および非特許文献1がある。特許文献1に記載している方法では、カメラ角度を少しずつ変えながら、対象物体の画像を撮影し、特徴を抽出して物体モデルとする。また、非特許文献1の方法も同様に、カメラ角度を変えながら対象物体の画像を撮り、スケール不変な特徴を抽出して、物体モデルとする。マッチングに用いる特徴量は異なるが、いずれも、2次元特徴を用いて入力画像によくマッチするモデル画像を求める。
【0004】
3次元特徴を用いる方法として、たとえば、特許文献2がある。特許文献2の方法では、ステレオ画像を入力として、物体の3次元形状から抽出した3次元特徴を認識に用いている。具体的には、エッジセグメントを構成単位として物体モデルを生成する。その際、3次元空間でのエッジセグメントの分岐点、屈曲点、変曲点、遷移点を認識特徴として用いる。これらの3次元特徴を用いて、指定した物体が画像中に存在するかを調べ、存在する場合は、入力画像の3次元特徴と位置が合うように、3次元物体モデルを座標変換して、物体の3次元姿勢推定を行う。
【0005】
【特許文献1】特開2003−271929号公報
【特許文献2】特許2961264号公報
【非特許文献1】D. G. Lowe: “Distinctive image features from scale-invariant keypoints,”International Journal of Computer Vision, 60:91-110,2004.
【非特許文献2】友納:”画像列からの密な物体モデル生成のためのエッジの3次元復元”、日本ロボット学会第23回学術講演会予稿集,2005.
【非特許文献3】友納:”基線長選択機能を備えた形状復元に基づく単眼カメラ画像列からの3次元マップの構築”第10回ロボティクスシンポジア予稿集, pp.159-164, 2005.
【非特許文献4】J. Canny: A Computational Approach to Edge Detection,IEEE Trans. PAMI, Vol. 8, No. 6, pp. 679-698 (1986).
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述の2次元特徴を用いる方法では、画像に写っている物体を特定することはできる
が、2次元特徴だけを用いているため、物体の正確な3次元姿勢を推定することはでき
ない。
一方、3次元特徴を用いる方法では、次のような問題がある。特許文献2では、入力
画像から3次元特徴を得るにはステレオ画像を用いているが、そのためには複眼のステ
レオカメラが必要であり、その装置コストや校正の手間がかかるという問題がある。ま
た、対象物体が遠方にある場合は、ステレオカメラによる3次元復元に必要な視差が充
分に得られなくなり、有意な3次元特徴が抽出できず、認識ができなくなるという問題
がある。
これに対し、ステレオカメラを用いずに、1台の単眼カメラを移動させながら入力画像
を複数枚撮影して3次元特徴を得る方法も考えられる。しかし、カメラを適切に移動させながら画像を撮影するのに時間を要し、また、3次元復元処理にも時間がかかる。これらに要する時間は、物体モデル生成ではさほど問題にならないが、物体認識はロボットの動作中に実時間で行う必要性が高いため、大きな短所となりうる。
本発明は、これらの問題に対処して、1枚のカメラ画像から物体の認識と3次元姿勢推
定を安定して行うことを目的とする。
【課題を解決するための手段】
【0007】
上述の目的を達成するために、本発明は、1枚の入力画像から物体認識を行う3次元物体認識システムにおいて、物体名、3次元エッジモデル、2次元モデル(複数の画像に対するカメラ姿勢、画像エッジ点群、該各画像エッジ点の特徴ベクトル、及び、各画像エッジ点と対応する3次元エッジ点)を組にして物体モデルとして記憶する物体モデル記憶手段を有し、前記入力画像から画像エッジ点群を抽出する画像エッジ抽出手段と、前記画像エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、 前記特徴ベクトル生成手段で得られた前記入力画像の画像エッジ点の特徴ベクトルと、前記物体モデル記憶手段に記憶された物体モデルがもつ画像エッジ点の特徴ベクトルとを比較して、前記入力画像にマッチする物体モデルを検索する2次元モデル照合手段と、該検索された物体モデルがもつ3次元エッジモデルの3次元エッジ点を、前記入力画像に投影した位置が前記入力画像の画像エッジ点の位置と一致する度合いが大きくなるようなカメラ姿勢を求める3次元姿勢推定手段とを備え、前記入力画像の物体名とカメラ姿勢とを出力することを特徴とする3次元物体認識システムである。
本発明は、物体モデルを2次元の画像エッジ点とそれらを3次元に復元した3次元エッジ点とで構成し、多数の画像エッジ点を2次元特徴として用いて安定な認識を行いながら、3次元エッジ点を用いて物体の3次元姿勢推定を正確に行っている。
【0008】
また、カメラ画像列から、物体認識に用いる物体モデルを生成するシステムであって、
画像列と該画像列を撮影した際のカメラ姿勢列を入力して、物体認識に用いるモデル画像と該モデル画像を撮影したカメラ姿勢を選択するモデル画像選択手段と、該モデル画像を入力して画像エッジ点群を抽出するエッジ抽出手段と、該エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、該モデル画像に対応するカメラ姿勢と物体の3次元エッジモデルを入力して、該3次元エッジモデルに含まれる各3次元エッジ点の該モデル画像への投影を計算して前記投影エッジ点を求める3次元モデル投影手段と、該3次元モデル投影手段で計算された投影エッジ点と、前記エッジ抽出手段で抽出された画像エッジ点の位置関係から3次元エッジ点と画像エッジ点の対応関係を生成するエッジ点対応づけ手段とを備え、物体名、3次元エッジモデル、2次元モデル(複数の画像に対するカメラ姿勢、画像エッジ点群、該各画像エッジ点の特徴ベクトル、及び、各画像エッジ点と対応する3次元エッジ点)を組にして物体モデルとして出力することを特徴とする3次元物体認識システム用物体モデル生成システムも構成するとよい。
【0009】
前記特徴ベクトル生成手段は、画像エッジ点の特徴ベクトルを生成する際に、該画像エッジ点を中心とした円形領域を求めて、該円周上にあるエッジ強度の和が最大あるいは極大になるように該円形領域の半径を定め、該円形領域に含まれる画像情報から特徴ベクトルを生成することもできる。
また、上述のシステムをコンピュータ・システムに構成させるコンピュータ・プログラムも本発明である。
【発明の効果】
【0010】
本発明によれば、2次元エッジ点(画像エッジ点)と3次元エッジ点の両方を用いるため、物体の特定と3次元姿勢推定を1枚の入力画像で行えるという効果がある。また、エッジ点の各々を独立した特徴点として用いるので、特徴の少ない物体に対しても、認識の安定性が増すという効果がある。
また、この3次元物体認識システムに用いる物体モデルも容易に作成することができる。
【発明を実施するための最良の形態】
【0011】
以下に、図面を用いて、本発明を実施するための実施形態を説明する。
<概要>
本発明は、物体モデル生成と物体認識の2つのフェーズからなる。
物体モデル生成のフェーズでは、複数のカメラ視点から撮影した対象物体の画像列、その撮影時のカメラ運動、および、その画像列から復元した3次元エッジモデルを入力とする。そして、該画像列の画像から抽出した2次元エッジ点、および、その2次元エッジ点と3次元エッジ点の対応関係を出力する。
【0012】
この処理で、画像列から対象物体だけを切り出す処理が必要である。その方法は従来からいろいろある。簡単な方法として、たとえば、人間がコンピュータ画面上でマウスなどのポインティングデバイスを用いて手動で物体を切り出す方法などが考えられる。
ここで用いる対象物体の画像列は、単眼カメラで撮影した画像でも複眼ステレオカメラの画像でもよい。カメラ運動は、この画像列の各画像を撮影したときのカメラ姿勢の時系列である。各カメラ姿勢がわかれば、単眼カメラの場合でも、ステレオ視の原理に基づいて画像から抽出したエッジを3次元復元することができる。
【0013】
単眼カメラによる3次元エッジの復元は、たとえば、非特許文献2,3で述べられている。非特許文献2,3では、単眼カメラ画像列に対して、少数の一意性の高い特徴点を画像間で追跡し、因子分解法と逆投影誤差最小化を用いて、カメラ運動を推定する。そして、このカメラ運動を用いて画像間でエッジ点の対応づけを行い、三角測量の原理を用いて3次元復元を行い、3次元エッジモデルを求めている。
物体モデル生成では、画像列とカメラ運動の情報から、次のように物体モデルを生成する。まず、前記画像列からいくつかの画像を選択して、モデル画像とする。各モデル画像から物体のエッジ点を抽出する。
さて、各画像を撮影したカメラ姿勢はわかっているから、前述の3次元エッジモデルを、そのカメラ姿勢に基づいて画像に投影すると、3次元エッジ点の投影像が2次元エッジ点とほぼ重なるはずである。これにより、各画像の2次元エッジ点と3次元エッジ点の対応づけを行うことができる。さらに、エッジ点の近傍領域から、そのエッジ点を識別するための特徴ベクトルを生成しておく。
【0014】
また、3次元物体認識のフェーズでは、上述のようにして得られた2次元エッジ点と3次元エッジ点の両方を用いて、物体認識を行う。まず、2次元エッジ点を用いて画像レベルで物体を認識し、次に、2次元エッジ点と3次元エッジ点を用いて物体の3次元姿勢推定を行う。
画像レベルの認識では、入力画像の2次元エッジ点に対して特徴ベクトルを生成し、モデル画像の2次元エッジ点の特徴ベクトルと照合する。特徴ベクトルは、多少のカメラ角度の違いがあってもマッチするので、多くの場合、モデル画像のどれかとはマッチする。入力画像とモデル画像で2次元エッジ点がマッチすれば、入力画像の2次元エッジ点と3次元エッジ点の対応がとれるので、3次元姿勢推定が可能になる。
【0015】
本発明では、エッジを線分として扱うのではなく、独立したエッジ点として扱う。これは、次の利点による。
第一の利点は、エッジ点は大量に得られるので、統計的に処理することで安定して認識を行えることである。認識によく使われる特徴点として、エッジのコーナ点や分岐点などがあるが、その個数は物体あたりたかだか数十個程度である。一方、エッジ点は数千から数万個のオーダで得られる。
第二の利点は、個々のエッジ点は最小限の画像処理で得られるので、エッジ線分などの高次の特徴よりも安定して得られることである。エッジを線分として扱おうとすると、直線当てはめ処理などで誤差が生じる可能性があり、また、線分の端点を正確に求めるのも難しい。
第三の利点は、エッジ点は3次元形状モデルとの対応がとりやすいことである。エッジ点は、見かけの輪郭線(シルエット) でなければ、カメラの視点が変わってもほぼ同じ位置に抽出できる。このため、カメラ画像列から3次元モデルを生成するのに都合がよい。しかも、エッジ点群で構成された3次元モデルは形状が鮮明なので、人間が目視で確認するのにも適している。
【0016】
<物体モデル生成>
図1にしたがい、本発明における物体モデル生成処理の一実施形態を説明する。
モデル画像選択処理101は、カメラからの画像列と推定したカメラ運動を入力して、所定の間隔で選択したモデル画像Jとカメラ姿勢Tを出力する。選択の方法としては、画像を表示して、オペレータが目視で確認しながら手動で選んでもよい。あるいは、カメラ姿勢間の並進量と回転量の間隔をあらかじめ設定しておき、その間隔を超えた移動があった時のカメラ姿勢を自動的に選ぶようにしてもよい。
3次元エッジモデル生成処理102では、画像列とカメラ姿勢列から、3次元エッジモデルを生成する。この生成については、上述のように非特許文献2,3に記載されている。これにより、単眼カメラで撮影した画像からでも、3次元エッジモデルを生成することができる。
【0017】
エッジ抽出処理103は、モデル画像選択処理101からモデル画像Jを入力して画像エッジ点群Gを抽出する。画像エッジ点群Gの抽出には、たとえば、非特許文献4で提案されたCannyオペレータを用いて、画像のエッジ点を抽出する。
Cannyオペレータは、ガウス関数で画像を平滑化した後、画像の一次微分を施す。そして、エッジの法線方向(微分方向) で微分強度が極大となる点をエッジ点として抽出する。このようなエッジ抽出法では、画像に写っている対象物体の大きさによって、エッジの位置が変化することがある。この問題に対しては、Canny オペレータのガウス関数の分散項を自動調節することで、エッジ位置のずれを軽減することが可能である。
このエッジ抽出処理については、従来技術を用いているので、非特許文献4などを参照されたい。
【0018】
3次元モデル投影処理104は、3次元エッジモデル生成処理102で生成された物体の3次元エッジモデル、および、モデル画像選択処理101からのモデル画像Jとカメラ姿勢Tを入力して、このカメラ姿勢Tに基づいて透視変換の公式により、3次元エッジモデルに含まれる各エッジ点をモデル画像へ投影して投影エッジ点群を求める。
エッジ点対応づけ処理105は、エッジ抽出処理103で抽出された画像エッジ点群Gと3次元モデル投影処理104で求めた投影エッジ点群とについて位置の近いものを見つけて、画像エッジ点qと3次元エッジ点Pの対応関係を生成する。
【0019】
特徴ベクトル生成処理106は、モデル画像Jを入力して、エッジ点対応づけ処理105で得られた対応関係を含む画像エッジ点qに対して、特徴ベクトルBを付加する。特徴ベクトルBは、画像エッジ点qの近傍の局所画像から後述の方法で作成する。
物体モデル記憶107は、物体モデル名、3次元エッジモデル、および、エッジ点対応づけ処理105で生成されたエッジ点対応関係を組にした2次元モデルを物体モデルとして記憶する。
【0020】
<物体モデルの説明>
次に、図2を用いて、本発明の物体認識システムで用いる物体モデルの構成例を説明する。ここで説明する物体モデルは、上述の図1で説明した物体モデル生成の処理で作成されるものであり、上述の物体モデル記憶107に記憶されるものである。
物体モデルは、図2(a) に示すように、物体モデル名、3次元エッジモデル、および、2次元モデルから構成される。
物体モデル名はオペレータが物体に与えるもので、通常は対象物体に即した名前をつける。図2(a)では、desk1(机1)とつけられている。3次元エッジモデルは、前述のように画像列から復元した3次元エッジ点Piの集合である。2次元モデルは、あるカメラ視点から対象物体を撮影した画像から抽出された情報である。一般に、1つの物体モデルは複数の2次元モデルをもつ。
【0021】
2次元モデルは、図2(b)に示すように、2次元モデルID、モデル画像J、カメラ姿勢T、エッジ点集合Gから構成される。
2次元モデルIDは、2次元モデルを一意に表す記号(例えば、M1)である。モデル画像Jは、対象物体の画像列の中から選択された1枚の画像データである。カメラ姿勢Tは、モデル画像を撮影したときのカメラの姿勢であり、ある3次元座標系内の位置(x,y,z)と方向(θ,φ,ψ)を表す6個の変数からなる。座標系は任意でよいが、通常は、画像列の最初の画像を撮影したカメラ姿勢を原点にして設定される。エッジ点集合Gは、モデル画像から抽出された画像エッジ点qの情報の集合である。
画像エッジ点qの情報は、2次元特徴として認識に用いられる。図2(c)は、1個の画像エッジ点qの情報の構成である。エッジ点qの情報は、モデル画像内での位置(u,v)、方向(a)、スケール(S)、特徴ベクトル(B)、および、対応する3次元エッジ点(Pj)から構成される。
モデル画像内での位置(u,v)は、上述のエッジ抽出処理103におけるエッジ抽出オペレータにより求められる。方向(a)はその位置での画像の微分方向であり、やはり上述のエッジ抽出オペレータにより求められる。スケールはエッジ点qの近傍領域のサイズ(S)であり、その求め方は後で説明する。特徴ベクトルBは、エッジ点の近傍の局所画像から抽出される多次元の数値情報である。種々のものが利用可能であるが、マッチングを安定して行うために、回転不変性、スケール不変性、照明不変性、カメラ視点の変化による歪みに対する許容性をもつことが望ましい。3次元エッジ点Pjは、モデル画像と3次元エッジモデルの間で画像エッジ点の対応関係を保持するためのものである。
【0022】
<2次元モデルの生成手順>
次に、図3にしたがって、2次元モデルの生成手順を説明する。図3を用いて説明する処理は、図1において、3次元モデル投影処理104,エッジ点対応づけ処理105および特徴ベクトル生成処理106の処理に対応している。
さて、ここでの入力は、モデル画像選択処理101で選択したモデル画像Jとカメラ姿勢T、および、エッジ抽出処理103で抽出された画像エッジ点群Gである。
この時点では、画像エッジ点群Gの各画像エッジ点qは、図2(c)に示した画像エッジ点の構成において、位置と方向しかもたない。この各画像エッジ点qに対して、図2(c)のスケールS、特徴ベクトルB、および、対応する3次元エッジ点Pを求めることが、図3に示したフローチャート処理での目的である。
【0023】
まず、カメラ姿勢Tに基づいて、3次元エッジ点群をモデル画像Jに投影する(S110)。
次に、ステップS112において、画像エッジ点群Gから1つの画像エッジ点qを取り出す。次に、ステップS114において、モデル画像Jに3次元エッジ点群を投影した像のうち、エッジ点qに位置が最も近いものを求める。この基準としては、2点間のユークリッド距離を用いればよい。これを図4を用いて説明する。
たとえば、図4は、カメラ姿勢を用いてカメラ中心と3次元エッジモデルとを直線で結び、それが画像Jを切る点を求めることで3次元エッジモデルを画像Jに投影していることを示している。図4では、3次元エッジ点Pの画像Jへの投影点が画像エッジ点qと一致するので、画像エッジ点qに対応する3次元エッジ点としてPを設定する。
【0024】
次に、エッジ点qの特徴ベクトルBを求める(S116)。このとき、qのスケールも求める。これらの求め方は後述する。次に、ステップS118において、画像エッジ点群Gにエッジ点が残っているかを調べ、残っていればステップS112に戻る。エッジ点が残っていなければ、ステップS120において、モデル画像J、カメラ姿勢T,画像エッジ点群Gをまとめて2次元モデル情報を生成し、自動的に決めた2次元モデルIDをつけて、物体モデル記憶に格納する。
なお、エッジ点qから所定の距離以内に3次元エッジ点の投影像がなければ、そのエッジ点qの対応はないとしてもよい。この場合、図3に示したフローチャートで、3次元エッジ点Pとの対応関係がないときは、特徴ベクトルを生成する処理(S116)はスキップするようにする。
【0025】
<特徴ベクトルの生成方法>
図3における特徴ベクトルの生成(S116)を詳しく説明する。
一般に、物体は、画像により様々な大きさで写っている。少ないモデル画像で種々の入力画像とマッチングできるようにするには、画像中の物体の大きさに依存しないように特徴ベクトルを生成できることが望ましい。このためには、特徴ベクトルを生成する近傍領域の大きさを、物体の大きさに合わせて決める必要がある。
このために、次のように近傍領域の半径Sを決め、これを図2(c)で示したエッジ点のスケールSとする。
【数1】

ここで、(r,θ)はエッジ点qを中心とした極座標表現であり、V(r,θ)はqを中心とした半径rの円周上の点(r,θ)でのエッジ強度である。Kは適当な比例定数である。
この式は、qを中心とした円周上にあるエッジ点の強度の和が最大になる半径を求めている。これは、直観的には、図5のようにqの周囲のエッジと最もよく接する円に相当する。Sは、画像中の物体の大きさに比例するので、Sで近傍領域の局所画像を正規化すれば、特徴ベクトルは物体の大きさに依存せず不変になる。なお、上式では最大点を採用しているが、Sの適当な初期値から探索を始めて最初に見つかった極大点を用いてもよい。
【0026】
図6に、物体の大きさに依存しない近傍領域を求めた例を示す。図6で、円の中心が画像エッジ点、円の半径が近傍領域のサイズである。左右の画像で、机の大きさが異なるが、円の大きさが、ほぼ机の大きさに比例して求められていることがわかる。
エッジ点の近傍領域が決まると、その中に含まれる局所画像から特徴ベクトルを生成する。まず、局所画像を上式で求めた近傍領域サイズSで正規化する。これにより、物体の大きさによらず、近傍領域に含まれる画素の個数を同じにする。
特徴ベクトルは種々のものが利用できるが、たとえば、非特許文献1で提案されたSIFT法で用いられる特徴ベクトルを利用する。SIFT法での特徴ベクトルは、特徴点の近傍領域の局所画像を4×4のブロックに分割して、各ブロック内にある画素の微分方向のヒストグラム値を並べて特徴ベクトルとする。方向ヒストグラムは45°の間隔で離散化される。したがって、4×4×8=128次元のベクトルとなる。ただし、特徴ベクトルが物体の回転に不変となるように、注目しているエッジ点の法線方向からの相対角度で方向ヒストグラムを作る。なお、SIFT法では、特徴点としてDOG (Difference of Gaussian) フィルタの極値点を用いるが、本発明では、そのかわりにエッジ点を用いていることに注意されたい。
【0027】
この特徴ベクトルは、微分画像から得た画素の方向情報に基づくため、濃淡画像を直接用いるよりも、照明変化に対する不変性が高い。また、上述のように回転不変性をもつ。局所画像を近傍領域の大きさで正規化するので、物体の大きさに依存しないというスケール不変性も有する。さらに、SIFT特徴ベクトルは局所特徴量なので、画像が全体として多少歪んでも、あまり変化しない。このため、たとえば30°おきにカメラ角度を変化させて撮影した画像をモデル画像として用いれば、多くの場合、そのどれかは入力画像とマッチする。そこで、3次元エッジモデルを生成した画像列から何枚か抜粋して、モデル画像として用いれば、少数のモデル画像で、種々のカメラ視点から撮影した物体の画像をカバーできる。
以上述べたようにして、本発明では物体モデルを生成する。
【0028】
<物体認識>
図7にしたがい、本発明における物体認識処理の概略を説明する。この物体認識処理は、上述の処理で生成した、図2に示す2次元モデルと3次元エッジモデルを含む物体モデルを使用し、1枚の入力画像から物体を認識するとともにその画像のカメラ姿勢も推定する。
エッジ抽出処理202は、入力画像から画像エッジを抽出する。その処理内容は、図1の物体モデル生成におけるエッジ抽出処理103と同様である。
特徴ベクトル生成処理203は、エッジ抽出処理202で抽出した各画像エッジ点qに対して、特徴ベクトルを生成する。その処理内容は、図1の物体モデル生成時の特徴ベクトル生成処理106と同様である。ただし、物体モデル生成時における特徴ベクトル生成処理106では、3次元エッジ点Pと対応がとれた画像エッジ点qに対してのみ特徴ベクトルを生成したが、物体認識時は、すべての画像エッジ点qに対して、特徴ベクトルを生成する。
【0029】
2次元モデル照合処理207は、特徴ベクトル生成処理203により特徴ベクトルを付加された画像エッジ点群qを入力し、物体モデル記憶107の物体モデルを参照して、入力画像エッジ点群と特徴ベクトルがよくマッチする2次元モデルをもつ物体モデルを求める。さらに、マッチした入力画像エッジ点とモデル画像エッジ点のペアの集合Hを作る。
3次元姿勢推定処理208は、2次元モデル照合処理207で求めた物体モデルと2次元モデル、および、エッジ点ペア集合Hを入力して、物体の3次元エッジモデルの投影像が入力画像エッジ点群とよく一致するカメラ姿勢を求める。そして、最終的な認識結果として、最もよくマッチした物体モデル名とカメラ姿勢を出力する。
【0030】
<物体認識の詳細処理手順>
図8にしたがい、本発明における物体認識処理手順の一例を説明する。このフローチャートでは、図7の2次元モデル照合処理207及び3次元姿勢推定処理208を詳しく説明する。
まず、入力画像エッジ点群とマッチするモデル画像エッジ点が多い2次元モデルMを物体モデル記憶を参照して求める(S212)。エッジ点のマッチングは、特徴ベクトル生成処理203で求めた入力画像エッジ群の特徴ベクトルと、2次元モデルMの各画像エッジ点の特徴ベクトルとの一致度を用いて判定する。
特徴ベクトルの一致度の計算には種々の方法があり得るが、たとえば、特徴ベクトル同士のユークリッド距離や相関などを用いればよい。判定の結果、2次元モデルMは複数個得られる可能性があるので、それぞれを候補として集合Dに登録する。また、2次元モデルMごとに、マッチしたモデル画像エッジ点と入力画像エッジ点のペア集合を記憶しておく。
【0031】
次に、集合Dから2次元モデルMを1個取り出して(S214)、2次元モデルMに対するエッジ点ペア集合を用いて、入力画像とモデル画像間の変換パラメータを求める(S216)。ここでの変換とは、モデル画像に写っている対象物体を入力画像にうまくマッチするように位置や形状を2次元的に変換するものである。変換の種類として、たとえば、相似変換やアフィン変換がある。求めた変換パラメータに違反するエッジ点ペアは取り除く(S218)。この処理については後で詳しく述べる。この2つのステップ(S216とS218)では、誤ったエッジ点の対応づけを除去し、後のステップにおけるカメラ姿勢の推定(S222)の精度を向上させるためのものである。
ステップS220においては、入力画像エッジ点と3次元エッジ点の対応関係を求める。モデル画像エッジ点に対応する3次元エッジ点は、物体モデル生成時に得られているので、前のステップ(S218)により入力画像エッジ点とモデル画像エッジ点の対応が得られれば、入力画像エッジ点と3次元エッジ点の対応も得られる。
次に、3次元エッジ点の入力画像への投影像と入力画像エッジ点の位置が一致するように、カメラ姿勢を求める(S222)。この具体的な方法は後で詳しく述べる。このとき、位置がよく一致するエッジ点ペアの個数、および、その位置誤差の和を一致度として計算する。
【0032】
次に、ステップS224においては、一致度が所定の閾値を超えたかどうか調べる。閾値を超えれば(S224でYES)、その2次元モデルをもつ物体モデルと、前のステップ(S222)で求めたカメラ姿勢を認識結果の候補として登録する(S226)。閾値を超えなければ(S224でNO)、その2次元モデルは採用しない。ステップS228で、集合Dに2次元モデルが残っているか調べ、残っていれば(S228でYES)、集合Dから残っている2次元モデルを取り出す処理(S214)から処理を繰り返す。
【0033】
この処理手順に従うと、最終的な認識結果が複数個得られることがある。複数候補が得られた場合の処理として、たとえば、一致度が最も高い候補を採用する、あるいは、他のセンサ情報や以前の認識結果との整合性を利用して候補を絞り込む、などが考えられる。
なお、入力画像と類似する2次元モデルの集合Dを作成するステップ(S212)において、物体モデル記憶107に含まれるすべての2次元モデルに対して、入力画像エッジ点群の特徴ベクトルのマッチングを行うと、多くの計算時間がかかる。そこで、非特許文献1で提案されているように、特徴ベクトルのインデックスをKD木で構成して、マッチングを高速に行うようにしてもよい。
【0034】
<エッジ点ペア集合のフィルタリング(S218)>
特徴ベクトルは局所特徴なので、それだけを用いてマッチングしたエッジ点ペアには多くの誤りが含まれうる。そこで、物体の画像上の形状にもとづく制約を用いて、誤ったエッジ点ペアを除去する処理(S218)を行っている。このために、まず、入力画像とモデル画像の変換を求める(S216)。この変換としては、相似変換やアフィン変換があるが、ここでは相似変換の例を述べる。
画像エッジ点は、位置、方向、スケールの情報をもつため、1組の入力画像エッジ点とモデル画像エッジ点とから、エッジ点の画像上での並進量(位置の差)、回転量(方向の差)、拡縮量(スケールの比)を計算することができる。各エッジ点ペアについてこれらの変換量を計算し、クラスタリングまたは投票処理を行って、最大多数を占める変換量を求める。このようにして求めた変換量によって、入力画像とモデル画像の相似変換を定義する。なお、アフィン変換の場合は、2組のエッジ点ペアからアフィン変換量を計算できる。
次に、エッジ点ペア集合に含まれるエッジ点ペアについて、求めた相似変換量と大きく値が異なる相似変換量をもつものを除去する。これにより、エッジ点の誤対応の多くが除去される。
【0035】
<3次元エッジモデルのマッチング(S222)>
入力画像エッジ点と3次元エッジ点の対応から、カメラ姿勢を計算する処理(S222)を説明する。
まず、カメラ姿勢の初期値として、モデル画像を撮影したカメラ姿勢を用いる。画像上の特徴が似ているということは、モデル画像のカメラ姿勢が入力画像のカメラ姿勢と近いと期待されるからである。次に、3次元エッジ点の入力画像への投影像が、入力画像のエッジ特徴点と位置がよく一致するようにカメラ姿勢を計算する。これは次式を最小化することで求める。
【数2】

ここで、Rは求めるカメラ姿勢の回転行列、Tはカメラの並進ベクトルである。また、P=(X,Y,Zは3次元エッジ点、P’=(X’,Y’,Z’)はPのカメラ姿勢R,Tによる座標変換点、q=(u,v)はPに対応する2次元エッジ点、fはカメラの焦点距離である。Eは、R,Tで決まるカメラ姿勢によって3次元エッジ点を入力画像に投影した点と、2次元エッジ点間の誤差の和を表す。
この最小化は非線形最小化問題となるので、上述のモデル画像のカメラ姿勢をR,Tの初期値として、最急降下法やニュートン法などの方法を用いて解く。
以上述べたようにして、本発明の3次元物体認識システムは、1 枚の入力画像から物体
の特定と3次元姿勢推定を行う。
【0036】
なお、システムの利用条件によっては、カメラと対象物体の距離が一定なため、画像内の物体の大きさがほぼ一定に保たれる場合もある。その場合は、スケール不変性に関する処理は省いてもよい。具体的には、特徴ベクトル生成における近傍領域のサイズ決定の処理は行わず、あらかじめ与えられた固定値を採用するのでよい。
【0037】
<認識例>
図9に本発明の物体認識の動作例を示す。図9(a)は、本発明の物体モデル生成のフェーズで作成した物体モデル(シンク)の3次元エッジモデルである。図9(b)〜(d)は、各1枚のカメラ画像に図9(a)の3次元エッジモデルを含んだ物体モデルを用いて、物体認識を行った結果である。図9(b)〜(d)は、物体(シンク)の認識が成功していることを示している。これらの図9(b)〜(d)では、本システムで推定したカメラ姿勢で、3次元エッジモデルをカメラ画像上に重ね合わせて表示している。
図9(b)は図9(c)や図9(d)より画像中の物体の大きさが小さいが、認識に成功していることを示している。また、図9(d)は、物体の一部が欠けて写っているが、認識に成功していることを示している。
この例における物体(シンク)はほぼ直線で構成されており、コーナ点や分岐点といった特徴点の個数は少ない。このため、物体の一部が画像から欠けると、抽出できる特徴点数が少なくなり、認識が不安定になる。しかしながら、本発明の方法では、エッジ点すべてを用いるため、物体の一部が欠けても、まだ多数の2次元エッジ点が得られるため、図9に示したように、認識の安定性が高い。
【0038】
本発明は、例えば、ロボットの視覚認識技術、監視システム、移動体による周囲環境
の認識、などに適用することができる。
【図面の簡単な説明】
【0039】
【図1】本発明における物体モデル生成の一実施形態を示すブロック図である。
【図2】物体モデルのデータ構造の一例を示す説明図である。
【図3】2次元モデル生成の処理手順の詳細を示すフローチャートである。
【図4】3次元エッジ点と画像エッジ点の対応関係を示す説明図である。
【図5】エッジ点近傍領域のスケール不変性の概念を説明する図である。
【図6】スケール不変なエッジ点抽出の一例を示す図である。
【図7】本発明における物体認識の一実施形態を示すブロック図である。
【図8】物体認識の処理手順の詳細を示すフローチャートである。
【図9】本発明による物体認識の処理結果の一例を示す図である。

【特許請求の範囲】
【請求項1】
1枚の入力画像から物体認識を行う3次元物体認識システムにおいて、
物体名、3次元エッジモデル、2次元モデル(複数の画像に対するカメラ姿勢、画像エッジ点群、該各画像エッジ点の特徴ベクトル、及び、各画像エッジ点と対応する3次元エッジ点)を組にして物体モデルとして記憶する物体モデル記憶手段を有し、
前記入力画像から画像エッジ点群を抽出する画像エッジ抽出手段と、
前記画像エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、
前記特徴ベクトル生成手段で得られた前記入力画像の画像エッジ点の特徴ベクトルと、前記物体モデル記憶手段に記憶された物体モデルがもつ画像エッジ点の特徴ベクトルとを比較して、前記入力画像にマッチする物体モデルを検索する2次元モデル照合手段と、
該検索された物体モデルがもつ3次元エッジモデルの3次元エッジ点を、前記入力画像に投影した位置が前記入力画像の画像エッジ点の位置と一致する度合いが大きくなるようなカメラ姿勢を求める3次元姿勢推定手段とを備え、
前記入力画像の物体名とカメラ姿勢とを出力することを特徴とする3次元物体認識システム。
【請求項2】
カメラ画像列から、物体認識に用いる物体モデルを生成するシステムであって、
画像列と該画像列を撮影した際のカメラ姿勢列を入力して、物体認識に用いるモデル画像と該モデル画像を撮影したカメラ姿勢を選択するモデル画像選択手段と、
該モデル画像を入力して画像エッジ点群を抽出するエッジ抽出手段と、
該エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、
該モデル画像に対応するカメラ姿勢と物体の3次元エッジモデルを入力して、該3次元エッジモデルに含まれる各3次元エッジ点の該モデル画像への投影を計算して投影エッジ点を求める3次元モデル投影手段と、
該3次元モデル投影手段で計算された前記投影エッジ点と、前記エッジ抽出手段で抽出された画像エッジ点の位置関係から3次元エッジ点と画像エッジ点の対応関係を生成するエッジ点対応づけ手段とを備え、
物体名、3次元エッジモデル、2次元モデル(複数の画像に対するカメラ姿勢、画像エッジ点群、該各画像エッジ点の特徴ベクトル、及び、各画像エッジ点と対応する3次元エッジ点)を組にして物体モデルとして出力することを特徴とする3次元物体認識システム用物体モデル生成システム。
【請求項3】
前記特徴ベクトル生成手段は、画像エッジ点の特徴ベクトルを生成する際に、該画像エッジ点を中心とした円形領域を求めて、該円周上にあるエッジ強度の和が最大あるいは極大になるように該円形領域の半径を定め、
該円形領域に含まれる画像情報から特徴ベクトルを生成することを特徴とする請求項1
記載の3次元物体認識システム又は請求項2記載の3次元物体認識システム用物体モデル生成システム。
【請求項4】
コンピュータ・システムを、
入力画像から画像エッジ点群を抽出する画像エッジ抽出手段と、
前記画像エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、
前記特徴ベクトル生成手段で得られた前記入力画像の画像エッジ点の特徴ベクトルと、前記物体モデル記憶手段に記憶された物体モデルがもつ画像エッジ点の特徴ベクトルとを比較して、前記入力画像にマッチする物体モデルを検索する2次元モデル照合手段と、
該検索された物体モデルがもつ3次元エッジモデルの3次元エッジ点を、前記入力画像に投影した位置が前記入力画像の画像エッジ点の位置と一致する度合いが大きくなるようなカメラ姿勢を求める3次元姿勢推定手段
として機能させ、
前記入力画像の物体名とカメラ姿勢とを出力させることを特徴とするコンピュータ・プログラム。
【請求項5】
コンピュータ・システムを、
画像列と該画像列を撮影した際のカメラ姿勢列を入力して、物体認識に用いるモデル画像と該モデル画像を撮影したカメラ姿勢を選択するモデル画像選択手段と、
該モデル画像を入力して画像エッジ点群を抽出するエッジ抽出手段と、
該エッジ抽出手段で抽出された画像エッジ点の特徴ベクトルを生成する特徴ベクトル生成手段と、
該モデル画像に対応するカメラ姿勢と物体の3次元エッジモデルを入力して、該3次元エッジモデルに含まれる各3次元エッジ点の該モデル画像への投影を計算して投影エッジ点を求める3次元モデル投影手段と、
該3次元モデル投影手段で計算された前記投影エッジ点と、前記エッジ抽出手段で抽出された画像エッジ点の位置関係から3次元エッジ点と画像エッジ点の対応関係を生成するエッジ点対応づけ手段として機能させ、
物体名、3次元エッジモデル、2次元モデル(複数の画像に対するカメラ姿勢、画像エッジ点群、該各画像エッジ点の特徴ベクトル、及び、各画像エッジ点と対応する3次元エッジ点)を組にして物体モデルとして出力させる
ことを特徴とするコンピュータ・プログラム

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図6】
image rotate

【図9】
image rotate


【公開番号】特開2007−249592(P2007−249592A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−71857(P2006−71857)
【出願日】平成18年3月15日(2006.3.15)
【出願人】(503360115)独立行政法人科学技術振興機構 (1,734)
【Fターム(参考)】