(57)【要約】 【課題】撮像装置が撮像した範囲中における移動物体の存否に関わらず、撮像装置の位置／姿勢の算出における精度及び安定性を向上する。【解決手段】情方処理装置は、画像または三次元データから検出された複数の検出特徴を入力する入力部と、現実空間の複数の特徴を、画像または三次元データを取得した装置の位置／姿勢の算出に利用すべき度合いを表す利用可能性と対応付けて複数の保持特徴として保持する保持部と、画像または三次元データにおける保持特徴の空間的な配置を決定する配置決定部と、配置決定部が決定した配置において複数の検出特徴のうちの一つの検出特徴の近傍に存在している保持特徴の利用可能性に基づいて、その一つの検出特徴の位置／姿勢算出への利用の可否を決定する決定部と、を有する。【選択図】    図１Ａ
2018112790.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
画像または三次元データから検出された複数の検出特徴を入力する入力手段と、
現実空間の複数の特徴を、前記画像または前記三次元データを取得した装置の位置／姿勢の算出に利用すべき度合いを表す利用可能性と対応付けて複数の保持特徴として保持する保持手段と、
前記画像または三次元データにおける前記保持特徴の空間的な配置を決定する配置決定手段と、
前記配置決定手段が決定した配置において前記複数の検出特徴のうちの一つの検出特徴の近傍に存在している保持特徴の前記利用可能性に基づいて、前記一つの検出特徴の位置／姿勢算出への利用の可否を決定する決定手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記配置決定手段が決定した配置において、前記一つの検出特徴の近傍にある保持特徴のうち利用可能性が所定の値より小さいものが所定の割合より多い場合に、前記一つの検出特徴を利用不可に決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記一つの検出特徴の近傍にある保持特徴において、利用可能性が利用不可である保持特徴が所定の割合より多い場合に、前記一つの検出特徴の利用可能性を利用不可に決定し、他の場合に前記一つの検出特徴の利用可に決定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記決定手段は、前記配置決定手段が決定した配置において、前記一つの検出特徴の近傍にある保持特徴の利用可能性の平均値が所定の値より小さい場合に前記一つの検出特徴を利用不可に決定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記決定手段は、さらに、前記複数の検出特徴の各々について、近傍の保持特徴に基づいて利用不可に決定された検出特徴が近傍に存在する検出特徴を利用不可に変更することを特徴とする請求項２乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記決定手段は、近傍に利用不可に決定された検出特徴が存在し、近傍の保持特徴の利用可能性の平均値が所定の閾値以下の場合に、当該検出特徴を利用不可に変更することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記決定手段による検出特徴の利用不可への前記変更は、再帰的に実行されることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記決定手段によって利用可に決定された検出特徴に基づいて、前記装置の位置／姿勢を算出する算出手段と、
前記算出手段が算出した前記装置の位置／姿勢に基づいて、前記複数の保持特徴の利用可能性を更新する更新手段をさらに備えることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記更新手段は、
前記算出手段により算出された前記装置の位置／姿勢に基づいて前記複数の検出特徴を前記保持特徴の座標系に投影し、
前記投影された検出特徴の位置と対応する保持特徴の位置との差に基づいて前記投影された検出特徴の利用可能性を更新し、
前記複数の保持特徴のうちの一つの保持特徴の利用可能性を、投影された前記複数の検出特徴の配置において前記一つの保持特徴の近傍に存在している検出特徴の利用可能性に基づいて更新する、ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記算出手段が算出した前記装置の位置／姿勢に基づいて、撮像装置によって撮像した画像に仮想物体の像を合成する画像合成手段と、
前記画像合成手段が合成した画像を表示する表示手段と、をさらに備えることを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記装置から前記画像または前記三次元データを取得する取得手段と、
前記取得手段により取得された前記画像または前記三次元データから画像特徴または三次元特徴を前記検出特徴として検出する検出手段と、をさらに備えることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
画像または三次元データから検出された複数の検出特徴を入力する入力工程と、
現実空間の複数の特徴を、前記画像または前記三次元データを取得した装置の位置／姿勢の算出に利用すべき度合いを表す利用可能性と対応付けて複数の保持特徴としてメモリに保持する保持工程と、
前記画像または三次元データにおける前記保持特徴の空間的な配置を決定する配置決定工程と、
前記配置決定工程で決定された配置において前記複数の検出特徴の一つの検出特徴の近傍に存在している保持特徴の前記利用可能性に基づいて、前記一つの検出特徴の位置／姿勢算出への利用の可否を決定する決定工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１のいずれか１項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置の位置／姿勢を計測する情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
画像情報に基づく撮像装置の位置／姿勢の計測は、複合現実感／拡張現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体や空間の三次元モデリングなど様々な目的で利用される。
【０００３】
特許文献１では、現実空間に移動する物体が存在するシーンにおいて、画像から検出される特徴点を用いて画像撮像時の位置／姿勢を計測する方法が開示されている。この方法では、三次元マップ上の特徴点が移動物体上の特徴点か否かを判定し、移動物体上の特徴点であれば移動物体フラグを１とする。撮像装置が撮像した画像が入力されると、撮像画像から検出される特徴点に対応する三次元マップ中の特徴点が探索される。三次元マップ上の移動物体フラグが０である特徴点及び対応づいた撮像画像から検出される特徴点のペア全てを用いたロバスト推定により撮像装置の位置／姿勢が算出される。ロバスト推定時に外れ値に判断された特徴点については、算出された位置／姿勢に基づいて撮像画像へ射影して移動ベクトルを求めることにより移動物体か否かが判定される。移動物体と判定された三次元マップ上の特徴点の移動物体フラグが１に更新される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５３０３９１号公報
【非特許文献】
【０００５】
【非特許文献１】Z. Zhang，“A flexible new technique for camera calibration，” IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330-1334, 2000.（実施形態で参照される）
【非特許文献２】H. Kato and M. Billinghurst, “Marker tracking and hmd calibration for a video-based augmented reality conferencing system,” International Workshop on Augmented Reality, 1999.（実施形態で参照される）
【非特許文献３】J. Shi and C. Tomasi, Good Features to Track, Proc. CVPR1994. （実施形態で参照される）
【非特許文献４】H. Badino and T. Kanade, “A Head-Wearable Short-Baseline Stereo System for the Simultaneous Estimation of Structure and Motion”, Proc. MVA, 2011（実施形態で参照される）
【非特許文献５】G. Klein and D. Murray, “Parallel tracking and mapping for small AR workspaces,” Proc. ISMAR, pp. 225-234, 2007（実施形態で参照される）
【非特許文献６】D. Kotake, K. Satoh, S. Uchiyama, and H. Yamamoto: “A fast initialization method for edge-based registration using an inclination constraint”, Proc. ISMAR 2007（実施形態で参照される）
【非特許文献７】O. Korkalo, S. Kahn, “Real-time depth camera tracking with CAD models and ICP”, JVRB, Vol.13, No. 1, 2016（実施形態で参照される）
【非特許文献８】D. G. Lowe: “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, Vol. 60, pp. 91-110, 2004（実施形態で参照される）
【非特許文献９】C. Tomasi and T. Kanade, “Detection and Tracking of Point Features”, Carnegie Mellon University Technical Report CMU-CS-91-132, 1991（実施形態で参照される）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、撮像装置が撮像した画像から検出される特徴点のうち、移動物体上の位置／姿勢算出に不適な特徴点が誤って三次元マップ中の移動物体フラグが０の特徴点と対応付けられ、位置／姿勢算出に用いられる可能性がある。結果として、位置／姿勢の精度及び安定性が低いという課題があった。
【０００７】
本発明は上記の課題に鑑みてなされたものであり、撮像装置が撮像した範囲中における移動物体の存否に関わらず、撮像装置の位置／姿勢の算出における精度及び安定性を向上することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
情報処理装置であって、
画像または三次元データから検出された複数の検出特徴を入力する入力手段と、
現実空間の複数の特徴を、前記画像または前記三次元データを取得した装置の位置／姿勢の算出に利用すべき度合いを表す利用可能性と対応付けて複数の保持特徴として保持する保持手段と、
前記画像または三次元データにおける前記保持特徴の空間的な配置を決定する配置決定手段と、
前記配置決定手段が決定した配置において前記複数の検出特徴のうちの一つの検出特徴の近傍に存在している保持特徴の前記利用可能性に基づいて、前記一つの検出特徴の位置／姿勢算出への利用の可否を決定する決定手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、撮像装置が撮像した範囲中における移動物体の存否に関わらず、撮像装置の位置／姿勢を精度よく、安定して算出することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】第１実施形態における情報処理装置の機能構成例を示すブロック図。
【図１Ｂ】第１実施形態における情報処理装置のハードウエア構成例を示すブロック図。
【図２】第１実施形態における処理手順を示すフローチャート。
【図３】第１実施形態における閾値を設定するためのＧＵＩの一例を示す図。
【図４】第２実施形態における利用可能性決定処理の手順を示すフローチャート。
【図５】第３実施形態における情報処理装置の構成を示す図。
【図６】第３実施形態における処理手順を示すフローチャート。
【図７】第３実施形態における利用可能性更新処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して本発明の実施形態を説明する。
【００１２】
＜第１実施形態＞
第１実施形態では、現実空間における撮像装置の位置／姿勢の計測について説明する。現実空間における撮像装置の位置／姿勢は、たとえば、複合現実感システムにおける現実空間と仮想物体の位置合わせ、すなわち仮想物体の描画に利用される。複合現実感を体験するユーザは、頭部装着型表示装置ＨＭＤ（Head-Mounted Display）を装着し、ＨＭＤを通して仮想物体が重畳された現実空間を観察する。ＨＭＤには撮像装置としてステレオカメラが搭載されており、ステレオカメラが撮像した画像上にステレオカメラの現実空間における位置／姿勢に基づいて描画された仮想物体像が重畳されてユーザに提示される。
【００１３】
本実施形態では、撮像装置の位置／姿勢の算出には、撮像装置が撮像した画像から検出された画像特徴点が用いられる。ここで「特徴点」とは、画像中の角などの幾何的な構造を指し示す点のことである。時刻ｔにおいて撮像された画像（現フレーム）上で検出された特徴点（検出特徴点）は、現フレーム以前のある時刻ｔ−ａに撮像された画像（前フレーム）上の特徴点と対応付けされる。なお、前フレームの特徴点は、保持特徴点として保持されている。保持特徴点は、現実空間における位置を示す情報（たとえば世界座標系における三次元座標）と対応付けられている。そして、前フレームの特徴点（保持特徴点）と現フレームの特徴点（検出特徴点）の画像上での二次元位置に基づいて撮像装置の（世界座標系に対する）位置／姿勢が算出される。撮像装置の位置／姿勢の算出では、安定して高精度に位置／姿勢を算出できる特徴点が選択され、用いられる。
【００１４】
保持特徴点には、撮像装置の位置／姿勢算出に利用すると安定性および精度が高くなるか低くなるかを表す指標である利用可能性の情報が関連付けられている。すなわち、利用可能性とは装置の位置／姿勢算出に利用すべき度合いを表す。本実施形態において、利用可能性情報とは、当該特徴点が時刻ｔより前に移動物体であったかどうかの判定結果の履歴である。具体的には、算出した位置／姿勢に基づく撮像装置の動きと整合度によって判定した指標であり、本実施形態では０か１の値を保持する。時刻ｔより前にカメラの動きと整合していた特徴点を選択し、利用することで、高精度に、安定して位置／姿勢を算出することができる。本実施形態では、位置／姿勢の算出に用いられる特徴点の選択に際して、さらに、近傍に利用可能性の低い（移動物体である可能性が高い）特徴点が多く存在する特徴点が撮像装置の位置／姿勢の算出から除外される。これにより、さらに高精度に安定して位置／姿勢を算出することができる。
【００１５】
また、第１実施形態における撮像装置の位置／姿勢とは、現実空間中に規定された世界座標における撮像装置の、位置を表す３パラメータ及び姿勢を表す３パラメータを合わせた６パラメータで表わされる。第１実施形態を含む以下の実施形態では、特に断りがない限りステレオカメラのうちの左のカメラの位置／姿勢を撮像装置の位置／姿勢と呼ぶ。また、撮像装置の光軸をＺ軸、画像の水平方向をＸ軸、垂直方法をＹ軸とする撮像装置上に規定される三次元座標系をカメラ座標系と呼ぶ。本実施形態では、特徴点は特に断りがない限り左側のカメラの画像で検出した特徴点を指し、特徴点の位置は左側のカメラの画像の横軸をｘ軸、縦軸をｙ軸とする画像座標系の二次元位置を表す２パラメータで表される。
【００１６】
図１Ａは、本実施形態における画像処理システム１０１の機能構成例を示すブロック図である。図１Ａにおいて、画像処理システム１０１は、情報処理装置１、画像入力部１５０、検出部１６０、算出部１７０、画像合成部１８０を有する。情報処理装置１は、特徴入力部１１０、配置決定部１２０、特徴保持部１３０、利用可能性決定部１４０を備える。画像入力部１５０はＨＭＤに搭載されている撮像装置１１００と接続されている。本実施形態において、撮像装置１１００はステレオカメラである。画像合成部１８０は、ＨＭＤ２（図１Ｂ）に搭載されている表示部１２００と接続されている。
【００１７】
画像入力部１５０は、撮像装置１１００が撮像する画像を時系列（例えば毎秒６０フレーム）に入力し、検出部１６０と画像合成部１８０に供給する。検出部１６０は画像入力部１５０により入力された画像上で特徴点を検出する。検出部１６０は、検出した特徴点を、算出部１７０と特徴入力部１１０に供給する。
【００１８】
特徴入力部１１０は、検出部１６０で検出した特徴点を受け取り、配置決定部１２０に入力する。配置決定部１２０は、特徴保持部１３０の保持する前フレームの特徴点と、特徴入力部１１０から入力された現フレームの特徴点とを対応付け、前フレームの特徴点の現フレームにおける配置を決定する。特徴保持部１３０は、現実空間の複数の特徴点を、画像を取得した撮像装置１１００の位置／姿勢の算出に利用すべき度合いを表す利用可能性と対応付けて複数の保持特徴点として保持している。利用可能性決定部１４０は、配置決定部１２０で決定された保持特徴点の配置と、特徴保持部１３０の持つ特徴点の利用可能性情報とを用いて、現フレームの検出特徴点の利用可能性を決定する。本実施形態では、各検出特徴の位置／姿勢算出への利用の可否を、各検出特徴の近傍に存在している保持特徴点の利用可能性に基づいて決定する。利用可能性決定部１４０は、算出部１７０へ現フレームの特徴点の利用可能性を出力する。
【００１９】
算出部１７０は、検出部１６０で検出された現フレームの特徴点と特徴保持部１３０が保持している前フレームの特徴点との関係性と、利用可能性決定部１４０で決定された現フレームの特徴の利用可能性とを基に、撮像装置１１００の位置／姿勢を算出する。画像合成部１８０は、算出部１７０が算出した撮像装置１１００の位置／姿勢と、撮像装置１１００の内部・外部パラメータを用いて、仮想物体のＣＧ画像をレンダリングする。結果、画像入力部１５０から入力された撮像画像に、ＣＧ画像が合成される。表示部１２００はＨＭＤ２に搭載されており、画像合成部１８０が合成した画像を表示する。本実施形態ではＨＭＤ２はステレオＨＭＤであり、左右の表示デバイスに異なる画像を表示することでユーザによる現実空間と仮想物体の立体視が可能である。
【００２０】
図１Ｂは、本実施形態における画像処理システム１０１の機能構成例を示すブロック図である。情報処理装置１において、ＣＰＵ１１は、ＲＯＭ１２またはＲＡＭ１３に格納されたプログラムを実行することにより情報処理装置１の制御、各種処理、機能を実現する。ＲＯＭ１２は読み出し専用の不揮発性メモリであり、ＲＡＭ１３は随時に読み書きが可能な揮発性メモリである。記憶装置１４は、ハードディスクなどの大容量の記憶媒体である。インタフェース１５は、外部機器と情報処理装置１を接続する。以上の各構成は、バス１６により相互に通信が可能に接続されている。
【００２１】
一方、ＨＭＤ２において、ＣＰＵ２１は、メモリ２３に格納されているプログラムを実行することによりＨＭＤ２の制御、各種処理、機能を実現する。インタフェース２２は、外部機器とＨＭＤ２を接続する。撮像装置１１００、表示部１２００は、図１Ａに関して上述したとおりである。ＨＭＤ２における以上の各部は、バス２４を介して相互に通信可能に接続されている。インタフェース１５とインタフェース２２を接続する接続３０は、有線接続であってもよいし、無線接続であってもよい。また、接続３０は、有線ＬＡＮまたは無線ＬＡＮを介した接続であってもよい。
【００２２】
なお、図１Ａにおいて、画像入力部１５０、検出部１６０、算出部１７０、画像合成部１８０は情報処理装置１の外部の構成（機能）として示されているが、これらは、ＨＭＤ２により実現されてもよいし、情報処理装置１により実現されてもよい。
【００２３】
次に、以上のような構成を備えた第１実施形態の映像処理の手順について説明する。図２は、第１実施形態における映像処理の手順を示すフローチャートである。
【００２４】
ステップＳ１１０（初期化処理）において、情報処理装置１は初期化処理を行う。初期化処理では、たとえば、情報処理装置１が、撮像装置１１００の内部パラメータを読み込み、撮像装置１１００の初期位置／姿勢の算出を行う。撮像装置１１００の内部パラメータ（焦点距離、画像中心、レンズ歪みパラメータ）は、Ｚｈａｎｇの方法（非特許文献１）によって事前に校正される。また、情報処理装置１は、ステレオカメラである撮像装置１１００を構成する２台のカメラ間の相対的な位置／姿勢（外部パラメータ）を、たとえば以下のようにして求める。情報処理装置１は、三次元形状が既知のパターンを左右のカメラで同時に撮影して得られた画像からパターンを基準としたそれぞれのカメラの位置／姿勢を求める。そして、情報処理装置１は、右カメラの位置／姿勢を、左カメラを基準とした位置／姿勢に変換することで、２台のカメラ間の相対的な位置／姿勢を得る。撮像装置１１００の世界座標系に対する位置／姿勢の初期値ｔｗ→ｔ（ｔ＝０）、Ｒｗ→ｔ（ｔ＝０）は、たとえば、サイズが既知の人工のマーカを用いたＫａｔｏらの手法（非特許文献２）によって算出され得る。
【００２５】
ステップＳ１２０（画像入力処理）において、画像入力部１５０は、撮像装置１１００が撮像したステレオ画像を入力する。本実施形態では、撮像装置１１００がカラー画像を撮像するため、画像入力部１５０は、入力された画像を濃淡画像に変換し、さらに左右のカメラの内部パラメータを用いてレンズ歪みの影響を除去した画像に変換する。ステップＳ１３０（特徴点検出処理）において、検出部１６０は、画像入力部１５０が入力した画像（現フレーム）上の特徴点を検出する。特徴点を検出するには、たとえば、Ｓｈｉらの手法（非特許文献３）を用いることができる。また、検出部１６０は、特徴点のステレオマッチングを行うことで検出した特徴点の奥行きを算出する。
【００２６】
ステップＳ１４０（特徴配置決定処理）において、配置決定部１２０は、特徴保持部１３０が保持する前フレームの特徴点とステップＳ１３０で検出された現フレームの特徴点とを特徴点マッチングにより対応付ける。以下、特徴保持部１３０が保持する前フレームの特徴点を保持特徴点、ステップＳ１３０で検出された現フレームの特徴点を検出特徴点という。配置決定部１２０は、保持特徴点の現フレームにおける配置を決定する。特徴点マッチングにおいて、配置決定部１２０は、たとえば、特徴点の周囲の画素の正規化相互相関（ＳＳＤ）を算出し、算出された値が閾値Ｍｔｈ以下であれば同一の物体上の同一の位置であるとみなす。
【００２７】
ステップＳ１５０（利用可能性決定処理）において、利用可能性決定部１４０は、各特徴点の位置／姿勢の計算への利用可能性を決定する。利用可能性決定部１４０は、ステップＳ１４０で決定された配置において、検出特徴点の近傍に存在する保持特徴点を特徴保持部１３０から探索する。近傍の特徴点とは、対象の検出特徴点からの画像上のユークリッド距離が閾値Ｎｔｈ以内で、かつ、深度差が閾値Ｄｔｈ以内にある特徴点を指す。近傍として探索された保持特徴点のうち利用可能性の値が０である保持特徴点の割合が閾値Ｒｔｈ以上だった場合は、対象の検出特徴点の利用可能性の値を０（利用不可）に決定し、それ以外は１（利用可）に決定する。また、ステップＳ１４０において、対応する保持特徴点が見つからず配置が決定されなかった検出特徴点については利用可能性の値を０とする。上記の処理は、検出特徴点の全てについて行われる。こうして、検出特徴点の近傍にある保持特徴点のうち利用可能性情報が所定の値より小さいものが所定の割合より多い場合、その検出特徴点は位置／姿勢算出への利用が不可に決定される。
【００２８】
ステップＳ１６０（位置／姿勢算出処理）において、算出部１７０は、ステップＳ１５０で利用可能性が１に決定された検出特徴点を用いて、現フレームを撮像した撮像装置１１００の位置／姿勢を算出する。算出部１７０は、撮像装置１１００の位置／姿勢として、前フレームに対する現フレームの撮像装置１１００の位置を表す三次元ベクトルであるｔ（ｔ−１）→ｔと、姿勢を表す３×３回転行列であるＲ（ｔ−１）→ｔを算出する。撮像装置１１００の位置／姿勢の算出には、たとえば、Ｂａｄｉｎｏらの手法（非特許文献４）を用いることができる。また、世界座標系に対する撮像装置１１００の位置／姿勢ｔｗ→ｔ、Ｒｗ→ｔは、前フレームで算出した世界座標系に対する撮像装置１１００の位置／姿勢ｔｗ→（ｔ−１）、Ｒｗ→（ｔ−１）に、前フレームのカメラ座標に対する撮像装置１１００の位置／姿勢ｔ（ｔ−１）→ｔ、Ｒ（ｔ−１）→ｔを積算することで算出される。
【００２９】
ステップＳ１７０（画像合成・表示処理）において、画像合成部１８０は、ステップＳ１５０で導出された撮像装置１１００の位置／姿勢を用いて仮想物体のＣＧ画像をレンダリングする。そして、画像合成部１８０は、そのＣＧ画像を、撮像装置１１００により得られたステレオ画像の各画像に重畳合成してＨＭＤ２の表示部１２００に表示する。
【００３０】
ステップＳ１８０（終了判定処理）において、情報処理装置１は、システムを終了するか否かの判断を行う。マウスやキーボードなどを介して利用者からシステムを終了するコマンドが入力されている場合にはシステムを終了し、さもなければ処理はステップＳ１２０に戻り、位置／姿勢の計測処理が継続される。
【００３１】
以上に述べたように、第１実施形態によれば、周囲に移動物体上の特徴であると判定された特徴点（利用可能性の値が０の特徴点）が多い特徴点を位置／姿勢の算出に利用しないようにする。これにより、移動物体が存在するシーンでも高精度、安定に位置／姿勢を算出することができる。
【００３２】
＜変形例１−１＞
画像を撮像する撮像装置１１００はステレオカメラに限るものではなく、現実空間の画像を撮像するカメラであればよい。例えば、撮像装置１１００は、単眼カメラで構成されても良いし、相対的な位置／姿勢が既知な三台以上のカメラで構成されても良い。また、撮像装置１１００はカラー画像を撮像するカメラに限るものではなく、濃淡画像を撮像するカメラであっても良いし、奥行き情報を撮像するカメラであってもよい。但し、単眼カメラを用いる場合には、利用可能性の決定や位置／姿勢の算出に当たって奥行きが必要となるため、例えばＫｌｅｉｎらの手法（非特許文献５）を用いてカメラの動きから奥行きを算出することが必要になる。また、位置・姿勢を算出するための画像を撮像する撮像装置とＣＧが合成される画像を撮像する撮像装置は同一のものであってもよいし、別々のものであってもよい。
【００３３】
＜変形例１−２＞
第１実施形態では、画像特徴として特徴点を用いた。しかしながら、画像特徴は画像の幾何情報から撮像装置１１００の位置／姿勢を算出できるものであれば何でも良い。例えばＫｏｔａｋｅらの手法（非特許文献６）のように画像中のエッジを特徴として用いても良い。この場合、特徴保持部１３０が保持する画像特徴の幾何属性は、例えば、画像上のエッジの両端点の二次元位置とすればよい。また、物体の三次元モデルを画像特徴とし、モデルと入力画像とを比較して撮像装置１１００の位置／姿勢を得るＫｏｒｋａｌｏらの手法（非特許文献７）が用いられてもよい。また、三次元モデルの代わりにマーカを画像特徴とし、マーカに基づく位置姿勢推定であるＫａｔｏらの手法（非特許文献２）が用いられても良い。
【００３４】
＜変形例１−３＞
第１実施形態では、ステップＳ１４０の特徴配置決定処理において、正規化相互相関による特徴点のマッチングを用いた。しかしながら、保持特徴と検出特徴の配置の決定に用いられ得る手法はこれに限られるものではなく、画像間での特徴点の対応関係を見つけることができるものであれば何でもよい。例えば、Ｌｏｗｅの手法であるＳＩＦＴ特徴量のマッチング（非特許文献９）が用いられてもよい。また、例えば、特徴量記述が用いられても良い。また、例えばＴｏｍａｓｉらの手法（非特許文献１０）のように、前フレームの特徴から直接現フレームの特徴の配置が算出（追跡）されても良い。また、慣性センサ等を用いて特徴の動きを予測して配置を決定しても良い。その際には、ステップＳ１６０において位置姿勢算出を行う際に、保持特徴と入力特徴を改めて対応づける必要がある。対応付けの方法は前述したように正規化相互相関を用いても良いし、ＳＩＦＴなどの特徴量を用いても良い。
【００３５】
＜変形例１−４＞
また、第１実施形態では、利用可能性が取り得る値を０か１に限って説明したが、利用可能性は二値である必要はなく、０から１の実数値が保持されても良い。その場合には、ステップＳ１５０において利用可能性を決定する際に、近傍として探索された保持特徴のもつ利用可能性の平均を算出し、算出された平均値が閾値以上であれば１、それ以外は０のように決定されても良い。
【００３６】
また、算出した平均値を検出特徴の利用可能性として、ステップＳ１６０で位置姿勢算出する際の重みとして利用しても良い。より具体的には、利用可能性の値をそのまま重みとしても良いし、利用可能性の値が所定の閾値以下であれば重みを０とし閾値以上であれば利用可能性の値をそのまま重みとするようにしても良い。位置／姿勢算出においては、付与された重みに基づいて特徴点の寄与度を変える。
【００３７】
＜変形例１−５＞
第１実施形態では、撮像装置１１００として画像を撮像するカメラを用いていたが、三次元データを取得できるレンジファインダやＴｏＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）センサなどが用いられても良い。その場合、ステップＳ１３０における特徴点の検出では、三次元データからランダムに特徴点が選択されても良いし、何らかのポリシーにのっとって三次元データからキーポイントとなる特徴点が選択されるようにしても良い。或いは、入力した三次元データすべてを特徴点として用いるようにしても良い。また、ステップＳ１４０では、ＳＨＯＴ特徴などの三次元特徴記述子を用いたマッチングによって配置を決定しても良いし、ＩＣＰ（Iterative Closest Point）を用いて配置を決定しても良い。
【００３８】
＜変形例１−６＞
第１実施形態では、画像入力部１５０への画像入力は撮像装置１１００から直接行われているがこれに限られるものではない。画像入力部１５０が、ファイルに保存されているデータを読み込むようにしても良い。
【００３９】
＜変形例１−７＞
第１実施形態で用いられた各種の閾値をユーザが設定するための構成が設けられてもよい。ユーザ設定を可能とする閾値としては、たとえば、
・画像上での特徴点対応付け（ステップＳ１４０）において同一特徴点とみなすかどうか判定するための閾値Ｍｔｈ、
・近傍探索時（ステップＳ１５０）の二次元画像上の距離の閾値Ｎｔｈおよび深度差の閾値Ｄｔｈ、
・近傍の保持特徴の利用可能性によって入力特徴の利用可能性を決定する（ステップＳ１５０）際の閾値Ｒｔｈなどが挙げられる。
【００４０】
これらの閾値は、ステップＳ１１０の初期化処理において、たとえば、情報処理装置１が外部の記憶装置から読み込むようにしてもよいし、所定のＧＵＩを介してユーザに設定させるようにしてもよい。そのようなＧＵＩは、たとえば情報処理装置１が備えるディスプレイにより実現され得る。図３にＧＵＩの表示例を示す。ＧＵＩ１００は、利用可能性情報を利用するか否かを切り替える切り替えボタンＧ１１０を含む。また、ＧＵＩ１００は、特徴点マッチングの閾値Ｍｔｈを設定するためのスライダーＧ１２０、近傍探索閾値Ｎｔｈを設定するためのスライダーＧ１３０、深度差閾値Ｄｔｈを設定するためのスライダーＧ１４０、近傍の利用可能性決定閾値Ｒｔｈを設定するためのスライダーＧ１５０を有する。配置決定部１２０、利用可能性決定部１４０は、ＧＵＩ１００のスライダー（Ｇ１２０、Ｇ１３０，Ｇ１４０，Ｇ１５０）の変化を検知すると、該当する閾値を変化させる。
【００４１】
＜第２実施形態＞
第１実施形態では、配置決定部１２０において決定された配置において、検出特徴の近傍にある保持特徴を探索し、近傍に利用可能性の低い保持特徴が多い場合には、その検出特徴の利用可能性が低くなるように決定していた。第２実施形態では、決定した利用可能性をさらに更新することで、位置／姿勢の算出に悪影響を及ぼす特徴をより確実に除外することを可能にする。
【００４２】
第２実施形態の画像処理システム１０１及び情報処理装置１の構成は第１実施形態（図１）と同様である。また、第２実施形態における処理手順は、ステップＳ１５０（利用可能性決定処理）を除いて第１実施形態（図２）で説明した処理手順と同様である。ステップＳ１５０では、第１実施形態と同様にステップＳ１４０で決定した配置に基づいて入力特徴の利用可能性を決定する。但し、第２実施形態では、利用可能性の伝搬が行われる。図４は、ステップＳ１５０の処理手順の詳細を示すフローチャートである。
【００４３】
ステップＳ２０１０において、配置決定部１２０は、ステップＳ１４０で決定した配置において、それぞれの検出特徴点に対して近傍に存在する特徴保持部１３０が保持している保持特徴点を探索する。そして、ステップＳ２０２０において、配置決定部１２０は、ステップＳ２０１０で探索された保持特徴点のうち利用可能性の値が０である保持特徴点の割合が閾値以上であった場合、その検出特徴点の利用可能性の値を０に、それ以外は１に決定する。ステップＳ２０１０およびステップＳ２０２０の処理は第１実施形態と同様である。
【００４４】
第２実施形態では、ステップＳ２０３０において、配置決定部１２０は、検出特徴点同士の近傍探索を行う。ここでの近傍探索もステップＳ２０１０と同様に画像上で距離が閾値以内で、かつ奥行き差が閾値以内にある特徴点を探索する。これらの閾値は、ステップＳ２０１０で用いられる閾値と同じ値でもよいし、異なる値でもよい。次に、ステップＳ２０４０で近傍の特徴点に利用可能性を伝播させる。利用可能性の伝播処理は、一つの検索特徴点の近傍として探索された検索特徴点に利用可能性が０のものが含まれている場合には、当該一つの検索特徴点の利用可能性を０に変更する処理を再帰的に行う。
【００４５】
以上に述べたように第２実施形態によれば、周囲の利用可能性による利用可能性の決定結果を基に、検出特徴点同士の近傍の情報を用いて利用可能性を更新する。これにより、広い範囲に分布する移動物体が存在するシーンでもより高精度、安定に位置／姿勢を算出する。
【００４６】
＜変形例２−１＞
第２実施形態では、第１実施形態と同様に利用可能性の値が０もしくは１としたが、第１実施形態の変形例でも述べたように、利用可能性は二値である必要はない。例えば、０から１の実数値が利用可能性の値として保持されても良い。その場合、変形例１−４で述べたように、近傍の保持特徴点の持つ利用可能性の平均値が閾値以上であれば当該検出特徴点の利用可能性を１、それ以外は０に設定するようにしてもよい。但し、これに限られるものではなく、たとえば、ステップＳ２０２０において利用可能性を決定する際に、検出特徴点の近傍で探索された保持特徴点の持つ利用可能性の値の平均を当該検出特徴点の利用可能性として決定するようにしてもよい。その場合、ステップＳ２０４０での利用可能性の伝播においては、利用可能性が閾値以下である検出特徴点の利用可能性を０にするように再帰的に伝播させるようにしても良い。また、確率伝搬法を用いて利用可能性を計算してもよい。また、利用可能性の値として二値でない値を採用する場合、第１実施形態の変形例で述べた方法と同様に、ステップＳ１６０で位置姿勢算出する際の重みとして利用可能性が用いられても良い。
【００４７】
＜第３実施形態＞
第１実施形態および第２実施形態では、利用可能性の決定は検出特徴点に対してのみ行い、特徴保持部１３０で保持している保持特徴点の利用可能性が変化することはなかった。第３実施形態では、位置／姿勢の算出結果を基に保持特徴点の利用可能性を更新する。これにより、静止していた物体が動き出すなどの変化が生じた際にも高精度、高安定に位置／姿勢を算出することを可能にする。なお、上述したように、特徴保持部１３０は、各保持特徴について所定の座標系（たとえば、世界座標系）における三次元位置の座標を保持している。
【００４８】
図５は第３実施形態における画像処理システムの構成例を示すブロック図である。図５において、第１実施形態（図１Ａ）と同様の構成には同一の参照番号を付してある。なお、ハードウエア構成は第１実施形態（図１Ｂ）と同様である。第１実施形態と第３実施形態で異なる部分は、情報処理装置１に更新部２９０が追加されている点と、情報処理装置１に算出部１７０が組み込まれている点である。更新部２９０は、算出部１７０で算出された位置／姿勢と、検出部１６０で検出した検出特徴点とに基づいて、特徴保持部１３０が保持する保持特徴点の利用可能性を更新する。これにより、特徴保持部１３０が保持する特徴の情報が更新される。
【００４９】
図６は第３実施形態による映像処理の手順を示すフローチャートである。図６において、第１実施形態（図２）と同様の処理には同一のステップ番号を付してある。第３実施形態の処理は、ステップＳ３６５（利用可能性更新処理）を除いて第１実施形態の処理と同様である。ステップＳ３６５において、更新部２９０は、算出部１７０の位置／姿勢算出結果に基づいて、Ｓ１３０で検出された検出特徴点および特徴保持部１３０が保持している保持特徴点の利用可能性を更新する。図７はステップＳ３６５における処理手順を示すフローチャートである。
【００５０】
ステップＳ３０１０において、更新部２９０は、ステップＳ１６０で算出された位置／姿勢に基づいて、検出特徴点を保持特徴点の座標系へ投影する。更新部２９０は、投影された検出特徴点の三次元位置と、その検出特徴点に対応づけられた保持特徴点の三次元位置とのユークリッド距離を投影誤差として算出する。ステップＳ３０２０において、更新部２９０は、ステップＳ３０１０で算出された投影誤差に基づいて検出特徴点の利用可能性を更新する。ここで、投影誤差が閾値以内であれば検出特徴点の利用可能性が１に設定され、それ以外は０に設定される。なお、保持特徴点と対応付けることができなかった検出特徴点については新たに検出された特徴点の利用可能性は１や０．５等の値に設定される。しかし、新たに検出された特徴点が動く物体上にあると予想される場合等では、利用可能性を０とすればよい。
【００５１】
ステップＳ３０３０において、更新部２９０は、保持特徴点の近傍にある検出特徴点をステップＳ３０１０で投影した三次元位置に基づいて探索する。ここでは、保持特徴点の三次元位置とのユークリッド距離が閾値以内にある検出特徴が探索される。ステップＳ３０４０において、更新部２９０は、ステップＳ３０３０で探索した近傍の検出特徴点の利用可能性に基づいて、保持特徴点の利用可能性を更新する。ここでの利用可能性の計算方法は、第１実施形態および第２実施形態のステップＳ１５０で検出特徴点の利用可能性を決定したのと、検出特徴点と保持特徴点の扱いが反対になっただけの同様の方法で行う。すなわち、更新部２９０は、保持特徴点の近傍で探索された検出特徴点のうち利用可能性の値が０である検出特徴点の割合が所定の閾値以上だった場合には、当該保持特徴点の利用可能性の値を０に決定し、それ以外は１に決定する。ステップＳ３０５０において、更新部２９０は、ステップＳ３０２０で更新した検出特徴点の情報とステップＳ３０４０で更新した保持特徴点の情報をあわせて、特徴保持部１３０へ入力し、特徴保持部１３０が保持する保持特徴点の情報を更新する。たとえば、ステップＳ３０４０で更新された保持特徴点の利用可能性が、特徴保持部１３０に保持されている保持特徴点の利用可能性として設定される。さらに、保持特徴点の三次元座標を、位置／姿勢の算出結果から算出した検出特徴点の三次元座標に置き換えても良い。また、対応する保持特徴点が存在しなかった検出特徴点が、新たな保持特徴点として特徴保持部１３０に保持される。
【００５２】
以上に述べたように、第３実施形態では、位置／姿勢の算出結果を基に保持特徴点の利用可能性が更新される。これにより、静止していた物体が動き出すなどの変化が生じた際にも高精度、高安定に位置／姿勢を算出することができる。
【００５３】
＜変形例３−１＞
第３実施形態では、第１実施形態と同様に利用可能性の値を０もしくは１としたが、第１実施形態の変形例で述べたように、利用可能性の値は二値である必要はなく、たとえば０から１の実数値をとるようにしても良い。その場合、保持特徴点に対する利用可能性の更新方法は第１実施形態および第２実施形態で検出特徴に対して実施した処理と同等のものを適用できる。
【００５４】
＜変形例３−２＞
第３実施形態において、利用可能性更新処理（ステップＳ３６５）は、ステップＳ１６０（位置／姿勢算出処理）とステップＳ１７０（画像合成・表示）の間で実行されるが、これに限られるものではない。ステップＳ３６５の利用可能性更新処理は、ステップＳ１６０から次に特徴保持部１３０の情報を用いるステップＳ１４０（特徴配置決定処理）の実行前までの間であれば、どこで実行されても良いし、並列処理されても良い。
【００５５】
＜変形例３−３＞
第３実施形態では、更新部２９０が、特徴保持部１３０で保持している保持特徴点と、検出部１６０で検出した検出特徴点との両方の利用可能性を更新し、特徴保持部１３０へ入力しているが、これに限られるものではない。たとえば、検出部１６０で検出された検出特徴点の情報のみを特徴保持部１３０へ入力し、特徴保持部１３０によって保持される特徴点を入れ替えるようにしてもよい。これによれば、逐次的に位置／姿勢を算出するオドメトリ処理を実現できる。また、特徴保持部１３０で保持している保持特徴点を更新するようにしてもよい。このようにすれば、１フレームのみの情報から生成されるためにノイズや誤判定が比較的多くなる新規に検出した特徴の情報を特徴保持部１３０における保持対象から除外することができ、安定的に位置／姿勢を算出することができる。
【００５６】
以上説明したように、第１実施形態では、周囲に移動物体上の特徴だと判定された特徴が多い特徴を位置／姿勢算出に利用しないようにする。これにより、移動物体が存在するシーンでも高精度、安定に位置／姿勢を算出することができる。
【００５７】
また、第２実施形態では、周囲の利用可能性決定結果を基に、入力した特徴同士の近傍の情報を用いて利用可能性を更新する。これにより、広い範囲に分布する移動物体が存在するシーンでもより高精度、安定に位置／姿勢を算出することができる。
【００５８】
また、第３実施形態では、位置／姿勢の算出結果を基に保持特徴の利用可能性を更新する。これにより、静止していた物体が動き出すなどの変化が生じた際にも高精度、高安定に位置／姿勢を算出することができる。
【００５９】
なお、上記各実施形態において、特徴入力部１１０に入力される検出特徴として画像から検出される特徴点を用いたがこれに限られるものではなく、位置／姿勢の算出に用いることができる特徴であればいかなるものでも良い。例えば、画像からコーナーを検出して得られた特徴でも良いし、Ｌｏｗｅ（非特許文献８）のＳＩＦＴ特徴量の検出で得られた特徴でも良いし、デプスセンサなどで撮像した三次元データからＳＨＯＴ特徴を抽出したものでも良い。
【００６０】
配置決定部１２０は、特徴保持部１３０の持つ保持特徴点群と特徴入力部１１０に入力された検出特徴点の空間的な配置を決定できればいかなるものでも良い。保持特徴点と検出特徴点のマッチングは、特徴マッチングにより決定されても良いし、慣性センサを利用して予測されても良い。また、特徴マッチングの方法も検出特徴点と保持特徴点が同一のものであるかどうかという対応関係を探索できるものであれば、いかなる方法でもよい。たとえば、正規化相互相関に基づく対応付けでも良いし、特徴量の対応付けでも良いし、Ｔｏｍａｓｉら（非特許文献９）のＫＬＴなどを用いた特徴点追跡が用いられてもよい。
【００６１】
特徴保持部１３０は、特徴点ごとに、位置や向きを特定する幾何情報と、撮像装置の位置／姿勢算出へ利用して良いか否かを表す利用可能性の値を保持するものであればいかなるものでも良い。利用可能性の値は二値で保持されても良いし、実数で保持されても良い。また、複数の利用可能性の値が保持されても良い。
【００６２】
利用可能性決定部１４０は、検出特徴点の利用可能性を、配置決定部１２０が決定した配置に基づいて、保持特徴点から決定するものであればいかなるものでも良い。例えば、検出特徴点の近傍の保持特徴点を探索し、最近傍の保持特徴点の利用可能性を検出特徴点の利用可能性として決定しても良い。また、たとえば、所定の距離より近い保持特徴点の利用可能性の平均値を検出特徴点の利用可能性として決定しても良い。また、利用可能性が所定の値より小さい保持特徴点の割合が所定の値より大きかった場合に利用可能性を０としても良い。また、保持特徴点までの距離に反比例する加重平均によって利用可能性が決定されても良い。
【００６３】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１：情報処理装置、１１０：特徴入力部、１２０：配置決定部、１３０：特徴保持部、１４０：利用可能性決定部、１５０：画像入力部、１６０：検出部、１７０：算出部、８０：画像合成部、１１００：撮像装置、１２００：画像表示部
【図１Ａ】
2018112790.tif 000003
【図１Ｂ】
2018112790.tif 000004
【図２】
2018112790.tif 000005
【図３】
2018112790.tif 000006
【図４】
2018112790.tif 000007
【図５】
2018112790.tif 000008
【図６】
2018112790.tif 000009
【図７】
2018112790.tif 000010