(57)【要約】【課題】観察対象とそのカメラ画像との対応点検出の精度を、計算コストを増加させることなく向上させる。【解決手段】観察対象から検出された第１特徴点の局所特徴情報および三次元座標を学習し、任意の局所特徴情報に対して三次元座標の確率密度を与える確率密度DB１２２ｂと、各第１特徴点の法線を管理する法線管理部と、観察対象を撮影したカメラ画像から第２特徴点を検出し、その局所特徴情報を抽出する特徴点検出部１２１と、カメラ画像の視線を推定するカメラ視線推定装置１４と、各第２特徴点を、その局所特徴情報および前記確率密度データベースに基づいて、マッチングスコアのより高い第１特徴点と対応付けるマッチング部１２２と、対応付けられた第１特徴点の法線とカメラ画像の視線とを比較し、角度差が所定の閾値を超える対応点候補を排除する第２カリング処理部１２４とを含む。【選択図】図２
2014032623.tif 000002
【特許請求の範囲】
【請求項１】
観察対象の三次元座標と当該観察対象を撮影したカメラ画像の特徴点とを対応付ける画像処理装置において、
観察対象から検出された第１特徴点の局所特徴情報および三次元座標を学習し、任意の局所特徴情報に対して三次元座標の確率密度を与える確率密度データベースと、
各第１特徴点の法線を検出する手段と、
観察対象を撮影したカメラ画像から第２特徴点を検出する特徴点検出手段と、
各第２特徴点から局所特徴情報を抽出する局所特徴情報抽出手段と、
前記カメラ画像の視線を推定する手段と、
前記各第２特徴点を、その局所特徴情報および前記確率密度データベースに基づいて、マッチングスコアのより高い第１特徴点と対応付けるマッチング手段と、
前記対応付けられた第１特徴点の法線とカメラ画像の視線とを比較し、角度差が所定の閾値を下回るペアを対応点として出力する対応点出力手段とを具備したことを特徴とする画像処理装置。
【請求項２】
前記マッチングスコアが所定の閾値よりも高いペア以外を対応点候補から外す手段をさらに具備し、
前記対応点出力手段は、前記マッチングスコアの高い対応点候補の中から、前記角度差が所定の閾値を下回る対応点候補を対応点として出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
各第１特徴点の法線とカメラ画像の視線との角度差に基づいて、当該角度差が所定の閾値を上回る第１特徴点をマッチング対象から外すためのマスクを生成する手段をさらに具備し、
前記対応点出力手段は、前記マスクされていない第１特徴点のみを対象にマッチングを行うことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記マスクには、第１特徴点ごとに、その法線とカメラ画像の視線との角度差に応じた多値のマスク値が設定され、
前記対応点出力手段は、前記多値のマスク値を重みとしてマッチングを行うことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
自装置の位置および向きを検知する手段をさらに具備し、
前記カメラ画像の視線を推定する手段は、前記自装置の位置および向きならびに別途に与えられる観察対象の位置とに基づいてカメラ画像の視線を推定することを特徴とする請求項２ないし４のいずれかに記載の画像処理装置。
【請求項６】
観察対象を異なる視線で投影した多数の二次元画像から検出された特徴点の各局所特徴情報および視線を学習し、任意の局所特徴情報に対して視線の確率密度を与える視線データベースをさらに具備し、
前記カメラ画像の視線を推定する手段は、カメラ画像から検出された第２特徴点の局所特徴情報および前記視線の確率密度に基づいてカメラ画像の視線を推定することを特徴とする請求項２ないし４のいずれかに記載の画像処理装置。
【請求項７】
前記法線検出手段は、観察対象の同一平面に属する複数の特徴点の法線を、そのうちの一つの特徴点の法線で代表することを特徴とする請求項１ないし６のいずれかに記載の画像処理装置。
【請求項８】
前記対応点出力手段において、前記角度差に関する閾値が、第１特徴点ごとに固有の値に設定されていることを特徴とする請求項１ないし７のいずれかに記載の画像処理装置。
【請求項９】
前記対応点出力手段から出力される対応点のうち、幾何拘束の条件を満足する対応点のみを利用して前記カメラの姿勢を推定するカメラ姿勢推定手段を具備し、
前記対応点出力手段は、前記カメラ姿勢推定手段においてカメラ姿勢の推定に利用できた対応点数が少ないほど閾値が緩くなるように、当該閾値を動的に変更することを特徴とする請求項１ないし８のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、観察対象の三次元座標と当該観察対象をカメラで撮影して得られるカメラ画像の二次元座標とを対応付ける画像処理装置に係り、特に、計算コストや使用メモリ量を増加させることなく高精度での対応付けを可能にする画像処理装置に関する。
【背景技術】
【０００２】
近年、現実空間の映像をコンピュータで処理して更なる情報を付加するAR（拡張現実感）技術が、WEBカメラの接続されたPCや、カメラ付き携帯電話端末上で実現されるようになっている。AR技術では、カメラ画像内の対象物に対するカメラ姿勢（カメラの外部パラメータ）を推定する必要があり、センサや基準マーカを利用した手法等が用いられている。また、形状や画像情報が既知である三次元物体を対象物としてカメラ姿勢を推定する技術が検討されている。
【０００３】
特許文献１には、複数の対象物の登録画像と入力画像の双方から検出された特徴点のマッチングを行い、相関の高い登録画像を特定し、特徴点の組み合わせと対象物の形状からカメラ姿勢を推定する技術が開示されている。
【０００４】
非特許文献１には、分類器の出力に閾値を設定することで、対応点の精度（正しく対応付けられた点の割合）を高める技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許４７１５５３９号
【非特許文献】
【０００６】
【非特許文献１】D. Wagner et al., "Real-Time Detection and Tracking for Augmented Reality on Mobile Phones," Visualization and Computer Graphics, IEEE Transactions on, vol. 16, no. 3, pp. 355 -367, may/june. 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、入力画像と登録画像間で特徴点マッチングを行うために、入力画像内の三次元物体の姿勢と近い状態で記録された登録画像がデータベースに存在しない場合に、対応点が少なくなって特徴点マッチングが困難になるという問題があった。
【０００８】
また、対象物を様々な方向から撮影して登録画像を増やした場合に、相関の高い登録画像の特定に計算コストがかかり、かつ識別器のサイズが大きくなるために計算機の使用メモリ量が増加するという問題があった。
【０００９】
非特許文献１には、対象物が平面画像である場合に高精度な対応点が得られるものの、三次元物体に対しては十分な精度が得られないという問題点があった。
【００１０】
本発明の目的は、上記の技術課題を解決し、計算コストや使用メモリ量を増加させることなく、精度の高い多数の対応点を得られる画像処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明は、観察対象の三次元座標と当該観察対象を撮影したカメラ画像の特徴点とを対応付ける画像処理装置において、以下のような構成を設けた点に特徴がある。
【００１２】
(1)観察対象から検出された第１特徴点の局所特徴情報および三次元座標を学習し、任意の局所特徴情報に対して三次元座標の確率密度を与える確率密度データベースと、各第１特徴点の法線を検出する手段と、観察対象を撮影したカメラ画像から第２特徴点を検出する特徴点検出手段と、各第２特徴点から局所特徴情報を抽出する局所特徴情報抽出手段と、カメラ画像の視線を推定する手段と、各第２特徴点を、その局所特徴情報および前記確率密度データベースに基づいて、マッチングスコアのより高い第１特徴点と対応付けるマッチング手段と、対応付けられた第１特徴点の法線とカメラ画像の視線とを比較し、角度差が所定の閾値を下回る対応関係を対応点として出力する対応点出力手段とを設けた。
【００１３】
(2)観察対象を異なる視線で投影した多数の二次元画像から検出された特徴点の各局所特徴情報および視線を学習し、任意の局所特徴情報に対して視線の確率密度を与える視線データベースをさらに具備し、カメラ画像の視線を推定する手段は、カメラ画像から検出された第２特徴点の局所特徴情報および前記視線の確率密度に基づいてカメラ画像の視線を推定するようにした。
【００１４】
(3)各第１特徴点の法線とカメラ画像の視線との角度差に基づいて、当該角度差が所定の閾値を上回る第１特徴点をマッチング対象から外すためのマスクを生成する手段を具備し、対応点出力手段は、マスクされていない第１特徴点のみを対象にマッチングを行うようにし、マスクには、第１特徴点ごとに、その法線とカメラ画像の視線との角度差に応じた多値のマスク値が設定され、対応点出力手段は、多値のマスク値を重みとしてマッチングを行うようにした。
【００１５】
(4)対応点出力手段から出力される対応点のうち、幾何拘束の条件を満足する対応点のみを利用して前記カメラの姿勢を推定するカメラ姿勢推定手段を具備し、対応点出力手段は、前記カメラ姿勢推定手段においてカメラ姿勢の推定に利用できた対応点数が少ないほど閾値が緩くなるように、当該閾値を動的に変更するようにした。
【発明の効果】
【００１６】
本発明によれば、以下のような効果が達成される。
【００１７】
(1)対応点が、観察対象から検出された特徴点およびカメラ画像から検出された特徴点の各局所特徴情報間のマッチングスコアのみならず、観察対象の向き（特徴点の法線）と当該観察対象を撮影したカメラの向き（カメラ視線）との角度差も考慮して検出されるので、僅かな計算量で精度の高い対応点検出が可能になる。
【００１８】
(2)観察対象を異なる視線で投影した多数の二次元画像から検出された特徴点の各局所特徴情報および視線を学習し、任意の局所特徴情報に対して視線の確率密度を与える視線データベースを設けたので、GPS機能や方位センサを設けることなく、カメラ画像の視線を正確に推定できるようになる。
【００１９】
(3)観察対象から検出された特徴点およびカメラ画像から検出された特徴点の各局所特徴情報間のマッチングスコアを、観察対象の向き（特徴点の法線）と当該観察対象を撮影したカメラの向き（カメラ視線）との角度差に基づいて重み付けすれば、例えば角度差が大きくてもマッチングスコアが十分に高ければ対応点とみなすなどの柔軟な対応点検出が可能になる。
【００２０】
(4)出力された対応点が、幾何拘束の条件を満足しているか否かに基づいて、角度の閾値が動的に制御されるので、必要かつ十分な数の対応点を得られるようになる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１および第２実施形態が適用されるARシステムのブロック図である。
【図２】本発明の第１実施形態のブロック図である。
【図３】第２カリング処理の機能を説明するための図である。
【図４】角度差の閾値θrefを動的に設定する方法を示した図である。
【図５】本発明の第２実施形態のブロック図である。
【図６】マスクを用いない実施形態とマスクを用いる実施形態との対応点数（横軸）とマッチング精度（縦軸）との関係を示した図である。
【図７】本発明の第３および第４実施形態が適用されるARシステムのブロック図である。
【図８】本発明の第３実施形態のブロック図である。
【図９】本発明の第４実施形態のブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明が適用されるARシステム１の構成を示したブロック図であり、携帯電話、スマートフォン、PDAあるいはノートPCなどの情報端末に実装されて使用される。
【００２３】
撮像装置（カメラ）１０は、携帯端末等に搭載されているカメラモジュールあるいはWEBカメラ装置であり、観察対象２を撮影して、そのカメラ画像Icaを表示装置１１およびカメラ姿勢推定装置１２に出力する。
【００２４】
カメラ視線推定装置１４は、例えば情報端末に搭載されている方位センサやGPS機能（いずれも図示省略）により検知される自身の位置および向きと、予め与えられている観察対象２の位置とに基づいて、観察対象２に対するカメラ１０の相対的な視線（カメラ視線）を大まかに推定する。本発明では、後に詳述するように、カメラ視線に基づいて対応点候補を予め絞り込むことで対応点の精度を向上させている。
【００２５】
前記カメラ姿勢推定装置１２は、観察対象２の各特徴点Pmから抽出された局所特徴量とカメラ画像Icaの各特徴点Pcから抽出された局所特徴量との間で特徴点マッチングを実施する。そして、マッチングスコアがより高く、かつ観察対象の向き（特徴点の法線）と当該観察対象を撮影したカメラの向き（カメラ視線）との角度差がより小さい特徴点Pmを含むペアを対応点として採用し、これらの対応点のうち、幾何拘束条件を満足する真に正しい対応点のみを利用してカメラ姿勢を推定する。
【００２６】
カメラ姿勢は、カメラの外部パラメータと呼ばれる行列の形で表され、三次元空間内でのカメラの位置および方向の情報を含み、これとカメラの内部パラメータと呼ばれるカメラ固有の焦点距離、主軸の位置の情報が含まれる行列やその他光学的歪みのパラメータによって画面内の物体の見え方が決定される。
【００２７】
本実施形態では、内部パラメータや歪みパラメータが予めカメラキャリブレーション等により取得されて歪みは取り除かれているものとし、カメラ姿勢推定装置１２によって推定されたカメラ姿勢が表示装置１１に出力される。ＡＲシステム１が複数種類の三次元物体を対象とする場合、カメラ姿勢と共に対応する観察対象２の種類も表示装置１１に出力される。
【００２８】
表示装置１１は、撮像装置１０が連続的に取得したカメラ画像Icaをユーザに掲示できるモニタ装置であり、携帯端末のディスプレイでも良い。また、ヘッドマウントディスプレイ(HMD)のような形態でも良く、特にシースルー型のHMDの場合はカメラ画像Icaを表示せず、視界に付加情報のみを重畳して表示することも可能である。表示装置１１がディスプレイである場合は、カメラ画像Icaに付加情報DBから入力された付加情報を、カメラ姿勢推定装置から入力されたカメラ姿勢によって補正された位置に重畳表示する。
【００２９】
付加情報データベース１３は、ハードディスクドライブや半導体メモリモジュール等により構成された記憶装置であり、観察対象２の位置をARシステム１が認識した際に、表示装置１１上で観察対象２に重畳表示するCGや二次元画像を保持しており、カメラ姿勢推定装置１２が推定したカメラ姿勢に対応する観察対象２に関する付加情報を表示装置１１に出力する。
【００３０】
図１では、観察対象２の例として地球儀を扱っているが、直方体形状、円柱形状、球形状等のプリミティブな構造を持つ三次元物体や、複雑な構造を持つ場合でも、その三次元モデルが与えられれば、同様のＡＲシステムが構築可能である。そして、このようなＡＲシステムによれば、高度を視覚表示するように地表を重畳表示することや、過去の大陸形状の重畳表示、国境や国名に変更があった際に更新した情報を重畳表示、ジェスチャー認識と組み合わせて指差した国名を表示するといった利用例が想定される。
【００３１】
前記カメラ姿勢推定装置１２において、特徴点識別部１２ｂは、後に詳述するように、撮像装置１０が出力するカメラ画像Icaから特徴点検出器を用いて特徴点を検出し、当該特徴点およびその近傍の局所特徴情報に基づいて特徴点を分類する。そして、予め観察対象２から学習した各特徴点の三次元座標、局所特徴量および法線と、前記カメラ画像Icaから検出された各特徴点の二次元座標、局所特徴量および視線とを比較し、精度のより高い対応点を出力する。
【００３２】
カメラ姿勢算出部１２ａは、前記特徴点識別部１２ｂから出力される複数の対応点に基づいてカメラ姿勢を算出し、この算出結果を表示装置１１へ出力する。対応点の二次元座標および三次元座標からカメラ姿勢（カメラの外部パラメータ）を推定する手法は従来から検討されており、三次元座標と二次元座標との関係は一般的に次式(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を推定できる。
【００３６】
ここで、入力された二次元座標および三次元座標の対応点の中には誤った対応点が含まれるため、サンプリング法のような手法で入力された対応点から正しい対応点（インライア）のみを抽出し、カメラ姿勢の推定を行うことが一般的である。ここでカメラ姿勢算出部１２ａは、サンプリング法によって得られたインライアの絶対数を前記特徴点識別部１２ｂにフィードバックできる。
【００３７】
[第１実施形態]
図２は、前記特徴点識別部１２ｂの第１実施形態の機能ブロック図である。特徴点検出部１２１は、カメラ画像Icaから特徴点Pcを検出し、当該特徴点Pcおよびその局所特徴情報をマッチング部１２２に出力する。前記カメラ画像Icaは、リアルタイムでキャプチャされたフレームおよび録画された連続フレームのいずれでも良く、さらに連続している必要もなく、予め登録された対象物が写った１枚の写真であっても良い。
【００３８】
前記特徴点の検出器としては、Harrisコーナー検出器、Hessianキーポイント検出器あるいはFASTコーナー検出器など、特徴を持つ二次元座標を特定できるものであれば、あらゆる種類のものが使用可能である。本実施形態では、非特許文献１の手法で採用されているFASTコーナー検出器を利用する。
【００３９】
前記局所特徴情報は、例えばSIFTディスクリプタやSURFディスクリプタ等、特徴点を識別するための情報である。本発明では、一般的な局所特徴情報であれば、あらゆる種類のものが使用可能である。本実施形態では、非特許文献１の手法で採用されているパッチ画像が局所特徴情報として用いられる。
【００４０】
ここで、パッチ画像とは原画像から特定の大きさで切り出された画像であり、本実施形態においては特徴点を中心とした任意の幅と高さ（例えば幅３２ピクセル、高さ３２ピクセル）の画像のことである。特徴点が大きさ（スケール）の情報も持つ場合、その大きさに応じてパッチ画像の幅と高さを変更することが可能である。パッチ画像の取得は一般的な局所特徴情報と比較して画像の切り出しのみで済むため、非常に高速であるという特徴がある。
【００４１】
マッチング部１２２は、分類器１２２ａおよび確率密度データベース１２２ｂを含み、予め観察対象２の三次元モデルを様々な方向から二次元に投影して得られる多数の投影画像から検出された全ての特徴点Pmの局所特徴情報（パッチ画像）を分類器１２２ａに適用する。そして、各局所特徴情報の分類結果とその三次元座標との対応関係を集計することにより、局所特徴情報とその三次元座標の確率密度との関係を一元管理できる確率密度分布を構築し、これを学習モデルとして確率密度データベース１２２ｂに登録する。
【００４２】
このようなマッチング手法を採用する分類器１２２ａとして、パッチ画像を高速に処理するFerns分類器を利用できる。Ferns分類器は複数の決定木（Fern）から構成され、各Fernはパッチ画像を分岐させる決定規則を持つ多段構成の分岐点（ノード）とノードの末端（リーフ）から構成される。決定規則は、パッチ画像からランダムに選択した２点のピクセルの輝度の大小関係によって左右に分岐させるというものである。後段のノードは、パッチ画像を別の決定規則によってさらに分岐させるが、同じ段数のノードは同じ決定規則を持つ。そのためにノードの種類はノードの段数と等しい。最終的にパッチ画像が到達するノード（リーフノード）がパッチ画像の分類結果となる。
【００４３】
各リーフノードは、予め学習によって獲得したパッチ画像に対応する三次元座標の確率密度を前記確率密度DB１２２ｂに保持している。Ferns分類器は複数のFernを持っているため、パッチ画像を各Fernに入力し、それぞれの到達したリーフノードに対応する確率密度を取得し、単純ベイズ分類器を用いてその確率を乗算して最終的なパッチ画像に対応する三次元座標の確率密度を決定する。
【００４４】
前記マッチング部１２２は、カメラ画像Icaから検出された特徴点Pcのパッチ画像を前記Ferns分類器に適用することにより、当該パッチ画像に対応する三次元座標の確率密度を取得する。そして、各パッチ画像（特徴点）に対応して最も確率（尤度）の高い三次元座標を対応付けて対応点とし、その尤度をマッチングスコアとして第１カリング処理部１２３へ出力する。
【００４５】
第１カリング処理部１２３は、マッチングスコアに一定の閾値（スコア閾値）を設定し、マッチングスコアが所定の閾値未満のペアを対応点候補から外す一方、閾値以上のペアを第２カリング処理部１２４へ対応点候補として出力する。一般に、誤って対応付けられた対応点はマッチングスコアが絶対的にあまり高くないため、この第１カリング処理により、対応点候補に占める正しい対応点（インライア）の割合を高めることが可能になる。
【００４６】
第２カリング処理部１２４は、前記第１カリング処理を経た対応点候補を対象に、前記カメラ視線推定装置１４により与えられるカメラ視線に基づいて第２カリング処理を行い、第２カリング処理後の対応点候補を対応点として出力する。具体的には、第１カリング処理後の対応点候補のうち、特徴点Pmの法線がカメラ１０に対して正面を向いている対応点、すなわち観察対象２から検出された特徴点Pmの法線と前記カメラ画像Icaの視線Pcとを比較し、角度差θが閾値θref（角度閾値）を下回る対応点候補のみを対応点として出力する。
【００４７】
図３は、前記第２カリング処理部１２４の機能を説明するための図であり、一般に、三次元物体表面上の点の周囲の領域のカメラ画像への映り方（投影）は、カメラの焦点から三次元物体表面の点への直線（視線）に対する表面の法線の角度差θが大きくなるほど変形が大きくなってマッチング精度が悪くなる。そして、角度差θが直角を超えるとその点（及びその周囲の局所領域）は、カメラ画像に映らなくなってマッチングが不可能になる。
【００４８】
つまり、外部からカメラ視線に関する情報を得ることで三次元座標のマッチング精度を予測することが可能になる。したがって、第２カリング処理を行うことで、精度が悪いと推測される対応点候補を除外し、対応点中のインライアの割合を高めることが可能になる。
【００４９】
ここで、観察対象２が直方体のように平面で構成されるか、あるいは平面を含む形状を持つ場合、カメラ画像Icaの視線と特徴点Pmの法線との角度差θは、各特徴点が同一平面上にある場合には同じような値を取ることが予想される。そこで、第２カリング処理部１２４は、視線と各特徴点の法線とのなす角度を計算する際に、観察対象２を構成する平面（ポリゴン）の中心の法線とカメラ画像の視線との角度差θを計算し、これをポリゴン上の全ての特徴点Pmの法線との角度差θとして扱うことで計算コストを削減できる。たとえば、対象物が直方体（６面体）で対応点に含まれる三次元座標が１００点あった場合、この処理によって１００回の角度計算が６回の角度計算で済むことになる。
【００５０】
なお、上記の実施形態では、第２カリング処理部１２４に設定される角度差θの閾値θrefが一つであるものとして説明したが、本発明はこれのみに限定されるものではなく、カメラ１０が観察対象２を見込む角度や、観察対象２の特徴点Pmごとに異なる閾値θrefを設定するようにしても良い。
【００５１】
すなわち、観察対象２が例えば地球儀であると、一の角度から見込んだ場合には海洋領域が大部分を占める一方、他の一の角度から見込んだ場合には陸地領域が大部分を占めるといったように、角度によって観察対象２のテクスチャ傾向が大きく異なる場合がある。このような場合には、前記法線と視線との角度差に対するマッチング精度も大きく変化するので、観察対象２を見込む角度に応じて閾値θrefを可変としても良い。
【００５２】
同様の観点から、前記法線と視線との角度差に対するマッチング精度は特徴点のテクスチャにも大きく依存し、視線方向の変化に対する局所特徴情報の変化が大きなテクスチャ部分と小さなテクスチャ部分とが存在する場合がある。したがって、局所特徴情報が視線に頑健な特徴点に対しては、それ以外の特徴点よりも閾値θrefを大きく設定するようにしても良い。
【００５３】
図４は、上記のように閾値θrefを動的に設定する方法を示した図であり、縦軸はマッチング精度（％）を表し、横軸は法線と視線との角度差（θ）を表している。
【００５４】
閾値θrefを特徴点ごとに、すなわち観察対象２から検出された特徴点Pmの三次元座標ごとに設定するのであれば、観察対象２を様々な角度で撮影したテスト画像に対してマッチングを行うことで、特徴点の三次元座標xごとにマッチング精度と角度差θとの関係をプロットする。そして、三次元座標xごとに各プロットを結ぶ曲線と目標精度との交点に対応した閾値θrefx (θref1，θref2…)を求め、当該特徴点を含むペアに関しては、その三次元座標xに対応した閾値θrefxを用いて第２カリング処理を行えば良い。
【００５５】
その際、評価用のテスト画像が観察対象２の３Ｄモデルを用いて人工的に作り出しても良い。テスト画像を３Ｄレンダリングで人工的に作成する場合、設定したカメラパラメータが既知であるために、前記法線と視線との角度差を正確に求められるので、各閾値θrefxを正確に算出できるようになる。
【００５６】
なお、前記各プロットを結ぶ曲線と目標精度との交点を求める際、テスト画像の数が少ない場合にプロットが摂動し、交点の位置が安定しない場合がある。そのような場合には、設定した精度近傍のプロットを構成する点群から直線回帰によってプロットを近似する直線を計算し、近似直線と目標精度との交点を計算するようにしても良い。
【００５７】
閾値θrefとマッチング精度の関係については、角度差θの閾値を小さく設定することで、正面近くから撮影された特徴点のみを残すようにすれば精度は高くなる。しかしながら、インライアの対応点もカリングする可能性があるため、出力する対応点に含まれるインライアの割合が増える代わりに絶対数が減る。インライアの絶対数がある程度ある場合は割合が高くなることで後段のカメラ姿勢算出の処理が高速になるが、インライアの絶対数が少なくなるとカメラ姿勢の算出自体が行えなくなる。
【００５８】
そこで、第２カリング処理部１２４は、カメラ姿勢算出部１２ａからカメラ姿勢の算出に用いたインライアの絶対数のフィードバックを受け取って閾値を調節しても良い。
【００５９】
一般に、カメラ姿勢の算出は４組未満の対応点からは行えず、安定した算出結果を得るためには、少なくとも８〜１０組の対応点が必要である。そこで、第２カリング処理部１２４は、フレーム毎に対応点の絶対数を評価し、一定数以下（例えば１０）になった場合には閾値θrefを緩和する（大きくする）ことで、カメラ姿勢算出の安定性を確保することができる。
【００６０】
また、閾値とマッチング精度との関係は、第１カリング処理部１２３で用いた閾値によっても変わるため、第２カリング処理部１２４は、第１カリング処理部１２３で設定した閾値に応じて自身の角度閾値θrefを調節しても良い。
【００６１】
具体的には、角度とマッチング精度の関係及びそこから計算される角度の閾値を第１カリング処理部１２３で設定した閾値別に記録し、角度の閾値の設定は第１カリング処理部１２３で設定した閾値に応じて行う。
【００６２】
[第２実施形態]
図５は、本発明の第２実施形態に係る特徴点識別部１２ｂの構成を示したブロック図であり、前記と同一の符号は同一または同等部分を表している。本実施形態は、図２を参照して説明した第１実施形態の特徴点識別部１２ｂとの比較において、第２カリング処理部１２４が省略され、その代わりにマスク生成部１２６が追加されている点に特徴がある。
【００６３】
前記マスク生成部１２６は、前記カメラ視線推定装置１４により推定されたカメラ視線と、観察対象２から検出された特徴点Pmの三次元座標ごとに検出・登録されている法線との角度差θを全て計算する。そして、角度差θが所定の閾値θrefを超える三次元座標に関しては「１」、閾値θrefを超えない三次元座標に関しては「０」となる、観察対象２の特徴点数を長さとする２値配列のマスクを生成する。
【００６４】
マッチング部１２２では、観察対象２の各特徴点Pmとカメラ画像Icaの各特徴点Pcとの間で対応点マッチングを行う際、予め観察対象２の各特徴点Pmに、その三次元座標に対応したマスク値を適用することで、各特徴点Pmをマッチング対象に含めるか否かが決定される。
【００６５】
すなわち、「１」のマスク値に対応した特徴点Pmはマッチング候補から外され、「０」のマスク値に対応した特徴点Pmはマッチング候補とされる。したがって、マスク値が全て「０」の配列であればマスク処理は全く行わないことになる。
【００６６】
前記第１カリング処理部１２３は、マスクされていない特徴点Pmから抽出されたパッチ画像と前記各特徴点Pcから抽出されたパッチ画像との間でのみ対応点マッチングを実施し、マッチングスコアが所定の閾値を超える組合せを対応点として出力する。
【００６７】
本実施形態のように、第２カリング処理に代えてマスク処理を採用すれば、第２カリング処理を実施する場合と比較して、より多くの対応点を取得できる可能性がある。
図６は、マスク処理によって対応点の数を増やすことができる場合を示した図である。カメラ画像Icaから特徴点Pcが検出され、前記マッチング部１２２によって三次元座標との対応付けが実施された結果、前記特徴点Pcが本来であれば対応すべき特徴点Pm2と類似した模様を持つ特徴点Pm1が存在し、誤った対応Pc‐Pm1間のマッチングスコアが全ての特徴点Pm中で最も高く、正しい対応Pc−Pm2間のマッチングスコアが２番目となっている。
【００６８】
前記第１実施形態であれば、前記第２カリング処理が実施されることにより、まずマッチング部１２２によって特徴点Pcは最もマッチングスコアの高い特徴点Pm1の三次元座標とマッチングされて第１対応点を構成する。第１対応点のマッチングスコアはスコア閾値を満たすので第１カリング処理を通過し、次に第２カリング処理によって角度の評価が実施される。ここでは、第１対応点の角度（１０５°）は角度閾値（７０°）を満たさないため、第１対応点は対応点から除外され、カリング処理後の対応点中にPcは含まれなくなる。
【００６９】
これに対して、本実施形態のように、前記第２カリング処理に代えてマスク処理を初めに行う場合、特徴点Pm1はマスクされ、特徴点Pcはマスクされていない三次元座標の中で最もマッチングスコアの高い特徴点Pm2とマッチングされて第２対応点を構成する。そして、第２対応点のスコア（８点）および角度（０°）は、それぞれスコア閾値（７点）および角度閾値（７０°）を共に満たすため、カリング処理後の対応点には特徴点Pcが含まれる。
【００７０】
以上より、マスク処理を行う場合は第２カリング処理を行う場合と比較して、より多くの対応点を取得できるため、正しい対応点の数が増加することが期待される。しかし一方で、誤った対応点が増加する可能性もあり、一般に対応点の数と精度のトレードオフが存在する。
【００７１】
なお、上記の実施形態ではマスク値が２値あるものとして説明したが、本発明はこれのみに限定されるものではなく、前記角度差θの大きさに応じて、例えば角度差θが小さいほど大きな値となる３値以上の多値を採用しても良い。マッチング部１２２では、このマスク値を重み値として利用し、マッチングスコアをマスク値が大きいほど増補正し、マスク値が小さいほど減補正する。このようにすれば、角度差θが大きい組合せであっても、マッチングスコアが十分に高ければ対応点とされるので、柔軟なカリング処理が可能になる。
【００７２】
図７は、本発明の第３および第４実施形態が適用されるARシステム１の構成を示したブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。図１の構成と比較すると、カメラ視線推定装置１４が省略され、これと同等の機能が特徴点識別部１２ｂに実装されている点に特徴がある。
【００７３】
[第３実施形態]
図８は、本発明の第３実施形態の主要部の構成を示した機能ブロック図であり、前記特徴点識別部１２ｂの構成を示している。本実施形態は、特徴点検出部１２１からカメラ画像の各特徴点の局所特徴情報を取得し、当該局所特徴情報とカメラ画像の視線（カメラ視線）との対応付けを行うカメラ視線推定部１２５を、前記カメラ視線推定装置１４に代えて設けた点に特徴がある。
【００７４】
前記カメラ視線推定部１２５は、前記マッチング部１２２と同様にFerns分類器を利用してカメラ視線を推定する。ここでは、推定の対象が三次元座標ではなくカメラ視線となるため、Ferns分類器の各リーフノードには、観察対象２を様々な視線で均等に分割して投影した多数の二次元画像から検出された各特徴点Pmの各局所特徴情報および視線を学習し、任意の局所特徴情報に対してカメラ視線の確率密度を与える確率密度が予め保持されている。
【００７５】
ランタイム時には、カメラ画像の各特徴点Pcから切り出したパッチ画像を前記分類器に適用することでパッチ画像をカメラ視線に分類し、最も多く分類されたカメラ視線が、前記パッチ画像に関する最終的なカメラ視線の推定結果として第２カリング処理部１２４へ出力される。
【００７６】
この際、視線推定部１２５は、視線推定のための分類器の決定規則をマッチング部１２２と共用することで、視線推定に必要なデータサイズを抑えることができる。その場合、視線推定部１２５およびマッチング部１２２は、２種類のクラスおよび確率密度と、１種類の決定木群とを持つ分類器を使用することになる。
【００７７】
本実施形態によれば、方位センサやGPS機能等を備えていない情報端末においても、カメラ視線を高い確度で推定できるので、局所特徴情報間のマッチングスコアのみならず、観察対象の向き（特徴点の法線）と当該観察対象を撮影したカメラの向き（カメラ視線）との角度差も考慮した特徴点検出が可能になる。
【００７８】
[第４実施形態]
図９は、本発明の第４実施形態の主要部の構成を示した機能ブロック図であり、前記特徴点識別部１２ｂの構成を示している。本実施形態は、前記視線推定部１２５により推定された視線情報に基づいて対応点マッチング用のマスクを作成し、これをマッチング部１２２に提供するマスク生成部１２６を設けた点に特徴がある。
【符号の説明】
【００７９】
１…ARシステム，２…観察対象，１０…撮像装置，１２…カメラ姿勢推定装置，１２ａ…カメラ姿勢算出部，１２ｂ…特徴点識別部，１３…付加情報データベース，１４…カメラ視線推定装置
【図１】
2014032623.tif 000003
【図２】
2014032623.tif 000004
【図３】
2014032623.tif 000005
【図４】
2014032623.tif 000006
【図５】
2014032623.tif 000007
【図６】
2014032623.tif 000008
【図７】
2014032623.tif 000009
【図８】
2014032623.tif 000010
【図９】
2014032623.tif 000011