(57)【要約】  実シーンの記憶されているボリュメトリックシーンモデルは、異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を定義するデータから生成される。デジタル画像は、反対の向きの姿勢からカメラによって形成されており、各デジタル画像は、カメラ内の感光検出器によって受け取られたライトフィールド束を表す記憶されているデータによって定義される画像データ要素を含む。デジタル画像は、シーン復元エンジンによって処理され、実シーンを表すデジタルボリュメトリックシーンモデルを形成する。ボリュメトリックシーンモデルは、(i)1つまたは複数の媒体特性を表す記憶されているデータによって定義されているボリュメトリックデータ要素を含み、(ii)ライトフィールドの束を表す記憶されているデータによって定義されている立体角データ要素を含む。隣接するボリュメトリックデータ要素はコリドーを形成する。
2019518268.tif 000002
【特許請求の範囲】
【請求項１】
実シーンの記憶されているボリュメトリックシーンモデルを形成するためのボリュメトリックシーン復元エンジンであって、
デジタルデータメモリおよびデータ入出力回路と通信するように接続されている少なくとも1つのデジタルデータプロセッサを備え、前記少なくとも1つのデジタルデータプロセッサは、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を定義するデータにアクセスし、ここで、前記デジタル画像は反対方向の姿勢からカメラによって形成されており、各デジタル画像は前記カメラ内の感光検出器によって受け取られるライトフィールド束を表す記憶されているデータによって定義される画像データ要素を含み、
前記デジタル画像を処理して前記実シーンを表すデジタルボリュメトリックシーンモデルを形成し、ここで、前記ボリュメトリックシーンモデルは(i)1つまたは複数の媒体特性を表す記憶されているデータによって定義されているボリュメトリックデータ要素を含み、(ii)前記ライトフィールドの前記束を表す記憶されているデータによって定義されている立体角データ要素、コリドーを形成する隣接するボリュメトリックデータ要素、部分的に光を透過させる媒体を表す少なくとも1つのコリドー内の前記ボリュメトリックデータ要素のうちの少なくとも1つを含み、
前記デジタルボリュメトリックシーンモデルデータを前記デジタルデータメモリ内に記憶するように構成されているボリュメトリックシーン復元エンジン。
【請求項２】
前記実シーンのワークスペース内で異なる姿勢で前記カメラを向けながら前記デジタル画像を取得し、記憶するように構成されているデジタルカメラをさらに備える請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項３】
前記デジタルカメラは、前記デジタル画像を取得し、少なくとも一部のデータを前記ボリュメトリックシーンモデル処理の少なくとも一部が実行されるリモートデータ処理サイトに伝達するように構成されている少なくとも1つのデジタルデータプロセッサを備えるユーザ携行ポータブルカメラである請求項2に記載のボリュメトリックシーン復元エンジン。
【請求項４】
前記ユーザ携行ポータブルカメラは、ユーザ着用眼鏡用のフレーム内に搭載される請求項3に記載のボリュメトリックシーン復元エンジン。
【請求項５】
前記画像データ要素は、複数の所定の偏光特性に対する偏光の感知された束値を表すデータを含む請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項６】
前記実シーンは、雹害を受けた車両パネル表面を含み、前記ボリュメトリックシーン復元エンジンは、
前記雹害を受けた車両パネルの復元されたシーンモデルを対応する損害を受けていない車両パネル表面モデルと比較し、
結果として得られる比較データを分析して検出された雹害の量的尺度を提供するようにさらに構成される請求項5に記載のボリュメトリックシーン復元エンジン。
【請求項７】
前記ボリュメトリックデータ要素の少なくともいくつかは、前記偏光特性を使用して決定された表面要素法線を有する媒体表面要素を表す請求項5に記載のボリュメトリックシーン復元エンジン。
【請求項８】
隣接する表面要素法線から形成された表面法線勾配は、複数のポラリメトリック画像にわたって対応する特徴をラベル付けするための自己位置推定特徴記述子として使用される請求項7に記載のボリュメトリックシーン復元エンジン。
【請求項９】
前記コリドーのうちの少なくとも1つは、それぞれ関連付けられているデジタル画像が形成されたときにカメラ内の感光検出器の間の領域を占有し、ボリュメトリックデータ要素は媒体反射表面を表す請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１０】
前記ボリュメトリックシーン復元エンジンは、少なくとも1つのシーン復元ゴールのユーザ識別を受け入れるようにさらに構成され、前記処理は、前記識別されたゴールが前記シーン復元エンジンによって前記ボリュメトリックシーンモデルにおいて所定の精度で達成されるまで繰り返し続けられる請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１１】
前記ボリュメトリックシーン復元エンジンは、視錐台からの前記ボリュメトリックシーンモデルにおけるボリュメトリックデータ要素の角分解能および立体角データ要素の前記角分解能が1分の角分解能よりもよくなるまで前記処理を繰り返し反復するようにさらに構成される請求項10に記載のボリュメトリックシーン復元エンジン。
【請求項１２】
ゴール定義物体の画像は、異なる焦点面距離で撮像されている請求項10に記載のボリュメトリックシーン復元エンジン。
【請求項１３】
前記ボリュメトリックシーン復元エンジンは、空間的にソートされて階層的方式で前記ボリュメトリックデータ要素を編成し、記憶するように構成されている請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１４】
前記立体角データ要素は、立体角八分木(SAO)形式で記憶される請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１５】
前記ボリュメトリックシーン復元エンジンは、大域的、非導関数的、非線形の最適化方法を使用して、前記シーンモデルにおけるボリュメトリックデータ要素および立体角データ要素の特性を形成するために使用される費用関数の最小値を計算するようにさらに構成される請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１６】
前記ボリュメトリックシーン復元エンジンは、(a)前に構築されたデジタルボリュメトリックシーンモデルの射影画像を(b)前記実シーンのそれぞれ対応するデジタル画像と比較するようにさらに構成される請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１７】
前記ボリュメトリックシーン復元エンジンは、前記デジタルボリュメトリックシーンモデルをより小さい一時的に独立したモデルに分割するようにさらに構成される請求項16に記載のボリュメトリックシーン復元エンジン。
【請求項１８】
複数の前記立体角データ要素は、前記ボリュメトリックシーンモデルにおける点を中心とする請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項１９】
前記ボリュメトリックシーン復元エンジンは、スパンを使用してシーン内で光の斜視射影を実行するようにさらに構成される請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項２０】
一般的な除算オペレーションを使用せずにプロセッサ内で実施される請求項1に記載のボリュメトリックシーン復元エンジン。
【請求項２１】
日常シーンの記憶されているボリュメトリックシーンモデルを構築するためのボリュメトリックシーン復元エンジンであって、
デジタルカメラ、および前記デジタルカメラ、デジタルデータメモリ、およびデータ入出力回路と通信するように接続されている少なくとも1つのデジタルデータプロセッサを備え、前記少なくとも1つのデジタルカメラおよびデータプロセッサは、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を取得することを、前記実シーンのワークスペース内の異なる位置から異なる方向にカメラを向けながら行い、ここで、各デジタル画像は少なくとも1つの所定の偏光特性に対する偏光の測定された放射輝度値を含む前記ライトフィールドの1つまたは複数の感知されたラジオメトリック特性を表す記憶されているデータによって定義されている画像データ要素を含み、
前記デジタル画像を定義するデータにアクセスし、
前記デジタル画像データを、(a)前記実シーンの前記媒体を表す隣接するボリュメトリックデータ要素のコリドーと、(b)前記実シーンの前記ライトフィールドを表す立体角データ要素であって、複数のコリドー内の前記ボリュメトリック要素のいくつかは部分的に透過的な媒体を表す、立体角データ要素とを含むデジタルボリュメトリックシーンモデルデータに処理し、ここで、
前記コリドーは、それぞれ関連付けられているデジタル画像が形成されたときに光センサ位置から外向きに延在し、前記コリドーの遠位端に配置されている前記ボリュメトリックデータ要素のうちの少なくともいくつかは、非偏光を介して観察されたときに特徴のない非透過的反射媒体表面を表し、
前記デジタルボリュメトリックシーンモデルデータを前記デジタルデータメモリ内に記憶するように構成されているボリュメトリックシーン復元エンジン。
【請求項２２】
前記デジタルカメラは、ユーザ携行デジタルカメラであり、前記処理は、前記ユーザ携行デジタルカメラとデータ通信するリモートサイトで少なくとも部分的に実行される請求項21に記載のボリュメトリックシーン復元エンジン。
【請求項２３】
実シーンの記憶されているボリュメトリックシーンモデルを形成するための方法であって、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を定義するデータにアクセスするステップであって、前記デジタル画像は反対方向の姿勢からカメラによって形成されており、各デジタル画像は前記カメラ内の感光検出器によって受け取られるライトフィールド束を表す記憶されているデータによって定義される画像データ要素を含む、ステップと、
前記デジタル画像をシーン復元エンジンで処理して前記実シーンを表すデジタルボリュメトリックシーンモデルを形成するステップであって、前記ボリュメトリックシーンモデルは(i)1つまたは複数の媒体特性を表す記憶されているデータによって定義されているボリュメトリックデータ要素を含み、(ii)前記ライトフィールドの前記束を表す記憶されているデータによって定義されている立体角データ要素、コリドーを形成する隣接するボリュメトリックデータ要素、部分的に光を透過させる媒体を表す少なくとも1つのコリドー内の前記ボリュメトリックデータ要素のうちの少なくとも1つを含む、ステップと、
前記デジタルボリュメトリックシーンモデルデータをデジタルデータメモリ内に記憶するステップとを含む方法。
【請求項２４】
前記実シーンのワークスペース内で異なる姿勢でカメラを向けながら前記デジタル画像を取得し、記憶するステップをさらに含む請求項23に記載の方法。
【請求項２５】
ユーザ携行ポータブルカメラは、前記デジタル画像を取得し、少なくとも一部のデータを前記ボリュメトリックシーンモデル処理の少なくとも一部が実行されるリモートデータ処理サイトに伝達するために使用される請求項24に記載の方法。
【請求項２６】
前記ユーザ携行ポータブルカメラは、ユーザ着用眼鏡用のフレーム内に搭載される請求項25に記載の方法。
【請求項２７】
前記デジタル画像データ要素は、複数の所定の偏光特性に対する偏光の感知された束値を表すデータを含む請求項23に記載の方法。
【請求項２８】
前記実シーンは、雹害を受けた車両パネル表面を含み、前記方法は、
前記雹害を受けた車両パネルの復元されたシーンモデルを対応する損害を受けていない車両パネル表面モデルと比較するステップと、
結果として得られる比較データを分析して検出された雹害の量的尺度を提供するステップとをさらに含む請求項27に記載の方法。
【請求項２９】
前記ボリュメトリックデータ要素の少なくともいくつかは、前記偏光特性を使用して決定された表面要素法線を有する媒体表面要素を表す請求項27に記載の方法。
【請求項３０】
隣接する表面要素法線から形成された表面法線勾配は、複数のポラリメトリック画像にわたって対応する特徴をラベル付けするための自己位置推定特徴記述子として使用される請求項29に記載の方法。
【請求項３１】
前記コリドーのうちの少なくとも1つは、それぞれ関連付けられているデジタル画像が形成されたときにカメラ内の感光検出器の間の領域を占有し、ボリュメトリックデータ要素は媒体反射表面を表す請求項23に記載の方法。
【請求項３２】
少なくとも1つのシーン復元ゴールのユーザ識別をさらに含み、前記処理は、前記識別されたゴールが前記シーン復元エンジンによって前記ボリュメトリックシーンモデルにおいて所定の精度で達成されるまで繰り返し続けられる請求項23に記載の方法。
【請求項３３】
前記処理ステップは、視錐台からの前記ボリュメトリックシーンモデルにおけるボリュメトリックデータ要素の角分解能および立体角データ要素の前記角分解能が1分の角分解能よりもよくなるまで繰り返し反復される請求項32に記載の方法。
【請求項３４】
ゴール定義物体の画像は、異なる焦点面距離で撮像されている請求項32に記載の方法。
【請求項３５】
記憶する前記ステップは、空間的にソートされて階層的方式で前記ボリュメトリックデータ要素を編成し、記憶する請求項23に記載の方法。
【請求項３６】
前記立体角データ要素は、立体角八分木(SAO)形式で記憶される請求項23に記載の方法。
【請求項３７】
前記処理ステップは、大域的、非導関数的、非線形の最適化方法を使用して、前記シーンモデルにおけるボリュメトリックデータ要素および立体角データ要素の特性を形成するために使用される費用関数の最小値を計算する請求項23に記載の方法。
【請求項３８】
前記処理ステップは、(a)前に構築されたデジタルボリュメトリックシーンモデルの射影画像を(b)前記実シーンのそれぞれ対応するデジタル画像と比較することをさらに含む請求項23に記載の方法。
【請求項３９】
前記処理ステップは、前記デジタルボリュメトリックシーンモデルをより小さい一時的に独立しているモデルに分割するステップを含む請求項38に記載の方法。
【請求項４０】
複数の前記立体角データ要素は、前記ボリュメトリックシーンモデルにおける点を中心とする請求項23に記載の方法。
【請求項４１】
前記処理ステップは、スパンを使用してシーン内の光の斜視射影を実行するステップを含む請求項23に記載の方法。
【請求項４２】
一般的な除算オペレーションを使用せずにプロセッサ内で実施される請求項23に記載の方法。
【請求項４３】
日常シーンの記憶されているボリュメトリックシーンモデルを構築するための方法であって、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を取得することを、前記実シーンのワークスペース内の異なる位置から異なる方向にカメラを向けながら行う、ステップであって、各デジタル画像は少なくとも1つの所定の偏光特性に対する偏光の測定された放射輝度値を含む前記ライトフィールドの1つまたは複数の感知されたラジオメトリック特性を表す記憶されているデータによって定義されている画像データ要素を含む、ステップと、
前記デジタル画像を定義するデータにアクセスするステップと、
前記デジタル画像データをシーン復元エンジンにより、(a)前記実シーンの前記媒体を表す隣接するボリュメトリックデータ要素のコリドーと、(b)前記実シーンの前記ライトフィールドを表す立体角データ要素であって、複数のコリドー内の前記ボリュメトリック要素のいくつかは部分的に透過的な媒体を表す、立体角データ要素とを含むデジタルボリュメトリックシーンモデルデータに処理するステップであって、
前記コリドーは、それぞれ関連付けられているデジタル画像が形成されたときに光センサ位置から外向きに延在し、前記コリドーの遠位端に配置されている前記ボリュメトリックデータ要素のうちの少なくともいくつかは、非偏光を介して観察されたときに特徴のない非透過的反射媒体表面を表す、ステップと、
前記デジタルボリュメトリックシーンモデルデータをデジタルデータメモリ内に記憶するステップとを含む方法。
【請求項４４】
取得する前記ステップは、ユーザ携行デジタルカメラで実行され、前記処理ステップは、前記ユーザ携行デジタルカメラとデータ通信するリモートサイトで少なくとも部分的に実行される請求項43に記載の方法。
【請求項４５】
実行可能コンピュータプログラム命令を含む不揮発性デジタルメモリ媒体であって、前記実行可能コンピュータプログラム命令は、少なくとも1つのプロセッサ上で実行されたときに、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を定義するデータにアクセスすることであって、前記デジタル画像は反対方向の姿勢からカメラによって形成されており、各デジタル画像は前記カメラ内の感光検出器によって受け取られるライトフィールド束を表す記憶されているデータによって定義される画像データ要素を含む、アクセスすることと、
前記デジタル画像を処理して前記実シーンを表すデジタルボリュメトリックシーンモデルを形成することであって、前記ボリュメトリックシーンモデルは(i)1つまたは複数の媒体特性を表す記憶されているデータによって定義されているボリュメトリックデータ要素を含み、(ii)前記ライトフィールドの前記束を表す記憶されているデータによって定義されている立体角データ要素、コリドーを形成する隣接するボリュメトリックデータ要素、部分的に光を透過させる媒体を表す少なくとも1つのコリドー内の前記ボリュメトリックデータ要素のうちの少なくとも1つを含む、形成することと、
前記デジタルボリュメトリックシーンモデルデータをデジタルデータメモリ内に記憶することとを行う不揮発性デジタルメモリ媒体。
【請求項４６】
前記コンピュータプログラム命令は、実行されたときに、
前記実シーンのワークスペース内で異なる姿勢でカメラを向けながら前記デジタル画像を取得し、記憶することをさらに行うためにデジタルカメラとのインターフェースを提供する請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項４７】
ユーザ携行ポータブルカメラは、前記デジタル画像を取得し、少なくとも一部のデータを前記ボリュメトリックシーンモデル処理の少なくとも一部が実行されるリモートデータ処理サイトに伝達するために使用される請求項46に記載の不揮発性デジタルメモリ媒体。
【請求項４８】
前記ユーザ携行ポータブルカメラは、ユーザ着用眼鏡用のフレーム内に搭載される請求項47に記載の不揮発性デジタルメモリ媒体。
【請求項４９】
前記デジタル画像データ要素は、複数の所定の偏光特性に対する偏光の感知された束値を表すデータを含む請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項５０】
前記実シーンは、雹害を受けた車両パネル表面を含み、前記コンピュータプログラム命令は、実行されたときに、
前記雹害を受けた車両パネルの復元されたシーンモデルを対応する損害を受けていない車両パネル表面モデルと比較することと、
結果として得られる比較データを分析して検出された雹害の量的尺度を提供することとをさらに行う請求項49に記載の不揮発性デジタルメモリ媒体。
【請求項５１】
前記ボリュメトリックデータ要素の少なくともいくつかは、前記偏光特性を使用して決定された表面要素法線を有する媒体表面要素を表す請求項49に記載の不揮発性デジタルメモリ媒体。
【請求項５２】
隣接する表面要素法線から形成された表面法線勾配は、複数のポラリメトリック画像にわたって対応する特徴をラベル付けするための自己位置推定特徴記述子として使用される請求項51に記載の不揮発性デジタルメモリ媒体。
【請求項５３】
前記コリドーのうちの少なくとも1つは、それぞれ関連付けられているデジタル画像が形成されたときにカメラ内の感光検出器の間の領域を占有し、ボリュメトリックデータ要素は媒体反射表面を表す請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項５４】
前記プログラム命令は、実行されたときに、少なくとも1つのシーン復元ゴールのユーザ識別をさらに行い、前記処理は、前記識別されたゴールが前記ボリュメトリックシーンモデルにおいて所定の精度で達成されるまで繰り返し続けられる請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項５５】
前記処理は、視錐台からの前記ボリュメトリックシーンモデルにおけるボリュメトリックデータ要素の角分解能および立体角データ要素の前記角分解能が1分の角分解能よりもよくなるまで繰り返し反復される請求項54に記載の不揮発性デジタルメモリ媒体。
【請求項５６】
ゴール定義物体の画像は、異なる焦点面距離で撮像されている請求項54に記載の不揮発性デジタルメモリ媒体。
【請求項５７】
前記コンピュータプログラム命令は、実行されたときに、空間的にソートされて階層的方式で前記ボリュメトリックデータ要素を編成し、記憶することを行う請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項５８】
前記立体角データ要素は、立体角八分木(SAO)形式で記憶される請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項５９】
前記処理は、大域的、非導関数的、非線形の最適化方法を使用して、前記シーンモデルにおけるボリュメトリックデータ要素および立体角データ要素の特性を形成するために使用される費用関数の最小値を計算する請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項６０】
前記処理は、(a)前に構築されたデジタルボリュメトリックシーンモデルの射影画像を(b)前記実シーンのそれぞれ対応するデジタル画像と比較することを含む請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項６１】
前記処理は、前記デジタルボリュメトリックシーンモデルをより小さい一時的に独立しているモデルに分割することを含む請求項60に記載の不揮発性デジタルメモリ媒体。
【請求項６２】
複数の前記立体角データ要素は、前記ボリュメトリックシーンモデルにおける点を中心とする請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項６３】
前記処理は、スパンを使用してシーン内の光の斜視射影を実行することを含む請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項６４】
前記コンピュータプログラム命令は、一般的な除算オペレーションを使用することなくプロセッサ内で実行される請求項45に記載の不揮発性デジタルメモリ媒体。
【請求項６５】
実行可能コンピュータプログラム命令を含む不揮発性デジタルメモリ媒体であって、前記実行可能コンピュータプログラム命令は、少なくとも1つのプロセッサ上で実行されたときに、日常シーンの記憶されているボリュメトリックシーンモデルを構築し、前記プログラム命令は、実行されたときに、
異なるタイプの媒体を含む実シーン内のライトフィールドのデジタル画像を取得することを、前記実シーンのワークスペース内の異なる位置から異なる方向にカメラを向けながら行うことであって、各デジタル画像は少なくとも1つの所定の偏光特性に対する偏光の測定された放射輝度値を含む前記ライトフィールドの1つまたは複数の感知されたラジオメトリック特性を表す記憶されているデータによって定義されている画像データ要素を含む、取得することと、
前記デジタル画像を定義するデータにアクセスすることと、
前記デジタル画像データを、(a)前記実シーンの前記媒体を表す隣接するボリュメトリックデータ要素のコリドーと、(b)前記実シーンの前記ライトフィールドを表す立体角データ要素であって、複数のコリドー内の前記ボリュメトリック要素のいくつかは部分的に透過的な媒体を表す、立体角データ要素とを含むデジタルボリュメトリックシーンモデルデータに処理することであって、
前記コリドーは、それぞれ関連付けられているデジタル画像が形成されたときに光センサ位置から外向きに延在し、前記コリドーの遠位端に配置されている前記ボリュメトリックデータ要素のうちの少なくともいくつかは、非偏光を介して観察されたときに特徴のない非透過的反射媒体表面を表す、処理することと、
前記デジタルボリュメトリックシーンモデルデータをデジタルデータメモリ内に記憶することとを行う不揮発性デジタルメモリ媒体。
【請求項６６】
取得する前記ステップは、ユーザ携行デジタルカメラで実行され、前記処理は、前記ユーザ携行デジタルカメラとデータ通信するリモートサイトで少なくとも部分的に実行される請求項65に記載の不揮発性デジタルメモリ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、全体が参照により本明細書に組み込まれている、2016年4月12日に出願した米国仮特許出願第62/321,564号、2016年6月20日に出願した米国仮特許出願第62/352,379号、2016年8月5日に出願した米国仮特許出願第62/371,494号、2016年11月29日に出願した米国仮特許出願第62/427,603号、2016年12月6日に出願した米国仮特許出願第62/430,804号、2017年2月8日に出願した米国仮特許出願第62/456,397号、および2016年11月11日に出願した米国特許出願第62/420,797号の優先権の利益を主張するものである。
【０００２】
本発明は、一般に3D画像処理(3D imaging)、およびより詳細には、ボリュメトリックシーン復元(volumetric scene reconstruction)の分野に関するものである。
【背景技術】
【０００３】
3D画像(3D image)は、可視化(visualization)および情報抽出(information extraction)を含む、様々な目的のためにキャプチャされる実世界シーン(real-world scene)のデジタル3Dモデルである。これらは、3Dセンサ、3Dカメラ、3Dスキャナ、VRカメラ、360°カメラ、および深度カメラと様々に称される3Dイメージャ(3D imager)によって取得される。これらは、国防、セキュリティ、娯楽、教育、健康管理、インフラストラクチャ、製造、およびモバイルを含むグローバルセクタにおいて使用されるアプリケーションにおける3D情報のニーズに応えるものである。
【０００４】
シーンから3D情報を抽出するために、多数の方法が開発されてきた。多くは、レーザなどの活性光源を伴い、消費電力が大きい、範囲が限られているなどの、制限を有している。理想に近い方法は、安価なカメラ(検出器を使用してライトフィールド(light field)を感知することによって画像を形成するデバイス)からの2つまたはそれ以上の画像を使用して詳細なシーンモデルを生成するものである。多視点ステレオ(Multi-View Stereo)(MVS)という用語が本明細書において使用されるが、これおよびその変形形態は、とりわけ、写真測量法、運動からの構造復元(Structure-from-Motion)(SfM)、および同時自己位置推定環境地図作成(Simultaneously Localization And Mapping)(SLAM)などの他の名称でも知られている。そのような方法は多数、Furukawaの参考文献「Multi-View Stereo: A Tutorial」に記載されている。これはMVSを画像/幾何学整合性最適化問題(image/geometry consistency optimization problem)の枠組みの中にあるものとしてとらえている。測光整合性および効率的な最適化アルゴリズムのロバストな実装は、うまく機能するアルゴリズムを実現するうえで重要であることがわかっている。
【０００５】
画像からシーンモデルの抽出のロバスト性を高めるために、光の輸送の改善されたモデリングが必要である。これは、透過、反射、屈折、散乱、などを含む、物体との光の相互作用の特性を含む。Jaroszの論文「Efficient Monte Carlo Methods for Light Transport in Scattering Media」(2008年)では、この主題の綿密な分析がなされている。
【０００６】
MVSの最も単純なバージョンでは、カメラの視点および姿勢が2つの画像について知られている場合、シーン内の「ランドマーク」3D点の位置は、その点の射影が何らかの形態の三角測量を使用して2つの画像(その2D「特徴」点)内で見つけられる場合に計算され得る(特徴は、記述および姿勢に関して表現されるエンティティの特性である。特徴の例は、スポット、輝き、または建物を含む。記述は、i)フィールド(エンティティが姿勢をとらされ得る空間)内でいくつかの姿勢における特徴のインスタンスを見つけるために使用され得るか、またはii)フィールドの中の1つの姿勢における記述特性から形成され得る)。表面は、多くのランドマークを組み合わせることによって抽出される。これは、特徴点が、実際に、シーン内の固定されたランドマーク点の正しい射影である限り、また何らかの視点依存アーチファクト(たとえば、正反射、エッジの交差)によって引き起こされない限りうまく行く。これは、カメラの視点および姿勢が知られていない多くの画像および状況に拡大適用され得る。ランドマーク配置およびカメラパラメータを解決するプロセスは、多くの変更形態があり、特定の用途および状況に使用される他の名称もあるが、バンドル調整(BA)と呼ばれる。このトピックは、Triggsによってその論文「Bundle Adjustment - A Modern Synthesis」(2009年)の中で包括的に説明されている。BAにおける重要なサブトピックは、状況が複雑になるにつれ計算の難度が次第に高くなる、導関数を解析的に明示的に生成する操作をせずに、解を計算することができることである。これは、Brentによってその書籍「Algorithms for Minimization Without Derivatives」の中で紹介されている。
【０００７】
光、色、および強度の2つの特性は、MVSで使用されているが、毎日のシーンで使用されるときに大きな制限がある。これらは、シーン内にテクスチャ、非ランバート反射物体、および透明物体のない表面を正確に表現することができないことを含む(物体は、並置されることが予期される媒体である。物体の例は、葉、小枝、木、霧、雲、および地球を含む)。これを解くために、光の第3の特性である偏光がシーン復元能力を拡張することが判明している。MVSにおけるポラリメトリックイメージング(polarimetric imaging)の使用は、偏光からの形状(Shape from Polarization)(SfP)と呼ばれる。Wolff特許、米国特許第5028138号では、正反射に基づく基本的なSfP装置および方法を開示している。拡散反射は、もし存在すれば、無偏光であると仮定される。Barbour特許、米国特許第5890095号では、ポラリメトリックイメージングセンサ装置およびマイクロポラライザアレイを開示している。Barbour特許、米国特許第6810141号では、SPIセンサを使用して、3D幾何学に関する情報を含む、物体に関する情報を提供する一般的な方法を開示している。d'Angelo特許、ドイツ特許第102004062461号では、SfPと組み合わせた陰影からの形状(SfS)に基づき幾何学を決定するための装置および方法を開示している。d'Angelo特許、ドイツ特許第102006013318号では、SfPと組み合わせたSfSおよび疎な点集合に対する範囲データを追加するためのブロックマッチングステレオアルゴリズムに基づき幾何学を決定するための装置および方法を開示している。Morel特許、国際公開第2007057578号では、高反射物体のSfPのための装置を開示している。
【０００８】
Koshikawaの論文「A Model-Based Recognition of Glossy Objects Using Their Polarimetrical Properties」は、誘電光沢物体の形状を決定するための偏光情報の使用を開示した最初の論文と一般的には考えられている。後に、Wolffが自分の論文「Polarization camera for computer vision with a beam splitter」の中で、基本的な偏光カメラの設計を示した。Miyazakiの論文「Determining shapes of transparent objects from two polarization images」では、透明または反射誘電体表面に対するSfP法を展開させている。Atkinsonの論文「Shape from Diffuse Polarization」では、表面散乱の基礎物理を説明し、拡散反射および正反射の場合に偏光から形状を決定するための方程式を記述している。Morelの論文「Active Lighting Applied to Shape from Polarization」では、統合ドームアクティブ照明(integrating dome and active lighting)を使用する反射金属面に対するSfPシステムを説明している。これは、表面散乱の基礎物理を説明し、拡散反射および正反射の場合に偏光から形状を決定するための方程式を記述している。d'Angeloの論文「3D Reconstruction by Integration of Photometric and Geometric Methods」では、疎な点雲(sparse point clouds)および密な奥行きマップ(dense depth maps)に基づく3D復元のアプローチを説明している。
【０００９】
MVSシステムは表面パラメータを解決することに大部分基づくが、密な方法を使用するモデリングの次元性を高めることによって改善が見つかっている。Newcombeは、論文「Live Dense Reconstruction with a Single Moving Camera」(2010年)においてこれの進展を説明している。Wurmの論文「OctoMap: A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems」(2010年)では別の方法が説明されている。
【００１０】
MVS法を実世界シーンに適用するときに、必要な計算量は、多くの用途に対して、特にモバイルおよび低電力動作に対して、たちまち実用的でなくなり得る。以前にそのような計算問題が解決されていた医学画像処理などのMVSから外れた分野では、八分木および四分木のデータ構造体および方法の使用が有効であることがわかっている。これは、特に、控えめな専用プロセッサで実装されたときのケースである。この技術は、非常に多くの単純で安価な低電力プロセッサを使用して計算が困難な状況に適用することを可能にすることが期待される。この基本的な八分木の概念は、Meagherによって、論文「Geometric Modeling Using Octree Encoding」および論文「The Octree Encoding Method for Efficient Solid Modeling」において導入された。これは後で米国特許第4694404号において正投影画像生成に対して拡張された。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許第5028138号
【特許文献２】米国特許第6810141号
【特許文献３】ドイツ特許第102004062461号
【特許文献４】ドイツ特許第102006013318号
【特許文献５】国際公開第2007057578号
【特許文献６】米国特許第4694404号
【特許文献７】米国特許第4,694,404号
【非特許文献】
【００１２】
【非特許文献１】Furukawa、参考文献「Multi-View Stereo: A Tutorial」
【非特許文献２】Jarosz、論文「Efficient Monte Carlo Methods for Light Transport in Scattering Media」(2008年)
【非特許文献３】Triggs、論文「Bundle Adjustment - A Modern Synthesis」(2009年)
【非特許文献４】Brent、書籍「Algorithms for Minimization Without Derivatives」
【非特許文献５】Koshikawa、論文「A Model-Based Recognition of Glossy Objects Using Their Polarimetrical Properties」
【非特許文献６】Wolff、論文「Polarization camera for computer vision with a beam splitter」
【非特許文献７】Miyazaki、論文「Determining shapes of transparent objects from two polarization images」
【非特許文献８】Atkinson、論文「Shape from Diffuse Polarization」
【非特許文献９】Morel、論文「Active Lighting Applied to Shape from Polarization」
【非特許文献１０】d'Angeloの論文「3D Reconstruction by Integration of Photometric and Geometric Methods」
【非特許文献１１】Newcombe、論文「Live Dense Reconstruction with a Single Moving Camera」(2010年)
【非特許文献１２】Wurm、論文「OctoMap: A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems」(2010年)
【非特許文献１３】Meagher、論文「Geometric Modeling Using Octree Encoding」
【非特許文献１４】Meagher、論文「The Octree Encoding Method for Efficient Solid Modeling」
【発明の概要】
【課題を解決するための手段】
【００１３】
次の簡略化された要約は、本明細書において説明されているシステムおよび/または方法のいくつかの態様の最初の基本的事項を理解してもらうためのものである。この要約は、本明細書において説明されているシステムおよび/または方法の広範な概要ではない。鍵となる/決定的なすべての要素を識別すること、またはそのようなシステムおよび/または方法の範囲全体を定めることは意図されていない。後で述べる詳細な説明の前置きとして、いくつかの概念を簡略化した形式で述べることのみを目的とする。
【００１４】
いくつかの実施形態において、デジタル画像を定義するデータは、カメラを日常のシーンのワークスペース(たとえば、光(たとえば、可視周波数/波長スペクトル内の、および/またはその外の電磁エネルギーを伝搬する)が輸送または反射される際に通る異なるタイプの媒体を含む)内で異なる方向(たとえば、向きが反対の姿勢)に向けている間に取得され、シーン復元エンジンに直接入力される。他の実施形態では、そのようなデジタル画像データはすでに取得され、シーン復元エンジンによって後からアクセスできるように記憶されている。いずれの場合も、デジタル画像は、カメラ内の感光検出器によって受信されたライトフィールド束を表す記憶されているデータによって定義される画像データ要素を含む。
【００１５】
例示的なシーン復元エンジンは、そのようなデジタル画像を処理して実シーンを表すデジタルボリュメトリックシーンモデルを形成する。シーンモデルは、1つまたは複数の媒体特性を表す記憶されているデータによって定義されているボリュメトリックデータ要素を含み得る。シーンモデルは、また、感知されたライトフィールド束を表す記憶されているデータによって定義されている立体角データ要素も含み得る。隣接するボリュメトリックデータ要素はシーンモデル内にコリドーを形成し、少なくとも1つのコリドー内のボリュメトリックデータ要素のうちの少なくとも1つは部分的に光透過性を有する媒体を表す。
【００１６】
ボリュメトリックシーンモデルデータは、所望のその後のアプリケーション(たとえば、人間が知覚できる表示を行う、実シーンに関係するアプリケーションさらには当業者に知られている他の多くのアプリケーションのために設計データを提供する)用のデジタルデータメモリに記憶される。
【００１７】
いくつかの例示的な実施形態において、取得された画像データ要素は、撮像された実シーンライトフィールドの少なくとも1つの所定の偏光特性を表す。
【００１８】
いくつかの例示的な実施形態において、いくつかのコリドーは、(i)関連付けられているデジタル画像が取得されたときのカメラの感光検出器の位置と(ii)反射面要素を備える媒体要素を表すボリュメトリックデータ要素との間の一領域を占有し得る。
【００１９】
いくつかの例示的な実施形態において、いくつかのコリドーは、非偏光を介して観察されたときに特徴のない反射媒体面を表すコリドーの遠位端に配置されるボリュメトリックデータ要素を含み得る。
【００２０】
いくつかの例示的な実施形態において、いくつかのコリドーは、非偏光を介して観察されたときに特徴のない中実媒体面上の自己位置推定配向勾配(たとえば、雹害によってできた車両外装上の凹んだ「バンプ」)を表すコリドーの遠位端に配置されるボリュメトリックデータ要素を含み得る。
【００２１】
いくつかの例示的な実施形態において、シーン復元エンジンは、少なくとも1つのシーン復元ゴールのユーザ識別を受信し、シーン復元処理は、識別されたゴールが所定の精度で達成されるまで繰り返し続けられる。そのような反復プロセスは、たとえば、シーンモデル内の少なくともいくつかのボリュメトリックデータ要素の角分解能が平均的な人間の目の角分解能と同程度からそれ以上(たとえば、約1分または約0.0003ラジアン)になるまで続くものとしてよい。
【００２２】
いくつかの例示的な実施形態において、実シーン内の少なくともいくつかの媒体のデジタル画像は、カメラと注目する媒体との間の異なる距離で取得される(たとえば、花、木などに生えている葉などのより小さい媒体要素のクローズアップ画像)。
【００２３】
いくつかの例示的な実施形態において、ボリュメトリックデータ要素は、シーン復元処理および/または復元モデルデータのその後のアプリケーション使用を促進するために空間的にソートされた階層的な方式でデジタルメモリ内に記憶される。
【００２４】
いくつかの例示的な実施形態において、立体角データ要素は、シーン復元処理および/または復元モデルデータのその後のアプリケーション使用を促進するために空間的に立体角八分木(SAO)形式で記憶される。
【００２５】
いくつかの例示的な実施形態において、いくつかのボリュメトリックデータ要素は、単一中心多方向ライトフィールドの表現を含む。
【００２６】
いくつかの例示的な実施形態において、少なくともいくつかのコリドーの遠位端のボリュメトリックデータ要素は、ボリュメトリックシーンモデルの中心を中心とする立体画データ要素に関連付けられている。
【００２７】
いくつかの例示的な実施形態において、少なくともいくつかのコリドー内の、中間に位置しているボリュメトリックデータ要素は、立体画データ要素の多方向ライトフィールドに関連付けられている。
【００２８】
いくつかの例示的な実施形態において、シーン復元処理では非微分最適化法を使用して、取得されたデジタル画像内の特徴点を特定するために使用される費用関数の最小値を計算する。
【００２９】
いくつかの例示的な実施形態において、シーン復元処理は、デジタルボリュメトリックシーンモデルの精緻化を、(A)(i)以前に構成されたデジタルボリュメトリックシーンモデルの射影デジタル画像を(ii)実シーンのそれぞれ対応する形成されたデジタル画像と比較するステップと、(B)実シーンの比較されたデジタル画像により正確に適合するように以前に構成されたデジタルボリュメトリックシーンモデルを修正し、それによって新規構成されたデジタルボリュメトリックシーンモデルを生成するステップとを繰り返し実行することによって行うステップを含む。
【００３０】
いくつかの例示的な実施形態において、カメラは、実シーンのデジタル画像を取得するために、ユーザ携行ポータブルカメラ(たとえば、眼鏡フレーム内の)内に埋め込まれ得る。そのような実施形態において、取得されたデジタル画像データは、シーン復元エンジンの少なくとも一部が置かれるリモートデータプロセッサに伝達され得る。
【００３１】
例示的な実施形態は、少なくとも、(A)請求項に記載の機能が配置される機械装置、(B)改善されたシーン復元プロセスを実現する方法ステップの実行、および/または(C)互換性のあるデジタルプロセッサ上で実行されたときに、改善されたシーン復元プロセスを実現し、および/または改善されたシーン復元エンジンマシンを生成する実行可能プログラム命令を収めた不揮発性コンピュータプログラム記憶媒体を含む。
【００３２】
例示的な実施形態の追加の特報および利点は以下で説明される。
【００３３】
これらの、および他の特徴および利点は、次の図面と併せて例示的な非限定的な図解された実施形態の次の詳細な説明を参照することによってよりよく、より完全に理解されるであろう。
【図面の簡単な説明】
【００３４】
【図１】いくつかの例示的な実施形態による、スキャンされ、モデル化され得るシーンを示す図である。
【図２Ａ】いくつかの例示的な実施形態による3D画像処理システムのブロック図である。
【図２Ｂ】いくつかの例示的な実施形態によるシーン復元エンジン(シーンのボリュメトリックモデルを復元するために画像を使用するように構成されているデバイス)ハードウェアのブロック図である。
【図３】いくつかの例示的な実施形態による、シーンの画像をキャプチャし、シーンのボリュメトリックモデルを形成するためのプロセスのフローチャートである。
【図４Ａ】いくつかの例示的な実施形態による、ボリュームフィールド(volume field)およびボリューム要素(ボクセル)を示す幾何学的図である。
【図４Ｂ】いくつかの例示的な実施形態による、立体角フィールド(solid angle field)および立体角要素(セイル(sael)、「セイル」と発音する)を示す幾何学的図である。
【図５】いくつかの例示的な実施形態による、図1に示されているキッチンのワークスペーススケールのプランビューを示す幾何学的図である。
【図６】いくつかの例示的な実施形態による、キッチンの窓の小部分のボクセルスケールのビューを示す3D図である。
【図７Ａ】いくつかの例示的な実施形態による、キッチンシーンのモデルのプランビューを示す幾何学的図である。
【図７Ｂ】いくつかの例示的な実施形態による、キッチンがこのスケールで小さいドットで示されている、キッチンシーンのモデルのプランビューを示す幾何学的図である。
【図８Ａ】いくつかの例示的な実施形態による、ボクセルを復元するために使用されるカメラの姿勢を示す幾何学的図である。
【図８Ｂ】いくつかの例示的な実施形態による、ボクセルを占有し得る様々な材料を示す幾何学的図である。
【図８Ｃ】いくつかの例示的な実施形態による、ボクセルを占有し得る様々な材料を示す幾何学的図である。
【図８Ｄ】いくつかの例示的な実施形態による、ボクセルを占有し得る様々な材料を示す幾何学的図である。
【図８Ｅ】いくつかの例示的な実施形態による、ボクセルを占有し得る様々な材料を示す幾何学的図である。
【図９Ａ】いくつかの例示的な実施形態による、たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る単一中心一方向セイル配置構成を示す幾何学的図である。
【図９Ｂ】いくつかの例示的な実施形態による、たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る単一中心多方向セイル配置構成を示す幾何学的図である。
【図９Ｃ】たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る単一中心全方向セイル配置構成を示す幾何学的図である。
【図９Ｄ】いくつかの例示的な実施形態による、たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る単一中心等方向セイル配置構成を示す幾何学的図である。
【図９Ｅ】いくつかの例示的な実施形態による、たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る平面中心一方向セイル配置構成を示す幾何学的図である。
【図９Ｆ】いくつかの例示的な実施形態による、たとえば、ライトフィールドまたはセンサ錐台を表すために使用され得る多中心全方向セイル配置構成を示す幾何学的図である。
【図１０】いくつかの例示的な実施形態による、入射(閉境界の外側からその閉境界の内側に進む)ライトフィールド、応答ライトフィールド(responsive light field)、放射ライトフィールド(emissive light field)、および出射(exitant)(閉境界の内側からその閉境界の外側に進む)ライトフィールドを関係付ける双方向光相互作用機能(bidirectional light interaction function)(BLIF)を示す等角投影図である。
【図１１】いくつかの例示的な実施形態による、シーン復元エンジン(SRE)機能を示す概略図である。
【図１２】いくつかの例示的な実施形態による、データモデリングを示す概略図である。
【図１３】いくつかの例示的な実施形態による、ライトフィールド物理学機能を示す概略図である。
【図１４】いくつかの例示的な実施形態による、ソフトウェアアプリケーションを示す機能フロー図である。
【図１５】いくつかの例示的な実施形態による、プラン処理を示す機能フロー図である。
【図１６】いくつかの例示的な実施形態による、スキャン処理を示す機能フロー図である。
【図１７】いくつかの例示的な実施形態による、センサ制御機能を示す概略図である。
【図１８Ａ】いくつかの例示的な実施形態による、シーン解決を示す機能フロー図である。
【図１８Ｂ】いくつかの例示的な実施形態による、仮定されたシーンモデル(postulated scene model)を更新するために使用されるプロセス示す機能フロー図である。
【図１８Ｃ】いくつかの例示的な実施形態による、図1のシーン内のラッパ水仙の花弁を復元するために使用されるプロセスを示す機能フロー図である。
【図１８Ｄ】いくつかの例示的な実施形態による、BLIFについて図18Cにおいて復元されているラッパ水仙の花弁の1つのメディエル(mediel)を直接解くために使用されるプロセスを示す機能フロー図である。
【図１９】いくつかの例示的な実施形態による、空間的処理オペレーション(operation)を示す概略図である。
【図２０】いくつかの例示的な実施形態による、ライトフィールドオペレーションを示す概略図である。
【図２１】いくつかの例示的な実施形態による、立体角八分木(SAO)(2D内の)を示す幾何学的図である。
【図２２】いくつかの例示的な実施形態による、1つの弧に沿った立体角八分木細分を示す幾何学的図である。
【図２３Ａ】表面法線ベクトルの特徴対応関係を示す幾何学的図である。
【図２３Ｂ】いくつかの例示的な実施形態による、位置合わせのための2つの画像特徴点上のランドマーク点の射影を示す幾何学的図である。
【図２４】いくつかの例示的な実施形態による、位置合わせコストをパラメータの関数として示す幾何学的図である。
【図２５Ａ】いくつかの例示的な実施形態による、PUSHオペレーションの後の更新されたコスト値の生成を示す概略図である。
【図２５Ｂ】いくつかの例示的な実施形態による、位置合わせ手順を示す機能フロー図である。
【図２６】いくつかの例示的な実施形態による、位置合わせのためのノード中心から最小点への移動を示す幾何学的図である。
【図２７】いくつかの例示的な実施形態による、位置合わせのための射影における最小点の移動を示す幾何学的図である。
【図２８Ａ】いくつかの例示的な実施形態による、SAO境界立方体の前方面を示す幾何学的図である。
【図２８Ｂ】いくつかの例示的な実施形態による、位置不変SAOを生成するためのプロセスを示すフロー図である。
【図２９】いくつかの例示的な実施形態による、四分木の面上へのSAOの射影を示す幾何学的図である。
【図３０】いくつかの例示的な実施形態による、入射SAO生成における八分木の射影を示す幾何学的図である。
【図３１Ａ】いくつかの例示的な実施形態による、出射SAOと入射SAOとの関係を示す幾何学的図である。
【図３１Ｂ】いくつかの例示的な実施形態による、図31Aから結果として得られる入射SAOを示す幾何学的図である。
【図３２】いくつかの例示的な実施形態による、2Dにおける双方向性光相互作用機能(BLIF)SAOを示す幾何学的図である。
【図３３】いくつかの例示的な実施形態による、雹害評価アプリケーションを示す概念図である。
【図３４】いくつかの例示的な実施形態による、雹害評価(HDA)に対するアプリケーションプロセスのフロー図である。
【図３５】いくつかの例示的な実施形態による、HDA検査プロセスを示すフロー図である。
【図３６Ａ】いくつかの例示的な実施形態による、ディスプレイ(物体およびシーンなどのエンティティの概念を創出するために人間の感覚を刺激するデバイス)の座標系の外部ビューを示す幾何学的図である。
【図３６Ｂ】いくつかの例示的な実施形態による、ディスプレイ座標系の内部ビューを示す幾何学的図である。
【図３６Ｃ】いくつかの例示的な実施形態による、ディスプレイ座標系内の直交ビューを示す幾何学的図である。
【図３７】いくつかの例示的な実施形態による、X方向の親ノードから子ノードへのノード中心の幾何学的移動を示す幾何学的図である。
【図３８】いくつかの例示的な実施形態による、X次元における八分木の幾何学的変換の実装を示す概略図である。
【図３９】いくつかの例示的な実施形態による、ディスプレイ画面上への八分木ノード中心の透視射影を示す幾何学的図である。
【図４０Ａ】いくつかの例示的な実施形態による、透視射影におけるスパンおよび窓を示す幾何学的図である。
【図４０Ｂ】いくつかの例示的な実施形態による、スパンの原点光線および中心を示す幾何学的斜視図である。
【図４０Ｃ】ノードを細分するときのスパンゾーン(span zone)を示す幾何学的図である。
【図４０Ｄ】ノードを細分した後のスパンおよび原点を示す幾何学的図である。
【図４１Ａ】いくつかの例示的な実施形態による、PUSHオペレーションから結果として得られるスパンおよびノード中心値の計算を示す概略図である。
【図４１Ｂ】図41Aの続きの図である。
【図４２】いくつかの例示的な実施形態による、シーンモデル精度の測量値(シーンモデル内の要素とシーンモデルが表す実シーン内の対応する要素との間の偏差の測量値)を示す幾何学的図である。
【発明を実施するための形態】
【００３５】
参照を容易にするために非限定的な例とともに次の用語が用意される。
コリドー。透過性媒体の通路。
フロンティア。シーンモデル境界の入射ライトフィールド。
イメージングポラリメータ。ポラリメトリック画像を感知するカメラ。
光。可視光線域、赤外線域、および紫外線域を含む周波数の電磁波。
ライトフィールド。シーン内の光の流れ。
媒体。光が流れる何らかの物質を含むか、または光が流れる物質を含まないボリュメトリック領域。媒体は、同質であるか、または異質であり得る。同質媒体の例は、あきの空間、空気、および水を含む。異質媒体の例は、鏡の表面(一部空気および一部銀メッキされたガラス)、1枚のガラスの表面(一部空気および一部透過性ガラス)、およびパインツリーの枝(一部空気および一部有機材料)を含むボリュメトリック領域を含む。光は、吸収、反射、透過、および散乱を含む現象により媒体中を流れる。部分的透過性を有する媒体の例は、パインツリーの枝および1枚のガラスを含む。
ワークスペース。シーンの画像のキャプチャ元のカメラ位置を含むシーンの領域。
【００３６】
シーン復元エンジン(SRE)は、実シーンの3Dモデルを復元するために画像を使用するデジタルデバイスである。今日利用可能なSREは、日常シーン(「日常」とは毎日を意味する)と呼ばれる重要なタイプのシーンを復元するために使用することが事実上できない。概して、日常シーンはi)密にボリュメトリックであり、ii)閉塞し、輝いており、部分的に透過性を有し、特徴のない物体(たとえば、白色壁)を含み、iii)複雑なライトフィールドを含む。人々が毎日生活している過程で占有するシーンの大半は、日常のことである。今日のSREが日常シーンを効果的に復元することができない1つの理由は、ライトフィールドを復元しないことにある。自動車および瓶などの輝いている、部分的に透過性を有する物体を復元することを成功させるために、物体が埋没するライトフィールドが知られていなければならない。
【００３７】
例示的な実施形態は、たとえば、シーンモデル精度(SMA)の有用なレベルに達するように日常シーンを効率的に復元すること、およびその使用などの能力を提供する新しいタイプのSREを含む。いくつかの実施形態による、シーン復元エンジンは、画像を使用して実シーンのボリュメトリックシーンモデルを形成する。シーンモデルのボリュメトリック要素は、i)ボリュメトリック要素を占有する媒体のタイプおよび特性、ならびにii)ボリュメトリック要素のところに存在するライトフィールドのタイプおよび特性に関して実シーンの対応する領域を表す。実施形態では、効率を求めて新規性のあるシーン解決方法が使用されている。高度に詳細なボリュメトリックシーンモデルからの読み書きがモデルの作成中および作成後に効率的であることを確実にするために、またシーンの正確なボリュメトリックモデルを必要とする多くのアプリケーションによって使用できるモデルを実現するために、実施形態において新規性のある空間的処理技術が使用される。日常シーン復元に対して重要な利点を有する一タイプのカメラは、イメージングポラリメータである。
【００３８】
3D画像処理システムは、シーン復元エンジンおよびカメラを備える。現在利用可能な広範な3D画像処理技術には、飛行時間、多視点対応、ライトフィールド焦点平面の3つがある。各々、少なくとも1つの仕方で日常シーンを効果的に復元することができない。飛行時間カメラは、より長い距離において日常シーンを復元することが事実上できない。多視点対応の重要な欠陥は、特徴のない表面領域内の形状を決定できないという点であり、そのため、モデルにギャップが残る。ライトフィールド焦点平面カメラは、深度分解能が非常に低いが、それは、ステレオベースラインが非常に小さいからである(画像処理チップの幅)。これらの欠陥は依然として主要な価格性能のボトルネックのままであり、そのため、これらの技術は狭い専門アプリケーションに追いやられている。
【００３９】
図1に示されているシーン101は、これもまた日常である実シーンの一例である。シーン101は、もっぱら、キッチン領域を含み、樹木の一部を含む領域103、キャビネットの一部を含む領域105、フードの一部を含む領域107、窓の一部を含む領域109、山の一部を含む領域111、瓶内の花を含む領域113、および空の一部を含む領域115を含む。シーン101は、部分的に透明な物体および完全に透明な物体を含む、非ランバート反射物体を含むので日常シーンである。シーン101は、また、窓を通してフロンティアまで延在する。
【００４０】
人々が毎日生活している過程で占有するシーンの大部分の空間は、日常である。それでも従来のシーン復元エンジンは、大半の潜在的な3D画像処理アプリケーションによって必要とされる精度になるように日常シーンを復元することを費用効果を維持しながら行うことができない。本発明の例示的な実施形態は、日常であるものを含む様々なタイプのシーンを効率よく正確に形成することができるシーン復元エンジンを実現する。しかしながら、例示的な実施形態は、日常シーンに限定されず、実シーンをモデル化する際にも使用されてよい。
【００４１】
好ましくは、シーン復元エンジンは、少なくともいくつかの部分において、平均的な人間の目が識別できるのと同程度の角分解能を有するシーンモデルを生成する。人間の目は、約1分(0.02°、または0.0003ラジアン、これは1kmの距離のところの0.3mに対応する)の角分解能を有する。過去数年間に、画像表示技術は、表す(裸眼で判断したときの)実シーン内のライトフィールドからほぼ区別できない射影ライトフィールドを作成する能力を実現し始めている。裸眼で判断したときに類似の精度で十分な分解能を有する画像からボリュメトリックシーンモデルを復元するという、逆問題は、他の3D画像処理技術ではまだ効果的に解決されていない。対照的に、例示的な実施形態によって復元されるシーンモデルは、上記の精度閾値に近づき、それを超える可能性がある。
【００４２】
図2Aは、いくつかの例示的な実施形態による3D画像処理システム200のブロック図である。3D画像処理システム200は、たとえば、シーン101などの実シーンをスキャンし、対応するボリュメトリックシーンモデルを形成するために使用され得る。3D画像処理システム200は、シーン復元エンジン(SRE)201、カメラ203、アプリケーションソフトウェア205、データ通信層207、およびデータベース209を含む。アプリケーションソフトウェア205は、ユーザインターフェースモジュール217とジョブスクリプト処理モジュール219とを備える。3D画像処理システム200は、モバイルおよびウェアラブルデバイス(眼鏡など)で具現化され得る。
【００４３】
SRE201は、様々な画像キャプチャおよび画像処理オペレーションを実行するための命令ロジックおよび/または回路、ならびにボリュメトリックシーンモデルを生成するための3D画像処理システム200の全体的な制御を含む。SRE201は、図11に関して以下でさらに説明される。
【００４４】
カメラ203は、シーンの画像をキャプチャするように構成可能である1つまたは複数のカメラを含み得る。いくつかの例示的な実施形態において、カメラ203は、これがシーン内の光の偏光特性をキャプチャし、キャプチャされた偏光情報に基づき画像を生成するという点でポラリメトリックである。ポラリメトリックカメラは、時にはイメージングポラリメータとも称される。いくつかの例示的な実施形態において、カメラ203は、米国フロリダ州オーランド所在のPhoton-X社のPX 3200ポラリメトリックカメラ、米国アラバマ州ハンツビル所在のPolaris Sensor Technologies社のUrsaポラリメータ、または米国アリゾナ州テンペ所在の4D Technology社のPolarCam(商標)スナップショットマイクロポラライザカメラを含み得る。いくつかの例示的な実施形態において、カメラ203(またはそれに取り付けられているプラットフォーム)は、位置センサ(たとえば、GPSセンサ)、モーションセンサ(たとえば、加速度計)を備える慣性航法システム、ならびにカメラの位置および/または姿勢を知らせるために使用され得る回転センサ(たとえば、ジャイロスコープ)のうちの1つまたは複数を備え得る。カメラ203が、複数のカメラを含むときに、カメラはすべて同じ仕様のカメラであり得るか、または異なる仕様および能力を持つカメラを含み得る。いくつかの実施形態において、シーン内で同じ位置にあるか、または異なる位置にあり得る、2つまたはそれ以上のカメラが、シーンをスキャンするために互いに同期する画像処理システムによって操作されてよい。
【００４５】
アプリケーションソフトウェア205は、3D画像処理システムのコンポーネントを使用してシーンの画像を取得し、3Dシーンモジュールを生成するための命令ロジックを備える。アプリケーションソフトウェアは、スキャン操作および生成されるべきモデルに関する入力を取得するための命令と、ゴールならびにスキャン操作およびモデル生成のための他のコマンドを生成するための命令と、SRE201およびカメラ203にスキャン操作およびモデル生成のためのアクションを実行させるための命令とを含み得る。アプリケーションソフトウェア205は、たとえば、アプリケーションが生成されたシーンモデルを使用するなどの、シーンモデルが生成された後のプロセスを実行するための命令も含み得る。アプリケーションソフトウェアの例示的なフローは、図14に関して説明される。実施形態により生成されたボリュメトリックシーンモデルを使用する例示的なアプリケーションは、図33に関して以下で説明される。
【００４６】
データ通信層207は、互いに通信するための3D画像処理システムのコンポーネント、ローカルエリアネットワークまたはワイドエリアネットワーク通信を介して外部デバイスと通信するための3D画像処理システムの1つまたは複数のコンポーネント、および3D画像処理システムの他のサブコンポーネントまたは他のコンポーネントと通信するための3D画像処理システムのコンポーネントのサブコンポーネントを備える。データ通信層207は、通信技術または通信技術の組合せに対するインターフェースおよび/またはプロトコルを含み得る。データ通信層に対する例示的な通信技術は、1つまたは複数の通信バス(たとえば、PCI、PCI Express、SATA、Firewire、USB、Infiniband、など)、ならびにEthernet(IEEE 802.3)などのネットワーク技術および/またはワイヤレス通信技術(Bluetooth(登録商標)、WiFi(IEEE 802.11)、NFC、GSM(登録商標)、CDMA2000、UMTS、LTE、LTE-Advanced(LTE-A))、および/または他の短距離、中距離、および/または長距離ワイヤレス通信技術を含む。
【００４７】
データベース209は、3D画像処理システムに対する構成パラメータ、スキャンを介してキャプチャされたシーン画像、過去に取得された画像およびボリュメトリックシーンモデルのライブラリ、ならびに現在生成されているか、または精緻化されているボリュメトリックシーンモデルを記憶するためのデータストアである。データベース209の少なくとも一部は、メモリ215内にあってよい。いくつかの実施形態において、データベース209の一部分は、メモリ215と外部記憶装置デバイス(たとえば、クラウドストレージまたはデータ通信層207を介してアクセス可能な他のリモートストレージ)とに分散されるものとしてよい。データベース209は、書き込み、アクセスおよび取り出しに効率的である方式でいくつかのデータを記憶するものとしてよいが、特定のタイプのデータベースまたはデータモデルに限定されない。いくつかの例示的な実施形態において、データベース209は、ボリュメトリックシーンモデルを記憶するために八分木および/または四分木形式を使用する。八分木および四分木形式は、図20および他の図に関してさらに説明されている。いくつかの実施形態において、データベース209は、スキャンされた画像を記憶するために第1のタイプのデータ形式を、ポラリメトリックシーンモデル情報を記憶するために第2のタイプのデータ形式を使用し得る。八分木は空間的にソートされ、したがってシーンの領域は直接アクセスされ得る。それに加えて、これらは、シーン内の特定の光線の方向などの、空間内の指定された方向で効率的にアクセスされ得る。これらは、階層的でもあり、したがって、粗密アルゴリズムは、粗レベルでの結果に応じて、アルゴリズムのオペレーションにおいてより高い分解能の情報が必要になるまで低い分解能レベルで情報を処理することができる。これは、また、二次メモリからのアクセスを効率的にする。より低い分解能の情報のみが、より高い分解能が実際に必要になるまで一次メモリ内に保持される。
【００４８】
図2Bは、いくつかの例示的な実施形態によるSREハードウェアのブロック図であり、少なくとも入出力インターフェース211、少なくとも1つのプロセッサ213、およびメモリ215を備える。出力インターフェース211は、3D画像処理システム200またはそのコンポーネントがユーザおよび/または他のデバイスとインタラクティブにやり取りするために使用され得る1つまたは複数のインターフェースを提供する。入出力インターフェース211は、3D画像処理システム200が入力デバイス(たとえば、キーボード、タッチスクリーン、音声コマンド入力、カメラの移動をガイドするためコントローラなど)および/または画面および/または追加の記憶装置などの出力デバイスと通信できるようにし得る。出力インターフェースは、入力、出力、または記憶装置デバイスのいずれかとの有線および/またはワイヤレス接続を行えるようにし得る。
【００４９】
プロセッサ213は、たとえば、シングルもしくはマルチコアプロセッサ、マイクロプロセッサ(たとえば、中央演算処理装置もしくはCPU)、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、またはシステムオンチップ(SOC)(たとえば、CPUおよびメモリ、ネットワーキングインターフェース、および同様のものなどの他のハードウェアコンポーネントを含む集積回路)のうちの1つまたは複数を含む。いくつかの実施形態において、これらのプロセッサのうちの各々またはいずれかは、x86またはAdvanced RISC Machine(ARM)などの命令セットアーキテクチャを使用する。プロセッサ213は、SRE201、カメラ203、アプリケーションソフトウェア205、データ通信層207、データベース209、入出力インターフェース211のうちの1つまたは複数のオペレーションを実行し得る。いくつかの例示的な実施形態において、プロセッサ213は、3D画像処理システム200がSRE201内の第1のプロセッサ、カメラ203内の第2のプロセッサ、および3D画像処理システム200の処理を制御する第3のプロセッサを備えるように少なくとも3つの分散プロセッサを備える。
【００５０】
メモリ215は、ランダムアクセスメモリ(RAM)(ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)など)、フラッシュメモリ(たとえば、NANDもしくはNOR技術に基づく)、ハードディスク、光磁気媒体、光媒体、キャッシュメモリ、レジスタ(たとえば、命令を保持する)、またはデータおよび/または命令(たとえば、プロセッサ上でもしくはプロセッサによって実行されるソフトウェア)の不揮発性または不揮発性記憶装置への記憶を実行する他のタイプのデバイスを含む。メモリは、揮発性メモリまたは不揮発性コンピュータ可読記憶媒体であってよい。例示的な実施形態において、ボリュメトリックシーンモデル情報およびスキャン画像は、3D画像処理システムの動的実行ニーズに基づき異なるメモリ(たとえば、揮発性メモリ対不揮発性メモリ、キャッシュメモリ対RAMなど)の間にプロセッサ213によって分散され得る。
【００５１】
ユーザインターフェースモジュール217は、ユーザから入力を取得し、情報ユーザに対して出力するためのソフトウェアオペレーションを実装する。インターフェース217は、ブラウザベースの技術または他のユーザインターフェース生成技術を使用して実装され得る。
【００５２】
ジョブスクリプト処理モジュール219は、シーンに対するシーンおよびモデル生成をスキャンするためのゴールおよび初期パラメータを受け取り、スキャンおよびモデル生成において所望のゴールを達成するオペレーションのシーケンスを生成するオペレーションを実装する。
【００５３】
図2は、カメラ203が3D画像処理システム200のSRE201および他のコンポーネントと別になっている一実施形態を例示しているが、本開示による企図された実施形態は、カメラがシステムの残り部分とは別のハウジング内にあり、ネットワークインターフェースを介して通信する実施形態、カメラおよびSREが共通のハウジング内にあり(いくつかの実施形態では、カメラはSREのオペレーションを実装するチップと回路基板上に装着されている)、ネットワークインターフェースを介してデータベース209と通信する実施形態、カメラ203がコンポーネント201、205〜215の同じハウジング内に一体化している実施形態、および同様のものを含むことが理解されるであろう。
【００５４】
図3は、いくつかの例示的な実施形態により、シーンをスキャンし、シーンのボリュメトリックモデルを復元するためのプロセス300のフローチャートを示している。たとえば、プロセス300は、実シーン101をスキャンし、そのシーンのボリュメトリックシーンモデルを形成するために3D画像処理システム200によって実行され得る。少なくとも1つのプロセッサ213は、3D画像処理システム200のアプリケーションソフトウェア205、SRE201、カメラ203、および他のコンポーネントによって提供されるようなプロセス300に関連付けられている命令を実行し得る。
【００５５】
プロセス300に入った後、オペレーション301において、3D画像処理システムは、1つまたは複数のカメラを起動しキャリブレーションするステップ、シーンモデルを初期化するステップ、およびプロセス300の後続のオペレーションを制御するステップに関係する入力を提供するためのユーザインターフェースをユーザに提示し得る。たとえば、ユーザインターフェースは、ユーザインターフェースモジュール217によって生成され、入出力インターフェース211を介して出力デバイス上に表示されてよい。ユーザは、入出力インターフェース211を介して3D画像処理システムに結合されている1つまたは複数の入力デバイスを使用して入力を行うものとしてよい。
【００５６】
オペレーション303において、1つまたは複数のカメラが起動され、任意選択でキャリブレーションされる。いくつかの実施形態において、カメラキャリブレーションは、カメラによって測定される様々な特性(たとえば、幾何学的、ラジオメトリック、およびポラリメトリック特性)に対する応答モデルを決定するために実行される。キャリブレーションは、オフラインステップとして実行されてよく、キャリブレーションパラメータは、メモリ内に記憶されてよく、カメラおよび/または3D画像処理システムは、各カメラに対する記憶されているキャリブレーション情報にアクセスし、必要なキャリブレーションを、もしあれば実行し得る。カメラ(またはそれに取り付けられているプラットフォーム)が位置センサ(たとえば、GPSセンサ)、モーションセンサ(たとえば、加速度計)、および/または回転センサ(たとえば、ジャイロスコープ)を含む実施形態において、これらのセンサは、たとえば、各カメラの現在位置および/または姿勢を決定するか、または設定するようにキャリブレーションされてもよい。カメラキャリブレーションは、図12に示されているセンサモデリングモジュール1205に関して以下でさらに説明される。
【００５７】
オペレーション305において、シーンモデルが初期化されるものとしてよい。ボリュメトリックシーンモデルは、シーン空間に対するボリューム要素によりメモリ内に表現され得る。スキャンを開始する前のシーンモデルの初期化は、その特定のシーンに合わせて手直しされ、したがってより効率的である仕方でシーンがスキャンされることを可能にする。初期化は、画像およびシーンモデルを記憶するためのデータ構造体および/またはメモリの準備も行い得る。
【００５８】
シーンモデルの初期化は、ユーザインターフェースを介してシーンの記述をユーザが指定するステップを含み得る。シーン記述は、図1のシーンを画像処理する準備をする場合に、シーンが調理台、フード、花を伴う瓶、木製食器棚、およびガラス窓を備えるキッチンを含むことを指定するステップなどの高水準記述であってよい。図5および図7に示されているプランビューは、3D画像処理システムに提供されるシーン記述の一例であってよい。シーン101のキッチンシーンの上記の例示的な記述は、単なる一例にすぎず、画像処理システムに提供されるシーンの記述は、上記の例示的な記述より具体的であるか、またはあまり具体的でなくてもよい。入力記述は、テキスト入力、メニュー選択、音声コマンド、および同様のもののうちの1つまたは複数で画像処理システムに提供され得る。いくつかの例示的な実施形態において、シーンの入力記述は、空間のCAD設計の形態をとり得る。
【００５９】
初期化するステップは、また、ボリュメトリックシーンモデルがどのような形式で記憶されるか(たとえば、八分木または他の形式)、記憶先、ファイル名、スキャンに使用されるべきカメラ、などを選択するステップも含み得る。
【００６０】
プロセス300のその後のオペレーションは、モデル化されるシーンの部分を表すそれぞれのボリューム要素を特徴付けることによってシーンモデルを繰り返し精緻化するステップに向けられる。
【００６１】
オペレーション307において、シーンモデル、ならびにプランおよびタスクの対応するシーケンスに対する1つまたは複数のゴールが決定される。1つまたは複数のゴールは、ユーザインターフェースを介してユーザによって指定されるものとしてよい。これらのゴールは、ユーザインターフェースによって使用可能にされる任意の形態で指定され得る。
【００６２】
シーン101を画像処理するステップに関連してユーザによって指定される例示的なゴールは、花弁が事前指定されたレベルの確度(たとえば、モデルの記述に関してモデルの90%の確度)で決定されるシーンモデルを有する、すなわち、90%以上の確度で花弁(または花弁に対応する素材)を含むものとして決定された花弁によって占有される実シーンに対応するボリュメトリックシーンモデルのボリューム要素を有することであるものとしてよい。他のゴール基準は、指定された閾値(たとえば、指定された厚さの10ミクロン以内にあるべき取得されたモデル内の花弁の厚さ)未満のシーン領域、および適用範囲レベル(たとえば、シーン空間内の特定のパーセンテージのボリューム要素がそれらの中に含まれる媒体タイプに関して解決される)の1つまたは複数の態様に関して確度を低くすることであってよい。別のゴール基準は、1つまたは複数の基準に関するシーンまたはシーンの一部内の漸進的な改善が閾値未満になるまでモデルを繰り返し精緻化する(たとえば、ボリューム要素の少なくとも所定の部分がその媒体タイプ決定を変更するまで繰り返す)ことであってもよい。
【００６３】
画像処理システムは、自動的に、またはユーザからのマニュアル入力と組み合わせて、ゴールを達成するための1つまたは複数のタスクを含むプランを生成する。上で述べたように、ゴールは、1つまたは複数の識別された基準を満たす要求条件によって指定され得る。プランは、これらのゴールを満たすように配置構成された、タスクのシーケンスである。プラン処理は、図15に関して以下で説明される。タスクは、実行されるべきアクションとみなされてよい。タスクを実行する際に生じ得る、スキャン処理は、図16に関して以下で説明される。
【００６４】
シーン101をスキャンする例において、花弁が事前指定されたレベルの確度で決定されるシーンモデルを作成するゴールの条件を満たすために、生成されたプランは、カメラをシーン空間を通る特定の経路内で移動し、および/またはカメラをパンしてシーン空間の初期スキャンを取得する第1のタスクと、カメラを特定の経路内で移動し、および/またはカメラをパンしてゴール内で指定されたとおりの花の詳細スキャンを取得する第2のタスクと、現在のボリュメトリックシーンモデルに対してゴール基準をテストし、ゴールの条件が満たされるまで第2のタスクを繰り返す第3のタスクとを含み得る。タスクは、画像収集、画像記憶、およびシーンモデル計算に対するパラメータも指定し得る。カメラ移動は、位置、経路、姿勢(配向)、移動距離、速度、および/または時間のいずれかに関して指定され得る。
【００６５】
シーンモデルの精度は、モデル内のボリューム要素について、ボリューム要素内の媒体に関する現在の決定およびボリューム要素の光特性を対応する位置および姿勢からキャプチャされた画像と比較することによって決定され得る。図42は、いくつかの例示的な実施形態による、シーンモデル精度(SMA)の測量値を示している。図42の例では、位置特性は、隣接するボクセルの領域内のいくつかのボクセル(ボリューム要素)について指示されている。真のシーンモデル内のボクセルの中心4201、4211、および4221が指示されている。真のシーンモデルは、その用語がこの例において使用されているように、シーンの推定される高い精度のモデルである。SMAが探されているテスト対象のシーンモデルは、真のモデル内のボクセル中心4201、4211、および4221に対応する点4205、4215、および4225の推定座標を含む。2つのモデル内の対応する点の間の距離4203、4213、および4223は、(逆)SMAを定義する。距離を計算する前に、テスト対象のモデルは、典型的には、それと真のモデルとの間の大域的(組織的)ミスレジストレーションを低減しながら内部構造を温存する方式で調整される。6-DOF剛体座標変換は、真のモデルに対する反復最近点当てはめオペレーションに基づきテスト対象のモデルに適用されてもよい。図42の例では、空間位置をモデル化された特性として使用して、SREによってモデル化された特性に一般化する。偏差関数は、特性の異種組合せにわたって定義されてよい(たとえば、点状特徴の位置偏差、それに加えて、対応するボクセルにおけるライトフィールド特性のラジオメトリック偏差)。ペナルティ関数は、SMAを計算する際に外れ値偏差の効果を軽減するために使用され得る。応用事例では、常に、ロバストな偏差関数を構築する方法を提案することになる。
【００６６】
オペレーション309において、シーンモデルは、シーン空間の周りでカメラを移動し、および/またはパンすることによってラフインされる(roughed in)。これは、生成されたプランにおけるタスクの1つまたは複数に従って実行され得る。いくつかの例示的な実施形態において、カメラは、3D画像処理システムによるプロンプトありで、またはなしでユーザによって移動され得る。いくつかの他の例示的な実施形態において、カメラ移動は、3D画像処理システムによって制御されるものとしてよく、たとえば、カメラはそれが制御可能に移動され得るマウンティングもしくはレーリング上に、またはUAV(たとえば、シーン空間内で自由に動作するように制御され得るドローン)内に取り付けられる。
【００６７】
このオペレーションにおける重要な考慮事項は、シーン空間内のライトフィールドとカメラとの相互作用を最小にする方式でスキャンを実行する実施形態の能力である。シーンモデルのラフインは、シーン空間の初期シーンモデルを形成することが意図されている。ラフインは、ゴールで指定されているシーン内のエンティティの各々の、およびゴールエンティティを囲む空間の、1つまたは複数の画像をキャプチャするためにシーン空間内でカメラを移動し、および/またはパンするステップを含み得る。当業者であれば、ラフインは任意の量の画像キャプチャおよび/またはモデル形成を含むものとしてよく、初期シーンモデルを形成するためにシーン空間のゴールエンティティおよび最小適用範囲の最小数の画像があれば十分であるが、ゴールエンティティの、および/またはシーン空間のより大きい部分を被覆する、より多くの数の画像があればより完全な、およびより正確な初期シーンモデルを生成するであろうことを理解するであろう。一般に、ラフインから得られる高品質の初期シーンモデルは、ゴールの指定された集合内でモデルを取得するのにその後必要になるシーンモデルの反復改善の量を減らす。
【００６８】
オペレーション311〜313は、すべての指定されたゴールの条件が満たされるまで初期シーンモデルを繰り返し精緻化するようになされる。オペレーション311において、シーン空間の選択された態様は、さらなるスキャンを受ける。たとえば、花の双方向性光相互作用機能(BLIF)は、図1に示されている花弁、葉、または瓶の小領域の周りの軌道上を移動している間に画像を取得することによって決定され得る。BLIFは、図10に関して以下で説明される。軌道およびスキャンパラメータは、最初に指定されたゴールから生成されたタスクのうちの1つに従うものとしてよい。たとえば、ラフインが広い領域にわたってカメラを移動し、および/またはパンするステップを含んでいた場合、精緻化プロセスは、注目する特定の物体の周りの小軌道内でカメラを移動するステップを含み得る。同様に、スキャンパラメータは、ラフインと精緻化段との間で変更されてもよく、ラフインは、広いFOVでスキャンするステップを含むものとしてよく、たとえば、精緻化プロセスは、かなり小さいFOVを使用するステップを伴い得る。(たとえば、注目物体(OOI)ビューのクローズアップ)。このオペレーションは、たとえば、測定されたライトフィールドパラメータを統計的モデルと比較することによって材料特性を測定するステップを含み得る。
【００６９】
オペレーション309〜311の各々において、取得された画像は、メモリ内に記憶され得る。ボリュメトリックシーンモデルの生成または精緻化は、画像取得と同時に実行されてよい。ボリュメトリックシーンモデルの精緻化は、シーンモデルのそれぞれのボリューム要素の評価を改善するステップを伴う。ボリューム要素の評価がどのように改善されるかについてのさらなる記述は、図18A〜図18Bに関して以下で説明される。ボリュメトリックシーンモデルは、記憶に関して空間的に効率がよく、読み書きに関して時間的に効率がよい方式でメモリに記憶され得る。図4A〜図4Cおよび図9A〜図9Eは、ボリュメトリックシーンモデルに対するシーンを維持する際に使用されるパラメータを示し、図20およびその関係する説明では、ボリューム要素およびその態様が効率的なデータ構造体にどのように記憶されるかを説明している。
【００７０】
オペレーション313において、指定された1つまたは複数のゴールの条件が満たされるかどうかが決定される。ゴールが条件を満たしたと決定された場合、プロセス300は終了する。1つまたは複数のゴールの条件が満たされていないと決定された場合、オペレーション311〜313は、すべてのゴールの条件が満たされるまで繰り返される。シーン101をスキャンする現在の例の後に、現在取得されているシーンモデルはテストされ、指定されたゴールの条件が満たされているかどうかを決定し、満たされていない場合に、スキャンパラメータを調整し、再びオペレーション311に進むものとしてよい。
【００７１】
オペレーション313の後に、プロセス300が終了する。メモリに記憶されているシーン101のシーンモデルは、任意のアプリケーションで使用できる。
【００７２】
図4Aおよび図4Bは、SREが復元目的に空間をどのようにモデル化しているかを示している。これらの基本的幾何学的エンティティの把握は、いくつかの例で使用されるシーンモデルエンティティの続く記述を理解するのを助ける。
【００７３】
ボリューム要素407は、3D空間内の位置的な有限の広がりを表す。ボリューム要素は、「ボクセル」と省略した名前で知られている。ボクセルは、閉曲面を境界としている。ボクセルは、非退化形状を有し得る。これは立方体である必要はなく、特定の対称性を示す必要もない。ボクセルは、その形状およびそれが囲む容積の大きさによって特徴付けられ、立方メートルまたは他の好適な単位で表される。1つまたは複数のボクセルが一緒になって、ボリュームフィールド405を構成する。例示的な実施形態において、SRE(たとえば、SRE201)は、シーン内の領域を占有する媒体(またはそれが欠如していること)を表すためにボリュームフィールドを使用する。いくつかの実施形態において、階層的空間的構成体は、高められた処理スループットおよび/またはボリュームフィールドのデータサイズの縮小を達成するために使用され得る。以下の八分木に関する説明を参照のこと。
【００７４】
立体角要素403は、3D空間内の角度に関する広がりを表す。立体角要素は、「セイル」と省略した名前で知られている。セイルは、半径方向に平坦である表面を境界とする。すなわち、セイルの境界表面に沿って外向きに原点から進む線は、直線である。図4Bではそのようなものとして示されているが、セイルは円錐の形状を有する、または対称的であることを必要としない。セイルは、一般的な円錐表面の定義に適合する形状を有することができ、その形状と、通常はステラジアンで表される、それが内部を定める角度単位の数によって特徴付けられる。セイルは、ラジアン方向に沿った広がりが無限大である。1つまたは複数のセイルが一緒になって、立体角フィールド401を構成する。例示的な実施形態において、SRE(たとえば、SRE201)は、ボクセルにおける異なる方向のライトフィールドの放射輝度を表すために立体角フィールドを使用する。上記のボクセルの場合と同じやり方で、階層的空間的構成体は、速度増大および/または立体角フィールドのデータサイズ縮小に使用され得る。図21を参照しつつ以下の立体角八分木に関する説明を参照のこと。
【００７５】
図5は、図1に示されている例示的な日常シーンのプランビューを示している。プロセス300において3D画像処理システムに入力されるシーンモデルの記述は、図5に類似する記述を含み得る(たとえば、テキスト記述、プランビューの機械可読スケッチなど)。例示的な実施形態において、ユーザ指定シーン情報、ラフインから生成された初期シーンモデル(たとえば、上記のオペレーション309の説明を参照)、および/またはシーンモデルの反復改善バージョン(たとえば、上記のオペレーション311の説明を参照)のうちのいずれか1つ、またはそれらの任意の組合せは、図5で表されているシーン空間のデジタル表現であってよい。
【００７６】
シーンモデル500は、図1に示されているキッチンの例示的なシーンに関して、いくつかの屋内および屋外のエンティティを含み得る。ワークスペース517は、シーン空間を2つの広い領域に分割する。ワークスペースは、ライトフィールドを記録する(サンプリングする)ために使用されるカメラ(物理的カメラ装置)によってアクセスされるシーン領域である。これは、そのようなカメラ位置の凸包として、またはアクセスされた位置を示す他の好適な幾何学的構成体によって定義され得る。ワークスペースの内側のボクセルは、実際の視点の密度に従って、およびワークスペース内の媒体による閉塞に従って、周囲の視点の全球(「完全軌道」)から観察される可能性を有する。ワークスペースの外側のボクセルは、視点の半球(半空間)のみから観察される可能性を有する。これは、ワークスペースの外側の不透明の閉曲面(たとえば、彫像、バスケットボール)が、ワークスペースの内側のカメラによって記録された観察結果を使用して完全に復元されることはあり得ないという結論を支持する。
【００７７】
ワークスペースの内側では、花を含む瓶が湾曲した調理台511の上に載っている。花および瓶を含む領域113は、詳細な復元のためにOOIとして指定されている。いくつかの他のエンティティは、ワークスペースの外側に置かれている。木の一部を含む領域103は、キッチンの窓付きの壁の外側に置かれている。窓505および506は、壁内にある。窓付きドア503には、ドアの窓ガラスの1つの一部を含む領域109が置かれている。別の領域105は、食器棚の一部を含む。ストーブフード507の付近に、フードの一部を含む領域107がある。
【００７８】
シーン復元(この例における)の3つの全体的な段階は、いくつかの例示的な実施形態に従って示されている。最初に、SRE(たとえば、SRE201)は、カメラを多数の方向に近似的にパン(513)(経路に沿って移動するステップも含み得る)してライトフィールドを観察し、復元することによってOOIの付近全体の中のシーン全体を「ラフイン」する。この例では、人間のユーザが、SRE(たとえば、アプリケーションソフトウェア205によってガイドされるようなSRE201)によってガイドされ、促されるとおりにパンを実行する。ボクセル522は、シーンラフインパン513から2つのカメラ視点を起点とするコリドー519および521で終端する。次に、SREは、OOIの短いカメラ軌道弧515をガイドすることによってOOI内に存在する媒体(たとえば、花弁、葉、茎、瓶)のBLIFの初期復元を実行する。最後に、SREは、OOIの詳細スキャンをガイドすることによってOOIの高分解能復元を達成する。詳細スキャンは、OOIの1つまたは複数の完全もしくは部分的軌道509を含み、復元ワークフローの精度および/または分解能ゴールの条件を満たすのに必要な回数の観察を要求する。より完全な説明は、SREオペレーション(図14〜図18B)を参照しつつ以下で提示されている。
【００７９】
いくつかの例示的な実施形態において、シーンモデル(日常シーンモデルを含む)は、もっぱら、メディエルとラディエル(radiel)とを含む。メディエルは、BLIFによって記述されるようなライトフィールドと相互作用する媒体を含むボクセルである。ラディエルは、ライトフィールドのラジオメトリック要素であり、ラジオメトリックパワー値(放射輝度、束、または他の好適な量)とペアになっているセイルによって表され得る。メディエルは、プリミティブまたは複合体であってよい。プリミティブメディエルは、BLIFおよび放射ライトフィールドが所与のワークフロー内でSREに利用可能なBLIFモデルのうちの1つによって高い整合性とともにモデル化されるものである(たとえば、いくつかのアプリケーションでは、観察された出射ライトフィールド(形成デジタル画像)の放射輝度値とモデルによって予測される出射ライトフィールド(射影デジタル画像)の放射輝度値との間の5%未満のRMS相対偏差)。複合メディエルは、BLIFがこうしてモデル化されないものである。観察した後、複合メディエル、または複合メディエルの領域は、「観察されたが説明がつかない」または「観察された、説明されていない」領域としても知られている。複合メディエルは、より多くの観察結果および/または更新された媒体モデルがSREに利用可能になるとプリミティブメディエルになり得る。プリミティブメディエルは、一般的に、複合メディエルより大幅に節減して(オッカムの剃刀の意味で)表現され得る。プリミティブメディエルは、「どのようなタイプの媒体が空間内でこのボクセルを占有しているか?」という質問により狭く(「有用に」を暗示する)答える。
【００８０】
図1において観察され得るように、領域109内のキッチンの窓は、いずれかの側(ガラスの前および後)にあきの空間を有する。図6は、いくつかの例示的な実施形態によるボリュメトリックシーンモデルからキッチンの窓のガラスを含む領域109(図1および図5に示されている)の一部の表現を示している。図6は、シーン空間内の媒体を正確に表現するためにボクセルがどのように使用されるかを例示している。ガラス領域109の一部のモデル601は、バルクガラスメディエル(bulk glass mediel)603、空気対ガラスサーフェル(glass-against-air surfel)605、およびバルクエアメディエル(bulk air mediel)607からなる。サーフェルは、光が境界に入射したときに反射を生じさせる、典型的には屈折率が異なる、異なるタイプのバルク媒体領域の間の平面状境界を表すメディエルである。反射面(反射媒体)は、1つまたは複数のサーフェルを含む。各サーフェルは、ガラスによって部分的に占有され(609)、空気によって部分的に占有される(613)。ガラスおよび空気は、平面状境界611のところで交わる。典型的なSREシナリオは、ガラスのBLIFの節減的なモデルを含む。空気対ガラスサーフェルは、適切に詳細なBLIFが屈折率および他の関連する特性を示しているタイプ「単純サーフェル」として表される。窓ガラスの内部のバルクガラスメディエルは、単純ガラスサーフェルのものと似た物理的特性を持つタイプ「単純バルク」として表される。
【００８１】
モデル601は、対応する画像をキャプチャするカメラの視野の方向の複数のボクセル(またはメディエル)を表す「ボクセルのコリドー」または「メディエルのコリドー」と考えられ得る。コリドーは、たとえば、領域109内でガラスを通してカメラから水平に延在し得る。コリドー内のボクセルおよび/またはメディエルは、均一な寸法であり得るか、または均一な寸法ではあり得ない。
【００８２】
図1および図5の例示的なシーンでは、例示的な実施形態において、異なる媒体領域は、復元ゴールおよび記録された観察結果によって知らされるようにあまり節減せずまたはより節減して復元される。シーンの残り部分と比較して、コンピューティングリソースのより重要な共有は、OOIをプリミティブメディエルとして復元することだけに集中する。シーンの残り部分は、複合メディエルとして表現されるものとしてよく、各々OOI上で実行される復元計算において使用される出射ライトフィールドを有する。
【００８３】
図7Aは、図1に示されているキッチンシーンのモデルのプランビューを示す幾何学的図である。シーンモデル500は、シーンモデル境界704によって囲まれる。シーンモデル境界は、OOI、および出射ライトフィールドがOOIの入射ライトフィールドに著しい影響を及ぼす他のエンティティを受け入れるように適切にサイズを決められる。3つのコリドー709A、709B、および709Cは、キッチンの窓503、505、および506からシーンモデル境界704までの短い距離にわたって延在する。コリドーがシーンモデル境界で終端する場合、入射ライトフィールドは、3つのフロンティア703A、703B、および703Cを定める。3つのフロンティアの各々は、フロンティアのコリドーに沿っておおよそ内向きを指すラディエルからなる「表面ライトフィールド」である。キッチンの内側のコリドー709Dは、キッチンの内部の容積全体を覆う。キッチンの不透明壁701を越える領域713は、例示的なワークスペース内のカメラによって観察されていない。中間空間715領域は、ワークスペース517からシーンモデル境界704まで延在する(中間空間は、ワークスペースとシーンモデル境界との間の空間である)。
【００８４】
図7Bは、図1に示されているキッチンシーンの別のモデルのプランビューを示す幾何学的図である。図7Aと比較すると、シーンモデル境界705は、ワークスペースから極めて遠い。いくつかの例示的なシナリオにおいて、カメラがキッチンシーンを撮像するために動き回るとき、および/または復元処理オペレーションが進行するにつれ、シーンモデルは、図7Aに示されているサイズから図7Bに示されているサイズまで空間的な広がりで自然に拡大する。復元されるシーン領域を表現する際に節減(オッカムの剃刀)に向かうSREの傾向は、シーンモデル境界を視差が意味があるように観察可能でない(すなわち、メディエルの多視点復元がロバストに達成可能でない)距離まで外向きに「プッシュ」しがちである。復元が進行するにつれ、シーンモデル境界は、ワークスペースを中心とするようになる傾向もある。図7Aのシーンモデル500は、復元(キッチンシーンの)の前の方の段階と考えられ得るが、図7Bのシーンモデル501は、復元の後の方の段階と考えられ得る。
【００８５】
3つのコリドー719A、719B、および719Cは、ワークスペースから現在はかなり遠距離にあるシーンモデル境界まで外へ延在する。図7Aのより狭いシーンモデル内のフロンティアと同様に、フロンティア717A、717B、および717Cの各々は、シーンモデル境界704のそれぞれの部分に入射する光を表す表面ライトフィールドを定める。たとえば、フロンティア717Bの表面ライトフィールドは、一般的に、図7Aに示されている復元の始めの方の段階の対応するフロンティアである、フロンティア703Bの表面ライトフィールドより「小さい視差」を有する。すなわち、フロンティア717Bの所与の小領域は、フロンティア703Bの小領域に比べて狭い方向スパン(キッチンの窓503の方へ)に配向されているラディエルを有する。限界では、シーンモデル境界がワークスペースから極端に離れているので(たとえば、屋外などの広く開放的な空間を復元する進んだ段階)、フロンティアの各小領域は、ワークスペースの中心の方を半径方向内向きに指す単一の、非常に狭いラディエルを含む。図1に示されている空を含む領域115は、フロンティア717A内に表現される。中間空間711は、図7Aの中間空間715に比べて大きい。山707は、中間空間内に置かれている。実シーン内の媒体タイプ、観察コリドー内の大気条件(たとえば、靄)、利用可能な媒体モデル、およびSREの動作設定に応じて、山を構成するメディエルに対してある程度の復元が可能である。
【００８６】
図8Aは、メディエルを復元するために使用される1つまたは複数のカメラの姿勢を示す幾何学的図である。図8Aの例では、1つまたは複数のカメラが、複数の視点からボクセル801を撮像する。各視点803、805、807、809、811、および813は、ボクセル801から出るライトフィールドの特定のラディエルに対する出射放射輝度値(およびポラリメトリック特性)を記録する。復元プロセスは、注目するボクセル801に関して、姿勢803および807について示されているように、著しく異なる距離のところで記録された画像を使用することができる。復元で使用される光輸送(BLIF相互作用を含む)のモデルは、注目するボクセルと画像処理視点との間の相対的方向および範囲を定められた立体角の差を考慮する。
【００８７】
図8B、図8C、図8D、および図8Eは、例示的なシナリオにおけるボクセル801について可能な様々なメディエルタイプを示す幾何学的図である。これらは、SREのシーンモデリングに関わる典型的なメディエルである。ガラス815メディエルは、図6のように、単純なガラスバルク体である。木817メディエルは、木の中実媒体(葉、木材)の間の空気を含む、天然の構成における木の枝を構成する異種媒体を表す。BLIFの「低次元」パラメトリックモデルは木メディエルから出る観察されたライトフィールドに適合しないので、木メディエルは、複合メディエルの場合がある。低次元パラメトリックモデルでは、エンティティの顕著な特性を表すために合理的に少ない数学的量を使用する。木材819メディエルは、空気に対して木材表面を表すサーフェルである。木材メディエルは、物理的木材媒体が低次元パラメトリックBLIFがそのライトフィールド相互作用挙動をモデル化することができるように材料組成物中で十分に均質である場合に単純であり得る。図8Eの例では、金属821サーフェルのBLIFは、屈折率に対するスカラー数値、消光係数に対する第2のスカラー数値、およびつや消し金属の場合における表面の異方性「グレイン」に対する第3のスカラー数値によって表され得る。ボクセルに関連付けられているライトフィールドが特定のタイプのメディエルを指示するかどうかの決定は、様々な媒体タイプについてボクセルに関連付けられているライトフィールドをBLIFの所定の統計的モデルと比較することによって行われ得る。媒体モデリングモジュール1207は、様々な媒体タイプについてBLIFの統計的モデルを維持する。
【００８８】
図9A〜図9Fは、シーン内に存在し得る例示的なセイル配置構成を示している。図9Aは、単一中心一方向セイル配置構成901を示している。ライトフィールド内の単一のラディエルのセイルは、このセイル配置構成の一例である。図9Bは、セイルの単一中心多方向配置構成903を示している。ライトフィールド内の複数のラディエルのセイルの集合は、このセイル配置構成の一例であり、セイルは共通の原点ボクセルを共有する。図9Cは、セイルの単一中心全方向配置構成905を示している。ライトフィールド内の複数のラディエルのセイルの集合は、このセイル配置構成の一例であり、セイルは共通の原点ボクセルを共有し、それと一緒に方向の球を完全に覆う(平面充填する)。各セイルが放射輝度値とペアにされてラディエルを生成するときに、単一中心全方向セイル配置構成は「点ライトフィールド」と呼ばれる。図9Dは、単一中心全方向等方性セイル配置構成907を示している。等方性ライトフィールド内の単一のラディエルのセイルは、このセイル配置構成の一例である。ライトフィールドは、ボクセルにおいて等方性(すべての方向で放射輝度が等しい)なので、点ライトフィールドは、方向の全球を覆う単一粗粒ラディエルによって表現可能である。いくつかのSRE実施形態では、これは、立体角八分木の根(最も粗い)ノードとして実現されることもある。立体角八分木に関するさらなる詳細は、図21を参照しつつ以下で述べられる。
【００８９】
図9Eは、セイルの平面中心一方向配置構成911を示している。カメラの理想化された焦点面内のピクセルによって範囲が定められるセイルの集合(ピクセル毎に1つのセイル)は、このセイル配置構成タイプの一例である。各ピクセルは、それがシーン内で範囲を定めるラディエルの放射輝度値を伝える。平面中心一方向セイル配置構成911は、ボクセルの2Dマニホールドに配置され、放射輝度値とペアにされたときに、「表面ライトフィールド」とも呼ばれるセイル配置構成のより一般的な(非平面)多中心多方向タイプのサブタイプであることに留意されたい。図9Fは、複数のボリュメトリック中心および全方向セイルを有するセイル配置構成913を示している。点ライトフィールド(前段で定義されている)の集合は、このセイル配置構成タイプの一例である。いくつかの実施形態において、そのような点ライトフィールドのうまく配置構成された集合は、シーン空間の伸長領域内でライトフィールドの有用な表現をもたらす。
【００９０】
図10は、入射ライトフィールド、放射ライトフィールド、および出射ライトフィールドを関係付けるBLIFを示す等角投影図である。図10は、単一メディエルにおいて生じる相互作用を表すために使用され得るモデルを示しており、メディエルはボクセル1003および関連付けられているBLIF1005からなる。入射ライトフィールド1001のラディエルがメディエルの中に入る。BLIFは、入射ライトフィールド上で動作し、メディエルから出る応答ライトフィールド1011を生成する。全出射ライトフィールド1007は、応答ライトフィールドと(任意選択の)放射ライトフィールド1009の組合せである。放射ライトフィールドは、入射光による刺激と無関係にメディエルによって放射される。
【００９１】
図11は、いくつかの例示的な実施形態によるオペレーショナルモジュールのうちのいくつかを例示する、たとえばSRE201などの、SREのブロック図である。オペレーショナルモジュール1101〜1115は、シーンをスキャンする際のいくつかの機能および/またはシーン復元を実行するための命令ロジックを含み、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せを使用して実装され得る。モジュール1101〜1115の各々は、上で説明されている3D画像処理システム200のデータ通信層207などのデータ通信層を介してモジュール1101〜1115のうちの他のものと、または3D画像処理システムの他のコンポーネントと通信し得る。
【００９２】
SREコマンド処理モジュール1101は、3D画像処理システムのユーザインターフェースまたは他のコンポーネントを含み得る呼び出し環境からコマンドを受信する。これらのコマンドは、コンパイルされたソフトウェア機能呼び出しとして、インタプリタによって解釈実行されるスクリプトディレクティブとして、または他の好適な形態で実現され得る。
【００９３】
プラン処理モジュール1103は、反復シーン復元ゴールに向けてプランを形成し実行する。シーン復元ゴールは、SREを制御するアプリケーションソフトウェアによってプラン処理モジュール1103に与えられ得る。プラン処理モジュール1103は、ゴールを達成するためにプラン毎に定義されている1つまたは複数のタスクに従ってスキャン処理モジュール1105、シーン解決モジュール1107、およびシーン表示モジュール1109を制御し得る。プラン処理モジュールがゴールをサブコマンドのシーケンスに分解することに関する詳細は、図15を参照しつつ以下で述べられる。いくつかの実施形態において、アプリケーションソフトウェアは、プラン処理機能をバイパスし、モジュール1105〜1109と直接インターフェースするものとしてよい。プラン処理モジュール1103は、シーンのスキャンが開始する前にセンサキャリブレーションを実行するものとしてよい。
【００９４】
スキャン処理モジュール1105は、1つまたは複数のセンサ(たとえば、1つのカメラ、または一斉に動作する複数のカメラ)を駆動してシーン復元ゴールを達成するために必要な感知データを取得する。これは、センサの姿勢および/または他の動作パラメータに関する動的ガイダンスを含むものとしてよく、そのようなガイダンスは、プロセスを制御するアプリケーションソフトウェアによって提供されるユーザインターフェースを介して人間のユーザのアクションをセンサ制御モジュール1111に送るか、または知らせるものとしてよい。センサ制御モジュール1111は、データを取得するため個別のセンサを管理し、感知されたデータをそのデータを消費する適切なモジュールに振り向ける。センサ制御モジュール1111は、感知されたデータに応答して、進行中のスキャンを正常に完了させるために必要に応じて幾何学、ラジオメトリック、およびポラリメトリックに関する自由度を動的に調整し得る。
【００９５】
シーン解決モジュール1107は、仮定されたシーンモデルの1つまたは複数の物理的特性の値を推定する。推定された値は、対応する実シーンの仮定されたシーンモデルと観察結果との間(または仮定されたモデルと1つまたは複数の他のシーンモデルとの間)の整合性を最大化する。整合性算出およびモデル化された特性値の更新に関する詳細を含む、シーン解決は、以下の図18A〜図18Bに関してさらに説明される。
【００９６】
空間処理モジュール1113は、シーンエンティティの階層的に細分された表現上で動作する。いくつかの実施形態において、空間的処理1113のオペレーションのうちのいくつかは、並列コンピューティング要素、専用プロセッサ、および同様のものの配列を使用して改善された高い効率で選択的に実行される。そのような改善された効率の一例は、シーン内のメディエル間のライトフィールド放射輝度値の輸送である。例示的な一実施形態において、入射ライトフィールド生成モジュール2003(図20に示されている)は、FPGAコアの小グループを使用して各入射ラディエルを処理する。多数のメディエルおよび/または入射ラディエルを処理するときに、FPGAベースの例示的な実施形態は、数千個のラディエルに対する光輸送計算を並列に実行することができる。これは、同時に処理され得る入射ラディエルは多くても数十である従来のCPUベースの実施形態とは対照的である。GPUベースの実施形態は、数千も並列動作させることができるが、電力消費量に関するコストはかなり高くなる。多数の入射および/または出射ラディエル上で動作するときに効率に関する類似の論述が入射/出射ライトフィールド処理モジュール2007(図20に示されている)に適用される。立体角八分木を含む、空間的処理オペレーションは、図19および後の図面を参照しつつ以下でさらに説明される。
【００９７】
シーン表示モジュール1109は、人間が見ることができるようにシーンの視覚的表現を準備する。そのような表現は、本質的に現実的であるか、本質的に解析的であるか、またはこれら2つの組合せであるものとしてよい。SREは、現実的モードおよび解析的モードの2つの広いモードでシーンの合成画像を生成するシーン表示1109機能を提供する。シーンの現実的表示は、指定された視点で復元されたボリュメトリックシーンモデルの現在の状態によって表されるとおりにシーン内に埋没している場合に実カメラに見えるであろう「第1の人物」画像を合成する。仮想カメラのピクセルによって受信される光エネルギーは、そのピクセルにおけるシーンモデルのライトフィールドを復元することによって計算される。これは、シーン解決モジュール1107を使用して合成ピクセルにおけるライトフィールドのラディエルについて解く(そして積分する)ことで達成される。合成は、上記のセンサモデリングモジュール1205を参照しつつ説明されているカメラのモデル化された特性を組み込むものとしてよい。ピクセルに割り当てられた擬色がそのピクセルにおける復元されたラジオメトリックエネルギーに基づく限り合成ピクセル値に対して擬色着色が使用され得る。シーンの解析的表示は、シーンの一部を表し、現実の画像でない画像を合成する(上で説明されているように)。
【００９８】
ライトフィールド物理学処理モジュール1115は、シーンモデル内でライトフィールドを測定し、ライトフィールドの態様をモデル化するステップに基づき動作する。このモジュールは、図13に関して以下で説明される。
【００９９】
データモデリングモジュール1117は、スキャンされるべきシーン、および使用されるべきセンサを含む様々な態様をモデル化するように動作する。データモデリングモジュール1117は、図12に関して説明される。
【０１００】
上記のモジュール1103〜1117のほかに、SREは他のモジュールも含み得る。他のモジュールは、限定はしないが、データベースとインターフェースするステップと、ローカルおよびリモートコンピューティングリソース(たとえば、負荷バランシング)を割り振るステップと、動作エラーを適切な手順で処理するステップとを含み得る。データベースアクセスについては、SREは、大量の空間データを高い効率で読み書きするために専用データ構造体を使用し得る。いくつかの実施形態ではシーンモデル内に様々な分解能で存在する膨大な数のメディエルおよびラディエルの記憶のために八分木、四分木、および/または立体角八分木が使用され得る。SREは、標準的なデータベースレコードおよび技術を使用して、センサパラメータ、動作設定、および同様のものなどの一般的にはかなり少ない量の非空間データを記憶し得る。SREは、解析的クエリ(たとえば、「指定されたBLIF XXXでボクセルの隣接グループによってどのような全容積が表されるか?」)を提供し得る。
【０１０１】
図12は、いくつかの例示的な実施形態による、たとえばSRE201のデータモデリングモジュール1117などの、SREのデータモデリングモジュール1201を示すブロック図である。データモデリングモジュール1201は、シーンモデリングモジュール1203、センサモデリングモジュール1205、媒体モデリングモジュール1207、観察モデリングモジュール1209、(特徴)カーネルモデリングモジュール1211、解決ルールモジュール1213、ルールマージモジュール1215、および動作設定モジュール1217を含み得る。
【０１０２】
シーンモデリングモジュール1203は、シーンの初期モデルを生成するオペレーション(たとえば、図3のオペレーション307の説明を参照)と、他のデータモデリングモジュールと連携して初期シーンモデルの態様を精緻化するオペレーションとを含む。この初期シーンモデルは、図5および図7に関して上で説明されている。シーンがモデル化されるボクセルおよび他の要素は、図4、図6、図8B〜図8E、および図9A〜図9Fに関して上で説明されている。シーンモデル(「仮定されているシーンモデル」と称されている)の更新/精緻化は、図18A〜図18Bに関して説明されている。
【０１０３】
センサモデリングモジュール1205は、測定のシーンのシーン復元プロセスにおいて使用されるセンサ(たとえば、カメラ203)の特性を表現する。センサは、ライトフィールドを感知するカメラおよびシーンの他の特性を感知するセンサの2つの広いカテゴリに分けられるものとしてよい。各カメラは、その幾何学的特性、ラジオメトリック特性、およびポラリメトリック特性のうちの1つまたは複数でモデル化される。幾何学的特性は、シーン空間の所与のセイルがカメラの1つまたは複数の空間的にインデックスを付けられた感光要素(たとえば、ピクセルフォトサイト)にどのようにマッピングされるかを指示し得る。ラジオメトリック特性は、入射したときに特定の光波長の放射輝度値がピクセルをどれだけ強く励起するかを指示し得る。ポラリメトリック特性は、ラディエルの偏光特性(たとえば、ストークスベクトルによって表されるような楕円偏光状態)と入射したときのピクセルにおける励起強度との間の関係を指示し得る。特性のこれら3つのクラスは一緒に合わさることで、ピクセル毎に感知されたラディエルからカメラによって出力されるデジタル値への順方向マッピングを定める。
【０１０４】
このマッピングを適切に反転することによって、センサモデリングモジュール1205は、デジタルピクセル値からラディエルの物理的に意味のある特性への対応する逆マッピングを可能にする。そのような特性は、観察されたラディエルの放射輝度、スペクトルバンド(波長)、および偏光状態を含む。光の偏光状態は、いくつかの実施形態において、偏光楕円形式(4要素ストークスベクトル)によって特徴付けられる。いくつかの実施形態では、簡略化されたポラリメータアーキテクチャによりポラリメトリック特性の縮小集合をモデル化する。完全偏光状態の円形成分ではなく線形成分を感知することはこれの一例である。円形偏光成分を感知できないことは、たとえば、植物の葉などの有機媒体を正確に復元する能力を制限する可能性があり、これは反射光中に著しい円形偏光を誘起する傾向がある。
【０１０５】
カメラの上記の幾何学的特性、ラジオメトリック特性、およびポラリメトリック特性は、カメラ応答モデルによって表される。センサモデリングモジュール1205は、これらの応答モデルを決定し得る。いくつかのカメラに対して、応答モデルの一部は、少数の自由度でパラメータ化され得る(または単一の自由度であってもよい)。逆に、応答モデルの一部は、多数の自由度でパラメータ化されてよい。カメラ応答モデルのコンポーネントの次元性(自由度の数)は、カメラによって測定される様々なライトフィールド特性に所与の復元ゴールがどれほどの不確実さで耐えることができるかに依存し得る。たとえば、カメラピクセル上の「マイクロ偏光」要素のフィルタマスクを使用するポラリメータは、例示的なゴールによって要求される不確実さでライトフィールドのポラリメトリック特性を測定するためにピクセル毎に独立した4×4ミューラー補正行列(数百万個の実数スカラー)を必要とし得る。対照的に回転偏光フィルタを使用するポラリメータは、すべてのピクセルに対して十分である単一の大域的4×4ミューラー補正行列のみを必要とし得る(16個の実数スカラー)。別の例では、SREは、理想化された「ピンホールカメラ」モデルを使用するためにカメラレンズの歪みを補正する。所与のレンズについて、補正は、5個から14個またはそれ以上の実数補正パラメータまでの任意の範囲を伴う。いくつかの場合において、パラメトリックモデルは、利用可能でないか、または実用的でないことがある。そのような場合において、ルックアップテーブルなどの、応答モデルのより文字通りの表現が採用され得る。
【０１０６】
上記の応答モデルは、復元フローの異なる段階で柔軟に適用され得る。たとえば、画像全体における前処理ステップとしてではなく個別のピクセル毎にオンザフライでカメラレンズの歪みを補正する速度上の利点があり得る。
【０１０７】
ベンダーまたは他の外部ソースによって供給されない場合、カメラ応答モデルは、1つまたは複数のキャリブレーション手順を実行することによって発見される。幾何学的キャリブレーションは、コンピュータビジョンの分野に遍在しており、たとえば、チェスボードまたは知られている幾何学的形状の他の光学的ターゲットを撮像することによって実行される。ラジオメトリックキャリブレーションは、知られているスペクトル放射輝度によりターゲットを撮像することによって実行され得る。ポラリメトリックキャリブレーションは、知られている偏光状態によりターゲットを撮像することによって実行され得る。3つすべての応答モデルにおける低い不確実さは、復元性能に望ましいものであり、復元は仮定されているシーンモデルのライトフィールドに基づきライトフィールド観察を予測するSREの能力に依存する。応答モデルのうちの1つまたは複数が、高い不確実さを有する場合、SREは、そのセンサによって記録された観察結果に対する予測能力がいっそう弱くなる場合がある。
【０１０８】
例示的な実施形態は、その含むシーンに関するカメラの正確な6-DOF自己位置推定を可能にするので、シーンそれ自体は(静止しているときに)ラジオメトリック応答の1つの成分を発見するために安定した放射輝度のターゲットとして働くものとしてよく、入射放射輝度から入射放射照度へのマッピングは、カメラの光学的構成(たとえば、レンズのタイプおよび構成)に応じて焦点面上で変化する。例示的なシナリオにおいて、6-DOFカメラ姿勢は、シーン解決モジュール1107が解決されているシーンのメディエルおよびラディエルのパラメータとともに変化するように姿勢パラメータを解放したときに高い精度で分解される。本発明において、ロバストなカメラ自己位置推定は、観察されたライトフィールドが姿勢の変化に関してむらのない穏やかな勾配を示すときに可能である(多くの既存の自己位置推定方法は、比較的急な勾配を必要とする)。
【０１０９】
非カメラセンサも、好適な方式でキャリブレーションされてよい。たとえば、位置センサ、モーションセンサ、および/または回転センサは、キャリブレーションされ、および/またはその後の動きが初期値に関して追跡され得るように決定され得る。飛行時間型距離センサは、たとえば、同じ領域を観察するカメラに関して初期姿勢を決定するためにシーン領域の観察結果を記録し得る。シーン解決モジュール1107は、初期姿勢推定値を使用して、飛行時間型センサの姿勢および様々な視点におけるカメラの姿勢を含む、シーンのモデルを初期化し、次いで精緻化するものとしてよい。別の例では、カメラに剛性的に取り付けられている慣性航法システムは、カメラがシーンを観察している間にその姿勢の推定値を記録する。カメラがその後別の視点からシーンを観察したときに、新しい視点における慣性航法システムの姿勢推定値が、新しい視点におけるカメラの姿勢推定値を初期化し、より精緻化するために使用され得る。
【０１１０】
媒体モデリングモジュール1207は、そのBLIF1005によってもっぱら、ただし排他的でなく特徴付けられる、参加(たとえば、光相互作用)媒体タイプに関するものである。媒体モデリングは、データベース内に存在する媒体のライブラリを管理する。媒体モデリングは、また、媒体タイプの階層を維持する。「木材」媒体タイプおよび「プラスチック」媒体タイプは両方とも、「誘電体」スーパータイプの分類に入るが、「銅」は「金属」スーパータイプの分離に入る。シーン復元の際に、メディエルは、タイプ毎に尤度が割り当てられている、これらの媒体タイプのうちの1つまたは複数に分解するものとしてよい。
【０１１１】
観察モデリングモジュール1209は、感知されたデータ観察結果に関するものである。カメラおよび他のセンサによって記録された観察結果が表される。キャリブレーションおよび応答モデルは、それらがセンサそれ自体ではなく特定の観察に関連するときに表される。これの一例は、動的焦点、開口、およびズーム制御により画像スキャンの過程で変化するカメラレンズの歪みである。特定の視点におけるカメラからの観察結果は、ピクセルにおいて積分された放射輝度を含む。そのような観察結果に対する観察モデルは、ピクセル放射輝度値、観察時のカメラの推定姿勢、時間参照情報(たとえば、画像タイムスタンプ)、観察結果に特有のキャリブレーション値および/または応答モデル(たとえば、ズーム依存のレンズの歪み)、ならびに観察結果から独立しているキャリブレーション値および/または応答モデルを含む。
【０１１２】
異なるレベルの観察局所性におけるキャリブレーションおよび/または応答モデルの連鎖は、ネストされたシーケンスを形成する。ネストする順序は、データベースレコード参照、双方向もしくは一方向メモリポインタ、または他の好適なメカニズムを使用して具現化され得る。ネストする順序は、所与の復元結果を生み出したデータフローの「法医学分析」を可能にする方式で元のソース観察結果にまで戻る様々なレベルの復元されたシーンモデルの情報の追跡可能性を使用可能にする。この情報は、代替的ゴール、設定、観察、以前のモデル、同様のものを使用して様々な段階で復元プロセスの再度呼び出しを行うことも可能にする。
【０１１３】
カーネルモデリングモジュール1211は、記録されている観察結果からシーン特徴を検出し、および/または特徴付ける(シーン特徴の痕跡を抽出する)ために使用されるパターンおよび/または関数に関するものである。コンピュータビジョンにおいて遍在するSIFT関数は、例示的な実施形態において使用され得る特徴検出の領域内の例示的なカーネル関数である。カーネルモデリングは、データベース内に存在し、所与の復元オペレーションにおける特徴検出に利用可能であるカーネル関数のライブラリを管理する。シーン特徴に関するさらなる詳細は、図18Bを参照しつつオペレーション1821におけるシーン特徴の検出および使用を説明する際に以下で述べられている。
【０１１４】
解決ルールモジュール1213は、シーン解決モジュール1107がシーンエンティティのモデル化された特性の仮定されている値を(整合性について)評価する順序に関するものである。たとえば、図8B〜図8Eに示されている仮定されているメディエルタイプは、並行して、または何らかの優先順位付けされた順次的な順序で評価され得る。各仮定されているメディエルタイプの評価の範囲内で、特性の値に対する様々な数値範囲は、同様に、並行して、または順次評価され得る。これの一例は、金属サーフェル821の法線ベクトルの角自由度に対する異なる範囲(ビン)である。前の例における仮定の順次および/または並行評価の所望のシーケンスは、解決ルールデータ構成体によって表される。解決ルールモジュール1213は、解決ルールのライブラリ(データベースに含まれる)を管理する。仮定評価順序は、媒体モデリングモジュール1207によって維持されているモデル化された媒体タイプの階層によって部分的に決定される。モデル仮定の評価に関するさらなる詳細は、図18Aを参照しつつシーン解決プロセス1800を説明する際に以下で述べられている。
【０１１５】
マージルールモジュール1215は、より細かい空間要素をマージ(集約、合体)してより粗い空間要素を形成することに関するものである。メディエルおよびラディエルは、そのような空間要素の典型的な例である。マージルールモジュール1215は、マージルールのライブラリ(データベースに含まれる)を管理する。マージルールは、2つの主たる態様を有する。第一に、マージルールは、マージオペレーションがいつ行われるべきであるかを指示する。媒体の場合、マージは、位置特性、配向特性、ラジオメトリック特性、および/またはポラリメトリック特性に対する値がいくつかのメディエルにわたって特定の相互許容範囲内に収まるメディエルについて指示され得る。マージ決定に関わるラジオメトリックおよびポラリメトリック特性は、メディエルのBLIF、応答ライトフィールド、放射ライトフィールド、(全)出射ライトフィールド、および/または入射ライトフィールドの特性であってよい。ライトフィールドの場合、マージは、位置特性、配向特性、ラジオメトリック特性、および/またはポラリメトリック特性に対する値がいくつかのラディエルにわたって特定の相互許容範囲内に収まるラディエルについて指示され得る。第二に、マージルールは、より細かい空間要素がマージしたときに形成されるより粗い空間要素の結果として得られるタイプを指示する。メディエルの場合、媒体モデリングモジュール1207によって維持されるモデル化された媒体タイプの階層は、部分的に、結果として生じるより粗いメディエルを決定する。マージルールモジュール1215の前の説明は、シーン内の媒体およびライトフィールドが球面調和関数(より高い高調波がマージしてより低い高調波を形成する)または他の好適な空間ベースの関数系を使用してパラメータ化される場合に依然として有効である。
【０１１６】
動作設定モジュール1217は、ローカルおよびリモートのCPU処理サイクル、GPUコンピューティングコア、FPGA要素、および/または専用コンピューティングハードウェアの割り振りを行うように動作する。SREは、いくつかのタイプの計算を特定のプロセッサに割り振る、負荷バランシングを考慮しながら計算を割り振る、などのためにモジュール1217に頼るものとしてよい。一例において、シーン解決1107が注目するいくつかのシーン領域内の更新された入射ラディエル情報の欠如により繰り返し妨げられる場合、動作設定モジュール1217は、追加のFPGAコアを出射/入射ライトフィールド処理モジュール2005(図20に示されている)に割り振るものとしてよい。別の例では、SREとクラウドとの間のネットワーク帯域幅が急に減少した場合、動作設定モジュール1217は、ローカルメモリの大きな共有を使用することと引き換えに、クラウドエンティティをオンデマンドでフェッチする際の大きな遅延をなくすためにローカルメモリ内にクラウドデータベースエンティティをキャッシュすることを始め得る。
【０１１７】
図13は、いくつかの例示的な実施形態による、たとえばSRE201のライトフィールド物理学処理モジュール1115などの、SREのライトフィールド物理学処理モジュール1301を示すブロック図である。モジュール1301は、BLIFによって表されているように、シーン内のライトフィールドと媒体との間の相互作用をモデル化するオペレーションを含む。ライトフィールド物理学処理モジュールは、マイクロファセット(フレネル)反射モジュール1303、マイクロファセット積分モジュール1305、ボリュメトリック散乱モジュール1307、放射および吸収モジュール1309、偏光モデリングモジュール1311、およびスペクトルモデリングモジュール1313を含む。利用可能なコンピューティングリソースを復元オペレーションへの最大の影響のラディエルに集中させることによってモデリング問題を扱いやすくするために、適応サンプリングモジュール1315が使用される。いくつかの実施形態において、ライトフィールド物理学モジュールは、任意選択の専用ハードウェアを含む、空間処理(空間処理モジュール1113によって提供されるようなもの)を使用して電力消費量が少なく、および/または処理スループットが改善されているライトフィールドオペレーションを実現する。これに関するさらなる詳細は、図20を参照しつつ以下で伝えられる。
【０１１８】
ライトフィールド物理学では、媒体とそれに入り(入射し)それから出る(出射する)光との間の相互作用をモデル化する。そのような相互作用は、すべてのまたは多数の知られている現象が含まれるときに実シーンでは複雑なものとなる。例示的な実施形態において、ライトフィールド物理学モジュールは、簡略化された「光輸送」モデルを使用してこれらの相互作用を表現する。上で述べたように、図10は、単一のメディエルにおいて生じる相互作用を表現するために使用されるモデルを示している。放射ライトフィールドは、入射光による刺激と無関係にメディエルによって放射される。エネルギー保存により、応答ライトフィールドの全エネルギーが入射ライトフィールドの全エネルギーより小さいことが決定される。
【０１１９】
光輸送モデルでは、メディエルを出る各応答ラディエル(の放射輝度)は、そのメディエルに入るラディエル(の放射輝度)の加重結合または寄与するメディエルの集合(光が異なるメディエルに入ったことに応答して光がメディエルから出る、表面下散乱などの、「光の飛び跳ね」の場合)である。この組合せは、通常、常にではないが、線形である。重みは、入射ラディエルの波長および偏光状態の関数であってよく、これらは時間とともに変化し得る。上で述べたように、入射光によって刺激されないときにメディエルによって放射される光を考慮するために放射項も追加され得る。例示的な実施形態において使用される光輸送相互作用は、次の式によって表され得る。
【０１２０】
【数１】
2019518268.tif 000003
【０１２１】
ここで、
xはボクセル(位置要素)である。
x'はxで出射する放射輝度に寄与するボクセルである。
X'はxで出射する放射輝度に寄与するすべてのボクセルである。
ωは出射放射輝度のセイルである。
ω'は入射放射輝度のセイルである。
x→ωおよびx←ωはボクセルxおよびセイルωによって定義されるセイルである。
L(x→ω)はセイルx→ωにおける出射ラディエルの放射輝度である。
L(x'←ω')はセイルx'←ω'における入射ラディエルの放射輝度である。
Le(x→ω)はセイルx→ωにおける出射ラディエルの放射性の放射輝度である。
fl(x→ω,x'←ω')はx'←ω'における入射ラディエルをx→ωにおける出射ラディエルに関係付ける光が飛び跳ねるBLIFである。
dω'はセイルω'によって範囲を定められた立体角(の量)である。
dx'はボクセルx'によって表される表面積(の大きさ)である。
【０１２２】
【数２】
2019518268.tif 000004
【０１２３】
は入射セイルの全球(4πステラジアン)である。
【０１２４】
前のおよび次の光輸送方程式は、波長、偏光状態、および時間に対する依存関係を明示的に示していない。当業者であれば、これらの式はこれらの依存関係をモデル化するように拡張され得ることを理解するであろう。
【０１２５】
上で述べたように、いくつかの媒体は、「光の飛び跳ね」の現象を示し、メディエルの応答ライトフィールドはメディエルの入射ライトフィールドに依存するだけでなく(または全く)、1つまたは複数の他のメディエルに入るライトフィールドにも依存する。そのような飛び跳ねは、いくつかのタイプの媒体の重要なシーン特性を生じさせる。たとえば、人間の皮膚は、一般的な光の飛び跳ねのサブクラスである、著しい表面下散乱を示す。光の飛び跳ねがモデル化されないときに、入射寄与領域X'は単一のボクセルxに縮小し、外側の積分が消えて、
【０１２６】
【数３】
2019518268.tif 000005
【０１２７】
のようになる。
ここで、
fl(x,ω←ω')はx←ω'における入射ラディエルをx→ωにおける出射ラディエルに関係付ける、光の飛び跳ねがない、BLIFである。
【０１２８】
メディエルがタイプサーフェルであると仮定されたとき、BLIFは従来の双方向反射分布関数(BRDF)となり、
【０１２９】
【数４】
2019518268.tif 000006
【０１３０】
となる。
ここで、
fr(x,ω←ω')はx←ω'における入射ラディエルをx→ωにおける出射ラディエルに関係付けるBLIFである。
nはサーフェルxにおける表面法線ベクトルである。
(n・ω')は従来のBRDF定義中に存在する逆数係数を釣り合わせるコサイン遠近係数である。
【０１３１】
【数５】
2019518268.tif 000007
【０１３２】
はサーフェルの法線ベクトルを中心とする入射セイルの連続的半球(2πステラジアン)である。
【０１３３】
あきになるようにモデル化されている空間を通して光が輸送されたときに、伝搬の(経路に沿った)セイル内で放射輝度が保存される。すなわち、所与のボクセルにおける、入射ラディエルの放射輝度は、問題になっているボクセルに入る前の相互作用の最後のあきでないメディエルにおける対応する出射ラディエルの放射輝度に等しい。あきの空間のメディエルは、恒等関数であるBLIFを有し、出射ライトフィールドは入射ライトフィールドに等しい(および放射ライトフィールドはすべてのセイルにおいて放射輝度がゼロである)。あきの空間内で(あきでない)媒体領域からなるシーンモデルでは、あきのメディエルのみと交差する経路に沿って光を輸送するために放射輝度の保存が使用される。放射束などの、他のラジオメトリック単位を使用する一実施形態は、同等の保存則で形成され得る。
【０１３４】
マイクロファセット反射モジュール1303およびマイクロファセット積分モジュール1305は一緒になって、屈折率の変化によって指示されるように異なるタイプの媒体の間の境界でライトフィールドをモデル化する。これは、シーン内のサーフェルの共通のケースをカバーする。マイクロファセット反射では、巨視的なサーフェルを含む各小マイクロファセットにおける全散乱相互作用の反射コンポーネントをモデル化する。各マイクロカセットは、光学的に滑らかな鏡としてモデル化される。マイクロファセットは、不透明であるか、または(無視できないくらいに)透過的であってよい。マイクロファセット反射では、よく知られているフレネルの式を使用して、注目するボクセルにおける注目する様々なセイル(適応サンプリング1315によって指示されているような)における反射放射輝度と入射放射輝度との比をモデル化する。入射ライトフィールド(たとえば、図10の1001)および出射ライトフィールド(たとえば、図10の1007)の偏光状態は、偏光モデリングモジュール1311を参照しつつ以下で説明されているようにモデル化される。
【０１３５】
マイクロファセット積分モジュール1305は、巨視的に観察可能なサーフェルに存在しているマイクロファセットの統計的分布上の全散乱相互作用をモデル化する。反射された成分については、これは巨視的なサーフェルを構成するすべてのマイクロファセットにわたって出射放射輝度を総和するステップを伴う。カメラピクセルは、そのような巨視的な放射輝度を記録する。
【０１３６】
ボリュメトリック散乱モジュール1207は、シーン内の透過媒体で生じる散乱相互作用をモデル化する。これは、そのような媒体中のセイルにおける一般的に異方性の散乱を含む。ボリュメトリック散乱は、散乱位相関数または他の好適な公式に関して実現される。
【０１３７】
偏光モデリングモジュール1311は、透過媒体を通して伝搬し、表面と相互作用するときの光の変化する偏光状態をモデル化する。ストークスベクトル形式は、ライトフィールドのラディエルの偏光状態を表すために使用される。ストークスベクトルは、参照の指定された幾何学的フレームで表される。異なるポラリメータによって記録された偏光読み取り値は、そのストークスベクトルを参照の共通フレームに変換することによって調整されなければならない。これは、座標系の変化を表すミューラー行列乗算によって達成される。偏光モデリングは、複数のピクセルおよび/または視点における観察が復元時に比較されるときに必要に応じてこの変換を実行する。
【０１３８】
偏光モデリングモジュール1311は、また、反射後に様々なセイルにおける入射および出射ラディエルの偏光状態の間の関係をモデル化する。この関係は、誘電体および金属表面におけるs偏光およびp偏光の反射を支配するポラリメトリックフレネル式で表される。いくつかの既定の媒体における誘電体および金属表面に入射する光について、ポラリメトリックフレネル式は、反射および透過(屈折)放射輝度が入射光の放射輝度にどのように関係するかを指示する。ポラリメトリックフレネル式は、シーンのポラリメトリック観察結果と併せて、非ポラリメトリックカメラで観察されたときに特徴がない反射表面の正確な復元を可能にする。
【０１３９】
放射および吸収モジュール1309は、メディエルにおける光の放射および吸収をモデル化する。メディエルにおける放射は、サンプリングおよび/またはパラメトリック形式の放射ライトフィールド1009によって表される。所与の波長における吸収は、問題になっている媒体を光が通過するときの単位距離当たりの減衰度を指示する消光係数または類似の量によって表される。
【０１４０】
スペクトルモデリングモジュール1313は、異なる波長(異なる波帯における)の光の輸送をモデル化する。全ライトフィールドは、1つまたは複数の波帯における光を含む。スペクトルモデリングモジュール1313は、シーンを観察するカメラのスペクトル特性が与えられた場合に、復元オペレーションのために必要に応じてライトフィールドをいくつかの波帯に細分する。ライトフィールドと媒体タイプとの相互作用に対する波長の依存関係は、媒体のBLIFで表される。
【０１４１】
適応サンプリングモジュール1315は、シーンモデル内の注目する各メディエルにおいて様々な方向でラディエルをモデル化するために使用する最適な角分解能を決定する。この決定は、一般的に、メディエル(の特性)に対するSMAゴール、その仮定されているBLIF、およびメディエルに入り、メディエルから出るラディエル(の特性)に対する不確定性推定値に基づく。好ましい実施形態では、適応サンプリングモジュール1315は、メディエルに関連付けられている入射および出射ライトフィールドを表す立体角八分木の適切な細分(木レベル)を決定する。たとえば、輝く(高反射)表面のBLIFは、入射ラディエルに関して鏡面反射方向に厳格に合わせた「正反射ローブ(specular lobe)」を有する。シーン解決1107が観察されたラディエルと仮定されたBLIFで予測された対応するモデル化されたラディエルとの間の整合性を計算するプロセスを開始したときに、適応サンプリングモジュール1315は、最大重要度のメディエル入射ラディエルが仮定されている表面法線ベクトルに関して反対の鏡面反射方向のラディエルであると決定する。次いで、この情報は、利用可能なコンピューティングリソースを決定された入射ラディエルに対するモデル化された放射輝度値を決定することに集中させるために使用され得る。好ましい実施形態において、これらの放射輝度値の決定は、ライトフィールドオペレーションモジュール1923(図19に示されている)を介して達成される。
【０１４２】
図14は、いくつかの実施形態により3D画像処理システムにおいてSREを使用するアプリケーションソフトウェアのプロセス1400を示している。たとえば、プロセス1400は、SRE201に関して上で説明されているアプリケーションソフトウェア205によって実行され得る。
【０１４３】
プロセス1400に入った後、オペレーション1401において、アプリケーションソフトウェアは、SREコマンドのスクリプトを生成し、および/または提供し得る。図11を参照しつつ上で述べたように、そのようなコマンドは、多くの形式で実現され得る。コマンドスクリプトは、ユーザインターフェース209などのユーザインターフェースを介してユーザインタラクションの結果としてアプリケーションソフトウェアによってアセンブルされ得る。たとえば、上記のプロセス300に関して説明されているように、ユーザ入力は、シーン情報、復元に対する1つまたは複数のゴール、ならびにスキャンおよび/または復元構成に関して取得され得る。アプリケーションソフトウェアは、実行履歴もしくは記憶されているライブラリおよびデータなどの取得済みのユーザ入力および/または他の態様に基づき、復元ジョブのゴールおよび動作パラメータを構成し得る。コマンドスクリプトは、データベースに保存されている既存のコマンドスクリプトなどの、別のソースからも引き出され得る。
【０１４４】
オペレーション1403において、アプリケーションソフトウェアは、準備されたコマンドスクリプト上でSREを呼び出す。これは、限定はしないが、プラン、スキャン、解決、および表示を含む、SREによって管理される一連のアクションを開始する。人間の入力および/またはアクションが必要な場合、SREは、ユーザに適切にプロンプトを出すようにアプリケーションソフトウェアに通知するものとしてよい。これは、コールバックまたは別の好適なメカニズムを使用して達成され得る。そのようなプロンプトを出されるユーザアクションの一例は、ユーザがハンドヘルドカメラを新しい視点に移動し、何らかの復元ゴールの条件を満たすことに向けて3D画像処理システム(たとえば、シーン解決モジュール1107)によって要求されたさらなる画像データを記録するときに行われる。プロンプトを出されたユーザ入力の一例は、シーン解決関数が注目している特定のボクセルを占有する媒体のタイプにおけるあいまい性を解決するために不十分な情報とともに前のシーンモデルに供給されたときに行われる。この場合、アプリケーションソフトウェアは、代替的媒体タイプを選択するようにプロンプトでユーザに求めるものとしてよい。
【０１４５】
オペレーション1405において、SREがエラーを返すことなくコマンドスクリプトを完了したかどうかが決定される。SREがエラーを返すことなくコマンドスクリプトの最後に到達した場合、オペレーション1407において、アプリケーションソフトウェアは、アプリケーション領域において有用な何らかの方式で復元結果を適用する(たとえば、復元されたボリュメトリックシーンモデルのアプリケーション依存の使用)。たとえば、自動車が被った雹害の評価において、自動車のボンネットの表面復元は、人間の検査者による仮想的検査のために、または機械学習アルゴリズムによる雹による凹みの検出のためにデータベースに保存され得る。別の例示的なアプリケーションでは、規則正しい間隔でのキッチンなどのシーンのスキャンおよびシーン復元は、新しい注文が開始されるように空間全体に分散している腐りやすい商品の状態を検出するために使用され得る。復元ジョブのより詳細な説明については、以下の図18Cを参照しつつ例示的なプロセス1840の説明を参照されたい。プロセス1400は、オペレーション1407の後に終了し得る。
【０１４６】
オペレーション1405において、SREがエラーを返した場合、オペレーション1409において、任意選択のエラー処理関数(たとえば、アプリケーションソフトウェアにおける)は、ゴールおよび/または動作設定を調整することによって補償を試み得る。動作設定を変更する一例として、シーン内でOOIを復元するときに所与のSMAゴールの条件が満たされなかった場合、オペレーション1409は、スクリプトジョブに対して見積もられているFPGAコアの全処理時間および/またはコア数を増やすことができる。次いで、プロセス1400は、そのような調整の後にコマンドスクリプト上でSRE(オペレーション1403)を再度呼び出すステップに進む。エラー処理関数が、オペレーション1409において、返されたエラーについて自動的に補償できない場合、ユーザは、オペレーション1411で、コマンドスクリプトを編集するようにプロンプトにより促され得る。この編集は、最初にスクリプトをアセンブルするときに採用されているのと類似のユーザインタラクションを通じて達成され得る。コマンドスクリプトが編集された後、プロセス1400はオペレーション1401に進むものとしてよい。
【０１４７】
図15は、いくつかの例示的な実施形態による、プラン処理プロセス1500のフローチャートである。プロセス1500は、SRE201のプラン処理モジュール1103によって実行され得る。プロセス1500は、復元ゴールに向けてプランコマンドを構文解析し、実行する。プランコマンドは、プランゴールおよび動作設定を含み得る。一例において、プランコマンドは、図1の花およびガラス瓶のBLIFおよびボクセル毎のメディエル幾何学の、指定された不確定性上限の範囲内までの、復元(画像処理を含む)を開始する。
【０１４８】
プロセス1500に入った後、オペレーション1501において、プランゴールが取得される。
【０１４９】
オペレーション1503において、プラン設定が取得される。プラン設定は、上記の動作設定モジュール1217を参照して説明されているような動作設定を含む。
【０１５０】
オペレーション1505において、データベース情報が、接続されているデータベース209から取得される。データベース情報は、プランテンプレート、前のシーンモデル、およびカメラモデルを含み得る。
【０１５１】
オペレーション1507において、コンピューティングリソース情報が取得される。コンピューティングリソース情報は、ローカルおよびリモートのCPU、GPUコンピューティングコア、FPGA素子、データストア(たとえば、コアメモリまたはディスク)、および/または専用コンピューティングハードウェア(たとえば、入射/出射ライトフィールド処理2005を加速するために特定の機能を実行するASIC)が利用可能であるかどうか、およびそれらの性能特性に関するものである。
【０１５２】
オペレーション1509において、スキャン処理オペレーション(たとえば、スキャン処理モジュール1105)、シーン解決オペレーション(たとえば、シーン解決モジュール1107)、シーン表示(たとえば、シーン表示モジュール1109)、および/または下位プラン処理を含む低レベルサブコマンドのシーケンスが生成される。プランゴール、動作設定、アクセス可能なデータベース、および利用可能なコンピューティングリソースは、いくつかのサブコマンドに展開することをプロセスに通知する。プランゴール全体の充足度は、サブコマンドゴールとプランレベルでの復元有効性および/または不確定性推定値のテスト全体との充足度を含み得る。いくつかの実施形態において、プランゴール全体の充足度は、サブコマンドゴールの所定の部分集合の充足度として指定され得る。プランゴールをサブコマンドの下位ゴールに分解することに関するさらなる詳細については、以下の図18Cを参照しつつ例示的なプロセス1840の説明を参照されたい。
【０１５３】
画像処理前動作チェックおよび必要なセンサキャリブレーションは、関連するシーンエンティティの実質的な画像処理の前に来る。スキャン処理オペレーションは、動作チェックおよびセンサキャリブレーションのための入力データの取得に向けられる。シーン解決オペレーションは、いくつかのキャリブレーションの結果得られる応答モデルを計算するステップを伴う。
【０１５４】
このレベルで実行されるセンサ指向の動作チェックの例は、関連するセンサ(たとえば、カメラ203など)が電源オンにされること、それらが基本制御およびデータ取得テストに合格すること、およびそれらが有効な現在のキャリブレーションを有していることについての検証である。例示的な解決指向の動作チェックでは、プラン処理オペレーションは、シーン解決オペレーションへの入力が、解決オペレーションが呼び出される前に有効な形で存在するようにスケジュールされていることを検証する。完了していないまたは無効なキャリブレーションは、それらを必要とするシーン感知および/または解決アクションの前に行われるようにスケジュールされる。センサへの物理的調整(ハードキャリブレーション)を伴うキャリブレーションは、それに頼る感知オペレーションの前に厳格に実行されなければならない。センサ応答モデルを発見するキャリブレーション(ソフトキャリブレーション)は、それに頼るシーン解決オペレーションの前に厳格に行わなければならないが、それは感知されたデータがシーン解決オペレーションに送り込まれるシーンエンティティの感知の後に行われてよい。
【０１５５】
接続されているデータベースを介して、プラン処理オペレーションはサブコマンドシーケンステンプレートの1つまたは複数のライブラリにアクセスし得る。これらは、いくつかの共通のまたは他の何らかの形の有用なゴールを達成する一般的なサブコマンドシーケンスを含む。たとえば、図1および図5の花とガラス瓶の360度復元は、次の近似的なシーケンステンプレートによって達成され得る。スキャン処理1105が、注目している物体の付近の少数の位置で「外向きパン」スキャン513をガイドすることによってシーンライトフィールドをラフインする。次いで、スキャン処理1105が、注目している物体(花、葉、茎、瓶)を構成する各異なる媒体タイプの小領域の「左から右への短ベースライン」スキャン515をガイドする。シーン解決1107は、次に、シーンのライトフィールドのラフインされたモデルが与えられた場合に、ラジオメトリックおよびポラリメトリック整合性測量値を最大化することによって各媒体タイプのBLIFの復元を実行する(スキャン処理1105は、指定された不確定性上限に到達するためにさらなる観察結果が必要な場合に1つまたは複数の追加のBLIFスキャンを実行する)。スキャン処理は、その後、注目している物体の高分解能軌道(または部分的軌道)スキャン509をガイドする。その後、シーン解決1107は、BLIF発見に使用されているものに類似する整合性測量値を最大化することによって注目している物体の詳細な幾何学的形状(BLIFの姿勢関係の特性)を復元する(ただし姿勢独立のBLIF特性の領域ではなく幾何学領域にわたって最大化される)。
【０１５６】
一般に、通常空間的自己位置推定されたシーンエンティティを伴う、いくつかの軽量シーン解決オペレーション1107は、単一スキャンコマンドの範囲内で実行され得る。より広範なシーン解決オペレーション1107は、典型的には、単一スキャンの範囲外で実行される。これらのより広範なシーン解決オペレーション1107は、典型的には、シーンデータのより広い空間時間的分布、大量のシーンデータ、特に復元不確定性に対する厳しい制限、既存の新モデルの調整、などを伴う。
【０１５７】
サブコマンドシーケンスの生成に続き、オペレーション1511において、プロセス1500は、プランゴールに到達する(またはエラー条件が生じる、時間および/またはリソース確保分を使い尽くすなど)までサブコマンドの各後続のグループを繰り返し処理する。各繰り返しの後、または各繰り返しの間、プランゴールに達した場合(オペレーション1513において)、プロセス1500は、オペレーション1515でプランゴールでプランゴールにおいて求められた結果を出力し、繰り返しを停止する。オペレーション1513においてプランゴールに達した場合、プラン処理コマンドキューは、オペレーション1517において更新される。オペレーション1517におけるこの更新は、ゴールの調整、および/またはサブコマンドおよび/またはプランコマンドそれ自体の動作設定を伴い得る。新しいサブコマンドも導入され、既存のサブコマンドは削除され、サブコマンドの順序は更新オペレーション1517によって変更され得る。
【０１５８】
図16は、いくつかの例示的な実施形態による、スキャン処理プロセス1600のフローチャートである。プロセス1600は、SRE201のプラン処理モジュール1105によって実行され得る。スキャン処理プロセス1600は、たとえば図11を参照しつつ上で説明されているような、シーンをスキャンする際に1つまたは複数のセンサを駆動する。スキャンは、シーン内の感知されたデータ取得を含む。スキャンは、任意選択のシーン解決オペレーション(1107)および/またはシーン表示オペレーション(1109)も含み得る。スキャンは、図15を参照しつつプランサブコマンドのシーケンシングに関して上記のセクションで説明されているように、いくつかの比較的アトミックな感知および/または処理ゴールを達成する。特に、スキャン処理プロセス1600は、動作チェックおよびセンサキャリブレーションのために必要な観察結果の取得を管理する。個別のスキャンの動作範囲の例については図18C参照して例示的なプロセス1840の説明を参照されたい。
【０１５９】
プラン処理コマンドの場合と同様に、スキャン処理コマンド(スキャンコマンド)は、動作設定とともにスキャンゴールを含む。スキャン処理プロセス1600は、感知オペレーションとさらに任意選択のシーン解決オペレーション(1107)および/またはシーン表示オペレーション(1109)のシーケンスを生成する。スキャンゴール、動作設定、およびアクセス可能なデータベースは、このシーケンスの生成を知らせる。
【０１６０】
プロセス1600に入った後、オペレーション1601において、スキャンゴールが取得される。プランから導出されるスキャンゴールの例については、以下の図18Cを参照しつつ例示的なプロセス1840の説明を参照されたい。
【０１６１】
オペレーション1603において、スキャン設定が取得される。スキャン設定は、上記の動作設定モジュール1217を参照して説明されているような動作設定を含む。
【０１６２】
オペレーション1605において、データベース情報が取得される。データベース情報は、スキャンテンプレート、前のシーンモデル、およびカメラモデルを含み得る。
【０１６３】
オペレーション1607において、サブコマンドシーケンシング関数が上で説明されているようにサブコマンドのシーケンスを生成する。サブコマンドシーケンシング関数は、感知オペレーションに大きく関わっており、これらは図17を参照しつつ以下で広範に説明されている。軽量シーン解決オペレーション1107は、サブコマンドシーケンシング関数の範囲内にもある。そのような解決オペレーション1107の一例は、図3に提示されている機能フローにおけるステップ311でのBLIF発見に対する画像のフィードバックガイド取得において見られる。シーン解決1107は、感知された画像の新しいグループが利用可能になるとともに1回またはそれ以上の回数呼び出される。復元されたモデルの不確定性を低減する方式でカメラモーションをガイドするためにBLIFモデル整合性対カメラ姿勢の導関数が使用される。シーン解決1107が指定された整合性基準の充足を報告した後、増分的感知オペレーションを終了させるためにフィードバックが供給される。
【０１６４】
シーン解決1107サブコマンドによって既存のセンサ応答モデルのわずかな精緻化が達成可能であるが、応答モデルの総初期化は、スキャン処理1105の範囲外にあり、より高いプロセスレベル(たとえば、プラン処理1103)で取り扱われなければならない。
【０１６５】
オペレーション1609において、スキャン処理モジュール1105は、キューに入っているサブコマンドの次のグループを実行する。オペレーション1611において、スキャンゴールの充足は、典型的には、画像処理されたシーン内のいくつかの部分に対するSMA復元ゴールに関して評価される(1611)。ゴールの条件が満たされない場合、オペレーション1615は、スキャンゴールに到達するのに役立つ方式でサブコマンドキューを更新する。更新1615の例については、以下の図18Cを参照しつつ例示的なプロセス1840の説明を参照されたい。スキャンゴールの条件が正しく満たされた場合、オペレーション1613でスキャン結果が出力される。
【０１６６】
図17は、いくつかの例示的な実施形態による、センサ制御モジュール1700のブロック図である。センサ制御モジュール1700は、いくつかの例示的な実施形態において、上で説明されているSRE201のセンサ制御モジュール1111に対応するものとしてよい。いくつかの実施形態において、センサ制御モジュール1700は、シーンの観察結果を記録するためにスキャン処理1105などのスキャン処理モジュールによって使用され得る。
【０１６７】
取得制御モジュール1701は、シーンライトフィールドをサンプリングする際に使用されるカメラ露出の長さおよび回数を管理する。複数回の露出が記録され、必要に応じて平均されて、カメラのフォトサイトおよび読み出し電子回路内の熱および他の時間的に変動するノイズを軽減する。ライトフィールドのラジオメトリックダイナミックレンジによって要求されたときに合成HDR画像処理のために複数の露出回数がスタックに積まれる。露出方式は、シーン内に存在する人工的光源のちらつき周期を考慮するように動的に調整される。取得制御モジュール1701は、時分割ポラリメトリ方式が使用されるときに偏光フィルタの異なる状態へのカメラ露出を時間同期させる。時間多重化されるときに他の光学系モダリティとともに類似の同期化方式が使用される。これの例は、複数の開口幅または複数のスペクトル(カラー)フィルタ波帯での露出である。取得制御モジュール1701は、また、3D画像処理システム207内の異なるセンサ間の時間的同期化を管理する。たとえば、UAV上に搭載されているカメラは、別の視点から同じOOIを観察する三脚に装着したカメラと同じ瞬間に露出するようにトリガされ得る。次いで、2つの視点は、その瞬間にOOIの特性を復元するシーン解決オペレーション(たとえば、シーン解決モジュール1107によって実行される)に一緒に入力され得る。
【０１６８】
アナログ制御モジュール1703は、アナログセンサ電子回路の様々な利得、オフセット、および他の制御可能設定を管理する。
【０１６９】
2値化制御モジュール1705は、アナログ/デジタル量子化電子回路の2値化ビット深度、デジタルオフセット、および他の制御可能設定を管理する。
【０１７０】
光学系制御モジュール1707は、所与のレンズ上で利用可能なときに、カメラレンズの調整可能な態様を管理する。これらは、ズーム(焦点距離)、開口、および焦点を含む。光学系制御モジュール1707は、FOVのサイズとライトフィールドサンプルの角分解能との間の適切なバランスを達成するようにズーム設定を調整する。たとえば、シーンをラフインするときに、比較的広いFOVが使用されてよく、次いで、光学系制御モジュール1707がOOIの高分解能画像処理のためにFOVを著しく狭め得る。レンズ開口は、十分な放射輝度を記録することに対する焦点被写界深度のバランスをとるために(たとえば、比較的弱い偏光信号を抽出するときに)必要に応じて調整される。電気機械的制御が利用可能でないときに、光学系制御モジュール1707は、人間のユーザへのガイダンスとして完全にまたは部分的に実現され得る(ソフトウェアアプリケーションのユーザインターフェースを介して)。
【０１７１】
ポラリメトリ制御モジュール1711は、ライトフィールドの偏光を記録するために使用される方式を管理する。時分割方式が使用されるときに、ポラリメトリ制御は、偏光フィルタ状態のシーケンスおよびタイミングを管理する。ポラリメトリ制御は、また、露出回数、ノイズを軽減する複数回の露出、および偏光サンプリング状態をインターリーブするときに実現可能である異なるネスティング順序を管理する。
【０１７２】
運動制御モジュール1715は、空間内のセンサの姿勢の制御可能な自由度を管理する。一例において、運動制御は、空間の一領域内でライトフィールドの包括的サンプリングに必要な姿勢に対する電子パン/チルトユニットに命令を与える。別の例において、UAVは、雹害画像処理のため自動車を軌道に載せるように向けられる。光学系制御モジュール1707の場合と同様に、この機能は人間のユーザに対するガイダンスとして完全にまたは部分的に実現され得る。
【０１７３】
データトランスポート制御モジュール1709は、3D画像処理システム200内のデータ通信層上で感知されたシーンデータのトランスポートに関する設定を管理する。データトランスポートでは、トランスポート失敗に関するポリシー(たとえば、取りこぼした画像フレームの再送)、異なるセンサ間の相対的優先度、データチャンクサイズ、などを扱う。
【０１７４】
固有感覚センサ制御モジュール1713は、慣性航法システム、慣性計測装置、またはシーン内の位置および/または配向および/またはモーションに関する情報を提供する他のそのようなセンサとインターフェースする。固有感覚センサ制御は、固有感覚センササンプリングを必要に応じてカメラおよび他の関連するセンサによって行われるサンプリングと同期化する。
【０１７５】
図18Aは、いくつかの例示的な実施形態による、シーン解決プロセス1800のフローチャートである。プロセス1800は、SRE201のシーン解決モジュール1107によって実行され得る。シーン解決プロセス1800は、シーン解決コマンド(解決コマンド)によって指令されるとおりに復元されたシーンモデルを作成し、および/または精緻化するようにし得る。シーン解決は、オペレーション1811において、仮定されているシーンモデルを初期化し、次いで、オペレーション1819において、オペレーション1815で解決コマンドにおいて指定されているゴールに到達するまでモデルを繰り返し更新する主要なステップを含む。ゴール達成後、オペレーション1817において、結果として得られるシーンモデルが出力される。
【０１７６】
プロセス1800に入った後、オペレーション1801において、シーンに対する1つまたは複数のゴールが得られる。各ゴールは、解決ゴールと称され得る。
【０１７７】
オペレーション1803において、プロセス1800が解決設定を取得する。解決設定は、上記の動作設定モジュール1217を参照して説明されているような動作設定を含む。解決設定は、また、基礎となる数学的オプティマイザの処理能力(たとえば、オプティマイザの最大許容反復回数)および解決オペレーションにおいて考慮される空間領域コンテキストの程度(たとえば、均質と推定される媒体領域の特性における弱い予想される勾配)に関する情報も含み得る。
【０１７８】
オペレーション1805において、データベースがアクセスされる。プロセス1800は、オペレーション1807において、適切なデータベースから関連するシーン観察結果をロードし、オペレーション1809において、適切なデータベースから前のシーンモデルをロードするものとしてよい。ロードされた観察結果は、オペレーション1813において仮定されているモデルから生じる予測結果と比較される。ロードされた前のモデルは、オペレーション1811において仮定されているシーンモデルを初期化する際に使用される。
【０１７９】
仮定されているシーンモデルへの反復更新(オペレーション1819における)に携わる前に、プロセス1800は、オペレーション1811において仮定されているシーンモデルを開始状態(構成)に初期化する。この初期化は、取り出された解決ゴール、および関連するデータベースから(オペレーション1809において)取り出された1つまたは複数の(アプリオリの)シーンモデルに依存する。いくつかの復元シナリオにおいて、複数の個別の仮定は、初期化段階において実現可能である。その場合、更新フロー(必ずしもその最初の繰り返しでない)は複数の仮定を探索する。以下の図18Bを参照しつつ代替的な可能なシーンモデルの作成および排除(オペレーション1833における)に関する説明を参照されたい。
【０１８０】
オペレーション1819における反復更新は、実シーンの観察結果との整合性を最大化するように仮定されているシーンモデルを調整する。オペレーション1819におけるシーンモデル更新は、図18Bを参照しつつ以下でさらに説明される。既存のシーンモデルの間の調整の場合、プロセス1800は、その代わりに、調整されるモデルの間の整合性を計算する(1813)。そのようなモデル調整の例において、雹害を受けた自動車のボンネットのモデルは、損傷が生じる前に同じボンネットのモデルと突き合わせて調整される。オペレーション1813における整合性計算は、その調整の例では、2つのモデルの出射ライトフィールドの間の偏差ではなくボンネットのモデルの固有のメディエル特性(たとえば、BRDF、法線ベクトル)の間の偏差に基づく。
【０１８１】
時間は、シーンモデルに自然に含まれ得る。したがって、画像処理シーンの時間的力学が復元され得る。これは、解決オペレーションに供給される観察結果に対して時間参照(たとえば、タイムスタンプ)が提供されたときに可能である。例示的な一シナリオにおいて、自動車が周囲シーンを通り抜ける。自動車を観察しているカメラからタイムスタンプ付き画像にアクセスした場合(および任意選択で、自動車の動きのモデルにアクセスした場合)に、自動車の物理的特性が復元され得る。別の例では、人間の顔の変形している表面は、中立から笑顔へ表情を変化させている間に複数の時点において復元される。シーン解決1107は、一般的に、復元されるべき時空領域(たとえば、複数の瞬間の時点におけるボクセル)毎に十分に多くの空間的および時間的観察視点からの観察結果を有することを条件として、シーン媒体構成(BLIFを含む)が時間とともに変化するシーンモデルを復元することができる。復元は、ライトフィールドの力学のモデル(またはサンプリング)が利用可能であるときに変化するライトフィールドの下でも実行され得る。
【０１８２】
各シーン解決反復で、仮定されているモデルと調整の際に突き合わされる観察結果および/または他のシーンモデルとの間の整合性の程度を指示する測量値がオペレーション1813において計算される。整合性測量値は、モデルパラメータの異種結合を含み得る。たとえば、仮定されているサーフェルにおける局所的ライトフィールドの表面法線ベクトル方向、屈折率、および球面調和関数表現は、整合性測量値を計算する関数に一緒に入力され得る。整合性測量値は、感知されたデータ観察結果の複数のモダリティ(タイプ)も含み得る。ポラリメトリック放射輝度(ストークスベクトル)画像、慣性航法システムからのセンサ姿勢推定値、および飛行時間型センサからの表面範囲推定値が、整合性関数に一緒に入力され得る。
【０１８３】
一般的な日常復元シナリオでは、モデル整合性は個別のボクセル毎に計算される。これは、ボクセルの複数の観察結果にわたって、ボクセルの予測された出射ライトフィールド1007(たとえば、射影されたデジタル画像内の)と実ライトフィールドの対応する観察結果(たとえば、形成されたデジタル画像内の)との間の偏差の観察毎の尺度を組み合わせることによって達成される。オペレーション1813における整合性計算は、限定はしないが個別の偏差の平方の和を含む、観察毎の偏差を組み合わせるための好適な方法を使用し得る。
【０１８４】
図8Aの例では、1つまたは複数のカメラが、複数の視点からボクセル801を撮像する。各視点803、805、807、809、811、および813は、ボクセル801から出るライトフィールドの特定のラディエルに対する出射放射輝度値(およびポラリメトリック特性)を記録する。媒体は、ボクセル801を占有することを想定されており、シーン解決1107は、1つまたは複数のBLIF1005仮定に対するモデル整合性を計算しなければならない(ライトフィールドモデルは、この例では一定に保たれる)。各視点について、所与のBLIF1005仮定では、入射ライトフィールド1001上で動作することによって、各視点によって観察されることが予想される出射放射輝度値を予測する(モデル化する)。次いで、仮定されているBLIF1005と上で説明されているようなカメラ観察結果との間の多視点整合性が算出される。評価されたBLIF1005仮定は、2つまたはそれ以上の個別のクラス(たとえば、木材、ガラス、または金属)に入るものとしてよい。
【０１８５】
このアルゴリズムレベルでは、シーン解決モジュール1107オペレーションは、ボクセル801の幾何学的特性を明示的に取り扱うことはし得ない。整合性計算1813に入力されるすべての物理的情報は、ボクセル801のBLIFおよび周囲のライトフィールド内に含まれる。サーフェル、バルク媒体、などとしての分類は、仮定されているBLIFのラジオメトリック(およびポラリメトリック)整合性を計算する基本的機構に影響を及ぼさない。
【０１８６】
図18Bは、いくつかの例示的な実施形態による、仮定されているシーン更新プロセス1819のフローチャートである。いくつかの例示的な実施形態において、プロセス1819は、図18Aに関して説明されている更新仮定シーンモデルオペレーション1819によって実行され得る。仮定されているシーン更新プロセス1819は、各シーン解決繰り返しで仮定されているシーンモデル上で実行される更新1819オペレーションの詳細を表す。シーン更新1819は、図18Bに示されている内部機能の1つまたは複数を含む。内部機能は、好適な順序で実行され得る。
【０１８７】
プロセス1819は、オペレーション1821において、シーンの観察された特徴を検出し、使用する。そのような特徴は、典型的には、シーンの観察結果の中に疎らに出現する(すなわち、画像処理の場合に、特徴はピクセルよりもかなり少ない)。特徴は、単一の観察で検出可能である(たとえば、単一視点からの画像)。特徴検出および特徴付けは、完全な物理学ベースシーン復元に比べてかなり低い計算複雑度を有することが予想される。特徴は、シーンの構造、特に観察結果が記録された時刻におけるセンサ視点姿勢を推論するために有用である、視点の変化に対して回復力がある、固有の痕跡を持つものとしてよい。いくつかの例では、全放射輝度(シーン媒体の領域から出射する)の領域内の位置に関して厳しい自己位置推定された(点状)特徴が、6-DOF視点自己位置推定に使用される。
【０１８８】
ポラリメトリック画像観察結果がシーン解決モジュール1107に入力されるときに、特徴の2つの追加のタイプが利用可能になる。第1は、ポラリメトリック放射輝度の領域内の点状特徴である。多くの例示的なシナリオにおいて、ポラリメトリック放射輝度のこれらの点状特徴は、全放射輝度単独の点状特徴と比較して検出される特徴の総数を無視できないくらいに増やす。いくつかの例では、ポラリメトリック放射輝度の点状特徴は、隣接するサーフェル法線ベクトルから形成された勾配から生じるものとしてよく、2つのポラリメトリック画像上で対応する特徴をラベル付けするために自己位置推定された特徴記述子として使用され得る。ポラリメトリック画像で利用可能になる特徴の第2のタイプは、ポラリメトリック放射輝度の領域内の平面状特徴である。点状特徴が位置の特徴である(それらが相対的位置に関する情報を伝達する)と言われる場合、平面状特徴は、配向の特徴である(それらが相対的配向に関する情報を伝達する)と言われるものとしてよい。主要な例では、3D画像処理システムのユーザが典型的な部屋の中の何もない壁のポラリメトリックスキャンを実行する。壁は、完全に、画像処理ポラリメータの視野を満たしている。位置の特徴が検出されないとしても、壁それ自体のポラリメトリック放射輝度痕跡は、配向の強い特徴である。この例では、配向のポラリメトリック特徴は、壁に関してポラリメータの配向を推定するために使用される。推定された配向はそれだけで、または位置および/もしくは他の配向情報と併せて、一般的なシーンモデル調整モジュール1823オペレーション内に送り込まれる。上記のポラリメトリ対応特徴タイプは両方とも、非ポラリメトリックカメラで観察されたときに特徴のない反射面上で検出され得る。
【０１８９】
プロセス1819は、オペレーション1823において、ゴールの充足を示す何らかの測量値を高める方法でシーンモデルを調整し得る。共通の例では、仮定されているモデルと観察結果との間の整合性の程度の最小二乗が単独の測量値として使用される。調整は、充足測量値の導関数によってガイドされ得る(モデル解空間上の関数として)。調整は、たとえば、パターン探索、ランダム探索、および/または遺伝的アルゴリズムなどの導関数不要確率的および/または発見的方法によって進め得る。いくつかの場合において、機械学習アルゴリズムがこの調整をガイドし得る。導関数不要方法は、サンプリングされたおよび/またはノイズの多い観察結果を伴う現実世界のシナリオにおいて特に有益であり得る(観察データは、ジャギーおよび/またはクリフを示す)。階層的パラメータ探索を介した導関数不要の調整の一例については、以下の図18Dを参照しつつプロセス1880の説明を参照されたい。
【０１９０】
好適なモデルオプティマイザは、上記の調整方式を実現するために使用され得る。いくつかの実施形態において、空間処理オペレーション(たとえば、空間処理モジュール1113に関して説明されているオペレーション)は、好適な最適化フレームワークの下で解空間を素早く探索するために使用され得る。仮定されているシーンモデルそれ自体を調整することに加えて、サブゴール(解決ゴールの)および解決設定も調整され得る。
【０１９１】
シーンモデルの様々な自由度に対する不確定性推定は、適宜シーン領域毎にオペレーション1825において更新される。シーン領域の観察ステータスは、適宜オペレーション1827において更新される。領域の観察ステータスは、その領域からのライトフィールド情報が復元に関わっているカメラによって記録されているかどうかを指示する。正の観察ステータスは、直接視線観察(既定の媒体を通る)が行われたことを必ず指示する。正の観察ステータスは、カメラによって観察された無視できないほどの放射輝度が高い整合性ですでに復元されている領域内の一連のBLIF相互作用を介して問題になっている領域へトレースバックされ得ることを指示する。シーン領域の復元および/または観察適用範囲に関する位相幾何学的適用範囲情報は、オペレーション1829において更新される。
【０１９２】
プロセス1819は、オペレーション1831において、仮定されているシーンモデルを複数のサブシーンに分割し、および/またはマージし得る。これは、典型的には、大きく注目されている領域上に利用可能なコンピューティングリソースを集中させるために行われる(注目度の高い領域は、その自サブシーンに分割される)。分割は、空間および/または時間において行われ得る。逆に、2つまたはそれ以上のそのようなサブシーンは、一体化されたシーンにマージされる(構成要素であるサブシーンのスーパーシーン)。相互整合性に基づきサブシーンを調整するためにバンドル調整オプティマイザまたは他の何らかの好適な最適化方法が使用され得る。
【０１９３】
プロセス1819は、オペレーション1833において、代替的な可能なシーンモデルを形成し、および/または排除し得る。代替的モデルは、逐次的に、および/または並行して探索され得る。反復解決プロセスにおける好適な接合点で、関連する観察結果および/または他のモデル(調整するとき)と不整合度が高くなった代替的モデルは排除されてよい。図8Aから図8Eの例において、4つの下図は、ボクセル801が解決し得る仮定されているメディエルを示している。これらの仮定は、個別のBLIF代替的モデルを定める。4つのBLIFはタイプ(構造)が異なる。これは、同じタイプ(たとえば、「金属サーフェル」)であるBLIF仮定への区別となるが、そのタイプ(たとえば、法線ベクトル方向にのみ異なる2つの仮定されている金属サーフェル)に特有のパラメータの値が異なる。上で述べたように、4つの個別の仮定は、解決1107機能の異なる数学的最適化ルーチンによって逐次的に、および/または並行して探索され得る。
【０１９４】
上記のシーン解決オペレーションは、簡潔な数学的形式で表現され得る。ライトフィールド物理学1301機能を参照しつつ上で紹介したシンボルを使用すると、単一メディエルにおける一般的なシーン解決オペレーションは、
【０１９５】
【数６】
2019518268.tif 000008
【０１９６】
であり、
ここで、
【０１９７】
【数７】
2019518268.tif 000009
【０１９８】
は応答ライトフィールドセイルx→ωに寄与するすべてのセイル
【０１９９】
【数８】
2019518268.tif 000010
【０２００】
に適用される、光の飛び跳ねがある、BLIFである。
【０２０１】
【数９】
2019518268.tif 000011
【０２０２】
はセイル
【０２０３】
【数１０】
2019518268.tif 000012
【０２０４】
における各ラディエルの放射輝度である。
【０２０５】
【数１１】
2019518268.tif 000013
【０２０６】
は、BLIF flによって予測されたセイルx→ωにおける出射ラディエルおよび入射ライトフィールド
【０２０７】
【数１２】
2019518268.tif 000014
【０２０８】
の放射輝度である。
Lobservedは、単一ボクセルxまたは複数のボクセルXを観察するカメラによって記録された放射輝度である。
error(Lpredicted-Lobserved)は、シーンライトフィールドの予測されたラディエルと観察されたラディエルとの間の逆整合性尺度を生成する、ロバスト化および正則化メカニズムを含む、関数である。不確定性ベースの重み係数は、予測された放射輝度と観察された放射輝度との間の差(偏差、残差)に適用される。
【０２０９】
ボリュメトリック領域(複数のメディエル)に適用されるときに、解決オペレーションは、
【０２１０】
【数１３】
2019518268.tif 000015
【０２１１】
のように拡張される。
ここで
【０２１２】
【数１４】
2019518268.tif 000016
【０２１３】
は、BLIF flによって予測されたすべてのセイルx→ωにおける出射ラディエルおよび入射ライトフィールド
【０２１４】
【数１５】
2019518268.tif 000017
【０２１５】
の放射輝度である。
Xは観察されたメディエルの領域である。
【０２１６】
入射ライトフィールドが高い信頼度で推定されている有用な場合において、解決オペレーションは、BLIFについて解くように制限され得るが、入射ライトフィールドを一定に保つ(単一のメディエルに対して図示されており、飛び跳ねがある)。
【０２１７】
【数１６】
2019518268.tif 000018
【０２１８】
逆に、BLIFが高い信頼度で推定されているときには、解決オペレーションは、入射ライトフィールドについて解くように制限され得るが、BLIFを一定に保つ(単一のメディエルに対して図示されており、飛び跳ねがある)。
【０２１９】
【数１７】
2019518268.tif 000019
【０２２０】
個別の誤差の寄与を計算するステップと、各argmin反復でモデルをどのように摂動するかを決定するステップに関わるサブオペレーションは、複雑であり、シーン解決1107に関して、式の前に、テキストで説明される。
【０２２１】
図18Cは、図1、図5、および図7で提示されているキッチンシーン復元シナリオに対する、いくつかの例示的な実施形態による、ゴール駆動SREジョブのフローチャートである。図18Cは、SREが復元ジョブにおいて従うこれらのオペレーションおよび決定点に対する詳しい説明を行うことによって図3の一般的なフローチャートを補完している図である。図18Cの例示的なジョブゴールは、また、次の説明において数値による定量的ゴール基準を定めるために狭く指定される。動作チェックおよび標準的なカメラキャリブレーションなどの、共通の「ボイラープレート」オペレーションの説明は、前のセクションに掲載されており、ここでは繰り返さない。
【０２２２】
復元プロセス1840がこの例示的なシナリオで始まり、オペレーション1841から始まり、アプリケーションソフトウェア205では、ラッパ水仙(スイセン)の花の花弁をシーンモデル精度(SMA)の所望の空間分解能およびレベルで復元することをゴールとするジョブのスクリプトを作成する(SREコマンドのスクリプトを形成する)。所望の空間分解能は、画像が記録された視点のうちの1つまたは複数に関する角分解能に関して指定され得る。この例では、ゴールSMAは、復元されたモデルにおいてタイプ「ラッパ水仙の花弁」であると仮定されているそれらのメディエルから出射するライトフィールドラディエルの平均平方誤差(MSE)に関して指定される。完全偏光楕円を特徴付けることができるポラリメータは、この例で使用される。偏光楕円は、ストークスベクトル[S0, S1, S2, S3]としてパラメータ化され、MSEは
【０２２３】
【数１８】
2019518268.tif 000020
【０２２４】
の形式(式[1]〜[7]を参照)をとる。
ここで、
spredictedは仮定されているセイルx→ωにおける出射ラディエルの放射輝度のストークスベクトルであり、BLIF flおよび入射ライトフィールド
【０２２５】
【数１９】
2019518268.tif 000021
【０２２６】
が仮定される。入射ライトフィールドのモデルは、ポラリメトリック特性を含み得る。「光の飛び跳ね」は、この例示的なシナリオではモデル化されていない。
sobservedは、実シーンにおける対応するメディエルを観察するポラリメータによって記録される放射輝度のストークスベクトルである。
errorは予測されたラディエルと観察されたラディエルとの間の逆整合性尺度をもたらす関数である。この例のポラリメトリックの場合、この関数は、予測されたストークスベクトルと観察されたストークスベクトルとの間の偏差(差)の平方ベクトルノルム(成分の平方の和)として実現され得る。
【０２２７】
この例示的なシナリオにおける所望のSMAは、1平方メートル当たりの1ステラジアン当たりのワット数で表される対応する観察されたラディエルの放射輝度に関する、仮定されているシーンモデルにおけるラッパ水仙の花弁メディエルから出るラディエルにわたって算出された、5%以下のポラリメトリック放射輝度RMSE(MSEの平方根)である。上記の式[8]は、単一の仮定されているメディエルに対するMSEをもたらす。花弁を構成するメディエルの仮定されている配置構成などの、複数のメディエルからなる集合に対するMSEは、この集合内のメディエルにわたって予測されたポラリメトリック放射輝度偏差対観察されたポラリメトリック放射輝度偏差を総和することによって算出される。
【０２２８】
また、オペレーション1841において、アプリケーションソフトウェア205は、内容が画像処理に使用されるポラリメータのポラリメトリックカメラモデルと、日中の1家族住宅内の一般的なキッチンの前の(アプリオリ)モデルと、ラッパ水仙の花弁の前のモデルとを含むデータベースを指定する。一般的なラッパ水仙の花弁の近似的なBLIFを含む、前のモデルは、実シーンに対してその初期整合性を最大化する仕方でラフインオペレーション1847および1851において調整される。例示的な調整オペレーションは、出射ラディエルの球に対する観察された放射輝度値を前のモデル内のメディエルに初期値として入力する。観察された放射輝度値は、実シーンにおいてラフイン画像処理を実行するポラリメータによって測定される。
【０２２９】
オペレーション1843において、プラン処理モジュール1103は、ジョブスクリプトで指定された5%RMSEゴールに向かうスキャンおよび解決コマンドのシーケンスを生成する。ラッパ水仙の花弁OOI復元ゴールが与えられた場合、プラン処理1103は、接続されているデータベースから好適なプランテンプレートを取り出す。テンプレートは、この例では「General Quotidian OOI Plan」である。テンプレートは、下位オペレーション1847、1849、1851、1853、1855、および1857のシーケンスを指定する。全体的なジョブゴールに基づき、テンプレートは、オペレーションのうちのいくつかに対して下位ゴールも指定する。これらの下位ゴールは、次の段落において詳述され、条件付き論理オペレーション1859、1865、1867、1869、および1873、ならびに条件付きフローパスのうちのいくつかに沿って行われる関連付けられている反復調整オペレーション1861、1863、1871、および1875を決定する。下位ゴールにおけるSMAターゲットは、全体的なジョブの5%RMSEゴールに従ってカスタマイズされる。
【０２３０】
オペレーション1845において、プラン処理1103は、下位ステップの反復周期を開始する。オペレーション1847において、スキャン処理1105は、シーンのラフイン画像処理の初期「外向きパン」シーケンス(たとえば、図5の項目513におけるカメラ姿勢)をガイドし、次いで、前のモデル初期化を参照して上で説明されているようにシーンメディエルの出射点ライトフィールドに初期値を入力する。この例におけるオペレーション1847の下位ゴールは、ラッパ水仙の花弁によって占有される仮定されている領域内のすべてのメディエルに対する3°角分解能において入射ライトフィールドラディエルを推定(復元)することである。スキャン処理1105は、数学的モデル(たとえば、シミュレートされた復元)および/またはデータベース内の前のモデルに含まれるラッパ水仙の花弁の(推定された)BLIFを伴う履歴的復元実行に基づき入射ラディエル分解能に対する3°ゴールを決定する。
【０２３１】
オペレーション1849において、スキャン処理1105は、ラッパ水仙の花弁のBLIFラフイン画像処理の周期シーケンスをガイドする(たとえば、図5における項目515のカメラ姿勢)。BLIFラフイン画像処理は、媒体構成および/または空間配置構成(形状)において均質であると想定されている花弁の領域の方へガイドされる。花弁の例示的な事例において、この点に関する均質性は、画像処理された「花弁のパッチ」がほぼ一定の色および厚さを有すること、およびパッチが無視できるくらい小さいか、またはほぼ一定の曲率を有することを要求し得る。次いで、スキャン処理1105は、花弁パッチのメディエルに適用される、式[6]で伝えられるようなBLIFパラメータを推定するようにシーン解決1107に指令する(1851)。3%相対的RMSEの下位SMAゴールは、BLIF解決オペレーションについて設定される。前の段落における3°ラディエルゴールと同様に、3%BLIF復元ゴールは、数学的モデルおよび/または実行履歴データに基づき決定される。シーン解決1107が3%ゴールの条件を満たすのに失敗した場合(1865)、スキャン処理1105は、内部コマンドキューを更新し(1863)、追加の視点から、および/または画像分解能を高めて花弁パッチを撮像する(たとえば、ズームインして視野を狭める)。3%ゴールの条件が満たされず、スキャン処理1105が何らかの画像処理および/または処理能力を使い尽くした場合、プラン処理1103は、追加の「外向きパン」画像処理シーケンスをガイドし、および/またはラディエルのより細かい角分解能で入射ライトフィールド(花弁パッチにおける)を復元することによってシーンをより正確にラフインするようにその内部コマンドキューを更新する(1861)。3%ゴールの条件が満たされた場合、制御は、オペレーション1853に進む。
【０２３２】
オペレーション1853において、スキャン処理1105は、ラッパ水仙の花弁の詳細画像処理のシーケンスをガイドする(たとえば、図5におけるカメラ姿勢509)。次いで、スキャン処理1105は、花弁メディエルのラフインされた復元を精緻化するようにシーン解決1107に指令する(1855)。8%相対的RMSEの下位ゴールは、精緻化オペレーションについて設定される。8%ゴールは、オペレーション1851の前の説明における3%ゴールを割り当てられた(より容易に復元される)均質なパッチだけでなく、すべての花弁メディエルに適用される。8%ゴールは、数学的モデルおよび/または復元実行に関する履歴的データに基づき決定される。SREは、BLIF(BLIFのBRDF部分)およびライトフィールドパラメータを一定に保ちながら、花弁メディエルについて解くときに8%RMSEゴールは、BLIFおよび/またはライトフィールドパラメータが最終的なシーン全体精緻化オペレーション1857において「フロート状態になる」ことを許されたときに5%最終RMSEを確実にもたらすことを予測している。シーン解決1107が8%ゴールの条件を満たすのに失敗した場合(1869)、スキャン処理1105は、内部コマンドキューを更新し(1871)、追加の視点から、および/または分解能を高めて花弁パッチを撮像する。8%ゴールの条件が満たされず、スキャン処理1105が何らかの画像処理および/または処理能力を使い尽くした場合、制御はBLIFラフインオペレーション1849および1851の上記の説明のようにオペレーション1861に進む。8%ゴールの条件が満たされた場合、制御は、オペレーション1857に進む。
【０２３３】
オペレーション1857において、シーン解決1107は、シーンモデルの完全精緻化を実行する(たとえば、いくつかの実施形態における大規模バンドル調整)。解決オペレーション1857は、一般的に、ラフイン解決オペレーション1851および1855よりも多い自由度を伴う。BLIFパラメータ(BLIFのBRDF部分)および姿勢パラメータ(たとえば、花弁サーフェル法線ベクトル)は、たとえば、同時に変化することを許される。いくつかのシナリオにおいて、標準のラディエルおよび/または他の基底関数(たとえば、球面調和関数)を使用してパラメータ化されたシーンライトフィールドの一部も、最終精緻化オペレーション1857において変化することを許される。オペレーション1857が花弁メディエル上の5%RMSEの制御ジョブのSMAゴールの条件を満たすことに失敗し(1859)、満たされない場合、プラン処理は、追加の花弁画像を取得するようにその内部コマンドキューを更新し(1875)、および/またはオペレーション1849および1851を参照して上で説明されているようにその内部コマンドキューを更新する(1861)。5%ゴールの条件が満たされた場合、プロセス1840は正常に終了し、アプリケーションソフトウェアは、何らかの好適な目的のためにラッパ水仙の花弁の復元されたモデルを使用する。
【０２３４】
図18Dは、上記の18Cの説明においてオペレーション1855を参照して説明されているようにラッパ水仙の花弁のメディエルについて詳細に解くことに関わるオペレーションの、いくつかの例示的な実施形態による、フローチャートである。階層的導関数不要解決方法が、この例示的なシナリオにおいて使用される。プロセス1880は、何らかの望ましい空間分解能で単一のメディエル(および/またはその入射および/または出射ラディエル)についてBLIFの解を与える。好ましい実施形態では、プロセス1880のインスタンスが、ラッパ水仙の花弁OOI領域において多くの仮定されているメディエル(ボクセル)について並行実行される。
【０２３５】
オペレーション1881において、階層的BLIF精緻化問題が定義される。仮定されているメディエルのBLIFパラメータは、BLIFラフイン解決オペレーション1851において発見された値に初期化される。また初期化させるのは、各BLIFパラメータの数値範囲の階層的細分を表す横断可能な木構造(たとえば、各BLIFパラメータの二分木)である。オペレーション1883において、この木の最小開始レベル(深さ)が設定され、それにより、パラメータ範囲の過度に粗い量子化による木横断が早期に失敗するのを防ぐ。オペレーション1885において、木の並行横断がオペレーション1883において決定された最小深さ開始ノードの各々から開始する。木の各枝は、他の枝と無関係に横断される。たとえば、横断およびノード処理を実行するために多数の単純なFPGAコンピューティング要素を使用する実施形態において大規模並列化が実現され得る。
【０２３６】
オペレーション1887において、BLIF仮定の整合性が各木ノードで評価される。並列横断により、各ノードの整合性は、他のノードと無関係に評価される。整合性評価は、式[8]に従って進む。オペレーション1887における整合性評価は、特定のロバスト性基準が満たされる(1893)ことを必要とする。この例では、そのような1つの基準は、スキャン処理1105によってもたらされるラッパ水仙の花弁観察結果が十分な適用範囲をもたらすことである(たとえば、仮定されているBLIFの主鏡面ローブを中心とする45°の円錐における3°角分解能)。別の例示的な基準は、メディエルに入る(入射する)モデル化されたシーンラディエルが類似の分解能および適用範囲要求条件を満たすことである。観察されたラディエルおよびモデル化された入射ラディエルに関するロバスト性基準は両方とも、仮定されているBLIF(たとえば、鏡面ローブの外形)に大きく依存する。基準が満たされないときに(1893)、オペレーション1891は、スキャン処理1105モジュールに追加の必要な画像処理視点を要求する。そのように指示されたときに、オペレーション1889は、シーンモデリング1203モジュールに追加の入射ラディエル情報の可用性を要求する。これらの要求は、優先順位キューにエントリを追加する形をとり得る。追加入射ラディエル情報の要求は、一般的に、ライトフィールドオペレーションモジュール1923によるサービスを受ける光輸送要求の連鎖を開始する。
【０２３７】
ロバスト性基準が満たされた後に(1893)、整合性基準が満たされない場合(1895)、木横断は停止し(1897)、ノードに対するBLIF仮定は破棄される(1897)。整合性基準が満たされている場合(1895)、ノードのBLIF仮定は有効な候補BLIFのリストに追加される。木が網羅的に横断された後、最大の整合性(最低のモデリング誤差)を有する候補は、メディエルに対する最も可能性の高いBLIFとしてオペレーション1899において出力される。候補リストがあきである(木ノードのどれも整合性基準を満たさなかった)場合、ボクセルは、それが媒体タイプ「ラッパ水仙の花弁」であるという仮定を満たすことに失敗する。
【０２３８】
図19は、いくつかの例示的な実施形態による、SREの空間処理モジュール1113を示すブロック図である。空間処理モジュール1113は、集合オペレーションモジュール1903、幾何学モジュール1905、生成モジュール1907、画像生成モジュール1909、フィルタリングモジュール1911、表面抽出モジュール1913、モルフォロジーオペレーションモジュール1915、接続モジュール1917、質量特性モジュール1919、レジストレーションモジュール1921、およびライトフィールドオペレーションモジュール1923を含み得る。空間処理モジュール1903、1905、1907、1911、1913、1915、1917、1919のオペレーションは、一般的に知られており、当業者は、それが多くの方法で実装され得ることを理解する。これは、ソフトウェアおよびハードウェアを含む。
【０２３９】
いくつかの例示的な実施形態において、シーン内の媒体は、八分木を使用して表される。基本的な実装は、参照により本明細書に組み込まれている、米国特許第4,694,404号(たとえば、図1a、図1b、図1c、および図2を参照)において説明されている。八分木内の各ノードは、任意の数の関連付けられている特性値を有することができる。記憶方法は、米国特許第4,694,404号(たとえば、図17を含む)に提示されている。同等の表現および記憶形式が使用され得ることは当業者によって理解されるであろう。
【０２４０】
ノードは、分解能を高めるために、処理オペレーションを含めて、八分木の一番下に追加され、表現されているシーンのサイズを増やすために一番上に追加されるものとしてよい。より大きいデータセットを表現するために、UNIONブール集合オペレーションを使用して別個の八分木が組み合わされ得る。こうして、グループとして取り扱われ得る空間情報の集合(たとえば、1つのスキャンまたはスキャンの集合からの3D情報)は、単一の八分木で表現され、八分木の組み合わされた集合の一部として処理され得る。変更は、八分木のより大きい集合内の個別の八分木(たとえば、処理が進行するとともに行われる微調整アラインメント)に独立して適用され得る。当業者は、それらが複数の方法で組み合わされ得ることを理解する。
【０２４１】
八分木は、INTERSECTまたはSUBTRACTブール集合オペレーションまたは他のオペレーションを使用して別の八分木または八分木の集合の何らかの部分を取り除くためのマスクとしても使用され得る。半空間八分木(平面の片側の全空間)は、たとえば、表面のある点における表面法線ベクトルの負側の半球などの球の半分を取り除くために必要に応じて幾何学的に定義され、生成され得る。元々のデータセットは修正されない。
【０２４２】
画像は、2つの方法のうちの1つで例示的な実施形態において表される。これらは、米国特許第4,694,404号(たとえば、図3aおよび図3bを含む)において説明されているようなピクセルの従来の配列または四分木であってよい。当業者であれば、同等の代替的表現および記憶方法があることを理解するであろう。特定のレベルまで下がるすべてのノードを含む(それより下のノードを含まない)四分木は、ピラミッドとも呼ばれる。
【０２４３】
例示的な実施形態は、光源から出射する光、空間内の光の通過、媒体上に入射する光、表面から反射される光を含む媒体と光との相互作用、および表面または媒体から出射する光を表す。「立体角八分木」またはSAOは、いくつかの例示的な実施形態においてこのために使用される。その基本的な形態において、SAOは、SAOの八分木領域の中心でもある球の中心から外向きに放射状に広がる方向をモデル化するために中空の球を表す八分木を使用する。SAOは、その点に入るか、またはその点から出る光を表す。次いで、これは周囲領域に入るか、または周囲領域から出る光を表し得る。この中心が別のデータセット内の点(たとえば、八分木ノードの中心などの空間のボリュメトリック領域内の点)と一致し得るが、その座標系は必ずしもアラインメントされない。
【０２４４】
立体角は、その中心点を中心とする球の表面と交差する八分木内のノードによって表される。ここで、交差は、複数の方法で定義され得る。一般性を失うことなく、球は単位半径を有すると考えられる。これは、2Dで示されている図21に例示されている。点2100は中心であり、ベクトル2101はSAOのX軸であり、2102はY軸である(Z軸は図示されていない)。円2103は、単位球に相当する2D図形である。SAOの根ノードは正方形2104(3Dでは立方体)である。SAO領域は、4つの四分円(3Dでは八分円)、すなわち図中のノードaおよびその3つの兄弟ノード(または3Dでは合計8個に対して7個)に分割される。点2105は、このレベルでのノードの中心である。これは、次いで、次のレベルで子ノードに細分される(ノードb、c、およびfは例である)。点2106は、このレベルの細分でのノード中心である。細分は、ノードが円(3Dでは球)と交差する限り必要なレベルであればどのようなレベルまでも続く。ノードaからe(および他のノード)は、円(3Dでは球)と交差し、P(親)ノードである。fなどの非交差ノードはE(空)ノードである。
【０２４５】
光がそれと中心点(またはいくつかの公式では、その点の周りの領域)の両方を通過する円と交差するノードは、Pノードのままであり、その光を特徴付ける特性の集合を与えられる。光と交差しない(または他の何らかの理由により注目していない)ノードは、Eに設定される。SAOは、たとえば、サンプリングされた情報(たとえば、画像)からボトムアップで構築されるか、または何らかの数学的モデルからトップダウンで生成されるか、または必要に応じて(たとえば、射影された四分木から)構築され得る。
【０２４６】
終端F(完全)ノードがあり得るが、本発明におけるオペレーションは典型的にはPノードに作用し、それらを作成し、必要に応じて削除する。下位レベルのノードは、高い分解能で表される立体角を含む。多くの場合、子ノードに含まれる特性値の差の何らかの尺度は、親ノードに記憶される(たとえば、最小および最大、平均、分散)。このようにして、動作アルゴリズムの直接的ニーズは、子ノードにアクセスし、処理する必要がある場合にオンザフライで決定することができる。いくつかの場合において、八分木、SAO、および四分木内の下位レベルのノードは、処理中にオンザフライで生成される。これは、何らかのタスクを実行するときに将来のオペレーションが前のオペレーションの結果に依存する適応処理をサポートするために使用され得る。いくつかの場合において、より高い分解能に対するそのような構造の下位レベルなどの新しい情報にアクセスするか、または生成するステップは、時間がかかるか、または恐らくクラウドなどリモートで、異なるプロセスによって実行されるであろう。そのような場合、動作プロセスは、現在のオペレーションが利用可能な情報を使用している間に後の処理オペレーションについてアクセスされるかまたは生成されるべき新しい情報に対する要求メッセージを生成し得る。そのような要求は優先度を有し得る。そのような要求は、次いで、分析され、優先度ベースで、これらは適切な処理ユニットに伝達される。
【０２４７】
例示的な実施形態において、個々の光線が表現され得る。たとえば、単位球と交差するノードは、高精度点を持つ特性または球上の点のリストを含み得る。これらは、必要な分解能が何であろうと、恐らくオンザフライで、下位レベルのノードが作成されたときに光線交差を含む子を決定するために使用され得る。
【０２４８】
SAOの八分円から始めて、ノードのステータス(それが単位球と交差する)は、原点からノードの近いコーナーおよび遠いコーナーまでの距離(d)を算出することによって決定され得る。この領域の8個の八分円内に近い/遠いコーナーの8個の異なる対がある。値d2=dx2+dy2+dz2は、球が単位半径を有するので使用され得る。一公式において、近いコーナーに対する値が<1であり、遠いコーナーについては≧1である場合、ノードは単位球と交差する。これが球と交差しない場合、それはEノードである。別の方法では、ノードの中心についてd2値を計算し、次いで、それを最小および最大の半径2値と比較する。PUSHオペレーションに対する距離増分は2の冪乗なので、dx2、dy2、およびdz2値は、シフトおよび加算オペレーション(図25Aを用いて以下で説明されている)で効率的に計算できる。
【０２４９】
好ましい実施形態において、より良好なノード分布に対してPノードを選択するためにより複雑な公式が使用される(たとえば、単位球上でより等しい表面積)。ノードの密度も、重なり合いを減らすか、または防ぐために下げられ得る。たとえば、これらは、あるレベルの立体角で1つのノードしかないように構築されることも可能である。いくつかの方法では、それに加えて、ちょうど4つの子ノードが使用されてよく、これにより4で割って照明の分配を簡素化できる。ノードの配置構成に応じて、照明サンプルを含む非Eノードと恐らく他の特性との間にギャップが許され得る。SAOは、事前生成され、テンプレートとして記憶され得る。当業者であれば、多数の他の方法が採用され得ることを理解するであろう。(図22は、光線を有するSAOの2Dの例を示している。)
【０２５０】
集合オペレーション処理モジュール1903において、UNION、INTERSECTION、DIFFERENCE(またはSUBTRACTION)、およびNEGATIONのブール集合オペレーションを使用して八分木および四分木が組み合わされる。特性情報の取り扱いは、呼び出し関数によってそのようなオペレーションにおいて指定される。
【０２５１】
幾何学処理モジュール1905では、幾何学的変換は、八分木および四分木上で実行される(たとえば、回転、平行移動、スケーリング、スキューイング)。
【０２５２】
八分木および四分木は、生成処理モジュール1907における他の形式の幾何学的表現から生成される。これは、元の3D表現におけるノード(E、P、まえたはF)のステータスを決定するためのメカニズムを実装する。これは、八分木を生成するために一度に、または必要に応じて徐々に増やして実行され得る。
【０２５３】
画像生成処理モジュール1909は、八分木の画像をピクセルの従来の配列または四分木のいずれかとして計算する。図36Aは、2Dにおける画像生成の幾何学を示している。表示座標系は、原点3605で交わるX軸3601およびZ軸3603である。Y軸は図示されていない。外部ディスプレイ画面3607は、X軸上にある(3DではX軸とY軸とによって形成される平面)。観察者3609は、視点3611とともにZ軸上に配置されている。Xにおける外部ディスプレイ画面3607のサイズは、ピクセル単位で量って長さ3613であるが、任意のサイズのものであってよい。
【０２５４】
図36Bは、サイズ3615で、内部的に使用される、ディスプレイ画面3617を定義するために外部ディスプレイ画面3613のXにおけるサイズが次に大きい2の冪乗の大きさにされている幾何学的形状の内部ビューを示す。たとえば、外部ディスプレイ画面3607が1000ピクセルの幅3613を有している場合、ディスプレイ画面3617は、1024のサイズ3615を有する。当業者であれば、代替的方法を利用してこの幾何学的形状を表すことも可能である。
【０２５５】
図36Cは、視点3611からディスプレイ画面3617上への八分木ノード中心3618の直交射影を示している。ノード中心3618は、x値3621およびz値3619を有し、これは、x'3625のX軸上の値でディスプレイ画面3617上の点3627に射影される。射影3623は直交であるので、x'3625の値はx3621に等しい。
【０２５６】
図37は、2Dにおける八分木ノード中心の幾何学、および、たとえば、その親ノードのノード中心、ノード中心3707からノード中心x値3709を計算するために幾何学的変換がどのように実行されるかを示している。これは、軸3721がX軸であり、軸3723がY軸であるX-Y平面内の一般回転について示されている。このメカニズムは、ノード中心xおよびy座標がディスプレイ画面上に射影され、x値が画面の方向で観察者からの深度の尺度として使用され得る画像生成に対する一般3D回転に使用される。表示に加えて、これは3Dにおいて一般幾何学的変換に使用される。中心がノード中心点3707にある親ノード3701は、典型的には、子のうちの1つへのPUSHオペレーションの結果として、その4個の子(3Dでは8個)に細分される。ノード3701を含む八分木の座標系はI-J-K座標系であり、これをX-Y-Z座標系から区別する。K軸は図示されていない。I方向はI軸3703であり、J方向はJ軸3705である。ノード中心3707からその子のノード中心への移動は、八分木の座標系における軸の方向の2つのベクトル(3Dでは3つ)による移動の組合せである。この場合、ベクトルは、I方向のiベクトル3711およびJ方向のjベクトル3713である。3Dでは、第3のベクトルkは、K方向で使用されることになるであろうが、ここでは図示されていない。4個の子(3Dでは8個)のうちの1つへの移動は、ベクトルの各々を加算または減算するステップを伴う。3Dでは、加算または減算の選択は、3ビットの子の数の3個のビットによって決定される。たとえば、1ビットは、関連付けられているi、j、またはkベクトルに対する加算を示し、0ビットは減算を示すことが可能である。図示されているように、移動は、iとjの両方に対して正の方向であり、ノード中心が3709にある子ノードに移動する。
【０２５７】
図示されている幾何学的オペレーションは、X軸3721およびY軸3723を有する回転されたX-Y座標系への八分木I-J座標系内のノード中心の回転である。これを達成するために、XおよびY座標系(および3DではZ)における親ノード中心から子ノード中心までの距離は、ベクトルiおよびj(および3Dではk)について事前計算される。図示されている場合については、iベクトル3711に対するX方向の移動は、距離xi3725である。jベクトルについては、この距離はxj距離3727である。この場合、xiは正の距離であり、xjは負の方向にある。子ノード中心3709のx値を計算するために、これらの値またはxiおよびxjは、親ノード中心3707のx値に加えられる。同様に、他の子ノードの中心までのx移動は、xiおよびxj(および3Dではxk)の加算および減算の様々な組合せになるであろう。親ノード中心からY(および3DではZ)方向への距離について類似の値が計算され、これは一般3D回転を与える。平行移動およびスケーリングの幾何学的オペレーションなどのオペレーションは、当業者によって同様の方法で実装され得る。
【０２５８】
重要なのは、親ノード中心3707から子ノード中心3709へXにおいて移動するために使用されるiベクトル3711の長さが、ノード中心3729などの細分の次のレベルで子に移動するために使用されるI方向のベクトルのちょうど2倍であることである。これは細分のすべてのレベルについて真であり、jベクトル3713(および3Dではkベクトル)ならびにYおよびZについて真である。差の値xi3725、xj2727および他の値は、こうして、特定の幾何学的オペレーションに対する八分木の領域について1回計算され、次いで各追加の細分(たとえば、PUSH)について2で除算され得る。次いで、POPで、中心は、親ノードに戻るときに、差に2を乗算し、加算または減算を逆にすることによって復元され得る。したがって、これらの値は、たとえば、シフトレジスタに入れられ、必要に応じて右または左にシフトされ得る。これらのオペレーションは、シフトされた値を事前計算するなどの、他の方法でも達成され、8個の子に対して8個の異なる総和を事前計算し、次元に関して単一の加算器を使用し、スタックを使用してPOPの後に値を復元することができる。
【０２５９】
これは、図38に例示されており、レジスタは八分木ノード細分の結果としてノード中心のx値を計算するために使用されている。類似の実装が、yおよびzについても使用される。ノードの中心の開始x位置は、xレジスタ3801内にロードされる。これは、八分木の領域または開始ノードであり得る。xi値は、シフトレジスタxi3803内にロードされる。同様に、xjがシフトレジスタxj3805にロードされ、3Dではxkがシフトレジスタxk3807にロードされる。PUSHなどで子ノードに移動した後、xレジスタ3801内の値は、3つのシフトレジスタ内の値を加算器3809で加算または減算することによって修正される。3つのレジスタに対する加算または減算の組合せは、適宜、子の数の3つのビットに対応する。新しい値は、xレジスタ3801にロードされて戻され、変換された出力x値3811として利用可能である。POPオペレーションなどにより親値に戻るために、加算および減算オペレーションが元に戻され得る。もちろん、精度の喪失を防ぐために、十分な空間が各シフトレジスタの右側に割り振られなければならない。細分オペレーションで使用される子ノードシーケンスは、もちろん保存されなければならない。代替として、x値がスタックに保存されるか、または別のメカニズムが使用され得る。
【０２６０】
これを透視射影に拡張することが図39に示されている。これで、ノード中心3618はディスプレイ画面3617への射影ベクトル3901に沿ってX値x'3903を有するディスプレイ画面上の点に射影される。x'の値は、一般的には、x値3621に等しくならない。これは、視点3611からZ方向のディスプレイ画面までの距離、距離d3907および視点からZ方向のノード中心3618までの距離、距離z3905の関数となる。x'の値は、次のようにして類似の三角形を使用して計算され得る。
x'/d=x/z or x'=xd/z [式9]
【０２６１】
これは、汎用除算オペレーションを必要とし、これは整数のシフトおよび加算などのより単純な数学的オペレーションに比べてハードウェアおよびクロックサイクルをかなり必要とする。したがって、透視射影オペレーションを単純な算術演算で実装され得る形式に再キャストすることが望ましい。
【０２６２】
図40Aに示されているように、本発明では、「スパン」を使用して斜視射影を実行する。ディスプレイ画面3617上で、窓4001が定義される。これは、窓4003の底部のX値から窓4005の頂部のX値に拡張する。上で述べたように、ディスプレイ画面3617のピクセル単位のサイズは、2の冪乗である。窓4001は、画面全体として始まり、したがって2の冪乗として始まる。次いで、必要に応じて1/2サイズの部分窓に細分されて、ノード射影を囲む。したがって、すべての窓は、2の冪乗であるサイズを有する。窓4001は2Dで示されているが、3Dではディスプレイ画面3617の2D窓であり、各次元XおよびYにおける窓サイズは2の冪乗である。表示のため、窓サイズはXとYとで同じであり得る。他の使用では、これらは独立して維持されることも可能である。
【０２６３】
光線4021は、視点3611から窓4005の頂部までである。3Dでは、これは、X-Y平面内の窓の頂部エッジを形成するY方向に延在する平面である。光線4023は、視点から窓4003の底部までである。ノード中心3618と交差し、スパン4011と光線4023との交差点の底部とスパン4013と光線4021との交差点頂部との間にあるX方向の線分はスパン4009である。
【０２６４】
スパンが指定された量だけz方向に平行移動された場合、スパン4009は、ノード4007のノード中心3618のz位置ではなく、頂部射影光線4021および底部射影光線4023の勾配にのみ依存する量だけ増加または減少する。言い替えれば、スパンのサイズは、それがZのどこにあろうとzにおいて同じステップに対し同じ量だけ変化する。したがって、ステップが親ノードから行われると、スパンの変化はノードが配置されている場所にかかわらず同じである。次いで子ノードが細分される場合、スパンの変化は親から子への変化の半分となる。
【０２６５】
図40Bは、視点3611から窓4001の中心までの窓中心光線4025を有する概念を拡張し、窓中心4019は窓4001を2つの等しい部分に分割する。同様に、スパンを2つの等しい部分に分割する点は、スパン4022の中心である。これは、ノード中心オフセット4030によってスパン4022の中心からオフセットされているノード3618の中心のX値を決定するために参照点として使用される。したがって、スパン4022の点中心およびノード中心オフセット4030の配置を知ることで、ノード中心のXにおける配置がもたらされる。
【０２６６】
z方向に平行移動されたときのスパンのXにおけるサイズについて上で述べたように、スパン4022の中心は、Zにおける位置に関係なく、Zにおけるステップによって同様に決定され得る。図37に示されているように親ノードの中心から子の中心に移動するときにX、Y、およびZにおける変化と組み合わせると、スパンのXにおけるサイズの変化は、各細分について計算できる。同様に、スパン4022の中心は、Zにおける位置に関係なく、差を加えることによって八分木細分について再計算され得る。スパン4022の中心および細分の後のXにおける中心移動を知ることで、加算または減算オペレーションだけを用いて、中心光線4025に関して、子の中心の新しい位置が得られる。同様にして、ノード4015の境界ボックスとスパンとの交差も、ノード中心3618からXにおいて固定された距離であるため加算により計算することができる。
【０２６７】
そのため、上に示されているように、親中心点から子中心点に移動するように加算または減算されたオフセットは、各細分の後に2で除算される。したがって、スパン4022の中心の位置、ノード3618の中心、および境界ボックスの頂部および底部X位置は、シフトおよび加算オペレーションによりPUSHおよびPOPについて計算され得る。以下で計算にいつものように使用される2つの尺度は、スパンのサイズの1/4すなわちQSPAN4029および窓の1/4すなわちQWIN4027である。
【０２６８】
透視射影プロセスは、PUSHおよびPOPオペレーションで八分木を横断し、スパン4022の中心に関して、スパン上の現在のノードの中心の位置を同時に決定することによって動作する。スパン上の境界ボックスの境界とともに、窓は細分され、中心光線は必要に応じて上または下に移動されてノードを窓の中に保つ。スパンを細分するプロセスは、図40Cに例示されている。原点光線4025は、スパン4022の中心に広がり4009を有するスパンと交差する。スパンは、ノード中心3618を通過し、スパンの頂部で射影光線4021の頂部と交差し、底部で射影光線4023の底部と交差する。子にPUSHした後、スパンが細分される必要がある場合、新しい原点光線4025およびスパン4022の中心が必要になることがある。新しい原点光線4025に対して3つの選択肢がある。第1は、同じままであり得ることである。第2は、元のスパンの上半分の真ん中まで上がることが可能であることである。または第3は、元のスパンの下半分の中心まで下がることが可能であることである。
【０２６９】
新しいスパンおよび新しい中心を決定するために、ゾーンが定義される。PUSHの後にノード中心3618が置かれるゾーンは、原点光線の移動を決定する。図示されているように、ZONE1 4035は、現在のスパン中心に中心を置く。次いで、2つの上ゾーンと2つの下ゾーンがある。上方向のZONE2 4033は、正のX方向の次のステップである。上方向のZONE3 4031は、それの上にある。類似のゾーン、ZONE2 4037およびZONE3 4039は、負のX方向で定義される。
【０２７０】
新しいノード中心の位置は、新しく計算されたXノードオフセットから知られ、これは距離NODE_A4030である。ゾーンを決定するために2つの比較が実行される。新しいノード値NODE_Aが正である場合、移動は、もしあれば、正のX方向であり、QSPANの値はそれから減算される。NODE Aが負である場合、移動は、もしあれば、負のX方向であり、QSPANの値はそれから減算される。この結果はNODE_Bと呼ばれる。もちろん、3Dでは値の2つの集合があり、1つはX方向であり、もう1つはY方向である。
【０２７１】
ゾーンを決定するために、NODE_Bの符号のみが必要である。実際に加算または減算を実行する必要はない。大きさの比較で十分である。この実施形態では、これは、いくつかの場合においてNODE_Bが次のNODE値になるので計算される。
【０２７２】
第2の比較は、NODE_Aとスパンの1/8(QSPAN/2)との間の比較である。これは、NODE_Aが正である場合にQSPAN/2と比較され、負である場合に-QSPAN/2と比較される。結果は、次のとおりである。
NODE_A      NODE_B     NODE_A:QSPAN/2         結果として得られるゾーン
≧0         ≧0               (任意)                 ZONE=3
≧0         <0          NODE_A≧QSPAN_N/2      ZONE=2
≧0         <0          NODE_A<QSPAN_N/2       ZONE=1
<0          <0                (任意)                 ZONE=3
<0          ≧0         NODE _A≧-QSPAN_N/2     ZONE=1
<0          >0          NODE A<-QSPAN_N/2      ZONE=2
【０２７３】
スパンを超えるノード中心は結果としてゾーン3の状況をもたらす。スパン細分の結果は、図40Dに例示されている。原点は、NODE_AからQSPAN_Nを減算することによって新しい上原点4051へ上げられるか(4057)、またはQSPAN_NをNODE_Aに加算することによって新しい下原点4055へ下げられ得る。これと無関係に、スパンは、1/2サイズのスパンに分割され、その結果3つの新しいスパンのうちの1つが得られるものとしてよく、除算4061後の上スパン、新しいシフトなし中心4053への除算4063後にシフトなしスパン、または除算4065の後の下スパンである。次のアクションは、ゾーンに基づき実行される。
CASE         SHIFT       DIVIDE
ZONE = 1      NO          YES
ZONE = 2     YES          YES
ZONE = 3     YES          NO
【０２７４】
したがって、ゾーン=3の状況では、上側および下側1/2スパンを分割せずにセンタリングオペレーションが実行される。ゾーン=2については、分割が実行され、その結果得られるスパンおよび窓は再センタリングされる。ゾーン=0については、スパン(または窓)が分割されるが、センタリングは不要である。
【０２７５】
細分およびセンタリングプロセスを制御する少数の追加要因がある。第1に、ノード中心からのXにおける境界ボックスのエッジの距離の1/4が維持される。これはQNODEと呼ばれる。これは、ノード中心が常に境界ボックスの中心であるため(Xにおいて)単一の数である。別個の正および負のオフセットは不要である。これは、QSPAN_Nの何分の1かと比較される(通常は、1/2または1/4)。QNODEがこれより大きい場合、境界ボックスはスパンに関してすでに大きいと考えられる(その次元において)。スパン細分は実行されない(NO_DIVIDE状況)。ディスプレイ窓細分については、窓がディスプレイ画面を越えて移動する場合にセンタリングは実行されない(NO_SHIFT状況)。
【０２７６】
時には、追加の分割および/またはセンタリングオペレーションがPUSHに対して必要になる。これは繰り返しサイクルと呼ばれる。これは、ゾーン3状況(センタリングのみ)の後に、またはスパンが境界ボックスに関して大きい(QSPAN_N/8>QNODE)ときにトリガされる。別の比較は、窓が小さすぎる(ディスプレイ窓に対して1ピクセルより小さい)場合に繰り返しサイクルを禁止する。
【０２７７】
細分プロセスは、画像生成の場合に、窓がピクセルまたは四分木内であるレベルになるまで続けるものとしてよい。この時点で、八分木ノードにおける特性値は、実行されるべきアクション(たとえば、値をピクセルに書き込む)を決定するために使用される。その一方で、終端八分木ノードに最初に出合った場合、その特性値は、窓に値を書き込むために使用されることが可能である。これは、四分木内の適切なレベルで窓またはノードを構成するピクセルに書き込むステップを伴い得る。代替的に、終端ノードが次の下レベルに新しい子を作成するために使用され、適切な特性がその親から継承される、「完全ノードプッシュ」すなわちFNPが開始され得る。このようにして、細分プロセスは、窓の細分の何らかのレベルまで続き、恐らく、新しい八分木ノードがFNPで生成されるときに特性が修正される。斜視射影に幾何学が伴うので、時には、八分木の細分は窓の細分を引き起こさないか、または窓は複数回分割される必要があり得る。そのオペレーション(たとえば、PUSH)に対して適切な細分がサスペンドされる。
【０２７８】
図41は、1つの次元(XまたはXとともにYが示されている)に対する実装の概略図である。レジスタに含まれる値は、各レジスタの内側の左に示されている。名前の後に、括弧で囲んだ1つまたは複数の項目が続くものとしてよい。括弧内の1つの項目は、I、J、またはKであってよく、これはその値の八分木座標系の次元を示す。値Jは、たとえば、親から子へJ方向でステップに対する値を保持することを指示する。もう1つは括弧で囲まれた「xy」を有し得る。これは、実際は2つのそのようなレジスタがあることを指示し、1つはX次元に対するものであり、もう1つはY次元に対するものである。次いで、括弧で囲まれている項目の後に丸括弧で囲まれた数が続く。これは、そのようなレジスタの個数を指示する。2は、X次元に対するものと、Y次元に対するものとを指示する。値1は、レジスタが3DシステムのXおよびY部分の両方によって共有され得ることを指示する。
【０２７９】
多くのレジスタが、右に分離された1つまたは2つのセクションを有する。これらのレジスタはシフトレジスタであり、空間は、レジスタ内の値が右にシフトされたときの最下位ビットを記憶するために使用される。これはそうであり、値はPUSHオペレーションを実行した後に精度を失わない。このセクションは、遭遇する可能性のあった八分木レベルの各々に対する1ビット位置を指示する「lev」(たとえば、PUSHする最大レベル)または遭遇し得る窓レベルの数に対する「wlev」(たとえば、ピクセルに到達する窓細分の数または八分木細分の最大数)を含み得る。いくつかのレジスタは、両方に対する余地を必要とする。wlev値は、その次元におけるディスプレイ画面のサイズによって決定される。1024ピクセル画面は、たとえば、精度を失うのを防ぐために10個の余分なビットを必要とする。
【０２８０】
斜視射影プロセスは、八分木(I、J、およびK)の領域をディスプレイ座標系(X、Y、およびZ)に変換することによって開始する。これは、ノード中心3618である。値は、X(および、第2のレジスタではY)に対するNODEレジスタ4103に記憶される。Z値は、図38に示されている実装を使用し、ここでは示されていない。八分木領域のノード中心、または開始ノードから八分木の座標系内の子へのベクトルは、i、j、およびkである。i、j、およびkにおけるステップからのX、Y、およびZにおける差は、図37に概要が示されている方法に従って、第1のステップについて計算され、DIFレジスタ4111、4113、および4115内に置かれる。分離して、これら3つのレジスタおよび加算器4123は、図38に示されているように、直交射影においてPUSHの後にNODEレジスタ4103を更新するために使用され得る。加算器4117、4119、および4121の追加の集合は、斜視射影を補正する。
【０２８１】
初期スパン値4009は、開始ノードについてノード中心において計算される。この値の1/4、qspan4029は、QSPAN(「1/4スパン」)レジスタ4125内に置かれる。i、j、およびkベクトルの初期ステップに対するスパンの長さの差は、開始ノードからその子までについて計算される。これらの差値の1/4は、QS_DIF(「1/4スパン差」)レジスタ4131、4133、および4135内に置かれる。図38と同様に、QS-DIFレジスタは、加算器4137とともに使用され、PUSH上でQSPANレジスタを更新することができる。QS_DIF値は、また、加算器4117、4119、および4121を使用して関連付けられているDIF値に加算または減算され、これにより、i、j、およびk方向の八分木PUSH移動によりスパンが中心光線4025と交差する位置の変化を考慮する。
【０２８２】
窓が細分され、新しい窓が元の窓の1/2のサイズであるときに、中心光線4025は同じままであってよく、上および下の1/2窓はサイズを半分に減らされる。または、中心光線は、上側半分の中心または下側半分の中心へ移動され得る。これは、セレクタ4140によって考慮される。原点中心光線が変化しない場合、既存の中心光線、NODE_Aが保持される。シフトされる場合、古い中心光線4025は、NODE_Bを形成する加算器4139により新しいQSPAN値、QSPAN_Nを加算することによって移動される。
【０２８３】
構成は、図41Bに続いており、ハードウェア構成の2つの4150である。スパン4022の中心からのノード中心オフセット4030、値NODEが、計算され、レジスタ4151内にロードされる。親ノード中心からZにおける子に移動する差の値が、計算され、シフトレジスタ4153、4155、および4157内にロードされる。これらは、Zに対するNODEの次の値、NODE_Nを計算するために加算器4159とともに使用される。
【０２８４】
QNODE値が、計算され、シフトレジスタQNODE4161内に置かれる。これは、PUSH毎に2で除算される固定値である(右へ1桁シフトされる)。これは、1ビットシフタ4163およびコンパレータ4171を使用してQSPAN_Nの1/2と比較され、分割が生じないかどうかを決定する(NO_DIVIDE信号)。これは、また、3ビットシフタ4165使用してQSPAN_Nの1/8と比較され、コンパレータ4173を使用して比較され、分割が繰り返されるべきかどうかを決定する(REPEAT信号)。シフタ4167は、2でQSPAN_Nを除算するために使用され、コンパレータ4175は、それをNODE_Aと比較するために使用される。図示されているように、NODE_Aが>0である場合、QSPAN_Nの正値が使用される。そうでなければ、その符号が反転される。出力は、Zone=2信号を設定する。
【０２８５】
表示状況については、この状況は、Z方向に移動しないのでかなり単純である。窓の中心の画面上の位置は、WINレジスタ4187において初期化される(1つはXおよびもう1つはY)。窓の値の1/4、QWINが、シフトレジスタ4191内にロードされる。これは、窓中心を維持するために加算器4189とともに使用される。画面の直径(XおよびYにおける)は、シフトレジスタ4181内にロードされる。これは、中心のシフトが画面のエッジを越えるのを防ぐために、コンパレータ4183によって窓の中心と比較される。これは、ノードの射影が画面から離れているときに生じる。MULT2の値は、サブピクセル精度をレジスタ4187内に維持するために使用される2の冪乗である。類似の値MULTは、これも2の冪乗であり、スパン幾何学レジスタ内に精度を保持するために使用される。レジスタ4181内の画面直径はピクセル単位であるので、WIN値は、比較のため適切にスケーリングするようにシフタ4185によって適切に除算される。コンパレータ4193は、現在の窓サイズを1ピクセルと比較するために使用され、これにより窓細分が1ピクセルより小さくなるか、または適切なサイズより小さくなるのを阻止する。QWINがスケーリングされるので、これはMULT2でスケーリングされなければならない。
【０２８６】
加算器の隣の数は、異なる状況で実行されるべきアクションを示す。これらは、次のとおりである。
加算器オペレーション1
PUSH:子数ビット(i、j、およびk)が1である場合に加算し、そうでない場合に減算する
POP:PUSHの反対
そうでない場合(PUSHまたはPOPでない、窓のみの細分):オペレーションなし
加算器オペレーション2
NODE_A>0である場合に減算し、そうでない場合に加算する
加算器オペレーション3
UP: +
DOWN: -
そうでない場合(UPまたはDOWNでない):オペレーションなし
加算器オペレーション4
中心光線4025は上半分にシフトし、加算する
中心光線4025は下半分にシフトし、減算する
加算器オペレーション5
PUSH:子数ビット(i、j、およびk)が1である場合に減算し、そうでない場合に加算する
POP:PUSHの反対
そうでない場合(PUSHまたはPOPでない):0を加算する(i、j、およびk)
【０２８７】
シフトレジスタは、次のようにシフトされるべきである。
レジスタ4111、4113、4115
PUSHの場合に1だけサイクルの終わりに右にシフトする(levビットへ)
POPの場合に1だけサイクルの始めに左にシフトする(levビットから)
レジスタ4125
窓分割の場合に1だけサイクルの終わりに右にシフトする(wlevビットへ)
窓マージの場合に1だけサイクルの始めに左にシフトする(wlevビットから)
レジスタ4131、4133、および4135(1サイクルで2つのビットをシフトし得る)
PUSHの場合に1だけサイクルの終わりに右にシフトする(wlevビットへ)
窓分割の場合に1だけサイクルの終わりに右にシフトする(wlevビットへ)
POPの場合に1だけサイクルの始めに左にシフトする(levビットから)
窓マージの場合に1だけサイクルの始めに左にシフトする(wlevから)
【０２８８】
要約すると、直交射影は、3つの次元の各々について3つのレジスタおよび加算器で実装され得る。斜視射影に対する幾何学的計算は、1つの次元について8個のレジスタと6個の加算器とを使用して実装され得る。使用時に、これは、3つの次元のうちの2つ(XおよびY)に対して斜視変換を実行する。XおよびYに対する合計のレジスタは、QSPANおよび3つのQS_DIFレジスタが複製される必要がないので実際には12個のレジスタである。3つのレジスタと1つの加算器が第3の次元(Z)に使用される。完全3D実装に対する合計は、したがって、15個のレジスタと12個の加算器となる。この方法を使用することで、八分木PUSHまたはPOPに対する幾何学的計算は、1クロックサイクル以内に実行され得る。
【０２８９】
異なる配置および配向で複数の八分木の画像を生成するために、これらは、表示のため単一の八分木に幾何学的に変換され得るか、またはzバッファの概念が四分木zまたはqzバッファに拡張されるものとしてよく、z値は、前から後への横断が強制され得ないときに隠れている部分を除去するために各四分木ノード内に含まれる。当業者であれば、この表示方法の変更形態を考案することができる。
【０２９０】
表示のために、この方法は、PUSHおよびPOPオペレーションの際に八分木ノードの中心とともに移動するスパンを使用する。ディスプレイ画面は、それがZ内で移動しないという点で固定スパンを有すると考えられ得る。これにより、窓サイズが固定されているピクセル配列または四分木を使用することがディスプレイに都合のよい方法となる。以下で説明されているような他の射影使用では、固定されたディスプレイは必要でないことがある。いくつかの場合において、SAOを含む複数の八分木は、同時に追跡され、現在のノードをスパン限界内に保持するために必要に応じて独立して細分され得る。そのような場合に、複数のスパンは、各八分木について1つなどの形で追跡される。いくつかの実装形態において、複数のスパンは、オペレーションの速度を改善するために複数の子または子孫など1つの1つの八分木について追跡され得る。
【０２９１】
四分木に対する画像処理オペレーションおよび八分木に対する同等のオペレーションは、フィルタリング処理モジュール1911において実行される。近傍要素探索は、POPまたはPUSHのシーケンスで実装され得るか、または複数の経路が横断で追跡され、バックトラッキングなしで近傍要素情報を連続的に利用可能にすることができる。
【０２９２】
表面抽出処理モジュール1913は、必要なときに使用するために八分木モデルから三角形などの表面要素の集合を抽出する。「マーチングキューブ」アルゴリズムを含む、多くの方法が、これを実行するために利用可能である。
【０２９３】
モルフォロジーオペレーション処理モジュール1915は、八分木および四分木に対してモルフォロジーオペレーション(たとえば、膨張および浸食)を実行する。
【０２９４】
接続処理モジュール1917は、条件の何らかの集合(たとえば、特性の共通集合)の下で空間的に触れる八分木および四分木ノードを識別するために使用される。これは、エッジ(八分木もしくは四分木)に沿った、または面(八分木)上の、点(四分木または四分木のコーナー)に触れることを含むように指定され得る。これは、典型的には、「種」ノードから始まる何らかの方式でノードをマーキングするステップと、次いですべての接続されている近傍要素へ横断し、それらをマーキングするステップとを伴う。他の場合には、すべてのノードが調べられ、接続されているすべての構成要素を互いに素な集合に分ける。
【０２９５】
質量特性処理モジュール1919は、データセットの質量特性(体積、質量、質量中心、表面積、慣性モーメントなど)を計算する。
【０２９６】
レジストレーション処理モジュール1921は、複数の画像内に見つかった2D位置から推定されるようなシーン内の3D点の配置を精緻化するために使用される。これは、図23Bとともに以下で説明される。ライトフィールドオペレーションモジュール1923は、図20に関して以下でさらに説明される。
【０２９７】
媒体を含むボクセルに入る光は、媒体と相互作用する。本発明において、離散的方向が使用され、輸送方程式[2]は、積分ではなく総和となり、式
【０２９８】
【数２０】
2019518268.tif 000022
【０２９９】
によって記述される。
【０３００】
図20は、SRE201の空間処理モジュール1113の一部である、SREのライトフィールドオペレーションモジュール1923を示すブロック図である。ライトフィールドオペレーションモジュール1923は、位置不変ライトフィールド生成モジュール2001、入射ライトフィールド生成モジュール2003、出射/入射ライトフィールド処理モジュール2005、および入射/出射ライトフィールド処理モジュール2007を含み得る。
【０３０１】
ライトフィールドオペレーションモジュール1923は、SAOの形態で光に対してオペレーションを実行し、光と、八分木として表されている、任意のソースからの媒体との相互作用を計算する。八分木ノードは、光を透過させるか、または反射するか、または散乱させるか、またはノードに記憶されているか、またはノードに関連付けられている特性による他の何らかの方法で修正するメディエルを含み得る。SAOは、その空間内のある点におけるボリュメトリック空間の何らかの領域から入射または出射する光を表す。シーン内で、そのシーンの外側から入る光は、位置不変SAOとして表される。単一の位置不変SAOは、関連付けられているワークスペース内の任意の位置について有効である。1つのシーンは、各々それ自体の位置不変SAOを含む複数のサブワークスペースを有し得るが、単一のワークスペースのみが説明される。全点ライトフィールドSAOを計算するために、これはシーン内からの光で補足される必要がある。ワークスペース内の指定された点に対して、入射ライトフィールドが生成され、次いで、事実上、位置不変SAOのコピーを上書きするために使用される。
【０３０２】
光と相互作用するメディエルにおける入射光は、放射光に加えられる応答ライトフィールドSAOを引き起こす。メディエルのBLIFは、入射SAOに基づくメディエルに対する応答SAOを生成するために使用される。
【０３０３】
位置不変ライトフィールド生成モジュール2001は、ワークスペースからたとえば外向きの画像から取得された入射光の位置不変SAOを生成する。定義により、位置不変SAOによって表される物体は、関連付けられているシーンワークスペース内の任意の場所から見たときに視差を示さない。したがって、単一の位置不変SAOは、ワークスペース内のすべての位置について適用可能である。これは、図28Aに関してさらに説明される。
【０３０４】
光は、視差を示すシーン内にも入り得る。これを表すために、表面ライトフィールドが使用され得る。一実施形態において、この光は、シーン境界上の、または他の何らかの適切な表面上の出射SAOからなる表面ライトフィールドによって表される。これらは、典型的には、外部光を表すために必要に応じて作成される。
【０３０５】
入射ライトフィールド生成モジュール2003は、シーン内の媒体に基づきシーン内の任意の点に対するライトフィールドSAOを計算する。本明細書で使用されているように、メディエルにおける「媒体」は、光を放射するか、または光と相互作用する空間内の何らかのものである。これは、事前に決定され得るか(たとえば、地形モデル、サーフェル、CADモデル)、または処理中に「発見」されるものとしてよい。それに加えて、これは、処理オペレーションが続くとともに精緻化され得る(新しい媒体、分解能が高くなる、品質が高まる、など)。
【０３０６】
説明されているように、位置不変SAOは、ワークスペース内の任意の点における入射光の表現である単一のSAOである。しかしながら、点ライトフィールドSAOについて、これは、フロンティア内の空間が完全にはあきでない場合に修正されなければならない。フロンティアの内側にあるシーン内の何らかのものについて、ワークスペースの内側からの視差がないという仮定はもはや有効でない。これに対応するため、入射SAOがワークスペース内の指定された点について生成され、次いで、位置不変SAOと組み合わされる。そのようなSAOは、ワークスペースの外側で生成され得るが、位置不変SAOはもはや有効でない。
【０３０７】
同心SAO(同じ中心点)についてSAO層の概念が導入される。SAOは、中心から離れるときに照明優先度を下げる層内に配置構成される。したがって、ワークスペース内の所与の点について、最高優先度のSAOが、フロンティア内の媒体および物体、入射SAO、について生成され、フロンティアを含まない。位置不変SAOは、入射SAOを超えて、より低い優先度となっている。2つはマージされ、配置に対する点ライトフィールドSAOである、複合SAOを形成する。入射SAOは、事実上、位置不変SAOを上書きする。新しいSAOが作成されるか、または位置不変SAOが変更されることは必要でない。これらは、優先する入射ノードと一緒にUNIONで合併され得る(特性を有するノードが両方に存在する場合に使用される)。
【０３０８】
位置不変SAOは、それ自体、層からなるものとしてよい。たとえば、より低い優先度の層は太陽をモデル化することができ、視差を示さない太陽により近い何か他のものがより高い優先度のSAOとして表現され得る。
【０３０９】
媒体は、1つまたは複数の八分木のメディエルノードとして表される。挙動は、特定の八分木(すべてのノードに共通)によって、およびノード内に含まれる特定の特性によって表される媒体の性質によって決定される。入射光が媒体に当たったときに、BLIF相互作用の結果として生じる応答光がモデル化される。八分木ノードは、方向を変えるほかに、光の強度を減衰させる、その色を変化させる、などを行うことが可能である(SAO特性が適切に修正される場合)。
【０３１０】
入射ライトフィールド生成モジュール2003は、所与の点に対して入射SAOを生成する手順を実装する。ワークスペース内にあるそのような点について、これは、事実上、媒体が所与の点からフロンティアのビューをブロックするとわかったときに位置不変SAOの共通コピーを上書きする。
【０３１１】
入射ライトフィールド生成モジュール2003において使用されるアルゴリズムは、指定された点を中心とする注目する立体角と領域内のメディエルとの間の交差オペレーションの形式にキャストされる。これは、SAOを生成するために必要な領域の外側にある媒体にアクセスするための必要性を最小限度に抑える。八分木の階層的性質を使用することで、注目するより高い分解能の領域は、潜在的交差がより下位レベルの分解能で指示されるときにのみアクセスされる。
【０３１２】
一方向からの光は、その方向で媒体の最近空間領域からの光のみでなければならない。最近領域の背後の媒体が処理される場合に、不要な計算およびデータベースアクセスが生じる。八分木の指向性横断(空間的ソートに基づく)が使用される。前から後への、この場合には指定された点から外向きの、八分木横断シーケンスで探索することによって、不透明媒体を有する第1のノードが特定の八分木について遭遇されたときに特定の方向の横断が停止する。
【０３１３】
出射/入射ライトフィールド処理モジュール2005は、空間のある点または表現された領域について入射ライトフィールドSAOを生成するように動作し、一般に、シーン内の複数の出射SAOの寄与分は、累算されなければならない。オペレーションは、2Dで図31Aおよび図31Bに示されている。
【０３１４】
入射/出射ライトフィード処理モジュール2007の機能は、内部的に発生させた光と表面によって反射または屈折された入射光との和である表面上の配置からの出射光を計算することである。
【０３１５】
SAOは、入射光、放射光、および応答光を表すために使用され得る。別の使用では、SAOは、メディエルに対するBLIF(または他の関係する特性もしくは特性の集合)を表すために使用される。BLIF係数は、BLIF SAOノード特性として記憶される。これらは、典型的には、4次元の重みの集合として定義される(2つの入射角と2つの出射角)。SAOは2つの角度を表す。したがって、この2つの残りの角度は、各ノードにおける特性の集合として表されるものとしてよく、その結果単一のSAOが得られる。または、これらは複数のSAOで表され得る。実際の重みは、処理オペレーション時にオンザフライで記憶または生成され得る。当業者であれば理解するように、他の方法も使用できる。
【０３１６】
球BLIF SAOは、幾何学処理モジュール1905を使用して注目している各出射方向について適切に回転される(図38で説明されている)。係数は、たとえば、入射光SAOにおける対応する値で乗算され、総和される。媒体内に発生した光は、出射光にも加えられる。これは、図32に関してさらに説明される。
【０３１７】
図22は、光線を有するSAOの2Dの例を示している。中心が点2209にあるノードは、立体角(2D平面内)の角度限界である光線2211および2212によって境界が定められる。SAOにおける次の下位レベル(より高い分解能)で、中心が2210にある子ノードは、光線2213から2214への立体角を表している。
【０３１８】
SAOノードによって表される単位球の表面積は、オペレーションのニーズおよび計算限界に応じて、様々な方で表現され得る。たとえば、特性は、SAOのノードに付けられ、何らかの領域尺度(たとえば、ある点を通る光線の周りの円錐の角度)またはオペレーションで使用するための方向ベクトルを示すことができる。当業者は、これが様々な方法で実行され得ることを理解するであろう。
【０３１９】
上で述べたように、レジストレーションプロセッサ1921は、複数の画像内に見つかった2D位置から推定されるようなシーン内の3D点の配置を精緻化するために使用される。ここで、シーン内の3D点は、「ランドマーク」と呼ばれ、画像上のそれらの2D射影は、「特徴」と称される。それに加えて、カメラの配置および視線方向は、撮像したときに、精緻化されるべきである。このプロセスの開始時に、複数の3Dランドマーク点が識別されており、シーン内の推定された3D点におおよそ配置され、固有の識別子でラベル付けされている。関連付けられている2D特徴は、それらが出現する画像内に配置され、ラベル付けされる(最小値は2)。カメラパラメータのおおよその推定値(位置および視線方向)も知られている。
【０３２０】
これらの推定値は、多くの方法で計算され得る。基本的に、3Dにおいて同じランドマークの射影に対応する画像特徴が検出される必要がある。このプロセスは、特徴を見つけるステップおよびそれらが対応するかどうかの決定を伴う。当業者であれば、そのような対応関係の対およびカメラ姿勢についてのおおよそ知っている情報から、これらの特徴から発せられる光線を三角測量し、ランドマークの3D位置の大まかな推定を得ることができる。
【０３２１】
検出された特徴は、弁別され、適切に自己位置推定されなければならず、これらは、対応するランドマークが他の画像中に出現したときに再検出できなければならない。図23Aにおいて2349のような2D画像内のすべての点に対する表面法線ベクトルが計算されていることが仮定されている。
【０３２２】
すべての点について、我々は、各法線ベクトルの局所散乱行列を3×3行列として計算する。
Σi=1..9 (Ni NiT)   [式10A]
ここで、各Niは、図23Aの2349において2350〜2358として示されているi=1..9の点における法線ベクトル(Nx, Ny, Nz)である。我々はこれらを特徴点、この行列の行列式が最大である点として定義する。そのような点は最大曲率の点に対応する。行列式は、表面回転に対して不変であり、同じ点は、したがって、表面が回転された場合でも検出され得る。記述子は、法線がストークスベクトルから推定されたグリッドの分解能に比例して5×5、または7×7などのより大きい近傍上で推定され得る。
【０３２３】
特徴と特徴との間のマッチを見つけるために、我々は、点の3D近傍内の表面法線の局所的分布を表す記述子を計算する。図23Aにおける位置2350で検出された点を考察する。例示されている表面2349は、知られていないが、法線は、ストークスベクトル値から取得され得る。すぐ近くの近傍は、点2350の8個の近傍要素(2351〜2358)からなり、それらの各々は図に示されているように法線を有すると仮定する。記述子は、球状ヒストグラム2359であり、ビンは均一な間隔で並ぶ緯度および経度の線によって隔てられている。類似の配向を有する法線は、同じビンにグループ化され、図では、2354、2355、および2356における法線はビン2361に、2357における法線はビン2363に、2350における法線はビン2362に、2358における法線はビン2364に、2351〜2352における法線はビン2365にグループ化される。ヒストグラムビンの値は、ビン2361に対して3、ビン2363、2362、および2364に対して1、ビン2365に対して2となる。次いで、特徴同士の間の類似度は、球状ヒストグラムの間の類似度として表現される。これらの球状ヒストグラムが色またはそれが欠如していることから独立しており、したがって、射影される表面の幾何学的記述にのみ依存することに留意されたい。法線の2つの球状ヒストグラムの間の絶対または平方差を直接取ることはできないが、それは、2つのビューが配向に関して異なり、一方のヒストグラムが同じ点のヒストグラムの回転されたバージョンだからである。その代わりに、我々は、球面調和関数を使用して不変量を計算する。球状ヒストグラムが関数f(緯度,経度)であり、その球面調和関数係数がF(l,m)であり、l=0..L-1は緯度であり、m=-(L-1)..(L-1)、経度頻度、である場合、ベクトル[F(l,-L+1)…..F(l,0)…..G(l,L-1)]の大きさは、3D回転に対して不変であり、そのような不変量をすべてのl=0..L-1について計算することができる。我々は、それらの間の平方差の和を計算し、これは2つの記述子の間の非類似性の尺度である。我々は、第2のビューにおける対応する点として、第1のビューにおける考えられている点に対する最小の非類似度を有するものを選択することができる。当業者であれば、上で定義されている(非)類似性の尺度が与えられた場合にアルゴリズム(ハンガリアンアルゴリズムのような)の理論からマッチングアルゴリズムを適用することができる。対応する特徴のすべての対から上で述べたように、我々は、ランドマーク位置のおおよその推定値を決定することができる。
【０３２４】
一般に、n個のランドマークおよびm個の画像がある。図23Bにおいて、3Dレジストレーション状況の2D表現、ランドマーク点2323は領域2310内に含まれる。画像2320および2321は、関連付けられているカメラ位置の、それぞれ、領域2311および2312のエッジ(3Dでは面)上にある。2つのカメラ視点は、2324および2325である。直線2326に沿った視点2324へのランドマーク2323の初期配置の射影の、画像2320内の配置は点2329である。しかしながら、画像2320内でランドマークが検出された配置は、2328である。画像2321において、直線2327上の射影された特徴位置は2331であるが、検出された配置は2330である。
【０３２５】
検出された特徴点2328および2330は、画像内で固定された配置である。ランドマーク2323、カメラ配置2324および2325、およびカメラ領域2311および2312の配向は、初期推定である。レジストレーションのゴールは、何らかの定義された費用関数を最小化するように調整することである。費用を測定する方法は多数ある。L2ノルム費用が、ここでは使用される。これは、調整された特徴配置と検出された配置との間の画像内の2D距離の平方の和である。これは、もちろん、ランドマークが特徴として出現する画像のみに対するものである。図23Bでは、これら2つの距離は、2332および2333である。
【０３２６】
図24は、費用関数のプロットである。Y軸2441は費用であり、X軸2440は調整可能なパラメータを表す(ランドマークの配置、カメラの配置、カメラ視線方向など)。X軸上のパラメータのすべての集合は、曲線2442上に費用を有する。ゴールは、点2443などの開始点を与えられた場合に、費用関数、点2444を最小化するパラメータの集合を見つけることである。これは、典型的には、反復方法を使用して一組の非線形方程式を解くステップを伴う。曲線は、単一の最小費用、大域的最小値を示しているが、一般に、複数の極小値があり得る。この手順のゴールは、単一の最小値を見つけることである。他の最小値を探索し、最終的に大域的最小値を特定する方法は多数知られている。
【０３２７】
画像交差点を変数の関数として決定する式は、典型的には、パラメータベクトルに適用される行列内に集められる。平方された距離の和を最小化するために、費用の導関数(平方された2D画像距離の和)は、典型的には、ゼロを示す最小値に設定される。次いで、行列方法が使用され、その後最小値に到達する途中で使用するパラメータの次の集合を推定するために使用される解を決定する。このプロセスは、パラメータ(ランドマーク、特徴、およびカメラ)の数が大きくなるにつれ計算量が増え、比較的長い時間期間を要する。ここで使用される方法では、導関数を直接的に計算することはしない。
【０３２８】
レジストレーション処理モジュール1921は、ランドマーク点を画像上に繰り返し射影し、次いで、次の繰り返しで費用関数を最小化するためにパラメータを調整することによって動作する。これは、上で説明されているような画像生成モジュール1909の斜視射影画像生成方法を使用して、四分木として表されている画像内の、その現在位置における、ランドマーク点の特徴配置を生成する。そのような画像は、射影された配置を精緻化する八分木および四分木の一連のPUSHオペレーションで生成される。
【０３２９】
最小化されるべき費用は、すべての画像についてΣd2であり、ここで、dは画像内の検出された特徴点から関連付けられている射影された特徴点までの各画像内の距離である。これは、ピクセル単位で何らかの分解能に合わせて測定される。各々は、画像内の距離のx2およびy2成分の和である(たとえば、d2=dx2+dy2)。
【０３３０】
計算は、X次元について図25Aにおいて示されている。図示されていないが、類似の一組の計算がy値について実行され、平方値が総和される。X次元に対するプロセスは、四分木への初期推定位置におけるランドマークの射影を実行することによって開始する。画像内の各特徴について、検出された配置から計算された配置までのXにおける距離は、レジスタ2507内に値dxとして保存される。当業者であれば、ここで使用されているようなレジスタはデータ記憶装置の任意の形態をとり得ることを理解するであろう。この値は、任意の精度であってよく、必ずしも2の冪乗でない。初期値も平方され、レジスタ2508内に保存される。
【０３３１】
シフトレジスタ2509内のエッジの値は、四分木ノードの中心を子ノードの中心に移動する、XおよびYにおける、初期四分木ノードのエッジ距離である。エッジ距離は、中心を4つの子のうちの1つに移動するために親のxおよびy配置の値から加算または減算される。図25Aの計算の目的は、四分木のPUSHの後のdxおよびdx2に対する新しい値を計算することである。一例として、PUSHが正のxおよびy方向で子に行われる場合、これは次のように新しい値d'およびd'2を計算する。
dx'=dx+edge  [式11]
dx'2=(dx+edge)2=dx2+2*dx*edge+edge2  [式12]
【０３３２】
四分木は、2による通常の細分によって構築されるので、任意のレベル(XおよびYにおける)のノードのエッジは、2の冪乗にされ得る。したがって、エッジに対する値は、値1をシフトレジスタ2509内の適切なビット配置に置き、PUSHで1ビット位置だけ右にシフトすることによって維持され得る。同様に、シフトレジスタ2510内のedge2値は、その後PUSHで右へ2桁シフトされる適切なビット配置にある1である。両方とも、POPで左にシフトされる(レジスタ2509は1桁、レジスタ2510は2桁)。図示されているように、エッジは加算器2512によってdxに加算され、PUSHで新しい値を生成する。
【０３３３】
新しいdx2値を計算するために、2*dx*edgeが必要である。図示されているように、シフタ2511は、これを計算するために使用される。シフタは、エッジが2の冪乗であるのでこの乗算に使用され得る。2倍を考慮するために付加的な左シフトが使用される。図示されているように、これは加算器2513によって古いdx2値とedge2値に加算され、PUSHで新しいdx2値を計算する。
【０３３４】
シフトレジスタ2509および2510内の値は、y値に対しては同じであることに留意されたい。これらは、複製される必要はない。dx2およびdy2値を総和するための加算器は図示されていない。特定の実装に応じて、PUSHでの新しいd2値の計算は、単一クロックサイクルで達成され得る。当業者は、この計算が様々な方法で達成され得ることを理解する。
【０３３５】
プロセス全体は、費用を最小値に向けて下げるパラメータの新しい集合を繰り返し計算し、費用変化が最小値より低くなったときに停止する。パラメータの各新しい集合を決定するために使用され得る方法は多数ある。例示的な実施形態は、よく知られている手順、パウエル法を使用する。基本的な考え方は、パラメータの1つを選択し、それだけを変更して最小費用を見つけることである。次いで、別のパラメータが選択され、費用を別のより低い最小値に移動するように変えられる。これは、各パラメータについて行われる。最後に、たとえば、最大の変化があるパラメータは、パラメータの次の集合を決定するためにパラメータ偏差ベクトルが生成され、使用される前に固定される。
【０３３６】
特定のランドマーク点(シーンの座標系内の)のx、y、およびzパラメータを変化させたときに、Σd2への寄与は、他のランドマークと無関係に、そのランドマークに対する総和されたd2値だけである。したがって、座標は、個別に修正され、分離して最小化され得る。計算が多数のプロセッサに分散される場合、多数のそのような変化の繰り返しは、素早く、恐らく単一クロックサイクルで計算され得る。
【０３３７】
この手順は、図25Bのレジストレーションプロセス2515である。初期推定ランドマークは、オペレーション2517において開始特徴配置を決定するために四分木上に射影される。検出された特徴配置からの差は、初期費用値について、平方され総和される。次いで、ランドマークは、ランドマークを移動する各パラメータにおいて順次最小化される平方された差の和と無関係に変えられる。これは、オペレーション2519で実行される。
【０３３８】
次いで、パラメータの変更は、カメラパラメータ上で実行される。この場合、関連付けられている画像内で表されているすべてのランドマーク点により実行される。これは、オペレーション2521で実行される。パラメータ変更の結果は、オペレーション2523で計算される。このプロセスは、オペレーション2527において最小化ゴールが達成されるまで、または他の何らかの閾値に到達するまで(たとえば、最大反復回数)続けられる。次いで、終了しない場合、オペレーション2523の結果は、更新オペレーション2525において適用すべき次のパラメータベクトルを計算するために使用される。終了するときには、オペレーション2529は、精緻化されたランドマークおよびカメラパラメータを出力する。
【０３３９】
八分木によって表されるランドマーク内の座標値(x、y、またはz)を移動する方法は、各PUSHによりその次元のみにステップインすることである。これは、ノードの中心をパラメータ配置として使用することから、好ましい方法において、最小コーナーを使用することへの変更を伴う。
【０３４０】
これは、2Dで図26に示されている。座標軸2601はX軸であり、軸2602はY軸である。ノード2603は、点2604において中心を有する。それを2つのパラメータ(xおよびy、または3Dではx、y、およびz)として使用する代わりに、点2653が使用される。次いで、次の繰り返しでパラメータを移動するために、2606において中心を有する子ノードに細分が実行されるが、パラメータに対する新しい配置は2607である。次の繰り返しで、移動が再び正である場合、次の子は、中心が2608にあるものであるが、パラメータの新しい集合は点2609に変わる。したがって、xパラメータのみが変更されるが、y値は固定される(x以外のすべてのパラメータとともに)。
【０３４１】
ノードの中心ではなく最小配置の使用が、2Dで図27に例示されている。四分木平面は2760である。射影スパンである2つの四分木ノードは2761および2762である。光線2765は窓の上の光線であり、光線2764は窓の下の光線である。光線2763は原点光線である。ノード2766は、点2767において中心を有する。元のノードxスパン距離値は2762である。そこで測定に対するノード配置は、最小ノード点(xおよびy、3Dではx、y、およびzにおける)に移動され、点2763である。新しいノードx距離値は2767である。
【０３４２】
ランドマークを表す八分木は細分されるので、ステップは各PUSHについて1/2だけ変更される。関係する特徴を含む画像に対するこのランドマーク(およびこのランドマークだけ)の新しいΣd2が現在値より小さい場合、パラメータの現在の集合はそれに移動される。それがより高い場合、同じ増分変化が使用されるが、反対方向となる。実装形態に応じて、近傍要素ノードへの移動が必要になることがある。両方に対する費用がより高い場合、パラメータ集合は変更されないままであり(同じ値を持つ子を選択する)、より小さい増分値で別の繰り返しが続けられる。プロセスは、費用変化が何らかの閾値より低くなるまで続く。次いで、プロセスは、ランドマークに対する別の次元で続くものとしてよい。
【０３４３】
上記の最小化が複数のランドマーク点について同時に実行され得るが、カメラ配置および配向に関係するパラメータを修正するステップでは、その画像内に出現するすべてのランドマークについてΣd2値が計算されることを必要とする。しかしながら、これは、複数のカメラについて独立しておよび同時に実行され得る。
【０３４４】
費用を計算する代替的方法(たとえば、直接計算d2)は、膨張の使用である。元の画像は、検出された特徴点とともに、それらの点から繰り返し膨張させられ、費用(たとえば、d2)は何らかの距離まで各膨張ピクセルに付けられる。これは、各画像について1回行われる。別の特徴に近すぎる特徴は、たとえば、特性のリストに追加されるか、または画像の別のコピー内に置かれ得る。次いで、画像は、縮小された特性(子ノードの特性から生成された親特性)を持つ四分木に変換される。最小値が上位レベルで使用され、それにより、最小費用が現在最小値を超えた場合に射影横断を後で放棄し、不要なPUSHオペレーションを排除することが可能である。より高い精度については、解くに元の検出された特徴がピクセル以下の精度で特定された場合に、四分木が元の画像より高い分解能で計算される。
【０３４５】
この概念は、また、点以外のランドマークの使用を包含するように拡張され得る。たとえば、平面曲線はランドマークを形成することが可能である。これは、移動され、回転され、次いで、関連付けられている画像平面上に射影されることが可能である。費用は、射影ボクセルが射影する膨張した四分木内の値の総和となる。これは、当業者によって他のタイプのランドマークに拡張されることが可能である。
【０３４６】
図28Aは、前向きの面2805、2807、および2809を有する単位立方体2803によって正確に囲まれている位置不変SAO球2801を例示している。3つの後ろ向きの面は図示されていない。SAOおよび境界立方体の中心は点2811である。これは、座標系の軸でもある。軸は、X軸2821、Y軸2819、およびZ軸2823である。軸は、X軸上の十字形2815、Y軸上に十字形2813、およびZ軸上の十字形2817によって指示される3つの前向きの軸の中心で立方体から出る。各球は、中心点から立方体の面上に正確に射影する6本の領域に分割される。各面は、四分木によって表される。
【０３４７】
位置不変SAO構成手順は、生成ステップ2861を示す図28Bに概要が述べられている。SAOおよびその6個の四分木は、ステップ2863において、ワークスペース内の何らかの配置で初期化される。ワークスペース内から取られたフロンティアの画像(または他の何らかの方法で取得されたフロンティア情報)は、境界立方体の1つまたは複数の面に適切に射影され、ステップ2865において四分木に書き込まれる。このために、四分木は、視差が生じないワークスペースから十分な距離のところにあるものとして取り扱われる。四分木は可変分解能を有するので、射影の際に使用される距離は重要ではない。
【０３４８】
次いで、四分木の下位レベルにおける特性は、ステップ2867において上位レベル(たとえば、平均値)に適切に帰される。たとえば、SAOにおける補間されたノードを生成するために、補間およびフィルタリングがこの一部として実行され得る。次いで、位置不変SAOは、ステップ2869において、四分木の立方体に射影することによって初期値を与えられる。ステップ2871において、元々の画像からの特性は位置不変SAOノード内の適切な特性に書き込まれる。次いで、位置不変SAOは、ステップ2873においてシーングラフに出力される。特定の状況では、6個すべての四分木が必要とは限らない。
【０３４９】
この状況における四分木の使用は、補間、フィルタリングなどに対して多様な画像をフロンティア情報にまとめるための便利な方法である。当業者であれば、四分木の活用が使用されないものを含む、フロンティアの生成を達成するための代替的方法を考案することが可能であろう。ノード特性は、フロンティア情報を含む画像から直接処理され書き込まれることになる。
【０３５０】
これを行うために、画像生成モジュール1909の透視射影方法がSAOの中心から境界立方体の面まで実行される。これは、2Dで図29に例示されている。円2981(3Dでは球)はSAO球である。正方形2980は立方体の2D表現である。点2979は両方の中心である。光線2982は、正方形(3Dでは立方体)の+X面内の四分木の+Y境界である。2つの四分木ノードは、ノード2983およびノード2985である。
【０３５１】
八分木構造は、横断され、面上に射影される。SAOノード内の特性値が画像生成の際に行われるように表示値を生成するために使用される代わりに、逆オペレーションが実行される(四分木ノードが八分木ノードに書き込まれる)。射影は、原点に関して後から前への順序で進行し、四分木内の光は、最初にSAOの外側ノードに移される(および四分木ノード内で減らされるか、または排除される)。これは、表示に使用される通常の前から後の順序の反対である。
【０３５２】
単純な実装形態では、四分木内の最下位レベルのノードに到達したときに(最低レベルが現在定義されているか、またはFノードに遭遇したと仮定して)、四分木(SAOノードの中心が射影されるノード)内の特性値(たとえば、ストークスS0、S1、S2)はそのノード内にコピーされる。これは、立体角八分木内のすべてのノードに、その面について、訪れるまで続く(恐らく部分木の横断はマスクの使用で切り詰められる)。
【０３５３】
このプロセスは、すべてのフロンティア画像が蓄積され、四分木特性が低減された後、またはフロンティアの新しい画像とともに、実行され得る。新しい値が、すでに書き込まれているSAOノード上に射影した場合、これは、古い値を置き換えるか、もしくは組み合わされる(たとえば、平均される)可能性があるか、または選択を行うために何らかの性能指数が使用される可能性がある(たとえば、カメラを1つの画像についてフロンティアに近づける)。最初にフロンティア画像を四分木に書き込むときに類似のルールが使用される。
【０３５４】
各面に対する四分木の使用は、様々なカメラ配置からの射影されたピクセルのサイズの範囲を考慮する際に役立つ。画像からの元のピクセルは減らされ(たとえば、平均される、フィルタリングされる、補間される)、四分木の上位レベル(より低い分解能)のノードを生成する。子の値の分散の尺度も、計算され、四分木ノードとともに特性として記憶され得る。
【０３５５】
高度な実装形態では、画像から四分木を生成するために必要な低減および処理オペレーションは、画像の入力と同時に実行され得る。したがって、加わる処理時間は無視できるくらい短いものとなる可能性がある。
【０３５６】
生成時に、SAOにおいて必要な最高レベルの分解能(現在のオペレーションに対して)に到達し、四分木の最低レベル(ピクセル)に到達している場合、現在の四分木ノードからの値がノードに書き込まれる。より高い品質の値が望ましい場合、四分木のより大きい領域を調べて隣接する四分木ノードからの寄与を含む特性または特性の集合を計算するために四分木内の射影配置が使用されてもよい。
【０３５７】
その一方で、八分木の最下位レベルの前に四分木の最下位レベルに到達した場合、その細分は停止され、四分木ノード値(フロンティア画像からの元のピクセルから導出される)は、SAOの最下位ノードレベルに書き込まれる。
【０３５８】
一般に、立体角八分木における比較的低いレベルの分解能を使用して射影を実行することが望ましいが、どのような情報でも保存することは、オペレーションまたはクエリの実行時に、必要な場合に、下位レベルのSAOノードを生成するか、またはアクセスするオペレーションを後でピックアップするために必要であるか、または後で使用するよう要求される。
【０３５９】
SAOの多分解能の性質が利用される。たとえば、照明の空間的変化率の尺度がノードに付けられるものとしてよい(たとえば、照明勾配)。したがって、照明の変化が速い(たとえば、角度において)場合、より高い角分解能を表すように、SAO八分木/四分木の下位レベルがアクセスされるか、または生成され得る。
【０３６０】
入射SAO生成オペレーションは、入射SAOの中心を視点として使用する画像生成モジュール1909の画像生成オペレーションおよび前から後への順序で6個のフロンティア四分木が生成されることを除きフロンティアSAOに類似している。図30に示されているように、最初にあきである入射SAOは、点3091における中心から四分木3090上に射影される。何らかのレベルにおける1つの四分木ノード3093が図示されている。細分の次のレベル、レベルn+1において、ノード3098および3099が図示されている。横断の現在の段階における八分木ノードはノード3092である。2つの境界射影(bounding projection)は光線3095および光線3096である。スパンは、中心光線3097から測定される。上で述べたように、四分木画像は、qzバッファを使用して異なる原点および配向を有する複数の射影された八分木の複合体であるものとしてよい。次いで、新しいSAO上への四分木の同じ射影が実行され、フロンティアSAOを生成するのと類似の方式でフロンティアSAOに移される。
【０３６１】
SAOの中心からSAO球上のサンプル点までの方向は固定されているので、反対方向(球から中心点へ)のベクトルは、サンプル配置を含む各ライトフィールドSAOノードにおける特性であることも可能である。これは、使用されるべき入射照明を計算する際に使用されることもあり得る。
【０３６２】
出射/入射ライトフィールド処理モジュール2005のオペレーションは、2Dで図31Aおよび図31Bに示されている。出射SAOは、点3101における中心および単位円3103(3Dでは球)を有する。特定の出射SAOノード3105は、中心点3101からその方向に出現する光を表す特性値を含む。入射SAOを生成するのと同じ手順を使用することで、シーン内の媒体を表す1つまたは複数の八分木内のノードが、前から後への順序で点3101から横断される。この場合、遭遇した第1の不透明ノードはノード3117である。射影境界光線は光線3107および光線3108である。このタスクは、中心が点3101にある出射SAOからノード3117に関連付けられている入射SAOに光を移すことである。
【０３６３】
ノード3117に対する入射SAOは、中心が3115にあるSAOである。これはすでにノード3117に対して存在しているか、またはそれに対して最初に入射照明に遭遇したときに生成され得る。図示されているように、中心が3115にある入射SAOのノードは、3113において表現円(3Dでは球)を有する。
【０３６４】
1つまたは複数の媒体八分木の座標系の配向は、画像生成処理モジュール1909については通常のことであるように、中心が3101にある出射SDAOの座標系の配向から独立している。この実装形態では、すべてのSAOの座標系がアラインメントされる。したがって、ノード3117に関連付けられている入射SAOの座標系は、点3101を中心とする出射SAOの座標系とアラインメントされる。点3101からの照明を表現するために使用される入射SAO内のノードはノード3109である。その中心は点3111にある。
【０３６５】
ノード3109を識別する計算は、入射SAO内のノードの配置を維持することによって進行し、その中心は媒体八分木、図では点3115とともに移動される。入射SAOノードは、出射SAOの中心、この場合には点3101から前から後への順序で横断され、したがって、正しい側のノードが見つかる。視界を遮られ、照明を受けられない入射SAOのノードを取り除くためにマスクが使用され得る。
【０３６６】
入射SAOノードの横断は、座標系が、一般に、それが付けられている八分木の座標とアラインメントされないという事実によって複雑なものとなる。したがって、入射SAOにおけるノードからの移動では、それ自体の中心に関する移動を考慮するだけでなく、媒体八分木のノード中心の移動も考慮しなければならない。これは、SAOそれ自体に対する通常のオフセットに追加されたPUSHに対する媒体八分木ノードによって使用されるのと同じオフセットを使用することによって達成される。オフセットの2つの集合は媒体八分木および出射SAOによって使用されるのと特定のレベルで同じになるが、その計算では、PUSHオペレーションおよびオフセット計算の順序は一般に出射SAOまたは媒体八分木のいずれかとも異なるので独立して両方のオフセットの和を累算しなければならない。
【０３６７】
進行中の特定のオペレーションに対する最後のレベルが達成されたときに、出射ノード、この場合はノード3105からの適切な照明特性情報が、入射ノード、この場合にはノード3109に転送される。転送される照明は、出射ノード、この場合にはノード3105における関連付けられている特性を変更することによって適切に考慮される。適切な照明転送の特徴付けは、XおよびY次元における射影されるノードの幅および高さによって決定される射影される矩形領域による方法など、多くの方法で実行され得る。
【０３６８】
細分が続いたときに、図31Bは、出射SAOノード3121が照明を狭い立体角3123に沿って円3113(3Dでは球)上の入射SAOノード3125上に射影し、中心が3115にある媒体ノード上の照明を表す、結果を例示している。
【０３６９】
BLIF SAOの2Dの例は図32に示されている。これは、SAO中心3215および円3205(3Dでは球)によって定義される。重みが定義されている表面法線ベクトルは、ベクトル3207(この場合にはY軸)である。図示されている場合において、出射光は、方向3211について計算されている。表面配置における入射光は、同じ中心点に配置されている入射光SAOによって表される。この場合、4つの方向3201、3203、3209、および3213からの光が示されている。重みを含むSAOノードは、円3205(3Dでは球)上に配置される。方向3211の出射光は、その方向からの光を乗算した入射方向に対する重みの総和となる。図では、これは、4つの入射方向および重みの4つの関連付けられている集合である。
【０３７０】
BLIF SAO表面法線方向は、一般に、特定の状況では表面法線ベクトルに対応しない。したがって、BLIFは、法線方向を局所的表面法線ベクトルとアラインメントするための幾何学モジュール1905と、BLIF SAOの出射ベクトルとアラインメントするための出射方向とを使用して中心の周りで適切に回転される。2つのSAOにおける重なり合うノードは、乗算され、総和されて、出射方向の光の特性を決定する。これは、特定の状況について注目するすべての出射方向に対して実行されることを必要とする。SAOマスクは、処理から選択された方向(たとえば、媒体中への方向)を除外するために使用され得る。
【０３７１】
このオペレーションは、典型的には、階層的方式で実行される。たとえば、特定の角度範囲内でBLIF係数に大きな偏差があるときに、これらの範囲でのみ木構造の下位レベルで計算が実行されることになる。方向空間の他の領域は、低減されたレベルの分解能でより効率的に計算される。
【０３７２】
例示的な実施形態によれば、3D画像処理システム200は、車両の雹害評価(HDA)において使用され得る。雹は、毎年車両に重大な損害をもたらす。たとえば、米国では毎年雹の嵐が約5,000回発生し、約100万台の車両が損害を受ける。損害の評価は、現在、影響のある地域で素早く招集されなければならない熟練検査官による目視検査を必要としている。本発明は、車両雹害の検出および特徴付けを自動的に、迅速に、首尾一貫して、確実に行うことができる自動評価システムである。
【０３７３】
大部分の雹による凹みは浅く、多くの場合、1ミリメートルの数分の一の深さである。それに加えて、多くの場合、凹みそれ自体の周りにわずかな欠陥があり、これらすべてにより、損害および修理費用を手作業で評価することは困難となる。不確定性があり、個別の凹みを修理するために必要な労力のレベルも様々であるため、車両を修理する推定費用は、凹みの数、車両上の配置、ならびにそのサイズおよび深さに応じて、大きく異なり得る。手作業による評価に差異があるため、同じ車両および損害でも推定される費用の違いが大きくなる。この差異を低減することが、プロセスを自動化する主要ゴールである。
【０３７４】
従来のマシンビジョンおよびレーザ技術では、雹害を特徴付けることが困難である。主要な問題は車両表面の光沢性であるが、これは、それらがほとんどランバート反射しないからである。それらは多くの場合に、多数の雹による凹みの浅さと相まって、それらの方法では正確な特徴付けを困難にする鏡面に似た特性を示す。しかしながら、光沢表面などのいくつかの特性は、視野を動かして損害を評価し、最終的に修理費用を推定しようとするときに訓練を受けた観察者が結果として得られる光パターンを解読することを可能にする。本発明のいくつかの例示的な実施形態では、複数の視点からの車両の表面から反射された光を特徴付け、次いで反射光を解釈することができるシステムを実現する。車両表面に入射し、表面から出射する光が分析される。この方法は、ポラリメトリック画像処理、光輸送の物理学、および数学的ソルバーを使用して、媒体フィールド(幾何学的/光学的)およびライトフィールドの両方を3Dで表現するシーンモデルを生成する。
【０３７５】
本発明のいくつかの例示的な実施形態において、ポラリメトリックカメラは、複数の視点から車両パネルおよびパーツの画像を取得する。これは、多数の方法で達成され得る。1つのバージョンでは、静止している車両が複数の配置で一時停止する移動ガントリ上に装着されている一組のポラリメトリックカメラによって撮像される。代替として、恐らくロープにつながっている、クワッドコプタなどのUAVが、カメラを運ぶのに使用され得る。これは、外部照明を制御することに加えて車両および機器を天候から護るためにカスタム構造内にある。構造の内側で、専用化されていない(たとえば、非偏光)照明が使用される。たとえば、テント内の標準的な投光照明が使用され得る。可能な実装形態の想像画が、図33に示されている。車両3309などの車両が検査のため運転されてエンクロージャ3303内に入り、停止する。この実装形態において、カメラを搭載したクワッドコプタおよび固定カメラに固定されたガントリ3301が使用される。ライト3311は、車両の側部を照らすために地面に対して低く取り付けられる。制御ライトユニット3307は、運転者に、エンクロージャ内に入ること、いつ停止すべきか、およびスキャン処理がいつ完了して車両が出るべきかを指令する。カメラは、クワッドコプタ3305によって運ばれる。
【０３７６】
システムを使用して自然環境におけるライトフィールドを観察しモデル化することによってある種の状況ではエンクロージャを使用しなくて済む。
【０３７７】
車両を撮像した後、HDAシステムは車両表面のモデルを構築する。これは、画像処理または他の方法から始まり(利用可能な場合に、車両タイプの既存の3Dモデルを含む)、車両をいくつかの部分(ボンネット、ルーフ、ドア、ハンドルなど)にセグメント分割する。これは、各部分またはパネル上の各検出された雹による凹みに対する修理手順および費用を決定するために後で使用される。たとえば、多くの場合に、凹みは、専用工具を使用して下側から凹みを上手に叩くことによって修理できる。車両パネルの下側の構造に関する知識を利用して、特定の凹みへのアクセスを決定し、修理費用の推定を改善することができる。
【０３７８】
各パネルに対する画像から構築されたモデルは、車両製造年、モデル、形状、塗料特性などの知識と組み合わせて、雹害の検出および特徴付けのため分析、または機械学習システムへの入力のためのデータセットを形成する。
【０３７９】
偏光画像だけを使用することで、雹害、他の損害、残骸、などに関する何らかの表面情報が得られる。そのような画像は、ピクセル毎に正確な表面配向ベクトルを計算するために使用することもでき、追加の情報を提供する。上で述べたように、BLIFは、表面点からの特定の出口方向の出射光をその点に当たる入射光のすべてに適用される重みの和として与える。
【０３８０】
車両パネルについては、特定の出射方向の反射光の強度は、反射点における表面の配向による影響を受ける。しかし、表面配向は、一般的に、強度観察結果だけを使用して決定することはできない。しかしながら、ポラリメトリを使用することで、配向は解決され得る(あいまいな代替の小集合まで)。様々な方向からの入射光強度が与えられた場合、BLIFは、表面配向の関数として出射方向に予想される偏光を指定する。非ランバート反射表面では、これは、典型的には、出射方向を一意的に区別するのに十分な情報を提供する。いくつかのBLIF公式において、入射光が有すると思われる偏光も組み込まれる。
【０３８１】
したがって、表面配置上の入射光の強度(および知られている場合には偏光)が与えられた場合、可能なすべての方向の出射光の推定される偏光が計算され得る。画像内に実際に見られるストークスベクトル値を可能な値と比較することによって、観察された配置にある表面の表面法線が選択され得る。入射ライトフィールドSAOおよびBLIF SAOは、ピクセルまたはピクセルのグループにおいて感知された偏光と比較するために出射光の偏光を効率よく計算するために使用され得る。最も近いマッチは、あり得る表面法線方向を示す。
【０３８２】
正面法線が領域内で比較的滑らかに変化している場合、これらは、単一の画像から推定される3D表面を形成するように統合され得る。急に変化する法線は、典型的には、表面の終端となる境界を指示する、何らかの形態のエッジによって引き起こされる。
【０３８３】
様々な方向から表面に当たる照明の何らかの推定に加えて、この方法は、表面のBLIFの推定を必要とする。ときには、照明および物体に関するアプリオリな知識が、BLIF推定プロセスを初期化するために使用され得る。車両については、BLIFは、車両に関する知識に基づき知られ得るか、またはBLIFの知られている集合が、最良適合を見つけるために個別にテストされ得る。
【０３８４】
単一画像機能は有用であるが、制限がある。3Dにおける絶対配置(またはカメラからの距離)は直接決定され得ず、回復された表面配向に何らかのあいまい性があり得る。また、視点が重要である。カメラ軸にほぼ垂直な表面領域にはSNR(信号対雑音比)が低いという問題があり、そのため、表面配向が失われ、復元された表面内に空隙(穴)が生じる。
【０３８５】
解決方法は、複数の画像に対する偏光の使用を一般化することである。2つまたはそれ以上の視点から観察されるシーン偏光が与えられた場合、シーンモデルは、非線形最小2乗問題として解決され得る数式にキャストされ得る。これは、シーンライトフィールドおよび表面BLIFを推定するために使用される。次いで、注目している表面の位置および形状が推定され得る。表面要素(サーフェル)とライトフィールドとからなる、シーンモデルは、観察結果と最もよくマッチするモデルを最終的に生成するように徐々に解決されてよく(最小2乗の意味で)。そして、カメラ視点に応じて、各サーフェルの絶対位置および配向は、ボクセル単位で決定され得る。
【０３８６】
HDAシステムプロセス3401は、図34に示されている。ポラリメトリック画像取得オペレーション3403では、照明が制御される閉鎖環境内で複数の視点から車両の一組のポラリメトリック画像が取得される。オペレーション3405において、シーン復元エンジン(SRE)は、画像の集合を処理して、各画像内のカメラの配置および姿勢を決定する。関係する外部情報(たとえば、慣性測定ユニットからの)が使用され、知られている写真測量法も使用され得る。SREは、注目している表面上の入射光を決定するために必要な程度でシーンライトフィールドを推定する。エンクロージャおよび照明からの出射光のモデルは、システムセットアップ時にまたは後のオペレーションにおいて取得され、このプロセスで使用される。
【０３８７】
BLIF機能は、表面についてSREによって推定される。これは、比較的平坦である(曲率は無視できるくらい小さい)またはほぼ一定の曲率を有すると想定されている表面領域を見る複数の視点から偏光を観察することに基づく。推定された表面照明およびBLIFを知ることで、出射偏光はすべての関連する方向について推定される。SREは、各シーンボクセルについて、仮定されているサーフェルの存在(ボクセル占有またはあき)、サブボクセルサーフェル位置、およびボクセルから出る偏光のすべての観察結果を最もよく説明するサーフェル配向を推定する。たとえば、ボクセルおよびサーフェルの特性は、考察対象の各ボクセルから出る偏光光線の間のラジオメトリック整合性に基づき評価される。結果として得られる各サーフェルは、最も遠い車両表面点から数フィート離れたところに典型的には配置される、最も近いカメラの単一ピクセル上に射影する表面の領域を近似的に表現する。各サーフェルについて、深度、法線ベクトル、およびBLIFの(局所的に差異のある)データが計算される。
【０３８８】
車両表面の各関連する領域は、さらなる分析のために潜在的異常を識別するために調べられる。この情報は、異常を検出するためのオペレーション3407における異常検出器モジュール、およびさらに、修理を計画する際に後で使用するため車両をいくつかのパネルに分離するオペレーション3411におけるパネルセグメント分割モジュールによって使用される。
【０３８９】
当業者であれば、この情報を活用して雹害を検出し、特徴付けるため多くの方法が使用され得ることを理解する。本発明の好ましい実施形態において、機械学習および/または人工知能が、他の損害および残骸の存在下で雹害の認識を改善するために使用される。オペレーション3409において、HDA前処理モジュール、感知された法線ベクトル、および3D復元は、機械学習で使用するためのデータセットを作成するために使用される。これは、たとえば、追加の情報を補った、潜在的凹み、「雹ビュー」画像の真上の始点からの合成画像であり得る。
【０３９０】
このプロセスは、調べられている損害のない車両パネルの数学的モデルを決定することによって開始する。これは、損害または残骸の一部であるように見えない(取得された画像で検出されたように)サーフェルの3D配置から導出され得る(たとえば、法線はゆっくりとしか変化しない)。表面の公称モデルが車両モデルに基づき利用可能である場合、ここでそれが採用され得る。次に、各サーフェルについて、予想値から測定されるか、または計算された値の偏差が計算される。法線の場合、これは、表面の数学的モデル(たとえば、ドット積)上のその配置における予想された法線からの感知された法線の偏差である。偏差が有意である感知されたベクトルについて、たとえば車両の座標系に関して局所的表面平面内のベクトルの方向が計算される。これは、法線ベクトルの偏差の大きさおよび方向を与える。円から内向きを指す大きい偏差は、たとえば壁に凹みがあることを示す。予想されるものからのサーフェルの反射特性の差および数学的表面(たとえば、深度)からのサーフェルの空間的偏差などの他の情報も、各サーフェルに付けられる。これは、たとえば、深度、法線、および反射率を組み合わせた画像形式に符号化され得る。
【０３９１】
次のオペレーションは、データを正規化し、「平坦化」することである。これは、サーフェルを均一なサイズにリサイズし、画像ピクセル配列に類似する、フラットな配列に変換することを意味する。局所的な「上」方向も追加され得る。次いで、凹みについて計算された衝撃の予想される方向は、隣接する凹みおよび雹の移動の仮定されている方向と比較される。次いで、これは、雹によって引き起こされた凹みからパターンを認識するために人工知能(MI)および/またはデータベースモジュールに供給され得る形式に符号化されるべき初期データセットを形成する。関連付けられている情報で強調されている形状は、人工知能および/またはデータベースモジュールによってオペレーション3413において雹による凹みであると最終的に認識されるパターンを形成する。
【０３９２】
結果は、オペレーション3415において、修理プランナモジュールに入力され、そこで凹み情報が分析され、費用を推定するために後で使用される修理プランを生成する。オペレーション3411からのパネルセグメント分割モジュールの結果は、パネルによる異常を分析するためにここで使用される。次いで、結果として得られるプランおよび関係する情報が、出力処理モジュールによってオペレーション3417において保険会社および修理店などの関連する組織に送られる。
【０３９３】
HDA検査プロセス3501は、雹害について車両を検査するために使用され、図35に示されている。これは、オペレーション3503において、運転され検査ステーションに入る車両を検出することから始まる。例示されている実施形態において、車両は検査のために停止するが、当業者であれば、車両はそれ自体の動力または何らかの外部手段のいずれかで移動しながら検査されることも可能であることを知るであろう。次いで、画像が、オペレーション3505において取得される。
【０３９４】
SREは、シーンの復元においてオペレーションをガイドするため様々なパラメータを使用する。オペレーション3507は、HDA検査に関連する設定およびゴールパラメータを取得する。次いで、復元が、オペレーション3509において実行される。次いで、結果が、オペレーション3511において人工知能および/またはデータベースモジュールによって分析される。異常が検出された領域が調べられる。これらは、雹または雹以外のものによる損傷などの何か他のもの、タールなどの破片などによって引き起こされるものとして分類される。雹による凹みと識別されたものは、さらに特徴付けされる(たとえば、サイズ、配置、深さ)。
【０３９５】
識別された凹みおよび他の異常を含む車両の3Dモデルは、オペレーション3513において関連する当事者のシステムに、恐らく、地理的に分散されている場所に配給される。そのような情報は、オペレーション3515において、異なる目的に使用される。たとえば、保険会社は、修理のために支払われる額を計算するために社内の方法を使用する。検査官は、場合によっては車両、車両パネル、または個別の凹みの元のもしくは合成された画像を含めて、状況を詳しく調べるために3Dモデルにアクセスするものとしてよい。3Dモデルは、完全に理解できるようにどのような視点からも見られるものとしてよい。たとえば、詳細な表面および反射率情報を含む3Dモデルは、現実の検査を模倣するようにシミュレートされた照明で「再照明」を当てられ得る。保険会社は、履歴記録を比較して、修理のために提出される損害報告がすでに報告されているかどうかも決定し得る。修理会社は、修理費用を提出するための類似の情報および能力の同じものを使用することができる。
【０３９６】
本明細書で説明されているプロセスを参照しつつ、限定はしないが、プロセスステップ、アルゴリズム、または同様のものは、特定の順序で説明されるか、または請求され得るが、そのようなプロセスは、異なる順序で働くようにも構成され得る。言い替えれば、本明細書において例示的に説明されるか、または請求され得るステップの順序または順番は、必ずしも、その順番でステップが実行される必要があることを指示せず、むしろ、本明細書で説明されているプロセスのステップは、可能な任意の順番で実行されてよい。さらに、いくつかのステップは、別々に生じるように説明されるか、または暗示されているが(たとえば、一方のステップは他方のステップの後に記述されているので)、同時に(または並行して)実行されてもよい。さらに、図面内の指示によるプロセスの例示は、例示されているプロセスが他の変形形態および変更形態を除くことを暗示せず、例示されているプロセスまたはそのステップのどれも必要であることを暗示せず、例示されているプロセスが好ましいことを暗示しない。
【０３９７】
本明細書で使用されているように、システム、サブシステム、サービス、論理回路、または同様の用語は、ソフトウェア、ハードウェア、ファームウェア、および/または同様のものの好適な任意の組合せとして実装され得ることが理解されるであろう。また、本明細書における記憶装置ロケーションは、ディスクドライブデバイス、メモリロケーション、ソリッドステートドライブ、CD-ROM、DVD、テープバックアップ、ストレージエリアネットワーク(SAN)システム、および/または他の適切な有形のコンピュータ可読記憶媒体の好適な任意の組合せであってよいことも理解されるであろう。また、本明細書で説明されている技術は、コンピュータ可読記憶媒体上に有形なものとして記憶され得るプロセッサ実行命令を有することによって達成され得ることも理解されるであろう。
【０３９８】
いくつかの実施形態が説明されているが、これらの実施形態は、ほんの一例であり、本発明の範囲を制限することは意図されていない。実際、本明細書で説明されている新規性の実施形態は、様々な他の形態で具現化されるものとしてよく、さらに、本明細書で説明されている実施形態の形式の様々な省略、置換、および変更は、本発明の主旨から逸脱することなく行うことができる。付属の請求項およびその均等物は、本発明の範囲および主旨に含まれるような形態または変更を対象とすることが意図されている。
【符号の説明】
【０３９９】
101  シーン
103  樹木の一部を含む領域
105  キャビネットの一部を含む領域
107  フードの一部を含む領域
109  窓の一部を含む領域
111  山の一部を含む領域
113  瓶内の花を含む領域
115  空の一部を含む領域
200  3D画像処理システム
201  シーン復元エンジン(SRE)
203  カメラ
205  アプリケーションソフトウェア
207  データ通信層
209  データベース
211  入出力インターフェース
213  プロセッサ
215  メモリ
217  ユーザインターフェースモジュール
219  ジョブスクリプト処理モジュール
300  プロセス
401  立体角フィールド
405  ボリュームフィールド
407  ボリューム要素
500  シーンモデル
501  シーンモデル
503  窓付きドア
503、505、506  キッチンの窓
507  ストーブフード
511  調理台
513  シーンラフインパン
515  短いカメラ軌道弧
515  「左から右への短ベースライン」スキャン
517  ワークスペース
519、521  コリドー
522  ボクセル
601  モデル
603  バルクガラスメディエル
605  空気対ガラスサーフェル
607  バルクエアメディエル
701  不透明壁
703A、703B、703C  フロンティア
704  シーンモデル境界
707  山
709A、709B、709C  コリドー
709D  コリドー
713  領域
715  中間空間
717A、717B、717C  フロンティア
719A、719B、719C  コリドー
801  ボクセル
803、805、807、809、811、813  視点
803、807  姿勢
819  木材
821  金属サーフェル
901  単一中心一方向セイル配置構成
903  単一中心多方向配置構成
905  単一中心全方向配置構成
907  単一中心全方向等方性セイル配置構成
911  平面中心一方向配置構成
913  セイル配置構成
1001  入射ライトフィールド
1003  ボクセル
1005  BLIF
1007  全出射ライトフィールド
1009  (任意選択の)放射ライトフィールド
1011  応答ライトフィールド
1101〜1115  オペレーショナルモジュール
1103  プラン処理モジュール
1105  スキャン処理モジュール
1107  シーン解決モジュール
1109  シーン表示モジュール
1111  センサ制御モジュール
1113  空間処理モジュール
1115  ライトフィールド物理学処理モジュール
1117  データモデリングモジュール
1201  データモデリングモジュール
1203  シーンモデリングモジュール
1205  センサモデリングモジュール
1207  媒体モデリングモジュール
1209  観察モデリングモジュール
1211  (特徴)カーネルモデリングモジュール
1213  解決ルールモジュール
1215  マージルールモジュール
1217  動作設定モジュール
1301  ライトフィールド物理学処理モジュール
1303  マイクロファセット(フレネル)反射モジュール
1305  マイクロファセット積分モジュール
1307  ボリュメトリック散乱モジュール
1309  放射および吸収モジュール
1311  偏光モデリングモジュール
1313  スペクトルモデリングモジュール
1315  適応サンプリングモジュール
1400  プロセス
1500  プラン処理プロセス
1600  スキャン処理プロセス
1701  取得制御モジュール
1703  アナログ制御モジュール
1705  2値化制御モジュール
1707  光学系制御モジュール
1709  データトランスポート制御モジュール
1711  ポラリメトリ制御モジュール
1713  固有感覚センサ制御モジュール
1715  運動制御モジュール
1800  シーン解決プロセス
1813  整合性計算
1819  仮定されているシーン更新プロセス
1840  プロセス
1880  プロセス
1903  集合オペレーションモジュール
1905  幾何学モジュール
1907  生成モジュール
1909  画像生成モジュール
1911  フィルタリングモジュール
1913  表面抽出モジュール
1915  モルフォロジーオペレーションモジュール
1917  接続モジュール
1919  質量特性モジュール
1921  レジストレーションモジュール
1923  ライトフィールドオペレーションモジュール
2001  位置不変ライトフィールド生成モジュール
2003  入射ライトフィールド生成モジュール
2005  出射/入射ライトフィールド処理モジュール
2007  入射/出射ライトフィールド処理モジュール
2100  点
2101、2102  ベクトル
2103  円
2104  正方形
2105  点
2209  点
2211、2212  光線
2213、2214  光線
2310  領域
2311、2312  領域
2320、2321  画像
2323  ランドマーク点
2324  視点
2324、2325  カメラ配置
2326  直線
2327  直線
2328、2330  特徴点
2329  点
2350  位置
2359  球状ヒストグラム
2440  X軸
2441  Y軸
2442  曲線
2443、2444  点
2507  レジスタ
2508  レジスタ
2509  シフトレジスタ
2510  シフトレジスタ
2511  シフタ
2512  加算器
2515  レジストレーションプロセス
2601  座標軸
2602  軸
2603  ノード
2604  点
2653  点
2763、2764、2765  光線
2766  ノード
2767  点
2801  位置不変SAO球
2803  単位立方体
2805、2807、2809  前向きの面
2811  点
2813、2815、2817  十字形
2819  Y軸
2821  X軸
2823  Z軸
2979  点
2980  正方形
2981  円
2982  光線
2983  ノード
2985  ノード
3090  四分木
3091  点
3093  四分木ノード
3092  ノード
3095  光線
3096  光線
3097  中心光線
3098、3099  ノード
3101  点
3103  単位円
3105  出射SAOノード
3107  光線
3108  光線
3109  ノード
3111  点
3115  点
3117  ノード
3201、3203、3209、3213  方向
3205  円
3207  ベクトル
3211  方向
3215  SAO中心
3301  固定されたガントリ
3303  エンクロージャ
3305  クワッドコプタ
3309  車両
3311  ライト
3401  HDAシステムプロセス
3403  ポラリメトリック画像取得オペレーション
3501  HDA検査プロセス
3601  X軸
3603  Z軸
3605  原点
3607  外部ディスプレイ画面
3609  観察者
3611  視点
3613  長さ
3615  サイズ
3617  ディスプレイ画面
3618  八分木ノード中心
3619  z値
3621  x値
3623  射影
3625  x'
3627  点
3701  親ノード
3703  I軸
3705  J軸
3707  ノード中心
3709  ノード中心x値
3711  iベクトル
3713  jベクトル
3721  軸
3723  軸
3725  距離xi
3727  xj距離
3729  ノード中心
3801  xレジスタ
3803  シフトレジスタxi
3805  シフトレジスタxj
3807  シフトレジスタxk
3809  加算器
3811  変換された出力x値
3901  射影ベクトル
3903  X値x'
3905、3907  距離d
4001、4003、4005  窓
4007  ノード
4009  スパン
4011  スパン
4013  スパン
4021  光線
4022  スパン
4023  光線
4025  窓中心光線
4027  QWIN
4029  QSPAN
4030  ノード中心オフセット
4031  ZONE3
4033  ZONE2
4035  ZONE1
4037  ZONE2
4039  ZONE3
4040  ノード中心オフセット
4051  新しい上原点
4053  新しいシフトなし中心
4055  新しい下原点
4061  除算
4063  除算
4065  除算
4103  NODEレジスタ
4111、4113、4115  DIFレジスタ
4117、4119、4121  加算器
4123  加算器
4125  QSPAN(「1/4スパン」)レジスタ
4131、4133、4135  QS_DIF(「1/4スパン差」)レジスタ
4137  加算器
4139  加算器
4140  セレクタ
4151  レジスタ
4153、4155、4157  シフトレジスタ
4161  QNODE
4163  1ビットシフタ
4171  コンパレータ
4181  シフトレジスタ
4183  コンパレータ
4187  WINレジスタ
4189  加算器
4191  シフトレジスタ
4193  コンパレータ
4201、4211、4221  中心
4205、4215、4225  点
4203、4213、4223  距離
【図１】
2019518268.tif 000023
【図２Ａ】
2019518268.tif 000024
【図２Ｂ】
2019518268.tif 000025
【図３】
2019518268.tif 000026
【図４Ａ】
2019518268.tif 000027
【図４Ｂ】
2019518268.tif 000028
【図５】
2019518268.tif 000029
【図６】
2019518268.tif 000030
【図７Ａ】
2019518268.tif 000031
【図７Ｂ】
2019518268.tif 000032
【図８Ａ】
2019518268.tif 000033
【図８Ｂ】
2019518268.tif 000034
【図８Ｃ】
2019518268.tif 000035
【図８Ｄ】
2019518268.tif 000036
【図８Ｅ】
2019518268.tif 000037
【図９Ａ】
2019518268.tif 000038
【図９Ｂ】
2019518268.tif 000039
【図９Ｃ】
2019518268.tif 000040
【図９Ｄ】
2019518268.tif 000041
【図９Ｅ】
2019518268.tif 000042
【図９Ｆ】
2019518268.tif 000043
【図１０】
2019518268.tif 000044
【図１１】
2019518268.tif 000045
【図１２】
2019518268.tif 000046
【図１３】
2019518268.tif 000047
【図１４】
2019518268.tif 000048
【図１５】
2019518268.tif 000049
【図１６】
2019518268.tif 000050
【図１７】
2019518268.tif 000051
【図１８Ａ】
2019518268.tif 000052
【図１８Ｂ】
2019518268.tif 000053
【図１８Ｃ】
2019518268.tif 000054
【図１８Ｄ】
2019518268.tif 000055
【図１９】
2019518268.tif 000056
【図２０】
2019518268.tif 000057
【図２１】
2019518268.tif 000058
【図２２】
2019518268.tif 000059
【図２３Ａ】
2019518268.tif 000060
【図２３Ｂ】
2019518268.tif 000061
【図２４】
2019518268.tif 000062
【図２５Ａ】
2019518268.tif 000063
【図２５Ｂ】
2019518268.tif 000064
【図２６】
2019518268.tif 000065
【図２７】
2019518268.tif 000066
【図２８Ａ】
2019518268.tif 000067
【図２８Ｂ】
2019518268.tif 000068
【図２９】
2019518268.tif 000069
【図３０】
2019518268.tif 000070
【図３１Ａ】
2019518268.tif 000071
【図３１Ｂ】
2019518268.tif 000072
【図３２】
2019518268.tif 000073
【図３３】
2019518268.tif 000074
【図３４】
2019518268.tif 000075
【図３５】
2019518268.tif 000076
【図３６Ａ】
2019518268.tif 000077
【図３６Ｂ】
2019518268.tif 000078
【図３６Ｃ】
2019518268.tif 000079
【図３７】
2019518268.tif 000080
【図３８】
2019518268.tif 000081
【図３９】
2019518268.tif 000082
【図４０Ａ】
2019518268.tif 000083
【図４０Ｂ】
2019518268.tif 000084
【図４０Ｃ】
2019518268.tif 000085
【図４０Ｄ】
2019518268.tif 000086
【図４１Ａ】
2019518268.tif 000087
【図４１Ｂ】
2019518268.tif 000088
【図４２】
2019518268.tif 000089
【国際調査報告】
2019518268.tif 000090