(57)【要約】【課題】観察対象とそのカメラ画像との特徴点マッチングの精度を、計算コストや使用メモリ量を増加させることなく向上させる。【解決手段】学習部３１１は、観察対象２の三次元モデルを様々な方向から投影して得られる多数の二次元の投影画像Imdから検出された特徴点Pmdのパッチ画像を分類器３１２に適用することで三次元座標の確率分布を構築し、これを確率分布DB３１３に登録する。識別部３１４は、カメラ画像Icaから検出されたカメラ画像特徴点Pcaのパッチ画像を前記分類器３１２に適用し、その分類結果と学習済みの確率分布とに基づいて、観察対象２の各特徴点Pmdの三次元座標とカメラ画像Icaの各特徴点Pcaとの対応関係を識別する。【選択図】図３
2014038566.tif 000002
【特許請求の範囲】
【請求項１】
観察対象の三次元座標と当該観察対象を撮影して得られるカメラ画像の特徴点とを対応付ける画像処理装置において、
観察対象のカメラ画像から特徴点Pcaを検出する特徴点検出手段と、
前記各特徴点Pcaから局所特徴情報を抽出する局所特徴情報抽出手段と、
前記カメラ画像の各特徴点Pcaが前記観察対象の各三次元座標に対応付けられる確率の分布である確率分布を一元管理する確率分布データベースと、
前記各特徴点Pcaから抽出された各局所特徴情報に前記確率分布を適用し、前記各特徴点Pcaを前記確率の高い観察対象の三次元座標と対応付ける識別部とを具備したことを特徴とする画像処理装置。
【請求項２】
前記確率分布データベースは、観察対象の三次元モデルを複数のカメラパラメータで二次元に投影した各画像から検出される各特徴点Pmdの局所特徴情報に基づいて学習されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
観察対象の三次元モデルを複数のカメラパラメータで二次元に投影した各画像から検出される特徴点Pmdの局所特徴情報に基づいて、前記カメラ画像の各特徴点Pcaが前記観察対象の各三次元座標に対応付けられる確率の分布を、各投影画像の範囲を超えて一元管理する確率分布として構築する学習手段をさらに具備し、
前記構築された確率分布が前記確率分布データベースに登録されることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記確率分布データベースは、前記投影された各画像の特徴点Pmdの局所特徴情報を所定の規則で分類し、当該分類結果を各特徴点Pmdの三次元座標ごとに集計して構築されることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記投影された各画像の特徴点Pmdの局所特徴情報を所定の規則で分類する分類器を具備し、
前記確率分布は、前記分類結果を各特徴点Pmdの三次元座標ごとに集計して構築されることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
カメラ画像の複数の特徴点Pcaに同一の三次元座標が対応付けられると、前記確率が相対的に低い特徴点Pcaの対応付けを、前記確率が次に高い他の三次元座標に変更する手段をさらに具備したことを特徴とする請求項１ないし５のいずれかに記載の画像処理装置。
【請求項７】
前記カメラ画像の各特徴点Pcaと三次元座標との対応関係を、前記三次元モデルの幾何構造に基づいて修正する手段を更に具備したことを特徴とする請求項１ないし６のいずれかに記載の画像処理装置。
【請求項８】
前記修正する手段は、前記カメラ画像の各特徴点Pcaと対応付けられた各三次元座標の前記三次元モデルにおける各ポリゴン面に基づいて、各三次元座標が同時に写り得るか否かを判定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記修正する手段は、
カメラ画像の各特徴点Pcaと対応付けられた三次元座標から、前記確率が最大の三次元座標を選択する手段と、
前記選択された三次元座標と異なるポリゴン面に所属する他の三次元座標に関する対応関係を破棄する手段とを含むことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記修正する手段は、
カメラ画像の各特徴点Pcaと対応付けられた三次元座標から、前記確率が所定の閾値を超える三次元座標を選択する手段と、
前記選択された三次元座標が所属するポリゴン面のうち、所属する三次元座標数が最大のポリゴン面以外に所属する三次元座標に関する対応関係を破棄する手段とを含むことを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記破棄する手段に代えて、当該破棄される三次元座標を、そのポリゴン面が前記選択された三次元座標と同一であって前記確率が次に高い他の三次元座標に変更する手段を具備したことを特徴とする請求項９または１０に記載の画像処理装置。
【請求項１２】
前記修正する手段は、前記カメラ画像の各特徴点Pcaと対応付けられた各三次元座標の前記三次元モデルにおける法線方向に基づいて、各三次元座標が同時に写り得るか否かを判定することを特徴とする請求項７に記載の画像処理装置。
【請求項１３】
前記修正する手段は、
カメラ画像の各特徴点Pcaと対応付けられた三次元座標から、前記確率が所定の閾値を超える三次元座標を選択する手段と、
前記選択された各三次元座標の法線方向に基づいて観察対象の姿勢を推定する手段と、
観察対象の姿勢が前記推定通りであれば写り得ない法線方向の三次元座標を破棄する手段とを含むことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記選択された各三次元座標には、前記確率に応じた重み付けがなされており、前記観察対象の姿勢を推定する手段は、各三次元座標の重み付けを反映して観察対象の姿勢を推定することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記破棄する手段に代えて、当該破棄される三次元座標を、観察対象の姿勢が前記推定通りであれば写り得る法線方向であって前記確率が次に高い他の三次元座標に変更する手段を具備したことを特徴とする請求項１４に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観察対象の三次元座標と当該観察対象をカメラで撮影して得られるカメラ画像の二次元座標とを対応付ける画像処理装置に係り、特に、計算コストや使用メモリ量を増加させることなく高精度での対応付けを可能にする画像処理装置に関する。
【背景技術】
【０００２】
近年、現実空間の映像をコンピュータで処理して更なる情報を付加するAR（拡張現実感）技術が、WEBカメラの接続されたPCや、カメラ付き携帯電話端末上で実現されるようになっている。AR技術では、カメラ画像内の対象物に対するカメラ姿勢（カメラの外部パラメータ）を推定する必要があり、センサや基準マーカを利用した手法等が用いられている。また、形状や画像情報が既知である三次元物体を対象物としてカメラ姿勢を推定する技術が検討されている。
【０００３】
特許文献１には、複数の対象物の登録画像と入力画像の双方から検出された特徴点のマッチングを行い、相関の高い登録画像を特定し、特徴点の組み合わせと対象物の形状からカメラ姿勢を推定する技術が開示されている。
【０００４】
非特許文献１，２には、登録画像と入力画像の特徴点のマッチングを高速化するため、あらかじめ特徴点の識別器を構築し、識別器の出力によって特徴点をマッチングする技術が開示されている。非特許文献３には、非特許文献２の特徴点マッチング技術を利用し、複数の対象物の登録画像に対して識別器を構築し、特徴点の組み合わせと対象物の形状からカメラ姿勢を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許４７１５５３９号
【非特許文献】
【０００６】
【非特許文献１】V. Lepetit and P. Fua, "Keypoint recognition using randomized trees," Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 28, no. 9, pp. 1465 -1479, sept. 2006.
【非特許文献２】M. Ozuysal, M. Calonder, V. Lepetit, and P. Fua, "Fast keypoint recognition using random ferns," Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 32, no. 3, pp. 448 -461, march 2010.
【非特許文献３】Youngmin Park, V. Lepetit, and Woontack Woo, "Extended keyframe detection with stable tracking for multiple 3d object tracking," Visualization and Computer Graphics, IEEE Transactions on, vol. 17, no. 11, pp. 1728 -1735, nov. 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術では、観察対象を様々な方向から撮影した複数枚の画像がテンプレート画像として予め用意され、各テンプレート画像から特徴点が検出されて三次元座標と共に予め登録される。その後、観察対象を撮影したカメラ画像が与えられると、当該カメラ画像からも同様に特徴点が検出され、各テンプレート画像の各特徴点とカメラ画像の各特徴点との間で特徴点マッチングが行われる。
【０００８】
図１１は、特徴点マッチングにおける観察対象２およびそのテンプレート画像Itとカメラ画像Icaとの対応関係を示した図であり、ここでは、観察対象２の三次元(3D)モデルを様々な方向から二次元に投影することで複数枚のテンプレート画像Itiが生成される。このとき、観察対象２の主要な表面領域はいずれかのテンプレート画像Itに写っており、同じ表面領域が複数のテンプレート画像Itに重複して写ることも許容されている。
【０００９】
特徴点マッチングは、テンプレート画像Itごとに実施され、始めに第１テンプレート画像It1とカメラ画像Icaとの間で類似度が所定の閾値を超える特徴点が対応付けられる。次いで、第２テンプレート画像It2とカメラ画像Icaとの間で類似度が所定の閾値を超える特徴点が対応付けられる。
【００１０】
このようにして、全てのテンプレート画像Itとカメラ画像Icaとの特徴点マッチングが完了すると、例えば対応点数の最も多い一つのテンプレート画像Itが対応テンプレート画像として選別され、当該対応テンプレート画像Itとカメラ画像Icaとの間で対応付けられた特徴点の座標同士の対応関係がカメラ姿勢の推定に用いられる。
【００１１】
このような特徴点マッチングは、図１２に一例を示したように、複数のテンプレート画像の中に、カメラ画像Icaの全ての特徴点Pcaが写っており、かつそれ以外の特徴点が写っていないテンプレート画像Itが含まれていれば、このようなテンプレート画像Itが対応テンプレート画像として選別されるので十分な精度でのマッチングが期待できる。
【００１２】
これに対して、上記のようなテンプレート画像Itが含まれておらず、図１３に一例を示したように、カメラ画像Icaの範囲が複数のテンプレート画像It1，It2に跨っていると、いずれのテンプレート画像Itとの比較でも、対応する特徴点に過不足が生じる。すなわち、どのテンプレート画像Itが対応テンプレート画像として選択されても、カメラ画像Icaの各特徴点Pcaを十分に対応付けることができず、マッチング精度の低下を余儀なくされる。
【００１３】
なお、このような技術課題は、カメラ画像Icaの全ての特徴点Pcaを一枚で網羅できるテンプレート画像が常に含まれるように、多数のテンプレート画像を予め用意することによっても、ある程度は解消され得る。
【００１４】
しかしながら、テンプレート画像の枚数が増えると、相関の高い登録画像の特定に計算コストがかかり、かつ特徴点の画像特徴量を複数のカテゴリに分類するための識別器のサイズが大きくなるために、計算機の使用メモリ量が増加するという問題点があった。
【００１５】
本発明の目的は、上述の技術課題を解決し、観察対象とそのカメラ画像との特徴点マッチングの精度を、計算コストや使用メモリ量を増加させることなく向上させることを可能にした画像処理装置を提供することにある。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために、本発明は、観察対象の三次元座標と当該観察対象を撮影して得られるカメラ画像の特徴点とを対応付ける画像処理装置において、以下のような構成を具備した点に特徴がある。
【００１７】
(1)観察対象のカメラ画像から特徴点Pcaを検出する特徴点検出手段と、各特徴点Pcaから局所特徴情報を抽出する局所特徴情報抽出手段と、カメラ画像の各特徴点Pcaが前記観察対象の各三次元座標に対応付けられる確率の分布である確率分布を一元管理する確率分布データベースと、各特徴点Pcaから抽出された各局所特徴情報に前記確率分布を適用し、前記各特徴点Pcaを前記確率（尤度）の高い観察対象の三次元座標と対応付ける識別部とを具備した。
【００１８】
(2)確率分布データベースは、観察対象の三次元モデルを複数のカメラパラメータで二次元に投影した各画像から検出される各特徴点Pmdの局所特徴情報に基づいて学習されるようにした。
【００１９】
(3)観察対象の三次元モデルを複数のカメラパラメータで二次元に投影した各画像から検出された特徴点の局所特徴情報に基づく三次元座標の確率分布を構築する学習手段をさらに設け、構築された確率分布が前記確率分布データベースに登録されるようにした。
【００２０】
(4)カメラ画像の複数の特徴点に同一の三次元座標が対応付けられると、確率が相対的に低い特徴点の対応付けを、次に確率の高い他の三次元座標に変更する手段をさらに具備した。
【００２１】
(5)カメラ画像の各特徴点と三次元座標との対応関係を、前記三次元モデルの幾何構造に基づいて修正する手段を更に具備した。
【発明の効果】
【００２２】
本発明によれば、以下のような効果が達成される。
【００２３】
(1)観察対象の各投影画像とカメラ画像との特徴点マッチングにおいて、カメラ画像の各特徴点（カメラ画像特徴点）との対応付けを検証される観察対象の各投影画像の特徴点（投影画像特徴点）の対象範囲を、各一枚のテンプレート画像に写る範囲内に限定せず、各一枚のテンプレート画像に写る範囲を超えて、全ての投影画像特徴点が対象範囲とされるので、全てのカメラ画像特徴点を、そのカメラパラメータにかかわらず、最も類似する投影画像特徴点と対応付けられるようになる。したがって、多数のテンプレート画像を管理するための大きなメモリ容量を確保することなく、かつ識別器を大型化することなく、少ない計算コストで精度の高い特徴点マッチングが可能になる。
【００２４】
(2)確率分布の学習モデルを別途に構築してシステムのデータベースに登録するようにすれば、ユーザ側での学習操作が不要になる。
【００２５】
(3)カメラ画像の複数の特徴点に同一の三次元座標が対応付けられると、確率（尤度）が相対的に低い特徴点の対応付けが、次に確率の高い他の三次元座標に変更されるので、誤対応を自動で修正できるようになる。
【００２６】
(4)カメラ画像の各特徴点と三次元座標との対応関係が、前記三次元モデルの幾何構造に基づいて修正されるので、セルフオクルージョンにより同時には写り得ない複数の三次元座標が各カメラ画像特徴点に対応付けられてしまう問題を解消できる。
【図面の簡単な説明】
【００２７】
【図１】本発明が適用されるARシステム１の構成を示したブロック図である。
【図２】カメラ姿勢推定装置の主要部の構成を示した機能ブロック図である。
【図３】特徴点識別装置の構成を示したブロック図である。
【図４】学習処理の手順を示したフローチャートである。
【図５】学習処理における分類器の機能を模式的に表現した図である。
【図６】識別処理の手順を示したフローチャートである。
【図７】識別処理における分類器の機能を模式的に表現した図である。
【図８】対応関係の第1の修正方法のフローチャートである。
【図９】対応関係の第２の修正方法のフローチャートである。
【図１０】対応関係の第３の修正方法のフローチャートである。
【図１１】特徴点マッチングにおける観察対象およびそのテンプレート画像とカメラ画像との対応関係を示した図である。
【図１２】従来の特徴点マッチング方法を説明するための図である。
【図１３】従来の特徴点マッチング方法の問題点を説明するための図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明が適用されるARシステム１の構成を示したブロック図であり、携帯電話、スマートフォン、PDAあるいはノートPCなどの情報端末に実装されて使用される。
【００２９】
撮像装置１０は、携帯端末等に搭載されているカメラモジュールあるいはWEBカメラ装置であり、観察対象２を撮影してカメラ画像Icaを表示装置１１およびカメラ姿勢推定装置１２に出力する。カメラ姿勢推定装置１２は、撮像装置１０から取得したカメラ画像Icaに基づいて、後に詳述するように、観察対象２の各特徴点とカメラ画像Icaの各特徴点との間で特徴点マッチングを実施し、相互に対応付けられた特徴点の三次元座標と二次元座標との対応関係、ならびにカメラの内部および外部パラメータに基づいて、観察対象２に対するARシステム１の姿勢を推定する。
【００３０】
従来から、２次元座標と３次元座標とのマッチから、その関係を説明するカメラ姿勢（カメラの外部パラメータ）を推定する手法が検討されており、３次元座標と２次元座標との関係は、一般的に次式(1)で表される。
【００３１】
[u,v,1]^T=sAW[X,Y,Z,1]^T  …  (1)
【００３２】
ここで、[u,v]，[X,Y,Z]は、それぞれ２次元ピクセル座標値および３次元座標値を表し、[・]^Tは転置行列を表す。また、Ａ、Ｗは、それぞれカメラの内部パラメータおよび外部パラメータ（カメラ姿勢）を表す。カメラの内部パラメータは予めカメラキャリブレーションによって求めておく。
【００３３】
カメラ姿勢W=[R,t]=[r1,r2,r3,t]であり、回転行列Rと並進ベクトルtとで表される。３次元座標[X,Y,Z,1]^Tと２次元座標[u,v,1]^Tとのマッチおよびカメラの内部パラメータを用いて、カメラ姿勢Wを推定できる。
【００３４】
付加情報データベース１３は、ハードディスクドライブや半導体メモリモジュール等により構成された記憶装置であり、観察対象２の位置をARシステム１が認識した際に、表示装置１１上で観察対象２に重畳表示するCGや２次元画像を保持しており、カメラ姿勢推定装置１２が推定したカメラ姿勢に対応する観察対象２に関する付加情報を表示装置１１に出力する。
【００３５】
前記表示装置１１は、撮像装置１０が連続的に取得したカメラ画像Icaをユーザに掲示できるモニタ装置であり、携帯端末のディスプレイでも良い。また、ヘッドマウントディスプレイ(HMD)のような形態でも良く、特にシースルー型のHMDの場合はカメラ画像Icaを表示せず、視界に付加情報のみを重畳して表示することも可能である。表示装置１１がディスプレイである場合は、カメラ画像Icaに付加情報DBから入力された付加情報を、カメラ姿勢推定装置から入力されたカメラ姿勢によって補正された位置に重畳表示する。
【００３６】
図２は、前記カメラ姿勢推定装置１２の主要部の構成を示した機能ブロック図であり、特徴点検出部１２ａ、カメラ姿勢算出部１２ｂおよび特徴点識別部１２ｃにより構成される。
【００３７】
特徴点検出部１２ａは、例えばHarrisコーナー検出器やHessianキーポイント検出器であり、入力された画像から特徴点を検出し、その二次元座標および局所特徴情報を抽出する。各特徴点の二次元座標はカメラ姿勢算出部１２ｂに与えられ、各局所特徴情報は特徴点識別部１２ｃに与えられる。前記局所特徴情報は、例えばSIFTディスクリプタやSURFディスクリプタなどの特徴点を識別するための情報であり、ここでは、非特許文献１，２に開示されているパッチ画像が局所特徴情報であるものとして説明を続ける。
【００３８】
なお、パッチ画像とは、原画像から特定の大きさで切り出された画像であり、本実施形態では、特徴点を中心とした任意の幅と高さ（例えば幅３２ピクセル、高さ３２ピクセル）の局所画像のことである。特徴点が大きさ（スケール）の情報も持つ場合、その大きさに応じてパッチ画像の幅および高さを変更することが可能である。パッチ画像の切り出しは一般的な局所特徴情報の計算と比較して非常に高速であるという特徴がある。
【００３９】
特徴点識別部１２ｃは、前記特徴点検出部１２ａから取得した画像の局所特徴情報を分類して、その特徴点の三次元座標を特定し、カメラ姿勢算出部１２ｂに各特徴点の三次元座標を与える。カメラ姿勢算出部１２ｂは、特徴点検出部１２ａから与えられる特徴点の二次元座標、および特徴点識別部１２ｃから与えられる特徴点の三次元座標の入力に基づいてカメラの姿勢を算出し、カメラ姿勢情報として出力する。
【００４０】
図３は、前記特徴点識別部１２ｃの主要部の構成を示したブロック図であり、学習部３１１は、観察対象２の三次元モデルを様々な方向から二次元に投影して得られる多数の投影画像Imdから検出された全ての特徴点（以下、「投影画像特徴点(Pmd)」と表現する場合もある）の局所特徴情報（パッチ画像）を分類器３１２に適用する。そして、各局所特徴情報の分類結果とその三次元座標との対応関係を、各投影画像Imdの範囲を超えて集計、すなわち全ての投影画像特徴点Pmdの局所特徴情報について集計することにより、局所特徴情報とその三次元座標の確率との関係を一元管理できる確率分布を構築し、これを学習モデルとして確率分布DB３１３に登録する。
【００４１】
この分類器３１２は、後に詳述するように、各特徴点のパッチ画像を分類する決定規則を備え、この決定規則に基づいて各パッチ画像を複数のグループのいずれかに分類する。決定規則は、各パッチ画像を分類できるものであればどのようなものでも良い。
【００４２】
識別部３１４は、カメラ画像Icaから検出された特徴点（以下、「カメラ画像特徴点(Pca)」と表現する場合もある）のパッチ画像を前記分類器３１２に適用し、その分類結果と前記確率分布DB３１３に学習済みの確率分布とに基づいて、観察対象２の各特徴点Pmdの三次元座標とカメラ画像Icaの各特徴点Pcaとの対応関係を識別する。3D座標DB３１５には、観察対象２の特徴点Pmdごとに、その三次元座標が予め格納されている。各部の動作については、後に詳述する。
【００４３】
このようなARシステム１において、本実施形態では、観察対象２の三次元座標と当該観察対象２を撮影したカメラ画像Icaの各特徴点との対応付けが、大きく以下の２段階で行われる。
【００４４】
(1)学習段階では、観察対象２の三次元モデルを様々なカメラパラメータで、向き、位置、角度などを異ならせて取得された多数の投影画像Imdから投影画像特徴点Pmdが検出される。そして、各特徴点Pmdの局所特徴情報が、前記学習部３１１により分類器３１２に適用され、各特徴点Pmdの確率分布が学習モデルとして構築されて前記確率分布DB３１３に登録される。
【００４５】
このとき、従来技術では投影画像Imd（テンプレート画像）ごとに確率分布が構築されていたが、本発明では、各投影画像Imdの範囲を超えて、すなわち全ての投影画像特徴点Pmdの局所特徴情報が分類器３１２に適用されて、観察対象ごとに唯一の確率分布が構築される。
【００４６】
(2)識別段階では、観察対象２を撮影したカメラ画像Icaからカメラ画像特徴点Pcaが検出される。そして、各特徴点Pcaの局所特徴情報が、前記識別部３１４により分類器３１２に適用され、その分類結果と前記確率分布DB３１３に学習済みの確率分布とに基づいて、観察対象２の各特徴点Pmdの三次元座標とカメラ画像Icaの各特徴点Pcaとの対応関係が識別される。
【００４７】
次いで、前記学習段階の処理を、図４のフローチャートおよび図５の模式図を参照しながら説明する。ここでは、観察対象の形状、模様、色彩、大きさおよび各部の三次元座標が忠実に表現された三次元モデルが、既知の手法により予め構築されて用意されているものとして説明する。
【００４８】
始めに図５を参照し、本実施形態の分類器３１２は、決定規則としてパッチ画像を高速に処理可能な非特許文献２のRandom Ferns識別器を利用する。Random Ferns識別器は複数の決定木（Fern）から構成され、各Fernはパッチ画像を分岐させる決定規則を持つ多段構成の分岐点（ノード）およびノードの末端（リーフ）から構成される。この決定規則は、パッチ画像からランダムに選択した２点のピクセルの輝度の大小関係によって当該パッチ画像を左右に分岐させるというものである。後段のノードはパッチ画像を別の決定規則によってさらに分岐させるが、同じ段数のノードは同じ決定規則を持つ。そのため、各Fernでノードの決定規則の種類はノードの段数と等しい。最終的にパッチ画像が到達するノード（リーフ）がパッチ画像の分類結果である。本実施形態における分類結果は、各パッチ画像がどのリーフに到達したかという情報であり、これはリーフIDで表される。これ以降、リーフIDは分類器の分類結果の意味で用いる。
【００４９】
図４において、ステップＳ１１では、観察対象２を二次元に投影するために今回のカメラパラメータがランダムに設定される。本実施形態では、観察対象２とカメラとの距離、ならびにカメラが観察対象２を見込む位置、方向および角度などがカメラパラメータとしてランダムに設定される。ステップＳ１２では、前記カメラパラメータにしたがって観察対象２の三次元モデルが投影されて二次元の投影画像Imdが取得される。ステップＳ１３では、今回の投影画像Imdに写っている全ての特徴点（投影画像特徴点Pmd）が検出され、さらに逆投影によって各特徴点に対応する三次元座標が取得される。
【００５０】
ステップS１４では、投影画像Imdごとに、前記取得された三次元座標が3D座標DB３１５へ登録される。三次元座標を登録する際は、既に登録済みの各三次元座標との距離を個々に計算し、距離が予め定めた一定の閾値以下の関係にある三次元座標が存在しない場合のみ、投票数を「１」に設定した三次元座標を新規に登録する。距離が閾値以下の関係にある三次元座標が登録されていた場合にはそれらを同一点と見なし、三次元座標を新規に登録せず、登録済みの三次元座標の投票数をインクリメント（投票）する。また、その際には登録済みの三次元座標を、登録済みの三次元座標と登録しようとした三次元座標との重心となるように調整しても良い。
【００５１】
このような三次元座標の投票処理は、3D座標DB３１５に登録される三次元座標数が多くなり過ぎると認識精度が劣化するため、登録する三次元座標数を、カメラパラメータにかかわらず検出される可能性の高いロバストな特徴点に対応した三次元座標に絞り込むための前処理として行われる。
【００５２】
今回の投影画像Imdに関して、三次元座標の取得および3D座標DB３１５への登録が完了すると、ステップＳ１５では、予定数のカメラパラメータについて上記の処理が終了したか否かが判定される。終了していなければステップＳ１１へ戻り、前記カメラパラメータをランダムに再設定して新たな投影画像Imdが取得され、投影画像Imdごとに上記の各処理が繰り返されて多数の三次元座標が3D座標DB３１５へ登録される。
【００５３】
予定数のカメラパラメータについて上記の処理が終了すると、ステップＳ１６では、前記ステップＳ１４で行われた3D座標DB３１５への登録及び投票の結果に基づいて、3D座標DB３１５に登録する三次元座標が選定される。
【００５４】
ここで、全ての投影画像Imdに各特徴点が均等に写り込んでいると仮定すれば、同一の三次元座標に逆投影される特徴点数（投票数）は、当該三次元座標の特徴点としての検出され易さの指標となる。すなわち、逆投影される特徴点数が多い三次元座標は、カメラパラメータにかかわらず検出される可能性の高いロバストな三次元座標であると評価できる。そこで、本実施形態では前記投票数の多い三次元座標がロバストな三次元座標として選定され、投票数の上位一定数の三次元座標を残して、それ以外の三次元座標が前記3D座標DB３１５から削除される。
【００５５】
ステップＳ１７、１８では、前記ステップＳ１１、１２と同様に、今回のカメラパラメータがランダムに設定されて投影画像Imdが取得される。ステップＳ１９では、前記3D座標DB３１５から選択された三次元座標が当該投影画像Imdに投影されて各特徴点Pmdの位置が取得される。
【００５６】
その際には、3D座標DB３１５から、実際に投影画像に写っている三次元座標のみを選択する必要がある。三次元座標が投影画像に写っているか否かの判定には、三次元座標が所属する、３Dモデルのポリゴン面の法線情報を利用できる。本実施形態では、設定されたカメラパラメータから視線方向が計算され、ポリゴン面の法線と成す角度が９０度未満であれば写っており、９０度以上であれば写っていないといった判定が可能である。ここで、ポリゴン面と視線とが直角に近い場合、投影画像内の三次元座標の厳密な位置を特定することは難しいため、閾値となる角度は９０度より小さく設定することも可能である。
【００５７】
ステップＳ２０では、各特徴点Pmdおよびその近傍から、局所特徴情報としてパッチ画像が切り出される。本実施形態では、各投影画像特徴点を中心にn×nピクセルの矩形範囲または半径nの円形領域がパッチ画像として切り出される。ステップＳ２１では、各特徴点Pmdのパッチ画像が、前記分類器３１２の各Fern(Fern1〜FernN)に適用されてノードの分岐がFernごとに進行し、到達先のリーフごとに確率分布の投票が行われる。すなわち、Fernの本数がN本であれば、特徴点毎にN葉のリーフにおいて、その三次元座標に対応するクラスIDの度数が「１」だけ増加する。
【００５８】
ステップＳ２２では、今回のカメラパラメータで取得された投影画像Imdから検出された全ての特徴点Pmdのパッチ画像について前記投票が完了したか否かが判定される。完了していなければステップＳ２１へ戻り、今回の投影画像Imdに関して、残りの特徴点Pmdのパッチ画像についても同様の投票が繰り返される。
【００５９】
ステップＳ２３では、予定数のカメラパラメータについて上記の処理が終了したか否かが判定される。終了していなければステップＳ１７へ戻り、前記カメラパラメータをランダムに再設定して新たな投影画像Imdが取得され、投影画像Imdごとに上記の各処理が繰り返される。
【００６０】
本実施形態では、観察対象２の主要部の表面領域が少なくとも一つの投影画像Imdに写るようにカメラパラメータが設定される。なお、カメラ画像Icaとして写り得ない表面領域が既知であれば、当該表面領域は投影対象外としても良い。
【００６１】
ステップＳ２４では、分類器３１２の各リーフにおいてクラスIDごとに得られた投票の累積結果が、投影画像Imdの各特徴点Pmdとカメラ画像Icaの各特徴点Pcaとの類似度を確率的な指標で与える確率分布の学習モデルとして前記確率分布DB３１３に登録される。
【００６２】
次いで、前記識別段階の処理を、図６のフローチャートおよび図７の模式図を参照しながら説明する。ステップＳ３１では、入力されたカメラ画像Icaから特徴点Pcaが検出され、その二次元座標が判別される。ステップＳ３２では、前記カメラ画像Icaから特徴点Pcaおよびその近傍を含むパッチ画像が切り出される。ステップＳ３３では、各特徴点Pcaのパッチ画像が、前記分類器３１２の各Fern(Fern1〜FernN)に適用されてノードの分岐がFernごとに進行し、到達先のリーフが判別される。
【００６３】
ステップＳ３４では、図７に示したように、到達先の各リーフに登録されている確率分布が集計されて特徴点毎に確率（尤度）の対数和が算出される。ステップＳ３５では、前記識別部３１４において、対数和が最大値を示したクラスIDに基づいて、対応する三次元座標が識別される。ステップＳ３６では、カメラ画像Icaから検出されている全ての特徴点Pcaについて、その対応付けが完了したか否かが判定される。完了していなければステップＳ３３へ戻り、残り全ての特徴点Pcaに関して同様の識別手順が繰り返される。
【００６４】
ステップＳ３７では、上記の識別結果が検証され、複数のカメラ画像特徴点Pcaに同一のクラスID（三次元座標）が対応付けられていると、当該複数のカメラ画像特徴点Pcaのうち、確率が相対的に低い特徴点Pcaについて、その対応付けが２番目に確率の高かった他のクラスIDに変更される。
【００６５】
すなわち、２つのカメラ画像特徴点Pca1，Pca2がいずれも同一の三次元座標[x0,y0,z0]に対応付けられていると、Pca1の確率M(Pca1)とPca2の確率M(Pca2)とが比較され、例えばM(Pca1)＞M(Pca2)あれば、特徴点Pca2の対応付けが、前記三次元座標[x0,y0,z0]の次に確率の高かった他の三次元座標に変更される。
【００６６】
なお、上記の実施形態では、ARシステム１のカメラ姿勢算出部１２ｂが、観察対象２を模した三次元モデルの投影画像から検出された特徴点のパッチ画像に基づいて、自ら確率分布の学習モデルを構築して予め確率分布DB１３に登録しておくものとして説明したが、本発明はこれのみに限定されるものではない。
【００６７】
すなわち、前記特徴点検出部１２ａおよび特徴点識別部１２ｃと同一または同様の方法で学習モデルを構築できる専用システムを別途に用意し、当該専用システムにおいて上記と同様の方法、手順で確率分布を予め確立し、これをARシステム１のデータベースに登録して利用するようにしてもよい。このように、学習モデルを別途に構築してARシステム１のデータベースに登録するようにすれば、ユーザ側での学習操作が不要になる。
【００６８】
ところで、上記の実施形態では、観察対象２の三次元座標とカメラ画像Icaの特徴点Pcaとの対応付けが、観察対象２のテンプレート画像の範囲を超えて、各画像の局所特徴情報の類似性（確率）のみに基づいて識別されるので、各カメラ画像特徴点Pcaに対して、現実にはセルフオクルージョンにより同時に写る可能性のない複数の三次元座標が対応付けられてしまう場合がある。
【００６９】
すなわち、観察対象２が図１１に例示したような直方体であって、そのカメラ画像Icaから２つのカメラ画像特徴点が検出されているとき、その一方のカメラ画像特徴点と観察対象２の正面に位置する特徴点とが類似し、かつ他方のカメラ画像特徴点と観察対象２の裏面に位置する特徴点とが類似していると、各カメラ画像特徴点に対して、セルフオクルージョンにより同時に写る可能性のない表裏の各三次元座標が対応付けられてしまう場合がある。
【００７０】
本実施形態では、このようなセルフオクルージョンの技術課題を解決するために、観察対象２の三次元モデルの投影画像Imdから特徴点Pmdを検出する際に、当該特徴点Pmdが検出された三次元座標のポリゴン面を識別し、各特徴点Pmdの三次元座標を、そのポリゴン面を識別するポリゴンIDと対応付けて記憶しておく。そして、各カメラ画像特徴点Pcaと対応付けられた各三次元座標のポリゴンID同士を比較し、各ポリゴン面の相対的な角度が、各ポリゴン面に所属する三次元座標が同時には写らないような位置関係（例えば、各ポリゴン面の相対角度が９０度以上）であると、前記対応点の識別結果を修正するようにしている。
【００７１】
図８は、前記対応関係の第１の修正方法を示したフローチャートであり、ステップＳ４１では、各カメラ画像特徴点と対応付けられた複数の三次元座標の中で確率が最大の三次元座標[x0,y0,z0]が選択される。ステップＳ４２では、前記選択された座標[x0,y0,z0]と残りの座標の一つ[x1,y1,z1]とが同時に写り得るか否かが、各座標[x0,y0,z0]、[x1,y1,z1]のポリゴンIDを比較することで判定される。
【００７２】
ここで、各三次元座標[x0,y0,z0]、[x1,y1,z1]が所属する各ポリゴン面の相対角度が、例えば９０度以上であれば、各座標[x0,y0,z0]、[x1,y1,z1]は同時に写り得ないと判定されてステップＳ４３ａへ進む。ステップＳ４３ａでは、確率が相対的に低い座標[x1,y1,z1]の対応関係が見直され、二番目に確率が高かった座標（例えば、[x4,y4,z4]）に対応付けが変更される。
【００７３】
なお、二番目に確率が高かった座標[x4,y4,z4]についても、注目された座標[x0,y0,z0]と同時に写り得ないと判定されると、三番目に確率が高かった座標（例えば、[x5,y5,z5]）に対応付けが変更され、以下同様に繰り返される。
【００７４】
ステップＳ４４では、残り全ての三次元座標について、上記の処理が完了したか否かが判定される。判定していなければステップＳ４２へ戻り、残りの座標についても上記と同様の修正処理が繰り返される。
【００７５】
図９は、対応関係の第２の修正方法を示したフローチャートであり、ステップＳ４１、Ｓ４２では、上記の第１の修正方法と同一又は同等の処理が実行されるので、その説明を省略する。
【００７６】
前記ステップＳ４２において、比較対象となっている２つの三次元座標[x0,y0,z0]、[x1,y1,z1]がセルフオクルージョンにより同時には写り得ないと判定されると、ステップＳ４３bでは、確率が相対的に低い座標[x1,y1,z1]に関する対応付けが破棄される。ステップＳ４４では、残り全ての三次元座標について、上記の修正処理が完了したか否かが判定される。完了していなければステップＳ４２へ戻り、残りの座標についても上記と同様の修正処理が繰り返される。
【００７７】
図１０は、対応関係の第３の修正方法を示したフローチャートであり、ステップＳ５１では、各カメラ画像特徴点Pcaと対応付けられた複数の三次元座標の中から、確率が所定の閾値を超えている三次元座標のみが選択される。ステップＳ５２では、選択された三次元座標のみを対象に、その所属するポリゴン面が判別され、所属数が最多のポリゴン面が正規のポリゴン面に決定される。このとき、各三次元座標を同等に扱うのではなく、各三次元座標に、その確率に応じた重み付けを行うようにしても良い。ステップＳ５３では、前記決定されたポリゴン面に所属しない三次元座標が破棄またはそのポリゴン面が前記選択された三次元座標と同一であって確率が次に高い他の三次元座標に変更される。
【００７８】
なお、上記の実施形態では、三次元モデルの幾何構造に基づいてセルフオクルージョンの問題を解決するために、各特徴点のポリゴン面に注目するものとして説明したが、本発明はこれのみに限定されるものではなく、各特徴点の法線に注目しても良い。この場合、各特徴点の三次元座標を、その法線方向と対応付けて記憶し、例えば確率が閾値を超える三次元座標のみを対象に法線方向を平均化することで観察対象のおおよその姿勢を推定する。そして、当該姿勢では写り得ない法線方向と対応付けられている三次元座標を破棄または観察対象の姿勢が前記推定通りであれば写り得る法線方向であって確率が次に高い他の三次元座標に変更する。
【符号の説明】
【００７９】
１…ARシステム，２…観察対象，１０…撮像装置，１２…カメラ姿勢推定装置，１２ａ…特徴点検出部，１２ｂ…カメラ姿勢算出部，１２ｃ…特徴点識別部，１３…付加情報データベース，３１１…学習部，３１２…分類器，３１３…確率分布DB，３１４…識別部
【図１】
2014038566.tif 000003
【図２】
2014038566.tif 000004
【図３】
2014038566.tif 000005
【図４】
2014038566.tif 000006
【図５】
2014038566.tif 000007
【図６】
2014038566.tif 000008
【図７】
2014038566.tif 000009
【図８】
2014038566.tif 000010
【図９】
2014038566.tif 000011
【図１０】
2014038566.tif 000012
【図１１】
2014038566.tif 000013
【図１２】
2014038566.tif 000014
【図１３】
2014038566.tif 000015