【文献】
平井 悠貴,2段階のRandomized Treesによる高速3次元物体認識,SSII2011 第17回 画像センシングシンポジウム講演論文集 [CD−ROM],日本,画像センシング技術研究会,2011年 6月 8日,IS4-15,P. IS4-15-1 〜 IS4-15-8
(58)【調査した分野】(Int.Cl.,DB名)
前記画像特徴が、各学習画像から検出された特徴点の局所特徴量と、当該特徴点の学習画像上での二次元座標に対応する認識対象表面の三次元座標とを含むことを特徴とする請求項1ないし3のいずれかに記載の画像特徴検出装置。
【背景技術】
【0002】
近年、現実空間の画像(映像)をコンピュータで処理して仮想情報を重畳するAR(Augmented Reality:拡張現実感)技術が注目を集めている。AR技術を用いることで、ユーザの行動を支援することや、ユーザに直観的な情報掲示を行うことが可能となる。
【0003】
例えば、身の回りの看板や広告にAR技術を適用することで、限られたスペースでは伝えることのできない詳細な情報や動画、3Dコンテンツ等を付加することや、場所や時間、閲覧者の属性等によって掲示する情報を適切に変更することが可能となる。また、複雑な操作手順を必要とする装置のガイドにAR技術を適用することで、作業の効率化や、安全性の向上を実現することが可能となる。
【0004】
AR技術の主なプラットフォームは、以前はWebカメラを接続したラップトップPCであったが、近年は撮像装置(カメラ)や各種センサ、表示ディスプレイを搭載し、十分な処理性能を備えたタブレットデバイスやスマートフォン、HMD(Head Mounted Display)に代表されるウェアラブルデバイス等、様々な高性能モバイル端末が普及しつつあり、AR技術の主要なプラットフォームを担いつつある。
【0005】
これらAR技術を構成する要素技術の中では、仮想情報を正しい位置に重畳するための「位置合わせ技術」が特に重要な役割を担っている。仮想情報があたかも現実空間の重畳位置に存在するかのように見せるためには、カメラ及びディスプレイの移動に合わせてリアルタイムで位置合わせ処理を実行する必要がある。
【0006】
特に、スマートフォンやビデオシースルー型のHMDの場合、一般的なカメラプレビューの更新頻度である30FPSの間隔で位置合わせを実行する必要があるため、30FPSの要件を満たせないような処理負荷の高い技術は、仮に位置合わせ精度が高くても採用は困難である。
【0007】
GPSや電子コンパス(方位センサ)、加速度センサといった各種センサデバイスを利用し、現実空間とカメラの相対的な位置関係(位置及び方向の6自由度のパラメータで決定される。以降「姿勢」と表現と表現する)を求め、位置合わせ(以降「姿勢推定」と表現する。)を実現するARサービスは既に広く提供されており、代表的なサービス例として、ナビゲーションサービスや、観光案内サービス等が挙げられる。
【0008】
センサに基づく姿勢推定は処理負荷が少ない利点がある一方、姿勢推定精度が十分ではなく、異なる対象物(建物など)に仮想情報を重畳してしまうことが起こりうる。また、現実空間内に固定配置されたオブジェクトに対してのみ有効(仮想情報を重畳可能)という制約が存在する。
【0009】
一方、カメラのプレビュー画像に対する画像解析処理によって姿勢を推定する技術については、正確な姿勢推定と移動物体に対するARを実現できるという点が大きな利点である。推定精度については、既存技術の時点で、仮想情報の表示位置の誤差を数ピクセル程度(ユーザには知覚できないレベル)に抑えることが可能であるため、作業ガイドの重畳表示等、正確な重畳が求められる場合に相性が良い。
【0010】
ただし、毎フレームの画像処理は高い処理負荷を必要とし、認識の頑健性(撮影距離、角度、場所、時間帯等、様々な撮影条件下において、安定的に認識する性質/能力)にも課題が多く残されている。そのため、処理負荷や頑健性の課題を解決するための技術が活発に検討されている。
【0011】
非特許文献1に開示されている技術を用いることで、モバイル端末上で、事前登録された写真やポスターといった任意の平面オブジェクトの姿勢をリアルタイム推定することが可能となる。
【0012】
特許文献1では、事前登録された三次元オブジェクトの姿勢をリアルタイムで推定するための技術が開示されている。
【0013】
非特許文献3,4では、事前登録された平面/三次元オブジェクトについて様々な(任意の)視点からマッチング可能な画像特徴を検出するための技術、及び当該画像特徴を利用して、オブジェクトの姿勢を様々な(任意の)視点から推定するための技術が開示されている。
【0014】
また、非特許文献2で開示されている技術を用いることで、モバイル端末上で、事前登録されていない三次元の現実空間に対するカメラの姿勢をリアルタイム推定することが可能となる。
【0015】
特許文献2では、現実空間に対するカメラ姿勢推定精度を向上するため、時刻、天候などの環境情報を利用する技術が開示されている。特許文献3では、事前登録された平面/三次元オブジェクトの姿勢をモバイル端末でリアルタイム推定するための技術が開示されている。特許文献4には、三次元オブジェクトの姿勢をモバイル端末でリアルタイム推定するための技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0018】
非特許文献1の手法は、認識対象が平面オブジェクトである場合のみ適用可能で、任意形状のオブジェクトは認識対象として扱えないという問題点があった。これは、ARの適用範囲を大幅に狭めてしまう点で大きな問題である。例えば、一般的な市販製品、家電製品、建築物等を認識対象とすることができない。
【0019】
特許文献2、非特許文献2の手法は、静的な三次元空間にのみ適用可能であるため、認識対象が建築物等の固定物体であれば適用可能であるが、市販製品や車などの移動体には適用できない。また、固定物体であっても、同一個所に対する視点が大きく変動する(表側から真横や裏側に回る等する)場合は、単一のキーフレームによる認識を維持できず、安定的に姿勢を推定できない。
【0020】
特許文献1,3の手法では、任意形状のオブジェクトを認識対象として扱うことができるものの、認識可能な視点がデータベースに登録された参照画像(キーフレーム)の視点に限定されてしまうので、撮影角度や距離に依らず安定的に姿勢を推定することができなかった。
【0021】
特許文献4の手法では、認識対象のオブジェクトの他に既知の二次元面が同時にカメラに写っていることを条件としているため、三次元物体のみが独立して存在するシーン(大抵のシーンは、これに該当する)に適用することができなかった。
【0022】
非特許文献3、非特許文献4の手法では、認識対象の3Dモデルを様々な視点から撮影した生成画像から画像特徴を検出/登録することにより、姿勢推定可能な視点の範囲を拡大できる。
【0023】
しかしながら、非特許文献3の手法は、その他一般的な特徴選択手法と同様、画像特徴の絶対的なスコアにのみ基づいて選択を行うため、視点間で登録する画像特徴数に偏りが生じ、姿勢推定不可能な視点が数多く存在していた。
【0024】
一方、非特許文献4は視点ごとに均等に画像特徴を選択/登録することで偏りを防ぐものであるが、問題を完全に解決するには至っていない。視点数を一定数以上に増加させた場合、各視点において登録する画像特徴数が減少することに起因し、スコア上位の画像特徴が選択から漏れ、全体のマッチング性能が低下する問題が存在する。
【0025】
また、本発明が解決する別の課題として、構造的に全周囲からの姿勢推定が不可能なオブジェクト(以降、不完全型オブジェクトと呼ぶ)に対するマッチング、姿勢推定の安定性の向上が挙げられる。不完全型オブジェクトの例として、片面のみ模様のある平面物体(片面プリント等)や、円柱側面の半分を占めるラベル等が挙げられる。また、実物には模様が全周囲にあるものの、3Dモデルが不完全で部分的にしか存在しないオブジェクトも含まれる。
【0026】
これら不完全型オブジェクトの場合は、例え3Dモデルを全周囲から投影した生成画像を用いたとしても、一部の視点からは画像特徴が検出されないため、こういった視点においては画像特徴のマッチングや、姿勢推定が不可能である。(以降こういった視点を「姿勢推定不可能な視点」と表す。)
【0027】
また、画像特徴自体は検出されるものの、マッチングや姿勢推定が困難な視点も存在する。例えば、平面物体を真横に近い視点から観察した場合などである。こういった視点では、対象物は視覚的には僅かに観察できるが、検出した画像特徴は信頼性が低く、マッチングすることが望めない。(以降こういった視点を「姿勢推定困難な視点」と表す。)
【0028】
一般に画像特徴は、検出位置の周囲の領域(パッチ領域)が正面に近い(パッチ領域の法線が視点方向に対して平行に近い)場合に、高いマッチング精度が見込め、逆にパッチ領域に対する角度が大きい(パッチ領域の法線が視点方向に対して垂直に近い)場合には、高精度なマッチングが望めない。これは、パッチ領域に対する撮影角度と、視点変化に対する見え方の変化の大きさ関係性に起因する(
図4参照)。
【0029】
このような姿勢推定困難な視点から検出された画像特徴がデータベースに登録されると、実際には当該視点からは姿勢を推定できる見込みが無い(十分な画像特徴のマッチング数が得られることがほとんど無い)ため、データベースサイズを無駄に増加させてしまう。また、マッチングの信頼性の低い画像特徴は、誤マッチングを増加させるため、マッチングや姿勢推定の精度が劣化してしまう。(なお、姿勢推定不可能な視点からは画像特徴は検出されないため、この問題は発生しない。)
【0030】
非特許文献3,4では、認識対象が平面オブジェクトの場合に、姿勢推定可能な視点に限定した視点配置(半球面)を用いることで、学習画像生成の際の視点を限定している。しかしながら、平面オブジェクト以外の不完全型オブジェクトに対して、毎回視点配置を設計するのは現実的では無い。
【0031】
本発明の目的は、上記の技術課題を解決し、任意形状のオブジェクトに関して、その学習画像とカメラ画像との安定的なマッチングを撮影角度や距離に依らず可能にする画像処理装置ならびにその画像特徴検出方法、プログラムおよび装置を提供することにある。
【課題を解決するための手段】
【0032】
上記の目的を達成するために、本発明は、認識対象からマッチング用の画像特徴を選択してデータベースに登録する画像特徴検出装置において、以下の構成を具備した点に特徴がある。
【0033】
(1) 認識対象を複数の視点でサンプリングして各視点に固有の学習画像を生成する学習画像生成手段と、各視点の学習画像から画像特徴を検出する画像特徴検出手段と、視点間でマッチング可能な画像特徴の対応関係を管理する対応関係管理手段と、この対応関係に基づいて、マッチング用に登録する画像特徴を、登録済みの画像特徴が少ない視点から順に所定の目標数まで繰り返し選択し、登録する画像特徴選択手段とを具備した。
【0034】
(2) 画像特徴選択手段は、登録済みの画像特徴が少ない視点で検出できる未登録の画像特徴のうち、より多くの視点でマッチング可能な画像特徴から順に選択するようにした。
【0035】
(3) 画像特徴選択手段は、登録済みの画像特徴が少ない視点で検出できる未登録の画像特徴の少なくとも一つをマッチング用に登録する第1手順と、未登録の画像特徴を検出できる全視点に投票する第2の手順と、各視点の投票総数を当該視点に関する登録済みの画像特徴数として前記第1及び第2の手順を繰り返す第3の手順とを実行するようにした。
【発明の効果】
【0036】
本発明によれば、以下のような効果が達成される。
(1) マッチング用に予めデータベースに登録する画像特徴を、各視点から万遍なく選択できるようになるので、撮影視点(角度)に依らず、安定的にマッチング可能な画像特徴群を登録することが可能となり、任意形状のオブジェクトの姿勢を安定的に推定可能となる。
【0037】
(2) 登録済みの画像特徴が少ない視点から未登録の画像特徴を選択して登録する際に、より多くの視点でマッチング可能な画像特徴から順に選択されるので、より多くの視点でマッチング可能な画像特徴を優先的に登録できるようになる。
【0038】
(3) 画像特徴選択手段は、登録済みの画像特徴が少ない視点で検出できる未登録の画像特徴に注目する第1手順と、未登録の画像特徴を検出できる全視点に投票する第2の手順と、各視点の投票総数を当該視点に関する登録済みの画像特徴数として第1及び第2の手順を繰り返す第3の手順とを実行するようにしたので、短時間で各視点から万遍なく画像特徴を選択できるようになる。
【発明を実施するための形態】
【0040】
以下、図面を参照して本発明の実施形態について詳細に説明する。
図1は、本発明が適用されるARシステムの構成を示したブロック図であり、携帯電話、スマートフォン、PDAあるいはノートPCなどの情報端末に実装される。
【0041】
撮像装置4は、携帯端末等に搭載されているカメラモジュールあるいはWEBカメラ装置であり、認識対象5のオブジェクトを撮影してカメラ画像を表示装置1および姿勢パラメータ推定装置2に出力する。前記認識対象5は、形状や模様が既知である任意の三次元物体であり、印刷物やプリント等に代表される二次元的な物体(画像)も含まれる。
【0042】
姿勢パラメータ推定装置2は、撮像装置4から取得したカメラ画像に基づいて、後に詳述するように、認識対象5の各対応点候補(特徴点)とカメラ画像の各特徴点との間で特徴点マッチングを実施し、相互に対応付けられた特徴点ならびにカメラの内部パラメータに基づいて、認識対象5とARシステムないしは撮像装置4との相対的な位置および姿勢の関係を推定する。
【0043】
一般に、相対的な位置および姿勢の関係は、姿勢パラメータまたはカメラの外部パラメータと呼ばれる行列の形で表され、三次元空間内の位置と方向の情報が含まれる。画面内での物体の見え方は、この姿勢パラメータと、カメラの内部パラメータと呼ばれる、カメラに固有の焦点距離、主軸の位置の情報が含まれる行列やその他の光学的歪みのパラメータとによって決定される。
【0044】
本実施形態では、内部パラメータや歪みパラメータは予めキャリブレーション等によって取得され、歪みは取り除かれているものとし、姿勢パラメータの推定結果は表示装置1へ提供される。ARシステムが複数種類の物体を認識対象とする場合には、姿勢パラメータと対象物のIDとの組が、認識した数だけ表示装置1へ提供される。
【0045】
付加情報データベース(DB)3は、ハードディスクドライブや半導体メモリモジュール等により構成された記憶装置であり、認識対象5の位置をARシステムが認識した際に、表示装置1上で認識対象5に重畳表示するCGや二次元画像を保持しており、姿勢パラメータ推定装置2が推定したカメラの姿勢パラメータに対応する認識対象5に関する付加情報を表示装置1へ出力する。
【0046】
前記表示装置1は、撮像装置4が連続的に取得したカメラ画像、および付加情報データベース3から取得された付加情報をユーザに掲示できるモニタ装置であり、携帯端末のディスプレイでも良い。また、ヘッドマウントディスプレイ(HMD)のような形態でも良く、特にシースルー型のHMDの場合はカメラ画像を表示せず、視界に付加情報のみを重畳して表示することも可能である。表示装置1がディスプレイである場合は、カメラ画像に付加情報DB3から入力された付加情報を重畳表示する。その際、付加情報は、姿勢パラメータ推定装置2から入力された姿勢パラメータによって、位置や向きを補正されて表示される。
【0047】
図2は、前記姿勢パラメータ推定装置2の主要部の構成を示したブロック図であり、画像特徴選択部20は、認識対象5からマッチング用の対応点として採用され易い画像特徴を予め検出し、選択画像特徴としてDB24に蓄積する。画像特徴検出部21は、カメラ画像から画像特徴を検出する。画像特徴マッチング部22は、カメラ画像から検出された画像特徴と前記選択画像特徴との間で対応点マッチングを行う。姿勢パラメータ算出部23は、前記マッチング結果に基づいて姿勢パラメータを算出する。
【0048】
画像特徴選択部20において、学習画像生成部201は、認識対象5の正面写真や3Dモデル等を使用し、当該認識対象5を複数視点から観察した学習画像を投影処理によって自動的に(ユーザの操作を必要とせずに)サンプリングする。
【0049】
一般に、認識対象5は様々な視点から撮影される可能性があり、画像特徴検出では、そういった入力画像に対して、安定的にマッチングが可能な画像特徴を検出することが求められる。画像特徴は撮影角度や距離が変化すると対応付けが困難になるため、予め様々な視点を想定した学習画像を用意して画像特徴を検出することが望ましい。
【0050】
学習画像の用意は、学習画像生成部201の機能を利用せず、例えばユーザ、サービス提供者又はアプリケーション提供者等が、ターンテーブル等を利用して、認識対象5を様々な方向から直接撮影することで作成することも可能である。ただし、全視点をくまなく網羅することは困難であり、時間を要する。
【0051】
また、最終的にデータベースに登録する際には画像特徴と対象物表面の三次元座標(オブジェクト座標)とを紐付けて登録するため、画像特徴の逆投影処理が行われる。当該逆投影処理には、学習画像内のオブジェクトの姿勢が必要である。投影処理による自動生成画像であれば生成時に使用した姿勢がそのまま利用できるが、撮影画像の場合は姿勢が不明のため、姿勢を算出可能なターンテーブルを利用するか、別途姿勢推定用のマーカを利用する必要がある。
【0052】
本実施形態では、
図3に示したように、認識対象5を模した3Dモデルの周囲にくまなく配置した仮想的な視点(以降仮想カメラ)から3Dモデルをレンダリングすることで各視点の学習画像が生成される。すなわち、仮想カメラの位置から3Dモデルの姿勢行列(外部パラメータ行列)を算出し、仮想カメラの内部パラメータ行列と、当該姿勢行列で3Dモデルをレンダリングする。なお、
図3では仮想カメラと3Dモデルの距離は均一であるが、この仮想カメラを多層に配置し、スケールの異なる学習画像を生成しても良い。
【0053】
姿勢行列は、一般に6自由度の4行4列の行列で表現され、3Dモデルとレンダリング時の仮想カメラとの相対的な位置関係の情報を持つ。また、姿勢行列は、三次元特殊ユークリッド群SE(3)に属し、共に三自由度の三次元回転行列と、三次元並進ベクトルで表すことができる。姿勢行列を用いる場合、3Dモデルのモデル座標 [X, Y, Z]^T と、レンダリング後の画面中のピクセル座標 [u, v]^T とは、以下の関係式(1)で対応付けられる(ピンホールカメラモデル)。
【0055】
ここで、符号Aは仮想カメラの内部パラメータである。ARでは正確な重畳表示のため、実際に使用するカメラの内部パラメータを予めカメラキャリブレーションによって求め、仮想カメラの内部パラメータ、及び姿勢推定時に使用する内部パラメータを、キャリブレーションした値に一致させておくことが望ましい。
【0056】
ただし、キャリブレーションを行わない場合(設定した値が実際の値とずれる場合)でも、これらを仮の値(例えば一般的なWebカメラの値)で一致させておけば、姿勢推定結果が真値からずれるものの、最終的には相殺され、重畳表示の位置に影響しない。そのため、本実施形態のような利用用途であれば、一般的なカメラの値で代用することも可能である。
【0057】
符号R(r11〜r33)は、三次元空間内の回転を表すパラメータであり、各パラメータはオイラー角等の表現によって三パラメータで表現することが可能である。符号t(t1〜t3)は、三次元空間内の平行移動を表すパラメータである。符号X,Y,Zは、3Dモデルのモデル座標系におけるX座標、Y座標及びZ座標である。符号u,vは、画面中のピクセル座標系におけるu座標及びv座標である。
【0058】
なお、画像特徴検出装置の処理時間が十分に与えられている場合は、上記のように、仮想カメラを万遍なく、密に配置すれば良いが、短い処理時間で完了したい場合、仮想カメラの数を減らすことが有効である。
【0059】
ここで、
図4に示したように、認識対象5が平面的な構造を含む場合、平面に対して、見え方の変化の小さい正面(パッチ領域)に近い位置に視点を配置することが望ましい。つまり、見え方の変化は認識対象5の形状によるところが大きいため、認識対象5の形状に応じて仮想カメラの配置を調整することが望ましい。
【0060】
例えば、立方体形状の場合、各面の正面に仮想カメラを配置し、6枚の正面画像を生成しても良い。ポリゴン数が多い3Dモデルの場合、より単純な(ポリゴン数の少ない)メッシュモデルで近似し、当該メッシュモデルの各ポリゴン面(メッシュ)の法線方向に仮想カメラを配置しても良い。
【0061】
また、認識対象5の見え方の変化が小さい視点の付近では仮想カメラを疎に配置し、見え方の変化が大きい視点の付近では仮想カメラを密に配置することも望ましい。一般に、曲面上の画像特徴は見え方に対する変化が大きい。上述した近似モデルを用いる方法では、曲面部分のメッシュが細かくなるため、結果的に曲面が写る視点付近の仮想カメラの数が増え、都合が良い。
【0062】
図5は、認識対象5から視点ごとに生成される学習画像の例を示した図であり、ここでは、複数種類の角度(横軸)および距離(縦軸)の組み合わせから変換した投影パラメータを用いて代表画像が生成されている。
【0063】
図2へ戻り、画像特徴検出部202において、特徴点検出器202aは、各学習画像から特徴点を検出する。特徴量抽出器202bは、各特徴点位置における画像の局所的な特徴を局所特徴量と呼ばれるベクトル形式で抽出する。
【0064】
学習画像は複数枚入力されるため、画像特徴検出部202は、各学習画像を視点別に管理する。画像特徴検出部202はさらに、各画像特徴の特徴点位置から、認識対象5の表面の三次元座標(オブジェクト座標)へ逆投影を行って当該画像特徴と対応付け、各特徴点の局所特徴量および特徴点位置の逆投影値(オブジェクト座標)をまとめて、画像特徴として出力する。
【0065】
なお、平面物体の場合、一般にはオブジェクト座標のZ座標が0となり、逆投影処理は投影に使用した画像変換の逆変換で実現可能である。三次元物体の場合、カメラの内部パラメータと投影時の姿勢行列から焦点と特徴点位置を通過する光線と、オブジェクトの3Dモデル表面が衝突する座標を計算することで計算可能であり、一般的にはRay-Triangle Intersectionアルゴリズムが利用される。
【0066】
前記特徴点検出器202aおよび特徴量抽出器202bとしては、Harris,Hessian,SIFT,ASIFT,SURF,FAST,BRIEF,ORB,BRISK,FREAK,D-BRIEF,BinBoost等のアルゴリズムを用いることができる。
【0067】
一般に、これらのアルゴリズムには一長一短の側面があり、撮影の距離や角度・回転に頑健なASIFT,SIFT,SURF等のアルゴリズムは処理負荷が大きく、処理負荷の小さいORB,BRIEF等のアルゴリズムは、距離や角度・回転に対する頑健性に乏しい。処理負荷と頑健性とを両立できる手法として、特徴点を分類するための識別器を事前学習する、Random Fernsに代表されるアルゴリズムが存在するが、長時間の学習とサイズの大きいデータベース(識別器)を必要とするという課題がある。
【0068】
対応関係管理部203は、後に
図6を参照して詳述するマッチング表K1、視点リストK2および画像特徴リストK3を管理する。画像特徴選択部204は、後に詳述するように、前記対応関係(K1,K2,K3)に基づいて、マッチング用の画像特徴を、登録済みの画像特徴が少ない視点から順に登録総数が所定の目標数に達するまで繰り返し選択し、これらを選択画像特徴として選択画像特徴DB24へ都度登録する。
【0069】
画像特徴検出部21は、前記画像特徴検出部202における手法と同様の手法で、カメラ画像から特徴点の検出および各特徴点からの局所特徴量の抽出を行い、各特徴点の局所特徴量および特徴点位置の逆投影値を画像特徴として出力する。
【0070】
画像特徴検出部21では、画像特徴検出部202と同じ画像特徴検出アルゴリズムを用いる必要があるが、分解能や閾値等の細かいパラメータまで一致させる必要は無い。むしろ、処理負荷の観点では画像毎に実行する必要がある特徴点検出部21では実行速度優先のパラメータを設定し、事前に実行することが可能な画像特徴検出部202では精度優先のパラメータ設定とすることが望ましい。
【0071】
画像特徴マッチング部22は、画像特徴検出部21で検出された画像特徴と、前記選択画像特徴DB24に蓄積されている選択画像特徴との対応点マッチングを行って2D-3D対応点を取得する。画像特徴の対応付けにおいては、ユークリッド距離やハミング距離の比較が用いられ、最近傍同士が対応付けられる。2D-3D対応点の精度を高めるため、距離が予め設定した閾値以下の画像特徴のみを対応付ける手法や、対応点の全体の傾向から外れた対応点を除外する手法等が知られており、本実施形態でも適用可能である。
【0072】
姿勢パラメータ算出部23において、姿勢算出部231は、前記画像特徴マッチング部22から2D-3D対応点を取得し、カメラ画像に写る認識対象5の姿勢を算出する。二次元座標と三次元座標の対応点、及びカメラの内部パラメータから、幾何学的に姿勢(カメラの外部パラメータ)を推定する問題は、一般にPnP(Perspective n-Point)問題として知られ、例えばDLT(Direct Linear Transformation)法、EPnP法などのアルゴリズムが存在する。本実施形態では特にアルゴリズムを限定しないが、処理負荷に優れ、低コストで計算が可能な点でEPnP法を利用できる。
【0073】
2D-3D対応点に誤対応が含まれる場合、EPnP法単独では正確な姿勢を推定することができない。そのため、RANSACやPROSACに代表されるサンプリング手法と併用することが一般的である。これらの手法は、対応点のサブセットサンプリングと、サブセットに対する処理(本実施形態の場合はEPnP)の適用と、得られたパラメータ(本実施形態では、姿勢)の精度評価と、を反復処理する。
【0074】
サブセットが正しい対応点のみから構成される場合に正確なパラメータが得られるため、正確なパラメータが得られたと判定された場合、当該パラメータと一致しない対応点を除外することで誤対応を取り除くことができる。本実施形態では、PROSACとEPnPを利用した場合について記載する。
【0075】
姿勢推定部232は、EPnPとPROSACの適用後、得られた姿勢と、誤対応を除外した2D-3D対応点とから、Levenberg-Marquardt法等の反復手法によって三次元座標の再投影誤差を最小化する姿勢の推定を行い、最終的な推定結果とする。以上の姿勢算出処理は姿勢推定処理としては一般的なものであり、その処理内容は本発明の画像処理装置の内容を限定するものではない。最終的に、本発明の画像処理装置は、姿勢推定部が推定した姿勢を出力する。
【0076】
図6は、前記マッチング表K1、視点リストK2および画像特徴リストK3の関係を説明するための図である。
【0077】
マッチング表K1は、各視点の学習画像から検出、選別された画像特徴Fiと、当該画像特徴Fiを検出できる視点Ejとの対応関係を管理し、さらに画像特徴Fiごとに当該画像特徴Fiを検出できる視点数が、スコア(評価値)として対応付けられている。
【0078】
本実施形態では、前記マッチング表K1が以下の手順で作成される。初めに、異なる視点(学習画像)で別々に検出された同一の特徴点に関する画像特徴を一つの画像特徴として扱うべく、全ての視点で検出された画像特徴を対象に、そのオブジェクト座標および局所特徴量が近似する画像特徴を識別して一つの画像特徴に集約し、共通の画像特徴識別子Fiが付与される。
【0079】
次いで、視点の一つ(例えば、E1)に注目し、当該注目視点E1の学習画像から検出された全ての画像特徴(F11,F12…)と、注目視点以外の他の視点E2,E3,E4…の学習画像から検出された全ての画像特徴(F21,F22…F31,F32…F41,F42…)との間でマッチングを行い、局所特徴量の距離が所定の範囲内であって、かつオブジェクト座標の距離が最近傍の画像特徴同士がマッチング可能と判断される。
【0080】
このようなマッチングは、注目視点で検出された全ての画像特徴に関して繰り返され、さらに注目視点を他の視点に切り替えることで全ての視点に関して繰り返される。ただし、既にマッチング可能と判定された画像特徴は既登録とされ、その後はマッチング対象から外される。これにより、同一の画像特徴の重複登録が防止される。
【0081】
そして、マッチング可能と判断された画像特徴を検出できる視点同士が、当該マッチングできた画像特徴とマッチング表K1において対応付けられる。
【0082】
図6の例では、6つの視点E1-E6が、画像特徴F1とマッチング可能な画像特徴を検出できる視点として登録されている。同様に、視点E4、E5、E7が、画像特徴F2とマッチング可能な画像特徴を検出できる視点として登録されている。
【0083】
ここで、前記画像特徴F1としては、例えば視点E1,E2,E3,E4,E5,E6のそれぞれから検出された画像特徴F11,F21,F31,F41,F51,F61のいずれか、または平均値を採用できる。あるいは最頻出の画像特徴を採用しても良い。
【0084】
同様に、前記画像特徴F1のオブジェクト座標としては、画像特徴F11,F21,F31,F41,F51,F61のいずれかのオブジェクト座標を採用しても良いし、各オブジェクト座標の平均値を採用しても良い。なお、マッチング表K1の作成方法は上記に限定されるものではなく、他の方法により作成しても良い。
【0085】
例えば、より単純な方法として、各画像特徴について、当該画像特徴を検出可能な全ての視点と対応付けてマッチング表K1に登録しても良い。この場合、例えば視点E1の画像特徴F1は全ての視点の全画像特徴との間でオブジェクト座標の比較を行い、オブジェクト座標が所定の範囲内である画像特徴とマッチングされる。例えば、マッチングされた画像特徴がF21、F31、F41、F51、F61である場合、それらの画像特徴が検出された視点E2〜E6と対応付けられ、マッチング表K1では、各画像特徴F11〜F61を代表して、画像特徴F1が各視点E1〜E6と対応付けて登録される。
【0086】
また、各視点においてマッチング可能な画像特徴は、当該視点から視認可能な三次元座標から検出された画像特徴に限定されるため、当該視点で視認可能な画像特徴を、マッチング可能な画像特徴として扱うことも可能である。ここで、画像特徴を検出したパッチ領域の法線が視点方向に対して垂直に近い場合にのみ、マッチング可能な画像特徴としても良い。
【0087】
なお、マッチングできる画像特徴は一部なので、もともと検出されている画像特徴数が少ない視点では少数の画像特徴しかマッチングできない。したがって、予め閾値Nref1を設定し、検出されている画像特徴数がNref1以下の視点はマッチング対象から除外しても良い。これにより、マッチング表K1の作成に要する時間を短縮できる。
【0088】
視点リストK2および画像特徴リストK3は、いずれもマッチング表K1に基づいて作成され、視点リストK2には、各学習画像から検出された画像特徴Fiごとに、当該画像特徴Fiとマッチング可能な画像特徴を検出できる視点Ejが登録されている。
【0089】
画像特徴リストK3には、視点Ejごとに当該視点で検出された画像特徴とマッチング可能な画像特徴Fiが登録されている。なお、画像特徴リストK3において、画像特徴数が所定の閾値Nref2を下回る視点は削除しても良い。これにより画像特徴選択部204が画像特徴を選択する際の処置負荷を軽減できるようになる。
【0090】
図7は、前記画像特徴選択部204によるマッチング用の画像特徴の選択、登録手順を示したフローチャートであり、
図8,9,10は、画像特徴が順次に選択、登録されるプロセスを時系列で模式的に示した図である。
【0091】
本実施形態では、
図8に示したように、全視点を投票候補とする投票箱K4が仮想的に用意され、
図7のステップS1では、現在までの投票結果に基づいて、投票総数が最小の視点が選択される。最初は全視点の投票数がゼロなので、例えば視点識別子の昇順で最上位の視点E1が選択される。
【0092】
ステップS2では、選択視点E1をキーとして画像特徴リストK3が参照され、当該視点E1と対応付けられた画像特徴の中から、未登録でスコアが最大の画像特徴が選択画像特徴とされる。本実施形態では、視点E1に2つの画像特徴F1,F4が対応付けられており、いずれも未登録で、それぞれのスコアは「6」,「5」なので、ここでは画像特徴F1が選択画像特徴とされてDB24に登録される。
【0093】
ステップS3では、選択画像特徴F1キーとして視点リストK2が参照され、時刻t1において、当該選択画像特徴F1と対応付けられた6つの視点E1-E6に一票ずつ投票が行われる。ステップS4では、前記選択画像特徴F1の重複登録を防止すべく、重複画像特徴リストK3において選択画像特徴F1が既登録とされる。
【0094】
ステップS5では、選択画像特徴の登録総数が所定の目標数Ntに達したか否かが判定される。ここでは未だ達していないと判定されるのでステップS1へ戻る。
【0095】
次のステップS1では、改めて投票総数が最小の視点が選択されるが、
図9に示したように、最小投票総数は視点E7,E8,E9のゼロなので、ここでは視点識別子の昇順で最上位の視点E7が選択される。ステップS2では、選択視点E7をキーとして画像特徴リストK3が参照され、当該視点E1と対応付けられた画像特徴の中から、未登録でスコアが最大の画像特徴が選択画像特徴とされる。本実施形態では、視点E7に3つの画像特徴F2,F5,F7が対応付けられており、いずれも未登録で、それぞれのスコアは「3」,「6」,「4」なので、ここでは画像特徴F5が選択画像特徴とされてDB24に登録される。
【0096】
ステップS3では、選択画像特徴F5キーとして視点リストK2が参照され、時刻t2において、当該選択画像特徴F5と対応付けられた6つの視点E3-E8に一票ずつ投票が行われる。ステップS4では、画像特徴リストK3において前記画像特徴F5を既登録とする更新処理が実行される。
【0097】
ステップS5では、選択画像特徴の登録総数が所定の目標数Ntに達したか否かが判定される。ここでは未だ達していないと判定されるのでステップS1へ戻る。
【0098】
次のステップS1では、改めて投票総数が最小の視点が選択されるが、ここでは、
図10に示したように、最小投票総数が唯一ゼロの視点E9が選択される。ステップS2では、選択視点E9をキーとして画像特徴リストK3が参照され、当該視点E9と対応付けられた画像特徴の中から、未登録でスコアが最大の画像特徴が選択画像特徴とされる。本実施形態では、視点E9に2つの画像特徴F6,F7が対応付けられており、いずれも未登録で、それぞれのスコアは「2」,「4」なので、ここでは画像特徴F7が選択画像特徴とされてDB24に登録される。
【0099】
ステップS3では、選択画像特徴F7キーとして視点リストK2が参照され、時刻t3において、当該選択画像特徴F7と対応付けられた4つの視点E6-E9に一票ずつ投票が行われる。ステップS4では、画像特徴リストK3において前記画像特徴F7を既登録とする更新処理が実行される。
【0100】
ステップS5では、選択画像特徴の登録総数が所定の目標数Ntに達したか否かが判定される。ここでは未だ達していないと判定されるのでステップS1へ戻る。
【0101】
上記の各処理は、ステップS5において、選択画像特徴の登録総数が目標数Nfに達するまで繰り返されるので、最終的には、マッチング用の画像特徴が目標数Nfだけ得られることになる。
【0102】
なお、上記の実施形態では、ステップS2において、未登録でスコアが最大の画像特徴が一つだけ選択画像特徴とされるものとして説明したが、本発明はこれのみに限定されるものではなく、2つないしは3つ、すなわち少なくとも一つが選択されるようにしても良い。
【0103】
本実施形態によれば、マッチング用にデータベースに予め登録する画像特徴を、各視点から万遍なく選択できるので、撮影視点(角度)に依らず、安定的にマッチング可能な画像特徴群を登録することが可能となり、任意形状のオブジェクトの姿勢が安定的に推定可能となる。
【0104】
また、本実施形態によれば、登録済みの画像特徴が少ない視点から未登録の画像特徴を選択して登録する際に、より多くの視点でマッチング可能な画像特徴から順に選択されるので、より多くの視点でマッチング可能な画像特徴を優先的に登録できるようになる。
【0105】
さらに、本実施形態によれば、登録済みの画像特徴が少ない視点で検出できる未登録の画像特徴に注目する第1手順と、前記未登録の画像特徴を検出できる全視点に投票する第2の手順と、各視点の投票総数を当該視点に関する登録済みの画像特徴数として前記第1及び第2の手順が繰り返されるので、短時間で各視点から万遍なく画像特徴を選択できるようになる。
【0106】
なお、上記の実施形態では、ARシステムの姿勢パラメータ推定装置2が画像特徴選択部20を備え、自ら選択画像特徴DB24を予め構築するものとして説明したが、本発明はこれのみに限定されるものではなく、
図11に一例を示したように、前記画像特徴選択部20と同等の機能20aを姿勢パラメータ推定装置2とは別個に設け、当該機能20aが構築したデータベースをDB24に移植するようにしても良い。