(57)【要約】【課題】計算負荷の増加およびデータベースの増大を抑制しつつ、カメラ姿勢の推定の安定性を向上させること。【解決手段】対象物を撮影した撮像装置のカメラ姿勢を推定するカメラ姿勢推定装置１は、特徴点検出部１１、マッチング部１２、およびカメラ姿勢算出部１３を備える。特徴点検出部１１は、対象物の特徴点を検出し、カメラ姿勢算出部１３は、対象物に対する撮像装置の相対的な姿勢を算出する。マッチング部１２は、対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際の撮像装置の位置と、に基づいて選抜するとともに、特徴点検出手段により求められた特徴点に対応する局所特徴量を用いて、候補の中から特徴点と対応付ける対応点を決定する。【選択図】図２
2014164483.tif 000002
【特許請求の範囲】
【請求項１】
観察対象を撮影したカメラの姿勢を推定するためのデータベース生成装置であって、
前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める特徴点検出手段と、
前記特徴点検出手段により求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段に登録する学習手段と、を備えることを特徴とするデータベース生成装置。
【請求項２】
前記学習手段は、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲を複数の視点クラスに分割し、前記対応点となり得る候補の中から、前記特徴点検出手段により検出される可能性の高い特徴点に対応するものを、当該視点クラスごとに予め定められた数ずつ選抜することを特徴とする請求項１に記載のデータベース生成装置。
【請求項３】
前記学習手段は、前記観察対象の周囲から、当該観察対象を撮影する際に前記カメラを配置不可能な範囲と、当該観察対象を撮影する際に前記カメラが配置される可能性の低い範囲と、を除外して、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲とすることを特徴とする請求項２に記載のデータベース生成装置。
【請求項４】
前記学習手段は、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲を、当該観察対象に対する当該カメラの方向と、当該観察対象と当該カメラとの距離と、の少なくともいずれかに基づいて、前記複数の視点クラスに分割することを特徴とする請求項２または３に記載のデータベース生成装置。
【請求項５】
前記学習手段は、各視点クラスにおける再現性を評価し、各視点クラスにおいて再現性の高い座標を予め定められた数ずつ求めて、前記対応点となり得る候補を選抜することを特徴とする請求項２から４のいずれかに記載のデータベース生成装置。
【請求項６】
前記学習手段は、
前記対応点となり得る候補を選抜したもののうち、前記記憶手段に登録されていないものであって、再現性の最も高いものを、前記視点クラスごとに１点ずつ当該記憶手段に登録する登録手順と、
前記記憶手段に登録した対応点候補の数が予め定められた規定数に達するまで、前記登録手順を繰り返す繰り返し手順と、を行うことを特徴とする請求項５に記載のデータベース生成装置。
【請求項７】
前記学習手段は、各視点クラスの優先度に応じて、前記規定数に対して視点クラスごとに重みづけを行うことを特徴とする請求項６に記載のデータベース生成装置。
【請求項８】
観察対象を撮影したカメラの姿勢を推定するカメラ姿勢推定装置であって、
前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める特徴点検出手段と、
前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求めるマッチング手段と、
前記特徴点検出手段により検出された前記特徴点の２次元座標と、前記マッチング手段により求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出するカメラ姿勢算出手段と、を備え、
前記マッチング手段は、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、
前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであることを特徴とするカメラ姿勢推定装置。
【請求項９】
前記マッチング手段は、前記記憶手段に登録された対応点候補の中から、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量に対して最も類似するものを選択し、当該特徴点と対応付ける対応点とすることを特徴とする請求項８に記載のカメラ姿勢推定装置。
【請求項１０】
前記記憶手段には、前記特徴点に対応する局所特徴量を前記対応点候補のいずれかに分類する分類器を学習した結果が登録され、
前記マッチング手段は、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を前記分類器に入力し、前記記憶手段に登録された前記対応点候補のそれぞれに対する尤度を求め、最も尤度の高い対応点候補を選択し、当該特徴点と対応付ける対応点とすることを特徴とする請求項８に記載のカメラ姿勢推定装置。
【請求項１１】
前記マッチング手段は、前記対応点候補の前記記憶手段への登録と、前記分類器の学習と、を同時に行うことを特徴とする請求項１０に記載のカメラ姿勢推定装置。
【請求項１２】
特徴点検出手段および学習手段を備え、観察対象を撮影したカメラの姿勢を推定するためのデータベース生成装置におけるデータベース生成方法であって、
前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、
前記学習手段が、前記第１のステップにおいて求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段に登録する第２のステップと、を備えることを特徴とするデータベース生成方法。
【請求項１３】
特徴点検出手段、マッチング手段、およびカメラ姿勢算出手段を備え、観察対象を撮影したカメラの姿勢を推定するカメラ姿勢推定装置におけるカメラ姿勢推定方法であって、
前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、
前記マッチング手段が、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求める第２のステップと、
前記カメラ姿勢算出手段が、前記第１のステップにおいて検出された前記特徴点の２次元座標と、前記第２のステップにおいて求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出する第３のステップと、を備え、
前記第２のステップでは、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、
前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであることを特徴とするカメラ姿勢推定方法。
【請求項１４】
特徴点検出手段および学習手段を備え、観察対象を撮影したカメラの姿勢を推定するためのデータベース生成装置におけるデータベース生成方法を、コンピュータに実行させるためのプログラムであって、
前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、
前記学習手段が、前記第１のステップにおいて求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段に登録する第２のステップと、をコンピュータに実行させるためのプログラム。
【請求項１５】
特徴点検出手段、マッチング手段、およびカメラ姿勢算出手段を備え、観察対象を撮影したカメラの姿勢を推定するカメラ姿勢推定装置におけるカメラ姿勢推定方法を、コンピュータに実行させるためのプログラムであって、
前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、
前記マッチング手段が、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求める第２のステップと、
前記カメラ姿勢算出手段が、前記第１のステップにおいて検出された前記特徴点の２次元座標と、前記第２のステップにおいて求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出する第３のステップと、をコンピュータに実行させ、
前記第２のステップでは、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、
前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像内の対象物に対するカメラ姿勢を推定するためのデータベース生成装置、カメラ姿勢推定装置、データベース生成方法、カメラ姿勢推定方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、現実空間の映像に対してコンピュータにより情報を付加するＡＲ（拡張現実感）技術が提案されており、近年では、このＡＲ技術は、ＷＥＢカメラの接続されたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、カメラ付き携帯電話端末などで実現されるようになっている。
【０００３】
ＡＲ技術においては、カメラで撮影した入力画像内の対象物に対するカメラ姿勢を推定する必要がある。カメラ姿勢とは、対象物に対するカメラの相対的な位置および方向の情報を含んで構成されるもののことである。このカメラ姿勢の推定には、例えば、センサを用いる手法や、基準マーカを用いる手法が適用される。また、上述の対象物としては、形状や画像情報が既知である３次元物体が想定されている（例えば、特許文献１や非特許文献１、２参照）。
【０００４】
特許文献１には、３次元物体を複数の視点から撮影した記憶画像を予め用意しておき、入力画像と記憶画像との間で特徴点マッチングを行い、入力画像に最も類似する記憶画像（視点）を特定する技術が開示されている。この技術によれば、特定した記憶画像と入力画像との間で対応点を取得することで、カメラ姿勢を算出することができる。
【０００５】
また、非特許文献１には、特徴点のクラス分類により、対象物に対する視点の候補に特徴点を分類することで、視点を特定する技術が開示されている。
【０００６】
また、非特許文献２には、対象物の３次元モデル上の点（３次元座標）に特徴点を直接分類することで、対応点を取得し、カメラ姿勢を算出する手法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−８３８５５号公報
【非特許文献】
【０００８】
【非特許文献１】平井  悠貴,  鈴木  覚,  藤吉  弘亘,  "２段階のRandomized  Treesによる高速３次元物体認識",  画像センシングシンポジウム,  IS1-15,  2011.
【非特許文献２】小林  達也,  加藤  晴久,  米山  暁夫,  "三次元物体の姿勢検出における２Ｄ−３Ｄマッチング手法",  第１１回情報科学技術フォーラム，H-034，2012．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１や非特許文献１に開示されている技術では、大まかな視点を特定する処理と、特定した視点に応じた画像と入力画像との間で対応点を取得する処理と、の２段階の処理を行う必要がある。このため、計算負荷が増加してしまうという課題があった。
【００１０】
また、特許文献１や非特許文献１に開示されている技術では、３次元物体を複数の視点から撮影した画像のそれぞれについて、予め、特徴点や局所特徴量などをデータベースに登録しておく必要がある。このため、画像を記憶するデータベースが増大してしまうという課題があった。
【００１１】
また、特許文献１や非特許文献１に開示されている技術では、上述のように３次元物体を複数の視点から撮影するに際して、予め撮影する視点に偏りがある場合や、予め撮影する視点の数が少ない場合に、カメラ姿勢の推定精度の悪い視点が存在してしまう。このため、カメラ姿勢の推定精度に偏りが生じてしまい、カメラ姿勢の推定の安定性が損なわれてしまうおそれがあるという課題があった。
【００１２】
一方、非特許文献２に開示されている技術では、対象物の模様が均一でない場合に、データベースに予め記憶させる３次元座標の配置に偏りが生じてしまう場合がある。この場合、カメラ姿勢の推定精度に偏りが生じてしまい、カメラ姿勢の推定の安定性が損なわれてしまうという課題があった。
【００１３】
そこで、本発明は、上述の課題に鑑みてなされたものであり、計算負荷の増加およびデータベースの増大を抑制しつつ、カメラ姿勢の推定の安定性を向上させることを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記の課題を解決するために、以下の事項を提案している。
（１）  本発明は、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するためのデータベース生成装置であって、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める特徴点検出手段（例えば、図２の特徴点検出部１１に相当）と、記特徴点検出手段により求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段に登録する学習手段（例えば、図２の学習部１２１に相当）と、を備えることを特徴とするデータベース生成装置を提案している。
【００１５】
この発明によれば、観察対象を撮影したカメラの姿勢を推定するためのデータベース生成装置に、特徴点検出手段および学習手段を設けた。そして、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、学習手段により、特徴点と対応付ける対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜して、対応点候補として局所特徴量とともに記憶手段に登録することとした。
【００１６】
このため、対応点候補の中から対応点を決定することで、特許文献１や非特許文献１に開示されている技術では必要であった、大まかな視点を特定する処理が、不要になる。したがって、計算負荷の増加を抑制することができる。
【００１７】
また、記憶手段への登録を、対応点となり得る候補の全てについて行うのではなく、これら候補を選抜したものについて行う。したがって、データベースの増大を抑制できる。
【００１８】
また、対応点となり得る候補の選抜に、これら候補の座標を用いるので、登録する候補の配置が偏ってしまうのを防止できる。また、対応点となり得る候補の選抜に、これら候補のそれぞれに対応する特徴点が検出された入力画像を撮影した際のカメラの位置を用いるので、登録する候補が、特定の視点から特徴点として検出されるものに偏ってしまうのを防止できる。以上によれば、特徴点検出手段により検出される可能性の高い特徴点に対応するものを、配置や視点によらず均一に、対応点候補として局所特徴量とともに記憶手段に登録することができる。このため、カメラ姿勢の推定精度に偏りが生じてしまうのを防止して、カメラ姿勢の推定の安定性を向上させることができる。
【００１９】
（２）  本発明は、（１）のデータベース生成装置について、前記学習手段は、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲を複数の視点クラスに分割し、前記対応点となり得る候補の中から、前記特徴点検出手段により検出される可能性の高い特徴点に対応するものを、当該視点クラスごとに予め定められた数ずつ選抜することを特徴とするデータベース生成装置を提案している。
【００２０】
この発明によれば、（１）のデータベース生成装置において、学習手段により、観察対象を撮影する際にカメラが配置される可能性のある範囲を複数の視点クラスに分割し、対応点となり得る候補の中から、特徴点検出手段により検出される可能性の高い特徴点に対応するものを、視点クラスごとに予め定められた数ずつ選抜することとした。このため、対応点候補が、特定の視点から特徴点として検出されるものに偏ってしまうのを防止できる。したがって、カメラ姿勢の推定精度に偏りが生じてしまうのを防止して、カメラ姿勢の推定の安定性を向上させることができる。
【００２１】
（３）  本発明は、（２）のデータベース生成装置について、前記学習手段は、前記観察対象の周囲から、当該観察対象を撮影する際に前記カメラを配置不可能な範囲と、当該観察対象を撮影する際に前記カメラが配置される可能性の低い範囲と、を除外して、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲とすることを特徴とするデータベース生成装置を提案している。
【００２２】
この発明によれば、（２）のデータベース生成装置において、学習手段により、観察対象の周囲から、観察対象を撮影する際にカメラを配置不可能な範囲と、観察対象を撮影する際にカメラが配置される可能性の低い範囲と、を除外して、観察対象を撮影する際にカメラが配置される可能性のある範囲とすることとした。このため、カメラが配置され得る範囲から特徴点として検出することのできる位置にのみ、対応点候補を配置することができる。したがって、データベースの増大を抑制しつつ、カメラ姿勢の推定の安定性を向上させることができる。
【００２３】
（４）  本発明は、（２）または（３）のデータベース生成装置について、前記学習手段は、前記観察対象を撮影する際に前記カメラが配置される可能性のある範囲を、当該観察対象に対する当該カメラの方向と、当該観察対象と当該カメラとの距離と、の少なくともいずれかに基づいて、前記複数の視点クラスに分割することを特徴とするデータベース生成装置を提案している。
【００２４】
この発明によれば、（２）または（３）のデータベース生成装置において、学習手段により、観察対象を撮影する際にカメラが配置される可能性のある範囲を、観察対象に対するカメラの方向と、観察対象とカメラとの距離と、の少なくともいずれかに基づいて、複数の視点クラスに分割することとした。このため、観察対象を撮影する際にカメラが配置される可能性のある範囲を、複数の視点クラスに適切に分割して、カメラ姿勢の推定の安定性を向上させることができる。
【００２５】
（５）  本発明は、（２）〜（４）のいずれかのデータベース生成装置について、前記学習手段は、各視点クラスにおける再現性を評価し、各視点クラスにおいて再現性の高い座標を予め定められた数ずつ求めて、前記対応点となり得る候補を選抜することを特徴とするデータベース生成装置を提案している。
【００２６】
この発明によれば、（２）〜（４）のいずれかのデータベース生成装置において、学習手段により、各視点クラスにおける再現性を評価し、各視点クラスにおいて再現性の高い座標を予め定められた数ずつ求めて、対応点となり得る候補を選抜することとした。このため、特徴点検出手段により検出される可能性の高い特徴点に対応するものを対応点候補とすることができるとともに、対応点候補が、観察対象を撮影する際にカメラが配置される可能性のある範囲のうち特定の範囲から特徴点として検出されるものに偏ってしまうのを防止できる。したがって、カメラ姿勢の推定の安定性を向上させることができる。
【００２７】
（６）  本発明は、（５）のデータベース生成装置について、前記学習手段は、前記対応点となり得る候補を選抜したもののうち、前記記憶手段に登録されていないものであって、再現性の最も高いものを、前記視点クラスごとに１点ずつ当該記憶手段に登録する登録手順と、前記記憶手段に登録した対応点候補の数が予め定められた規定数に達するまで、前記登録手順を繰り返す繰り返し手順と、を行うことを特徴とするデータベース生成装置を提案している。
【００２８】
ここで、例えば、対応点となり得る候補を選抜したもののうち同一のものを、第１の視点クラスにおいても、第２の視点クラスにおいても、記憶手段に登録した場合について、以下に検討する。この場合、記憶手段に登録される対応点候補の種類が少なくなるので、その結果、カメラ姿勢の推定の安定性が損なわれてしまうおそれがある。
【００２９】
そこで、この発明によれば、（５）のデータベース生成装置において、学習手段により、対応点となり得る候補を選抜したもののうち、記憶手段に登録されていないものであって、再現性の最も高いものを、視点クラスごとに１点ずつ記憶手段に登録することとした。このため、対応点となり得る候補を選抜したもののうち同一のものが、複数の視点クラスにおいて記憶手段に登録されてしまうのを防止できるので、カメラ姿勢の安定性を向上させることができる。
【００３０】
また、例えば、対応点となり得る候補を選抜したもののうち、記憶手段に登録されていないものであって、再現性の最も高いものを、視点クラスごとに一度に５つずつ記憶手段に登録した場合について、以下に検討する。なお、視点クラスとしては、第１の視点クラスと、第２の視点クラスと、の２つの視点クラスを想定し、第１の視点クラス、第２の視点クラスの順番に登録するものとする。また、第１の視点クラスにおいて再現性の高い上位５つの３次元座標の中に、第２の視点クラスにおいて再現性の高い上位５つの３次元座標のうちの２つが含まれているものとする。さらに、第２の視点クラスにおいて１〜７番目に再現性の高い３次元座標のうち、第１の視点クラスと重複しない５点の３次元座標については、第１の視点クラスにおいて低い再現性を持つ（または幾何的に観察されない）ものとする。
【００３１】
この場合、第１の視点クラスにおいては、再現性の高い上位５つの３次元座標が全て登録される。一方、第２の視点クラスにおいては、再現性の高い上位５つの３次元座標のうちの２つが既に登録されているため、再現性の高い上位５つの３次元座標のうちこれら２つを除くものと、６番目に再現性の高い３次元座標と、７番目に再現性の高い３次元座標と、が登録される。以上によれば、記憶手段に登録される３次元座標は１０点になり、これら１０点のうち、第１の視点クラスにおいて再現性の高い３次元座標は５点になるのに対して、第２の視点クラスにおいて再現性の高い３次元座標は７点になる。
【００３２】
以上のように、再現性の最も高いものを視点クラスごとに一度に複数個ずつ記憶手段に登録する場合には、記憶手段への登録を行う順番が遅い視点クラスほど、その視点クラスにおいて再現性の高い３次元座標が記憶手段に登録される数が多くなる可能性がある。このため、記憶手段への登録を行う順番が早い視点クラスほど、カメラ姿勢の推定精度が悪くなってしまう場合があり、カメラ姿勢の推定精度に偏りが生じてしまい、カメラ姿勢の推定の安定性が損なわれてしまうおそれがある。
【００３３】
そこで、この発明によれば、（５）のデータベース生成装置において、対応点となり得る候補を選抜したもののうち、記憶手段に登録されていないものであって、再現性の最も高いものを、視点クラスごとに１点ずつ記憶手段に登録する登録手順を、記憶手段に登録した対応点候補の数が予め定められた規定数に達するまで繰り返すこととした。このため、視点クラスごとに、再現性の高い座標が記憶手段に登録される数が異なってしまうのを、抑制することができる。したがって、対応点候補の全てにおける視点に対する再現性を平滑化することができ、対応点候補が、観察対象を撮影する際にカメラが配置される可能性のある範囲のうち特定の範囲から特徴点として検出されるものに偏ってしまうのを防止でき、カメラ姿勢の推定の安定性を向上させることができる。
【００３４】
（７）  本発明は、（６）のデータベース生成装置について、前記学習手段は、各視点クラスの優先度に応じて、前記規定数に対して視点クラスごとに重みづけを行うことを特徴とするデータベース生成装置を提案している。
【００３５】
この発明によれば、（６）のデータベース生成装置において、学習手段により、各視点クラスの優先度に応じて、上述の規定数に対して視点クラスごとに重みづけを行うこととした。このため、カメラが配置される可能性の高い範囲から特徴点として検出される点を、カメラが配置される可能性の低い範囲から特徴点として検出される点よりも多く、対応点候補として登録することができる。したがって、データベースの増大を抑制しつつ、カメラ姿勢の推定の安定性を向上させることができる。
【００３６】
（８）  本発明は、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するカメラ姿勢推定装置であって、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める特徴点検出手段（例えば、図２の特徴点検出部１１に相当）と、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求めるマッチング手段（例えば、図２のマッチング部１２に相当）と、前記特徴点検出手段により検出された前記特徴点の２次元座標と、前記マッチング手段により求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出するカメラ姿勢算出手段（例えば、図２のカメラ姿勢算出部１３に相当）と、を備え、前記マッチング手段は、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を用いて、記憶手段（例えば、図２のデータベース１２２に相当）に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであることを特徴とするカメラ姿勢推定装置を提案している。
【００３７】
この発明によれば、観察対象を撮影したカメラの姿勢を推定するカメラ姿勢推定装置に、特徴点検出手段、マッチング手段、およびカメラ姿勢算出手段を設けた。そして、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、マッチング手段により、特徴点検出手段により求められた特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、特徴点と対応付ける対応点を決定することとした。ここで、記憶手段に登録された対応点候補とは、対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜したもののことである。また、カメラ姿勢算出手段により、特徴点検出手段により検出された特徴点の２次元座標と、マッチング手段により求められた対応点の座標と、に基づいて、観察対象に対するカメラの相対的な姿勢を算出することとした。
【００３８】
このため、特許文献１や非特許文献１に開示されている技術では必要であった、大まかな視点を特定する処理が、不要になる。したがって、計算負荷の増加を抑制することができる。
【００３９】
また、記憶手段に登録されるのは、対応点となり得る候補の全てではなく、これら候補を選抜したものである。このため、データベースの増大を抑制できる。
【００４０】
また、対応点となり得る候補の選抜に、これら候補の座標が用いられるので、登録される候補の配置が偏ってしまうのを防止できる。また、対応点となり得る候補の選抜に、これら候補のそれぞれに対応する特徴点が検出された入力画像を撮影した際のカメラの位置が用いられるので、登録される候補が、特定の視点から特徴点として検出されるものに偏ってしまうのを防止できる。以上によれば、特徴点検出手段により検出される可能性の高い特徴点に対応するものが、配置や視点によらず均一に、対応点候補として記憶手段に登録されることになる。このため、カメラ姿勢の推定精度に偏りが生じてしまうのを防止して、カメラ姿勢の推定の安定性を向上させることができる。
【００４１】
（９）  本発明は、（８）のカメラ姿勢推定装置について、前記マッチング手段は、前記記憶手段に登録された対応点候補の中から、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量に対して最も類似するものを選択し、当該特徴点と対応付ける対応点とすることを特徴とするカメラ姿勢推定装置を提案している。
【００４２】
この発明によれば、（８）のカメラ姿勢推定装置において、マッチング手段により、記憶手段に登録された対応点候補の中から、特徴点検出手段により求められた特徴点に対応する局所特徴量に対して最も類似するものを選択し、特徴点と対応付ける対応点とすることとした。このため、特徴点を適切な対応点と対応付けることができ、カメラ姿勢の推定精度を向上させることができる。
【００４３】
（１０）  本発明は、（８）のカメラ姿勢推定装置について、前記記憶手段には、前記特徴点に対応する局所特徴量を前記対応点候補のいずれかに分類する分類器を学習した結果が登録され、前記マッチング手段は、前記特徴点検出手段により求められた前記特徴点に対応する局所特徴量を前記分類器に入力し、前記記憶手段に登録された前記対応点候補のそれぞれに対する尤度を求め、最も尤度の高い対応点候補を選択し、当該特徴点と対応付ける対応点とすることを特徴とするカメラ姿勢推定装置を提案している。
【００４４】
ここで、分類器を用いない場合には、特徴点検出手段により求められた特徴点に対応する対応点を、毎回、全ての対応点候補の中から探す必要があるため、対応点の探索時間が長くなってしまう。
【００４５】
そこで、この発明によれば、（８）のカメラ姿勢推定装置において、マッチング手段により、特徴点に対応する局所特徴量を対応点候補のいずれかに分類する分類器を学習し、学習した分類器を記憶手段に登録することとした。また、マッチング手段により、特徴点検出手段により求められた特徴点に対応する局所特徴量を分類器に入力し、記憶手段に登録した対応点候補のそれぞれに対する尤度を求め、最も尤度の高い対応点候補を選択し、特徴点と対応付ける対応点とすることとした。
【００４６】
このため、特徴点検出手段により求められた特徴点に対応する対応点を、毎回、全ての対応点候補の中から探す必要はなくなるので、対応点の探索時間を短縮できる。
【００４７】
また、特徴点検出手段により検出される可能性の高い特徴点に対応するものを選抜できるとともに、特徴点を適切な対応点と対応付けることができ、カメラ姿勢の推定精度を向上させることができる。
【００４８】
（１１）  本発明は、（１０）のカメラ姿勢推定装置について、前記マッチング手段は、前記対応点候補の前記記憶手段への登録と、前記分類器の学習と、を同時に行うことを特徴とするカメラ姿勢推定装置を提案している。
【００４９】
この発明によれば、（１０）のカメラ姿勢推定装置において、マッチング手段により、対応点候補の記憶手段への登録と、分類器の学習と、を同時に行うこととした。これによれば、効率的な学習、具体的には学習時間の短縮を実現できる。
【００５０】
（１２）  本発明は、特徴点検出手段（例えば、図２の特徴点検出部１１に相当）および学習手段（例えば、図２の学習部１２１に相当）を備え、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するためのデータベース生成装置におけるデータベース生成方法であって、前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、前記学習手段が、前記第１のステップにおいて求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段（例えば、図２のデータベース１２２に相当）に登録する第２のステップと、を備えることを特徴とするデータベース生成方法を提案している。
【００５１】
この発明によれば、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、学習手段により、特徴点と対応付ける対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜して、対応点候補として局所特徴量とともに記憶手段に登録することとした。このため、上述した効果と同様の効果を奏することができる。
【００５２】
（１３）  本発明は、特徴点検出手段（例えば、図２の特徴点検出部１１に相当）、マッチング手段（例えば、図２のマッチング部１２に相当）、およびカメラ姿勢算出手段（例えば、図２のカメラ姿勢算出部１３に相当）を備え、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するカメラ姿勢推定装置におけるカメラ姿勢推定方法であって、前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、前記マッチング手段が、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求める第２のステップと、前記カメラ姿勢算出手段が、前記第１のステップにおいて検出された前記特徴点の２次元座標と、前記第２のステップにおいて求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出する第３のステップと、を備え、前記第２のステップでは、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであることを特徴とするカメラ姿勢推定方法を提案している。
【００５３】
この発明によれば、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、マッチング手段により、特徴点検出手段により求められた特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、特徴点と対応付ける対応点を決定することとした。ここで、記憶手段に登録された対応点候補とは、対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜したもののことである。また、カメラ姿勢算出手段により、特徴点検出手段により検出された特徴点の２次元座標と、マッチング手段により求められた対応点の座標と、に基づいて、観察対象に対するカメラの相対的な姿勢を算出することとした。このため、上述した効果と同様の効果を奏することができる。
【００５４】
（１４）  本発明は、特徴点検出手段（例えば、図２の特徴点検出部１１に相当）および学習手段（例えば、図２の学習部１２１に相当）を備え、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するためのデータベース生成装置におけるデータベース生成方法を、コンピュータに実行させるためのプログラムであって、前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、前記学習手段が、前記第１のステップにおいて求められた前記特徴点と対応付ける対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜して、対応点候補として前記局所特徴量とともに記憶手段（例えば、図２のデータベース１２２に相当）に登録する第２のステップと、をコンピュータに実行させるためのプログラムを提案している。
【００５５】
この発明によれば、コンピュータを用いてプログラムを実行することで、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、学習手段により、特徴点と対応付ける対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜して、対応点候補として局所特徴量とともに記憶手段に登録することとした。このため、上述した効果と同様の効果を奏することができる。
【００５６】
（１５）  本発明は、特徴点検出手段（例えば、図２の特徴点検出部１１に相当）、マッチング手段（例えば、図２のマッチング部１２に相当）、およびカメラ姿勢算出手段（例えば、図２のカメラ姿勢算出部１３に相当）を備え、観察対象（例えば、図４の対象物ＡＡに相当）を撮影したカメラ（例えば、図１の撮像装置２に相当）の姿勢を推定するカメラ姿勢推定装置におけるカメラ姿勢推定方法を、コンピュータに実行させるためのプログラムであって、前記特徴点検出手段が、前記観察対象を撮影した入力画像から当該観察対象の特徴点を検出し、当該特徴点に対応する局所特徴量を求める第１のステップと、前記マッチング手段が、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、当該特徴点と対応付ける対応点の座標を求める第２のステップと、前記カメラ姿勢算出手段が、前記第１のステップにおいて検出された前記特徴点の２次元座標と、前記第２のステップにおいて求められた前記対応点の座標と、に基づいて、前記観察対象に対する前記カメラの相対的な姿勢を算出する第３のステップと、をコンピュータに実行させ、前記第２のステップでは、前記第１のステップにおいて求められた前記特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、当該特徴点と対応付ける対応点を決定し、前記記憶手段に登録された対応点候補は、前記対応点となり得る候補を、当該候補の座標と、当該候補に対応する特徴点が検出された入力画像を撮影した際の前記カメラの位置と、に基づいて選抜したものであるプログラムを提案している。
【００５７】
この発明によれば、コンピュータを用いてプログラムを実行することで、特徴点検出手段により、観察対象を撮影した入力画像から観察対象の特徴点を検出し、特徴点に対応する局所特徴量を求めることとした。また、マッチング手段により、特徴点検出手段により求められた特徴点に対応する局所特徴量を用いて、記憶手段に登録された対応点候補の中から、特徴点と対応付ける対応点を決定することとした。ここで、記憶手段に登録された対応点候補とは、対応点となり得る候補を、候補の座標と、候補に対応する特徴点が検出された入力画像を撮影した際のカメラの位置と、に基づいて選抜したもののことである。また、カメラ姿勢算出手段により、特徴点検出手段により検出された特徴点の２次元座標と、マッチング手段により求められた対応点の座標と、に基づいて、観察対象に対するカメラの相対的な姿勢を算出することとした。このため、上述した効果と同様の効果を奏することができる。
【発明の効果】
【００５８】
本発明によれば、計算負荷の増加およびデータベースの増大を抑制しつつ、カメラ姿勢の推定の安定性を向上させることができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係るカメラ姿勢推定装置を備えるＡＲシステムのブロック図である。
【図２】前記カメラ姿勢推定装置のブロック図である。
【図３】前記カメラ姿勢推定装置が備える学習部が行う学習処理のフローチャートである。
【図４】前記学習部による視点クラスの設定について説明するための図である。
【発明を実施するための形態】
【００６０】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の実施形態における構成要素は適宜、既存の構成要素などとの置き換えが可能であり、また、他の既存の構成要素との組み合せを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００６１】
［ＡＲシステム１００の構成および動作］
図１は、本発明の一実施形態に係るカメラ姿勢推定装置１を備えるＡＲシステム１００のブロック図である。ＡＲシステム１００は、カメラ姿勢推定装置１、撮像装置２、表示装置３、および付加情報記憶部４を備える。
【００６２】
撮像装置２は、対象物を撮影して入力画像を生成し、入力画像をカメラ姿勢推定装置１および表示装置３に送信する。この撮像装置２は、ＷＥＢカメラといったカメラ画像を取得できるもので構成され、例えば携帯端末に搭載されているカメラモジュールであってもよい。
【００６３】
なお、対象物は、形状が既知である任意の３次元物体であるものとする。具体的には、対象物は、例えば、直方体形状、円柱形状、球形状などのプリミティブな構造を有する３次元物体であってもよいし、３次元モデルが与えられている場合には複雑な構造を有する３次元物体であってもよい。本実施形態では、対象物は、３次元モデルがカメラ姿勢推定装置１に予め与えられている３次元物体であるものとする。
【００６４】
付加情報記憶部４は、対象物に紐付けられた、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）や２次元画像の情報で構成される付加情報を記憶している。この付加情報記憶部４は、ＰＣや携帯端末に設けられたＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やメモリモジュールなどの記憶装置で構成される。
【００６５】
カメラ姿勢推定装置１は、入力画像内の対象物に対する撮像装置２の相対的なカメラ姿勢を推定し、推定したカメラ姿勢に関するカメラ姿勢情報を表示装置３に送信する。また、ＡＲシステム１００が複数種類の３次元物体を対象物とする場合には、推定したカメラ姿勢に関するカメラ姿勢情報に加えて、これら複数種類の３次元物体のうちどれに対するカメラ姿勢を推定したのかを示す情報も、表示装置３に送信する。カメラ姿勢推定装置１の詳細については、後述する。
【００６６】
表示装置３は、対象物に紐付けられた付加情報を付加情報記憶部４から読み出し、カメラ姿勢推定装置１で推定されたカメラ姿勢に応じて表示位置を補正して、表示する。この表示装置３は、例えば携帯端末のディスプレイや、ヘッドマウントディスプレイ（ＨＭＤ）で構成される。
【００６７】
表示装置３が、携帯端末のディスプレイや、ビデオシースルー型のＨＭＤで構成される場合には、入力画像に付加情報を重畳させて表示する。具体的には、対象物に紐付けられた付加情報を付加情報記憶部４から読み出し、カメラ姿勢推定装置１で推定されたカメラ姿勢に応じて表示位置を決定する。そして、入力画像に対して、読み出した付加情報を決定した表示位置に重畳させ、表示画面に表示する。
【００６８】
また、表示装置３が、透過型のディスプレイや、光学シースルー型のＨＭＤで構成される場合には、付加情報のみを表示する。具体的には、対象物に紐付けられた付加情報を付加情報記憶部４から読み出し、カメラ姿勢推定装置１で推定されたカメラ姿勢に応じて表示位置を決定する。そして、表示画面の決定した表示位置に付加情報を表示して、表示画面を透過してユーザが見ている視界に付加情報を重畳させる。
【００６９】
以上の構成を備えるＡＲシステム１００は、ノートＰＣや携帯電話機、携帯ゲーム機などの携帯端末上で構築することが可能である。例えば対象物が地球儀である場合には、高度を視覚表示するように地表を重畳表示したり、過去の大陸形状を重畳表示したり、国境や国名に変更があった際に更新された情報を重畳表示したり、ジェスチャー認識と組み合わせてユーザが指差した国名を重畳表示したり、といった利用例が想定される。
【００７０】
［カメラ姿勢推定装置１の構成および動作］
図２は、カメラ姿勢推定装置１のブロック図である。カメラ姿勢推定装置１は、特徴点検出部１１、マッチング部１２、およびカメラ姿勢算出部１３を備える。
【００７１】
カメラ姿勢は、撮像装置２の外部パラメータと呼ばれる行列の形で表され、対象物に対する撮像装置２の相対的な位置および方向の情報を含んで構成される。この撮像装置２の外部パラメータと、撮像装置２の内部パラメータと呼ばれる撮像装置２固有の焦点距離および主軸の位置の情報が含まれる行列と、その他光学的歪みのパラメータと、によって画面内の物体の見え方が決定される。本実施形態では、内部パラメータや歪みパラメータは、撮像装置２のカメラキャリブレーションなどによって予め取得され、歪みは取り除かれているものとする。
【００７２】
（特徴点検出部１１の構成および動作）
特徴点検出部１１は、入力画像から対象物の特徴点を検出し、検出した特徴点に対応する局所特徴量をマッチング部１２に送信するとともに、検出した特徴点の２次元座標をカメラ姿勢算出部１３に送信する。
【００７３】
特徴点の検出には、特徴点検出器１１１を用いる。特徴点検出器１１１としては、例えば、Ｈａｒｒｉｓコーナー検出器やＨｅｓｓｉａｎキーポイント検出器などの、２次元座標を特定できるものであれば、あらゆる種類のものを適用できる。本実施形態では、特徴点検出器１１１として、高速な特徴点の検出が可能であるＦＡＳＴ特徴点検出器を適用するものとする。
【００７４】
局所特徴量とは、例えばＳＩＦＴディスクリプタやＳＵＲＦディスクリプタなどの、特徴点を識別するための情報のことである。本実施形態におけるマッチング部１２は、一般的な局所特徴量であれば、あらゆる種類のものを使用できる。本実施形態では、局所特徴量として、非特許文献２に開示されているパッチ画像を用いるものとする。
【００７５】
パッチ画像とは、予め定められた大きさで入力画像から切り出された画像のことであり、本実施形態では、特徴点を中心とした所定の幅および高さ（例えば、幅が３２ピクセル、高さが３２ピクセル）を有する画像のことである。特徴点が大きさ（スケール）の情報も有する場合には、その大きさに応じてパッチ画像の幅および高さを変更することができる。パッチ画像の取得には、一般的な局所特徴量の取得と比較して、非常に高速であるという特徴がある。
【００７６】
（マッチング部１２の構成および動作）
マッチング部１２は、学習部１２１、データベース１２２、および認識部１２３を備えており、学習処理および認識処理の２種類の処理により、対象物の特徴点に対応する局所特徴量に基づいて、特徴点と対応付ける対応点を作成（マッチング）し、対応点の３次元座標をカメラ姿勢算出部１３に送信する。
【００７７】
学習処理は、認識処理が実行されるよりも前の段階において、予め実行される。この学習処理では、学習部１２１が、対応点の候補となる対応点候補をデータベース１２２に登録する。学習部１２１の詳細については、後述する。
【００７８】
認識処理は、カメラ姿勢を推定する際に実行される。この認識処理では、認識部１２３が、特徴点に対応する局所特徴量に対して、最も類似する対応点候補をデータベース１２２の中から選択し、対応点を作成する。認識部１２３の詳細については、後述する。
【００７９】
なお、本実施形態では、対象物は、上述のように３次元物体であるため、対応点候補は、３Ｄモデル上の点である。このため、対応点は、特徴点を意味する入力画像内の２次元座標と、３Ｄモデル上の点を意味する３次元座標と、で構成される２Ｄ−３Ｄ対応点となる。
【００８０】
認識部１２３は、特徴点に対応する局所特徴量に対して、最も類似する対応点候補をデータベース１２２の中から選択して対応点を作成（マッチング）し、対応点の３次元座標をカメラ姿勢算出部１３に送信する。データベース１２２に対応点候補の局所特徴量が登録されている場合には、最も類似する（具体的には、ユークリッド距離やハミング距離が近い）局所特徴量を有する対応点候補とマッチングする。一方、学習処理において後述のように分類器を学習した場合には、学習した分類器に特徴点に対応する局所特徴量を入力し、各クラス（対応点候補）に対応する尤度（確率分布）を取得して、最も尤度の高い対応点候補とマッチングする。
【００８１】
なお、入力画像内の対象物の表面から検出されたものが特徴点であり、データベース１２２に登録されている対応点候補の中に特徴点に対応する局所特徴量と一致する点が登録されており、これらを認識部１２３が正しく対応付けられた場合に、対応点を正しく作成することができる。このため、背景といった対象物以外から特徴点が検出されている場合や、特徴点に対応する局所特徴量と一致する点がデータベース１２２に対応点候補として登録されていない場合には、正しい対応点を作成することが困難になる。
【００８２】
このため、学習部１２１は、特徴点検出部１１において検出される可能性がある特徴点に対応する３次元座標を、対応点候補としてデータベース１２２に漏れなく登録することが好ましい。しかしながら、データベース１２２の記憶容量には限りがあり、特にＡＲシステム１００が上述のように携帯端末上で構成される場合には、データベース１２２に登録する情報量をできる限り小さくすることが望まれる。そこで、学習部１２１は、対応点候補となり得るものの中から、データベース１２２に登録する対応点候補を選抜する。
【００８３】
さらに、学習部１２１は、上述のように対応点候補を選抜する際に、特徴点検出部１１において検出される可能性の高い（対応付けられやすい）特徴点に対応する３次元座標を単純に選抜するのではなく、対応付けられやすい特徴点に対応する３次元座標を、視点クラスごとに予め定められた数ずつ選抜する。これによれば、対象物が撮像装置２により撮影される可能性のある視点の範囲において、特徴点を対応点候補に安定的に対応付けて、正しい対応点を作成することができる可能性を向上させることができる。なお、視点クラスとは、対象物が撮像装置２により撮影される可能性のある視点の範囲を離散的に分割した各領域のことであり、各視点は、いずれかの視点クラスに割り当てられるものとする。
【００８４】
以上の学習部１２１により行われる学習処理について、以下に説明する。
【００８５】
図３は、学習部１２１が行う学習処理のフローチャートである。
【００８６】
ステップＳ１において、学習部１２１は、視点クラスを設定し、ステップＳ２に処理を移す。具体的には、対象物が撮像装置２により撮影される可能性のある視点の範囲を、対象物に対する撮像装置２の方向（角度）と、対象物と撮像装置２との距離と、に基づいて分割し、分割した範囲ごとに視点クラスを設定する。学習部１２１による視点クラスの設定について、図４を用いて以下に詳述する。
【００８７】
図４は、直方体の対象物ＡＡに対して視点クラスを設定する場合を説明するための図である。ＳＰＨ１〜ＳＰＨ５は、対象物ＡＡを中心とする球の表面を表している。
【００８８】
学習部１２１は、上述の撮像装置２により撮影される可能性のある視点の範囲、言い換えると対象物ＡＡを撮影するために撮像装置２が配置される可能性のある範囲、すなわち対象物ＡＡの周囲に、ＳＰＨ１〜ＳＰＨ５の５つの層を想定し、各層に４２個ずつ代表視点を設け、各層において４２個の代表視点をほぼ等間隔に配置する。具体的には、まず、撮像装置２により撮影される可能性のある視点の範囲に、方向および距離に基づいて、ＳＰＨ１〜ＳＰＨ５の５つの層を想定する。次に、ＳＰＨ１〜ＳＰＨ５のそれぞれに内接する正８０面体を球を近似したものとして配置し、正８０面体の各頂点を代表視点とする。次に、これら代表視点のそれぞれを中心とする領域を、隣接する２つの代表視点に対応する領域同士が接するように設定し、これら領域のそれぞれを視点クラスとする。これによれば、撮像装置２により撮影される可能性のある視点の範囲が、２１０個の代表視点を中心とする２１０個の視点クラスに分割されることになる。また、各視点は、認識処理により、２１０個の代表視点のうち、最も近い代表視点が属する視点クラスに割り当てられることになる。
【００８９】
図３に戻って、ステップＳ２において、学習部１２１は、対象物の３次元モデルから学習用の画像を複数生成し、ステップＳ３に処理を移す。具体的には、まず、カメラの内部パラメータに、撮像装置２の内部パラメータを設定するとともに、カメラの外部パラメータを、対象物が撮像装置２により撮影される可能性のある視点の範囲の中からランダムに視点をサンプリングすることで設定する。次に、対象物の３次元モデルを、内部パラメータと外部パラメータとを合わせたカメラパラメータで投影（レンダリング）して、２次元の学習用の画像を複数生成する。
【００９０】
ステップＳ３において、学習部１２１は、特徴点検出器１１１を用いて、ステップＳ２において生成した学習用の画像から特徴点を検出し、対応する３次元モデル上の３次元座標を逆投影によって計算して、ステップＳ４に処理を移す。逆投影の処理については、公知の技術によって、３次元モデルと、ステップＳ２におけるレンダリングの際に用いたカメラパラメータと、を用いて行うことが可能である。
【００９１】
ステップＳ４において、学習部１２１は、ステップＳ３において計算した複数の３次元座標を選抜し、ステップＳ５に処理を移す。具体的には、まず、ステップＳ３において計算した複数の３次元座標のうち予め定められた距離内にあるものについて、これらの重心を求めて１つにまとめるとともに、まとめられた３次元座標の数を再現性として求める。上述の再現性は、３次元座標の特徴点としての検出されやすさの指標となる。次に、３次元座標の再現性を視点クラスごとに評価し、各視点クラスにおいて再現性の高い３次元座標を、予め定められた数ずつ求める。
【００９２】
ステップＳ５において、学習部１２１は、ステップＳ４において求めた３次元座標を、対応点候補としてデータベース１２２に登録し、図３の学習処理を終了する。具体的には、後述の登録手順および繰り返し手順を行う。
【００９３】
登録手順では、学習部１２１は、ステップＳ４において求めた３次元座標のうち、データベース１２２に登録されていないものであって、再現性の最も高いものを、視点クラスごとに１点ずつデータベース１２２に登録する。また、繰り返し手順では、学習部１２１は、登録手順によりデータベース１２２に登録した３次元座標の数が予め定められた規定数に達するまで、登録手順を繰り返す。
【００９４】
以上によれば、ステップＳ４において求められた３次元座標が、視点クラスごとに、再現性の高いものから順番に１点ずつ、登録数が規定数に達するまで繰り返し求めてデータベース１２２に登録されることになる。また、データベース１２２に登録される際には、既に登録されている対応点候補と重複していないかが確認され、重複している場合は次に再現性の高い対応点候補が登録されることになる。
【００９５】
このため、各視点クラスで再現性の高い３次元座標を評価する際に、重複が生じてしまう場合（複数の視点クラスで最も再現性の高い３次元座標として評価される点が多数存在する場合）に対応することができるとともに、データベース１２２に登録されている対応点候補の全てにおける視点に対する再現性を平滑化することができる。
【００９６】
なお、対応点候補をデータベース１２２に登録する際には、学習部１２１は、対応点候補の局所特徴量も、データベース１２２に登録する。これによれば、認識処理において、対応点のマッチングを行うことができる。
【００９７】
また、非特許文献２に開示されているように、認識処理において、局所特徴量に基づいてマッチングを行う代わりに、分類器によりマッチングを行う場合には、登録した対応点候補をクラスとする分類器を学習し、局所特徴量の代わりにデータベース１２２に登録する。この場合、特徴点に対応する局所特徴量として、局所領域を切り出したパッチ画像を用い、分類器として、Ｒａｎｄｏｍｉｚｅｄ  ＴｒｅｅｓやＲａｎｄｏｍ  Ｆｅｒｎｓなどを用いることができる。
【００９８】
本実施形態では、学習部１２１は、パッチ画像を分類するＲａｎｄｏｍ  Ｆｅｒｎｓを学習し、対応点候補のデータベース１２２への登録と、分類器の学習と、を同時に行う。具体的には、分類器の学習の際には、対応点候補の教師ラベルを付けた学習用のパッチ画像が多数必要である。そこで、ステップＳ３において学習用の画像から特徴点を検出した際に、そのパッチ画像を取得しておく。これによれば、各対応点候補に対応する学習用のパッチ画像を、容易に取得することができ、効率的な学習、具体的には学習時間の短縮を実現できる。
【００９９】
（カメラ姿勢算出部１３の動作）
図２に戻って、カメラ姿勢算出部１３は、特徴点検出部１１から送信された特徴点の２次元座標と、マッチング部１２から送信された対応点の３次元座標と、に基づいてカメラ姿勢を推定し、推定したカメラ姿勢に関するカメラ姿勢情報を表示装置３に送信する。３次元座標と２次元座標との関係は、以下の式（１）で表される。
【０１００】
【数１】
2014164483.tif 000003
【０１０１】
式（１）において、［ｕ，ｖ］は、特徴点検出部１１から送信された特徴点の２次元座標値を示し、［Ｘ，Ｙ，Ｚ］は、マッチング部１２から送信された対応点の３次元座標値を示し、［・］＾Ｔは、転置行列を示す。また、Ａは、カメラの内部パラメータを示し、Ｗは、カメラの外部パラメータ（カメラ姿勢）を示し、カメラ姿勢Ｗは、以下の式（２）で表される。
【０１０２】
【数２】
2014164483.tif 000004
【０１０３】
式（２）において、Ｒは、回転行列を示し、ｔは、並進ベクトルを示す。
【０１０４】
以上より、２次元座標［ｕ，ｖ，１］＾Ｔと３次元座標［Ｘ，Ｙ，Ｚ，１］＾Ｔとのマッチと、カメラの内部パラメータと、を用いて、カメラ姿勢Ｗを推定することができる。なお、送信された２次元座標と３次元座標の対応点の中には、誤った対応点が含まれるおそれがある。このため、カメラ姿勢算出部１３は、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）やＰＲＯＳＡＣ（ＰＲＯｇｒｅｓｓｉｖｅ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）などのサンプリング手法によって、入力された対応点から正しい対応点（インライア）のみを抽出し、カメラ姿勢の推定を行う。
【０１０５】
なお、本発明のカメラ姿勢推定装置１の処理を、コンピュータ読み取り可能な非一時的な記録媒体に記録し、この記録媒体に記録されたプログラムをカメラ姿勢推定装置１に読み込ませ、実行することによって、本発明を実現できる。
【０１０６】
ここで、上述の記録媒体には、例えば、ＥＰＲＯＭやフラッシュメモリといった不揮発性のメモリ、ハードディスクといった磁気ディスク、ＣＤ−ＲＯＭなどを適用できる。また、この記録媒体に記録されたプログラムの読み込みおよび実行は、カメラ姿勢推定装置１に設けられたプロセッサによって行われる。
【０１０７】
また、上述のプログラムは、このプログラムを記憶装置などに格納したカメラ姿勢推定装置１から、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク（通信網）や電話回線などの通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【０１０８】
また、上述のプログラムは、上述の機能の一部を実現するためのものであってもよい。さらに、上述の機能をカメラ姿勢推定装置１にすでに記録されているプログラムとの組み合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１０９】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【０１１０】
例えば、上述の実施形態では、対象物は、３次元物体であるものとした。しかし、これに限らず、例えば、平面状の物体の表面に描かれた画像といった、２次元物体であってもよい。対象物が２次元物体である場合には、マッチング部１２は、３次元座標のｚ座標が常にゼロであるものとして動作し、対応点は、２次元座標同士で構成される２Ｄ−２Ｄ対応点となる。
【０１１１】
また、上述の実施形態では、図３のステップＳ５において、３次元座標を選抜したものを、視点クラスごとに、再現性の高いものから順番に１点ずつ、登録数が規定数に達するまで登録するものとした。このため、上述の実施形態では、データベース１２２に３次元座標が登録される対応点候補の数は、視点クラスごとに等しくなる。しかし、これに限らず、例えば視点クラスの優先度に応じて、３次元座標を登録する対応点候補の数に対して視点クラスごとに重みづけを行ってもよい。これによれば、撮影される頻度が高い視点の情報や、何らかの外的要因によってカメラ姿勢の推定精度が悪くなってしまうという視点の情報が予め得られているなどにより、カメラ姿勢の推定精度を向上させたい視点が存在する場合に、その視点におけるカメラ姿勢の推定精度を向上させることができる。
【０１１２】
また、上述の実施形態では、図３のステップＳ１において、学習部１２１は、対象物ＡＡの周囲にＳＰＨ１〜ＳＰＨ５の５つの層を想定し、各層に４２個ずつ代表視点を設け、各層において４２個の代表視点をほぼ等間隔に配置するものとした。しかし、これに限らず、例えば、特徴点検出器１１１が特徴点の検出にＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）といった距離の変化に頑健な手法を用いた場合には、代表視点を１層のみに配置し、距離の変化によって視点クラスを変えないようにしてもよい。また、対象物が平面画像であり、撮影される可能性のある視点の角度が限定される場合には、視点の距離のみによって視点クラスを変えるようにしてもよい。
【０１１３】
撮影される可能性のある視点の角度が限定される場合とは、例えば対象物が建物である場合が考えられる。この場合、対象物の真下の方向から撮影されることはあり得ない。そこで、撮影されない方向には代表視点を設定しないことで、対象物の表面のうち実際に撮影される範囲内に、対応点候補の位置を限定することができ、マッチングの安定性を向上させることができる。
【０１１４】
また、上述の実施形態では、カメラ姿勢推定装置１は、学習処理と認識処理との両方を行うものとしたが、これに限らない。例えば、学習処理は、カメラ姿勢推定装置の外部で行われ、カメラ姿勢推定装置は、外部で行われた学習処理の結果を用いて認識処理を行うこととしてもよい。
【符号の説明】
【０１１５】
１・・・カメラ姿勢推定装置
２・・・撮像装置
３・・・表示装置
４・・・付加情報記憶部
１１・・・特徴点検出部
１２・・・マッチング部
１３・・・カメラ姿勢算出部
１１１・・・特徴点検出器
１２１・・・学習部
１２２・・・データベース
１２３・・・認識部
ＡＡ・・・対象物
【図１】
2014164483.tif 000005
【図２】
2014164483.tif 000006
【図３】
2014164483.tif 000007
【図４】
2014164483.tif 000008