(57)【特許請求の範囲】
【請求項１】
深さ映像の平面情報から交差点を抽出する交差点抽出部と、
前記抽出された交差点を用いて前記平面情報に含まれた各平面に関連する特徴点を算出する特徴点検出部と、
前記算出された特徴点を用いて前記深さ映像を提供した深さカメラのモーションを抽出するモーション抽出部と、
前記平面情報に含まれた２つの平面間の交差線を抽出する交差線抽出部と、
を備え、
前記特徴点検出部は、前記交差点を基準として前記抽出された交差線に沿って一定の間隔だけ離隔された各平面に関連する特徴点を算出する、
ことを特徴とするカメラモーション推定装置。
【請求項２】
前記深さ映像から平面情報を抽出する平面抽出部をさらに備えることを特徴とする請求項１に記載のカメラモーション推定装置。
【請求項３】
前記平面抽出部は、前記深さカメラから獲得したポイントサンプルを３次元方程式に適用させて前記平面情報としての平面集合を定義することを特徴とする請求項２に記載のカメラモーション推定装置。
【請求項４】
前記交差点抽出部は、前記平面情報として抽出された平面集合の元素のうち、３つの元素から構成された部分集合を生成し、生成された部分集合内の三平面方程式を表すベクトルをそれぞれ３つずつ抽出し、抽出された３つのベクトルを用いて前記交差点を抽出することを特徴とする請求項１に記載のカメラモーション推定装置。
【請求項５】
前記特徴点検出部は、前記一定の間隔を調整して複数の特徴点を算出することを特徴とする請求項１に記載のカメラモーション推定装置。
【請求項６】
第１深さカメラの第１フレームで抽出された第１平面情報に含まれた第１特徴点を算出し、第２深さカメラの第２フレームで抽出された第２平面情報に含まれた第２特徴点を算出する特徴点検出部と、
前記第１特徴点と前記第２特徴点を用いて前記第１深さカメラと前記第２深さカメラとの間のモーションを抽出するモーション抽出部と、
を備えることを特徴とするカメラモーション推定装置。
【請求項７】
深さカメラポーズを更新するポーズ更新部をさらに備えることを特徴とする請求項６に記載のカメラモーション推定装置。
【請求項８】
前記第１深さカメラから獲得した第１ポイントサンプルを３次元方程式に適用させて第１平面集合を定義し、前記第２深さカメラから獲得した第２ポイントサンプルを３次元方程式に適用させて第２平面集合を定義する平面抽出部をさらに備えることを特徴とする請求項６に記載のカメラモーション推定装置。
【請求項９】
前記第１平面情報に含まれた２つの平面間の第１交差線を抽出する交差線抽出部と、
前記抽出された第１交差線を用いて前記第１平面情報として抽出された第１平面集合の元素のうち、３つの元素から構成された第１の部分集合を生成し、生成された第１の部分集合内の三平面方程式を表す第１ベクトルを抽出し、抽出された第１ベクトルを用いて前記第１フレームに関連する交差点を抽出する交差点抽出部と、
をさらに備えることを特徴とする請求項６に記載のカメラモーション推定装置。
【請求項１０】
前記特徴点検出部は、前記交差点を基準として前記抽出された第１交差線に沿って一定の間隔だけ離隔された各平面に関連する少なくとも１つ以上の第１特徴点を算出することを特徴とする請求項９に記載のカメラモーション推定装置。
【請求項１１】
深さカメラで獲得した深さ映像の平面情報から交差点を抽出するステップと、
前記抽出された交差点を用いて前記平面情報に含まれた各平面に関連する特徴点を算出するステップと、
前記算出された特徴点を用いて前記深さカメラのモーションを抽出するステップと、
前記平面情報に含まれた２つの平面間の交差線を抽出するステップと、
を含み、
前記各平面に関連する特徴点を算出するステップは、前記交差点を基準として前記抽出された交差線に沿って一定の間隔だけ離隔された少なくとも１つ以上の特徴点を算出するステップを含む、
ことを特徴とするカメラモーションの推定方法。
【請求項１２】
前記深さカメラから獲得したポイントサンプルを３次元方程式に適用させて前記平面情報としての平面集合を定義するステップをさらに含むことを特徴とする請求項１１に記載のカメラモーションの推定方法。
【請求項１３】
前記交差点を抽出するステップは、
前記抽出された交差線を用いて選択されたｉ（ｉは平面の数）個の元素から構成された部分集合を生成するステップと、
前記生成された部分集合内の前記ｉ個の平面方程式を表すベクトルを抽出するステップと、
前記抽出されたベクトルを用いて前記ｉ個のｎ×ｎ（ｎは自然数）行列を構成し、構成されたｎ×ｎ行列で前記交差点を抽出するステップと、
をさらに含むことを特徴とする請求項１１に記載のカメラモーションの推定方法。
【請求項１４】
前記深さ映像に微分演算子を適用してエッジを抽出するステップをさらに含み、
前記深さカメラのモーションを抽出するステップは、前記抽出されたエッジを用いて前記深さ映像を提供した深さカメラのモーションを抽出するステップを含むことを特徴とする請求項１１に記載のカメラモーションの推定方法。
【請求項１５】
深さ映像を生成する深さカメラと、
前記生成された深さ映像を用いて前記深さカメラに対するモーションを推定するカメラモーション推定装置と、
前記推定されたカメラモーションでカメラポーズを更新するポーズ更新部と、
前記更新されたカメラポーズを用いて仮想カメラポーズを更新する仮想カメラポーズ更新部と、
前記深さカメラと同じ視点を有するカラーカメラからカラー映像を獲得するカラー映像獲得部と、
仮想オブジェクトデータベースを参照して前記更新された仮想カメラポーズと仮想オブジェクトを整合する整合器と、
前記獲得したカラー映像と前記整合された仮想オブジェクトとを整合する現実映像／仮想オブジェクト整合部と、
を備えることを特徴とする拡張現実システム。
【請求項１６】
深さ映像を生成する深さカメラと、
前記生成された深さ映像を用いて前記深さカメラに対するモーションを推定するカメラモーション推定装置と、
前記推定されたカメラモーションでカメラポーズを更新するポーズ更新部と、
前記深さカメラと異なる視点を有するカラーカメラからカラー映像を獲得するカラー映像獲得部と、
互いに異なる視点を有する前記深さ映像と前記カラー映像を同じ視点を有するように矯正するカメラ矯正部と、
前記更新されたカメラポーズと前記カメラ矯正部によって矯正された視点を用いて仮想カメラポーズを更新する仮想カメラポーズ更新部と、
仮想オブジェクトデータベースを参照して前記更新された仮想カメラポーズと仮想オブジェクトとを整合する整合器と、
前記視点が矯正されたカラー映像と前記整合された仮想オブジェクトとを整合する現実映像／仮想オブジェクト整合部と、
を備えることを特徴とする拡張現実システム。
【請求項１７】
第１深さカメラの第１フレームで抽出された第１平面情報に含まれた第１特徴点を算出し、第２深さカメラの第２フレームで抽出された第２平面情報に含まれた第２特徴点を算出するステップと、
前記第１特徴点と前記第２特徴点を用いて前記第１深さカメラと前記第２深さカメラとの間のモーションを抽出するモーションステップと、
を備えることを特徴とするカメラモーション推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラのモーションをリアルタイムで推定するための技術に関する。
【背景技術】
【０００２】
拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）は、現実の世界に仮想のオブジェクトを重複してみせる技術である。一般的に、現実の世界はビデオカメラなどによって獲得された映像を用いる。ビデオ映像に仮想オブジェクトを視感的な差なしに重複して表すためには、撮影されたビデオ映像と同じ視点で仮想オブジェクトを整合し、ビデオカメラが動くたびに仮想オブジェクトの方向および位置を更新しなければならない。そのためにはビデオカメラの方向および位置をリアルタイムで確認しなければならない。
【０００３】
従来におけるカメラモーション（方向および位置）を推定する方法として、大部分の光の波長に対する強度信号を検出するカメラセンサで出力された映像（以下、カラー映像）を対象にする。フレームごとにカメラモーションを推定するためには、カラー映像で特徴的な成分（例えば、点または線）の集合を抽出し、隣接したフレームで特徴成分のカラー映像内の位置情報を比較して算出する方式を用いる。このとき、特徴的な成分を抽出するためには周辺の画素値と著しく異なる点や線を抽出するため、各画素のカラー（あるいは明度（ｉｎｔｅｎｓｉｔｙ））値を用いる。
【０００４】
しかし、従来の技術によると、三次元空間上の同一な点はフレームごとに同一あるいは類似のカラー値を有していることを前提とする。そのために照明環境が急激に変化する場合には前フレームで抽出された特徴成分が現フレームで抽出されないか、または特徴成分を記述する記述子（ｄｅｓｃｒｉｐｔｏｒ）の特性が変化することから２つの特徴成分間の正確なマッチングが保障されないなど、カメラモーションの推定が失敗する可能性が大きい。また、隣接の画素と区別される特徴的な画素が少ない場合にも（類似パターンテクスチャの反復、または同一のカラーからなる領域など）カメラモーションの推定が困難である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、照明環境が動的に変化したり、空間内のテクスチャ状態に関係なくカメラモーションを推定することにある。
【０００６】
本発明の目的は、現実の空間上に多く存在する平面情報を深さカメラから抽出し、抽出された平面情報を用いて各平面に対する特徴点を算出することによって、カメラモーションの推定に活用することにある。
【０００７】
本発明の目的は、拡張現実、混合現実、ロボット掃除機、ロボット自動走行、乗り物（ｖｅｈｉｃｌｅ）の自動走行、スマートフォン、およびタブレットＰＣアプリケーションなど、カメラの位置および方向追跡が必須な分野に活用することにある。
【０００８】
本発明の目的は、カラーカメラに基づいたモーション推定技術の限界を克服するために、深さカメラで生成された深さ映像を用いることによって、明度値に基づいたカラー映像ではモーション推定できない場合でも動作可能にすることにある。
【０００９】
本発明に目的は、深さ映像の空間内の平面情報が存在しない場合、微分演算子を深さ映像に適用することによって、回転不変特徴（ｒｏｔａｔｉｏｎ  ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ）を有するエッジを抽出することにある。
【課題を解決するための手段】
【００１０】
一実施形態に係るカメラモーション推定装置は、深さ映像の平面情報から交差点を抽出する交差点抽出部と、前記抽出された交差点を用いて前記平面情報に含まれた各平面に関連する特徴点を算出する特徴点検出部と、前記算出された特徴点を用いて前記深さ映像を提供した深さカメラのモーションを抽出するモーション抽出部とを備える。
【００１１】
前記カメラモーション推定装置は、前記深さ映像から平面情報を抽出する平面抽出部をさらに備えてもよい。
【００１２】
前記平面抽出部は、前記深さカメラから獲得したポイントサンプルを３次元方程式に適用させて前記平面情報としての平面集合を定義してもよい。
【００１３】
前記交差点抽出部は、前記平面情報として抽出された平面集合の元素のうち、３つの元素から構成された部分集合を生成し、生成された部分集合内の三平面方程式を表すベクトルをそれぞれ３つずつ抽出し、抽出された３つのベクトルを用いて前記交差点を抽出してもよい。
【００１４】
前記カメラモーション推定装置は、前記平面情報に含まれた２つの平面間の交差線を抽出する交差線抽出部をさらに備えてもよい。
【００１５】
前記特徴点検出部は、前記交差点を基準として前記抽出された交差線に沿って一定の間隔だけ離隔された各平面に関連する特徴点を算出してもよい。
【００１６】
前記特徴点検出部は、前記一定間隔を調整して複数の特徴点を算出してもよい。
【００１７】
前記モーション抽出部は、第１深さカメラから抽出された第１特徴点と第２深さカメラから抽出された第２特徴点とを用いて、前記第１深さカメラと前記第２深さカメラとの間の回転情報または移動情報を算出してもよい。
【００１８】
他の実施形態に係るカメラモーション装置は、第１深さカメラの第１フレームで抽出された第１平面情報に含まれた第１特徴点を算出し、第２深さカメラの第２フレームで抽出された第２平面情報に含まれた第２特徴点を算出する特徴点検出部と、前記第１特徴点と前記第２特徴点を用いて前記第１深さカメラと前記第２深さカメラとの間のモーションを抽出するモーション抽出部とを備えてもよい。
【００１９】
前記交差線抽出部は、前記深さ映像に微分演算子を適用してエッジを抽出してもよい。前記モーション抽出部は、前記抽出されたエッジを用いて前記深さ映像を提供した深さカメラのモーションを抽出してもよい。
【００２０】
一実施形態に係るカメラモーション推定方法は、深さカメラで獲得した深さ映像の平面情報から交差点を抽出するステップと、前記抽出された交差点を用いて前記平面情報に含まれた各平面に関連する特徴点を算出するステップと、前記算出された特徴点を用いて前記深さカメラのモーションを抽出するステップとを含む。
【００２１】
一実施形態に係る拡張現実システムは、深さ映像を生成する深さカメラと、前記生成された深さ映像を用いて前記深さカメラに対するモーションを推定するカメラモーション推定装置と、前記推定されたカメラモーションでカメラポーズを更新するポーズ更新部と、前記更新されたカメラポーズを用いて仮想カメラポーズを更新する仮想カメラポーズ更新部と、前記深さカメラと同じ視点を有するカラーカメラからカラー映像を獲得するカラー映像獲得部と、仮想オブジェクトデータベースを参照して前記更新された仮想カメラポーズと仮想オブジェクトを整合する整合器と、前記獲得したカラー映像と前記整合された仮想オブジェクトとを整合する現実映像／仮想オブジェクト整合部とを備える。
【００２２】
他の実施形態に係る拡張現実システムは、深さ映像を生成する深さカメラと、前記生成された深さ映像を用いて前記深さカメラに対するモーションを推定するカメラモーション推定装置と、前記推定されたカメラモーションでカメラポーズを更新するポーズ更新部と、前記深さカメラと異なる視点を有するカラーカメラからカラー映像を獲得するカラー映像獲得部と、互いに異なる視点を有する前記深さ映像と前記カラー映像を同じ視点を有するように矯正するカメラ矯正部と、前記更新されたカメラポーズと前記カメラ矯正部によって矯正された視点を用いて仮想カメラポーズを更新する仮想カメラポーズ更新部と、仮想オブジェクトデータベースを参照して前記更新された仮想カメラポーズと仮想オブジェクトとを整合する整合器と、前記視点が矯正されたカラー映像と前記整合された仮想オブジェクトとを整合する現実映像／仮想オブジェクト整合部とを備える。
【００２３】
他の実施形態に係るカメラモーション推定装置は、深さ映像に微分演算子を適用してエッジを抽出するエッジ抽出部と、前記抽出されたエッジを用いて前記深さ映像を提供した深さカメラのモーションを抽出するモーション抽出部とを備える。
【発明の効果】
【００２４】
本発明によると、照明環境が動的に変化したり、空間内のテクスチャ状態に関係なくカメラモーションを推定することができる。
【００２５】
本発明によると、現実の空間上に多く存在する平面情報を深さカメラから抽出し、抽出された平面情報を用いて各平面に対する特徴点を算出することによって、カメラモーションの推定に活用することができる。
【００２６】
本発明によると、拡張現実、混合現実、ロボット掃除機、ロボット自動走行、乗り物の自動走行、スマートフォン、およびタブレットＰＣアプリケーションなど、カメラの位置および方向追跡が必須な分野に活用することができる。
【００２７】
本発明によると、カラーカメラに基づいたモーション推定技術の限界を克服するために、深さカメラで生成された深さ映像を用いることによって、明度値に基づいたカラー映像ではモーション推定できない場合でも動作可能にすることができる。
【００２８】
本発明によると、深さ映像の空間内の平面情報が存在しない場合、微分演算子を深さ映像に適用することによって、回転不変特徴を有するエッジを抽出する。
【図面の簡単な説明】
【００２９】
【図１】カメラモーション推定装置の構成を示すブロック図である。
【図２】三平面を含む環境における深さ映像とカラー映像を示す図である。
【図３】深さ映像を用いてカメラモーションを推定する一例を示す図である。
【図４】深さ映像から抽出された平面情報から交差点と交差線を抽出する一例を示す図である。
【図５】同じ視点を有するカラー映像と深さ映像が提供される場合、拡張現実システムで仮想オブジェクトを整合する一例を示すブロック図である。
【図６】異なる視点を有するカラー映像と深さ映像が提供される場合、拡張現実システムで仮想オブジェクトを整合する一例を示すブロック図である。
【図７】深さ映像から抽出されたカメラモーションを用いてカラー映像に仮想オブジェクトを整合する一例を示す図である。
【図８】三平面が物理的に交差しないカラー映像に仮想オブジェクトを整合する一例を示す図である。
【図９】上記した平面以外にも実際のオブジェクトが存在するカラー映像に仮想オブジェクトを整合する一例を示す図である。
【図１０】深さカメラで撮影した深さ映像を用いて仮想オブジェクトを整合する一例を示す図である。
【図１１】カメラモーションの推定方法の順を示すフローチャートである。
【図１２】カメラモーション推定装置に対する他の実施形態を示すブロック図である。
【図１３】カメラモーションの推定方法に対する他の実施形態を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付の図面および添付の図面に記載された内容を参照して本発明の様々な実施形態を詳説するが、本発明が実施形態によって制限されたり限定されることはない。
【００３１】
カメラモーションを推定するためには映像内の特徴成分を抽出してフレームごとに特徴成分の間のマッチングを通してカメラの方向／位置算出のときに利用しなければならない。しかし、映像から特徴成分を正常に抽出できない場合（テクスチャの不足、反復的なテクスチャパターン、照明が暗かったり明度の差が激しい場合など）にはカメラモーションの抽出が困難である。したがって、カメラモーションの推定の一実施形態の拡張現実システムにおいて、実写ビデオに仮想オブジェクトを重複して表すことができない。したがって、カメラモーションを確実に抽出するためには、人為的に空間内のテクスチャ情報を配置しなければならないなどの制約がある。
【００３２】
本発明ではこのような問題を解決するために、照明条件が変化する場合にカラー映像では同じ地点の画素値は変わるが、深さ映像では照明が変化しても位置が同一であるため同一の値を有する。したがって、カメラモーション推定装置は深さ映像を用いてカメラモーションを推定する方案を提案する。
【００３３】
図１は、カメラモーション推定装置の構成を示すブロック図である。図１を参考すると、カメラモーション推定装置１００は、深さ映像獲得部１１０、平面抽出部１２０、交差点抽出部１３０、交差線抽出部１４０、特徴点検出部１５０、モーション抽出部１６０、およびポーズ更新部１７０を備える。
【００３４】
深さカメラ（ｄｅｐｔｈ  ｃａｍｅｒａ）１０は、ＴＯＦ（Ｔｉｍｅ−Ｏｆ−Ｆｌｉｇｈｔ）方式で３次元深さ映像を生成する。このような深さカメラ１０は、３次元の立体映像を獲得するために活用される。
【００３５】
深さ映像獲得部１１０は深さカメラ１０で生成された深さ映像を獲得する。
【００３６】
図２は、三平面を含む環境における深さ映像とカラー映像を示す図である。図２を参照すると、深さ映像２１０とカラー映像２２０は三平面を含んでいる。一般に、深さ映像２１０は、カラー映像２２０に比べて照明環境の変化と空間内のテクスチャ状態に影響をあまり受けない。しかし、カラー映像２２０は照明環境の変化とテクスチャ状態に影響を多く受けるため、カメラモーションの推定に用いることが難い。特に、カラー映像２２０は、隣接の画素と区別される特徴的な画素が少ない場合にも（類似パターンのテクスチャが反復、または同一のカラーからなる領域など）カメラモーションの推定が難しい。
【００３７】
したがって、カメラモーション推定装置１００は深さ映像２１０を用いてカメラモーションを推定できる。
【００３８】
図２では深さ映像２１０とカラー映像２２０が三平面を含む一例を挙げて説明するが、空間上に必ず３つの平面のみが存在するものではなく、単に交差点を求めるために必要な最小の数が３つであるため、説明の便宜のために３つで表記した。すなわち、３つ以上の平面を含む深さ映像２１０とカラー映像２２０の場合にも、カメラモーション推定装置１００は深さ映像２１０を用いてカメラモーションの推定を行うことができる。
【００３９】
平面抽出部１２０は、獲得した深さ映像から平面情報を抽出する。平面抽出部１２０は、深さカメラ１０から獲得したポイントサンプル（ｐｏｉｎｔ  ｓａｍｐｌｅ）を用いて空間内の全ての平面情報を抽出する。実施形態において、平面抽出部１２０は、ＲＡＮＳＡＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）アルゴリズムを用いて平面情報を抽出する。例えば、平面抽出部１２０は、ポイントサンプルを３次元方程式に適用して平面情報としての平面集合を定義する。
【００４０】
【数１】
0005952001.tif 000002
ここで、Ｓｊはｊ番目のフレームで抽出された全ての平面を元素として有する平面集合、ｊはフレーム番号、ｉはｊ番目のフレームで抽出された平面インデックス、ｎは全体の平面数である。
【００４１】
交差点抽出部１３０は平面情報から交差点を抽出する。例えば、交差線抽出部１４０が平面情報に含まれた複数の平面のうち、２つの平面間の交差線を抽出すると、交差点抽出部１３０は抽出された交差線の間の交差によって交差点を算出する。このとき、交差線は、初期交差点ではない後で付加的に求める交差点を算出するために算出される。または交差点抽出部１３０は、以下、式（４）を用いて平面方式から交差点を直接に算出する。
【００４２】
例えば、交差点抽出部１３０は、平面情報に含まれた３つの平面を用いて三次元空間上における交差点を求めてもよい。一般に、平面間の交差点を求めるためには最小３つの平面が必要である。そのために、交差点抽出部１３０は、平面集合Ｓｊの元素のうち、３つの元素からなる全ての部分集合
【００４３】
【数２】
0005952001.tif 000003
の組合せを生成してもよい。
【００４４】
【数３】
0005952001.tif 000004
ここで、
【００４５】
【数４】
0005952001.tif 000005
はＳｊの部分集合として３つの平面から構成される。ｊはフレーム番号、ａ、ｂ、ｃは
【数５】
0005952001.tif 000006
に属する平面インデックス（Ｓｊに属する平面）、ｎは全体の平面数（Ｓｊで言及のｎと同一）交差点抽出部１３０は実施形態によって上記の部分集合の数を設定する。
【００４６】
【数６】
0005952001.tif 000007
ここで、ｔは部分集合の数であり、ｎは全体の平面数である。
【００４７】
交差点抽出部１３０は上記の部分集合内の三平面方程式を表すベクトルを抽出する。すなわち、交差点抽出部１３０は、部分集合
【００４８】
【数７】
0005952001.tif 000008
内の三平面方程式を表すベクトルをそれぞれ（ａ１、ｂ１、ｃ１、ｄ１）、（ａ２、ｂ２、ｃ２、ｄ２）、（ａ３、ｂ３、ｃ３、ｄ３）といえる。
【００４９】
続いて、交差点抽出部１３０は、抽出されたベクトルを用いて交差点を抽出する。例えば、交差点抽出部１３０は、ｊ番目のフレーム上で抽出された部分集合内の三平面の交差点の三次元空間上における座標
【００５０】
【数８】
0005952001.tif 000009
（ここで、ｊはフレーム番号、ｔは全体の平面数）を式（４）によって求めることができる。
【００５１】
【数９】
0005952001.tif 000010
ここで、
【００５２】
【数１０】
0005952001.tif 000011
は三平面に対するそれぞれの座標値であってもよい。
【００５３】
このとき、
【００５４】
【数１１】
0005952001.tif 000012
である。
【００５５】
「ＤＥＴ＝０」である場合、交差点抽出部１３０は、３つの平面のうち２つ以上の平面が互いに平行し、平面間の交差点が存在しない場合であるため、算出から除外されてもよい。
【００５６】
特徴点検出部１５０は、抽出された交差点を用いて平面情報に含まれた各平面に関連する特徴点を算出してもよい。
【００５７】
図３は、深さ映像を用いてカメラモーションを推定する一例を示す図である。図３を参照すると、交差線抽出部１４０は、平面情報π１、π２、π３に含まれた２つの平面（π１とπ２、π１とπ３、π２とπ３）間の交差線Ｌ１２、Ｌ３１、Ｌ２３を抽出する。
【００５８】
特徴点検出部１５０は、交差点を基準として抽出された交差線に沿って一定の間隔だけ離隔された各平面に関連する特徴点を算出する。図示すように、２つの平面間には交差線Ｌ１２、Ｌ３１、Ｌ２３が存在する。特徴点検出部１５０は各交差線に沿って一定の間隔「λ」だけ離れた箇所にある追加的な特徴点
【００５９】
【数１２】
0005952001.tif 000013
を求めることができる。
【００６０】
【数１３】
0005952001.tif 000014
ここで、
【００６１】
【数１４】
0005952001.tif 000015
はπ１平面に対する特徴点であり、
【００６２】
【数１５】
0005952001.tif 000016
はπ２平面に対する特徴点であり、
【００６３】
【数１６】
0005952001.tif 000017
はπ３平面に対する特徴点である。
【００６４】
図４は、深さ映像で抽出された平面情報から交差点と交差線を抽出する一例を示す図である。図４を参照すると、交差線抽出部１４０は平面情報に含まれた３つの平面に対する交差点を求めるため、隣接した２つの平面間の交差線を抽出する４１０。図面にからは３つの平面が出ているため、交差線抽出部１４０は３つの交差線を抽出する。交差点抽出部１３０は、抽出された３つの交差線が接点する中央座標点を交差点として抽出する４２０。特徴点検出部１５０は、交差点を基準として抽出された交差線に沿って一定の間隔だけ離隔された各平面に関連する特徴点を算出する４３０。
【００６５】
このとき、特徴点検出部１５０は、一定間隔を調整して複数の特徴点を算出する。すなわち、追加的な特徴点の数はλｍである数のｍの三倍数に増加し、抽出された特徴点の総数はｎｆｅａｕｔｅｒｓ＝１＋３ｍである。図面４３０において、三平面間の交差線および交差点を用いて追加的に抽出した特徴点を見せ、「ｍ＝３」の場合である。このように、特徴点検出部１５０は、上記のようにｊ番目のフレームｉｔｈにおける特徴点を算出し、ｊ＋１回目フレームｉｔｈ＋１における特徴点を求めることができる。
【００６６】
モーション抽出部１６０は、算出された特徴点を用いて深さカメラのモーションを抽出する。例えば、モーション抽出部１６０は、第１深さカメラから抽出された第１特徴点と第２深さカメラから抽出された第２特徴点とを用いて、第１深さカメラと第２深さカメラとの間の回転情報または移動情報を算出する。
【００６７】
実施形態において、第１特徴点はｊ番目のフレームで抽出された特徴点であり、第２特徴点はｊ＋１回目フレームで抽出された特徴点であってもよい。モーション抽出部１６０は、２つのフレームｊ、ｊ＋１における特徴点集合
【００６８】
【数１７】
0005952001.tif 000018
を用いて１深さカメラと第２深さカメラとの間の相対的な回転情報または移動情報を算出する。
【００６９】
【数１８】
0005952001.tif 000019
ここで、Ｒ３ｘ３は回転情報、Ｔ３ｘ１は移動情報である。Ｆ（Ｆｕｎｃｔｉｏｎ）は２つの特徴点を整合するための関数である。このとき、２つの特徴点集合を整合するための関数（Ｆ）はＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｔ  Ｐｏｉｎｔｓ）のようなアルゴリズムを用いてもよい。
【００７０】
モーション抽出部１６０は、第１、第２深さカメラ間の変換行列である「ＲＴ」を式（７）のように求めることができる。
【００７１】
【数１９】
0005952001.tif 000020
また、ポーズ更新部１７０は、変換行列を用いて第１深さカメラと第２深さカメラのポーズを式（８）のように求めることができる。このとき、初期カメラポーズＰｒｏｊ０は初めてのフレームの深さカメラ座標系に定義してもよく、ワールド座標系と一致すると仮定するとき、基本行列（ｉｄｅｎｔｉｔｙ  ｍａｔｒｉｘ）のように表してもよい。
【００７２】
【数２０】
0005952001.tif 000021
ここで、Ｐｒｏｊ０はｊ＋１回目フレームの深さカメラ座標系、ＲＴ−１は変換行列の逆行列、Ｐｒｏｊ０はｊ番目のフレームの深さカメラ座標系である。
【００７３】
このような、カメラモーション推定装置１００は、拡張現実システムに適用されて実行されることができる。拡張現実システムは、現実世界に仮想のオブジェクトを重複してみせるものである。
【００７４】
実施形態において、交差線抽出部１４０は、深さ映像に微分演算子を適用してエッジを直接抽出する。微分演算子は、１次微分演算子（ｇｒａｄｉｅｎｔ）または２次微分演算子（ｌａｐｌａｃｉａｎ）であってもよい。１次微分演算子は、ｘ方向の微分ｆｘとｙ方向の微分ｆｙに区分する。
【００７５】
【数２１】
0005952001.tif 000022
ここで、ｘはｘ軸方向深さ映像のピクセル値、ｙはｙ軸方向深さ映像のピクセル値であってもよい。
【００７６】
【表１】
0005952001.tif 000023
交差線抽出部１４０は表１に記載されている様々な１次微分演算子を深さ映像に適用することによってエッジを抽出する。
【００７７】
２次微分は１次微分をさらに一回微分する方法である。例えば、交差線抽出部１４０は、２次微分演算子でラプラシアンマスクを適用する「ラプラシアン演算子」を深さ映像に適用することによってエッジを抽出する。ラプラシアン演算子は、深さ映像における明るさの変化量を測定して変化の大きい部分をエッジとして抽出する方式であり、１次微分する方式に比べて雑音に強いという長所がある。
【００７８】
一例として、交差線抽出部１４０は、深さ映像の空間内の平面情報が存在しない場合、２次微分演算子を深さ映像に適用することによって、回転不変の特徴（ｒｏｔａｔｉｏｎ  ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ）を有するエッジを抽出する。
【００７９】
【数２２】
0005952001.tif 000024
交差線抽出部１４０は式（１０）の行列を深さ映像に適用することによって、エッジを抽出する。式（１０）はエッジを検出するための１つの実施形態であるラプラシアン演算子を実現するためのマスクとして、交差線抽出部１４０は、ラプラシアン演算子の他にも様々な２次微分演算子（例えば、ガウシアン−ラプラシアン演算子）を用いてエッジを抽出してもよい。
【００８０】
モーション抽出部１６０は、抽出されたエッジを用いて深さ映像を提供した深さカメラのモーションを抽出する。
【００８１】
図５は、同じ視点を有するカラー映像と深さ映像が提供される場合、拡張現実システムにおいて仮想オブジェクトを整合する一例を示すブロック図である。図５を参照すると、拡張現実システム５００は深さカメラ５１０で獲得した深さ映像をカメラモーション推定装置５２０に通過させてカメラモーションを推定し、推定されたカメラモーションを用いてポーズ更新部５３０でカメラポーズを更新する。仮想カメラポーズ更新部５６０は、ポーズ更新部５３０から受信された更新のカメラポーズを用いて仮想カメラポーズを更新する。
【００８２】
仮想オブジェクトデータベース５８０は、整合対象となる仮想オブジェクトを格納している。仮想カメラポーズ更新部５６０における仮想カメラポーズの更新に応じて整合器５７０は、仮想オブジェクトデータベース５８０から仮想オブジェクトを抽出し、抽出された仮想オブジェクトを更新された仮想カメラポーズで整合することができる。
【００８３】
カラー映像獲得部５５０は、深さカメラ５１０と同じ視点を有するカラーカメラ５４０でカラー映像を獲得する。
【００８４】
現実映像／仮想オブジェクト整合部５９０は、カラー映像と整合された仮想オブジェクトを整合する。
【００８５】
図６は、異なる視点を有するカラー映像と深さ映像が提供される場合、拡張現実システムで仮想オブジェクトを整合する一例を示すブロック図である。図６を参照すると、拡張現実システム６００は、深さカメラ６０１で獲得した深さ映像をカメラモーション推定装置６０２に通過させ、深さカメラ６０１のモーションを推定する。
【００８６】
カラー映像獲得部６０６は、深さカメラ６０１と異なる視点を有するカラーカメラ６０５でカラー映像を獲得する。
【００８７】
拡張現実システム６００は互いに異なる視点を矯正するために、カメラ矯正部６０４をさらに備えてもよい。カメラ矯正部６０４は、視点が互いに異なる深さ映像とカラー映像を同じ視点を有するよう矯正する。
【００８８】
仮想カメラポーズ更新部６０７は、ポーズ更新部６０３から更新されたカメラポーズとカメラ矯正部６０４で矯正された視点を用いて仮想カメラポーズを更新する。
【００８９】
整合器６０８は、仮想オブジェクトデータベース６０９を参照して更新された仮想カメラポーズと仮想オブジェクトを整合する。
【００９０】
現実映像／仮想オブジェクト整合部６１０は、視点が矯正されたカラー映像と整合された仮想オブジェクトを整合する。
【００９１】
図７は、深さ映像から抽出されたカメラモーションを用いてカラー映像に仮想オブジェクトを整合する一例を示す図である。図７を参照すると、拡張現実システムは深さ映像７１０と、深さ映像７１０と同じ視点を有するカラー映像７２０とを整合して整合映像７３０を生成する。すなわち、整合映像７３０は、深さ映像７１０から抽出されたカメラモーション（回転、移動）情報を用いてカラー映像７２０に仮想オブジェクトのヤカンが重なった映像である。すなわち、カメラの動きが仮想オブジェクトのポーズにも反映されることを意味する。
【００９２】
図８は、三平面が物理的に交差しないカラー映像に仮想オブジェクトを整合する一例を示す図である。図８を参照すると、三平面が空間上で物理的に交差しない場合でも拡張現実システムは深さ映像８１０と、深さ映像８１０と同じ視点を有するカラー映像８２０とを整合して整合映像８３０を生成する。カラー映像８２０で確認されるように、照明環境が変化しているもののカメラモーション推定装置１００は深さ映像８１０を用いてカメラモーションを推定することによって、カラー映像８２０の照明変化が深さ映像８１０に影響を及ぼさないことから、カメラモーションを正確に推定することができる。
【００９３】
図９は、上記した平面の他にも実際のオブジェクトが存在するカラー映像に仮想オブジェクトを整合する一例を示す図である。図９を参照すると、拡張現実システムは、カラー映像９２０に実際のオブジェクトが存在する場合でも深さ映像９１０とカラー映像９２０とを整合して整合映像９３０を生成する。すなわち、カラー映像９２０で確認されるように、実際のオブジェクト（電話機、装飾品）が存在するもののカメラモーション推定装置１００は深さ映像９１０を用いてカメラモーションを推定することによって、カラー映像９２０に含まれた実際のオブジェクトが深さ映像９１０に影響を及ぼさないことから、カメラモーションを正確に推定することができる。
【００９４】
図１０は、深さカメラで撮影した深さ映像を用いて仮想オブジェクトを整合する一例を示す図である。図１０を参照すると、１０１０は実際空間を示し、１０２０は深さカメラで撮影した深さ映像を示す。１０２０では実際空間１０１０内に平面の他に実際のオブジェクト（電話機）が含まれている。１０３０は拡張現実システムがカメラモーション推定装置１００を用いてカメラモーションを推定することによって、実際のオブジェクト（電話機）と仮想オブジェクト（ヤカン）とを整合した映像である。
【００９５】
図１１は、カメラモーションの推定方法の順を示すフローチャートである。図１１を参照すると、カメラモーションの推定方法はカメラモーション推定装置１００によって実行される。
【００９６】
ステップＳ１１１０において、カメラモーション推定装置１００は、深さカメラ１０で獲得した深さ映像から平面情報を抽出する。例えば、深さ映像は３次元の立体映像であるため、３つの平面が抽出され得る。カメラモーション推定装置１００は、深さカメラ１０から獲得したポイントサンプルを３次元方程式に適用して平面情報としての平面集合を定義する。
【００９７】
ステップＳ１１２０において、カメラモーション推定装置１００は、抽出された平面情報に含まれた２つの平面間の交差線を抽出する。平面情報に３つの平面π１、π２、π３が存在する場合、カメラモーション推定装置１００は２つの平面（π１とπ２、π１とπ３、π２とπ３）の間の交差線Ｌ１２、Ｌ３１、Ｌ２３を抽出する。
【００９８】
ステップＳ１１３０において、カメラモーション推定装置１００は、抽出された交差線を用いて交差点を抽出する。例えば、カメラモーション推定装置１００は、平面情報として抽出された平面集合の元素のうち３つの元素から構成された部分集合を生成し、生成された部分集合内の三平面方程式を表すベクトルをそれぞれ３つずつ抽出し、抽出された３つのベクトルを用いて交差点を抽出する。
【００９９】
ステップＳ１１４０において、カメラモーション推定装置１００は、交差点を基準として交差線に沿って各平面に関連する特徴点を算出する。カメラモーション推定装置１００は、交差点で交差線に沿って一定間隔（λ）だけ離隔された各平面π１、π２、π３に関連する特徴点
【０１００】
【数２３】
0005952001.tif 000025
を算出する。
【０１０１】
ステップＳ１１５０において、カメラモーション推定装置１００は、算出された特徴点を用いて深さカメラのモーションを抽出する。カメラモーション推定装置１００は、第１深さカメラから抽出された第１特徴点と第２深さカメラから抽出された第２特徴点を用いて、第１深さカメラと第２深さカメラとの間の回転情報と移動情報を算出する。
【０１０２】
このようなカメラモーション推定装置１００は、照明変化が大きくてフレーム間の同じ特徴点を抽出することができない場合でもカメラモーションの推定技術の活用の範囲を広げることができる。すなわち、カメラモーション推定装置１００は、照明が極めて暗くて特徴点が抽出されない場合、均一（ｈｏｍｏｇｅｎｅｏｕｓ）な材質（例えば、モノカラー（ｍｏｎｏ  ｃｏｌｏｒ））からなる空間で特徴点が検索されない場合、反復的なテクスチャパターンによって特徴点間の正確なマッチングが困難である場合など、カメラモーションを推定を適用するとき環境制約の条件を緩和させてカメラモーションの推定技術の活用の範囲を広げることができる。
【０１０３】
また、現実空間では壁、底、天井、机などのような平面情報を容易に抽出する。したがって、カメラモーション推定装置１００は、現実環境の特徴を用いて複雑な過程を行うことなく、より容易かつ手軽にカメラモーションを推定することができる。
【０１０４】
また、カメラモーション推定装置１００は、カラーカメラと深さカメラを同時に活用した強い（ｒｏｂｕｓｔ）ハイブリッド（ｈｙｂｒｉｄ）カメラモーションの推定システムを開発するとき、深さカメラのモーション抽出モジュールとして利用可能である。
【０１０５】
図１２は、カメラモーション推定装置に対する他の実施形態を示すブロック図である。図１２を参照すると、カメラモーション推定装置１２００は、深さ映像獲得部１２１０、エッジ抽出部１２２０、モーション抽出部１２３０、およびポーズ更新部１２４０を備える。
【０１０６】
深さ映像獲得部１２１０は深さカメラで生成された深さ映像を獲得することができる。
【０１０７】
エッジ抽出部１２２０は、深さ映像に微分演算子を適用してエッジを抽出する。エッジ抽出部１２２０は、深さ映像に１次微分演算子を適用してエッジを抽出する（式（９）および表１を参考）。すなわち、エッジ抽出部１２２０は、様々な方式の１次微分演算子（Ｒｏｂｅｒｔｓ、Ｐｒｅｗｉｔｔ、Ｓｏｂｅｌ、Ｆｒｅｉ−ｃｈｅｎ）を用いてエッジを抽出する。
【０１０８】
または、エッジ抽出部１２２０は、深さ映像に２次微分演算子を適用してエッジを抽出する（式（１０）を参考）。２次微分は、１次微分をさらに一回微分する方法である。例えば、エッジ抽出部１２２０は、２次微分演算子でラプラシアンマスクを適用する「ラプラシアン演算子」を深さ映像に適用することによってエッジを抽出する。ラプラシアン演算子は、深さ映像における明るさの変化量を測定して変化の大きい部分をエッジで抽出する方式であり、１次微分する方式に比べて雑音に強いという長所がある。
【０１０９】
一例として、エッジ抽出部１２２０は、深さ映像の空間内の平面情報が存在しない場合、２次微分演算子を深さ映像に適用することによって、回転不変の特徴を有するエッジを抽出する。
【０１１０】
モーション抽出部１２３０は、抽出されたエッジを用いて深さ映像を提供した深さカメラのモーションを抽出する。
【０１１１】
ポーズ更新部１２４０は、抽出された深さカメラのモーションで深さカメラポーズを更新する。
【０１１２】
図１３は、カメラモーションの推定方法に対する他の実施形態を示すフローチャートである。
【０１１３】
ステップＳ１３１０において、カメラモーション推定装置１２００は深さ映像に微分演算子を適用してエッジを抽出する。カメラモーション推定装置１２００は深さカメラで生成された深さ映像を獲得し、獲得された深さ映像に１次微分演算子または２次微分演算子を適用してエッジを抽出する。
【０１１４】
例えば、カメラモーション推定装置１２００は、２次微分演算子でラプラシアンマスクを適用する「ラプラシアン演算子」を深さ映像に適用することによってエッジを抽出する。１次微分演算子と２次微分演算子でエッジを抽出する詳しい方法については、式（９）および式（１０）によって詳しく説明したため、その説明を省略する。
【０１１５】
ステップＳ１３２０において、カメラモーション推定装置１２００は、エッジを用いて深さ映像を提供した深さカメラのモーションを抽出する。
【０１１６】
本発明の実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうちの１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード（ｍａｃｈｉｎｅ  ｃｏｄｅ）だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード（ｈｉｇｈｅｒ  ｌｅｖｅｌ  ｃｏｄｅ）を含む。上述したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
【０１１７】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【０１１８】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１１９】
１００  カメラモーション推定装置
１１０  深さ映像獲得部
１２０  平面抽出部
１３０  交差点抽出部
１４０  交差線抽出部
１５０  特徴点検出部
１６０  モーション抽出部
１７０  ポーズ更新部
【図１】
0005952001.tif 000026
【図５】
0005952001.tif 000027
【図６】
0005952001.tif 000028
【図１１】
0005952001.tif 000029
【図１２】
0005952001.tif 000030
【図１３】
0005952001.tif 000031
【図２】
0005952001.tif 000032
【図３】
0005952001.tif 000033
【図４】
0005952001.tif 000034
【図７】
0005952001.tif 000035
【図８】
0005952001.tif 000036
【図９】
0005952001.tif 000037
【図１０】
0005952001.tif 000038