ここで実施形態が図面を参照して説明される。説明を簡潔かつ明確にするために、適当であると考えられる場合、参照数字は、対応するか、または類似の要素を示すために、図面間で繰り返され得る。加えて、多数の特定の詳細は、本明細書で説明する実施形態の完全な理解を提供するために記載される。しかし、当業者には、本明細書で説明する実施形態はこれら特定の詳細なしでも実施され得ることが理解されよう。他の例では、周知の方法、手順および構成要素は、本明細書で説明する実施形態を曖昧にしないために、詳細には説明されていない。また、記述は、本明細書で説明する実施形態の範囲を制限するものと見なされるべきではない。
本記述を通して使用される様々な用語は、文脈で特に断らない限り、以下のように読まれて理解され得る:「または」は、「および/または」と書かれているかのように、全体を通して包括的に使用され、単数形の冠詞および代名詞は全体を通してそれらの複数形を含み、逆の場合も同じであり、同様に、性の区別のある代名詞は、本明細書で説明する何かを一方の性による使用、実装、性能などに制限していると理解されないように、それらの対応する代名詞を含み、「例示的」は「事例的」または「例となる」として理解すべきであり、必ずしも他の実施形態より「好ましい」とは限らない。用語に対するさらなる定義が本明細書に記載され得、これらは、本記述を読んで理解されるように、それらの用語の事前および後続の例に適用され得る。
命令を実行する、本明細書で例示されている任意のモジュール、ユニット、構成要素、サーバー、コンピュータ、端末、エンジンまたは装置は、例えば、磁気ディスク、光ディスク、もしくはテープなどの、記憶媒体、コンピュータ記憶媒体、もしくはデータ記憶装置(取外し可能および/または固定型)などのコンピュータ可読媒体を含むか、またはそうでなければアクセスを有し得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を格納するための任意の方法または技術で実装された、揮発性および不揮発性、取外し可能および固定型媒体を含み得る。コンピュータ記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または所望の情報を格納するために使用でき、アプリケーション、モジュール、もしくは両方によってアクセスできる任意の他の媒体を含む。任意のかかるコンピュータ記憶媒体は装置の一部であり得るか、またはそれにアクセス可能もしくは接続可能であり得る。さらに、文脈で別段の明確な指示がない限り、本明細書に示された任意のプロセッサまたはコントローラは、単一のプロセッサとして、または複数のプロセッサとして実装され得る。複数のプロセッサは、配列または分散され得、本明細書で言及される任意の処理機能は、たとえ単一のプロセッサが例示されていても、1つまたは複数のプロセッサによって実行され得る。本明細書で説明する任意の方法、アプリケーションまたはモジュールは、かかるコンピュータ可読媒体によって格納もしくは保持されて、1つ以上のプロセッサによって実行され得るコンピュータ可読/実行可能命令を使用して実装され得る。
以下は一般に画像処理に関し、より詳細には、深度イメージングを最適化するための方法およびシステムに関する。
一般に、構造化光は、3次元(3D)再構成アルゴリズムと一緒に使用して、撮像されたアイテムまたは場面の3D再構成に達することができる所定の照射パターンを適用する。本発明人は、他のアプローチよりも優れた性能を有していて、機械学習ベースの最適化を使用する、照射パターンを好都合に決定している。
一般に、本発明人は、所与のパターンの性能が正確なイメージングシステムハードウェア(すなわち、プロジェクタの選択およびカメラの選択)に依存し得ると判断している。本実施形態は、好都合に、特定のハードウェアに対して微調整されるパターンを自動的に学習することを可能にし、いくつかの事例では他のアプローチに比べて桁違いにまで高い精度をもたらす。パターンの生成に加えて、本実施形態はかかるパターンの「復号」、すなわち、例えば、捕捉された画像の正確な3D幾何形状への変換、も提供する。
それに応じて、本実施形態は、高い3D測定精度を生じるように最適化される構造化光パターンを自動的に生成するための機械学習ベースの最適化アプローチを提供する。本実施形態は、2つ以上の画像にわたる特定の画素で観測された強度を3D距離測定(例えば、「深度」)に変換するための「復号」アルゴリズムも提供する。本実施形態は、特定のハードウェアシステム、またはさらに高い3D精度に対してさえカスタマイズされる構造化光パターンを自動的に生成できる機械学習ベースの最適化アプローチも提供する。本実施形態は、画素強度を3D測定に変えるための(a)考えられる最良のパターンおよび(b)考えられる最良の「復号」アルゴリズムを一緒に決定する機械学習ベースの最適化アプローチも提供する。
一例として、本実施形態は、静止場面のアクティブステレオ三角測量のための構造化光パターンのシーケンスを自動的に生成するという問題に対処できる。事前に決定されたパターンおよびそれらに結び付けられた再構成アルゴリズムを使用する他のアプローチとは異なり、本明細書で説明する実施形態は、一例として、ある仕様、すなわち、パターン数、プロジェクタ・カメラ配置、ワークスペース制約、空間周波数成分、および同様のもの、に応答してオンザフライでパターンを生成できる。パターンシーケンスは、未知の場面に対する仕様下で予期される対応誤差率を最小限にするために具体的に最適化でき、画素ごとの視差推定のためのシーケンスに依存しないアルゴリズムに結合できる。これを達成するために、本明細書で説明する実施形態は、最尤フレームワーク内で最適化するのが比較的容易な目的関数を導出するために使用できる。最適化パラメータを最小限にすることにより、パターンシーケンスの自動発見が生成できる。例えば、本発明人は、かかるシーケンスをラップトップ上で3分以内に生成したが、それは、他の三角測量技術よりも性能が優れていると判断された。
構造化光三角測量に対して、投影パターンの選択は一般に、有用性に大きな影響を及ぼす。長年にわたり、その分野では、新しいタイプの投影パターン、およびそれらに対して調整された新しい視覚アルゴリズムに起因して、性能、堅牢性、3D精度、速度および多用途性における著しい増強が見られる。かかる進展の根底は、使用すべき最適パターンは何であるか、およびそれらが作成する画像をどのアルゴリズムが処理すべきであるかという問題である。この問題は20年以上前に提起されたが、答えは一般に解決困難であると考えられた。一般に、パターン設計は主に、実際的な考慮事項、および多くの分野(例えば、通信、符号化理論、整数論、数値解析、および同様のもの)から借用された直感的概念によって推進されている。
本実施形態は、構造化光に対して最適なパターンを決定するためのアプローチを提供する。本実施形態の適用では、一連のパターンを1つずつ、静止場面に投影し、カメラを使用して三角測量により画素ごとの深度を推定するためのアプローチが示されている。第1の原理から始まって、予期される誤ったステレオ対応数を定量化するパターンシーケンスの空間に関する目的関数が導出され、次いでそれが最小限にされる。
一例では、本実施形態を使用した最適化は、入力としてプロジェクタの解像度および所望の数の投影パターンを取る。これらのパラメータに加えて、本実施形態は、特定のシステム(例えば、図1を参照)を使用する3D精度に対して正確に最適化されるパターンを生成できる。例えば、特定のシステムに対して、プロジェクタおよびカメラの特定の配置、3Dスキャニング量の形状および次元、イメージングシステム全体の雑音特性およびピーク信号対雑音比、プロジェクタレンズのデフォーカス特性、パターンの空間周波数に関する所望の上限、ならびに任意の未知の場面幾何形状を考慮に入れる。従って、他のアプローチとは対照的に、本実施形態は、画一的なパターンシーケンスに対する閉形式または「コードブック」を提供せず、むしろ、場面に依存しないパターンシーケンスをオンザフライで対話形式に近い速度で生成する方法が提供され、そのためにパターンおよび関連付けられた再構成アルゴリズムが最高の性能のために容易かつ自動的に適合できるようになる。このパラダイムは構造化光アラカルト(structured light a la carte)と呼ばれる。
本開示の実施形態では、投影パターンとは無関係にステレオ対応を決定するために最尤復号アプローチが使用できる。このアプローチは、パターン固有のデコーダと計算的に競合力があるだけでなく、パターン最適化問題自体も扱いやすくする。このように、パターンシーケンスが引き起こし得る予期される誤差を定量化する方法を与えることにより、本実施形態は、数値的に最適化できるシーケンスに関する目的関数をもたらす。
好都合に、本実施形態は、構造化光イメージングをアルゴリズム設計(例えば、パターンの作成、位相のアンラップ、対応の計算、プロジェクタデフォーカスへの対処に対する)の問題から問題特定(パターンはいくつか、どの可動範囲か、イメージングシステムは何か、など)の1つに変えることができる。同様に好都合に、本実施形態は、厄介な事例、つまり、少ないパターン数、幾何学的に複雑な場面、低信号対雑音比、および同様のもの、に関して他の符号化方式をしのぐことができるパターンシーケンスの発見を実証することができる。同様に好都合に、本実施形態は、周波数成分に関して制約のない間接光に堅牢性を与えることができるイメージングシステムの出現を提供して、パターン最適化に対して新たに獲得された自由度を与え、このより大きな設計空間は本アプローチで自動的に探索できる。同様に好都合に、本実施形態は、(1)正確というよりも、近似の対応を回復するように設計されたシーケンス、および(2)既に組み込まれている自由空間およびステレオ幾何形状に関する情報を用いて設計されたシーケンス、を含む、固有の特性をもつパターンシーケンスの新しいファミリーを生み出す定式化を提供できる。これは、幾何学的な場面制約を、信頼性の低い3Dデータを後処理することによってそれらを強化するのではなく、パターン自体を用いて、さらなる信頼性のために光領域へ直接符号化する。
一般に、構造化光三角測量は2つの根本的な問題、すなわち(1)どのパターンを場面に投影すべきか、および(2)場面の捕捉された画像からプロジェクタ・カメラのステレオ対応をどのように決定するか、に対処する必要がある。一般に、投影パターンの「良好な」セットは、エピポーラ線上の画素に対する1次元位置符号化問題を解決することと考えることができる。逆に言えば、カメラ画素のステレオ対応を決定することは一般に、位置復号問題と考えることができる。
符号行列を決定するために、K投影パターンのセットが、エピポーラ線上の各画素pに対するK次元符号ベクトルcpに暗黙に割り当てることができる(図2の例を参照)。cpの要素は、個々のパターン内の画素の強度であり、それらは非二値にでき、各符号ベクトルが可能な限り弁別的になるように選択されるべきである。これは、Kが減少するにつれ(すなわち、より低次元のベクトルは弁別的ではない)、かつ画素数が増加するにつれて(すなわち、区別すべき多くのベクトルがある)、行うのがより困難になる。エピポーラ線の符号ベクトルは符号行列Cで表される。この行列はN画素のエピポーラ線に対してK×Nのサイズを有する。
位置復号に関して、カメラ画素qが考慮される。その画素で観測されたK強度は、K次元観測ベクトルo
qを定義する。このベクトルおよび符号行列Cを所与として、位置復号の目標は、その対応するプロジェクタ画素p
*を推測することである。観測は測定雑音によって破損されるため、また観測ベクトルと符号ベクトルとの間の関係は一般的な場面に対して非常に非自明であり得るため、これは困難な問題であり得る。プロジェクタ画素p
*は最尤(ML)問題として定式化できる:
式中、Pr(o
q|c
p)は画素qの符号ベクトルの真のステレオ対応がCの列pである尤度である。この定式化は、精神において、ベイズ(Bayesian)飛行時間型深度推定に何となく近い可能性があるが、画像形成モデルおよび復号手順は非常に異なる。推測されたp
*対応は、真の対応pと一致することもあれば、一致しないこともあることに留意されたい(図2の例を参照)。
位置符号化に関して、符号行列Cは復号誤差を最小限にするように選択できる。所与のプロジェクタ・カメラシステムおよび特定の場面に対して、この誤差は、デコーダ(本実施形態の機械学習デコーダなど)によって生成された誤った対応を数えることによって定量化される:
式中、Match(q)は画像画素qの真のステレオ対応であり、εは小さい対応誤差を容認する許容閾値であり、1()は指標関数であり、総和はエピポーラ線上の全部の画素にわたる。所与の場面およびイメージングシステムに対して式(3)中の誤差関数を評価することは、最適化、すなわち、式(2)中の復号問題を解決することを必要とすることに留意されたい。
最適な位置符号化は、誤った対応の予期される数を最小限にする符号行列
を見つける問題として定式化できる:
式中、
は尤もらしい場面および撮像条件のユーザー指定領域に関する期待を示す。
は許容値εに対する最適な符号行列と呼ばれる。
本実施形態は、計算するのが効率的な式(4)中の入れ子になった最適化問題を解くために使用でき、イメージングシステム特有の情報およびユーザー制約を利用できる。一実施形態では、その問題は、尤もらしいエピポーラ輸送行列の空間における最適化として位置付けられる。本実施形態は従って、低雑音設定においてほぼ最適な構造化光再構成のために相関ベースの機械学習(ML)デコーダを使用できる。このデコーダを使用すると、本実施形態は、softmaxベースの近似を式(4)の目的関数に提供し、それを最小限にしてステレオミスマッチの予期される数を最小限にするパターンを得る。
形式的分析を簡略化するために、全ての光輸送はエピポーラであると想定できる。具体的には、観測ベクトルは対応するエピポーラ線上の符号ベクトルにだけ依存すると想定される。この条件は、大域的光輸送、プロジェクタの焦点ぼけおよびカメラの焦点ぼけがごくわずかである場合、従来の方式で取得された画像に当てはまる。それは、場面の内容にかかわらず、厳しい大域的光輸送の存在下でさえ、エピポーラのみのイメージングシステムによって捕捉された全ての画像にも当てはまる。
エピポーラのみのイメージングを保持し、本システムがラジオメトリックに較正されている場合、符号ベクトルと観測ベクトルとの間の関係は、以下によって与えられる(図3の例を参照):
式中、O
1、...、O
Mは、エピポーラ線上の全ての画素の観測ベクトルであり、a
1、...、a
Mは、周囲照明のこれらの画素への寄与であり、1は全て1の列ベクトルであり、行列eは観測雑音であり、TはN×Mエピポーラ輸送行列である。この行列の要素T[p,q]は、直接表面反射、大域的輸送、およびプロジェクタまたはカメラの焦点ぼけによりプロジェクタ画素pからカメラ画素qへ輸送された全光束を記述する。観測行列Oの一例が図11に示されている。
式(5)のエピポーラのみのモデルは、場面の幾何形状および反射率ならびに場面の撮像条件を符号化する。その結果として、式(4)の位置符号化目的関数における期待値は、尤もらしいエピポーラ輸送行列T、周囲ベクトルa、および雑音行列eに関する期待値として最適に表現されることになる。
尤もらしい行列Tの空間に関して、たとえN×M行列の空間が極めて大規模であっても、構造化光イメージングに関連する行列ははるかに小さい空間に属する。これは、間接光と関連付けられたTの要素が一般に、直接要素よりもはるかに小さい大きさしか有していないからであり、従って無視できる。これはその結果として、尤度および期待値を計算するのを非常に効率的にする。具体的には、本実施形態は、以下の3つのファミリーに対してML復号および最適符号化を検討する:
(A)直接のみのT、制約なし:Tの非ゼロ要素は直接表面反射を表し、各カメラ画素は最大で1つのプロジェクタ画素からの光を受光する。その結果として、Tの各列は最大で1つの非ゼロ要素を含むことになる。その上、その要素の位置は真のステレオ対応と考えることができる。観測ベクトルは従って、雑音のあるスケーリングおよびシフトされた符号ベクトルである:
式中、ベクトルe
qは雑音を示す。Tの各列内の非ゼロ要素の位置は、集合{1,...,N}からランダムに得られ、その値T[p,q]は、[0,1]に関して一様な互いに独立で同一の分布に従う(i.i.d)ランダム変数であると推定される。これはTの非ゼロ要素の位置および大きさに関して完全に非依存(agnostic)となる。
(B)幾何的制約のある直接のみのT:前述のファミリーは幾何学的に尤もらしくないステレオ対応を排除するように制限される。これらは、その関連付けられた3D光線が像平面の後ろまたはユーザー指定の可動範囲の外側のいずれかで交差する(図4Aの例を参照)Tの要素である。これらの無効な要素は、二値指標行列Gで指定される(図4Bおよび図4Cの例を参照)。この行列を所与として、Tの各列内の非ゼロ要素の位置はその列の有効な要素から一様に得られると想定できる。図4Bは、他の全ての要素の3D光線がカメラの後ろで交差するので、Tが下三角である幾何学図を示す。図4Cは、Tの非ゼロ要素が可動範囲(例えば、(a)の黒い四角)を知ることによってどのようにさらにもっと制限されるかの幾何学図を示し、プロジェクタ(緑)およびカメラ(青)からのその深度範囲(赤)およびその角度範囲は、その交差が全ての有効な対応を含むT内の領域を画定する。
(C)プロジェクタの焦点ぼけのある直接のみのT:前述の2つのファミリーはプロジェクタの焦点ぼけをモデル化しない。いくつかの事例では、これは、いくつかの点を照射し得る焦点ぼけした投影パターンの正しいモデル化を防ぐことができるだけでなく、そのデフォーカスキュー(defocus cue)において得られる豊富な形状情報も無視し得る。カメラ画素は複数のプロジェクタ画素からの光を受光し得るので、観測ベクトルは符号ベクトルの雑音のあるスケーリングおよびシフトされた混合物である:
式中、Tはファミリー(A)または(B)からの直接のみの輸送行列である。式(7)中の係数
はデフォーカスカーネルの主要因である。このカーネルは深度に依存し、従って、各行列要素T[p,q]は係数の異なる集合と関連付けられる。係数自体はプロジェクタを較正することによって計算できる。式(7)は、場面の輸送行列を、そのi番目の行が
である新しい行列T´になるように設定することにより、式(5)のエピポーラ画像形成モデルに従うようにすることができる。
観測雑音および周囲ベクトルに関して、ML位置デコーダの最適性は一般に、信号に依存せず正規分布している雑音に依存する。他方、位置エンコーダは、そのパラメータが既知である限り、センサー雑音の任意のモデルに適合できる。いくつかの事例では、周囲ベクトルaの要素は、[0,amax]にわたる一様分布に従うと想定でき、ここでamaxは最大画素強度の割合として表現される周辺光の最大寄与である。
一例では、符号行列Cを前提とし、エピポーラのみの画像形成モデルに従う、観測ベクトルoqが与えられる。タスクは、符号行列の内容に制約を課さないこの問題に対する汎用解を求めることにより画素qのステレオ対応を識別することであり、それは、MPSもしくはXOR符号などの、先験的に定義された符号ベクトルを含み得るか、または最適化を通して自動的に計算される一般行列であり得る。
前述を解決するために、本実施形態は、oqと符号ベクトルとの間のゼロ平均正規化相互相関(ZNCC)を決定して、それを最大化するものを選択できる。このアプローチは、雑音がゼロになるにつれ、かつ個々の符号ベクトルの差異が同じになるにつれて、最適になる。
復号に関して、観測ベクトルおよび符号ベクトルが式(6)に従って関連する場合:
式中、
vはN符号ベクトルの差異の分散であり:
mean()およびvar()は符号ベクトルの要素にわたり、σは雑音標準偏差であり、Pr(o
q|c
p)は周辺寄与およびT[p,q]の値を除外することによって定義される:
ここでZNCCデコーダは次のように定義される:
焦点ぼけした復号(defocused decoding)に関して、観測ベクトルおよび符号ベクトルが式(7)に従って関連する場合:
ここでN×N行列T
qは全ての考えられる対応画素pに対してカメラ画素qにおけるデフォーカスカーネルを保持する、すなわち、
ZNCCデコーダの準最適性は少なくとも2つの理由で好都合である。第1に、特定の符号に対してぴったり合った復号アルゴリズムを設計することによって得られる精度優位性は潜在的にないことを示唆している(例えば、図5を参照)。第2に、式(4)の入れ子になった位置符号化最適化を従来の非線形最適化に変換することを可能にする。これは、本明細書で説明するように、最適化された符号行列の自動生成への扉を開く。
図5は、ZNCC対ネイティブ復号の図である。左側では、最大周波数FのK個のMPSパターンが既知の平面標的に投影され、本実施形態のZNCCデコーダおよびMPSを使用するものを使用して対応誤差を計算する。右側では、それらの2進補数と一緒に投影された、10のGray符号および10のXOR-04符号に対する類似の比較である。2値化技術が「ネイティブ」復号に対して使用される。これらの符号は周波数境界がないので、それらは画像PSNRに対してプロットされる。いずれにしても、ZNCC復号は少なくとも同様の結果をもたらす。
本アプローチは、式(3)中の関数Error()に対して連続近似を発展させることによって開始できる。この関数は、所与の符号行列Cが特定の場面および撮像条件、すなわち、特定の輸送行列T、観測雑音e、および周囲ベクトルa、に適用される場合に生じる復号誤差をカウントする。行列Cに関する位置符号化目的関数を評価するために、S個の適正なサンプルがT、eおよびaに関して引き出される:
いくつかの事例では、誤差の復号のためにsoftmax近似が使用できる。最適なデコーダがカメラ画素qをプロジェクタ画素pにマッチさせたか否かを知らせる2値変数を考える。この変数は、以下の式(15)~(17)を使用して3つのステップ内の連続関数によって近似できる。式(15)は、プロジェクタ画素pがqにマッチするために、pの符号ベクトルの尤度は他の全てよりも大きい必要があると述べる。次いで式(16)が続き、尤度のZNCCスコアとの置換を可能にする。最後に、式(17)はsoftmax比率で指標変数を近似する、すなわち、スカラーμが無限大に近づくにつれて、比率は、画素pのZNCCスコアが最大の場合に1になり、そうでなければ0になる傾向がある:
エピポーラ線上の全ての正しいマッチをカウントするために、softmax比率が全ての画素qの真のステレオマッチにおいて評価でき、次いでそれらの合計が計算される。式(18)中の表記法を使用すると:
最後に、許容パラメータεを組み込んでステレオ対応における小さい誤差を容認する:
場面および撮像条件のサンプリングのために、その幾何的制約が行列Gである直接のみの行列が構築される。まず、有効なステレオ対応がGに従い各カメラ画素にランダムに割り当てられた;このようにして、いくつかの事例では、行列Gによって決定された、3D空間の特定のサブセット内に存在するように制限されるように、対応が生成できる。これは、Tの各列内の単一の非ゼロ要素の位置を指定する(例えば、図3を参照)。次いで、ランダム値をそれらの要素の各々に独立して割り当てることができる。結果は、有効な直接のみの輸送行列、すなわち、前述のファミリー(B)からのサンプルである。プロジェクタの焦点ぼけおよび幾何的制約を吸収するファミリー(C)サンプルT´を構築するために、直接のみの行列TがGに従って構築され、次いで深度に依存するデフォーカスカーネルを組み込む。
図3は、K個の画像にわたる単一のエピポーラ線に対する画像形成の生成モデル例の図である。行列Oの各列は観測ベクトルであり、各行はエピポーラ線上の全ての画素にわたる単一の画像からの観測を収集する。全ての行は同じ入力画像と関連付けられ、全ての列は同じカメラ画素qと関連付けられる。灰色の列および行は同じプロジェクタ画素pと関連付けられる。
最適化のために、Adamオプティマイザを使用して、式(13)中の目的関数に関して確率的勾配降下法を、例えば、0.01の固定学習率で、実行する。いくつかの事例では、ユーザー指定のパラメータは、(1)プロジェクタ画素数N、(2)カメラ画素数M、(3)投影パターン数K、(4)所望の許容パラメータε、および(5)幾何的制約行列G、であり得る。最適化の結果は符号行列
である。
一例では、最適化は、式(13)の目的関数を定義するために、ランダムなK×N符号行列Cで初期され、反復1で合計S=500のサンプル(T,e,a)を取り出す。これらのサンプルは「検証セット」として機能し、所定の誤差条件が達成されるまで(例えば、誤差が閾値を下回るまで、誤差が最小限にされるまで、または収束まで)固定のままである。勾配計算のために、反復ごとに2つの新しいランダムに取り出されたサンプルを含むミニバッチが使用される。一例では、最適化はおよそ250反復(6パターン行列に対して8コア2.3GHzラップトップ上で152秒)で収束する。サンプル数の増加は
の質(すなわち、他のランダムに生成された場面および撮像条件に関する復号誤差の数)にあまり影響を及ぼさなかったことが分かった。対照的に、softmax乗数μの値が相当な影響を及ぼしていることが分かった、すなわち、μ<300に対して、質における大幅な低下があるが、その値を超えてそれを増加させてもほとんど効果がない。この例では、μ=300が示された全ての結果に対して使用された。
周波数が制限された投影パターンに対して、多くの構造化光技術は、ユーザー指定された閾値F程度の空間周波数での投影パターンの使用を推奨する。これは、最適な符号行列に関する追加の設計制約と考えることができる。明示的にそれを強制するために、本実施形態は、各反復で計算された符号行列を、制約を満足している行列の空間に投影することができる。
先進的なセンサー雑音モデル化のため、ZNCCデコーダは一般に、付加的ガウス雑音に対して最適であるが、式(13)中の目的関数は任意のセンサー雑音モデルを取り込むことができ、例えば、サンプルは単に、カメラの雑音分布からのeの取り出しである。本発明人は、これは最適化された符号の現実世界での性能を著しく改善できると判断した。
最適な符号行列を生成するために、本実施形態の実験例では、図6は、オプティマイザによって生成されたいくつかの符号行列を示す。符号は、ユーザー指定に応答して有意に適応する非常に多様な構造を示すことが検査により明らかである。周波数成分を増加させると(行2)、より弁別的なベクトルに起因して、ほとんど構造のない混同行列を生じる。興味深いことに、より低いピーク信号対雑音比(PSNR)条件に適応された符号は、より粗い構造の混同行列を持つ。しかし、それらの行列の現実世界での性能における相当な差は観測されなかった。図6の行3は、幾何的制約に対する符号の適応を示す。具体的には、無限遠平面上の点だけがDecode(q)=qをもつことができ、より近い3D点に対して、カメラ画素はその右側のプロジェクタ画素にマッチできるだけである(図4b)。制約のないTに対する符号行列(行3の2番目のボックス)を下三角Tのそれ(行4の最初の列)と比較すると、混同行列内での著しい再構築が見られ、最適化は、符号の弁別性を有効な3D点をもたらすそれらの符号ベクトルにだけ効果的に「フォーカス」する。他方、正確な対応ではなく、近似を計算する符号行列は、それらの混同行列内により粗い構造を示す(行4)。
図6の実例図に対して、
・行1:パターンの最大空間周波数がF=4に設定されて、画像PSNRが我々の撮像条件(フレーム率=50Hz、カメラゲイン=1、既知の読み出し雑音、フルインターバルに及ぶ画素強度[0,1])に対して最大に設定される。次いで、異なる数のパターンおよび他の制約のない608画素プロジェクタに対して最適な符号行列が計算される。
・行2:次いでK=4が選択され、他の全てを上のように固定して、最大空間周波数上の異なる限界(bound)に対して、最適な行列が計算される。
・行3:周波数が8に設定され、この場合もやはり他の全てを上のように固定して、画素PSNRの異なる値(すなわち、最大画像強度が次第に小さくなる)に対して最適な行列が計算される。
・行4および5:同じアプローチが、視差に関する異なる下限(すなわち、最大場面深度が次第に制限される)、および対応誤差における異なる許容に対して続く。
本明細書で説明する実験例では、画像は、Lensation F/1.6レンズ(モデルCVM0411)を装着した、IDSによって供給された1280×1024モノクロカメラ(モデルIDS UI-3240CP-M)を用いて50Hzおよび8ビットで捕捉された。パターン投影のために、Keynote Photonicsによる100ルーメンDLPプロジェクタ(モデルLC3000)が608×684のネイティブ解像度で、赤のLEDだけをオンにして使用された。ガンマ補正が無効にされて、システムの線形放射応答によって検証され、センサーの光子伝達曲線を測定した。これは、標的上の各画素に対して独立してPSNRの正確な測定を得るのを可能にした。画素雑音の3つの異なるモデルが位置符号化最適化に対して実験された:(1)付加的ガウス、(2)付加的読み出し雑音のあるポアソンショット雑音、および(3)付加的読み出し雑音のある指数関数的雑音(exponential noise)。
グラウンドトゥルースに対して、有界の周波数のランダムな雑音パターンが白い紙に印刷されて、ステレオペアから60cm離れた平面標的上に置かれた(例えば、図7の下行、3番目の列を参照)。「グラウンドトゥルース」視差マップを取得するために2つの異なるパターンシーケンスが使用された:すなわち、160の従来の位相シフトされたパターンおよび20のXORパターン(補数コードを含む)。最大画像強度が白い投影パターン(すなわち、最も明るい画素における高PSNR領域)に対して200になり、標的上のレンズにフォーカスされるように絞りが調整された。画素の97%に対して、2つのマップにおいて視差は同一であり、残りは±1の視差だけ異なっていた。従って、これらのマップに対して97%を上回る正確さは重要ではない。符号行列の全ては、指数関数的+読み出し雑音モデルを用いてこれらの高PSNR条件に対して最適化された。
定量的評価のために、最も困難な事例にフォーカスした:すなわち、ごく少数のパターンおよび低PSNR。低PSNR性能を評価するために、白い投影パターン下で最も明るい画素強度が60になるように絞りを小さくし、その対応がグラウンドトゥルースのε内である画素をカウントする。図7の例は、全ての符号に対して同じZNCCデコーダを使用して、最適化された符号行列をMPSおよびEPSのそれらと比較する。これらの結果からいくつかの観測を行うことができる。第1に、符号行列は、示された全ての事例においてMPSおよびEPSよりも性能が優れている。第2に、符号は、より高い空間周波数においてEPSおよびMPSよりも著しく性能が良い。これは、それらの符号化方式が高周波数パターンを生成するように特別に設計されているという事実にもかかわらず、である。カメラの絞りはこれらの実験では小さかった(すなわち、大きな被写界深度)ので、高周波数におけるMPSおよびEPSの性能低下は、カメラの焦点ぼけで説明できないことも注目する価値がある。第3に、幾何的制約は、少ないパターン数において全ての符号に対する大きな性能の利点を持つ。しかし、ゲインは、本実施形態の符号に対して厳密に最適化されているので、本実施形態の符号に対してより高い。第4に、幾何的に制約されて、小さい誤差許容に対して最適化されている符号行列はほとんどの周波数に対して低い二乗平均平方根誤差(RMSE)を生じる傾向がある。
図7の上の行、および下の行の最初の2つの列において、各データ点は、同じパターンシーケンスでの3つの独立した取得を表す。エラーバーは、それらの実行における正しい対応の最小および最大の割合を示す。上の行ではq=0が最適化のために使用され、下の行ではq=1が使用された。実線は、符号最適化および復号に幾何的制約が課されない場合の結果を示す。破線は、深度が制約された幾何行列Gが使用される場合に何が起こるかを示す。EPSおよびMPSに対して、制約は復号のためにのみ使用される、すなわち、それはZNCCスコアを最大限にするものに対して有効な対応の中で検索される。他方、符号は、その制約に対して最適化され、同様にそれで復号される。図7の下の行はRMSEプロットを示す。
いくつかの物体の再構成のための実験例の定性的結果が図1(4つのパターンを使用)および図8(5および6のパターンを使用)に示されている。図1における比較は、幾何的に制約された符号を計算することは結果の質、および定量比較において観測される傾向にも明らかな影響を及ぼすことを示す。図8では、暗い場面の再構成、ならびに有意な間接光のある場面が特別に選択されて、低PSNR条件および一般的な光輸送下で性能を比較した。深度マップはEPSおよびMPSよりも著しく少ない外れ値を有し、深度不連続によってあまり影響されないことが観測された。その上、間接光に対して特別に最適化されていないにもかかわらず、そこでも良好な深度マップが取得される。
図8は定性的比較を示す。左側の場面に対して、同じZNCCデコーダおよび同じ三角形幾何行列Gで、3つのアプローチを使用して深度マップを取得した。各アプローチに対して、範囲内のいくつかの最大周波数に対して場面が再構成され、各アプローチの最良実行周波数に対する深度マップが示されている。図8の一番上の行には、暗く、ニス塗装を施して彫刻された木製トランクの5つのパターンでの再構成が示されている。図8の中央の行には、6つのパターンを使用するイメージングの以前のアプローチを使用した有意な間接輸送(ボウル、ろうそく、および凸状楔(convex wedge))のある場面の再構成が示されている。図8の下の行は、もっと多くのパターンで取得された深度マップを、前述の深度マップの断面および視差誤差のヒストグラムと一緒に示している。参考のため、正確に同じパターンでエピポーラのみのイメージングを使用して取得された深度マップの断面、ならびにエピポーラのみのイメージングを使用して周波数16~31の160シフトされた余弦パターンで取得された「グラウンドトゥルース」深度マップも含まれる。
図1の一番上は、プロジェクタの行に沿って投影された1D画像である投影パターンを示す。それらのシーケンスは符号行列(例えば、図10に示されるような)を定義し、その列は画素位置を符号化する。最適な符号行列を使用してステレオ対応を計算するためのフレームワークがオンザフライで生成される。これらの行列は、個々の行列の列があまり弁別的でない場合に生じるステレオ誤差の予期される数を最小限にする。図1の中央は、異なる数の投影パターン、画像の信号対雑音比、空間周波数成分(上で示されたサンプルパターン)など、に対して、最適な行列の全空間が存在することを示す。図1の一番下は、左側に示された物体の深度マップを計算するために2つの自動生成された4パターンシーケンスが使用されることを示す。両方とも、境界ボックス制約無し(中央)および有り(右側)で、ステレオ誤差に対する1画素許容に対して最適化される。
好都合に、本明細書で説明する実施形態は、位置符号化目的関数で、極めて単純な1層ニューラルネットワークとして見ることができる。
本明細書で説明する実施形態は、場面から反射された光の強度を捕捉してその場面の正確な3Dモデルを作成するためにパターンのセットを備えたプロジェクタおよびカメラを使用して3次元(3D)イメージングを提供する方法およびシステムを提供する。
一般に、プロジェクタによって投影された点または画素とカメラによって捕捉された点または画素との間の対応を判断するために三角測量の原理が使用される。このようにして、本システムは、プロジェクタ上の全ての点のカメラ上の点との対応を近似的に判断する必要がある。
この対応を判断するために、異なるパターンを場面に投影し、反射された光をカメラで捕捉するプロセスが反復される。各画素に対して、カメラは、各それぞれ投影されたパターンに対する強度を測定することにより異なる強度を感知して、投影された画素の強度が何であるかを知る。典型的には、画素の対応は非常に多くの光のパターンを投影することによって判断できる。しかし、これは、時間もしくはエネルギーがあまりない場合、パターンが素早く投影される必要がある場合(移動物体に対してなど)、または撮像が屋外で行われて、非常に明るいパターンを投影するのに多くのエネルギーを費やすのが望ましくない場合には問題であり得る。
本明細書で説明する実施形態は好都合に、比較的少ない数のパターン、例えば、20パターン、および比較的少量のエネルギーで対応を判断することにより、場面の良好な幾何形状の判断を得るために使用できる。
本明細書で説明する実施形態は、特定のシステム配置および設定に対してカスタム設計されるパターンを設計するために使用できる。例えば、カメラがどこに位置付けられていて、プロジェクタがどこに位置付けられているかが分かっている場合。この事例では、そのシステムに対して最適化する調整されたパターンが非常に迅速に、例えば、2~3分の間に、決定できる。本明細書で説明する実施形態は、特に、信号に対して多くの雑音がある微光条件に対して、雑音に対して比較的堅牢な方法で幾何形状を判断するために使用できる。
追加として、本明細書で説明する実施形態は、生成されているパターンとは無関係な対応アルゴリズムを生成するために使用できる。従って、本明細書で提示するアルゴリズムは、単純で一般的な画素対応を提供し、どのパターンが使用されるかに関係なく使用できる。従って、いくつかの事例では、対応アルゴリズムは、任意のパターンに対する幾何形状を捕捉することにより、任意の構造化光システムをもっと正確にできる。
本明細書では、使用されるプロジェクタおよびカメラ、ならびにそれらそれぞれの設定に関係なく、対応を判断するための方法およびシステムも提供される。カメラおよびプロジェクタに関する情報が既知であると仮定する代わりに、本実施形態の方法はシステムがカメラおよびプロジェクタのかかる特性を発見するのを可能にする。
本方法およびシステムの実施形態は、ニューラルネットワークを使用して最適な投影パターンを学習し、以前のアプローチを一般化して精度を著しく改善する。
本実施形態の方法では、既知の幾何形状の物体が場面内に配置されて、プロジェクタがそれに投影し、カメラがそれに反射した光を受光する。特定の事例では、物体は、その面の1つがプロジェクタとカメラとの間に向けられた平面ボードである。特定の事例では、この平面ボードは、それに付着されたパターン(テクスチャ)、例えば、ランダムなグレースケール画像、を有する。
この例では、平面ボードの幾何形状は容易に知ることができるので、平面ボードが使用される。テクスチャは、特定の点の局部近傍がどのように見えるかに関係なく、本システムに対応を解決させ得るので、使用される。
例示的な事例では、カメラによって受信された画像上の各画素に対する対応するプロジェクタ画素との対応を判断することは、その画素の近傍、例えば、典型的には3画素幅×3画素高さ、を考慮することによって行うことができる。この例では、投影されたパターンは、1画素幅で高さが3画素以上の分離された1次元の細片(列)である。いくつかの事例では、各列は同じ強度を持つことができる。
この例では、ニューラルネットワークを訓練するために、多くのパターンが既知の平面ボード上に平面ボード上のほとんどまたは全部の点まで投影され、いくつかの事例では、所望の精度に応じて、30、50、または100のパターンが投影される。これら全ての投影されたパターンを用いると、結果として生じる捕捉された訓練データセットは恐らくかなり良好な幾何形状を与えることが予期できる。次いで本システムは平面の表面を捕捉された訓練データセットに当てはめる。次いで各画素に対して、本システムは既知の幾何形状の物体を捕捉された訓練データセットに当てはめるので、本システムはどの捕捉された画素が各投影された画素に概ね対応するかを知ることができる。それは既知の平面ボードであるので、たとえ少しの外れ値があっても、本システムはそれをグラウンドトゥルースとして使用できる。
本システムは「K」のパターンを既知の幾何形状の場面に投影して潜在的に数千の訓練サンプル(画像列ごとに1つ)をもたらすことができる。本システムは次いで、場面の画像を捕捉して、例えば、列の15%をランダムにサンプリングできる。勾配は:
を使用して決定され、式中、
はサンプルにおいて評価される。
このように、投影パターンkの画素qにおける小さな強度変化がカメラ画素pの強度にどのように影響を及ぼすかを測定する。本システムは従って、現在の反復内でパターンkを投影して、画像を捕捉する。本システムは次いで、小さい値を画素qに加算することによってパターンを変更できる。変更されたパターンが投影されて新しい画像が捕捉される。前述の勾配がそれらの差から決定される。
このようにして、符号化方式がリアルタイムで生成されて、実際の捕捉セッションの特定のセットアップおよび信号対雑音比に対して最適化される。
ニューラルネットワークの精度を判断するために、本システムは、例えば、4つの予め決められたパターンを平面ボード上に投影できる。そのパターンは、カメラの画素によって捕捉され、ニューラルネットワークを通過して、対応が出力される。この対応は、平面の表面に対して何が予期されるかに関してそれが正しいことを確実にするために確認できる。この確認は、グラウンドトゥルースに対して最適化できる損失関数を生成できる。このようにして、本システムは、その幾何形状が正確に捕捉されていると確信できる。
精度が評価される場合、本システムは、どれくらいの割合の画素が完全に正しい対応を得るかを判断するか、または画素を一緒に照合する際にニューラルネットワークがどのくらい良好に性能を発揮するかを見るための領域を決定する。例えば、
は、いくつが完全に正確かの測定であり、
は、離れた画素が1つ以内でいくつが正確かの測定であり、
は、離れた画素が2つ以内でいくつが正確かの測定であり、以下同様に続く。
前述の例では、4つのパターンが使用されて、ニューラルネットワークへの入力として捕捉できる。捕捉された画素の3×3行列、および4つの異なるパターンを用いると、全ての投影パターンにわたる局部近傍を記述する全部で36の画素、従って、36次元ベクトルがある。この36次元ベクトルは、例えば、50次元の畳み込み層を有するニューラルネットワークを通過できる。本システムは次いで、投影された画素に対して同じことを行う。この例では、3画素高さの列、および4つの異なるパターンは、12画素次元ベクトルを生成する。このベクトルは、50次元の畳み込み層を通される。
この例では、画素は、前述の出力をゼロ平均正規化相互相関(ZNCC)に通すことによって照合できる。この出力は次いで、どの近傍が最も可能性の高い対応を提供するかを判断するためにsoftmaxに通される。このようにして、ニューラルネットワークは画素間の最も可能性が高い対応の重みを学習できる。実験では、これは高い精度、例えば、70%以上の精度、を与える。
好都合に、本明細書で説明する実施形態は、ランダムパターン、ならびに未知の特性のカメラおよびプロジェクタで開始して、画素対応自体を学習できる。従って、たとえ異なるタイプのカメラおよびプロジェクタが同じ構造化光パターンを用いてさえ異なって動作しても、本システムが、指定の機器を使用する必要なく、深度および幾何形状を判断するのを可能にする。これは、ユーザーが必要に応じて異なる機器またはパターンをスワップアウトするのを可能にする。
追加として、従来のシステムは典型的には、グレースケールカメラおよびプロジェクタを使用する。本実施形態では、本システムはカラーパターンおよびカラーのカメラを使用でき、それは恐らく少ないパターンを使用すること、従って比較的良好な性能を有することを意味し得る。
いくつかの事例では、本システムを訓練するために既知の訓練物体の材料を使用することは、ユーザーが最終的にその材料をもつ物体のクラスをスキャンしようとする場合、それは一層良好な性能を提供できるので、有用であり得る。
図9は、本明細書で説明するシステムの一実施形態の例示的なセットアップを示す。プロジェクタは縞パターンを物体(ウサギ)上に投影する。投影された各画素は、ほぼ同一のエピポーラ面内でカメラ上の画素によって受信される。このようにして、本システムは、各カメラ画素pのステレオ対応を見つけるために能動的な照射下で1以上の画像を捕捉できる。
本実施形態のシステムは従って、(ほとんど)何でも、迅速に、低電源で、(所与のシステムに対して)高精度で、かつ比較的高い空間密度で、再構成することができる。追加として、本システムは、いかなる較正もしくは新しいプログラミング、または事前の訓練データなしで、これらの機能を新しいイメージングシステムに対して一般化することが可能であり得る。
いくつかの事例では、本システムは、後処理、例えば、クリッピング、局所的クリーンアップ、大域的最適化、または同様のものなど、を使用できる。
図12は、各画素に中心がある3画素近傍を使用して復号するためのシステムの実施形態の略図例を示す。
図13は、ニューラルネット復号のためのシステムの実施形態の略図例を示す。
本開示の実施形態では、本発明人は、構造化光イメージングシステムの最適な性能のための光学的自動調整を開発した。光学的自動調整は、少なくとも、(1)静止場面のマルチショット深度取得のために使用する最適な照射、および(2)捕捉されたショットから場面の深度マップへの最適なマッピング、をオンザフライで学習できる最適化を可能にする。例えば、本発明人により本実施形態を使用して実行された実験例を示す図16を参照されたい。図16の上の行には、スマートフォンで捕捉された最適な構造化光の例が示されている。ランダムに着色されたボードをOptoma 4KプロジェクタおよびHuawei P9フォン(左上隅)の前に位置付け、それらを5つのカラーストライプパターン(中央上)に対して自動調整し、それらを使用して新しい場面(右上の挿入)を再構成した。図16の中央および下の行には、低性能プロジェクタでの最適な構造化光が示されている。LG PH550プロジェクタおよびモノクロIDS-UI3240CPカメラが、本明細書で説明するボードを用いて4つのグレースケールパターンに対して自動調整され、次いで場面を再構成した。色分けされた視差マップが4つの異なる方法で取得された:つまり、本実施形態(「我々のもの」)に従って自動調整されたパターンを用いて、最適化されたアルゴリズムを生の画像に適用した;他の3つのアプローチでは各々に対する最良性能パラメータ設定で、画像を線形化した。各深度マップには、ゼロ誤差画素の割合と一緒に、ゼロ視差誤差の画素だけが示される。
本実施形態では、光学的自動調整は、それが最適化しているシステムをリアルタイムで制御し、それで画像を捕捉することによって処理できる。いくつかの事例では、要求される最適化に対する入力はショット数だけであり、任意選択のペナルティ関数が各画素の深度誤差に適用される。いくつかの事例では、光学的自動調整の本実施形態は完全に自動であり、手動での初期化、パラメータ調整、システム較正、または事前の訓練データを必要としない。いくつかの事例では、光学的自動調整の本実施形態は、手近にあるシステムに対して予期される再構成誤差の厳密に導出された推定値を最小限にできる。いくつかの事例では、光学的自動調整の本実施形態は、対象のシステムまたは場面に対する正確な画像形成モデルを有することなく、この目標を最適化できる。
光学的自動調整の本実施形態のいくつかの事例では、最適化における最も困難な計算、例えば、システムの正確なモデルに依存する導関数を計算することなど、は、光領域で実行でき、それは実証可能な計算効率を提供する。好都合に、光学的自動調整の本実施形態は、イメージングシステムを、現実的な雑音および光学的不完全性の全てを含めて、それ自体、完全な(または完全に近い)「エンド・ツー・エンドモデル」として扱うことができる。例えば、図17を参照すると、光学的自動調整の一実施形態の実装例が示されている。弁別可能イメージングシステムは、システムがそれらの挙動を光領域内で区別することにより、すなわち、それらの制御ベクトルを反復して調整し、画像を取得して、画像差を計算することにより、それらの挙動を「調べる(probe)」のを可能にする。図に示すように、プロジェクタ・カメラシステムは、投影パターンが制御ベクトルの役割を果たす弁別可能システムの一例である。プログラマブル源およびセンサーの多くの他の組合せは、本明細書で説明するように、この特性を持つことができる。
本開示は、一実施形態では、一部は数値的に、一部は光領域において実行する最適化アプローチを提供する。光学的自動調整は、K個の照射のランダムセットから始まり、それらを使用して実際の場面を照射し、実際の画像を捕捉して予期される再構成誤差の勾配を推定し、確率的勾配降下法(SGD)に従ってその照射を更新する。いくつかの事例では、システムの光源は、それらの照射に対して少しの調整を可能にするのに十分に柔軟であり得、その場面のより高精度(であるが依然として雑音のある)の深度マップを反復して取得するするために独立した機構が利用可能である。
以前のアプローチおよび技術は一般に、システムの非常に正確なモデルまたは広範な訓練データを必要とし、他方、本実施形態はどちらも必要としない可能性がある。さらに、本実施形態は好都合に、「困難な」数値計算を「容易な」光学的なものと置き換える。さらに、光学的自動調整は、いくつかの事例では、小規模のニューラルネットワークを問題固有の損失で、雑音ラベルおよび雑音勾配、ならびに光領域内で一部、実装された訓練およびデータ増強方式を用いて、訓練できる。
好都合に、光学的自動調整の本実施形態は、グレースケールから、カラー、符号化イメージングまで、多くのタイプのシステムの最適化のための共通の計算フレームワークを可能にして、モダリティに関係なく最適化を可能にする。好都合に、光学的自動調整の本実施形態は、高精度の構造化光イメージング(カラーおよびラジオメトリック較正、デフォーカスモデリング、ならびに同様のもの)に対して必要な較正ステップの多くを取り除く。好都合に、光学的自動調整の本実施形態は、他のアプローチによって使用されるよりも遥かに高周波数のパターンを生成する。これは、構造化光に有用な空間周波数の帯域幅ははるかに広く、活用される場合に精度向上をもたらし得ることを示唆する。
ここで図14を参照すると、一実施形態に従い、場面の深度イメージングを最適化するためのシステム100が示されている。当業者によって理解されるように、いくつかの事例では、システム100のいくつかの構成要素は、別個のハードウェア実装上で実行できる。他の事例では、システム100のいくつかの構成要素は、ローカルまたはリモートに分散され得る1つ以上の汎用プロセッサ上で実装できる。
図14は、システム100の一実施形態の様々な物理的および論理的構成要素を示す。図のように、システム100は、いくつかの物理的および論理的構成要素を有しており、1つ以上のプロセッサ102、データ記憶104.出力インタフェース106、入力インタフェース110、照射モジュール108、捕捉モジュール109、最適化モジュール112、再構成モジュール114、および構成要素が相互に通信するのを可能にするローカルバス118を含む。一実施形態では、モジュールは1つ以上のプロセッサ102上で実行できる。他の実施形態では、モジュールは特定のハードウェア内で、または専用プロセッサによって実装できる。いくつかの事例では、モジュールは、組み合わせるか、もっと多くのモジュールに分割するか、またはリモートシステム上で実装することができる。
出力インタフェース106は、本明細書で説明するように、別の電子装置またはコンピューティング装置がデータを送信するか、またはシステム100からの出力を受信するのを可能にする。いくつかの実施形態では、出力インタフェース106はユーザーが、例えば、ディスプレイまたはモニターを介して、かかる出力を見るのを可能にする。いくつかの事例では、システム100からの出力はまた、データ記憶104内に格納できる。入力インタフェース110は、単独で、または出力インタフェース106と共に、照射モジュール108および/または捕捉モジュール109からの指示を受けて、システム100の内部または外部であり得る、画像センサー130およびプロジェクタ140などの、ある装置と通信できる。画像センサー130は、任意の適切な画像取得装置、例えば、可視スペクトルカメラ、赤外線カメラ、スマートフォンカメラ、画素単位符号化撮像カメラ、または同様のものにできる。プロジェクタ140は、照射を、任意の適切なスペクトルで、場面に投影するための任意の適切な装置、例えば、デジタルマイクロミラーデバイス(DMD)ベースのプロジェクタ、レーザーベースのプロジェクタ、シリコン上液晶(Liquid Crystal Technology on Silicon)( LCoS)ベースのプロジェクタ、および同様のものにできる。プロジェクタ140は、本明細書で説明するように、あるレベルの粒度または時空間解像度を有する。
プロジェクタ140は、構造化光を場面に投影し、画像形成を、極めてきめの細かい、ほぼ連続した方法で、制御するために使用できる。いくつかの事例では、プロジェクタ140は、場面の照射を、単一のプロジェクタ画素の個々の濃度の解像度で調整できる。いくつかの事例では、プロジェクタ140は、位相または偏光に対して同様に行うことができる空間光変調器を含むことができる。いくつかの事例では、プロジェクタ140は、レーザーの時間波形をサブマイクロ秒スケールでスムーズに制御できるプログラマブルレーザードライバーを含むことができる。いくつかの事例では、プロジェクタ140は、符号化露光または補正機能を備えたセンサーを含むことができ、それらの時空間応答を画素およびマイクロ秒スケールで調整できる。
システム100は、照射および感知のきめの細かい制御のためにプロジェクタ140を使用するプログラマブルイメージングシステムを最適化するために使用できる。例えば、システム100は、弁別可能イメージングシステムを近似できる。一般に、弁別可能イメージングシステムは、それらの設定に対する少しの調整が、それらが出力する画像に対して小さくて、予測可能な変更を生じ得る特性を有する(図17に例示されるような)。
本実施形態では、イメージングシステムは次の2つの条件が保持される場合、弁別可能であると考えられる:
1)その源、センサーおよび光学系の挙動が露光時中に、連続値を取る、制御ベクトルと呼ばれる、単一のN次元ベクトルによって決定される、および
2)静止場面Sに対して、システムの制御ベクトルに関する画像の方向導関数、すなわち、
が、制御ベクトルc、調整aに対してうまく定義され、式中、img(c,S)は無雑音画像である。
好都合に、弁別可能イメージングシステムは、光学的自動調整の可能性を開き、それらの挙動を光領域弁別(optical-domain differentiation)によりリアルタイムで反復して調整して、所与のタスクにおける性能を最適化する。
深度イメージングのために、再構成モジュール112は最適化に対するソリューションを決定する。決定では、次を使用する:
・制御ベクトルcに応答して、雑音のある強度画像iを出力する弁別可能イメージングシステム、
・制御ベクトルc
1,...,c
kで取得された一連のk≧1の画像から深度マップdを推定する弁別可能再構成関数
ここでθは追加の調節可能なパラメータ(本明細書で参照される「再構成パラメータ」を含む)のベクトルである、および
・推定された深度マップとグラウンドトゥルース深度マップgとの間の差をペナルティ化する誤差関数err()。
最適化モジュール112は、予期される再構成誤差を最小限にするパラメータを決定することにより最適化に対するソリューションを決定する:
尤もらしい場面の雑音および空間に関して期待値をとる。
図15は、一実施形態に従い、場面の深度イメージングを最適化するための方法200を示す。
ブロック202で、照射モジュール108はプロジェクタ140に照射の初期セットで場面を照射するように指示する。ブロック204で、捕捉モジュール109は画像センサー130と通信して、照射中に場面の画像を捕捉する。ブロック206で、最適化モジュール112は、再構成誤差の勾配を推定する。ブロック208で、再構成モジュール114は再構成を判断し、再構成は、再構成誤差が最小になるまで反復して実行することを含み、ブロック210で、最適化モジュール112は、再構成誤差の勾配を最小限にすることによって照射を更新し、ブロック212で、照射モジュール108は、プロジェクタ140に更新された照射で場面を照射するように指示し、ブロック214で、捕捉モジュール109は画像センサー130と通信して、照射中に場面の更新された画像を捕捉し、ブロック216で、再構成モジュール114は再構成深度マップを推定し、ブロック218で、最適化モジュール112は、再構成誤差の更新された勾配を推定する。ブロック220で、出力インタフェースは再構成を出力する。
いくつかの事例では、照射の初期セットはランダムに選択できる。いくつかの事例では、最適化モジュール112は、照射のセットの各々に対して制御ベクトルをさらに決定し、制御ベクトルは照射のためのパターンを含む。さらなる事例では、再構成モジュール114は、捕捉された各画像に対する深度マップを推定するための弁別可能再構成関数をさらに決定し、弁別可能再構成関数はそれぞれの制御ベクトルを含む。さらなる事例では、再構成誤差の勾配を推定することは、推定された再構成深度マップとグラウンドトゥルース深度マップとの間の差をペナルティ化することを含む。さらなる事例では、グラウンドトゥルース深度マップは、ランダムにテクスチャ化された表面を使用して決定される。さらなる事例では、再構成誤差の勾配を最小限にすることは、訓練可能な確率的勾配降下法(SGD)を使用して再構成誤差を最小限にする制御ベクトルを決定することを含む。さらなる事例では、再構成誤差の勾配は、制御ベクトルを含む画像ヤコビアンおよびそれぞれの捕捉された画像内の画素を使用して判断される。さらなる事例では、再構成深度マップを推定することは、画像ヤコビアンを使用して方向導関数を決定することを含む。
さらなる事例では、再構成を判断することはステレオ対応を判断することをさらに含み:捕捉された画像の画素の近傍において観測された強度を特徴ベクトルとして扱うこと、捕捉された画素強度を、場面で投影された構造化光パターンの線形セグメントにおける強度のベクトルと比較すること;および訓練された人工ニューラルネットワークを使用して、ゼロ平均正規化相互相関(ZNCC)スコアに従って最も類似している構造化光パターンの部分に最も類似している捕捉された画像の部分を選択すること、を含む。
本実施形態では、画像および深度マップの両方はM個の画素の行ベクトルとして表されると仮定される。光源、センサー、再構成関数および誤差関数の異なる組合せは、システム最適化問題の異なるインスタンスをもたらす(図18に例示されるとおり)。相関飛行時間(ToF)システムは、例えば、K≧3の場面の画像を捕捉し、ベクトルc1、...、ckは、それらの関連付けられたレーザー変調および画素復調関数を制御する。他方、深度を計算するためにK個の画像に依存するアクティブ三角測量システムでは、制御ベクトルは投影パターンであり得る(図17に例示されるとおり)。両方の事例では、再構成関数は、各画素におけるK個の観測を深度(またはステレオ視差)値にマップするために使用できる。また、両方の事例では、再構成関数は、本明細書でθとして定義されて説明される、調節可能な再構成パラメータのセットによって制御できる。
図18は、本実施形態と互換性がある装置および関数の例を示す。誤差関数は画素単位誤差ペナルティの合計であるので、画素単位ペナルティρ()に対するいくつかのオプション例が示されており、各々、最適化されたシステムに対して指定される深度イメージング挙動をもたらす。
画像形成プロセスに対する完全な順モデルがある仮想事例では、(1)システムの光源、光学系、およびセンサー、(2)撮像すべき場面、ならびに(3)それらの間の光輸送、に対する完全なモデルがあろう。この事例では、最適化技法、例えば、確率的勾配降下法(SGD)は、システム最適化目標の最小化を数値的に可能にする。合計によってそれを近似することにより、それは、現実的な雑音に対して、および適正に引き出された合成訓練場面の大規模なセットに対して、再構成誤差を評価する。次いで、その勾配が、未知のθ、c1、...、ckに関して評価されて、それを(局所的に)最小限にするためにSGDが適用できる。
誤差関数中の第1の期待値を合計で置き換えると、次が提供される:
式中、d
t、g
tは、それぞれ、t番目の訓練場面S
tの再構成された形状およびグラウンドトゥルース形状であり、xerr()はその予期される再構成誤差である。
実際には、イメージングシステムおよびその雑音特性に関して、それらを正確に再現するために十分な情報がないか、または画像形成順モデルが複雑もしくは費用がかかりすぎてシミュレートできない可能性がある。本実施形態の弁別可能イメージングシステムは、システム100が、困難な勾配計算を光領域内で直接実装することによりこれらの技術的な限界を克服するのを可能にできる。
一実施形態では、予期される誤差のθおよびc1、...、ckに関して勾配を評価するためにSGDが使用でき:
簡潔にするために評価の点が省略され、Tは行列転置を示す。前述の式中の全ての個々の項のうち、1つだけがシステムおよび場面の正確なモデルに依存する:画像ヤコビアンJ(c,S)。
システム100は、N個の要素の制御ベクトルに応答してM個の画素の画像を捕捉でき、J(c,S)はN×M行列である。このようにして、この行列の要素[n,m]は、
制御ベクトルの要素nがごくわずかだけ調整される場合、画像画素mの強度がどのように変化するかをシステムに伝える。そのため、それは行列ベクトル積によってシステムの方向画像導関数に関連付けられる:
従って、差分イメージングシステムおよび場面Sの両方への物理的アクセスを有すると、システム100は、システムまたは場面のいかなる計算モデルも必ずしも要求することなく、前述の行列の個々の列を計算できるということになる。システム100は、プロジェクタ・カメラシステムを用いた図17の例に示すように、行列ベクトル積の離散バージョンを光領域内で実装する必要があるだけである。例えば、次の「光学的サブルーチン(optical subroutine)」がシステムによって続けられ得る:
前述の光学的サブルーチンは、システムおよび場面モデルに依存する、数値的なSGDを、「自由な」光学的アプローチに変えるのを可能にする。かかるアプローチを考慮して、システム100は、システムおよび場面のモデル化を必要とする画像捕捉操作を置き換えることができる。
他の事例では、他の最適化アプローチおよび/またはアルゴリズムが使用できる;例えば、導関数に依存しないもの(導関数を使用しない最適化アルゴリズムと呼ばれる)が、必ずしもその導関数およびヤコビアンを推定することを要求することなく、再構成誤差を最適化するために使用できる。かかるアプローチの一例は、粒子群最適化(PSO)であり、それは、以前の反復内で評価された目的関数の履歴に基づいて各反復内の最適化パラメータを更新する。しかし、このタイプのアプローチは、収束率に関してSGDほど効率的ではない可能性がある。
光領域SGDの実際の実装は、いくつかの技術的課題に直面し得る、例えば:(1)現実世界の訓練物体の大規模なセットを撮像することが客観的に困難である、(2)閉じた式は一般に、その勾配、画像ヤコビアンを評価するために、場面の予期される再構成誤差に対して導き出される必要がある、および(3)一般に、総当たりで取得するには大きすぎる。システム100は、本明細書で説明するようなこれらの技術的課題に、例えば、三角測量ベースのシステムに対するシステム最適化問題の構造を利用することによって対処する。
以下の表1では、左側は数値的SGDアプローチのステップを概説し、結果として生じる光領域SGDのステップが右側に示されており、ボックスでそれらの差を概説している。
前述のアプローチの両方で、最適化は最適化パラメータ(すなわち、制御ベクトルおよび再構成パラメータ)の初期化で始まる。初期化パラメータの選択は最適化に顕著な影響を及ぼし得る。例えば、本実施形態では、次の3つのタイプの初期化が使用できる:1)制御ベクトルおよび再構成パラメータの全部をランダム値で初期化する、2)定数を加算したダウンスケールされたランダム値(低コントラストのランダム値となる)で最適化パラメータを初期化する、および3)制御ベクトルを、以前に、または文献の一部として使用されたものなどの、所定の関数で初期化する。既存のパラメータで開始すると、より迅速で良好な収束となる。例えば、構造化光3Dイメージングシステム(制御ベクトルが照射パターンを指す場合)の事例では、パラメータは、正弦波パターン、Micro-Phaseシフトパターン、Gray符号、または同様のもので、初期化できる。例えば、飛行時間型3Dイメージングシステム(制御ベクトルが変調および復調信号を指す場合)の事例では、初期化は、正弦波パターン、パルスの訓練、ステップ関数、ハミルトン関数、または同様のものに設定できる。
いくつかの事例では、数値的および光学的SGDの両方で、ユーザーは最適化された制御ベクトルに対して制約のセットを定義できる。これらの制約は潜在的に任意のユーザー定義関数を指すことができるが、本実施形態に関して次の3つの特定の制約が企図される:1)制御ベクトルの周波数成分、2)制御ベクトルの最大振幅、および3)制御ベクトルによって引き起こされる総エネルギー消費。例えば、構造化光3DイメージングおよびToFイメージングの事例では、制御ベクトルは照射パターンを指し得、システムは実際には、投影パターンの振幅および周波数成分、ならびにそれらの総エネルギー消費に制約を課すことができる。
再構成モジュール114は、構造化光三角測量(図17に例示されるとおり)のためにプロジェクタ・カメラシステムを最適化する問題に対処できる。この設定では、c1、...、ckは、連続して場面に投影された1Dパターンを表し、再構成モジュール114は、全てのカメラ画素とは無関係に、そのステレオ対応をプロジェクタ平面上で決定する。この操作は、画素対列(pixel-to-column)対応マップdを決定することに相当すると見なすことができ、ここでd[m]は、カメラ画素mのステレオ対応を含むプロジェクタ列である(図18に例示されるとおり)。再構成モジュール114は従って、dにおける誤差を最小限にするようにシステムを最適化できる。画素対列対応マップは一般に、システムのエピポーラ幾何形状、放射状歪みまたはユークリッド較正の知識を要求しない。結果として、光学的自動調整は、この情報なしでさえ、システム100によって実行できる。
一例では、物体が、そのグラウンドトゥルース対応マップgが分かっている画像センサー130の前に置かれると仮定する。原理上は、各カメラ画素の列対応が他の全てとは無関係に推定される必要があるので、各画素は再構成タスクの別個のインスタンスと考えることができる。これらのインスタンス間の相関を減らすために、再構成モジュール114は訓練のためにランダムにテクスチャ化された表面を使用できる。これは、再構成モジュール114が、各カメラ行をランダムにテクスチャ化された点の異なる「訓練場面」として扱うのを可能にする(一例が図19Aに示されている)。
本発明人によって実施された実験では、図19Aおよび図19Bは、グレースケール(図19A)およびRGB(図19B)構造化光システムを最適化するために使用される訓練場面の例を、それらそれぞれのカメラから見えるように示す。150行のランダムに選択されたサブセットが光学的SGDのミニバッチ(図19Aにおける水平線)を定義する。一般に、これらの場面は、完全に平面でも完全に一様でもないので、従来の「較正物体」として考えるべきではなく、それらの幾何形状および外観の正確な事前知識は必要としない。図19Cおよび図19Dは、はるかに高精度の独立したアプローチを使用して50のSGD反復ごとにオンラインで再計算された、それぞれ図19Aおよび図19Bに対するグラウンドトゥルース対応マップを示す。
類似のアプローチでは、表面下散乱、表面相互反射または間接光の他の形式を示す異なるランダムにテクスチャ化された表面が、訓練場面として使用できる。かかる訓練場面は、間接光での場面の再構成のためにパターンを特別に最適化するための光学的自動調整フレームワークをもたらし得る。本発明人によって実施された実験では、図23は、間接光を示す訓練場面の一例を示す。図23に示される結果は、間接光のある場面に関する訓練は、間接光のある他の場面を再構成するために最適化されたパターンの性能を高めることができることを示す。
一実施形態では、システム100はプロジェクタ140および画像センサー130を、それぞれ2つの非線形「ブラックボックス」関数proj()およびcam()として扱うことができる。これらは、装置非線形性ならびにパターンおよび画像の内部低水準処理(例えば、非線形コントラスト強調、カラー処理、デモザイク処理、雑音除去、または同様のもの)を吸収する。一般的なプロジェクタ・カメラシステムにおける画像形成の一例が図20に示されている。プロジェクタ関数proj()はデジタル数字の制御ベクトルを出射輝度値(outgoing radiance value)のベクトルにマッピングする。同様に、カメラ関数cam()は、センサー照度値(irradiance value)のベクトルを処理された画像を保持しているベクトルにマッピングする。好都合に、光領域SGDはいずれの関数も知ることなく、エンドツーエンド最適化を可能にする。
プロジェクタ140と画像センサー130との間で、光伝播は線形であり、従って、輸送行列T(S)によってモデル化できる。いくつかの事例では、この行列は未知であり、一般に、場面の形状および材料特性、ならびにシステムの光学系に依存する。従って、画像およびそのヤコビアンは次によって与えられることになる:
ここで雑音は信号依存の成分を含み得、irrは画像センサーの130の画素上に入射する照度のベクトルを示す。従って、システム100は、間接光がない場合に光学的自動調整を使用して、その固有の非線形性、光学的不完全性、および雑音特性をそれに吸収させ得る。
一実施形態では、線形システムおよび低信号非依存雑音に対して、対応は、次により、最尤意味において最適になるように決定できる:(1)画素mで観測された強度i
1[m]、...、i
K[m]をK次元「特徴ベクトル」として扱うこと、(2)それを、各プロジェクタ列における強度のベクトルと比較すること、および(3)ゼロ平均正規化相互相関(ZNCC)スコアに従って最も類似している列を選択すること:
ここで2つのベクトルv
1、v
2に対して、それらのZNCCスコアはv
1-mean(v
1)およびv
2-mean(v
2)の正規化相互相関である。
再構成モジュール114は前述のアプローチを3つの方法で一般化できる。第1に、特徴ベクトルを拡張してそれらの3×1近傍、すなわち、各画像内の強度i
k[m-1]、i
k[m+1]および各パターン内のc
k[n-1]、c
k[n+1]を含めることによる。これは、とても小さい画像近傍内に存在し得る強度相関を利用するのを可能にする:
ここで、f
m、f
nは、これらの強度を収集するベクトルである。第2に、再構成モジュール114はプロジェクタの応答曲線を、所定の数の線形セグメント、例えば、32のセグメント、から成る未知の単調なスカラー関数g()としてモデル化できる。これは、学習可能な構成要素を再構成関数に導入し、その32次元パラメータベクトルは、c
1、...c
kと共に、光学的SGDによって最適化できる。第3に、再構成モジュール114は、近傍相関をより良く利用するために第2の学習可能な構成要素を追加でき、スカラー応答g()単独だけでは捕捉できない雑音およびシステム非線形性を吸収する。一実施形態では、この学習可能な構成要素は、それぞれカメラおよびプロジェクタ用の2つの残余ニューラルネットワーク(ResNet)ブロックを含むことができるが;任意の適切な機械学習パラダイムが使用できる。
式中、
および
は、次元3K×3Kの2つの完全に結合された層およびその間に正規化線形ユニット(ReLU)をもつニューラルネットである。従って、この実施形態では、再構成関数内、および従ってベクトル内、の学習可能なパラメータの総数は、36K
2+32である。
線形プロジェクタ・カメラシステムおよび低信号非依存雑音に対して、1行の予期される誤差に対する厳密な近似が、その画素のZNCCスコアベクトルから取得できる:
式中、・はドット積を示し、τはsoftmax温度であり、z
mは上述され、indexはそのi番目の要素がそのインデックスiに等しいベクトルであり、err()は本明細書で定義される。厳密に言えば、行固有の予期される誤差に対するこの近似は、ZNCC3およびZNCC3-NN類似性または一般的な非線形システムには適用されない可能性がある。それにもかかわらず、本発明人は、それが実際には非常に効果的であることが分かったので、それを光学的SGD目標で使用する。
本実施形態における画像ヤコビアンは非常に大規模であり得るが、それは一般に、非常にスパースでもある。これは、ヤコビアンのいくつかの行を「並行して」光領域サブルーチンの1回だけの呼出しから取得するのを可能にする。具体的には、N/L均等間隔の非ゼロ要素をもつ調整ベクトルが、その画素がヤコビアンのN/L行の合計である画像を生成する。従って、Lがこれらの行内での非ゼロ要素間の重なりを回避するのに十分に大きい場合、行は正確に回復できることになる。
一実施形態では、光学的自動調整のための対応のより区別できるセットを生成するために、再構成モジュール114は、数反復ごとにパターンを画素のランダム数だけ環状にシフトできる。パターンを効果的にシフトすることは、場面の異なるバッチに対する訓練につながり、SGD誤差に対してさらに正確な近似を提供できる。その上、環状シフトを用いると、最適化中に捕捉された画素は、プロジェクタの全視野をカバーすることを要求しない。従って、それは、カメラ画像のより小さい領域を見ることにより、最適化を速めるのに役立ち得る。
最適化されたパターンは他の撮像条件に対してうまく一般化するが、システム100は、最良の性能を得るために特定の所望の撮像シナリオ下でシステムを最適化できる。注目すべき一例は、低SNR領域(激しい雑音の存在、場面上の制限された照度、および同様のものに起因した)である。しかし、かかる場面で計算されたヤコビアンは、雑音によって影響を及ぼされ得、それ故、非常に低照度の場面において直接に、システムの自動調整を防ぐ。小さい雑音は最適化がより堅牢になるのに役立ち得るが、極端な雑音で学習することは非常に困難であり得る。かかる事例では、データ増強が、訓練のために使用する低照度条件においてあまり雑音のない場面サンプルを合成的に生成するために使用できる。このようにして、捕捉された画像(複数の行から成る)だけでなく、その画像のダウンスケールされた(すなわち、より暗い)バージョンも、更新を評価するために各反復において使用される。このアプローチは、さらに変化する場面を最適化に対して合成的に導入するとも見ることができる。本発明人の実験例は、このアプローチは低SNR条件に対して最適化されたパターンの一般化に顕著な影響を及ぼすことを示す。
多くの構造化光技術は、特定の周波数をその構成成分として選択することを要求する。例えば、ZNCC最適化されたパターンは一般に、その周波数成分に対する上限に依存するか、またはマルチ位相シフト(MPS)は一般に、ユーザーがその構成する正弦波パターンの主周波数を選択することを必要とする。これらの技術に対して周波数を選択すると、それらの性能に多大な影響を与えることができる。最適な周波数の選択は場面およびイメージングシステムに依存し、退屈なタスクであり得る。しかし、好都合に、本実施形態は、ユーザーからの周波数の入力を要求しない。このようにして、パターンは、システムの特定の特性に応答して、それらの周波数成分を自動的に更新できる。
例示的な事例では、SGDオプティマイザは、RMSpropニューラルネットワークオプティマイザを使用して、Tensorflowをフレームワークとして選択できる。パターンは、小さい均一な雑音を追加した定数行列で初期化できる。学習率は、例えば、0.001に設定でき、それを、例えば、500反復ごとに、半分に減衰させる。ステップサイズは、例えば、ボードに関する訓練のためにL=7および間接光での物体に関する訓練のためにL=23。本発明人は、ヤコビアンは後続の2つの反復において極めてわずかしか変化しないことに気付いている。それ故、最適化の速度を上げるために、いくつかの事例では、ヤコビアンは、例えば、各15反復で推定でき、同じヤコビアンを使用してそのスパンにおける勾配全体を評価できる。いくつかの事例では、ランダムな循環シフトが15反復ごとにパターンに適用できる。例示的な事例では、システムを自動調整するためのカメラ行数が全行数の15%に経験的に設定できる。場面は微振動を感知できるので、システム100は、例えば、30のZNCC最適化されたパターンを投影することにより、その堅牢性を確実にするために50反復ごとにグラウンドトゥルースを捕捉できる。我々は、グラウンドトゥルース測定の我々の選択を、160の従来の位相シフトされたパターンの投影とそれを比較することによって検証した。実験例では、制限された量の間接光のある全ての場面(訓練ボードを含む)に対して、正確な対応マッチは画素の97%を上回ることができ、残りの3%は1つの画素が離れている。この実験では、最適化は、標準的な消費者レベルのプロジェクタおよびカメラを用いて4パターンを自動調整するのに1時間かからず、1000反復未満で収束することが分かった。
一例では、本発明人は、光学的に最適化された一連のパターン、および異なる撮像条件に対するそれらの一般化の性能を測定した。この実験例では、本明細書で説明する、光学的自動調整フレームワークは、非線形の消費者レベルのプロジェクタ(LG-PH550)および線形カメラ(IDS-UI3240CP)から成る、特定の3Dイメージングシステムに対して、グレースケールパターンの最適化されたシーケンスを生成するためである。全てのパターンは、訓練物体としてテクスチャ化されたボード(図20の左側に例示されているとおり)で最適化された。
図21は、4パターンのシーケンスが、max-ZNCC3-NNを再構成関数として用い、かつε=0のε精度を誤差関数とする自動調整を通してどのように発展するかを示す実験例を示す。この実験例では、パターンは、訓練ボードに関して最適化されたが、それは、様々なアルベド、材料、および配向を有する、サンプルテスト場面に対してうまく一般化する。反復が進むにつれて、パターンは自動的に自身を調整して、その訓練ボードに対してグラウンドトゥルースにさらに近い視差マップを出力し、同じ傾向がテスト場面に当てはまる。
表2は、図16(下の行)に示される場面に対してであるが、異なる露光下での、他の符号化方式(K=4)との完全な定量比較を示す。各パターンの連続に対して、実験例では、異なる再構成関数下で性能を評価し、それらの対応が完全に正しい画素の割合を示す。結果は、max-ZNCC3-NNで光学的自動調整されたパターンは、たとえそれらのネイティブのデコーダではない強化された再構成関数を用いてでも、他の符号化方式よりも優れていることを示唆する。さらに、場面の広範囲にわたるアルベドおよび配向を考慮すると、結果は、ボードに関する訓練は他の場面に対して一般化可能にするのに十分であることを示す。
表2は、最良の最大周波数(それぞれ、16および32)が選択されたMPSおよびZNCCを示す。max-ZNCC3-NNのために、ニューラルネットワークは各パターンに対して個々に訓練された。プロジェクタは非線形であるので、他の技術を評価するために、システム100は較正を通して線形化された。いくつかの事例では、光学的パターンは、その周波数成分に対していかなる較正も指定も行うことなく、ネイティブシステム上で実行する。
図22は、同じ自動調整された4パターンの連続(図21に示されて、表2で強調されている)の再構成結果を、max-ZNCC3によって再構成された、他の符号化方法と対照して示す。カメラの絞りは、低SNR領域において異なる方法の性能を示すように特別に設定される。視差マップは、その推定された視差がグラウンドトゥルースと正確に同じである画素だけを示すようにフィルタ処理される。グラウンドトゥルースは、160の高周波数位相シフトされた余弦パターンを投影することによって獲得される。本実施形態の、光学的に最適化されたパターンは、他の符号化方法(同様にmax-ZNCC3再構成関数によって強化される)よりも優れてことが分かった。結果は、一般的な光学的自動調整パターンは他の幾何形状および材料に対して一般化できるだけでなく、低SNR条件においても良好に実行できることを示す。
図22は、4つのパターンを非常に暗い場面に投影することによって取得される視差マップの例を示す。中央および右の列は、フィルタ処理された(主画像)視差マップおよび生の(重ね合わせた)視差マップを示す。場面画像をもっと良く見せるために、生のカメラ画像が、ガンマ関数を適用する(生の画像が場面画像と重ね合わされる)ことによって明るくされる。他の技術を再構成するために、max-ZNCC3が使用されたが、本実施形態のパターンはmax-ZNCC3-NNに対して最適化された。正しい視差をもつ画素の割合は上の各視差マップに示されている。
実験例では、一般的な光学的自動調整されたパターンは、多種多様な物体および撮像条件(例えば、異なる形状および材料、低SNR条件、および同様のもの)で、うまく機能することが分かった。いくつかの事例では、システム、物体または撮像条件に関する事前知識が存在する場合、システム100は所望のセットアップに対してパターンを調整できる。例えば、間接光のある他の場面を再構成するためにシステムを特別に最適化するために、光学的自動調整が間接光を用いて物体に関して実行できる。図23は、間接光の有り無しで訓練された、光学的自動調整されたパターン(K=4、ε=3で最適化されて、max-ZNCC3-NNによって再構成された)の性能を比較する例である。この例では、パターンは、間接光で特別に最適化されて、同様の挙動での場面の再構成において顕著な精度ゲイン(accuracy gain)を示す。
図23は、同量の間接光を示す他の場面の再構成において性能を増強できる間接光でパターンを調整することを示す視差マップの例を示す。視差マップの精度をより良く可視化するために、各々に対して、グラウンドトゥルースに対するその誤差マップも重ね合わされる。
別の実験例として、図24では、光学的に自動調整されたパターンが特定のイメージングシステムと共に、本実施形態に従い、他のシステム上でどのように動作するかを調査する。これらの実験例では、構造化光三角測量をシミュレートするために、2つの異なるカメラ・プロジェクタのペア、および、Mitsuba-CLと呼ばれる、計算光輸送レンダラも用いて、実験を実行した。全てのパターンシーケンスは、再構成関数としてmax-ZNCC3-NNを用いてK=4でε=0に対して最適化される。定量的結果および最適化されたパターンの周波数成分も、調整されたパターンは訓練システムに対して特別に最適化されたことを示す。これらのパターンは、それらが訓練されたシステムの特定の特性に応答して異なって調整された。
図24の上は、実験例において、3つの異なるシステム上で最適化されて、他のシステム上でテストされたパターンを示す。プロジェクタ・カメラのペアはLG(PH550)-AVT(1920)およびPICO-IDS(3240)であり、レンダラはMitsuba-CLTである。全てのシステムに対する訓練物体はランダムなテクスチャをもつボードであり、サンプル場面上でテストされた。数は、完全に正しい視差をもつ画素の割合を示す。図24の下は、実験例で、非常に異なった挙動を示す、異なる光学的自動調整されたパターンに対する周波数成分の平均の大きさ(DFT)を示す。
本実施形態の光学的自動調整フレームワークの能力を調査するために、最適化アプローチが全く異なるシステムに適用された。第1に、図16に示されるように、カラーパターンが、プロジェクタおよび携帯電話を使用するアクティブ三角測量に対して最適化された(K=5、ε=1、max-ZNCC3-NN)。第2に、同じアプローチをレンダラに適用し、シミュレーション環境(制限された数のレンダリングサンプルに起因して異なる雑音分布を有する)においてかかるアプローチの適用可能性を評価し、データセットに関する自動調整されたパターンの一般化も調査した。異なる符号化下での形状モデルの再構成例が図25に示されている。それは、ボードに関する訓練が広範な形状に対してうまく一般化できることも示す。第3に、本発明人は、4つの投影パターンを、2-Bucket Camera(画素単位符号化撮像カメラ)に基づく単写3Dイメージングシステムに対して最適化した。図26は、本実施形態で、自動調整されたパターンの性能の例(L1-ノルムおよびε=1で最適化)を、ハミルトン符号化と比較する。
図25は、実験例に対して、一連のパターンを調整するための最適化(K=4、ε=0、およびmax-ZNCC3-NNを再構成関数として用いて)全体を通した、30の異なる形状モデル(赤)にわたる訓練精度および検証精度の進展を示す。形状モデルは、ModelNetと呼ばれる、公開されているデータセットの6つの異なるクラスから選択された。破線は、同じデータセットに関する他の符号化方式の性能を示す。結果が示唆するように、本実施形態に従った、ボードのような単純な物体を使用する光学的自動調整は、オーバーフィットを引き起こすようには見えない。
図26は、実験例に対して、1つはL1-ノルムで、他方はε=1での、パターンの2つのシーケンス(K=4、max-ZNCC3-NN)を最適化するために使用される光学的自動調整フレームワークを示す。結果は、ZNCCおよびハミルトン符号化方式とも比較される。主画像は、グラウンドトゥルースに対する視差の誤差マップであり、重ね合わされた画像は生の視差マップである。
本実施形態の光学的自動調整フレームワークは、少なくとも、アクティブ3D三角測量に対して最適な照射パターンを学習するためのアプローチを提供する。そのパターンは、特定の物体に関して学習され得るが、様々な形状、材料、および撮像条件に対して一般化可能であることが示される。このようにして、光学的自動調整フレームワークは、構造化光システムの最適化において非常に効果的であり得るだけでなく、画像形成モデルが明らかでない可能性がある計算イメージングにおける他の逆問題にも適用できる。
別の実施形態では、本明細書で説明する再構成および/または最適化アプローチは、飛行時間型3Dイメージングに対して使用できる。特定の事例では、連続波飛行時間(C-ToF)カメラの使用は3Dイメージングに対する異なるアプローチを提示でき、この場合、変調光源(例えば、変調されたレーザー光源)を含むプロジェクタ140は、複数の周期的な光信号(変調信号と呼ばれる)を場面に放出する。この事例では、変調信号は場面を照射するための時間的に変化する照射パターンを定義する。画像センサー130は、各放出された信号に対して対応する露光プロファイル(変調信号と呼ばれる)をもつ、完全なサイクル中に受光された光を捕捉する。再構成モジュール114は、変調および復調関数の各ペアに対して捕捉モジュール109によって捕捉された観測を使用して各画素における場面深度を推定できる。図27Aに示される例では、構造化光三角測量に対して、符号化は一般に、プロジェクタ画素にわたる空間領域内で生じ、各カメラ画素における深度は対応するプロジェクタ画素を判断することによって推定される。対照的に、図27Bの例に示されるように、ToFイメージングに対して、符号化は一般に、時間的領域内で生じる。この事例では、変調関数は光源画素によって放出され、復調関数は画像センサー画素に対する露光を制御する。
特定の事例では、一般性を失うことなく、画像形成モデルを定式化するために、プロジェクタおよび画像センサーは連結されると仮定できる。C-ToFイメージングシステムに対する画像形成モデルは次のように定式化でき:
式中、o
qは画素qにおける観測のベクトルを示し、b
qは画素qにおけるアルベドを指し、a
qは捕捉された画像内の画素qに対する周辺光であり、e
qは観測における雑音のベクトルである。さらに、d(q)は画素qにおける深度を指定する。F(d(q))は、信号の各ペアに対するシフトされた変調信号(深度dに対応する)と復調関数との間の相互相関から成るベクトルを示し:
式中、F
i(d)はベクトルF(d(q))のi番目の要素を示し、D
i(t)およびM
i(t)は、それぞれ、復調および変調関数のi番目のペアを示し、cは光の速度を指す。前述の定式化はF(d)を深度dに対応する符号ベクトルとして扱う。
本明細書で説明するように、構造化光三角測量と同様の方法で、システム100は、深度推定における最良の性能を達成するために最適な変調および復調関数を決定することにより、変調・復調信号の各ペアに対応する捕捉された画像を使用して深度を推定するための最適な性能を達成できる。
一実施形態では、システム100は、深度の範囲を離散化することによって、ToF復号問題を離散問題に変換し、実際の場面の深度を含む深度ビン(depth bin)を決定する。次いで、復号は、構造化光三角測量のために本明細書で説明する深度を決定でき:各深度ビンにおける観測および相互相関符号・ベクトルのセットを所与として、どの深度ビンが尤度関数を最大化するかを判断する。本明細書で説明するZNCCデコーダは、対応する符号・ベクトルを検出するための最適化を決定し、その結果として各画素に対する深度を推定するために使用できる。より詳細には、深度は
として推定でき、ここでpは各ビンのインデックスであり、d
iは深度のi番目のビンの中心を指し、Nは、離散化のレベルを指定する深度ビンの数である。
本明細書で説明するように、構造化光三角測量と同様の方法で、表1に提示された光領域SGDおよび数値的SGDは、離散化された変調および復調信号の各ペア(図27Bに示すとおり)を指す、制御ベクトルを最適化するために使用できる。
図28は、一実施形態に従い、本明細書で説明するアプローチを使用して、場面の深度イメージングを最適化するための方法300を示す。ブロック302で、照射モジュール108は、制御ベクトルの初期セットによって決定された照射パターンで1つ以上の場面を照射する。ブロック304で、捕捉モジュール109は、場面が照射パターンの少なくとも1つで照射されている間に場面の各々の1つ以上の画像を捕捉する。ブロック306で、再構成モジュール114は、再構成パラメータを用いて捕捉された画像から場面を再構成する。ブロック308で、再構成モジュール114は、再構成誤差および再構成誤差の勾配を制御ベクトルおよび再構成パラメータに関して推定する。ブロック310~318は、再構成誤差が所定の誤差条件に到達するまで反復して実行される。ブロック310で、再構成モジュール114は、再構成誤差を低減するために制御ベクトルのセットおよび再構成パラメータのセットの少なくとも1つを更新することにより制御ベクトルの現在のセットおよび再構成パラメータの現在のセットを決定する。ブロック312で、照射モジュール108は、制御ベクトルの現在のセットによって決定された照射パターンで1つ以上の場面を照射する。ブロック314で、捕捉モジュール109は、場面が照射パターンの少なくとも1つで照射されている間に場面の各々の1つ以上の画像を捕捉する。ブロック316で、再構成モジュール114は現在の再構成パラメータを使用して1つ以上の捕捉された画像から場面を再構成する。ブロック318で、再構成モジュール114は、更新された再構成誤差および再構成誤差の更新された勾配を現在の制御ベクトルおよび現在の再構成パラメータに関して推定する。ブロック320で、出力インタフェース106は、現在の制御ベクトルおよび現在の再構成パラメータの少なくとも1つを出力する。
本開示の実施形態は制御ベクトルおよび投影パターンの最適化を説明するが、最適化技術は他の適切な用途、例えば、エネルギー使用の最適化、に適用可能であり得ることが理解される。
本発明はある特定の実施形態を参照して説明されているが、その様々な修正は、本明細書に添付のクレームで概説されているとおり、本発明の精神および範囲から逸脱することなく、当業者には明らかであろう。上で列挙された全ての参照の開示全体が参照により本明細書に組み込まれる。