(57)【特許請求の範囲】
【請求項１】
少なくとも1つのカメラおよび深度センサーを含む移動局において実行される方法であって、
少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、前記第1の画像は、前記移動局によってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、
前記第1の画像に関するカメラ姿勢情報を取得するステップと、
前記第1の画像および前記第1の画像に関する前記カメラ姿勢情報に部分的に基づいて、前記環境の第1の3次元(3D)モデルを、前記移動局によってモデル化されている前記環境の部分的モデルを前記環境の前記第1の3Dモデルとマージすることによって拡大すべきかどうかを判断するステップと、
前記第1の3Dモデルが拡大されるときに、前記深度センサーを有効にするステップと
を含む方法。
【請求項２】
前記深度センサーを有効にするステップは、
前記深度センサーに供給される電力をオンにするステップ、または
深度画像の計算に関係する機能を有効にするステップ
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項３】
前記第1の3Dモデルが拡大されないときに、前記深度センサーの無効化を維持するステップ
をさらに含む、請求項1に記載の方法。
【請求項４】
前記深度センサーを有効にすると、前記第1の3Dモデルは、
前記少なくとも1つのカメラにより第2の画像をキャプチャするステップと、
前記深度センサーによって少なくとも部分的に提供された深度情報により前記第2の画像を拡張するステップと
によって拡大され、
前記部分的モデルは、前記第2の画像ならびに前記第2の画像に関する前記深度情報およびカメラ姿勢情報に部分的に基づく、請求項1に記載の方法。
【請求項５】
前記部分的モデルを前記第1の3Dモデルとマージする前に、前記第1の3Dモデルおよび前記部分的モデルに共通する情報が前記部分的モデルから除去される、請求項4に記載の方法。
【請求項６】
前記部分的モデルは、ダウンサンプリングされたより低い解像度の拡張された第2の画像に基づく、請求項4に記載の方法。
【請求項７】
前記移動局によってモデル化されている前記環境の前記部分的モデルを、前記環境の前記第1の3Dモデルとマージするステップは、前記第2の画像に関する前記カメラ姿勢情報に基づいて、前記第1の3Dモデルと前記部分的モデルを位置合わせするステップをさらに含む、請求項4に記載の方法。
【請求項８】
前記第1の3Dモデルと前記部分的モデルの前記位置合わせは、Iterative Closest Point(ICP)を使用して精緻化される、請求項7に記載の方法。
【請求項９】
色情報を含む第1の画像をキャプチャするためのカメラと、
前記カメラに結合された深度センサーと、
前記深度センサーおよび前記カメラに結合されたプロセッサと
を含む移動局であって、前記プロセッサは、
前記第1の画像に関するカメラ姿勢情報を取得し、
前記第1の画像および前記第1の画像に関する前記カメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを、前記移動局によってモデル化されている前記環境の部分的モデルを前記環境の前記第1の3Dモデルとマージすることによって拡大すべきかどうかを判断し、
前記第1の3Dモデルが拡大される場合に、前記深度センサーを有効にする
ように構成される、移動局。
【請求項１０】
前記深度センサーを有効にするために、前記プロセッサは、
前記深度センサーに供給される電力をオンにするステップ、または
深度画像の計算に関係する機能を有効にするステップ
のうちの少なくとも1つを実行するように構成される、請求項9に記載の移動局。
【請求項１１】
前記プロセッサは、
前記第1の3Dモデルが拡大されないときに、前記深度センサーの無効化を維持する
ようにさらに構成される、請求項10に記載の移動局。
【請求項１２】
前記深度センサーを有効にすると、
前記カメラはさらに、色情報を含む第2の画像をキャプチャし、
前記深度センサーはさらに、前記カメラによってキャプチャされた前記第2の画像を深度情報により拡張し、
前記プロセッサは、
色情報および深度情報を含む前記拡張された第2の画像を取得するようにさらに構成され、
前記部分的モデルは、前記第2の画像ならびに前記第2の画像に関する前記深度情報およびカメラ姿勢情報に部分的に基づく、請求項9に記載の移動局。
【請求項１３】
前記部分的モデルを前記第1の3Dモデルとマージする前に、前記プロセッサは、
前記第1の3Dモデルおよび前記部分的モデルに共通する情報を前記部分的モデルから除去する
ようにさらに構成される、請求項12に記載の移動局。
【請求項１４】
前記プロセッサは、
前記第2の画像のダウンサンプリングされたより低い解像度のバージョンに部分的に基づく前記部分的モデルを取得する
ように構成される、請求項12に記載の移動局。
【請求項１５】
前記移動局によってモデル化されている前記環境の前記部分的モデルを、前記環境の前記第1の3Dモデルとマージするために、前記プロセッサは、
前記第2の画像に関連する前記カメラ姿勢情報に基づいて、前記第1のモデルと前記部分的モデルを位置合わせする
ように構成される、請求項12に記載の移動局。
【請求項１６】
前記プロセッサは、
前記第1の3Dモデルと前記部分的モデルの前記位置合わせを、Iterative Closest Point(ICP)を使用して精緻化する
ように構成される、請求項15に記載の移動局。
【請求項１７】
色情報を含む第1の画像をキャプチャするためのイメージング手段と、
前記イメージング手段に結合された深度感知手段と、
前記深度感知手段および前記イメージング手段に結合された処理手段と
を含む装置であって、前記処理手段は、
前記第1の画像に関するイメージング手段姿勢情報を取得するための手段と、
前記第1の画像および前記第1の画像に関する前記イメージング手段姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを拡大すべきかどうかを判断するための手段であって、前記モデルは、前記装置によってモデル化されている前記環境の部分的モデルを前記環境の前記第1の3Dモデルとマージすることによって拡大される、手段と、
前記第1の3Dモデルが拡大される場合に、前記深度感知手段を有効にするための手段と
をさらに含む、装置。
【請求項１８】
前記深度感知手段を有効にするための手段は、
前記深度感知手段に供給される電力をオンにするための手段、または
深度画像の計算に関係する機能を有効にするための手段
のうちの少なくとも1つをさらに含む、請求項17に記載の装置。
【請求項１９】
前記処理手段は、
前記第1の3Dモデルが拡大されないときに、深度センサーの無効化を維持するための手段
をさらに含む、請求項17に記載の装置。
【請求項２０】
前記深度感知手段を有効にすると、
前記イメージング手段はさらに、色情報を含む第2の画像をキャプチャし、
前記深度感知手段はさらに、深度情報により前記第2の画像を拡張し、
前記処理手段は、
色情報および深度情報を含む前記拡張された第2の画像を取得するための手段と
をさらに含み、
前記部分的モデルは、前記拡張された第2の画像および前記第2の画像に関する前記イメージング手段姿勢情報に部分的に基づく、請求項17に記載の装置。
【請求項２１】
前記処理手段は、
前記部分的モデルを前記第1の3Dモデルとマージする前に、前記第1の3Dモデルおよび前記部分的モデルに共通する情報を前記部分的モデルから除去するための手段
をさらに含む、請求項20に記載の装置。
【請求項２２】
前記装置によってモデル化されている前記環境の前記部分的モデルを、前記環境の前記第1の3Dモデルとマージするための手段は、
前記第2の画像に関連する前記イメージング手段姿勢情報に基づいて、前記第1の3Dモデルと前記部分的モデルを位置合わせするための手段
をさらに含む、請求項20に記載の装置。
【請求項２３】
前記環境の前記部分的モデルを、前記環境の前記第1の3Dモデルとマージするための前記手段は、
前記拡張された第2の画像を、より低い解像度の拡張された第2の画像にダウンサンプリングするための手段
をさらに含み、
マージするための前記手段は、前記ダウンサンプリングされたより低い解像度の拡張された第2の画像に対して動作する、請求項20に記載の装置。
【請求項２４】
プロセッサによって実行されたときに、少なくとも1つのカメラおよび深度センサーを含む移動局の方法のステップを実行する命令を含む非一時的コンピュータ可読媒体であって、前記方法は、
少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、前記第1の画像は、前記移動局によってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、
前記第1の画像に関するカメラ姿勢情報を取得するステップと、
前記第1の画像および前記第1の画像に関する前記カメラ姿勢情報に部分的に基づいて、前記環境の第1の3次元(3D)モデルを、前記移動局によってモデル化されている前記環境の部分的モデルを前記環境の前記第1の3Dモデルとマージすることによって拡大すべきかどうかを判断するステップと、
前記第1の3Dモデルが拡大されるときに、前記深度センサーを有効にするステップと
を含む、非一時的コンピュータ可読媒体。
【請求項２５】
前記深度センサーを有効にするステップは、
前記深度センサーに供給される電力をオンにするステップ、または
深度画像の計算に関係する機能を有効にするステップ
のうちの少なくとも1つをさらに含む、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項２６】
前記第1の3Dモデルが拡大されない場合に、前記深度センサーの無効化を維持するステップ
をさらに含む、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項２７】
前記深度センサーを有効にすると、前記第1の3Dモデルは、
前記深度センサーによって少なくとも部分的に提供された深度情報により第2の画像を拡張するステップによって拡張され、
前記部分的モデルは、前記第2の画像ならびに前記第2の画像に関する前記深度情報およびカメラ姿勢情報に部分的に基づく、請求項24に記載の非一時的コンピュータ可読媒体。
【請求項２８】
前記部分的モデルを前記第1の3Dモデルとマージする前に、前記第1の3Dモデルおよび前記部分的モデルに共通する情報が前記部分的モデルから除去される、請求項27に記載の非一時的コンピュータ可読媒体。
【請求項２９】
前記移動局によってモデル化されている前記環境の前記部分的モデルを、前記環境の前記第1の3Dモデルとマージするステップは、前記第2の画像に関する前記カメラ姿勢情報に基づいて、前記第1の3Dモデルと前記部分的モデルを位置合わせするステップをさらに含む、請求項27に記載の非一時的コンピュータ可読媒体。
【請求項３０】
前記部分的モデルは、ダウンサンプリングされたより低い解像度の拡張された第2の画像に基づく、請求項27に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2014年1月22日に出願された「Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage」と題する米国出願第14/161,140号の利益および優先権を主張する。この米国出願第14/161,140号は、2013年1月30日に出願された「Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage」と題する米国仮出願第61/758,699号および2013年2月26日に出願された「Real-Time 3D Reconstruction with Power Efficient Depth Sensor Usage」と題する米国仮出願第61/769,465号の利益および優先権を主張する。上記で特定された米国特許出願のすべては、その全体が参照により本明細書に組み込まれる。
【０００２】
本開示は一般に、モバイルデバイスにおける電力効率のための装置および方法に関する。
【背景技術】
【０００３】
コンピュータビジョンおよびコンピュータグラフィックスでは、3D再構成は、現実のオブジェクトの形状および/または外観を判断するプロセスである。3D再構成は、様々なタイプのセンサーから取得されたオブジェクトのデータおよび/または画像に基づき得る。たとえば、カメラが使用されて、オブジェクトの表面によって反射された、またはオブジェクトの表面から発せられた輝度または光が測定されることがあり、その場合に、カメラによってキャプチャされたオブジェクトの画像から、および他のセンサーによって提供された情報から、オブジェクトの3D構造またはモデルが推測され得る。一般に、3Dモデルという用語は、本明細書において、3D環境の表現を指すために使用される。
【０００４】
通常、3D再構成では、デジタル画像のセットが他の知覚情報とともにバッチモードでオフラインで処理されて、3Dモデルが取得され、この3Dモデルはオブジェクトの3Dメッシュの形をとり得る。しかしながら、3D再構成は昔から計算コストが高いので、オフラインで実行されることが多く、3D再構成の結果は通常、かなり遅れて利用可能になり得る。したがって、3D再構成を使用する実際のリアルタイムアプリケーションは、これまで限定的であった。
【０００５】
より最近では、増大した処理能力の利用可能性、進化したアルゴリズムならびに新しい形の入力データを含む要素の組合せにより、リアルタイムまたはほぼリアルタイムの3D再構成の魅力が増してきている。ユーザは、キャプチャされたピクチャがモバイルデバイスを含むコンピューティングデバイスによって迅速に処理される現在、ほぼリアルタイムで3D再構成に対するフィードバックを取得することができる。しかしながら、3D再構成に使用される多くの技法は電力を必要とし、比較的多くの電力使用につながる。モバイルデバイスでは、たとえば、電力消費の増大が電力源またはバッテリーを消耗させ、それにより3D構成の現実的適用可能性が限定されることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、コンピューティングデバイスおよびモバイルデバイスでの電力効率の良いリアルタイム3D再構成を容易にする装置、システムおよび方法が必要である。
【課題を解決するための手段】
【０００７】
いくつかの態様によれば、モバイルデバイスでの電力効率の良いリアルタイム3D再構成のための方法が開示される。いくつかの実施形態では、移動局(MS)は、少なくとも1つのカメラおよび深度センサーを含むことができ、本方法は、少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、第1の画像は、MSによってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、第1の画像に関するカメラ姿勢情報を取得するステップとを含むことができる。いくつかの実施形態では、本方法は、第1のキャプチャされた画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを拡大すべきかどうかを判断するステップと、第1の3Dモデルが拡大されないときに、深度センサーを無効にするステップとをさらに含むことができる。
【０００８】
別の態様では、MSは、色情報を含む第1の画像をキャプチャすることができるカメラと、カメラに結合された深度センサーと、深度センサーおよびカメラに結合されたプロセッサとを含むことができる。いくつかの実施形態では、プロセッサは、第1の画像に関するカメラ姿勢情報を取得し、第1の画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、MSによってモデル化されている環境の第1の3次元(3D)モデルを拡大すべきかどうかを判断し、第1の3Dモデルが拡大されない場合に、深度センサーを無効にするように構成され得る。
【０００９】
さらなる態様では、開示される実施形態は、色情報を含む第1の画像をキャプチャするためのイメージング手段と、イメージング手段に結合された深度感知手段と、深度感知手段およびイメージング手段に結合された処理手段とを含む装置に関係する。いくつかの実施形態では、処理手段は、第1の画像に関するイメージング手段姿勢情報を取得するための手段と、第1の画像および第1の画像に関するイメージング手段姿勢情報に部分的に基づいて、装置によってモデル化されている環境の第1の3次元(3D)モデルを拡大すべきかどうかを判断するための手段と、第1の3Dモデルが拡大されない場合に、深度感知手段を無効にするための手段とをさらに含むことができる。
【００１０】
開示される実施形態はまた、プロセッサによって実行されたときに、少なくとも1つのカメラおよび深度センサーを含むMSの方法のステップを実行する命令を含む非一時的コンピュータ可読媒体に関係する。いくつかの実施形態では、本方法は、少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、第1の画像は、MSによってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、第1の画像に関するカメラ姿勢情報を取得するステップとを含むことができる。いくつかの実施形態では、本方法は、第1のキャプチャされた画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを拡大すべきかどうかを判断するステップと、第1の3Dモデルが拡大されないときに、深度センサーを無効にするステップとをさらに含むことができる。
【００１１】
別の態様では、少なくとも1つのカメラおよび深度センサーを含む移動局(MS)の方法は、少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、第1の画像は、MSによってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、第1の画像に関するカメラ姿勢情報を取得するステップと、第1のキャプチャされた画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを更新すべきかどうかを判断するステップと、第1の3Dモデルが更新されないときに、深度センサーを無効にするステップとを含むことができる。さらに、深度センサーを無効にするステップは、深度センサーに供給される電力をオフにするステップ、または深度画像の計算に関係する機能を無効にするステップのうちの少なくとも1つを含むことができる。本方法は、第1の3Dモデルが更新されるときに、深度センサーを有効にするステップをさらに含むことができる。深度センサーを有効にすると、第1の3Dモデルは、少なくとも1つのカメラにより第2の画像をキャプチャするステップと、深度センサーによって少なくとも部分的に提供された深度情報により第2の画像を拡張することによって深度マップを取得するステップと、深度情報により第1の3Dモデルにおける容量測定データセット(volumetric data set)を更新するステップとによって更新され得る。いくつかの実施形態では、容量測定データセットは、3D切断符号付き距離関数(TDSF:Truncated Signed Distance Function)によって表され得る。容量測定データセットは、カメラ姿勢に基づいて3D TDSFにおけるサンプルを深度マップに投影するステップと、サンプルロケーションから容量測定データセットによって画定された表面までの測定相対距離を判断するステップと、測定相対距離をTDSFにマップするステップと、サンプルに関する記憶されたTDSF値とマップされたTDSF値を組み合わせるステップとによって更新され得る。
【００１２】
別の態様では、MSは、色情報を含む第1の画像をキャプチャすることができるカメラと、カメラに結合された深度センサーと、深度センサーおよびカメラに結合されたプロセッサとを含むことができる。いくつかの実施形態では、処理手段は、第1の画像に関するカメラ姿勢情報を取得し、第1の画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを更新すべきかどうかを判断し、第1の3Dモデルが更新されないときに、深度センサーを無効にするように構成され得る。
【００１３】
さらなる態様では、開示される実施形態は、色情報を含む第1の画像をキャプチャするためのイメージング手段と、イメージング手段に結合された深度感知手段と、深度感知手段およびイメージング手段に結合された処理手段とを含む装置に関係する。いくつかの実施形態では、処理手段は、第1の画像に関するカメラ姿勢情報を取得するための手段と、第1の画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを更新すべきかどうかを判断するための手段と、第1の3Dモデルが更新されないときに、深度センサーを無効にするための手段とをさらに含むことができる。
【００１４】
開示される実施形態はまた、プロセッサによって実行されたときに、少なくとも1つのカメラおよび深度センサーを含むMSの方法のステップを実行する命令を含む非一時的コンピュータ可読媒体に関係する。いくつかの実施形態では、本方法は、少なくとも1つのカメラにより第1の画像をキャプチャするステップであって、第1の画像は、MSによってモデル化されている環境の少なくとも一部分に関する色情報を含む、ステップと、第1の画像に関するカメラ姿勢情報を取得するステップと、第1のキャプチャされた画像および第1の画像に関するカメラ姿勢情報に部分的に基づいて、環境の第1の3次元(3D)モデルを更新すべきかどうかを判断するステップと、第1の3Dモデルが更新されないときに、深度センサーを無効にするステップとを含むことができる。
【００１５】
開示される実施形態はまた、ソフトウェア、ファームウェア、およびコンピュータ可読媒体またはコンピュータ可読メモリを使用するプロセッサによって作成、記憶、アクセスまたは変更されるプログラム命令に関係する。説明する方法は、プロセッサおよび様々なモバイルデバイス上で実行され得る。
【００１６】
これらの実施形態および他の実施形態が、以下の図に対してさらに以下で説明される。例示によって様々な態様が図示および記載された以下の詳細な説明から、他の態様が当業者に容易に明らかになることを理解されたい。図面および詳細な説明は、本質的に例示的なものと見なされるべきであって、限定的なものと見なされるべきではない。
【００１７】
本発明の実施形態は、図面を参照して、例としてのみ記載される。
【図面の簡単な説明】
【００１８】
【図１】電力効率の良い3D再構成が可能な例示的なモバイルデバイスのブロック図である。
【図２Ａ】開示される実施形態と合致する、電力効率の良い3D再構成のための例示的な方法に関するフローチャートである。
【図２Ｂ】開示される実施形態と合致する、電力効率の良い3D再構成のための例示的な方法に関するフローチャートである。
【図２Ｃ】開示される実施形態と合致する、容量測定再構成技法を使用して再構成を拡大するためのルーチンまたは方法275に関するフローチャートである。
【図２Ｄ】開示される実施形態と合致する、カメラフレームからの深度データを容量測定データセットに融合させるための例示的な方法を示すフローチャートである。
【図３】開示される実施形態と合致する、3D再構成のための例示的な方法400のフローチャートである。
【発明を実施するための形態】
【００１９】
添付の図面とともに以下に記載する詳細な説明は、本開示の様々な態様の説明として意図されており、本開示が実施される態様のみを表すことは意図されていない。本開示で説明される各態様は、単に本開示の例または説明として与えられ、他の態様よりも好適または有利であるとは、必ずしも解釈されるべきではない。発明の詳細な説明は、本開示の完全な理解をもたらす目的で、具体的な詳細を含んでいる。しかしながら、本開示は、これら具体的な詳細なしで実施され得ることが当業者に明らかになるであろう。場合によっては、本開示の概念を曖昧にするのを回避するために、周知の構造およびデバイスがブロック図の形式で示されている。単に利便性および明確性のために、頭文字および他の記述的な用語が使用され得るが、本開示の範囲を限定することは意図されていない。
【００２０】
図1は、開示される実施形態と合致するように、リアルタイムまたはほぼリアルタイムの3D構成を実行することが可能な例示的な移動局(MS)100のブロック図を示している。本明細書で使用する場合、モバイルデバイスまたは移動局(MS)100は、セルラー電話、モバイル電話または他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、または携帯情報端末(PDA)、ラップトップ、タブレット、ノートブックおよび/または手持ち式のコンピュータの形をとり得る。モバイルデバイスまたは移動局という用語は、本明細書では互換的に使用される。いくつかの実施形態では、MS100は、ワイヤレス通信および/またはナビゲーション信号を受信することが可能であり得る。「モバイルデバイス」および「移動局」という用語は、本明細書では互換的に使用される。
【００２１】
さらに、「移動局」という用語は、たとえば、短距離ワイヤレス接続、赤外線接続、有線接続または他の接続によって、パーソナルナビゲーションデバイス(PND)と通信するデバイスを含むことも意図されており、かつ/または位置関連処理がそのデバイスまたはPNDにおいて行われる。また、「移動局」は、サーバとの通信が可能である様々なワイヤレス通信デバイスを含むすべてのデバイスを、ワイヤレス信号受信、支援データ受信、および/または関連処理がそのデバイスにおいて行われるか、サーバにおいて行われるか、またはネットワークに関連する別のデバイスにおいて行われるかにかかわらず含むことが意図される。上記のデバイスの任意の動作可能な組合せも「移動局」と見なされる。
【００２２】
「移動局」という用語は、ネットワークに接続するように、または他の方法によりワイヤレスに、もしくは有線接続により別のデバイスと通信するように構成されないことがあるゲームまたは他のデバイスを含むことも意図される。たとえば、「移動局」は、通信要素および/またはネットワーキング機能を省くことができる。たとえば、本明細書で説明する実施形態は、別のデバイスとの有線またはワイヤレスネットワーキングのために接続するように構成されない独立型デバイスで実装され得る。
【００２３】
図1に示すように、MS100は、カメラ110、慣性測定ユニット(IMU)130、プロセッサ150、メモリ160および/または送受信機170、ディスプレイ/スクリーン180を含むことができ、これらは互いに、またMS100での他の機能ユニット(図示せず)に接続120を通して動作可能に結合され得る。接続120は、バス、ライン、ファイバー、リンクなど、またはそれらの何らかの組合せを含むことができる。
【００２４】
送受信機170は、たとえば、1つまたは複数のタイプのワイヤレス通信ネットワークを介して1つまたは複数の信号を送信するように対応した送信機と、1つまたは複数のタイプのワイヤレス通信ネットワークを介して送信される1つまたは複数の信号を受信するための受信機とを含み得る。送受信機170は、限定はしないが、フェムトセル、IEEE 802.11規格ファミリーに基づき得るWi-Fiネットワークもしくはワイヤレスローカルエリアネットワーク(WLAN)、Bluetooth(登録商標)、近距離通信(NFC)、IEEE 802.15x規格ファミリーに基づくネットワークなどのようなワイヤレスパーソナルエリアネットワーク(WPANS)、および/またはLTE、WiMAXなどのようなワイヤレスワイドエリアネットワーク(WWAN)のような様々な技術に基づくワイヤレスネットワークとの通信を許容し得る。MS100はまた、有線ネットワークを介して通信するための1つまたは複数のポートを含むことができる。
【００２５】
いくつかの実施形態では、MS100は、CCDセンサーまたはCMOSセンサーなどの画像センサーおよび/またはカメラ110(以下「カメラ110」と呼ぶ)を含むことができる。カメラ110は、光画像を電子画像またはデジタル画像に変換することができ、キャプチャされた画像をプロセッサ150に送ることができる。
【００２６】
一般に、カメラ110は、カラーまたはグレースケールのカメラであってよく、これは「色情報」を提供する一方、「深度情報」が深度センサーによって提供され得る。本明細書で使用する「色情報」という用語は、カラーおよび/またはグレースケールの情報を指す。一般に、本明細書で使用する色画像または色情報は、1〜N個のチャネルを含むものと見なされてよく、このNは、画像を記憶するために使用されている色空間に依存する整数である。たとえば、RGB画像は、3つのチャネルを含み、赤情報、青情報および緑情報にそれぞれ1つのチャネルがある。
【００２７】
深度情報は、深度センサーを使用して様々な方法でキャプチャされ得る。「深度センサー」という用語は、単独でおよび/またはカメラ110と連携して深度情報を取得するために使用され得る機能ユニットを指すために使用される。いくつかの実施形態では、深度センサーは、使用中ではないときに無効にされ得る。たとえば、深度センサーは、使用されていないときに待機モードにされるか、またはパワーオフされ得る。いくつかの実施形態では、プロセッサ150は、開示される実施形態と合致するように、1つまたは複数の時点で深度感知を無効に(または有効に)し得る。「深度センサーを無効にする」という用語はまた、ステレオビジョンセンサーなどの受動センサーおよび/または深度画像の計算に関係する機能(そのような機能に関連するハードウェア、ファームウェア、および/またはソフトウェアを含む)を無効にすることを指すために使用される。たとえば、一実施形態では、ステレオビジョンセンサーが無効にされるとき、カメラ110によってキャプチャされる画像は単眼であり得る。さらに、「深度センサーを無効にする」という用語はまた、受動ステレオビジョンセンサーによってキャプチャされたステレオ画像の処理に関連する計算を無効にすることを指すために使用される。たとえば、一実施形態では、受動ステレオビジョンセンサーによってステレオ画像がキャプチャされ得るが、プロセッサ150は、ステレオ画像を処理しないことがあり、代わりに、処理のためにステレオペアから単一の画像を選択することがある。
【００２８】
いくつかの実施形態では、深度センサーはカメラ110の一部であり得る。たとえば、いくつかの実施形態では、MS100はRGBDカメラを含むことがあり、RGBDカメラは、深度センサーが有効にされるときに、色(RGB)画像に加えて、ピクセルごとの深度(D)情報をキャプチャすることができる。
【００２９】
別の例として、いくつかの実施形態では、カメラ110は、3Dタイムオブフライト(3DTOF)カメラの形をとり得る。3DTOFカメラ110による実施形態では、深度センサーは、3DTOFカメラ110に結合されたストロボの形をとってよく、ストロボは、シーンにおけるオブジェクトを照らすことができ、カメラ110におけるCCD/CMOSセンサーによって反射光がキャプチャされ得る。光パルスがオブジェクトに伝播し、センサーに戻るまでに要する時間を測定することによって、深度情報が取得され得る。
【００３０】
さらなる例として、深度センサーは、カメラ110に結合された光源の形をとることができる。一実施形態では、光源は、光の1つまたは複数の狭帯域からなり得る構造化またはテクスチャ加工された光のパターンを、シーンにおけるオブジェクトに投影することができる。次いでオブジェクトの表面の形状によって引き起こされた投影されたパターンの幾何学的歪曲を活用することによって、深度情報が取得され得る。一実施形態では、深度情報は、赤外線構造化光プロジェクタとRGBカメラに対応した(registered)赤外線カメラとの組合せなどのステレオセンサーから取得され得る。
【００３１】
いくつかの実施形態では、カメラ110は、立体視カメラの形をとることができる。たとえば、深度センサーは、受動ステレオビジョンセンサーの一部を形成することができ、受動ステレオビジョンセンサーは、2つ以上のカメラを使用して、シーンに関する深度情報を取得することができる。キャプチャされたシーンにおける両方のカメラに共通するポイントのピクセル座標が、カメラ姿勢情報および/または三角測量技法とともに使用されて、ピクセルごとの深度情報が取得され得る。
【００３２】
いくつかの実施形態では、MS100は、様々なセンサーを組み込むこともある、デュアルフロントカメラおよび/または前面/後面カメラなどの複数のカメラ110を備えることができる。いくつかの実施形態では、カメラ110は、静止画像とビデオ画像の両方をキャプチャすることが可能であり得る。いくつかの実施形態では、カメラ110は、30フレーム/秒(fps)で画像をキャプチャすることが可能なRGBDまたは立体視ビデオカメラであり得る。一実施形態では、カメラ110によってキャプチャされた画像は、未加工の圧縮されていないフォーマットであってよく、処理および/またはメモリ160への記憶の前に圧縮され得る。いくつかの実施形態では、画像圧縮がプロセッサ150によって、可逆または不可逆圧縮技法を使用して実行され得る。
【００３３】
いくつかの実施形態では、プロセッサ150はIMU130から入力を受信することもできる。他の実施形態では、IMU130は3軸加速度計、3軸ジャイロスコープおよび/または磁力計を含むことができる。IMU130は、速度、方位および/または他の位置関係情報をプロセッサ150に提供することができる。いくつかの実施形態では、IMU130は、カメラ110による各画像フレームのキャプチャと同期して測定情報を出力することができる。いくつかの実施形態では、IMU130の出力がプロセッサ150によって部分的に使用されて、カメラ110および/またはMS100の姿勢が判断され得る。
【００３４】
さらに、MS100は、3D画像を含む色画像をレンダリングすることが可能なスクリーンまたはディスプレイ180を含むことができる。いくつかの実施形態では、ディスプレイ180は、カメラ110によってキャプチャされたライブ画像、拡張現実(AR)画像、グラフィカルユーザインターフェース(GUI)、プログラム出力などを表示するために使用され得る。いくつかの実施形態では、ディスプレイ180は、ユーザが仮想キーボード、アイコン、メニューもしくは他のグラフィカルユーザインターフェース(GUI)、ユーザのジェスチャー、および/または入力デバイス、たとえばスタイラスおよび他の筆記用具の何らかの組合せによってデータを入力できるように、タッチスクリーンを含み、かつ/またはタッチスクリーンとともに格納され得る。いくつかの実施形態では、ディスプレイ180は、液晶画面(LCD)ディスプレイまたは発光ダイオード(LED)ディスプレイ、たとえば有機LED(OLED)ディスプレイを使用して実装され得る。他の実施形態では、ディスプレイ180は装着型ディスプレイであってよく、これはMS100における他の機能ユニットに動作可能に結合されるが、他の機能ユニットとは別個に格納され得る。いくつかの実施形態では、MS100は、MS100に結合された別個のモニターを通した3D再構成済み画像の表示を可能にするためのポートを含むことができる。
【００３５】
カメラ110の姿勢は、基準系に対するカメラ110の位置および方位を指す。いくつかの実施形態では、3つの並進成分(基準系のX、Y、Z座標によって与えられ得る)と3つの角度成分(たとえば、同じ基準系に対するロール、ピッチおよびヨー)とを指す6自由度(6DOF)に関して、カメラ姿勢が判断され得る。
【００３６】
いくつかの実施形態では、カメラ110および/またはMS100の姿勢は、プロセッサ150によって視覚追跡ソリューションを使用して、カメラ110によってキャプチャされた画像に基づいて判断および/または追跡され得る。たとえば、プロセッサ150上で動作しているコンピュータビジョン(CV)モジュール155は、コンピュータビジョンベースの追跡、モデルベースの追跡、および/またはSimultaneous Localization And Mapping(SLAM)方法を実装し実行することができる。SLAMは、MS100によってモデル化されている環境のマップなどの環境のマップが作成される一方でそのマップに対するカメラの姿勢を同時に追跡する技法の一種を指す。いくつかの実施形態では、CVモジュール155によって実施される方法は、カメラ110によってキャプチャされたカラーまたはグレースケールの画像データに基づいてよく、カメラの6DOF姿勢測定の推定値を生成するために使用され得る。いくつかの実施形態では、IMU130の出力は、推定された姿勢を推定、訂正、および/または他の方法で調整するために使用され得る。さらに、いくつかの実施形態では、カメラ110によってキャプチャされた画像は、IMU130用にバイアス調整を再較正または実行するために使用され得る。
【００３７】
MS100に含まれるすべての機能ユニットが図1に示されているわけではない。例示的なMS100はまた、本開示と合致するように様々な方法で、たとえば、図示の機能ブロックのうちの1つまたは複数を追加、結合または省略することによって、変更され得る。たとえば、いくつかの構成では、MS100はIMU130または送受信機170を含まないことがある。さらに、いくつかの例示的な実装形態では、MS100は、周辺光センサー、マイクロフォン、音響センサー、超音波センサー、レーザー距離計などのような様々な他のセンサー(図示せず)を含むことができる。いくつかの実施形態では、MS100の一部は、1つまたは複数のチップセットなどの形をとり得る。
【００３８】
プロセッサ150は、ハードウェア、ファームウェアおよびソフトウェアの組合せを使用して実装され得る。プロセッサ150は、3D再構成、SLAM、追跡、画像処理などに関係する計算の手順またはプロセスの少なくとも一部分を実行するように構成可能な1つまたは複数の回路を表すことができ、命令および/またはデータをメモリ160から取り出すことができる。プロセッサ150は、本明細書で説明する機能を実行するように設計された、1つまたは複数の特定用途向け集積回路(ASIC)、中央処理装置および/もしくはグラフィックス処理ユニット(CPUおよび/もしくはGPU)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、組込みプロセッサコア、電子デバイス、他の電子ユニット、またはそれらの組合せを使用して実装され得る。
【００３９】
メモリ160は、プロセッサ150内で、および/またはプロセッサ150の外部で実装され得る。本明細書で使用する「メモリ」という用語は、任意のタイプの長期メモリ、短期メモリ、揮発性メモリ、不揮発性メモリ、または他のメモリを指し、いずれかの特定のタイプのメモリもしくはいずれかの特定の数のメモリ、またはメモリが記憶されるいずれかの特定のタイプの物理媒体に限定すべきではない。いくつかの実施形態では、メモリ160は、1つまたは複数の画像処理を支援するプログラムコードを保持し、SLAM、追跡、3D再構成、およびプロセッサ150のCVモジュール155によって実行される他のタスクを実行することができる。たとえば、メモリ160は、データ、キャプチャされた静止画像、深度情報、ビデオフレーム、プログラム結果、ならびにIMU130および他のセンサーによって提供されたデータを保持することができる。一般に、メモリ160は、任意のデータ記憶機構を表すものであってよい。たとえば、メモリ160は1次メモリおよび/または2次メモリを含み得る。1次メモリは、たとえば、ランダムアクセスメモリ、読み取り専用メモリなどを含み得る。図1ではプロセッサ150とは別個のものとして示されているが、1次メモリの全部または一部がプロセッサ150内に設けられるか、あるいはプロセッサ150と共設および/または結合され得ることを理解されたい。
【００４０】
2次メモリは、たとえば、1次メモリ、ならびに/または、たとえば、フラッシュ/USBメモリドライブ、メモリカードドライブ、ディスクドライブ、光ディスクドライブ、テープドライブ、固体ドライブ、ハイブリッドドライブなど、1つもしくは複数のデータ記憶デバイスもしくはシステムと同じまたは同様のタイプのメモリを含み得る。いくつかの実装形態では、2次メモリは、MS100に結合されたリムーバブルメディアドライブ(図示せず)における非一時的コンピュータ可読媒体を動作可能に受容するか、または場合によってはそれに結合するように構成可能であり得る。いくつかの実施形態では、非一時的コンピュータ可読媒体は、メモリ160および/またはプロセッサ150の一部を形成することができる。
【００４１】
いくつかの実施形態では、CVモジュール155は、様々なコンピュータビジョン方法を実施すること、および/またはカメラ110によってキャプチャされた画像を処理することができる。たとえば、CVモジュール155は、カメラ110によってキャプチャされた1つまたは複数の画像を、キャプチャされた画像に関連する深度情報を使用してモデル化されている環境の3D再構成を実行するために処理することが可能であり得る。いくつかの実施形態では、深度情報は深度センサーから取得され得る。
【００４２】
深度データに基づいて、再構成中に各ピクセルは3D座標を割り当てられ得る。一実施形態では、プロセッサ150のCVモジュール155は、カメラ110の正確および頑強な6DOF追跡用に、MSの周りの環境の粗いマップを作るために、単眼(単一のカメラ)視覚SLAMシステムを使用することによって、カメラ110の位置を追跡することができる。単眼という用語は、画像をキャプチャするための単一の非立体視カメラの使用、または深度情報のないキャプチャされた画像を指す。この場合、3D再構成モジュールが、カメラ姿勢およびピクセルごとの深度情報を使用して、視覚方向に沿ってキャプチャされた画像を押し出し、テクスチャ加工の高密度3Dメッシュを作成することができ、これが使用されて、モデル化されている3D環境がレンダリングされ得る。
【００４３】
従来型の3D再構成方法では、すべての入力サンプルは常に、色+深度ペアなどの同じモダリティを有する。そのため、構造化照明またはストロボなどの深度センサーを使用した深度データの収集は、単純なRGBカメラよりもはるかに多くの電力を消費し得る。さらに、ステレオビジョンセンサーからの深度は受動感知を使用し得るが、3D再構成中の継続的ステレオ融合動作からの計算オーバーヘッドは、電力消費を著しく増大させ得る。したがって、モバイルデバイスにおける従来型のリアルタイム3D再構成は、電力利用可能性の制約のために非現実的であることが多い。たとえば、ストロボまたは他の光源の反復使用が、MSのバッテリーを急速に枯渇させ、それにより3D再構成の適用可能性が限定されることがある。
【００４４】
図2A〜図2Cは、開示される実施形態と合致する、電力効率の良い3D再構成のための例示的な方法に関するフローチャートを示している。いくつかの実施形態では、方法200は、MS100のプロセッサ150によって、1つまたは複数の他の機能ユニットと連携して実行され得る。いくつかの実施形態では、方法200の一部は、CVモジュール155によって実行され得る。
【００４５】
いくつかの実施形態では、方法200は、追跡モジュール210および再構成モジュール250という2つのモジュールからなり得る。単眼SLAM(MonoSLAM:Monocular SLAM)、並列追跡およびマッピング(PTAM:Parallel Tracking and Mapping)などのような、開示される実施形態と合致する任意のリアルタイム追跡システムが、追跡モジュール210とともに使用するために選択され得る。いくつかの実施形態では、追跡モジュール210および再構成モジュール250は同時に動作し得る。追跡モジュール210は、カメラ姿勢および/または他の関係する非深度センサーデータを周期的または継続的に追跡または更新し、更新済みのカメラ姿勢、センサー情報および色画像を、深度情報なしで周期的に、または要求に応じて再構成モジュール250に提供することができる。いくつかの実施形態では、追跡モジュール210は、単一または単眼のカメラを使用して、深度情報なしで画像をキャプチャし、姿勢情報を取得することができる。
【００４６】
再構成モジュール250は、いくつかの実施形態では、追跡モジュール210と同時に動作することができ、周期的または継続的な更新を追跡モジュール210から受信し得る。追跡モジュール210から受信された更新は、深度情報のない色画像およびカメラ110に関する6DOF姿勢測定値などの正確な姿勢情報を提供することができる。いくつかの実施形態では、再構成モジュール250は、更新済みカメラ姿勢および関連する画像を使用して、色3Dメッシュまたは容量測定データ構造の形をとり得る既存の3Dモデルを拡大すべきかどうかを判断することができる。
【００４７】
表面再構成(surface reconstruction)のコンテキストで使用する「拡大」という用語(およびその変形)は、環境の部分的モデルから新たに収集されたデータを環境の既存の3Dモデルに追加することを指す。容量測定再構成(volumetric reconstruction)のコンテキストで使用する「更新」という用語(およびその変形)は、容量測定データセットによって表され得る、環境の既存の3Dモデルと新たに収集された深度データを組み合わせることを指す。
【００４８】
いくつかの実施形態では、再構成モジュール250は、フレームごとの深度+色画像入力の入力に依存しない任意の再構成技法を使用することができる。いくつかの実施形態では、再構成モジュール250は、色+深度データの入力に関するより低い固定レートを使用するように構成され得る。いくつかの実施形態では、色+深度データに関するより低い固定レートは、システムパラメータに基づいて設定可能であり得る。たとえば、一実施形態では、再構成モジュール250は、4つの色のみの(すなわち、深度データのない)フレームの後で、1つの色+深度画像入力を受信するように構成され得る。別の実施形態では、再構成モジュール250は、追加の深度画像(または深度データ)が要求に応じてトリガされるか、またはオンデマンドで提供され得るように構成され得る。一般に、システムパラメータに応じて、ある指定レートで、またはオンデマンドで深度情報が提供され得る。したがって、より低い深度センサー使用頻度から部分的に電力節約が生じ得る。たとえば、深度データがフレームごとに提供される30フレーム/秒のフレームレートで動作するシステムに対して、深度情報が再構成モジュール250に5フレームごとに提供される場合、システム200における深度センサーの使用は5分の1に低減され得る。いくつかの実施形態では、再構成モジュール250は、表面再構成に基づく技法および/または容量測定再構成に基づく技法を使用するように構成され得る。
【００４９】
(たとえば、MS100の深度センサーを使用することによって)色情報および深度情報を伴う画像を以前取得したことのある再構成モジュール250は、深度情報を伴うキャプチャされた先行画像に基づく既存の3Dモデルを有し得る。深度情報を伴うキャプチャされた画像は、ポイントクラウドとして表され得る。たとえば、ポイントクラウドは、モデル化されているオブジェクト/環境の外表面を表すデータポイントのセットであり得る。データポイントは何らかの座標系に、たとえばX、Y、およびZ座標を使用して指定され得る。三角形、四角形または他の多角形からなり得る3Dメッシュが、たとえば、ポイントクラウドから生成され得る。
【００５０】
表面再構成技法が適用される再構成モジュール250の実施形態では、3Dメッシュが3Dポイントクラウドに基づいて、様々な基準に基づいて三角形、四角形または他の多角形を形成するように3Dポイントクラウド上のポイントのサブセットを結合することによって取得され得る。3Dメッシュは、3Dにおける多面オブジェクトの形状を画定する頂点、辺および面の集合である。面は三角形、四角形または他の単純な凸多角形であってよく、これらが使用されて3Dオブジェクト/環境がレンダリングされ得る。いくつかの周知の技法およびメッシュ再構成アルゴリズムが、(深度マップから導出され得る)3Dポイントクラウドを3Dメッシュに変換するために使用され得る。一実施形態では、深度マップにおける深度測定値の近傍が、同様の深度測定値により近傍ポイントを結合することによって三角形を形成するためのインジケータとして使用され得る。
【００５１】
容量測定再構成技法が適用される再構成モジュール250の実施形態では、容量測定再構成は、カメラフレームからの深度データを計算効率の良い容量測定データ構造に融合させる。一実施形態では、容量測定再構成は、3D切断符号付き距離関数(TDSF)を使用する表面の暗示的表現を使用することができる。3D TDSFは、3D空間における正規サンプルのセットとして表され得る。各サンプルにおいて、サンプル値は、推定表面までの符号付き距離を与える。正の距離は、オブジェクトの外部にあるサンプルを示し、負の距離は、オブジェクトの内部にあるサンプルを示す。
【００５２】
いくつかの実施形態では、再構成モジュール250は、追跡モジュール210から取得された更新済みカメラ姿勢および関連する画像を使用して、既存の3Dモデル(3Dメッシュまたは容量測定データ構造)を拡大または更新すべきかどうかを判断することができる。いくつかの実施形態では、表面および/または容量測定再構成技法が3Dモデルに使用されることがあり、モデルの拡大または更新に関する決定が、モデル化に使用されている特定の技法と合致するように行われ得る。
【００５３】
たとえば、表面再構成手法では、追跡モジュール210から受信された画像およびカメラ姿勢に基づいて、再構成モジュール250は、環境の既存または現在のモデルに現在表されていない情報を画像が含む程度を判断することができる。表面再構成手法では、たとえば、追跡モジュール210からの画像が十分に新しい情報を含むので、モデル化されている環境の3Dモデルが拡大されるべきである場合、画像および関連する姿勢情報のキャプチャと連携して適切な深度センサーをオンにすることによって、画像および深度情報が取得され得る。それ以外の場合、深度センサーは無効にされ得る。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。
【００５４】
容量測定再構成を使用するいくつかの実施形態では、ある指定レートで(たとえば、5フレームごとに)深度データが収集/測定され得る。それ以外の場合、深度センサーは無効にされ得る。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。
【００５５】
モデルが更新されるべきである場合、容量測定再構成中に、収集/測定された深度データに基づく深度マップが使用されて、カメラ姿勢に基づいて判断され得る、カメラの中心のロケーションなどの空間における所与のポイントから推定表面までの距離が判断され得る。次いで、これらの測定距離は、容量測定データセットにおける符号付き距離にマップされ得る。たとえば、マッピングは以下によって実行され得る。(i)容量測定データセットにおける各サンプルを深度マップのカメラ座標系に変換し、サンプルを深度マップに投影すること、(ii)(深度マップにおける)その投影されたピクセルにおける距離値として、光線に沿った表面までの距離の測定値を取得すること、(iii)上記(ii)で取得された測定距離から光線上のサンプルポイントの距離を差し引くことによって、サンプルポイントから表面までの測定相対距離を取得すること、および(iv)光線上のサンプルポイントによって提供された距離推定値を、再帰型フィルタを使用して相対距離と距離推定値を組み合わせることによって更新すること。たとえば、一実装形態は、距離推定値sとともに重みwを使用し、重み付けされた更新を使用することによって新しい測定値mに基づいて距離推定値sを更新することができ、これは以下によって与えられ得る。
【００５６】
【数１】
0005951908.tif 000002
【００５７】
容量測定再構成の場合、いくつかの実施形態では、既存のモデルにすでに表されている環境のポイントまたはエリアの追加測定値を融合させることによって、より高い品質が達成され得る。したがって、容量測定再構成が使用される環境では、新しいポイントがない状況でも、モデルまたは3Dメッシュが更新され得る。いくつかの実施形態では、同じ表面要素が更新される回数を制限するように、しきい値または他のパラメータがセットされ得る。
【００５８】
容量測定再構成が使用されている場合、容量測定データ表現から表面抽出が実行されることもある。たとえば、容量測定画像を表すために、3D画素を含む計算効率の良い容量測定データセットが使用されてよく、この3D画素は、3次元空間における値またはグリッドを表し得る。容量測定データセットから表面(または等値面)を抽出するために、マーチングキューブなどの様々な周知の技法が使用され得る。等値面は、3Dデータ分布(3D data distribution)における等しい値を有するポイントの3D表面表現である。いくつかの実施形態では、容量測定再構成は、動的に設定可能であり得る固定/指定データレート(たとえば、5つの色+深度フレーム/秒)を使用することができる。たとえば、深度カメラからの更新の頻度は、アプリケーション要求(たとえば、要求されるモデルのより高い、またはより低い精度)に基づいて、またはコンテキストから得られる手掛かり(たとえば、デバイスでの低い、または高いバッテリーレベル)に基づいて変動する(増加または減少する)ことがある。いくつかの実施形態では、表面抽出ステップは前記融合とは無関係に実行され得る。
【００５９】
したがって、上記の表面手法と容量測定手法の両方において、3D再構成モジュールは深度データを散発的に収集し、それにより電力を節約する。いくつかの実施形態では、電力節約は、センサーを無効化し、オフにし、または待機モードにして、センサーが電力をまったく消費しないか、またはごく最小限の電力を消費することから生じ得る。たとえば、深度センサーが迅速またはほぼ瞬時的な再アクティブ化を許容する場合、一実施形態では、能動センサーへの電力はオフにされ得る。別の実施形態では、センサーが待機モードにされ得る場合、センサーは、迅速または瞬時的な再アクティブ化を許容するための最小限の電力を消費する。たとえば、深度センサーが待機モードにされるとき、構造化光源および/またはストロボはオフにされ得る。
【００６０】
他の実施形態では、立体視カメラが使用されるときなど、ステレオ融合動作の頻度の減少から電力節約が生じ得る。たとえば、深度センサーがステレオビジョンセンサーの形をとる実施形態では、ステレオビジョンセンサーはオフにされてよく、追跡モジュール210は、単眼カメラ画像および関連する姿勢情報を提供し続けることができる。いくつかの実施形態では、ステレオビジョンセンサーがオフにされるとき、受動ステレオビジョンセンサーからキャプチャされたステレオ画像の処理に関連する計算はオフにされ得る。たとえば、一実施形態では、受動ステレオビジョンセンサーによってステレオ画像がキャプチャされ得るが、プロセッサ150は、ステレオ画像を処理しないことがあり、代わりに、処理のためにステレオペアから単一の画像を選択することがある。
【００６１】
図2Aは、実行中の3D再構成プロセス200におけるステップを示している。いくつかの実施形態では、ルーチン225において、カメラ姿勢が更新され得る。たとえば、MS100上で動作している単眼SLAMアルゴリズムが、カメラ110の姿勢を更新するために使用され得る。単眼SLAMを使用することによって、MS100はその環境の表現を構成する一方、環境に対するカメラの姿勢または動きを同時に推定することができる。
【００６２】
ルーチン225では、姿勢情報を取得/更新するために単一のカメラが使用され得る一方、ストロボ、ステレオビジョンセンサー、および/または構造化光源などの深度センサーがオフにされ、無効にされ、または待機モードにされて、深度センサーが電力を消費しないか、または最小限の電力を消費するようになり得る。
【００６３】
ステップ230において、深度情報のない色画像データおよび関連する姿勢情報を含む新しいセンサーデータが収集されることがあり、追跡モジュール210がステップ225に戻って、別の反復を開始し、カメラ姿勢を更新することがある。一般に、追跡モジュールは姿勢を判断するために、任意の追跡方法を使用することができる。たとえば、IMU130からの入力が、姿勢を判断するために使用され得る。
【００６４】
カメラ姿勢更新ルーチン225を実施するための例示的な方法について後述するが、実際には、任意の適切な追跡および姿勢更新方法が使用され得る。フレーム間追跡の場合、ステップ230において収集された直前のフレームIと現在のフレームJとの間のオプティカルフローが、たとえば、Lucas-Kanadeアルゴリズムまたはその変形を使用して計算され得る。Lucas-Kanade法は、動きパラメータを判断するために画像勾配および反復手法を使用し得るオプティカルフロー推定のための2フレーム差分法である。
【００６５】
IおよびJがサイズnx×ny(0≦x≦nx-1および0≦y≦ny-1)の連続画像であり、I(x,y)およびJ(x,y)がポイント(x,y)におけるピクセルのピクセル値(たとえば、グレースケール値)である場合、Jにおけるポイントvのロケーションを計算するために特徴追跡が使用されてよく、このポイントvは、Iにおけるポイントu=[ux, uy]T (ここで、v=u+d=[ux+dx, uy+dy]T)に対応する。変位ベクトルd=[dx, dy]Tは、uにおけるオプティカルフローと呼ばれ、上付き文字「T」は、行列またはベクトルの転置を指すために使用される。Lucas-Kanadeの目標は、下記のような誤差関数ε(d)を最小限に抑える変位ベクトルdを発見することである。
【００６６】
【数２】
0005951908.tif 000003
【００６７】
ここで、wは整数であり、サイズw×wピクセルのウィンドウを表す。
【００６８】
いくつかの実施形態では、Lucas-Kanadeオプティカルフローアルゴリズムの修正リアルタイムピラミッド形実装形態またはその変形が、2Dオプティカルフローの計算に使用され得る。たとえば、Lucas-Kanadeアルゴリズムの逆方向合成的画像位置合わせ(Inverse Compositional Image Alignment)変形が使用され得る。
【００６９】
ピラミッド形実装形態では、画像が連続的にダウンサンプリングされて、異なる解像度を有するダウンサンプリング済み画像のピラミッドが取得され得る。たとえば、ピラミッドの最高レベル(レベル0)は、未加工または最高解像度の画像を有することができ、それよりも下の各レベルは、ある因数によって、すぐ上のレベルに対し画像をダウンサンプリングすることができる。たとえば、(レベル0における)サイズ640×480の画像I0に対して、画像I1、I2、I3、およびI4は、それぞれ320×240、160×120、80×60および40×30のサイズを有し、下付き文字は、画像ピラミッドにおける画像レベルを示す。
【００７０】
ピラミッド形Lucas-Kanadeオプティカルフローでは、オプティカルフローは最低ピラミッドレベルLで計算される。次いで、その計算の結果が上位レベルL-1に、レベルL-1における初期ピクセル変位推定値の形で伝搬される。その初期推量を踏まえて、精緻化されたオプティカルフローがレベルL-1において計算され、結果がレベルL-2に伝搬され、以下同様にレベル0(元の画像)まで伝搬される。通常、Iにおけるポイントuに対応するJにおけるポイントvは、画像Jにおけるロケーション[ux,uy]の周りの(たとえば、サイズw×wピクセルの)ウィンドウ内で探索される。ピラミッドベースのオプティカルフローは、より大きい効率的なウィンドウで探索することを可能にし、大きいピクセルの動きがある場合でも特徴の対応付けを容易にする。
【００７１】
いくつかの実施形態では、追跡中に画像間で比較される特徴の数は、システム制約に基づいて割り出され得る。たとえば、画像の解像度、プロセッサ150の速度、およびパフォーマンス基準が、比較される特徴の数を割り出すために使用され得る。
【００７２】
いくつかの実施形態では、合致する特徴のロケーションに基づいて、更新済みカメラ姿勢がルーチン225で計算され得る。いくつかの実施形態では、姿勢および収集されたセンサーデータ(色画像を含む)が、周期的に再構成モジュール250に転送されてよく、再構成モジュール250はステップ255において、追跡モジュール210によって提供される追跡データ更新を待つ。いくつかの実施形態では、追跡モジュール210が約30フレームのフレームレートで継続的に動作して、単眼画像を含むセンサーデータをキャプチャし、姿勢情報を更新することができ、これらは再構成モジュール250に提供され得る。
【００７３】
いくつかの実施形態では、ステップ260において、再構成モジュール250は、ステップ255において受信された更新済みのキャプチャされた画像および関連する姿勢情報に基づいて、既存の再構成モデルが拡大または更新されるべきかどうかを判断することができる。いくつかの実施形態では、再構成モジュール250は、フレームごとの深度+色画像入力の入力に依存しない任意の再構成技法を使用することができる。たとえば、表面および/または容量測定技法が再構成モジュール250によって使用され得る。
【００７４】
いくつかの実施形態では、表面再構成の場合、再構成モジュール250は、モデルが拡大されるべきかどうかを判断するために、追跡モジュール210によって提供された各フレームを分析することができる。別の実施形態では、再構成モジュール250は、モデルが拡大されるべきかどうかを判断するために、追跡モジュール210の構成設定、システムパラメータ、および/または現在のフレームレートに応じて分析用に追跡モジュール210によって提供されたフレームからフレームのサブセットを選択することができる。いくつかの実施形態では、追跡モジュール210の構成は再構成モジュール250によって、画像キャプチャのための適切なフレームレートをセットするように修正され得る。
【００７５】
さらに、表面再構成手法の場合、いくつかの実施形態では、既存の再構成モデルが拡大または更新されるべきかどうかの判断は、現在の画像、および既存のモデルに現在表されていない情報を現在の画像が含む程度に部分的に基づき得る。
【００７６】
いくつかの実施形態では、既存のモデルに現在表されていない、新たにキャプチャされたカメラフレームで初めてイメージングされた環境のポイントまたはエリアがある場合(ステップ260における「Y」)、ステップ265において、新しい深度センサーデータまたは深度情報を収集することによって、モデルまたは3Dメッシュは拡大または更新され得る。
【００７７】
さらに、表面再構成手法の場合、既存のモデルにすでに表されているが、新たにキャプチャされたカメラフレームで異なる視点から初めてイメージングされた環境のポイントまたはエリアがある場合(ステップ260における「Y」)、ステップ265において、新しい深度センサーデータまたは深度情報を収集することによって、モデルまたは3Dメッシュは拡大または更新され得る。いくつかの実施形態では、新しいポイントの存在は、現在の画像に含まれる情報と既存のモデルに記憶されている情報との間の差を計算し、そのような差がゼロではないかどうかを判断することによって判断され得る。
【００７８】
表面再構成手法では、既存の再構成モデルが拡大されるべきである場合(ステップ260における「Y」)、ステップ265において、追跡モジュール210から受信された更新済みカメラ画像フレームを拡張するために、深度センサーがアクティブ化されてよく、深度情報が収集され得る。たとえば、追跡モジュール210から受信された更新済みカメラ画像フレームが、初めてイメージングされたポイントを含む場合、アルゴリズムはステップ265に進み、深度センサーは有効にされ得る。いくつかの実施形態では、ステップ265において深度情報を取得するために、3DTOFカメラ、構造化照明または立体視センサーが使用され得る。
【００７９】
新しいポイントがない場合(ステップ260における「N」)、表面再構成では、モデルは拡大されなくてよく、アルゴリズムはステップ255に戻って、別の反復を開始する。たとえば、表面再構成では、新しいカメラ画像フレームが新しいポイントを含まない場合、アルゴリズムはステップ255に戻って、次の更新を待つことができ、深度センサーは無効にされてよく、または(以前に無効にされた場合)無効にされたままでよい。
【００８０】
容量測定再構成を使用するいくつかの実施形態では、ある指定レートで(たとえば、5フレームごとに)深度データが収集され得る。それ以外の場合、深度センサーは無効にされ得る。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。カメラの中心のロケーションなどの空間における所与のポイントから推定表面までの距離を判断するために、深度マップが使用され得る。したがって、容量測定再構成を使用するいくつかの実施形態では、追跡モジュール210から受信された更新済みカメラ画像フレームを拡張するために、深度センサーが(指定レートに基づいて)周期的にアクティブ化されてよく、深度情報が収集され得る。
【００８１】
容量測定再構成の場合、いくつかの実施形態では、既存のモデルにすでに表されている環境のポイントまたはエリアの追加測定値を融合させることによって、より高い品質が達成され得る。したがって、容量測定再構成が使用される環境では、新しいポイントがない状況でも、モデルまたは3Dメッシュが更新され得る。いくつかの実施形態では、同じ表面要素が更新される回数を制限するように、しきい値がセットされ得る。
【００８２】
いずれの手法でも、追跡モジュール210のフレームレートが十分に高い場合、カメラ姿勢は、(追跡モジュール210から取得された)直近の更新済みフレームの時間およびステップ265における深度センサーを使用した深度情報のキャプチャからの変化に直面している可能性が低い(または最小限に変化している可能性がある)。したがって、ステップ265において収集された深度情報は、最小限の精度低下を伴って、または精度低下を伴わずに、直近の更新済みフレームおよび関連する姿勢に関連付けられ得る。
【００８３】
別の実施形態では、色画像と深度情報の両方を含む新しい画像がステップ265において収集されてよく、新しい色+深度画像のための新しいカメラ姿勢が取得され得る。別の実施形態では、色画像と深度情報の両方を含む新しい画像がステップ265において収集されてよく、追跡モジュール210から取得された直近の更新済みフレームに関連するカメラ姿勢が、新たにキャプチャされた色+深度画像に関連付けられ得る。上記のように、十分に高いフレームレートの場合、追跡モジュール210から取得された直近の更新済みフレームおよび新たにキャプチャされた色+深度画像からのフレーム間カメラ姿勢の変化が、精度の劣化が最小限に抑えられ得るように最小限に抑えられ得る。
【００８４】
いくつかの実施形態では、ステップ265において色画像および深度情報を取得するために、3DTOFカメラ、構造化照明または立体視画像がキャプチャされ得る。受動ステレオセンサーが使用される実施形態では、(たとえば、追跡モジュール210によって受動ステレオセンサーを使用してキャプチャされた直近の更新済み画像からの)ステレオ画像ペアがここで、深度情報を取得するために処理され得る。
【００８５】
したがって、追跡モジュール210から受信された更新済みカメラ画像フレームが、(表面再構成の場合)初めて、または(容量測定再構成の場合)指定フレームレートに基づく適切なフレーム間隔の後、イメージングされたポイントを含む場合、アルゴリズムはステップ265に進んで、深度センサーが深度情報を取得するために有効にされ得る。したがって、いくつかの実施形態では、追跡モジュール210が継続的に動作し得る一方、深度収集を伴う電力集約的動作がステップ265において散発的にのみ実行され、それにより電力を節約する。
【００８６】
次いでアルゴリズムはルーチン275に進み、ルーチン275では、モデル化されている環境の3D再構成が、新たに収集された深度データに基づいて拡大され得る。
【００８７】
図2Bは、表面再構成技法を使用して再構成を拡大するためのルーチンまたは方法275に関するフローチャートである。いくつかの実施形態では、ルーチン275は、再構成モジュール250によって呼び出されること、または再構成モジュール250の一部を形成することがある。いくつかの実施形態では、ルーチン275は入力として、更新済みカメラ姿勢304と、ステップ265においてキャプチャされた色情報および深度情報を含む色+深度画像302とを受け入れることができる。いくつかの実施形態では、更新済みカメラ姿勢304は、ルーチン225によって計算された直近の姿勢であり得る。
【００８８】
いくつかの実施形態では、ステップ305において、色+深度画像302は、随意にフィルタ処理されて雑音成分が除去され、ダウンサンプリングされ得る。いくつかの実施形態では、ダウンサンプリングのレベルは、深度センサーの精度、カメラ姿勢推定304の精度、および/または他のシステムパラメータに部分的に基づき得る。たとえば、一実施形態では、640×480色+深度ピクセルの色+深度画像が320×240色+深度ピクセルにダウンサンプリングされ得る。いくつかの実施形態では、色+深度画像は、異なるレートでダウンサンプリングされ得る。たとえば、一実施形態では、画像の色情報がフル解像度で維持され得る一方、深度情報はダウンサンプリングされ得る。
【００８９】
たとえば、ステップ305において640×480色+深度ピクセル画像がダウンサンプリングされなかった場合、ステップ310において、得られる部分的メッシュは、639*479*2=612,162個もの三角形をもたらし得る。ステップ305において画像が320×240にダウンサンプリングされた場合、三角形の数はわずか152,482個の三角形となる。したがって、様々なシステムパラメータに基づいて、ステップ305においてダウンサンプリングを有利に使用して、再構成の計算上の複雑性を低減し、3D再構成への影響を最小限に抑えてプロセスを迅速化することができ、それにより、電力消費のさらなる効率に寄与することができる。
【００９０】
ステップ310において、表面再構成では、深度画像およびカメラ姿勢に基づいて部分的メッシュが生成され得る。一実施形態では、表面再構成モジュールは深度情報を使用して、視覚方向に沿って色画像を押し出し、テクスチャ加工または有色の高密度3Dメッシュを作成することができる。たとえば、メッシュは、画像をレンダリングするために使用され得る三角形からなり得る。「部分的メッシュ」という用語は、ステップ265において取得された単一の色+深度画像302から作成されたメッシュを指す。「既存メッシュ」という用語は、すべての部分的メッシュの組合せまたはマージから取得された、ある時点における結果を指す。
【００９１】
第1の部分的メッシュが作成されたとき、それは既存メッシュとして自動的に使用される。任意の他の後続部分的メッシュが作成されたとき、後続部分的メッシュは既存メッシュとマージされる。いくつかの実施形態では、メッシュは、関連するカメラ姿勢を伴うキーフレームおよびキーフレームから発生した記述子を伴うまばらな3Dポイントから作成される。キーフレームは、深度情報を含み、カメラの回転および並進の点で互いに比較的離れているカメラ姿勢でキャプチャされた選択された画像である。いくつかの実施形態では、グローバル座標系は、第1のキーフレームに関連するカメラ姿勢に基づいて定義され得る。
【００９２】
ステップ320において、既存メッシュと部分的メッシュとの間の重複が判断される。いくつかの実施形態では、ルーチン275はさらに、(ルーチン225によって計算された)追跡システムの6DOF姿勢304を使用して、最初に新しいメッシュを既存メッシュと位置合わせすることができる。いくつかの実施形態では、ステップ325において、追跡システムの姿勢推定精度に応じて、ルーチン275は、随意にさらに、Iterative Closest Point(ICP)などの方法を使用して位置合わせを精緻化することができる。ICPアルゴリズムは、部分的メッシュと既存メッシュの重複箇所との間の差を最小化する。一実施形態では、ICPアルゴリズムは、以下のステップを反復的に実行して、部分的メッシュと既存メッシュの重複部分との位置合わせを精緻化し、2つのメッシュにおける最も近い近傍ポイントを関連付け、平均二乗コスト関数を使用して変換パラメータを推定し、次いで次の反復を開始する前に推定パラメータを使用してポイントを変換することができる。
【００９３】
次に、ステップ330において、部分的メッシュが既存メッシュと位置合わせされると、再構成モジュールは部分的メッシュから、既存メッシュにすでに存在する重複する細部をすべて削減することができる。いくつかの実施形態では、ステップ330において、重複する細部はすべて除去されること、または、たとえば、すべての近くの/対応する頂点部分を平均化することによって既存メッシュと融合もしくはマージされることがある。別の実施形態では、重複する細部は除去されること、または様々な他のヒューリスティックに基づいて既存のモデルと融合もしくはマージされることがある。たとえば、一実施形態では、細部の直近の観測が維持され得る。別の実施形態では、重複する細部は、既存メッシュの滑らかさを保持するように融合され得る。
【００９４】
ステップ335において、入力色画像302における情報を使用して、重複する情報の除去の後、テクスチャまたは頂点の色情報が部分的メッシュに追加され得る。ステップ340において、部分的メッシュは既存メッシュにマージされる。いくつかの実施形態では、部分的メッシュを既存メッシュとマージする前に、重複する情報が部分的メッシュから除去され得る。別の実施形態では、上記のように、たとえば、部分的メッシュおよび既存メッシュにおけるすべての近くの、もしくは対応する頂点部分を平均化することによって、または他のヒューリスティックを使用することによって、重複する情報を除去することなく、メッシュはマージされ得る。したがって、既存メッシュは成長し、より複雑になり得る。いくつかの実施形態では、表面再構成手法は、オンデマンドで深度センサーから深度情報を取得することができる。たとえば、表面再構成手法は、たとえば、マッピングシーケンスの最初では1秒に1回または2回、および終わりの方では数秒ごとにのみ、オンデマンドで深度情報を収集し、それにより、深度センサーの使用の大幅な低減と、対応する電力消費低減とをもたらすことができる。
【００９５】
図2Cは、容量測定再構成技法を使用して再構成を拡大するためのルーチンまたは方法275に関するフローチャートである。いくつかの実施形態では、ルーチン275は、再構成モジュール250によって呼び出されること、または再構成モジュール250の一部を形成することがある。いくつかの実施形態では、ルーチン275は入力として、更新済みカメラ姿勢304と、ステップ265においてキャプチャされた色情報および深度情報を含む色+深度画像302とを受け入れることができる。いくつかの実施形態では、更新済みカメラ姿勢304は、ルーチン225によって計算された直近の姿勢であり得る。
【００９６】
いくつかの実施形態では、ステップ305において、色+深度画像302は、随意にフィルタ処理されて雑音成分が除去され、ダウンサンプリングされ得る。いくつかの実施形態では、ダウンサンプリングのレベルは、深度センサーの精度、カメラ姿勢推定304の精度、および/または他のシステムパラメータに部分的に基づき得る。したがって、様々なシステムパラメータに基づいて、ステップ305においてダウンサンプリングを有利に使用して、再構成の計算上の複雑性を低減し、3D再構成への影響を最小限に抑えてプロセスを迅速化することができ、それにより、電力消費のさらなる効率に寄与することができる。
【００９７】
ステップ350において、深度画像およびカメラ姿勢に基づいて容量測定データセットが生成および/または更新され得る。いくつかの実施形態では、ステップ350において、カメラフレームからの深度データは、計算効率の良い容量測定データ構造に融合される。一実施形態では、容量測定再構成は、3D距離関数を使用する表面の暗示的表現を使用することができる。
【００９８】
容量測定再構成を使用する実施形態では、ある指定レートで(たとえば、5フレームごとに)深度データが収集され得る。それ以外の場合、深度センサーは無効にされ得る。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。カメラの中心のロケーションなどの空間における所与のポイントから推定表面までの距離を判断するために、深度マップが使用され得る。したがって、容量測定再構成を使用するいくつかの実施形態では、追跡モジュール210から受信された更新済みカメラ画像フレームを拡張するために、深度センサーが(指定レートに基づいて)周期的にアクティブ化されてよく、深度情報が収集され得る。
【００９９】
容量測定再構成の場合、いくつかの実施形態では、既存のモデルにすでに表されている環境のポイントまたはエリアの追加測定値を融合させることによって、より高い品質が達成され得る。したがって、容量測定再構成が使用される環境では、新しいポイントがない状況でも、容量測定データセットが更新され得る。いくつかの実施形態では、同じ表面要素が更新される回数を制限するように、しきい値がセットされ得る。
【０１００】
ステップ355において、様々な技法を使用して容量測定データセット/3Dメッシュから表面抽出が実行され得る。たとえば、表面を抽出するために、マーチングキューブアルゴリズムが使用され得る。いくつかの実施形態では、容量測定再構成の場合、融合ステップとは無関係である別個のステップにおいて表面抽出が行われる。
【０１０１】
いくつかの実施形態では、容量測定再構成は、動的に設定可能であり得る固定データレート(たとえば、5つの色+深度フレーム/秒)を使用することができる。たとえば、深度カメラからの更新の頻度は、アプリケーション要求(たとえば、要求されるモデルのより高い、またはより低い精度)に基づいて、またはコンテキストから得られる手掛かり(たとえば、デバイスでの低い、または高いバッテリーレベル)に基づいて変動する(増加または減少する)ことがある。いくつかの実施形態では、表面抽出ステップは融合とは無関係に実行され得る。
【０１０２】
図2Dは、カメラフレームからの深度データを容量測定データセットに融合させるための例示的な方法を示すフローチャートを示している。3D空間における正規サンプルのセットとして表すために、3D切断符号付き距離関数(TDSF)が使用され得る。各サンプルにおいて、TDSF(サンプル)値は、推定表面までの符号付き距離をもたらし、この場合、正の距離は、オブジェクトの外部にあるサンプルを示し、負の距離は、オブジェクトの内部にあるサンプルを示す。
【０１０３】
容量測定再構成を使用するいくつかの実施形態では、ある指定レートで(たとえば、5フレームごとに)深度データが収集されることがあり、深度マップが使用されて、カメラの中心のロケーションなどの空間における所与のポイントから推定表面までの距離が判断され得る。次いで、これらの距離は、容量測定データセットにおける符号付き距離にマップされ得る。
【０１０４】
ステップ351において、容量における各サンプルが深度マップのカメラ座標系に変換されてよく、入力カメラ姿勢に基づいて深度マップにサンプルが投影されて、光線に沿った表面までの測定距離が取得され得る。その投影されたピクセルにおける距離値は、光線に沿った表面までの測定距離推定値をもたらす。
【０１０５】
次にステップ353において、サンプル深度と測定距離推定値との間の差が計算される。サンプルロケーションから表面までの測定相対距離は、サンプル深度と測定距離との間の差と定義される。
【０１０６】
ステップ355において、測定相対距離がTDSFにマップされ、ステップ357において、マップされたTDSF値が記憶された値と組み合わされ得る。たとえば、光線上のサンプルポイントによって提供された距離推定値は、再帰型フィルタを使用して相対距離と距離推定値を組み合わせることによって更新され得る。たとえば、一実装形態は、距離推定値sとともに重みwを使用し、重み付けされた更新を使用することによって新しい測定値mに基づいて距離推定値sを更新することができ、これは以下によって与えられ得る。
【０１０７】
【数３】
0005951908.tif 000004
【０１０８】
ステップ359において、追加サンプルが処理されるべきである場合(ステップ359における「Y」)、さらなる反復開始が開始されて、次のサンプルが処理され得る。さらなるサンプルがない場合(ステップ359における「N」)、制御は呼出しルーチンに戻され得る。
【０１０９】
いくつかの実施形態では、追跡モジュール210および再構成モジュール250は並行して実行され得る。たとえば、追跡モジュール210および再構成モジュール250は、別個のスレッドまたはプロセスとして動作し得る。いくつかの実施形態では、追跡モジュール210および再構成モジュール250は別個のプロセッサコア上で動作し得る。
【０１１０】
いくつかの実施形態では、上述の方法200は、電力効率の良い深度センサーの使用によるリアルタイム3D再構成を容易にし得る。一実施形態では、視覚追跡システムが適切なフレームレートで継続的に動作することができる一方、3D再構成モジュールは画像+深度データを散発的に収集することができる。たとえば、色+深度画像ペアが収集され得るレートは、アプリケーションに依存するが、マッピングシーケンスの最初ではより高いことがあり、終わりの方では大幅に低下することがある。いくつかの実施形態では、深度情報が継続的に収集される従来型の方法に対して、上記の方法200は、深度情報を必要とするフレームの数を一定の度合い以上減らし、それにより大幅な電力節約をもたらすことが可能であり得る。
【０１１１】
いくつかの例示的な実装形態では、視覚追跡システムが30fpsのフレームレートで継続的に動作することができる一方、3D再構成モジュールは画像+深度データを散発的に収集する。一般に、色+深度画像が収集されるレートは、特定の用途に依存する。しかしながら、いくつかの典型的な使用事例では、3D再構成モジュールは、マッピングシーケンスの最初では1秒に1回または2回、およびマッピングシーケンスの終わりの方では数秒ごとにのみ、画像+深度データを収集することができる。したがって、常に色+深度情報を必要とする従来型の実装形態に対して、本明細書で説明する実施形態は、深度情報が収集されるフレームの数を、従来型の実装形態と比較して10分の1以下に減らす。したがって、深度センサーが迅速に有効にされ、無効にされ、オーバーヘッドが最小限に抑えられ得る場合、開示される実施形態におけるCVアプリケーションの深度収集のための電力消費は、従来の方法によって消費される電力の10%以下となり得る。
【０１１２】
図3は、開示される実施形態と合致する、3D再構成のための例示的な方法400のフローチャートを示している。いくつかの実施形態では、方法400はプロセッサ150によって実行され得る。いくつかの実施形態では、方法400の一部は、CVモジュール155によって実行され得る。
【０１１３】
ステップ405において、少なくとも1つのカメラを使用して第1の(または次の)画像がキャプチャされてよく、第1の画像は、モデル化されている環境の少なくとも一部分に関する色情報を含む。いくつかの実施形態では、第1の画像は、MS100のカメラ110を使用してキャプチャされ得る。
【０１１４】
次にステップ410において、カメラによってキャプチャされた第1の(または次の)画像に関するカメラ姿勢情報が取得され得る。いくつかの実施形態では、ステップ405および410の一部は追跡モジュール210によって実行され得る。
【０１１５】
ステップ420において、第1の(または次の)キャプチャされた画像および関連するカメラ姿勢情報に部分的に基づいて、モバイルデバイスによってモデル化されている環境の第1の3次元(3D)モデルを拡大または更新すべきかどうかの判断が行われ得る。いくつかの実施形態では、表面および/または容量測定再構成技法が3Dモデルに使用されることがあり、モデルの拡大に関する決定が、モデル化に使用されている特定の技法と合致するように行われ得る。
【０１１６】
たとえば、表面再構成では、第1の(または次の)画像およびカメラ姿勢に基づいて、環境の既存のモデルに現在表されていない情報を画像が含む程度の判断が行われ得る。たとえば、表面再構成では、環境の既存のモデルを拡大すべきかどうかの判断が、既存のモデルにすでに表されているが、新たにキャプチャされたカメラフレームで異なる視点から初めてイメージングされた環境のポイントまたはエリアがあるかどうかに基づき得る。
【０１１７】
ステップ430において、モデルが拡大または更新されるべきではない場合(ステップ430における「N」)、ステップ440において、MS100の深度センサーが無効にされ得る。容量測定再構成では、たとえば、深度センサーは、深度情報が収集されている頻度に応じて、フレーム間の適切な間隔で無効にされ得る。表面再構成では、たとえば、画像が新しい情報を含まない場合に、深度センサーは無効にされ得る。容量測定再構成では、深度情報が周期的に指定レートで収集されることがあり、深度センサーは、指定レートに基づいて適切な間隔で有効にされ得る。それ以外の場合、深度センサーは無効にされ得る。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。
【０１１８】
いくつかの実施形態では、表面再構成と容量測定再構成の両方の場合、深度センサーを無効にすることは、深度センサーに供給される電力をオフにすること、または深度画像の計算に関係する機能を無効にすることのうちの少なくとも1つを含むことができる。たとえば、深度センサーはオフにされるか、または待機モードにされ得る。いくつかの実施形態では、たとえば、ステレオビジョンセンサーが無効にされるとき、カメラ110によってキャプチャされる画像は単眼であり得る。さらに、いくつかの実施形態では、深度センサーを無効にすることによって、受動ステレオビジョンセンサーによってキャプチャされたステレオ画像の処理に関連する計算も無効にされ得る。たとえば、一実施形態では、受動ステレオビジョンセンサーによってステレオ画像がキャプチャされ得るが、プロセッサ150は、ステレオ画像を処理しないことがあり、代わりに、処理のためにステレオペアから単一の画像を選択することがある。したがって、いくつかの実施形態では、3D再構成モジュールは深度データを散発的に収集/使用し、それにより電力を節約する。
【０１１９】
一方、モデルが拡大または更新されるべきである場合(ステップ430における「Y」)、ステップ450において、MS100の深度センサーが有効にされ得る。たとえば、表面再構成では、第1の(次の)画像が十分な新しい情報を含むので、モデル化されている環境の3Dモデルが拡大されるべきである場合、画像および関連する姿勢情報のキャプチャと連携して適切な深度センサーをオンにすることによって、画像および深度情報が取得され得る。
【０１２０】
別の例として、ある指定レートで深度情報が収集されている容量測定再構成では、深度センサーが指定レートに基づいて有効にされてよく、環境の3Dモデルが新しい深度情報により更新され得る。容量測定再構成の場合、いくつかの実施形態では、既存のモデルにすでに表されている環境のポイントまたはエリアの追加測定値を融合させることによって、より高い品質が達成され得る。したがって、容量測定再構成が使用される環境では、新しいポイントがない状況でも、モデルまたは3Dメッシュが更新され得る。いくつかの実施形態では、同じ表面要素が更新される回数を制限するように、しきい値または他のパラメータがセットされ得る。
【０１２１】
たとえば、いくつかの実施形態では、少なくとも1つのカメラにより第2の画像がキャプチャされ得る。さらに、第2の画像は、深度センサーによって少なくとも部分的に提供された深度情報により拡張され得る。
【０１２２】
表面再構成では、MSによってモデル化されている環境の部分的モデルが、環境の第1の3Dモデルとマージされ得る。部分的モデルは、第2の画像ならびに第2の画像に関する深度情報およびカメラ姿勢情報に部分的に基づき得る。いくつかの実施形態では、部分的3Dモデルを第1の3Dモデルとマージする前に、第1の3Dモデルおよび部分的3Dモデルに共通する情報が部分的3Dモデルから除去され得る。いくつかの実施形態では、部分的モデルは、ダウンサンプリングされたより低い解像度の拡張された第2の画像に基づき得る。いくつかの実施形態では、MSによってモデル化されている環境の部分的モデルが、第2の画像に関するカメラ姿勢情報に基づいて、環境の第1の3Dモデルと位置合わせされ得る。いくつかの実施形態では、第1の3Dモデルと部分的3Dモデルの位置合わせは、Iterative Closest Point(ICP)を使用して精緻化され得る。
【０１２３】
容量測定再構成では、ある指定レートで(たとえば、5フレームごとに)深度データが収集されることがあり、深度マップが使用されて、カメラの中心のロケーションなどの空間における所与のポイントから推定表面までの距離が判断され得る。次いで、これらの距離は、容量測定データセットにおける符号付き距離にマップされ得る。したがって、容量における各サンプルが深度マップのカメラ座標系に変換されてよく、入力カメラ姿勢に基づいて深度マップにサンプルが投影されて、光線に沿った表面までの測定距離が取得され得る。その投影されたピクセルにおける距離値は、光線に沿った表面までの測定距離推定値をもたらす。
【０１２４】
次に、サンプル深度と測定距離推定値との間の差が計算され得る。サンプルロケーションから表面までの測定相対距離は、サンプル深度と測定距離との間の差と定義されるものであり、次いでTDSFにマップされてよく、マップされたTDSF値は記憶された値と組み合わされ得る。たとえば、光線上のサンプルポイントによって提供された距離推定値は、再帰型フィルタを使用して相対距離と距離推定値を組み合わせることによって更新され得る。たとえば、一実装形態は、距離推定値sとともに重みwを使用し、重み付けされた更新を使用することによって新しい測定値mに基づいて距離推定値sを更新することができ、これは以下によって与えられ得る。
【０１２５】
【数４】
0005951908.tif 000005
【０１２６】
処理されるべき追加画像がある場合(ステップ460における「Y」)、プロセスはステップ410に戻って、別の反復を開始する。たとえば、3D再構成および/またはマッピングシーケンスが不完全である場合、追加画像の収集の判断が行われてよく、ステップ405において新しい反復が開始される。そうではなく、さらなる画像がない場合(ステップ460における「N」)、本方法は終了し得る。
【０１２７】
本明細書で説明する方法は、アプリケーションに依存する様々な手段によって実施され得る。たとえば、ファームウェアおよび/またはソフトウェア実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、手順、機能など)で実施され得る。命令を有形に具現化するいずれの機械可読媒体も、本明細書で説明する方法を実施する際に使用され得る。
【０１２８】
たとえば、ソフトウェアコードはメモリに記憶され、MS100のプロセッサ150などのプロセッサユニットによって実行され得る。いくつかの実施形態では、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶され得る。これらの例には、データ構造によりコード化されたコンピュータ可読媒体およびコンピュータプログラムによりコード化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。
【０１２９】
記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望のプログラムコードを命令またはデータ構造の形で記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含むことができ、本明細書で使用する場合、ディスク(diskおよびdisc)には、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザーによって光学的に再生する。前述の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１３０】
コンピュータ可読媒体における記憶に加えて、命令および/またはデータは、通信装置に含まれる伝送媒体における信号として提供され得る。たとえば、通信装置は、命令およびデータを示す信号を有する送受信機を含むことができる。これら命令およびデータは、1つまたは複数のプロセッサに、特許請求の範囲で概説される機能を実施させるように構成されている。すなわち、通信装置は、開示された機能を実行するための情報を示す信号を伴う送信媒体を含む。第1の時間において、通信装置に含まれる送信媒体は、開示された機能を実行するための情報の第1の部分を含み得る一方、第2の時間において、通信装置に含まれる送信媒体は、開示された機能を実行するための情報の第2の部分を含み得る。
【０１３１】
開示された態様の前述の記載は、いかなる当業者であっても、本開示を作成または使用できるように提供される。これらの態様への様々な変形は、当業者に容易に明らかとなり、本明細書で定義された一般原理は、本開示の趣旨または範囲から逸脱することなく、他の態様に適用され得る。
【符号の説明】
【０１３２】
100  移動局(MS)
110  カメラ
120  接続
130  慣性測定ユニット(IMU)
150  プロセッサ
155  コンピュータビジョン(CV)モジュール
160  メモリ
170  送受信機
180  ディスプレイ/スクリーン
200  方法、システム、3D再構成プロセス
210  追跡モジュール
250  再構成モジュール
302  色+深度画像、入力色画像
304  更新済みカメラ姿勢、6DOF姿勢、カメラ姿勢推定
400  方法
【図１】
0005951908.tif 000006
【図２Ａ】
0005951908.tif 000007
【図２Ｂ】
0005951908.tif 000008
【図２Ｃ】
0005951908.tif 000009
【図２Ｄ】
0005951908.tif 000010
【図３】
0005951908.tif 000011