以下、本発明の実施形態を図面に基づいて説明する。
まず、図1を参照して、本発明の一実施形態による物体認識システム100について説明する。
物体認識システム100は、物体を撮像した画像に基づいて物体を認識するための特徴点形状モデルを生成するとともに、生成した特徴点形状モデルを用いて、被認識物体を認識するように構成されている。また、物体認識システム100は、図1に示すように、制御装置1と、カメラ2とを備える。制御装置1は、PC(パーソナルコンピュータ)により構成されている。なお、カメラ2は、本発明の「撮像装置」の一例である。
ここで、本実施形態では、制御装置1は、カメラ2により撮像されたマーカに基づいて物体の多面体モデルを作成するように構成されている。また、制御装置1は、物体の多面体モデルに、撮像された画像上の物体の特徴点を割り当てて、物体を認識するための特徴点形状モデルを生成するように構成されている。また、制御装置1は、カメラ2により撮像された画像上の被認識物体の特徴点と、特徴点形状モデルの特徴点とを比較して、被認識物体を認識するように構成されている。具体的には、制御装置1は、撮像された画像上の被認識物体の特徴点と、特徴点形状モデルの特徴点とを、特徴点形状モデルの面ごとに比較して、被認識物体を認識するように構成されている。
カメラ2は、1つの単眼カメラにより構成されている。カメラ2としては、たとえば、USBカメラや、一般的に普及しているカメラ付き携帯電話や、カメラ付き携帯情報端末が用いられる。また、カメラ2は、制御装置1に接続されている。また、カメラ2は、物体に取り付けられたマーカおよび物体の特徴点を撮像するように構成されている。
次に、図2〜図5を参照して、制御装置1が行う3次元モデル(特徴点形状モデル)の生成処理について説明する。
図2のステップS1において、制御装置1は、複数のマーカが取り付けられた特徴点形状モデルを作成する対象の物体をカメラ2により撮像して、撮像した画像を取得する。この際、複数のマーカが1つの画像内に含まれるようにして撮像を行う。また、全てのマーカが撮像されるように、複数の角度(アングル)から対象の物体を撮像する。また、カメラ2によりマーカが撮像されるのと同時に、物体の特徴点も撮像される。なお、複数のマーカは、それぞれ、互いに識別可能に構成されている。
ステップS2において、制御装置1は、撮像した画像からマーカを検出する。そして、制御装置1は、マーカに基づいて多面体モデルを作成する。具体的には、図3に示すように、制御装置1は、撮像された画像から複数のマーカ間の局所的な位置関係を取得して、複数のマーカの全体的な配置関係を推定する。そして、制御装置1は、マーカ位置の集合であるマーカモデルを作成する。詳しくは、制御装置1は、マーカIDがmのマーカをマーカmとして、マーカmを検出することでカメラ座標系cからマーカ座標系mへの同次変換行列
cT
mを取得する。また、制御装置1は、1つの画像内のマーカmおよびnについて、マーカ間の相対位置関係
mT
nを式(1)のように計算する。
また、制御装置1は、
mT
nをもとに、全てのマーカ位置を決定する。そして、制御装置1は、あるマーカ座標系bを基準座標系として、それ以降は、式(2)にしたがい、
mT
nを連鎖的に乗算して各マーカ位置を計算して、マーカモデルM
tを作成する。
次に、制御装置1は、求めたマーカモデルMtを用いて、多面体モデルMsを作成する。詳しくは、制御装置1は、図3に示すように、全ての接平面pmについて多角形fmを計算する。つまり、制御装置1は、接平面pmとその他の接平面pn(m≠n)との交線を計算する。そして、制御装置1は、交線同士の交点を求め、その交点により、各交線をそれぞれ線分に分割する。そして、制御装置1は、論理演算により多角形に属する線分を抽出する。
具体的には、制御装置1は、あるマーカから見て、ある線分が多角形側にあれば、その線分に「1」を与え、多角形側になければ「0」を与える。また、制御装置1は、各線分において、全てのマーカに関して線分に「1」または「0」を与える操作を行い、その結果に論理演算を適用して最終的に「1」となった線分を残す。そして、制御装置1は、多角形の輪郭となる線分のみを残し、多角形内部の線分を削除する。そして、制御装置1は、マーカモデルMtの各マーカ位置に面iを配置して、多面体モデルMsを作成する。
図2のステップS3において、制御装置1は、マーカに対応した多面体モデルMsの面を撮像画像平面上に投影する。具体的には、制御装置1は、撮像画像中のマーカの位置とマーカの変形とに基づいて、カメラ座標系におけるマーカの位置cPmjと姿勢cRmj(カメラ2から見たマーカの相対位置姿勢)とを取得する。これにより、マーカを撮像することで、マーカが識別できる。また、マーカを識別することで多面体モデルMsの面を識別することができるので、多面体モデルMsを画像平面上に投影することができる。なお、マーカの姿勢cRmjは、3次元の回転行列で表される。
ここで、マーカ座標系での多面体モデルM
sの面の頂点の3次元位置を
mjP
mj_viとすると、カメラ座標系におけるマーカの位置
cP
mjと姿勢
cR
mjとを用いて、同次変換によりカメラ座標系での多面体モデルM
sの面の頂点の3次元位置
cP
mj_viを式(3)により取得する。なお、
cT
mjは、式(4)のように表され、4×4の同次変換行列である。
カメラ座標系における多面体モデルM
sの面の頂点と画像平面上での位置の関係を図5に示す。カメラの投影モデルには、座標系の原点を焦点とする透視投影モデルを用いる。また、カメラ座標系のz軸を焦点から画像平面の方向とし、x軸を右向きの方向とし、y軸を鉛直下向きの方向とした右手座標系とする。また、画像平面のU軸を水平方向とし、V軸を垂直方向とする。また、fは焦点距離を表し、
cP
m_viはカメラ座標系における多面体モデルM
sの頂点の位置を表す。また、ベクトルKは、カメラ座標系の原点から、画像平面上の位置(u,v)へのベクトルである。また、カメラ座標系の原点から多面体モデルM
sの頂点
cP
m_viは、媒介変数tを用いて式(5)のように表される。
また、未知数は、u、vおよびtであるので、多面体モデルM
sの頂点の画像平面上の位置(u,v)が求められる。また、画像平面上の(u,v)と、画像平面での座標(p,q)との関係は式(6)および式(7)で与えられる。
なお、wおよびhは、それぞれ、撮像素子の幅と高さを表し、WおよびHは、撮像素子の画素数を表す。また、撮像素子の幅および高さは、撮像素子に依存するが、マーカを撮像して、マーカのカメラに対する相対位置姿勢が求まるので、マーカの撮像結果からwおよびhと、WおよびHとの関係は求められる。式(6)および式(7)を用いて、(p,q)を求めることで、画像中での多面体モデルMsの投影位置が求められる。また、多面体モデルMsの全ての面の全ての頂点に対して投影位置を求めることによって、多面体モデルMsの面が撮像画像平面上に投影される。
ステップS2およびステップS3の処理と並行して、制御装置1は、図2のステップS4において、図4に示すように、撮像した画像から物体の特徴点を抽出する。具体的には、制御装置1は、SIFT(Scale Invariant Feature Transform)を用いて、回転や拡大縮小に対して不偏な特徴量を有する特徴点を撮像した画像から抽出する。
図2のステップS5において、制御装置1は、多面体モデルMsの面に対する特徴点の内外判定を行う。具体的には、制御装置1は、特徴点と多面体Msモデルの面の多角形の頂点との間にできる角度の合計に基づいて、多面体モデルMsの面に対する特徴点の内外判定を行う。つまり、制御装置1は、物体の特徴点と、物体の多面体モデルMsの面の複数の頂点との位置関係に基づいて、撮像画像平面上の物体の特徴点が物体の多面体モデルMsの面に含まれるか否かを判断する。また、制御装置1は、抽出した全ての特徴点について内外判定を行う。
詳しくは、制御装置1は、検出したマーカiによって得られる多角形モデルの面を構成する線分を画像平面上に投影し、特徴点の多角形領域に対する内外判定を行う。なお、多面体モデルMsの面の各頂点が画像平面に投影されているものとする。また、左回りを正にとる符号付きの角度を用いる方法を用いて内外判定が行われる。また、この内外判定は、非凸な多角形領域でも適用可能である。図4に示すように、多角形の頂点Aから出発し、右回りに多角形の頂点を探索する。調べたい特徴点Pに対して、隣接する頂点と特徴点Pとで三角形を構成し、∠Pが求められる。頂点間の位置関係により左回りか右回りかが得られるので、符号付きの角度として∠Pが計算される。また、内外判定には特徴点Pkと投影した多面体モデルMsの面の隣接する頂点からなる三角形の∠Pkの符号付き角度の和が用いられる。投影した多面体モデルMsの面の内部にあれば角度の和は2π(360度)もしくは−2π(−360度)になり、外部にあれば角度の和は0になる。また、Pkが面の辺上にある場合は、正しい角度が求まらない可能性があるため、角度での判定より先に多面体モデルMsの投影した多角形の辺と特徴点との交差判定を行っておく。
具体的には、以下に示すように、特徴点と隣接する投影した多面体モデルM
sの頂点とでなす符号付きの角度を計算する。特徴点の画像平面上での位置をP(p
x,p
y)とし、多面体モデルM
sの隣接する頂点をそれぞれQ
i(q
i,x,q
i,y)、Q
i+1(q
i+1,x,q
i+1,y)とする。ここで、頂点は画像平面上の位置を表すことに注意する。また、式(8)および式(9)により各ベクトルの成分が計算される。
また、内積の式(10)からcosθ
iが求められ、外積の式(11)からsinθ
iが求められる。そして、cosθ
iおよびsinθ
iから式(12)により符号付の角度θ
i=∠Q
iPQ
i+1が求められる。なお、atan2は4象限逆正接関数であり、−π≦θ
i<πをとる。
この角度計算を多面体の隣接する全ての頂点について求める。そして、最初の頂点に戻ったときに符号付き角度の和を求めることで、特徴点が、多面体Msの面の内部(角度の合計が−2πまたは2π)にあるか、外部(角度の合計が0)にあるかが判定される。なお、多面体モデルMsの面に穴が開いている場合は、穴に該当する領域の外側、かつ、多角形の面の内側に特徴点が存在すると判定されれば、特徴点は多面体モデルMsの面に属すると判定される。また、制御装置1は、物体の特徴点が物体の多面体モデルMsの面に含まれる場合、物体の特徴点を物体の多面体モデルMsの面に割り当てる。具体的には、制御装置1は、内外判定の際に、多面体モデルMsの面iの内部にある特徴点には、多面体モデルMsの面iの識別番号を付加する。また、上記の内外判定を、撮像された画像から抽出された全ての特徴点に対して行い、画像に投影している全ての多面体モデルMsの投影面の内外判定を適用することで、特徴点が属している多面体モデルの面が判定・識別される。なお、いずれの多面体モデルMsの面にも属さない特徴点は、物体領域の外側の特徴点(背景の特徴)として扱われる。
図2のステップS6において、制御装置1は、多面体モデルMsの面上にある特徴点を選択する。そして、制御装置1は、ステップS7において、多面体モデルMsの面(3次元空間)に特徴点を投影する。つまり、多面体モデルMsの面に対応付けされた特徴点が、画像平面上から、3次元の多面体モデルMsの面上に投影される。これにより、物体の特徴点が物体の多面体モデルMsの面に含まれる場合、撮像画像平面上の物体の特徴点が物体の多面体モデルの面に再投影されて割り当てられる。制御装置1は、ステップS8において、特徴点の3次元位置の計算を行う。つまり、制御装置1は、3次元の多面体モデルMsの面上の特徴点の位置を計算する。
制御装置1は、ステップS9において、物体の面に関する3次元モデルの生成を行う。つまり、特徴点が対応付けされた3次元の多面体モデルMsの複数の面がそれぞれ生成される。制御装置1は、ステップS10において、物体の3次元モデル(特徴点形状モデル)を生成する。これにより、3次元の多面体モデルMsの各面に特徴点が対応付けされた特徴点形状モデルが生成される。その後、制御装置1は、3次元モデル生成処理を終了する。
次に、図6〜図8を参照して、制御装置1が行う物体の認識処理について説明する。
図6のステップS11において、制御装置1は、認識(識別)する対象の物体をカメラ2により撮像して、撮像した画像を取得する。なお、認識する物体にはマーカは取り付けられていない。制御装置1は、ステップS12において、撮像した画像から物体の特徴点を抽出する。具体的には、制御装置1は、SIFT(Scale Invariant Feature Transform)を用いて、回転や拡大縮小に対して不偏な特徴量を有する特徴点を撮像した画像から抽出する。なお、特徴点とは、画像全体のうちで、画像中の局所領域に関する特徴(たとえば模様など)を有する点である。
制御装置1は、ステップS13において、図7に示すように、カメラ2により撮像した画像中の特徴点と物体の特徴点形状モデルの特徴点とを対応付ける。また、制御装置1は、撮像された画像上の物体の特徴点と、特徴点形状モデルの特徴点とを、特徴点形状モデルの面ごとに比較して撮像した画像中の特徴点と物体の特徴点形状モデルの特徴点とを対応付ける。また、識別を行うために取得した画像には、対象となる物体に属する特徴点と、背景にある画像変化から抽出された特徴点が含まれる。このため、識別したい物体の特徴点形状モデルに関して、物体の特徴点形状モデルのそれぞれの部分の特徴点と比較し、モデル生成時に物体の特徴点形状モデルに割り当てた3次元位置を持つ特徴点とk−nearest neighbor(k−nn)法を用いて対応点探索が行われる。対応点探索の時点では、「特徴」を表現する「特徴量」を用いて対応する点が探索される。
なお、この時点で求めた対応点には外れ値(不適切な対応関係の特徴点の組)が含まれているため、物体領域に含まれる特徴点を適切な対応関係の特徴点形状モデルの特徴点と対応付けるようにする必要がある。つまり、制御装置1は、撮像された被認識物体の特徴点と、特徴点形状モデルの特徴点とを対応付けるとともに、対応付けられた被認識物体の特徴点および特徴点形状モデルの特徴点の複数の組の位置関係に基づいて、不適切な対応関係の被認識物体の特徴点および特徴点形状モデルの特徴点を除外する処理を行う。
具体的には、ステップS14〜ステップS20の処理により、不適切な対応関係の被認識物体の特徴点および特徴点形状モデルの特徴点の組が除外される。つまり、撮像画像での物体の特徴点と、特徴点形状モデルの特徴点との対応付けが行われ、誤対応(不適切な対応関係)となる特徴点の組が除外される。この場合、特徴点形状モデルの特徴点を撮像画像に投影する必要がある。画像面への投影方法として、たとえば、特徴点形状モデル生成時に特徴点を撮影したときの画像(二次元の特徴)が用いられる。この場合、モデル生成時に特徴点を撮影したときの画像(物体の特徴点が得られている)が撮像画像に投影される。また、この際、対応関係を求めるために4組の特徴点の対応付けが必要である。
また、特徴点形状モデルの特徴点を撮像画像に投影する投影方法として、特徴点形状モデルの座標系で表現されている3次元モデルに含まれる特徴点をカメラ画像系に移動させた上で、撮像画像上に投影する方法を行ってもよい。この場合、特徴点形状モデルの特徴点は3次元位置を有する特徴点形状モデルの座標系で表現されている。このため、撮像画像に一致するように特徴点形状モデルの特徴点を投影するために、特徴点形状モデルの特徴点の位置をカメラ座標系での3次元位置に変換する。また、特徴点形状モデルの特徴点の位置を撮像画像の3次元位置に変換するためには4組の特徴点の対応付けが必要である。
ステップS14において、制御装置1は、対応付けた画像中の物体の特徴点および特徴点形状モデルの特徴点の組から4つの組をランダムに選択する。そして、制御装置1は、選択した4組の特徴点から各頂点の対応がとれた四角形の組を作成する。ステップS15において、制御装置1は、物体の特徴点形状モデルを撮像された画像中に投影させる。
具体的には、制御装置1は、特徴点形状モデルの3次元特徴をカメラ座標系に移動させ、撮像画像面に投影する。また、制御装置1は、撮像画像の2次元座標と特徴点形状モデルの3次元座標の対応関係を得るためにPose from Orthography and Scaling with Iterations(POSIT)アルゴリズムを用いて位置姿勢情報を回転・並進行列として求める。POSITアルゴリズムは図8に示すように撮像画像中の特徴点pi(xi,yi) と3次元モデル中の特徴点Pi(Xi,Yi,Zi)とでn組の対応関係が成り立っているとき、画像中の物体がとる位置姿勢を回転行列R、並進行列Dの2つの行列として求めることができる手法である。なお、物体の特徴点形状モデルのとる位置姿勢を求めるには、最低4組の対応が必要である。
並進成分Dは、n個の対応点の中から物体の中心となるp
0(x
0,y
0)およびP
0(X
0,Y
0,Z
0) を決定することで式(13)に示すように表される。また、回転行列Rは、モデル座標系の単位ベクトルi、jおよびkを用いて式(14) に示すように求められる。
なお、i、jおよびkの添字は各ベクトルの成分である。次にモデル座標系i、jおよびkを用いることで式(15)〜式(18)の関係式が得られる。
なお、fはカメラ焦点距離であり、既知の値である。またε
iは未知の値である。n組の対応点をすべて式(15)および式(16) に当てはめることで式(19)および式(20) が成立する。この式(19)および式(20)で用いる行列AはP
0P
iの列である。この行列Aの擬似逆行列を求め、ε
iをランダムに与えて式(15)および式(16)の右辺の列である行列x´およびy´が作成される。また、最適なモデル座標系の単位ベクトルiおよびjは以下の式で求められる。
なお、i=f/Z
0、j=f/Z
0であり、x´はx
i(1+ε
i)−x
0の列、y´はy
i(1+ε
i)−y
0の列である。
カメラ座標系における特徴点形状モデルに含まれる多面体モデルの面の点と画像平面上での位置の関係を図9に示す。カメラの投影モデルには、座標系の原点を焦点とする透視投影モデルを用いる。また、カメラ座標系のz軸を焦点から画像平面の方向とし、x軸を右向きの方向とし、y軸を鉛直下向きの方向とした右手座標系とする。また、画像平面のU軸を水平方向とし、V軸を垂直方向とする。また、fは焦点距離を表し、cPobjはカメラ座標系における特徴点の位置、ベクトルKは、カメラ座標系の原点から、画像平面上の位置(u,v)へのベクトルである。
カメラ座標系の原点から対応付けられた特徴の位置
cP
ftは、媒介変数tを用いて式(21)のように表せる。
また、未知数は、u、vおよびtであるので、特徴点形状モデルの特徴点について画像平面上の位置(u,v)を求められる。また、画像平面上の(u,v)と、画像平面での座標(p,q)の関係は式(22)および式(23)で与えられる。
なお、wおよびhは、それぞれ、撮像素子の幅と高さを表し、WおよびHは、撮像素子の画素数を表す。また、撮像素子の幅および高さは、撮像素子に依存するが、既知であるため、wおよびhと、WおよびHとの関係は求められる。式(22)および式(23)を用いて、(p,q)を求めることで、カメラ画像中における特徴点形状モデルの特徴点の投影位置が求められる。
図6のステップS16において、制御装置1は、対応付けした画像中の特徴点と投影した物体の特徴点形状モデルの特徴点との距離を計算する。具体的には、制御装置1は、選択した4つの特徴点の組により作成された四角形の組から2次元画像の透視投影変換行列Hを求める。なお、四角形の頂点について、点と点の対応から、関係式(24)が成り立つ。
(xvj,yvj)は、投影する特徴点の位置を表し、(x´vj,y´vj)は撮像画像から得た特徴点の位置を表す。また、「〜」は、両者の関係が射影的に等しく、比率で表現されるものである。また、四角形の4つの頂点が同じ変換で写されるため、4組の対応から未知の数を8個計算することで透視投影変換行列Hが求められる。求めた透視投影変換行列Hを用いて、対応付けられている特徴点形状モデルの特徴点に対して、透視投影変換が行われる。3次元情報のみを持つ場合は、特徴点の3次元位置に投影され、撮像画像に投影された上で、透視投影変換が行われる。また、特徴点形状モデルの特徴点が撮影時の状況(2次元の画像の情報)を持つ場合は、モデル生成時に撮影して取得した特徴点について投影変換が行われる。そして、制御装置1は、撮像画像の特徴点の座標と、変換した特徴点形状モデルの対応点の特徴点の座標との距離の総和を求める。
図6のステップS17において、制御装置1は、求めた距離が所定の閾値より大きいか否かを判断する。つまり、撮像画像中の特徴点と対応する特徴点形状モデルの特徴点との距離が離れすぎているか否かを判断する。距離が閾値以下であれば、ステップS18において、制御装置1は、対応付けた特徴点の組を対応点として残して、ステップS20に進む。一方、距離が閾値より大きければ、ステップS19において、制御装置1は、対応付けた特徴点の組を対応点から除外して、ステップS20に進む。
ステップS20において、制御装置1は、全ての対応点について誤対応(不適切な対応関係)の特徴点の組の除去処理が完了したか否かを判断する。完了していれば、ステップS21に進み、完了していなければ、ステップS14に戻る。これにより、距離が閾値より高い場合は外れ値として対応点から除外され、残った対応点はすべて対象物体の特徴点として対応付けられる。
ステップS21において、制御装置1は、物体の特徴点形状モデルが属する領域を抽出する。ステップS22において、制御装置1は、撮像された画像上の被認識物体の特徴点と、対応付けられた特徴点形状モデルの特徴点とを比較して、物体を認識する。その後、制御装置1は、物体の認識処理を終了する。
本実施形態では、上記のように、撮像されたマーカに基づいて物体の多面体モデルを作成するとともに、物体の多面体モデルに、撮像された画像上の物体の特徴点を割り当てて、物体を認識するための特徴点形状モデルを生成する制御装置1を設けることによって、物体の多面体モデルに物体の特徴点が割り当てられた特徴点形状モデルを用いて物体の特徴点を認識することにより、マーカが取り付けられていない物体でも認識することができる。また、撮像されたマーカに基づいて物体の多面体モデルを作成することによって、撮像時に物体の背景が複雑な場合でも、背景によらずに容易に多面体モデルを作成することができるので、作成した多面体モデルを用いて特徴点形状モデルを容易に生成することができる。
また、本実施形態では、上記のように、制御装置1を、物体の多面体モデルの面を撮像画像平面上に投影して、撮像画像平面上の物体の特徴点が物体の多面体モデルの面に含まれるか否かを判断して、物体の特徴点が物体の多面体モデルの面に含まれる場合、物体の特徴点を物体の多面体モデルの面に割り当てるように構成する。これにより、撮像画像平面上の物体の特徴点が多面体モデルのいずれの面に対応するかを容易に判断することができるので、物体の特徴点が物体の多面体モデルの面に割り当てられた特徴点形状モデルを容易に生成することができる。
また、本実施形態では、上記のように、制御装置1を、物体の特徴点と、物体の多面体モデルの面の複数の頂点との位置関係に基づいて、撮像画像平面上の物体の特徴点が物体の多面体モデルの面に含まれるか否かを判断するように構成する。これにより、物体の特徴点を中心として多面体モデルの面の複数の頂点間の角度を計算することにより、容易に撮像画像平面上の物体の特徴点が物体の多面体モデルの面に含まれるか否かを判断することができる。
また、本実施形態では、上記のように、制御装置1を、物体の特徴点が物体の多面体モデルの面に含まれる場合、撮像画像平面上の物体の特徴点を物体の多面体モデルの面に再投影して割り当てるように構成する。これにより、撮像画像平面上の物体の特徴点を物体の多面体モデルの面に容易に割り当てることができるので、物体の特徴点が物体の多面体モデルの面に割り当てられた特徴点形状モデルを容易に生成することができる。
また、本実施形態では、上記のように、制御装置1を、カメラ2により撮像された画像上の被認識物体の特徴点と、特徴点形状モデルの特徴点とを比較して、被認識物体を認識するように構成する。これにより、撮像された画像上の被認識物体の特徴点と、特徴点形状モデルの特徴点とを比較することにより、マーカが取り付けられていない被認識物体でも確実に認識することができる。また、特徴点形状モデルから多面体の面を特定することができるので、認識した被認識物体に面情報を付与することができる。
また、本実施形態では、上記のように、制御装置1を、撮像された画像上の被認識物体の特徴点と、特徴点形状モデルの特徴点とを、特徴点形状モデルの面ごとに比較して、被認識物体を認識するように構成する。これにより、被認識物体の特徴点を、特徴点形状モデルの面に対応させることができるので、被認識物体の位置および姿勢を容易に認識することができる。
また、本実施形態では、上記のように、制御装置1を、撮像された被認識物体の特徴点と、特徴点形状モデルの特徴点とを対応付けるとともに、対応付けられた被認識物体の特徴点および特徴点形状モデルの特徴点の複数の組の位置関係に基づいて、不適切な対応関係の被認識物体の特徴点および特徴点形状モデルの特徴点を除外して、被認識物体を認識するように構成する。これにより、適切な対応関係の被認識物体の特徴点および特徴点形状モデルの特徴点を用いて被認識物体を認識することができるので、被認識物体をより精度よく認識することができる。
また、本実施形態では、上記のように、カメラ2を、1つの単眼カメラにより構成する。これにより、複数のカメラを用いたり、ステレオカメラを用いたりする場合に比べて、物体認識システムの構成を簡略化することができる。また、USBカメラや、一般的に普及している単眼カメラを備えた携帯電話や携帯情報端末を撮像装置として利用して本発明の特徴点形状モデルを作成することができる。
(実施例)
次に、本実施形態による制御装置1による特徴点形状モデルの作成の実施例(実験例)について説明する。実施例では、図10に示すように、角が丸い略直方体状の物体について特徴点形状モデルを実際に作成した。
図10に示すように、物体には、多面体モデルを作成するためのマーカが各面に取り付けられている。また、マーカにはアルファベット(たとえばABC)が付されており、互いに識別することが可能である。また、作成した特徴点形状モデルを図11に示す。特徴点の網掛け(ハッチング)の違いにより、対応付けられている多面体の面の違いを表している。特徴点が多面体モデルの各面に対応付けされた特徴点形状モデルが作成されているのが分かる。
なお、今回開示された実施形態および実施例は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態および実施例の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記実施形態では、制御装置とカメラ(撮像装置)とが別箇に設けられている構成の例を示したが、本発明はこれに限られない。本発明では、制御装置と撮像装置とが同じ装置内に設けられていてもよい。たとえば、携帯情報端末やPC(パーソナルコンピュータ)などに制御装置および撮像装置(単眼カメラ)が一体的に設けられていてもよい。
また、上記実施形態では、制御装置がPCにより構成されている例を示したが、本発明はこれに限られない。本発明では、たとえば、制御装置が携帯情報端末やネットワーク上のサーバなどにより構成されていてもよい。
また、上記実施形態では、特徴点形状モデルを用いて物体の認識をする場合に、物体にマーカが取り付けられていない例を示したが、本発明はこれに限られない。本発明では、特徴点形状モデルを用いて物体の認識をする場合に、物体にマーカを取り付けた状態で、マーカおよび特徴点に基づいて物体を認識してもよい。この場合、マーカにより、物体の面を特徴点形状モデルの面に容易に対応付けさせることできるので、処理負担を軽減するとともに処理速度を速めることが可能である。
また、上記実施形態では、特徴点形状モデルの特徴点と、撮像された画像上の特徴点とを、特徴点形状モデルの面ごとに比較して、物体を認識する構成の例を示したが、本発明はこれに限られない。本発明では、特徴点形状モデルの特徴点と、撮像された画像上の特徴点とを、面に係らず、全体的に比較して、物体を認識するようにしてもよい。
また、上記実施形態では、説明の便宜上、制御装置の処理動作を処理フローに沿って順番に処理を行うフロー駆動型のフローチャートを用いて説明したが、本発明はこれに限られない。本発明では、制御装置の処理動作を、イベント単位で処理を実行するイベント駆動型(イベントドリブン型)の処理により行ってもよい。この場合、完全なイベント駆動型で行ってもよいし、イベント駆動およびフロー駆動を組み合わせて行ってもよい。