特定領域選択装置、特定領域選択方法及びプログラム
【課題】有用な特定領域を、視点における偏りがないように選択する。
【解決手段】学習装置200は、対象物体上の特定領域を複数選択し、複数の特定領域の夫々に関する検出手段を学習する。また、学習装置200は、複数の特定領域から特定領域の組み合わせによる領域組を生成し、検出手段及び領域組に基づいて対象物体の認識を行い、認識結果に基づいて新規の特定領域を追加する。そして、学習装置200は、新規の特定領域が追加された場合、新規の特定領域に関する検出手段を更に学習する。
【解決手段】学習装置200は、対象物体上の特定領域を複数選択し、複数の特定領域の夫々に関する検出手段を学習する。また、学習装置200は、複数の特定領域から特定領域の組み合わせによる領域組を生成し、検出手段及び領域組に基づいて対象物体の認識を行い、認識結果に基づいて新規の特定領域を追加する。そして、学習装置200は、新規の特定領域が追加された場合、新規の特定領域に関する検出手段を更に学習する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物体の位置及び姿勢を推定するための技術に関するものである。
【背景技術】
【0002】
視覚情報を使った認識の分野において、物体の三次元的な位置や姿勢を推定する問題に関して、様々な研究開発が行われている。産業用ロボットや実験的なヒューマノイドロボット等の分野では、ランダムピッキング等の用途で三次元情報を利用することも多く、その必要性は高くなってきている。対象物体の位置や姿勢に関する三次元情報を得るには、ステレオカメラやレーザレンジファインダ等の三次元センサを用いる方法もある。既知の形状の対象物体に関しては、単眼カメラによる対象物体の位置及び姿勢の推定も行われている。単眼カメラからの撮影画像を用いて対象物体の三次元的な位置及び姿勢を推定する方法が特許文献1に開示されている。即ち、特許文献1には、学習画像における特徴点とその三次元座標を持っておき、入力画像から得られた特徴点と合致する学習画像における特徴点の三次元座標から、変換行列を誤差最小化する最適化計算で算出し、得られた変換行列を用いてモデルから画像を生成し、生成された画像から推定姿勢を修正して最終的な姿勢を得る技術が開示されている。特許文献2にも同様にして入力画像上で得られた特徴点のうち三点を使うことで、変換行列を求める技術が開示されている。
【0003】
特許文献3には、多視点から撮影された画像を学習画像とし、各々の学習画像における局所特徴量と入力画像から得られた局所特徴量とを比較し、最も類似する学習画像における視点情報を入力画像における姿勢として出力する技術が開示されている。特許文献4には、距離センサを用いた物体の三次元位置姿勢推定を行う技術が開示されている。即ち、本従来例では、入力データにおける三次元特徴量を算出し、モデル上の複数の特徴点に関する三次元特徴量との対応関係を得ることで、剛体変換を用いて物体の位置及び姿勢を算出する。この際、複数の特徴点を選ぶにあたり、物体の裏表等に関する運用上の拘束条件と、特徴量のクラスタリング結果によるクラスの混ざり方から、検出時に有効な点を選択している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−63567号公報
【特許文献2】特開2002−109539号公報
【特許文献3】特開2007−219765号公報
【特許文献4】特開2009−128075号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2に開示される技術では、特徴点の選択は、例えば人物の場合は目や口等、人手によって意図的に選択されている。そのため、特許文献1及び特許文献2では、後段の三次元位置姿勢推定処理において最も有用な学習画像における特徴点はどれか、という点に関して言及していない。
【0006】
特許文献3に開示される技術は、基本的に全ての姿勢を別のクラスとして識別する方法であるため、得られる解は離散的である。そのため、学習画像の獲得時における視点変更の角度分解能が識別システムの角度分解能となり、解の精度を上げるために撮影角度分解能を上げていくと別姿勢における類似画像が多くなるために姿勢判別が難しくなる。
【0007】
特許文献4に開示される技術では、モデル上の有用な特徴点を特徴量のクラスタリング結果から選択しているが、有用な特徴点が視点によって偏る可能性に関して言及しておらず、一部の視点から可視な特徴点が集中して選択されてしまう可能性がある。
【0008】
そこで、本発明の目的は、有用な特定領域を、視点における偏りがないように選択することにある。
【課題を解決するための手段】
【0009】
本発明の特定領域選択装置は、対象物体上の特定領域を複数選択する選択手段と、前記複数の特定領域の夫々に関する検出手段を学習する学習手段と、前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成手段と、前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識手段と、前記認識手段の認識結果に基づいて、新規の特定領域を追加する追加手段とを有し、前記学習手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする。
【発明の効果】
【0010】
本発明によれば、有用な特定領域を、視点における偏りがないように選択することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。
【図2】本発明の実施形態に係る特定領域選択システムの具体的な装置の構成例を示す図である。
【図3】本発明の実施形態に係る特定領域選択システムの処理を示すフローチャートである。
【図4】本発明の実施形態における認識処理を説明するための図である。
【図5】本発明の実施形態における学習処理の流れを示すフローチャートである。
【図6】本発明の実施形態における学習処理を説明するための図である。
【図7】ステップS2400の特定領域選択工程の処理をさらに詳細に示すフローチャートである。
【図8】特定領域のモデル座標系の位置を算出する方法と追加する特定領域の選択方法とを説明するための図である。
【図9】ステップS2420の特定領域検出器学習工程の詳細を示すフローチャートである。
【図10】本発明の実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。
【図11】本発明の実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0013】
本発明の第1の実施形態について説明する。図1は、本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。先ず、本実施形態に係る特定領域選択システムの概要について説明する。
【0014】
撮像部300によって得られた画像データは座標対応算出部400に送られる。座標対応算出部400は、当該画像データと三次元モデル記憶部600にて記憶されている三次元モデルとの各点の対応関係を算出する。学習装置200は、画像データと三次元モデルとの対応関係を用いて後述する学習処理を行い、得られた学習結果を学習パラメータ記憶部700に記憶する。
【0015】
撮像部300から得られた画像データは認識装置100にも送られる。認識装置100は、学習パラメータ記憶部700に記憶された学習結果に従って画像データに対する認識処理を行うことにより、認識処理結果を得る。ここで本実施形態における認識処理とは、撮像部300より得られた画像データから三次元物体の位置及び姿勢を求める、即ち三次元物体の位置及び姿勢の推定処理である。
【0016】
図2は、特定領域選択システムの具体的な装置の構成例を示す図である。
図2において、A500は三次元物体である。A300は三次元物体A500を載せるためのステージ、A100は三次元物体A500を撮影し、画像データを取得するためのカメラである。A110は、カメラA100と連動して、光切断によって三次元物体A500の距離マップデータを得るために、ガルバノミラー等で稼動するレーザ投光器である。カメラA100及びレーザ投光器A110は、図1における撮像部300に相当する。カメラA100及びレーザ投光器A110は、光切断による距離測定を行うための校正が行われているものとする。ここで、認識処理を行うための装置構成として光切断による距離測定を前提としたが、距離測定手法は光切断に限らない。レーザ投光器A110の替わりにプロジェクタを用いた空間コード化、若しくは複数のカメラを用いたステレオ計測等、様々な手法が考えられることは周知のとおりであり、どのような距離測定手法にも限定されるものではない。また、後述のように本手法は必ずしも三次元物体の距離情報を必要とするものではなく、カメラ一台による単眼の撮像系による装置構成も可能である。A200は、三次元物体の認識処理を行うための計算機であり、図1における認識装置100に相当する。また、後述する学習処理による学習結果は計算機A200の図示しない内部メモリに格納されており、これは図1における学習パラメータ記憶部700に相当する。認識処理を行う計算機はこの例のようなカメラA100と独立した装置に限定されるものではなく、例えばカメラA100に計算機A200の機能を搭載することによってカメラ自体が認識処理を行う構成でもよい。なお、図2に示す構成は、本実施形態に適用可能な一構成例であり、この構成例に限定されるものではない。
【0017】
図3は、本実施形態における特定領域選択システムの処理を示すフローチャートである。以下、図3を参照しながら、特定領域選択システムの処理について説明する。
【0018】
先ずステップS1010の入力情報取得工程において、計算機A200は、カメラA100及びレーザ投光器A110によって画像データIと距離マップデータZmapとを取得する。距離マップデータZmapは、画像データI上の画像座標点xに対応した位置のカメラ座標系奥行き距離がZmap(x)として得られるものである。距離マップデータの算出に関しては既存の三角測量法等で得られるため、ここでは特に説明しない。距離マップデータZmapと距離測定の校正値から、カメラ座標系におけるX座標及びY座標のマップも算出することができ、これらのマップをXmap、Ymapとする。
【0019】
続くステップS1020の特定領域検出工程において、計算機A200は、後述する学習処理によって三次元物体上の特定領域を検出する。ここで特定領域とは、三次元モデルとして得られている対象物体(三次元物体)上の所定サイズの局所領域であり、例えば図4(a)に示す三次元物体A510において、A511−1〜A511−Mのように三次元物体A510上の特定の位置を意味している。ここでMは特定領域の総数である。これらの特定領域は、それぞれモデル座標系における位置情報を持っており、特定領域iのモデル座標系の位置情報をXmi=[Xmi,Ymi,Zmi]Tとする。ここでTは行列の転置を表す。
【0020】
計算機A200は、図4(b)に示すように、画像データIに対してラスタスキャンし、注目位置xsを中心とした部分画像を抽出し、その部分画像において抽出された特徴量を用いて特定領域を検出する。部分画像の切り出しサイズrは、次の式1のように、予め決められたモデル座標系における固定サイズRと注目位置xsの奥行き距離とから算出される。
【0021】
【数1】
【0022】
ここでδ及びfはカメラパラメータである。δはカメラの画素サイズ、fはカメラの焦点距離である。例えば切り出しサイズがR=20mmと設定されているとき、f=24mm、δ=0.03mm/pixelのカメラにてZmap(xs)=800mmであれば、r=20pixelである。そのため、20pixel×20pixelの領域を切り出せばよい。特徴量としては様々なもの、例えば公知技術であるHOG(Histograms of Oriented Gradients)のようなものが考えられるが、本発明は特徴量の種類に限定されるものではない。また、特徴量はHOGのような画像特徴量に限定されるものではなく、例えば同様に公知技術であるSpin Imageのような、画像データIの代わりにXmap、Ymap、Zmapを使った三次元情報を用いた三次元特徴量でもよい。
【0023】
特定領域iに対する画像探索結果によって検出された検出領域の集合をAi={xi1,xi2,・・・,xiNi}とする。ここでxilは特定領域iについて検出されたl番目の検出領域の画像上の位置であって、画像座標系上の点である。Niは、特定領域iについて検出された検出領域の総数である。また、各検出領域xilのカメラ座標系の位置は、Xil=[Xil,Yil,Zil]=[Xmap(xil),Ymap(xil),Zmap(xil)]として得ることができる。
【0024】
ステップS1030の領域組検出工程において、計算機A200は、ステップS1020で検出された特定領域に対して、予め定義された特定領域の組み合わせによる領域組を検出する。ここで領域組とは、三次元物体の位置及び姿勢を推定するために必要な特定領域の組み合わせであり、後述する学習処理にて予め定義されているものとする。距離計測等によって各特定領域のカメラ座標系の位置を求める場合には、位置及び姿勢を決定するために最低限三点のカメラ座標系における位置がわかればよい。ここでは三つの特定領域の組から位置及び姿勢を推定することとし、以降この三つの特定領域による領域組をトリプレットと呼ぶこととするが、上記のように領域組は三点で構成されることに限定されるわけではない。トリプレットとして予め定義されたT個のそれぞれの領域組に対して、領域組tを構成する特定領域を、t1、t2及びt3とする(図4(c))。ここでt1、t2、t3は前述したM個の特定領域のいずれかである。また、それぞれの特定領域は複数の領域組に属していてもよい。領域組tの構成要素である特定領域が特定領域検出工程(S1020)で検出されていた場合、それら特定領域の相対的位置関係が幾何拘束条件を満たしているかどうかを以下のようにして判定する。特定領域t1及び特定領域t2についての検出結果At1及びAt2における任意の検出領域のカメラ座標値Xt1n1及びXt2n2に関して式2が満たされるとき、Xt1n1とXt2n2の距離関係は正しいとする。
【0025】
【数2】
【0026】
ここで関数L(X1,X2)は位置ベクトルX1及びX2のL2距離を表す関数とする。δLt1t2は、特定領域t1及びt2の距離に関する許容誤差であって、三次元物体のサイズや画像解像度に依存するパラメータである。例えば、所定の作業距離における画像解像度が1mm/pixelであった場合に10pixelの検出誤差を許容するなら、δLt1t2=10mmとすればよい。さらに特定領域t2と特定領域t3との距離関係も同様にして判定する。いずれも距離関係が正しいと判断された場合には、それら二辺の成す角に関して式3を満たすとき、特定領域t1n1、t2n2、t3n3から成る領域組は幾何拘束を満たすものとし、これを検出領域組とする。
【0027】
【数3】
【0028】
ここでθtn1n2n3は、ベクトルXt1n1−Xt2n2とベクトルXt3n3−Xt2n2との成す角、θmtは、ベクトルXmt1−Xmt2とベクトルXmt3−Xmt2との成す角である。δθtは、領域組tにおける二辺の成す角に関する許容誤差であって、例えばδθt=15degなどと定義する。これらの幾何拘束を満たさなかった場合は領域組tを非検出領域組とし、以降の処理には利用しない。この幾何拘束判定により、例えば図4(d)のように特定領域の誤検出が発生しても、領域組を構成する他の特定領域における検出位置との相対位置関係から、検出領域組か非検出領域組かの判断をすることができる。このような幾何拘束判定をT個の領域組を構成する特定領域に関して全て行うことで、画像データIにおける三次元物体の位置及び姿勢を推定するために有効な検出領域組を絞りこむことができる。
【0029】
ステップS1100の統合工程において、計算機A200は、各検出領域組における位置及び姿勢の推定結果を算出し、その結果を統合することで認識結果を得る。統合工程S1100は、領域組位置姿勢推定工程S1040、投票工程S1050及び位置姿勢推定工程S1060に細分される。領域組位置姿勢推定工程S1040では、領域組検出工程S1030にて絞り込まれた検出領域組における三次元物体の位置及び姿勢が推定される。三次元物体の位置及び姿勢は、図4(e)に示すように、三次元物体をモデル座標系とカメラ座標系とが一致している状態から観測状態へと平行移動及び単回転させたときの平行移動ベクトル、単回転軸及び単回転角で表現されるものとする。
【0030】
検出領域組から推定される三次元物体の位置を平行移動ベクトルTk、姿勢を単回転軸Nk及び単回転角Bkで表す。ここでNkは、Nk=[nX,nY,nZ]Tで表される長さ1の正規化ベクトルである。このとき、Rkを、Nk及びBkで得られる回転変換であるとすれば、式4のように、三次元モデル上の任意の点Xmは、上記位置姿勢パラメータTk、Nk及びBkによって以下の位置に移動することになる。
【0031】
【数4】
【0032】
検出領域組kを構成する特定領域をk1,・・・,ku,・・・,kNkとする。ここでNkは検出領域組kを構成する特定領域の数で、領域組がトリプレットとして定義されているならばNk=3である。検出領域組kの位置姿勢推定問題は、式5の関数の最小化問題となる。
【0033】
【数5】
【0034】
但し、Xkuは、検出領域組kにおける特定領域kuのカメラ座標系の位置である。また、X´kuは、特定領域kuのモデル座標系の位置Xmkuが式4に従って変換されたときの変換後のカメラ座標系の位置である。回転変換Rkの四元数表現qと平行移動Tkの要素をそれぞれq=(q0,q1,q2,q3)、Tk=[q4,q5,q6]Tとする。このとき、検出領域組kの各特定領域の重心の位置μと、検出領域組kの各特定領域の重心の移動後の位置μ´は、それぞれ以下の式6、式7のようにして得られる。
【0035】
【数6】
【0036】
検出領域組kの各特定領域の重心の位置μと、検出領域組kの各特定領域の重心の移動後の位置μ´との共分散行列Skは、式8のようにして求められる。
【0037】
【数7】
【0038】
ここでSkの循環要素をAij=(Sk−SkT)ijとしたときに列ベクトルΔ=[A23,A32,A12]Tを定義する。これを使って表される式9のような対称行列Q(Sk)の固有値解析によって得られた最大固有値に対応する固有ベクトルは、回転変換Rの四元数表現qの要素列(q0,q1,q2,q3)の最適解となることが以下の文献1にて知られている。
文献1:P.J.Besl and N.D.McKay,“A Method for Recognition of 3−D Shapes”,IEEE Trans.PAMI,Vol.14,No.2,1992.
【0039】
【数8】
【0040】
ここでI3×3は、3×3単位行列である。回転変換Rの四元数表現である四元数qは、単回転軸Nk及び単回転角Bkとの間に式10に示す関係があるため、Nk及びBkの値が求まる。
【0041】
【数9】
【0042】
また、検出領域組kにおける三次元物体の位置を表す平行移動ベクトルTkの最適解は、式11のようにして得られる。
【0043】
【数10】
【0044】
但し、μmは検出領域組kを構成する特定領域のモデル座標系の重心であって、式12のようにして得られる。
【0045】
【数11】
【0046】
ステップS1050の投票工程では、計算機A200は、ステップS1040で推定された各検出領域組における位置及び姿勢の投票空間に確率投票を行う。投票の方法としては、いくつかの方法が考えられる。例えば、位置パラメータX及び姿勢パラメータ(N,B)に関する投票空間を所定の間隔のビンに分割して、ステップS1040の領域組位置姿勢推定工程にて得られた位置パラメータXk、姿勢パラメータNk及びBkの含まれるビンに投票する、といった方法でもよい。或いは、位置パラメータX、姿勢パラメータN及びBに関するパラメータ空間に対して、位置パラメータXk、姿勢パラメータNk及びBkを中心としたガウシアン等で近似した確率投票としてもよい。位置パラメータX、姿勢パラメータ(N、B)のビンへの投票数、或いは各検出領域組による確率投票値の累積確率を求め、位置パラメータX、姿勢パラメータ(N、B)における検出領域組の位置姿勢累積投票値P(X,N,B)とする。各検出領域組からの投票には、ステップS1020の特定領域検出工程にて得られる検出重みを用いて重み付けを行ってもよい。例えば、検出領域組kを構成する特定領域k1,・・・,knそれぞれについて得られた検出重みがwk1,・・・,wknであったとしたとき、η=wk1×・・・×wknを算出し、ビンに対する投票値に乗ずる、等としてもよい。
【0047】
最後にステップS1060の対象物体位置姿勢推定工程において、計算機A200は、各検出領域組の集計結果である位置姿勢累積確率P(X,N,B)から三次元物体の位置及び姿勢の推定値を算出する。具体的には、計算機A200は、P(X,N,B)が極大となる位置X、姿勢N、Bを求め、そのときのP(X,N,B)の値が閾値Θ以上であるときに、その位置X、姿勢N、Bを三次元物体の推定位置及び推定姿勢であるとする。閾値Θは位置姿勢累積確率P(X,N,B)に関する下限値である。閾値Θの値は大きいほど領域組投票数が必要となり、小さいほど誤検出が発生する可能性が高くなる。Θ=0.2等と固定してもよいし、後述するようにステップS2340の評価工程にて調節してもよい。
【0048】
ここで、位置姿勢探索空間全体に対して位置姿勢累積確率P(X,N,B)を算出して極大点を検出することは計算コスト的に困難である。そのため、ステップS1050の投票工程において、計算機A200は、各検出領域組の推定位置及び推定姿勢に関してのみ位置姿勢累積確率P(X,N,B)を求めてもよい。その場合、先ずステップS1060の位置姿勢推定工程では、計算機A200は、各検出領域組kの推定位置及び推定姿勢において位置姿勢累積確率P(Xk,Nk,Bk)の値が閾値Θ以上である点を位置姿勢推定値候補として残す。位置姿勢推定値候補となった推定位置を凝集的にクラスタリングすることで、近い位置及び姿勢に投票している検出領域組をまとめる。計算機A200は、同一クラスタとしてまとめられた検出領域組の位置及び姿勢を、位置姿勢累積確率P(Xk,Nk,Bk)で重み付け平均した値を推定位置及び推定姿勢として出力する。
【0049】
以上、認識処理として、投票による三次元物体の位置姿勢推定処理を説明したが、このような処理を行う場合に、位置の推定及び姿勢の推定に用いる特定領域及び領域組をどのように定義すれば有効であるかという課題がある。本実施形態は、この課題に対して有効な特定領域及び領域組を逐次選択していく方法を提供するものであり、その特定領域選択方法を以下に説明する。
【0050】
ここで、学習処理について説明する。図5は、学習処理の流れを示すフローチャートである。ステップS2100の学習データ収集工程では、座標対応算出部400は、三次元物体に関する複数の視点v=1,・・・,Vから得られる三次元物体情報である画像データIv、カメラ座標系の距離マップデータXmapv、Ymapv及びZmapvを、学習データとして取得する。これら三次元物体情報の取得におけるカメラや距離計測手法は特定領域検出処理時と同じ設定であることが望ましいが、必ずしも同じである必要はない。場合によっては、様々な視点における三次元物体情報を、三次元モデルを基にしてコンピュータグラフィックス等で作成し、画像データIv、カメラ座標系のマップデータXmapv、Ymapv、及びZmapvとして利用してもよい。
【0051】
ステップS2200の座標対応算出工程では、座標対応算出部400は、三次元モデル記憶部600から三次元モデルを獲得し、その三次元モデルに基づき、各視点から得られた画像データIvにおける画像座標系とカメラ座標系との対応付けを行う。先ず、座標対応算出部400は、画像データIvにおける三次元物体のカメラ座標系における位置及び姿勢を、手動もしくは公知技術によるトラッキングツール等を使ったマッチング処理によって算出する。これにより、画像データにおける三次元物体のカメラ座標系における位置及び姿勢が求まるため、透視投影することにより画像座標系上における三次元物体領域が得られる。よって、図6(a)のように三次元物体における各画像座標系の点xjと対応する三次元モデル上の点のカメラ座標系の位置Xjが得られる。上記処理により、座標対応算出部400は、各画像データIvにおける三次元物体領域内の画像座標系の点とカメラ座標系の点との対応関係を全て算出し、学習装置200へ送る。
【0052】
また、座標対応算出部400は、上記マッチング処理によって得られた三次元物体の単回転表現による姿勢パラメータである回転軸単位ベクトルnv、回転角度βv、さらに三次元物体の位置である平行移動ベクトルXcvも併せて学習装置200へ送る。これらの情報を全視点v=1,・・・,Vに関してまとめたものを学習データS={Iv,Xmapv,Ymapv,Zmapv,nv,βv,Xcv}とする。なお、学習データが三次元モデルから人工的に生成され、各視点における三次元物体の位置及び姿勢が既知であるならば、上記マッチング処理は必要ない。
【0053】
ステップS2300の学習データ分割工程では、学習装置200は、ステップS2100の学習画像収集工程及びステップS2200の座標点対応算出工程で得られた複数の視点v=1,・・・,Vからの学習データを、特定領域学習データと評価データとに分割する。先ず学習装置200は、視点インデックスvをvL=1,・・・,VL、vW=1,・・・,VWと振りなおす。そして、学習装置200は、振りなおした視点インデックスに従って、画像データIv、カメラ座標系マップデータXmapv、Ymapv及びZmapvと、各データにおける三次元物体の姿勢パラメータnv,βv、位置パラメータXcvとを二つのグループに分割する。即ち、学習装置200は、特定領域学習データSL={IvL,XmapvL,YmapvL,ZmapvL,nvL,βvL,XcvL}と評価データSW={IvW,XmapvW,YmapvW,ZmapvW,nvW,βvW,XcvW}とに分割する。但し、これら分割された二つのグループにおけるデータは重複していても、重複しないように分割しても、いずれでもよく、データの重複度によって限定されるものではない。学習結果による姿勢推定性能を視点に偏りなく得たい場合には、特定領域学習データSLと評価データSWとそれぞれの視点分布は、図6(b)のように測地ドーム近似されて偏りが少ないことが望ましい。ここで測地ドームとは、正多面体の三角形面素を再帰的に同一面積の三角形に分割していくことで球面を均一に離散化表現する、公知の手法である。但し、三次元物体の配置条件による姿勢に関する事前分布が既知である場合には、その分布に従った視点密度で学習データを準備してもよい。例えば、必ず表側を向いて供給されることがわかっている三次元物体を検出対象とするのであれば、図6(c)のように表側に関する学習データだけを収集して使ってもよい。これらの学習データを用いた学習装置200における特定領域選択方法は、以下のステップS2400の特定領域選択工程で説明する。
【0054】
図7は、ステップS2400の特定領域選択工程の処理をさらに詳細に示すフローチャートである。先ずステップS2410の特定領域初期選択工程において、学習装置200は、学習データSから任意の一つ以上の視点vを選択する。画像データIv上の画像座標系において三次元物体領域となる部分から、領域組を構成できる最低限数以上の点(N0個とする)をランダムに選択し、これを初期の特定領域とする。例えば、領域組を三点によるトリプレットとするならばN0>=3となるが、最も簡単に考える場合、N0=3と設定すればよい。但し先に述べたように領域組は三点によるトリプレットに限定されるものではないため、N0の最低設定数は領域組の種類に依存する。
【0055】
次にステップS2420の特定領域検出器学習工程において、学習装置200は、選択されたN0個の特定領域に対応する特定領域検出器を学習する。図9は、ステップS2420の特定領域検出器学習工程の詳細を示すフローチャートである。先ずステップS2420Aの特定領域モデル座標変換工程において、学習装置200は、特定領域aのモデル座標系における座標値を算出する。ここで、視点vの画像データIvにおける特定領域aの画像座標系位置がxav=[xa,ya]Tであったとする。そのカメラ座標系の位置は、Xav=[Xmapv(xav),Ymapv(xav),Zmapv(xav)]として得ることができる。これに対して、姿勢パラメータnv,βv、位置パラメータXcvから、式13のように、図8(a)のように特定領域aのモデル座標系の位置Xamを算出することができる。
【0056】
【数12】
【0057】
ここでR(nv,βv)は単回転軸nv及び単回転角βvによる回転変換行列である。これにより得られた特定領域aのモデル座標系の位置Xamに関して、ステップS2420Bの特定領域カメラ座標変換工程では、学習装置200は、式14のように、特定領域学習データSLの各視点vLにおけるカメラ座標系の位置XavLを計算する。
【0058】
【数13】
【0059】
ステップS2420Cの特定領域画像座標変換工程では、学習装置200は、式15のように、学習データ取得時のカメラパラメータより、カメラ座標系の位置XavLをさらに画像座標系の位置xavLへと変換する。
【0060】
【数14】
【0061】
ここでδ及びfは前述のカメラパラメータであり、δはカメラの画素サイズ、fはカメラ焦点距離である。ステップS2420Dの特定領域可視判定工程では、学習装置200は、ZavLとZmapvL(xavL)との値を比較し、ZavL>ZmapvL(xavL)であれば、視点vLからは特定領域aは不可視であると判断する。このようにして、学習装置200は、特定領域学習データSLの全視点に関して特定領域の可視判定を行う。ステップS2420Eの特定領域特徴量抽出工程では、学習装置200は、可視である視点vLから、その画像座標系の位置xavLを中心とした部分画像を特定領域検出時の処理と同様の方法で切り出し、特徴量を抽出し、特定領域検出器を学習するためのデータとする。なお、特徴量が回転不変特徴量でない場合には、切り出してきた部分画像を面内回転させることで面内回転時の特徴量とし、データに追加してもよい。
【0062】
学習装置200は、選択されたN0個の特定領域に関して上記処理により特定領域検出器を学習させるためのデータを生成し、これらのデータを使って各特定領域に関する特定領域検出器を生成する。特定領域検出器は既存のどのような手法でも構わないが、例えば公知技術であるSVM(Support Vector Machine)やRandomized Treeによる識別器としてもよい。また、これらの特定領域検出器は、各領域を別クラスとして分類するマルチクラス分類器として学習させてもよい。さらに、別の特定領域検出器として、例えば公知技術のOne−Class SVMを用いて、それぞれの特定領域に関して特定領域検出器を学習させ、特定領域数だけ特定領域検出器を生成してもよい。
【0063】
ステップS2420の特定領域検出器学習工程にて特定領域検出器が得られた後、ステップS2430の領域組生成工程では、学習装置200は、特定領域の組み合わせによる領域組の候補を生成する。領域組を三領域によるトリプレットとした場合、選択領域数N0に対して領域組の候補は全部でN0C3個存在する。但し、先の可視判定結果を用いることで、同時に可視とならない特定領域の組み合わせは事前に領域組の候補として排除することができる。また、可視な特定領域同士の組み合わせを全て生成する必要はなく、同一直線状に乗る特定領域の組み合わせを利用しない、デロネイ三角形分割によって稜線の重複を防ぐ、等により領域組を絞り込んでもよい。
【0064】
ステップS2440の評価工程では、学習装置200は、生成された特定領域検出器と領域組とを用いて、評価データSWの全ての視点におけるデータを入力データとして、先に説明したS1010〜S1060による認識処理による位置及び姿勢の推定を行う。学習装置200は、前述した投票閾値Θを様々に変えたときの認識処理の結果を比較する。認識処理結果の評価値としては、正しい認識結果と未検出及び誤認識とを同時表現できる値であれば、どのようなものを用いてもよい。ここで正しい認識結果が得られるとは、位置及び姿勢の推定結果が所定の誤差範囲内で得られることであり、位置及び姿勢の推定結果が得られても所定の誤差範囲内でなければ誤認識、位置及び姿勢の推定結果が得られなかった場合を未検出と称す。評価値としては、例えば以下の文献2によって公知である、適合率(Precision)と再現率(Recall)との調和平均として得られるF値(F−measure)を使ってもよい。ここで、適合率は得られた答えにおける正しい答えの比率で、正解数/(正解数+誤認識数)であり、再現率は全ての入力データに対する正しい答えの比率で、正解数/入力データ数である。F値はこれらのトレードオフを表す値で、2/(1/適合率+1/再現率)で表される。
文献2:C.V.Van Rijsbergen,“Information Retrieval”,Boston,Butterworth,1979.
【0065】
学習装置200は、このような評価値を比較して最もよい結果が得られた投票閾値Θを採用し、そのときの評価結果に基づいて、ステップS2470において処理ループの繰り返し判定を行う。全ての視点vWにおいて正しい認識結果が得られた場合には、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部700に格納し、学習処理を終了する。一方、正しい認識結果が得られない視点が存在する場合、ステップS2450の特定領域追加工程に処理を進める。
【0066】
ステップS2450の特定領域追加工程では、学習装置200は、ステップS2440の評価工程にて所定の誤差範囲内で位置及び姿勢の推定結果が得られない視点、即ち、未検出の発生した視点について、候補となる新規の特定領域を追加する。先ず、学習装置200は、未検出の発生した評価データSWにおける視点の中から任意に視点vFNを選択する。学習装置200は、視点vFNにおける評価データIvFN、XmapvFN,YmapvFN、ZmapvFNに対して現時点における特定領域の特定領域検出器を走査させる。学習装置200は、その出力から、画像データIvFNにおいて特定領域検出器が反応しなかった画像領域の中から新しい特定領域を選定し、追加する。追加する特定領域の位置は、三次元モデルから算出される部品領域の中で特定領域検出器によって検出されなかった画像領域の中から任意に選ぶ。例えば、図8(b)に示すようにして、各特定領域検出器の検出値を画像座標系上へプロットした検出スコアマップに対して、部品領域内で検出スコアの極小となる位置を選択する、等とすればよい。追加する特定領域の選択方法は検出スコアを基準にした方法に限定されるものではなく、部品領域からランダムに選んできてもよい。また、追加領域は一つ以上とし、同時に複数追加してもよい。
【0067】
次に、ステップS2460の特定領域検出器追加学習工程では、学習装置200は、追加された特定領域を含めた特定領域検出器の学習を行う。ステップS2450の特定領域追加工程にて追加された特定領域の画像座標系の位置をxnewvFNとする。そのカメラ座標系の位置はXnewvFN=[XnewvFN,YnewvFN,ZnewvFN]=[XmapvFN(xnewvFN),YmapvFN(xnewvFN),ZmapvFN(xnewvFN)]として得ることができる。これに対して、式16のようにして、位置姿勢パラメータnvFN,βvFN,XcvFNから追加された特定領域のモデル座標系位置Xnewmを算出することができる。
【0068】
【数15】
【0069】
ここでR(nvFN,βvFN)は、単回転軸nvFN及び単回転角βvFNによる回転変換行列である。学習装置200は、これにより得られた特定領域のモデル座標系位置Xnewmに関して、式17のように、特定領域検出器学習データSLの各視点vLにおけるカメラ座標系位置XnewvLを計算する。
【0070】
【数16】
【0071】
学習装置200は、学習データ取得時のカメラパラメータより、式18のように、カメラ座標系位置XnewvLをさらに画像座標系位置xnewvLへと変換する。
【0072】
【数17】
【0073】
ここでδとfは先にも述べたとおり、カメラの画素サイズ及び焦点距離である。これより、学習装置200は、ZnewvLとZmapvL(xnewvL)との値を比較し、ZnewvL>ZmapvL(xnewvL)であれば、特定領域は視点vLから不可視であると判断する。学習装置200は、特定領域学習データSLの全視点に関して特定領域の可視判定を行い、可視である視点vLにおける画像座標系位置xavLを中心とした部分画像を検出時の処理と同様の方法で切り出す。そして、学習装置200は、特徴量を抽出し、特定領域検出器を学習させるためのデータに追加する。学習装置200は、追加されたデータを含めて各特定領域に関する特定領域検出器を学習させ、特定領域検出器を生成する。
【0074】
ステップS2460の特定領域追加学習工程にて特定領域検出器の追加学習が終了すると、ステップS2430の特定領域組生成工程へと戻り、学習装置200は、領域組の候補を生成し、再び評価を行う。
【0075】
以上により、認識処理において必要な特定領域と、その組み合わせである領域組を選定することができる。特に多視点からの位置及び姿勢を推定するために必要な特定領域と領域組とを、あらゆる視点で位置及び姿勢の推定が可能なように不足なく選定することができる。
【0076】
次に、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態において説明した認識処理に必要な特定領域及び領域組を、検出結果がよくなるように領域組を削減していくことによる特定領域の選択方法について説明する。
【0077】
図5において、学習データ収集工程(S2100)、座標対応算出工程(S2200)及び学習データ分割工程(S2300)は、第1の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、モデル系座標と画像系座標との対応関係を算出して学習データSを生成し、特定領域学習データSLと評価データSWとを生成する。
【0078】
図10は、本実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。先ず、特定領域初期選択工程(S2411)では、学習装置200は、学習データSにおける任意の視点vに対して、画像データIv上の画像座標系において物体領域となる部分から、領域組を構成できる最低限数以上の特定領域(N0個とする)を選択する。次に、学習装置200は、別の視点において、選択された特定領域が可視かどうかを判定し、可視である特定領域を含めてN0個以上の特定領域を選択し、特定領域として追加する。学習装置200は、これを複数の視点に対して行い、初期の特定領域とする。
【0079】
特定領域検出器学習工程(S2421)及び領域組生成工程(S2431)では、第1の実施形態における特定領域検出器学習工程(S2420)及び領域組生成工程(S2430)と同様の処理により、学習装置200は特定領域検出器を生成し、候補となる領域組を生成する。領域組生成工程(S2431)で生成された領域組のインデックスをt=1,・・・,Ntとする。ここでNtは、領域組生成工程(S2431)にて生成された領域組数である。
【0080】
評価工程(S2441)では、学習装置200は、生成された特定領域検出器と領域組とを用いて、評価データSWの全ての視点におけるデータを入力データとして、第1の実施形態にて説明したステップS1010〜S1060による認識処理を行い、その評価値を算出する。評価値は、正しい認識結果と誤認識とを同時表現できる値であればどのようなものを用いてもよいが、例えば第1の実施形態で説明したF値等を用いてもよい。学習装置200は、投票閾値Θを様々に変えて評価を行い、最もよい結果が得られた投票閾値Θを採用し、そのときの評価値をE0とする。次に、学習装置200は、領域組t=1,・・・,Ntの中から一つ領域組を取り除いた状態で、同様にして評価データSWの全ての視点におけるデータを使って評価を行う。学習装置200は、これを全ての領域組t=1,・・・,Ntに対して行い、領域組tを除いた場合の評価値をEtとする。学習装置200は、これらの評価値E0及びEt(t=1...Nt)に基づき、ステップS2451において処理ループの繰り返し判定を行う。全てのEtがE0よりも悪い評価値の場合(評価値がF値であるなら、全てのEtがE0よりも小さい値である場合)、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部700に格納し、特定領域選択のルーチンを終了する。そうでない場合には、特定領域削除工程(S2471)に処理を進める。
【0081】
特定領域削除工程(S2471)では、学習装置200は、評価工程(S2441)にて得られた評価値を基準に、領域組の中から不要な領域組を削除する。学習装置200は、評価値E0よりも良い評価値となったEtに相当する領域組tの集合中から任意の領域組を選び、領域組のリストから削除する。領域組tを削除することにより、認識処理の識別性能は上記評価値でE0からEtへと向上したこととなり、識別結果に悪影響を与える領域組を除去したことになる。また、同時に削除する領域組tは一つだけでもよいし、複数でもよい。例えば、評価値E0よりもEtが良い評価値となった領域組が複数ある場合、最も良い値となったEtに相当する領域組tだけを削除してもよい。あるいは、Etをソーティングして、良い値となった順に所定数削除してもよい。さらには、E0より良い値となったEtに相当する領域tを全て削除する、としてもよい。若しくは、計算負荷を考慮して特定領域数が多い場合には多くの不要な領域組を同時に削除し、特定領域数が少なくなってきた場合には一つずつ削除する、等としてもよい。不要な領域組を削除した後、削除された領域組を構成する特定領域が、残りの領域組の構成領域に含まれていなければ、学習装置200は、その特定領域を特定領域のリストから削除する。学習装置200は、特定領域と領域組とのインデックスを振りなおし、領域組数Ntを更新し、特定領域削除工程(S2471)を終了する。
【0082】
学習装置200は、特定領域削除工程(S2471)にて不要な領域組及び特定領域の削除が終了すると、評価工程(S2441)へと戻り、再び評価を行う。
【0083】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。特に多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良くなる状態になるような特定領域及び領域組が選択されるようになる。
【0084】
次に、本発明の第3の実施形態について説明する。第1の実施形態では、未検出の発生する視点で特定領域を追加していくことで、視点によって未検出の発生率に偏りのない特定領域及び領域組の選定方法を示した。また、第2の実施形態では、大量の領域組を用意した状態から、全体の評価値が良くなるように領域組を削除していく、特定領域及び領域組の選定方法を示した。これらの特定領域、領域組の追加及び削除の工程は、組み合わせて動作させることで、より効果的な特定領域及び領域組を選択することができる。本実施形態では、未検出発生視点における特定領域の追加と、誤検出発生視点における不要領域組の削除による特定領域の選択方法を説明する。
【0085】
図5において、学習データ収集工程(S2100)、座標対応算出工程(S2200)及び学習データ分割工程(S2300)は、第1の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、三次元モデルと画像座標の対応関係を算出して学習データSを生成し、特定領域学習データSLと評価データSWとを生成する。
【0086】
図11は、本実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。特定領域初期選択工程(S2412)、特定領域検出器学習工程(S2422)及び領域組生成工程(S2432)では、第1の実施形態における特定領域初期選択工程(S2410)、特定領域検出器学習工程(S2420)及び領域組生成工程(S2430)と同様の処理が行われる。即ち、特定領域の初期設定処理、各特定領域検出器の学習による生成処理、領域組の生成処理が行われる。
【0087】
評価工程(S2442)では、学習装置200は、評価データSWの全ての視点において認識処理を行い、対象物体の未検出及び誤認識の発生する視点を抽出する。ステップS2402において、学習装置200は、全ての視点において正しく認識処理が行われたか否かを判定する。未検出が発生する視点があれば、特定領域追加工程(S2452)に処理を進める。未検出の発生する視点がなく、且つ、誤認識の発生する視点がない場合、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組とを学習パラメータ記憶部700に格納し、学習処理を終了する。また、未検出が発生する視点はないが、誤認識が発生する視点がある場合には、特定領域削除工程(S2472)に処理を進める。
【0088】
特定領域追加工程(S2452)及び特定領域検出器追加学習工程(S2462)では、第1の実施形態における特定領域追加工程(S2450)及び特定領域検出器追加学習工程(S2460)と同様の処理を行う。即ち、学習装置200は、評価データSWにおいて未検出の発生する視点に対して特定領域を追加し、追加された特定領域に関する学習データを追加して、追加された特定領域を含む特定領域検出器を生成する。
【0089】
特定領域検出器追加学習工程(S2462)が終了した後、ステップS2483において、学習装置200は、評価工程(S2442)における評価結果において誤認識の発生した視点がないかどうかを判定する。誤認識の発生した視点がない場合、学習装置200は、ステップS2492において、追加された特定領域があるか否かを判定する。追加された特定領域がある場合、処理はステップS2432に移行する。一方、追加された特定領域がない場合、処理は終了する。また、誤認識の発生した視点があった場合には、特定領域削除工程(S2472)に処理を進める。
【0090】
特定領域削除工程(S2472)では、学習装置200は、評価工程(S2442)において誤認識の発生した視点の中から任意の視点vFPを選択し、不要な領域組を削除する。視点vFPはどのような基準で選んでも良いが、例えば、全視点において発生した誤認識の中で投票スコアの最も大きい値を持つ誤認識を含む視点を選ぶ、等とすればよい。学習装置200は、視点vFPにおける投票結果において、誤認識位置姿勢への寄与度の高い領域組を削除する。領域組の投票寄与度は以下のようにして算出する。先ず、学習装置200は、投票によって算出された誤認識位置XFP及び誤認識姿勢(NFP,BFP)に対して、第1の実施形態における式16と同様にして、視点vFPで検出された各検出領域組kFP=1,・・・,NkFPからの投票確率を求める。投票確率P(XFP,NFP,BFP|TkFP,NkFP,BkFP)は、式19のようにして得られる。
【0091】
【数18】
【0092】
ここで、TkFP,NkFP及びBkFPは、認識処理時に得られた検出領域組kFPにおける位置及び姿勢のパラメータであり、式19の値は式13及び式15にTkFP,NkFP及びBkFPを代入することで得ることができる。学習装置200は、この投票確率P(XFP,NFP,BFP|TkFP,NkFP,BkFP)を検出領域組kFPの投票寄与度として扱い、この値の最も大きい領域組を削除する。
【0093】
特定領域削除工程(S2472)が終了した後は、領域組生成工程(S2432)へと処理を戻す。特定領域選択のループによって領域組生成工程(S2432)へと戻ってきたときには、追加された特定領域に従って新たに領域組が生成されるが、このとき、新たに追加された特定領域を構成要素とした領域組だけを生成すればよい。
【0094】
上記説明では、誤認識の発生した視点を選んで、その視点で検出された領域組の中から不要な領域組を削除したが、第2の実施形態のようにして全視点における評価値から削除する領域組を選択してもよい。その場合、評価工程(S2442)では、第2の実施形態における評価工程(S2441)と同様にして全ての特定領域を使って評価データSWの全ての視点におけるデータに関する評価値を算出し、そのときの評価値をE0とする。次に、領域組t=1,・・・,Ntの中から一つ領域組を取り除いた状態で、同様にして評価データSWの全ての視点におけるデータを使って評価を行い、それらの評価値をEtとする。また、特定領域削除工程(S2472)も、第2の実施形態における特定領域削除工程(S2471)と同様にして、評価値E0よりも良い評価値となったEtに相当する領域組tの中から任意に領域組tを選び、領域組のリストから削除する。不要な領域組を削除した後、削除された領域組を構成する特定領域が残りの領域組の構成領域に含まれていなければ、その特定領域はリストから削除する。
【0095】
また、不要な領域組の削除方法としては、正解位置姿勢に対して投票寄与度の低い領域組を削除してもよい。その場合、前記特定領域削除工程(S2472)では、以下のような処理を行う。即ち、学習装置200は、評価工程(S2442)にて得られた評価結果から、全視点における各検出領域組の、正解位置姿勢に対する投票寄与度を算出する。学習装置200は、評価データ集合の視点vにおける位置及び姿勢の正解値XGTv及び(NGTv,BGTv)に対して、第1の実施形態における式16と同様にして、検出された各検出領域組からの投票確率を求める。投票確率P(XGTv,NGTv,BGTv|Tkv,Nkv,Bkv)は、式20のようにして得られる。
【0096】
【数19】
【0097】
ここでTkv,Nkv及びBkvは、認識処理時に得られた検出領域組kの、視点vにおける位置及び姿勢のパラメータであり、学習装置200は、式27の値は式13、式15にTkv、Nkv及びBkvを代入することで得ることができる。学習装置200は、この投票確率P(XGTv,NGTv,BGTv|Tkv,Nkv,Bkv)を評価データSWの全視点に関して算出する。領域組kの正解位置姿勢への投票寄与度Ckは、全視点における投票確率から総合的に求める値であり、例えば式21のような値としてもよい。
【0098】
【数20】
【0099】
ここでUkは、評価データにおける全視点の中で、領域組vが検出された視点の集合である。若しくは、正解位置姿勢への投票寄与度Ckを式20のようなn次のモーメントとしてもよい。
【0100】
【数21】
【0101】
ここでnはモーメントの次数で、式20はn=1のとき平均値であり、n=2のとき二乗平均となる。上記のような正解位置姿勢への投票寄与度Ckが所定値に届かなければ、学習装置200は、その領域組kが正解位置及び姿勢への影響が低いと判断し、選択領域組のリストから削除する。これら領域削除の手法は、上記の手法のいずれかを用いてもよいし、二つ以上の手法を組み合わせて用いてもよい。また、本実施形態の説明では、特定領域追加工程(S2452)を、特定領域削除工程(S2472)よりも早い段階に処理することとしたが、本発明はこの順序に限定されるものではなく、いずれの工程を先に行ってもよい。
【0102】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。本実施形態においては、特定領域候補の少ない状態から特定領域を追加することにより、低計算コストで、全視点における偏りのない認識成功率の向上が保証される。また同時に、誤認識の発生原因となる領域組及び特定領域を削除していくことにより、認識成功率と誤認識のトレードオフによる全体的な性能の高い特定領域及び領域組が選ばれていく。これらの相互作用により、多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良い状態、即ち、認識成功率の向上と誤検出率の軽減とを同時に満たす状態になるように選択することができる。
【0103】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0104】
100:認識装置、200:学習装置、300:撮像部、400:座標対応算出部、600:三次元モデル記憶部、700:学習パラメータ記憶部
【技術分野】
【0001】
本発明は、対象物体の位置及び姿勢を推定するための技術に関するものである。
【背景技術】
【0002】
視覚情報を使った認識の分野において、物体の三次元的な位置や姿勢を推定する問題に関して、様々な研究開発が行われている。産業用ロボットや実験的なヒューマノイドロボット等の分野では、ランダムピッキング等の用途で三次元情報を利用することも多く、その必要性は高くなってきている。対象物体の位置や姿勢に関する三次元情報を得るには、ステレオカメラやレーザレンジファインダ等の三次元センサを用いる方法もある。既知の形状の対象物体に関しては、単眼カメラによる対象物体の位置及び姿勢の推定も行われている。単眼カメラからの撮影画像を用いて対象物体の三次元的な位置及び姿勢を推定する方法が特許文献1に開示されている。即ち、特許文献1には、学習画像における特徴点とその三次元座標を持っておき、入力画像から得られた特徴点と合致する学習画像における特徴点の三次元座標から、変換行列を誤差最小化する最適化計算で算出し、得られた変換行列を用いてモデルから画像を生成し、生成された画像から推定姿勢を修正して最終的な姿勢を得る技術が開示されている。特許文献2にも同様にして入力画像上で得られた特徴点のうち三点を使うことで、変換行列を求める技術が開示されている。
【0003】
特許文献3には、多視点から撮影された画像を学習画像とし、各々の学習画像における局所特徴量と入力画像から得られた局所特徴量とを比較し、最も類似する学習画像における視点情報を入力画像における姿勢として出力する技術が開示されている。特許文献4には、距離センサを用いた物体の三次元位置姿勢推定を行う技術が開示されている。即ち、本従来例では、入力データにおける三次元特徴量を算出し、モデル上の複数の特徴点に関する三次元特徴量との対応関係を得ることで、剛体変換を用いて物体の位置及び姿勢を算出する。この際、複数の特徴点を選ぶにあたり、物体の裏表等に関する運用上の拘束条件と、特徴量のクラスタリング結果によるクラスの混ざり方から、検出時に有効な点を選択している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−63567号公報
【特許文献2】特開2002−109539号公報
【特許文献3】特開2007−219765号公報
【特許文献4】特開2009−128075号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2に開示される技術では、特徴点の選択は、例えば人物の場合は目や口等、人手によって意図的に選択されている。そのため、特許文献1及び特許文献2では、後段の三次元位置姿勢推定処理において最も有用な学習画像における特徴点はどれか、という点に関して言及していない。
【0006】
特許文献3に開示される技術は、基本的に全ての姿勢を別のクラスとして識別する方法であるため、得られる解は離散的である。そのため、学習画像の獲得時における視点変更の角度分解能が識別システムの角度分解能となり、解の精度を上げるために撮影角度分解能を上げていくと別姿勢における類似画像が多くなるために姿勢判別が難しくなる。
【0007】
特許文献4に開示される技術では、モデル上の有用な特徴点を特徴量のクラスタリング結果から選択しているが、有用な特徴点が視点によって偏る可能性に関して言及しておらず、一部の視点から可視な特徴点が集中して選択されてしまう可能性がある。
【0008】
そこで、本発明の目的は、有用な特定領域を、視点における偏りがないように選択することにある。
【課題を解決するための手段】
【0009】
本発明の特定領域選択装置は、対象物体上の特定領域を複数選択する選択手段と、前記複数の特定領域の夫々に関する検出手段を学習する学習手段と、前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成手段と、前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識手段と、前記認識手段の認識結果に基づいて、新規の特定領域を追加する追加手段とを有し、前記学習手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする。
【発明の効果】
【0010】
本発明によれば、有用な特定領域を、視点における偏りがないように選択することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。
【図2】本発明の実施形態に係る特定領域選択システムの具体的な装置の構成例を示す図である。
【図3】本発明の実施形態に係る特定領域選択システムの処理を示すフローチャートである。
【図4】本発明の実施形態における認識処理を説明するための図である。
【図5】本発明の実施形態における学習処理の流れを示すフローチャートである。
【図6】本発明の実施形態における学習処理を説明するための図である。
【図7】ステップS2400の特定領域選択工程の処理をさらに詳細に示すフローチャートである。
【図8】特定領域のモデル座標系の位置を算出する方法と追加する特定領域の選択方法とを説明するための図である。
【図9】ステップS2420の特定領域検出器学習工程の詳細を示すフローチャートである。
【図10】本発明の実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。
【図11】本発明の実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0013】
本発明の第1の実施形態について説明する。図1は、本発明の実施形態に係る特定領域選択システムの機能的な構成を示すブロック図である。先ず、本実施形態に係る特定領域選択システムの概要について説明する。
【0014】
撮像部300によって得られた画像データは座標対応算出部400に送られる。座標対応算出部400は、当該画像データと三次元モデル記憶部600にて記憶されている三次元モデルとの各点の対応関係を算出する。学習装置200は、画像データと三次元モデルとの対応関係を用いて後述する学習処理を行い、得られた学習結果を学習パラメータ記憶部700に記憶する。
【0015】
撮像部300から得られた画像データは認識装置100にも送られる。認識装置100は、学習パラメータ記憶部700に記憶された学習結果に従って画像データに対する認識処理を行うことにより、認識処理結果を得る。ここで本実施形態における認識処理とは、撮像部300より得られた画像データから三次元物体の位置及び姿勢を求める、即ち三次元物体の位置及び姿勢の推定処理である。
【0016】
図2は、特定領域選択システムの具体的な装置の構成例を示す図である。
図2において、A500は三次元物体である。A300は三次元物体A500を載せるためのステージ、A100は三次元物体A500を撮影し、画像データを取得するためのカメラである。A110は、カメラA100と連動して、光切断によって三次元物体A500の距離マップデータを得るために、ガルバノミラー等で稼動するレーザ投光器である。カメラA100及びレーザ投光器A110は、図1における撮像部300に相当する。カメラA100及びレーザ投光器A110は、光切断による距離測定を行うための校正が行われているものとする。ここで、認識処理を行うための装置構成として光切断による距離測定を前提としたが、距離測定手法は光切断に限らない。レーザ投光器A110の替わりにプロジェクタを用いた空間コード化、若しくは複数のカメラを用いたステレオ計測等、様々な手法が考えられることは周知のとおりであり、どのような距離測定手法にも限定されるものではない。また、後述のように本手法は必ずしも三次元物体の距離情報を必要とするものではなく、カメラ一台による単眼の撮像系による装置構成も可能である。A200は、三次元物体の認識処理を行うための計算機であり、図1における認識装置100に相当する。また、後述する学習処理による学習結果は計算機A200の図示しない内部メモリに格納されており、これは図1における学習パラメータ記憶部700に相当する。認識処理を行う計算機はこの例のようなカメラA100と独立した装置に限定されるものではなく、例えばカメラA100に計算機A200の機能を搭載することによってカメラ自体が認識処理を行う構成でもよい。なお、図2に示す構成は、本実施形態に適用可能な一構成例であり、この構成例に限定されるものではない。
【0017】
図3は、本実施形態における特定領域選択システムの処理を示すフローチャートである。以下、図3を参照しながら、特定領域選択システムの処理について説明する。
【0018】
先ずステップS1010の入力情報取得工程において、計算機A200は、カメラA100及びレーザ投光器A110によって画像データIと距離マップデータZmapとを取得する。距離マップデータZmapは、画像データI上の画像座標点xに対応した位置のカメラ座標系奥行き距離がZmap(x)として得られるものである。距離マップデータの算出に関しては既存の三角測量法等で得られるため、ここでは特に説明しない。距離マップデータZmapと距離測定の校正値から、カメラ座標系におけるX座標及びY座標のマップも算出することができ、これらのマップをXmap、Ymapとする。
【0019】
続くステップS1020の特定領域検出工程において、計算機A200は、後述する学習処理によって三次元物体上の特定領域を検出する。ここで特定領域とは、三次元モデルとして得られている対象物体(三次元物体)上の所定サイズの局所領域であり、例えば図4(a)に示す三次元物体A510において、A511−1〜A511−Mのように三次元物体A510上の特定の位置を意味している。ここでMは特定領域の総数である。これらの特定領域は、それぞれモデル座標系における位置情報を持っており、特定領域iのモデル座標系の位置情報をXmi=[Xmi,Ymi,Zmi]Tとする。ここでTは行列の転置を表す。
【0020】
計算機A200は、図4(b)に示すように、画像データIに対してラスタスキャンし、注目位置xsを中心とした部分画像を抽出し、その部分画像において抽出された特徴量を用いて特定領域を検出する。部分画像の切り出しサイズrは、次の式1のように、予め決められたモデル座標系における固定サイズRと注目位置xsの奥行き距離とから算出される。
【0021】
【数1】
【0022】
ここでδ及びfはカメラパラメータである。δはカメラの画素サイズ、fはカメラの焦点距離である。例えば切り出しサイズがR=20mmと設定されているとき、f=24mm、δ=0.03mm/pixelのカメラにてZmap(xs)=800mmであれば、r=20pixelである。そのため、20pixel×20pixelの領域を切り出せばよい。特徴量としては様々なもの、例えば公知技術であるHOG(Histograms of Oriented Gradients)のようなものが考えられるが、本発明は特徴量の種類に限定されるものではない。また、特徴量はHOGのような画像特徴量に限定されるものではなく、例えば同様に公知技術であるSpin Imageのような、画像データIの代わりにXmap、Ymap、Zmapを使った三次元情報を用いた三次元特徴量でもよい。
【0023】
特定領域iに対する画像探索結果によって検出された検出領域の集合をAi={xi1,xi2,・・・,xiNi}とする。ここでxilは特定領域iについて検出されたl番目の検出領域の画像上の位置であって、画像座標系上の点である。Niは、特定領域iについて検出された検出領域の総数である。また、各検出領域xilのカメラ座標系の位置は、Xil=[Xil,Yil,Zil]=[Xmap(xil),Ymap(xil),Zmap(xil)]として得ることができる。
【0024】
ステップS1030の領域組検出工程において、計算機A200は、ステップS1020で検出された特定領域に対して、予め定義された特定領域の組み合わせによる領域組を検出する。ここで領域組とは、三次元物体の位置及び姿勢を推定するために必要な特定領域の組み合わせであり、後述する学習処理にて予め定義されているものとする。距離計測等によって各特定領域のカメラ座標系の位置を求める場合には、位置及び姿勢を決定するために最低限三点のカメラ座標系における位置がわかればよい。ここでは三つの特定領域の組から位置及び姿勢を推定することとし、以降この三つの特定領域による領域組をトリプレットと呼ぶこととするが、上記のように領域組は三点で構成されることに限定されるわけではない。トリプレットとして予め定義されたT個のそれぞれの領域組に対して、領域組tを構成する特定領域を、t1、t2及びt3とする(図4(c))。ここでt1、t2、t3は前述したM個の特定領域のいずれかである。また、それぞれの特定領域は複数の領域組に属していてもよい。領域組tの構成要素である特定領域が特定領域検出工程(S1020)で検出されていた場合、それら特定領域の相対的位置関係が幾何拘束条件を満たしているかどうかを以下のようにして判定する。特定領域t1及び特定領域t2についての検出結果At1及びAt2における任意の検出領域のカメラ座標値Xt1n1及びXt2n2に関して式2が満たされるとき、Xt1n1とXt2n2の距離関係は正しいとする。
【0025】
【数2】
【0026】
ここで関数L(X1,X2)は位置ベクトルX1及びX2のL2距離を表す関数とする。δLt1t2は、特定領域t1及びt2の距離に関する許容誤差であって、三次元物体のサイズや画像解像度に依存するパラメータである。例えば、所定の作業距離における画像解像度が1mm/pixelであった場合に10pixelの検出誤差を許容するなら、δLt1t2=10mmとすればよい。さらに特定領域t2と特定領域t3との距離関係も同様にして判定する。いずれも距離関係が正しいと判断された場合には、それら二辺の成す角に関して式3を満たすとき、特定領域t1n1、t2n2、t3n3から成る領域組は幾何拘束を満たすものとし、これを検出領域組とする。
【0027】
【数3】
【0028】
ここでθtn1n2n3は、ベクトルXt1n1−Xt2n2とベクトルXt3n3−Xt2n2との成す角、θmtは、ベクトルXmt1−Xmt2とベクトルXmt3−Xmt2との成す角である。δθtは、領域組tにおける二辺の成す角に関する許容誤差であって、例えばδθt=15degなどと定義する。これらの幾何拘束を満たさなかった場合は領域組tを非検出領域組とし、以降の処理には利用しない。この幾何拘束判定により、例えば図4(d)のように特定領域の誤検出が発生しても、領域組を構成する他の特定領域における検出位置との相対位置関係から、検出領域組か非検出領域組かの判断をすることができる。このような幾何拘束判定をT個の領域組を構成する特定領域に関して全て行うことで、画像データIにおける三次元物体の位置及び姿勢を推定するために有効な検出領域組を絞りこむことができる。
【0029】
ステップS1100の統合工程において、計算機A200は、各検出領域組における位置及び姿勢の推定結果を算出し、その結果を統合することで認識結果を得る。統合工程S1100は、領域組位置姿勢推定工程S1040、投票工程S1050及び位置姿勢推定工程S1060に細分される。領域組位置姿勢推定工程S1040では、領域組検出工程S1030にて絞り込まれた検出領域組における三次元物体の位置及び姿勢が推定される。三次元物体の位置及び姿勢は、図4(e)に示すように、三次元物体をモデル座標系とカメラ座標系とが一致している状態から観測状態へと平行移動及び単回転させたときの平行移動ベクトル、単回転軸及び単回転角で表現されるものとする。
【0030】
検出領域組から推定される三次元物体の位置を平行移動ベクトルTk、姿勢を単回転軸Nk及び単回転角Bkで表す。ここでNkは、Nk=[nX,nY,nZ]Tで表される長さ1の正規化ベクトルである。このとき、Rkを、Nk及びBkで得られる回転変換であるとすれば、式4のように、三次元モデル上の任意の点Xmは、上記位置姿勢パラメータTk、Nk及びBkによって以下の位置に移動することになる。
【0031】
【数4】
【0032】
検出領域組kを構成する特定領域をk1,・・・,ku,・・・,kNkとする。ここでNkは検出領域組kを構成する特定領域の数で、領域組がトリプレットとして定義されているならばNk=3である。検出領域組kの位置姿勢推定問題は、式5の関数の最小化問題となる。
【0033】
【数5】
【0034】
但し、Xkuは、検出領域組kにおける特定領域kuのカメラ座標系の位置である。また、X´kuは、特定領域kuのモデル座標系の位置Xmkuが式4に従って変換されたときの変換後のカメラ座標系の位置である。回転変換Rkの四元数表現qと平行移動Tkの要素をそれぞれq=(q0,q1,q2,q3)、Tk=[q4,q5,q6]Tとする。このとき、検出領域組kの各特定領域の重心の位置μと、検出領域組kの各特定領域の重心の移動後の位置μ´は、それぞれ以下の式6、式7のようにして得られる。
【0035】
【数6】
【0036】
検出領域組kの各特定領域の重心の位置μと、検出領域組kの各特定領域の重心の移動後の位置μ´との共分散行列Skは、式8のようにして求められる。
【0037】
【数7】
【0038】
ここでSkの循環要素をAij=(Sk−SkT)ijとしたときに列ベクトルΔ=[A23,A32,A12]Tを定義する。これを使って表される式9のような対称行列Q(Sk)の固有値解析によって得られた最大固有値に対応する固有ベクトルは、回転変換Rの四元数表現qの要素列(q0,q1,q2,q3)の最適解となることが以下の文献1にて知られている。
文献1:P.J.Besl and N.D.McKay,“A Method for Recognition of 3−D Shapes”,IEEE Trans.PAMI,Vol.14,No.2,1992.
【0039】
【数8】
【0040】
ここでI3×3は、3×3単位行列である。回転変換Rの四元数表現である四元数qは、単回転軸Nk及び単回転角Bkとの間に式10に示す関係があるため、Nk及びBkの値が求まる。
【0041】
【数9】
【0042】
また、検出領域組kにおける三次元物体の位置を表す平行移動ベクトルTkの最適解は、式11のようにして得られる。
【0043】
【数10】
【0044】
但し、μmは検出領域組kを構成する特定領域のモデル座標系の重心であって、式12のようにして得られる。
【0045】
【数11】
【0046】
ステップS1050の投票工程では、計算機A200は、ステップS1040で推定された各検出領域組における位置及び姿勢の投票空間に確率投票を行う。投票の方法としては、いくつかの方法が考えられる。例えば、位置パラメータX及び姿勢パラメータ(N,B)に関する投票空間を所定の間隔のビンに分割して、ステップS1040の領域組位置姿勢推定工程にて得られた位置パラメータXk、姿勢パラメータNk及びBkの含まれるビンに投票する、といった方法でもよい。或いは、位置パラメータX、姿勢パラメータN及びBに関するパラメータ空間に対して、位置パラメータXk、姿勢パラメータNk及びBkを中心としたガウシアン等で近似した確率投票としてもよい。位置パラメータX、姿勢パラメータ(N、B)のビンへの投票数、或いは各検出領域組による確率投票値の累積確率を求め、位置パラメータX、姿勢パラメータ(N、B)における検出領域組の位置姿勢累積投票値P(X,N,B)とする。各検出領域組からの投票には、ステップS1020の特定領域検出工程にて得られる検出重みを用いて重み付けを行ってもよい。例えば、検出領域組kを構成する特定領域k1,・・・,knそれぞれについて得られた検出重みがwk1,・・・,wknであったとしたとき、η=wk1×・・・×wknを算出し、ビンに対する投票値に乗ずる、等としてもよい。
【0047】
最後にステップS1060の対象物体位置姿勢推定工程において、計算機A200は、各検出領域組の集計結果である位置姿勢累積確率P(X,N,B)から三次元物体の位置及び姿勢の推定値を算出する。具体的には、計算機A200は、P(X,N,B)が極大となる位置X、姿勢N、Bを求め、そのときのP(X,N,B)の値が閾値Θ以上であるときに、その位置X、姿勢N、Bを三次元物体の推定位置及び推定姿勢であるとする。閾値Θは位置姿勢累積確率P(X,N,B)に関する下限値である。閾値Θの値は大きいほど領域組投票数が必要となり、小さいほど誤検出が発生する可能性が高くなる。Θ=0.2等と固定してもよいし、後述するようにステップS2340の評価工程にて調節してもよい。
【0048】
ここで、位置姿勢探索空間全体に対して位置姿勢累積確率P(X,N,B)を算出して極大点を検出することは計算コスト的に困難である。そのため、ステップS1050の投票工程において、計算機A200は、各検出領域組の推定位置及び推定姿勢に関してのみ位置姿勢累積確率P(X,N,B)を求めてもよい。その場合、先ずステップS1060の位置姿勢推定工程では、計算機A200は、各検出領域組kの推定位置及び推定姿勢において位置姿勢累積確率P(Xk,Nk,Bk)の値が閾値Θ以上である点を位置姿勢推定値候補として残す。位置姿勢推定値候補となった推定位置を凝集的にクラスタリングすることで、近い位置及び姿勢に投票している検出領域組をまとめる。計算機A200は、同一クラスタとしてまとめられた検出領域組の位置及び姿勢を、位置姿勢累積確率P(Xk,Nk,Bk)で重み付け平均した値を推定位置及び推定姿勢として出力する。
【0049】
以上、認識処理として、投票による三次元物体の位置姿勢推定処理を説明したが、このような処理を行う場合に、位置の推定及び姿勢の推定に用いる特定領域及び領域組をどのように定義すれば有効であるかという課題がある。本実施形態は、この課題に対して有効な特定領域及び領域組を逐次選択していく方法を提供するものであり、その特定領域選択方法を以下に説明する。
【0050】
ここで、学習処理について説明する。図5は、学習処理の流れを示すフローチャートである。ステップS2100の学習データ収集工程では、座標対応算出部400は、三次元物体に関する複数の視点v=1,・・・,Vから得られる三次元物体情報である画像データIv、カメラ座標系の距離マップデータXmapv、Ymapv及びZmapvを、学習データとして取得する。これら三次元物体情報の取得におけるカメラや距離計測手法は特定領域検出処理時と同じ設定であることが望ましいが、必ずしも同じである必要はない。場合によっては、様々な視点における三次元物体情報を、三次元モデルを基にしてコンピュータグラフィックス等で作成し、画像データIv、カメラ座標系のマップデータXmapv、Ymapv、及びZmapvとして利用してもよい。
【0051】
ステップS2200の座標対応算出工程では、座標対応算出部400は、三次元モデル記憶部600から三次元モデルを獲得し、その三次元モデルに基づき、各視点から得られた画像データIvにおける画像座標系とカメラ座標系との対応付けを行う。先ず、座標対応算出部400は、画像データIvにおける三次元物体のカメラ座標系における位置及び姿勢を、手動もしくは公知技術によるトラッキングツール等を使ったマッチング処理によって算出する。これにより、画像データにおける三次元物体のカメラ座標系における位置及び姿勢が求まるため、透視投影することにより画像座標系上における三次元物体領域が得られる。よって、図6(a)のように三次元物体における各画像座標系の点xjと対応する三次元モデル上の点のカメラ座標系の位置Xjが得られる。上記処理により、座標対応算出部400は、各画像データIvにおける三次元物体領域内の画像座標系の点とカメラ座標系の点との対応関係を全て算出し、学習装置200へ送る。
【0052】
また、座標対応算出部400は、上記マッチング処理によって得られた三次元物体の単回転表現による姿勢パラメータである回転軸単位ベクトルnv、回転角度βv、さらに三次元物体の位置である平行移動ベクトルXcvも併せて学習装置200へ送る。これらの情報を全視点v=1,・・・,Vに関してまとめたものを学習データS={Iv,Xmapv,Ymapv,Zmapv,nv,βv,Xcv}とする。なお、学習データが三次元モデルから人工的に生成され、各視点における三次元物体の位置及び姿勢が既知であるならば、上記マッチング処理は必要ない。
【0053】
ステップS2300の学習データ分割工程では、学習装置200は、ステップS2100の学習画像収集工程及びステップS2200の座標点対応算出工程で得られた複数の視点v=1,・・・,Vからの学習データを、特定領域学習データと評価データとに分割する。先ず学習装置200は、視点インデックスvをvL=1,・・・,VL、vW=1,・・・,VWと振りなおす。そして、学習装置200は、振りなおした視点インデックスに従って、画像データIv、カメラ座標系マップデータXmapv、Ymapv及びZmapvと、各データにおける三次元物体の姿勢パラメータnv,βv、位置パラメータXcvとを二つのグループに分割する。即ち、学習装置200は、特定領域学習データSL={IvL,XmapvL,YmapvL,ZmapvL,nvL,βvL,XcvL}と評価データSW={IvW,XmapvW,YmapvW,ZmapvW,nvW,βvW,XcvW}とに分割する。但し、これら分割された二つのグループにおけるデータは重複していても、重複しないように分割しても、いずれでもよく、データの重複度によって限定されるものではない。学習結果による姿勢推定性能を視点に偏りなく得たい場合には、特定領域学習データSLと評価データSWとそれぞれの視点分布は、図6(b)のように測地ドーム近似されて偏りが少ないことが望ましい。ここで測地ドームとは、正多面体の三角形面素を再帰的に同一面積の三角形に分割していくことで球面を均一に離散化表現する、公知の手法である。但し、三次元物体の配置条件による姿勢に関する事前分布が既知である場合には、その分布に従った視点密度で学習データを準備してもよい。例えば、必ず表側を向いて供給されることがわかっている三次元物体を検出対象とするのであれば、図6(c)のように表側に関する学習データだけを収集して使ってもよい。これらの学習データを用いた学習装置200における特定領域選択方法は、以下のステップS2400の特定領域選択工程で説明する。
【0054】
図7は、ステップS2400の特定領域選択工程の処理をさらに詳細に示すフローチャートである。先ずステップS2410の特定領域初期選択工程において、学習装置200は、学習データSから任意の一つ以上の視点vを選択する。画像データIv上の画像座標系において三次元物体領域となる部分から、領域組を構成できる最低限数以上の点(N0個とする)をランダムに選択し、これを初期の特定領域とする。例えば、領域組を三点によるトリプレットとするならばN0>=3となるが、最も簡単に考える場合、N0=3と設定すればよい。但し先に述べたように領域組は三点によるトリプレットに限定されるものではないため、N0の最低設定数は領域組の種類に依存する。
【0055】
次にステップS2420の特定領域検出器学習工程において、学習装置200は、選択されたN0個の特定領域に対応する特定領域検出器を学習する。図9は、ステップS2420の特定領域検出器学習工程の詳細を示すフローチャートである。先ずステップS2420Aの特定領域モデル座標変換工程において、学習装置200は、特定領域aのモデル座標系における座標値を算出する。ここで、視点vの画像データIvにおける特定領域aの画像座標系位置がxav=[xa,ya]Tであったとする。そのカメラ座標系の位置は、Xav=[Xmapv(xav),Ymapv(xav),Zmapv(xav)]として得ることができる。これに対して、姿勢パラメータnv,βv、位置パラメータXcvから、式13のように、図8(a)のように特定領域aのモデル座標系の位置Xamを算出することができる。
【0056】
【数12】
【0057】
ここでR(nv,βv)は単回転軸nv及び単回転角βvによる回転変換行列である。これにより得られた特定領域aのモデル座標系の位置Xamに関して、ステップS2420Bの特定領域カメラ座標変換工程では、学習装置200は、式14のように、特定領域学習データSLの各視点vLにおけるカメラ座標系の位置XavLを計算する。
【0058】
【数13】
【0059】
ステップS2420Cの特定領域画像座標変換工程では、学習装置200は、式15のように、学習データ取得時のカメラパラメータより、カメラ座標系の位置XavLをさらに画像座標系の位置xavLへと変換する。
【0060】
【数14】
【0061】
ここでδ及びfは前述のカメラパラメータであり、δはカメラの画素サイズ、fはカメラ焦点距離である。ステップS2420Dの特定領域可視判定工程では、学習装置200は、ZavLとZmapvL(xavL)との値を比較し、ZavL>ZmapvL(xavL)であれば、視点vLからは特定領域aは不可視であると判断する。このようにして、学習装置200は、特定領域学習データSLの全視点に関して特定領域の可視判定を行う。ステップS2420Eの特定領域特徴量抽出工程では、学習装置200は、可視である視点vLから、その画像座標系の位置xavLを中心とした部分画像を特定領域検出時の処理と同様の方法で切り出し、特徴量を抽出し、特定領域検出器を学習するためのデータとする。なお、特徴量が回転不変特徴量でない場合には、切り出してきた部分画像を面内回転させることで面内回転時の特徴量とし、データに追加してもよい。
【0062】
学習装置200は、選択されたN0個の特定領域に関して上記処理により特定領域検出器を学習させるためのデータを生成し、これらのデータを使って各特定領域に関する特定領域検出器を生成する。特定領域検出器は既存のどのような手法でも構わないが、例えば公知技術であるSVM(Support Vector Machine)やRandomized Treeによる識別器としてもよい。また、これらの特定領域検出器は、各領域を別クラスとして分類するマルチクラス分類器として学習させてもよい。さらに、別の特定領域検出器として、例えば公知技術のOne−Class SVMを用いて、それぞれの特定領域に関して特定領域検出器を学習させ、特定領域数だけ特定領域検出器を生成してもよい。
【0063】
ステップS2420の特定領域検出器学習工程にて特定領域検出器が得られた後、ステップS2430の領域組生成工程では、学習装置200は、特定領域の組み合わせによる領域組の候補を生成する。領域組を三領域によるトリプレットとした場合、選択領域数N0に対して領域組の候補は全部でN0C3個存在する。但し、先の可視判定結果を用いることで、同時に可視とならない特定領域の組み合わせは事前に領域組の候補として排除することができる。また、可視な特定領域同士の組み合わせを全て生成する必要はなく、同一直線状に乗る特定領域の組み合わせを利用しない、デロネイ三角形分割によって稜線の重複を防ぐ、等により領域組を絞り込んでもよい。
【0064】
ステップS2440の評価工程では、学習装置200は、生成された特定領域検出器と領域組とを用いて、評価データSWの全ての視点におけるデータを入力データとして、先に説明したS1010〜S1060による認識処理による位置及び姿勢の推定を行う。学習装置200は、前述した投票閾値Θを様々に変えたときの認識処理の結果を比較する。認識処理結果の評価値としては、正しい認識結果と未検出及び誤認識とを同時表現できる値であれば、どのようなものを用いてもよい。ここで正しい認識結果が得られるとは、位置及び姿勢の推定結果が所定の誤差範囲内で得られることであり、位置及び姿勢の推定結果が得られても所定の誤差範囲内でなければ誤認識、位置及び姿勢の推定結果が得られなかった場合を未検出と称す。評価値としては、例えば以下の文献2によって公知である、適合率(Precision)と再現率(Recall)との調和平均として得られるF値(F−measure)を使ってもよい。ここで、適合率は得られた答えにおける正しい答えの比率で、正解数/(正解数+誤認識数)であり、再現率は全ての入力データに対する正しい答えの比率で、正解数/入力データ数である。F値はこれらのトレードオフを表す値で、2/(1/適合率+1/再現率)で表される。
文献2:C.V.Van Rijsbergen,“Information Retrieval”,Boston,Butterworth,1979.
【0065】
学習装置200は、このような評価値を比較して最もよい結果が得られた投票閾値Θを採用し、そのときの評価結果に基づいて、ステップS2470において処理ループの繰り返し判定を行う。全ての視点vWにおいて正しい認識結果が得られた場合には、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部700に格納し、学習処理を終了する。一方、正しい認識結果が得られない視点が存在する場合、ステップS2450の特定領域追加工程に処理を進める。
【0066】
ステップS2450の特定領域追加工程では、学習装置200は、ステップS2440の評価工程にて所定の誤差範囲内で位置及び姿勢の推定結果が得られない視点、即ち、未検出の発生した視点について、候補となる新規の特定領域を追加する。先ず、学習装置200は、未検出の発生した評価データSWにおける視点の中から任意に視点vFNを選択する。学習装置200は、視点vFNにおける評価データIvFN、XmapvFN,YmapvFN、ZmapvFNに対して現時点における特定領域の特定領域検出器を走査させる。学習装置200は、その出力から、画像データIvFNにおいて特定領域検出器が反応しなかった画像領域の中から新しい特定領域を選定し、追加する。追加する特定領域の位置は、三次元モデルから算出される部品領域の中で特定領域検出器によって検出されなかった画像領域の中から任意に選ぶ。例えば、図8(b)に示すようにして、各特定領域検出器の検出値を画像座標系上へプロットした検出スコアマップに対して、部品領域内で検出スコアの極小となる位置を選択する、等とすればよい。追加する特定領域の選択方法は検出スコアを基準にした方法に限定されるものではなく、部品領域からランダムに選んできてもよい。また、追加領域は一つ以上とし、同時に複数追加してもよい。
【0067】
次に、ステップS2460の特定領域検出器追加学習工程では、学習装置200は、追加された特定領域を含めた特定領域検出器の学習を行う。ステップS2450の特定領域追加工程にて追加された特定領域の画像座標系の位置をxnewvFNとする。そのカメラ座標系の位置はXnewvFN=[XnewvFN,YnewvFN,ZnewvFN]=[XmapvFN(xnewvFN),YmapvFN(xnewvFN),ZmapvFN(xnewvFN)]として得ることができる。これに対して、式16のようにして、位置姿勢パラメータnvFN,βvFN,XcvFNから追加された特定領域のモデル座標系位置Xnewmを算出することができる。
【0068】
【数15】
【0069】
ここでR(nvFN,βvFN)は、単回転軸nvFN及び単回転角βvFNによる回転変換行列である。学習装置200は、これにより得られた特定領域のモデル座標系位置Xnewmに関して、式17のように、特定領域検出器学習データSLの各視点vLにおけるカメラ座標系位置XnewvLを計算する。
【0070】
【数16】
【0071】
学習装置200は、学習データ取得時のカメラパラメータより、式18のように、カメラ座標系位置XnewvLをさらに画像座標系位置xnewvLへと変換する。
【0072】
【数17】
【0073】
ここでδとfは先にも述べたとおり、カメラの画素サイズ及び焦点距離である。これより、学習装置200は、ZnewvLとZmapvL(xnewvL)との値を比較し、ZnewvL>ZmapvL(xnewvL)であれば、特定領域は視点vLから不可視であると判断する。学習装置200は、特定領域学習データSLの全視点に関して特定領域の可視判定を行い、可視である視点vLにおける画像座標系位置xavLを中心とした部分画像を検出時の処理と同様の方法で切り出す。そして、学習装置200は、特徴量を抽出し、特定領域検出器を学習させるためのデータに追加する。学習装置200は、追加されたデータを含めて各特定領域に関する特定領域検出器を学習させ、特定領域検出器を生成する。
【0074】
ステップS2460の特定領域追加学習工程にて特定領域検出器の追加学習が終了すると、ステップS2430の特定領域組生成工程へと戻り、学習装置200は、領域組の候補を生成し、再び評価を行う。
【0075】
以上により、認識処理において必要な特定領域と、その組み合わせである領域組を選定することができる。特に多視点からの位置及び姿勢を推定するために必要な特定領域と領域組とを、あらゆる視点で位置及び姿勢の推定が可能なように不足なく選定することができる。
【0076】
次に、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態において説明した認識処理に必要な特定領域及び領域組を、検出結果がよくなるように領域組を削減していくことによる特定領域の選択方法について説明する。
【0077】
図5において、学習データ収集工程(S2100)、座標対応算出工程(S2200)及び学習データ分割工程(S2300)は、第1の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、モデル系座標と画像系座標との対応関係を算出して学習データSを生成し、特定領域学習データSLと評価データSWとを生成する。
【0078】
図10は、本実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。先ず、特定領域初期選択工程(S2411)では、学習装置200は、学習データSにおける任意の視点vに対して、画像データIv上の画像座標系において物体領域となる部分から、領域組を構成できる最低限数以上の特定領域(N0個とする)を選択する。次に、学習装置200は、別の視点において、選択された特定領域が可視かどうかを判定し、可視である特定領域を含めてN0個以上の特定領域を選択し、特定領域として追加する。学習装置200は、これを複数の視点に対して行い、初期の特定領域とする。
【0079】
特定領域検出器学習工程(S2421)及び領域組生成工程(S2431)では、第1の実施形態における特定領域検出器学習工程(S2420)及び領域組生成工程(S2430)と同様の処理により、学習装置200は特定領域検出器を生成し、候補となる領域組を生成する。領域組生成工程(S2431)で生成された領域組のインデックスをt=1,・・・,Ntとする。ここでNtは、領域組生成工程(S2431)にて生成された領域組数である。
【0080】
評価工程(S2441)では、学習装置200は、生成された特定領域検出器と領域組とを用いて、評価データSWの全ての視点におけるデータを入力データとして、第1の実施形態にて説明したステップS1010〜S1060による認識処理を行い、その評価値を算出する。評価値は、正しい認識結果と誤認識とを同時表現できる値であればどのようなものを用いてもよいが、例えば第1の実施形態で説明したF値等を用いてもよい。学習装置200は、投票閾値Θを様々に変えて評価を行い、最もよい結果が得られた投票閾値Θを採用し、そのときの評価値をE0とする。次に、学習装置200は、領域組t=1,・・・,Ntの中から一つ領域組を取り除いた状態で、同様にして評価データSWの全ての視点におけるデータを使って評価を行う。学習装置200は、これを全ての領域組t=1,・・・,Ntに対して行い、領域組tを除いた場合の評価値をEtとする。学習装置200は、これらの評価値E0及びEt(t=1...Nt)に基づき、ステップS2451において処理ループの繰り返し判定を行う。全てのEtがE0よりも悪い評価値の場合(評価値がF値であるなら、全てのEtがE0よりも小さい値である場合)、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組を学習パラメータ記憶部700に格納し、特定領域選択のルーチンを終了する。そうでない場合には、特定領域削除工程(S2471)に処理を進める。
【0081】
特定領域削除工程(S2471)では、学習装置200は、評価工程(S2441)にて得られた評価値を基準に、領域組の中から不要な領域組を削除する。学習装置200は、評価値E0よりも良い評価値となったEtに相当する領域組tの集合中から任意の領域組を選び、領域組のリストから削除する。領域組tを削除することにより、認識処理の識別性能は上記評価値でE0からEtへと向上したこととなり、識別結果に悪影響を与える領域組を除去したことになる。また、同時に削除する領域組tは一つだけでもよいし、複数でもよい。例えば、評価値E0よりもEtが良い評価値となった領域組が複数ある場合、最も良い値となったEtに相当する領域組tだけを削除してもよい。あるいは、Etをソーティングして、良い値となった順に所定数削除してもよい。さらには、E0より良い値となったEtに相当する領域tを全て削除する、としてもよい。若しくは、計算負荷を考慮して特定領域数が多い場合には多くの不要な領域組を同時に削除し、特定領域数が少なくなってきた場合には一つずつ削除する、等としてもよい。不要な領域組を削除した後、削除された領域組を構成する特定領域が、残りの領域組の構成領域に含まれていなければ、学習装置200は、その特定領域を特定領域のリストから削除する。学習装置200は、特定領域と領域組とのインデックスを振りなおし、領域組数Ntを更新し、特定領域削除工程(S2471)を終了する。
【0082】
学習装置200は、特定領域削除工程(S2471)にて不要な領域組及び特定領域の削除が終了すると、評価工程(S2441)へと戻り、再び評価を行う。
【0083】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。特に多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良くなる状態になるような特定領域及び領域組が選択されるようになる。
【0084】
次に、本発明の第3の実施形態について説明する。第1の実施形態では、未検出の発生する視点で特定領域を追加していくことで、視点によって未検出の発生率に偏りのない特定領域及び領域組の選定方法を示した。また、第2の実施形態では、大量の領域組を用意した状態から、全体の評価値が良くなるように領域組を削除していく、特定領域及び領域組の選定方法を示した。これらの特定領域、領域組の追加及び削除の工程は、組み合わせて動作させることで、より効果的な特定領域及び領域組を選択することができる。本実施形態では、未検出発生視点における特定領域の追加と、誤検出発生視点における不要領域組の削除による特定領域の選択方法を説明する。
【0085】
図5において、学習データ収集工程(S2100)、座標対応算出工程(S2200)及び学習データ分割工程(S2300)は、第1の実施形態と同様の処理にて学習データを生成する。即ち、本実施形態においては、多視点から対象物体情報を獲得し、三次元モデルと画像座標の対応関係を算出して学習データSを生成し、特定領域学習データSLと評価データSWとを生成する。
【0086】
図11は、本実施形態における特定領域選択工程(S2400)の詳細な処理を示すフローチャートである。特定領域初期選択工程(S2412)、特定領域検出器学習工程(S2422)及び領域組生成工程(S2432)では、第1の実施形態における特定領域初期選択工程(S2410)、特定領域検出器学習工程(S2420)及び領域組生成工程(S2430)と同様の処理が行われる。即ち、特定領域の初期設定処理、各特定領域検出器の学習による生成処理、領域組の生成処理が行われる。
【0087】
評価工程(S2442)では、学習装置200は、評価データSWの全ての視点において認識処理を行い、対象物体の未検出及び誤認識の発生する視点を抽出する。ステップS2402において、学習装置200は、全ての視点において正しく認識処理が行われたか否かを判定する。未検出が発生する視点があれば、特定領域追加工程(S2452)に処理を進める。未検出の発生する視点がなく、且つ、誤認識の発生する視点がない場合、学習装置200は、特定領域検出器のパラメータと特定領域及び領域組とを学習パラメータ記憶部700に格納し、学習処理を終了する。また、未検出が発生する視点はないが、誤認識が発生する視点がある場合には、特定領域削除工程(S2472)に処理を進める。
【0088】
特定領域追加工程(S2452)及び特定領域検出器追加学習工程(S2462)では、第1の実施形態における特定領域追加工程(S2450)及び特定領域検出器追加学習工程(S2460)と同様の処理を行う。即ち、学習装置200は、評価データSWにおいて未検出の発生する視点に対して特定領域を追加し、追加された特定領域に関する学習データを追加して、追加された特定領域を含む特定領域検出器を生成する。
【0089】
特定領域検出器追加学習工程(S2462)が終了した後、ステップS2483において、学習装置200は、評価工程(S2442)における評価結果において誤認識の発生した視点がないかどうかを判定する。誤認識の発生した視点がない場合、学習装置200は、ステップS2492において、追加された特定領域があるか否かを判定する。追加された特定領域がある場合、処理はステップS2432に移行する。一方、追加された特定領域がない場合、処理は終了する。また、誤認識の発生した視点があった場合には、特定領域削除工程(S2472)に処理を進める。
【0090】
特定領域削除工程(S2472)では、学習装置200は、評価工程(S2442)において誤認識の発生した視点の中から任意の視点vFPを選択し、不要な領域組を削除する。視点vFPはどのような基準で選んでも良いが、例えば、全視点において発生した誤認識の中で投票スコアの最も大きい値を持つ誤認識を含む視点を選ぶ、等とすればよい。学習装置200は、視点vFPにおける投票結果において、誤認識位置姿勢への寄与度の高い領域組を削除する。領域組の投票寄与度は以下のようにして算出する。先ず、学習装置200は、投票によって算出された誤認識位置XFP及び誤認識姿勢(NFP,BFP)に対して、第1の実施形態における式16と同様にして、視点vFPで検出された各検出領域組kFP=1,・・・,NkFPからの投票確率を求める。投票確率P(XFP,NFP,BFP|TkFP,NkFP,BkFP)は、式19のようにして得られる。
【0091】
【数18】
【0092】
ここで、TkFP,NkFP及びBkFPは、認識処理時に得られた検出領域組kFPにおける位置及び姿勢のパラメータであり、式19の値は式13及び式15にTkFP,NkFP及びBkFPを代入することで得ることができる。学習装置200は、この投票確率P(XFP,NFP,BFP|TkFP,NkFP,BkFP)を検出領域組kFPの投票寄与度として扱い、この値の最も大きい領域組を削除する。
【0093】
特定領域削除工程(S2472)が終了した後は、領域組生成工程(S2432)へと処理を戻す。特定領域選択のループによって領域組生成工程(S2432)へと戻ってきたときには、追加された特定領域に従って新たに領域組が生成されるが、このとき、新たに追加された特定領域を構成要素とした領域組だけを生成すればよい。
【0094】
上記説明では、誤認識の発生した視点を選んで、その視点で検出された領域組の中から不要な領域組を削除したが、第2の実施形態のようにして全視点における評価値から削除する領域組を選択してもよい。その場合、評価工程(S2442)では、第2の実施形態における評価工程(S2441)と同様にして全ての特定領域を使って評価データSWの全ての視点におけるデータに関する評価値を算出し、そのときの評価値をE0とする。次に、領域組t=1,・・・,Ntの中から一つ領域組を取り除いた状態で、同様にして評価データSWの全ての視点におけるデータを使って評価を行い、それらの評価値をEtとする。また、特定領域削除工程(S2472)も、第2の実施形態における特定領域削除工程(S2471)と同様にして、評価値E0よりも良い評価値となったEtに相当する領域組tの中から任意に領域組tを選び、領域組のリストから削除する。不要な領域組を削除した後、削除された領域組を構成する特定領域が残りの領域組の構成領域に含まれていなければ、その特定領域はリストから削除する。
【0095】
また、不要な領域組の削除方法としては、正解位置姿勢に対して投票寄与度の低い領域組を削除してもよい。その場合、前記特定領域削除工程(S2472)では、以下のような処理を行う。即ち、学習装置200は、評価工程(S2442)にて得られた評価結果から、全視点における各検出領域組の、正解位置姿勢に対する投票寄与度を算出する。学習装置200は、評価データ集合の視点vにおける位置及び姿勢の正解値XGTv及び(NGTv,BGTv)に対して、第1の実施形態における式16と同様にして、検出された各検出領域組からの投票確率を求める。投票確率P(XGTv,NGTv,BGTv|Tkv,Nkv,Bkv)は、式20のようにして得られる。
【0096】
【数19】
【0097】
ここでTkv,Nkv及びBkvは、認識処理時に得られた検出領域組kの、視点vにおける位置及び姿勢のパラメータであり、学習装置200は、式27の値は式13、式15にTkv、Nkv及びBkvを代入することで得ることができる。学習装置200は、この投票確率P(XGTv,NGTv,BGTv|Tkv,Nkv,Bkv)を評価データSWの全視点に関して算出する。領域組kの正解位置姿勢への投票寄与度Ckは、全視点における投票確率から総合的に求める値であり、例えば式21のような値としてもよい。
【0098】
【数20】
【0099】
ここでUkは、評価データにおける全視点の中で、領域組vが検出された視点の集合である。若しくは、正解位置姿勢への投票寄与度Ckを式20のようなn次のモーメントとしてもよい。
【0100】
【数21】
【0101】
ここでnはモーメントの次数で、式20はn=1のとき平均値であり、n=2のとき二乗平均となる。上記のような正解位置姿勢への投票寄与度Ckが所定値に届かなければ、学習装置200は、その領域組kが正解位置及び姿勢への影響が低いと判断し、選択領域組のリストから削除する。これら領域削除の手法は、上記の手法のいずれかを用いてもよいし、二つ以上の手法を組み合わせて用いてもよい。また、本実施形態の説明では、特定領域追加工程(S2452)を、特定領域削除工程(S2472)よりも早い段階に処理することとしたが、本発明はこの順序に限定されるものではなく、いずれの工程を先に行ってもよい。
【0102】
以上により、本実施形態においては、認識処理において必要な特定領域と、その組み合わせである領域組とを選択することができる。本実施形態においては、特定領域候補の少ない状態から特定領域を追加することにより、低計算コストで、全視点における偏りのない認識成功率の向上が保証される。また同時に、誤認識の発生原因となる領域組及び特定領域を削除していくことにより、認識成功率と誤認識のトレードオフによる全体的な性能の高い特定領域及び領域組が選ばれていく。これらの相互作用により、多視点からの位置姿勢を推定するために必要な特定領域と領域組を、あらゆる視点における総合的な認識結果が良い状態、即ち、認識成功率の向上と誤検出率の軽減とを同時に満たす状態になるように選択することができる。
【0103】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0104】
100:認識装置、200:学習装置、300:撮像部、400:座標対応算出部、600:三次元モデル記憶部、700:学習パラメータ記憶部
【特許請求の範囲】
【請求項1】
対象物体上の特定領域を複数選択する選択手段と、
前記複数の特定領域の夫々に関する検出手段を学習する学習手段と、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成手段と、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識手段と、
前記認識手段の認識結果に基づいて、新規の特定領域を追加する追加手段とを有し、
前記学習手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする特定領域選択装置。
【請求項2】
前記認識手段の認識結果に基づいて、前記選択手段により選択された前記特定領域又は前記追加手段により追加された前記新規の特定領域から不要な特定領域を削除する削除手段を更に有することを特徴とする請求項1に記載の特定領域選択装置。
【請求項3】
前記特定領域とは、三次元モデルとして得られている前記対象物体上の所定のサイズの局所領域であることを特徴とする請求項1又は2に記載の特定領域選択装置。
【請求項4】
前記認識手段は、前記検出手段により前記対象物体に係る入力情報から前記対象物体の特定領域を検出し、検出された複数の特定領域の組み合わせから領域組を検出し、当該領域組について認識処理を行い、その認識結果を統合することにより、前記対象物体を認識することを特徴とする請求項1乃至3の何れか1項に記載の特定領域選択装置。
【請求項5】
前記選択手段は、所定の視点において可視である三次元モデル上の複数の局所領域を特定領域として選択することを特徴とする請求項1乃至4の何れか1項に記載の特定領域選択装置。
【請求項6】
前記学習手段は、前記選択手段により選択された複数の特定領域に関して、当該複数の特定領域の夫々に関する検出手段を学習データから学習することを特徴とする請求項1乃至5の何れか1項に記載の特定領域選択装置。
【請求項7】
前記学習手段は、前記追加手段により追加された特定領域に関して、当該特定領域に関する検出手段を学習データから学習することを特徴とする請求項1乃至6の何れか1項に記載の特定領域選択装置。
【請求項8】
前記認識手段は、前記検出手段及び前記領域組を用いて認識処理を行うことにより、学習データに対する認識結果を得ることを特徴とする請求項4乃至7の何れか1項に記載の特定領域選択装置。
【請求項9】
前記学習データとは、複数の視点から得られた前記対象物体に係る情報であることを特徴とする請求項6乃至8の何れか1項に記載の特定領域選択装置。
【請求項10】
前記複数の視点とは、測地ドーム近似された視点であることを特徴とする請求項9に記載の特定領域選択装置。
【請求項11】
前記複数の視点とは、前記対象物体の配置条件による姿勢に関する事前分布に従って得られた視点であることを特徴とする請求項9に記載の特定領域選択装置。
【請求項12】
前記追加手段は、前記認識手段の認識結果として前記対象物体が未検出であった視点に関して、前記検出手段による特定領域の検出結果に基づいて前記新規の特定領域を追加することを特徴とする請求項1乃至11の何れか1項に記載の特定領域選択装置。
【請求項13】
前記削除手段は、前記認識手段の認識結果として前記対象物体の誤認識が発生した視点に関して、前記認識手段の認識処理における領域組の投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項14】
前記削除手段は、前記認識手段の認識結果から各領域組の複数の視点に関する評価値を算出し、前記評価値に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項15】
前記削除手段は、前記認識手段の認識結果から各領域組の複数の視点に関する投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項16】
前記認識手段は、前記対象物体の位置及び姿勢のうちの少なくとも何れか一方を認識することを特徴とする請求項1乃至15の何れか1項に記載の特定領域選択装置。
【請求項17】
前記入力情報は、前記対象物体の画像情報及び三次元情報のうちの少なくとも何れか一つを含むことを特徴とする請求項4に記載の特定領域選択装置。
【請求項18】
前記対象物体に係る情報は、三次元モデルから得られた画像情報及び三次元情報のうちの少なくとも何れか一つを含むことを特徴とする請求項9に記載の特定領域選択装置。
【請求項19】
特定領域選択装置によって実行される特定領域選択方法であって、
対象物体上の特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出手段を学習する学習ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成ステップと、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識ステップと、
前記認識ステップの認識結果に基づいて、新規の特定領域を追加する追加ステップとを含み、
前記学習ステップは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする特定領域選択方法。
【請求項20】
対象物体上の特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出手段を学習する学習ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成ステップと、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識ステップと、
前記認識ステップの認識結果に基づいて、新規の特定領域を追加する追加ステップとをコンピュータに実行させ、
前記学習ステップは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とするプログラム。
【請求項1】
対象物体上の特定領域を複数選択する選択手段と、
前記複数の特定領域の夫々に関する検出手段を学習する学習手段と、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成手段と、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識手段と、
前記認識手段の認識結果に基づいて、新規の特定領域を追加する追加手段とを有し、
前記学習手段は、前記追加手段により前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする特定領域選択装置。
【請求項2】
前記認識手段の認識結果に基づいて、前記選択手段により選択された前記特定領域又は前記追加手段により追加された前記新規の特定領域から不要な特定領域を削除する削除手段を更に有することを特徴とする請求項1に記載の特定領域選択装置。
【請求項3】
前記特定領域とは、三次元モデルとして得られている前記対象物体上の所定のサイズの局所領域であることを特徴とする請求項1又は2に記載の特定領域選択装置。
【請求項4】
前記認識手段は、前記検出手段により前記対象物体に係る入力情報から前記対象物体の特定領域を検出し、検出された複数の特定領域の組み合わせから領域組を検出し、当該領域組について認識処理を行い、その認識結果を統合することにより、前記対象物体を認識することを特徴とする請求項1乃至3の何れか1項に記載の特定領域選択装置。
【請求項5】
前記選択手段は、所定の視点において可視である三次元モデル上の複数の局所領域を特定領域として選択することを特徴とする請求項1乃至4の何れか1項に記載の特定領域選択装置。
【請求項6】
前記学習手段は、前記選択手段により選択された複数の特定領域に関して、当該複数の特定領域の夫々に関する検出手段を学習データから学習することを特徴とする請求項1乃至5の何れか1項に記載の特定領域選択装置。
【請求項7】
前記学習手段は、前記追加手段により追加された特定領域に関して、当該特定領域に関する検出手段を学習データから学習することを特徴とする請求項1乃至6の何れか1項に記載の特定領域選択装置。
【請求項8】
前記認識手段は、前記検出手段及び前記領域組を用いて認識処理を行うことにより、学習データに対する認識結果を得ることを特徴とする請求項4乃至7の何れか1項に記載の特定領域選択装置。
【請求項9】
前記学習データとは、複数の視点から得られた前記対象物体に係る情報であることを特徴とする請求項6乃至8の何れか1項に記載の特定領域選択装置。
【請求項10】
前記複数の視点とは、測地ドーム近似された視点であることを特徴とする請求項9に記載の特定領域選択装置。
【請求項11】
前記複数の視点とは、前記対象物体の配置条件による姿勢に関する事前分布に従って得られた視点であることを特徴とする請求項9に記載の特定領域選択装置。
【請求項12】
前記追加手段は、前記認識手段の認識結果として前記対象物体が未検出であった視点に関して、前記検出手段による特定領域の検出結果に基づいて前記新規の特定領域を追加することを特徴とする請求項1乃至11の何れか1項に記載の特定領域選択装置。
【請求項13】
前記削除手段は、前記認識手段の認識結果として前記対象物体の誤認識が発生した視点に関して、前記認識手段の認識処理における領域組の投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項14】
前記削除手段は、前記認識手段の認識結果から各領域組の複数の視点に関する評価値を算出し、前記評価値に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項15】
前記削除手段は、前記認識手段の認識結果から各領域組の複数の視点に関する投票寄与度に基づいて不要な特定領域を削除することを特徴とする請求項2乃至12の何れか1項に記載の特定領域選択装置。
【請求項16】
前記認識手段は、前記対象物体の位置及び姿勢のうちの少なくとも何れか一方を認識することを特徴とする請求項1乃至15の何れか1項に記載の特定領域選択装置。
【請求項17】
前記入力情報は、前記対象物体の画像情報及び三次元情報のうちの少なくとも何れか一つを含むことを特徴とする請求項4に記載の特定領域選択装置。
【請求項18】
前記対象物体に係る情報は、三次元モデルから得られた画像情報及び三次元情報のうちの少なくとも何れか一つを含むことを特徴とする請求項9に記載の特定領域選択装置。
【請求項19】
特定領域選択装置によって実行される特定領域選択方法であって、
対象物体上の特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出手段を学習する学習ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成ステップと、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識ステップと、
前記認識ステップの認識結果に基づいて、新規の特定領域を追加する追加ステップとを含み、
前記学習ステップは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とする特定領域選択方法。
【請求項20】
対象物体上の特定領域を複数選択する選択ステップと、
前記複数の特定領域の夫々に関する検出手段を学習する学習ステップと、
前記複数の特定領域から特定領域の組み合わせによる領域組を生成する生成ステップと、
前記検出手段及び前記領域組に基づいて前記対象物体の認識を行う認識ステップと、
前記認識ステップの認識結果に基づいて、新規の特定領域を追加する追加ステップとをコンピュータに実行させ、
前記学習ステップは、前記追加ステップにより前記新規の特定領域が追加された場合、前記新規の特定領域に関する検出手段を更に学習することを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−113353(P2012−113353A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2010−259318(P2010−259318)
【出願日】平成22年11月19日(2010.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願日】平成22年11月19日(2010.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]