(57)【特許請求の範囲】
【請求項１】
シーン内の奥行き値を測定する方法であって、
パターンの複数のセットを前記シーンに投影するステップであって、各セットは異なる関数及び異なる空間周波数を用いて符号化され、前記シーンは大域照明の影響を受ける、投影するステップと、
前記シーンの画像の複数のセットを取得するステップであって、各セット内のパターンごとに１つの画像が存在する、取得するステップと、
前記画像のセット内の各パターンにおける対応するロケーションの前記奥行き値をピクセルごとに求めるステップと、
前記ピクセルごとに、前記対応するロケーションの前記奥行き値を解析するステップと、
前記対応するロケーションの前記奥行き値を他の任意のパターンとの間で比較し、それらの奥行き値の差が閾値未満の場合、該奥行き値を返し、そうでない場合、該奥行き値を誤差としてマーキングするステップと、
を含み、前記ステップはプロセッサが実行する、シーン内の奥行き値を測定する方法。
【請求項２】
請求項１に記載の方法であって、
前記誤差を有するとしてマーキングされた前記ピクセルについてのみ前記パターンの複数のセットを再投影することと、
前記誤差を補正することと、
全ての前記奥行き値が返されるまで、又は所定の終了条件に達するまで、前記再投影すること及び前記補正することを繰り返すことと、
を更に含む、方法。
【請求項３】
前記パターンの複数のセットは、グレイコード関数、Ｇｏｄｄｙｎコード関数、ＸＯＲ−２コード関数、及びＸＯＲ−４コード関数にそれぞれ従って符号化されたパターンを含む、請求項１に記載の方法。
【請求項４】
前記パターンの複数のセットはバイナリパターンを含む、請求項１に記載の方法。
【請求項５】
前記パターンの複数のセットはＮ進のパターンを含む、請求項１に記載の方法。
【請求項６】
前記パターンの複数のセットは連続コードを含む、請求項１に記載の方法。
【請求項７】
前記パターンの複数のセットは、水平であるか、垂直であるか、２Ｄであるか、又はそれらの任意の組み合わせである、請求項１に記載の方法。
【請求項８】
前記奥行き値は、カメラ光線及びプロジェクター平面を三角測量することによって求められる、請求項１に記載の方法。
【請求項９】
前記大域照明は表面下散乱を含む、請求項１に記載の方法。
【請求項１０】
前記大域照明は半透明照明を含むか、又は前記シーンは半透明な表面及び透明な表面を含む、請求項１に記載の方法。
【請求項１１】
前記パターンの複数のセットはカラーパターンを含む、請求項１に記載の方法。
【請求項１２】
前記大域照明は、散乱性相互反射、正反射性相互反射、又はそれらの組み合わせを含む、請求項１に記載の方法。
【請求項１３】
前記大域照明は拡散及びカメラ焦点ぼけを含む、請求項１に記載の方法。
【請求項１４】
前記パターンの複数のセットは、シーンの影響及び大域照明の影響に依拠する、請求項１に記載の方法。
【請求項１５】
前記パターンの複数のセットは、用途に依拠して、特定のシーン及び大域照明の影響に適合される、請求項１に記載の方法。
【請求項１６】
前記パターンのセットは、前記シーン及び大域照明の影響における変化に依拠して適応的に変更される、請求項１に記載の方法。
【請求項１７】
対応するプロジェクターピクセルロケーションにおける前記画像の複数のセット内のピクセルの復号化されたプロジェクター行、ピクセルのプロジェクター列、又は前記対応するプロジェクターピクセルロケーションの間の類似度を用いて、前記ピクセルを、前記誤差を有するものとしてマーキングする、請求項１に記載の方法。
【請求項１８】
前記大域照明は拡散及びプロジェクター焦点ぼけを含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、構造化光パターンを用いてシーン内の奥行き値を測定することに関し、より詳細には、大域照明（global illumination）にさらされたシーン内の形状を測定することに関する。
【背景技術】
【０００２】
構造化光三角測量（structured light triangulation）は、工業オートメーション、コンピューターグラフィックス、仮想現実、ロボットと人間とのインタラクション、医療的手術、及びコンピュータービジョンを含む用途において形状を測定する最適な方法である。形状は奥行き値から測定される。
【０００３】
この分野における研究は、２つの要素、すなわち、第１に取得時間を低減すること、及び第２に奥行き分解能を増大させることを意図している。従来の方法は、３０ミクロンを超える奥行き分解能を用いて１０００Ｈｚ近くで３Ｄ形状を測定することができる。
【０００４】
ほとんどの構造化光法は、シーンが光源から直接的にのみ照明を受けるという重大な仮定を行う。この仮定は、制御された実験室又はスタジオの設定においてのみ満たすことができる。ほとんどの実世界のシーンの場合、これは当てはまらない。幾つかの用途では、シーンは、相互反射（inter-reflections）、表面下散乱（sub-surface scattering）、体積散乱（volumetric scattering）、拡散（diffusion）の形態の大量の間接照明又は大域照明を受け、これは多くの場合に直接照明よりも多い。
【０００５】
従来の構造化光法は、これらの大域光輸送の影響を考慮せず、結果として、奥行き値から形状を回復する際に大きな系統誤差が生じることになる。さらに、これらの誤差の系統的性質に起因して、これらの誤差を後処理において訂正することは困難である。このため、これらの方法が、大域光輸送の影響のない比較的単純なシーンにおいて用いられてきたことは驚くべきことではない。
【０００６】
従来から、大域照明はコンピュータービジョンの用途においてモデル化されてこなかった。なぜなら、大域照明の計算モデルが、比較的単純なシーンであっても複雑であるためである。
【０００７】
より最近では、照明の直接成分及び大域成分を効果的に分離することができることが示されている。これによって、大域光輸送の下で構造化光に基づく形状再構成を行うための幾つかの方法が生まれた。これらの方法は全て、構造化光パターンの偏光、高周波数変調、又はシーン内の全体照明を反復的に低減することによって、大域光輸送の影響を除去又は低減することに依拠する。これらの方法は直接成分を得ることに頼るので、分離方法が機能しないとき、誤差が生じる。
【０００８】
例えば、偏光及び変調照明の双方に基づく分離は、高周波数の相互反射をフィルタリングするのに失敗する。さらに、直接成分が比較的低い、例えば高半透明材料を用いたシーンでは、大域成分を除去することは逆効果となり、結果として低信号対雑音比（ＳＮＲ）に起因した重大な誤差が生じる可能性がある。加えて、これらの全ての方法は、ハードウェア設定及び取得時間の観点で大きなオーバーヘッドを有する。
【０００９】
大域光輸送の下での形状回復
コンピュータービジョンの用途では、反復的な測光手法によって、相互反射の存在下でランバートオブジェクトの形状を再構成する。別の方法は、照度差ステレオ撮像を実行するために、画像から大域成分を明示的に分離する。奥行きは、大域照明の影響下でのプロジェクターの焦点ぼけを用いて復元することができる。別の方法は、相互反射を用いて、陰影からの形状復元（shape-from-shading）技法において固有の浅浮き彫り曖昧性（bas-relief ambiguity）を解消する。アクティブマルチビューステレオ技法は、大域照明に対し不変なシーンテクスチャとして高周波数照明を用いる。別の方法は、カメラ又はシーンを動かして、構造化光の用途における大域光輸送の影響を低減する。
【００１０】
透明な表面、不透明な表面、及び半透明な表面、並びに、相互反射及び表面下散乱等の大域照明の影響を結果として生じる表面を再構成するための可動部品（moving parts）を一切有しない単一のカメラ及びプロジェクターを用いた構造化方法及び構造化システムを提供することが所望されている。
【発明の概要】
【００１１】
ほとんどのコンピュータービジョンの用途において、構造化光を用いる形状測定方法は、シーン点が光源によって直接的にのみ照明されると仮定する。結果として、相互反射、拡散、表面下散乱及び体積散乱、並びに透光性等の大域光輸送（ＧＬＴ）の影響によって、そのような方法の性能が深刻に劣化する。
【００１２】
本発明の実施の形態は、大域光輸送の下でシーンから取得された画像における３Ｄ形状を測定する方法を提供する。形状は、シーン内の奥行き値から測定される。構造化光に基づく奥行き回復のための様々な大域光輸送モードに起因した誤差を解析する。
【００１３】
この解析に基づいて、構造化光パターンがこれらの誤差に対し回復力のある（resilient）ものとならなくてはならない特性を特定する。これらの特性は、シーン上に投影された構造化光パターンの空間周波数に基づく。
【００１４】
様々な光輸送モード、及びまた焦点ぼけ等の光アーティファクトによって生じた誤差に対し回復力のある構造化された照明パターンの複数のセットを提供する。
【００１５】
本発明では、残余誤差を検出し、少数の追加の画像を取得することによってその誤差を補正する方法を提供する。本発明の方法は、従来技術におけるように、照明の大域成分と直接成分とを明確に分離することを必要としない。その結果、従来の明示的な方法と比較して、より少ない画像を必要としながら、より大きな分類のシーンを扱うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による、構造化光パターンのセットのためのストライプ数の関数としてのプロジェクターストライプ幅のヒストグラムである、（Ａ）〜（Ｄ）を含む図である。
【図２】本発明の実施形態による、シーン内の奥行き値を測定するためのシステム及び方法の概略図である。
【発明を実施するための形態】
【００１７】
大域光輸送の下での構造化光の誤差解析
構造化光法による成形（shape from structured light method）の背後にある基本原理は三角測量である。プロジェクターにおいて、ピクセルの各行及び列が、一意の空間コード又は時間コードを用いて符号化され、構造化光パターンが形成される。プロジェクターは、光パターンを用いてシーンを照射する一方、カメラはパターンごとに１つ、一連の画像を取得する。
【００１８】
カメラセンサー内のピクセルごとに、プロジェクターの対応する行及び列が、測定された強度値を復号化することによって求められる。次に、カメラ光線及びプロジェクター平面を三角測量することによって奥行きが求められる。正しい復号化のために、各カメラピクセルが単一のプロジェクターピクセルから照射を受けると仮定される。
【００１９】
しかしながら、ほとんどの実世界のシーンでは、カメラピクセルは、大域光輸送の影響、カメラ／プロジェクターの焦点ぼけ及び光学アーティファクト、プロジェクターピクセルとカメラピクセルとの空間的ずれ、並びにカメラピクセルがプロジェクターピクセルよりも大きいことに起因して、複数のプロジェクターピクセルから照射を受ける可能性がある。以下では、上記の影響の下での復号化プロセスにおける誤差を解析する。
【００２０】
簡単にするために、バイナリコーディング関数について説明したが、他のコーディング関数も可能である。例えば、位相シフトを用いるＮ進離散コード及び連続コードの解析が同様にして続く。バイナリコードの場合、ｌｏｇ２Ｎ個のバイナリパターンがシーン上に投影される。ここで、Ｎは符号化されるプロジェクター列及びプロジェクター行の数である。シーン点における点Ｓｉは直接照射され、点Ｓｉにおける放射輝度は以下となる。
【００２１】
【数１】
0005627791.tif 000002
【００２２】
ここで、Ｌｉｄ及びＬｉｇはシーンが十分照明されているときのＳｉにおける放射輝度の直接成分及び大域成分であり、αは投影パターンＰの下で点Ｓｉにおいて受信された大域成分の一部である。
【００２３】
本明細書において定義されるとき、シーン点はカメラ内の画像センサーのピクセルに対応する。各シーン点は、関連する（ｘ，ｙ）ロケーション及びｚ奥行き値を有する。このため、シーン点は３次元である。（ｘ，ｙ）ロケーションは単にセンサー上のピクセル座標に対応する。本発明の主な関心事は奥行き値ｚに関するものである。
【００２４】
正確にするために、バイナリコーディングされた技法は、パターンＰ及びその逆パターンＰバーを投影する。逆パターンは、画像を、全て白のパターンを有する十分照明されたシーンの画像から減算することによって生成することができる。パターンＰを用いると、点Ｓｉにおける輝度は以下となる。
【００２５】
【数２】
0005627791.tif 000003
【００２６】
正しい復号化のために、以下の条件が成り立たなくてはならない。
【数３】
0005627791.tif 000004
【００２７】
式（４）が成り立たない場合の状況
最も正確な復号化の場合、点Ｓｉが直接照明されているとき、点Ｓｉにおいて大域成分に寄与する全ての他のシーン点も直接照明されている。この場合、α＝１である。次に、式（４）が成り立たず、結果として系統的復号化誤差が生じるシナリオを検討する。
【００２８】
長距離の影響：相互反射及び拡散
相互反射（拡散性及び正反射性）及び拡散は、長距離光輸送の影響となる傾向にある。これらの状況下で、シーン点は、局所近傍にない点からの大きな大域照明を受ける可能性がある。高周波数照明パターン、例えば、半分のピクセルがＯＮであり、もう半分がＯＦＦであるパターンを用いることによって、α＝０．５であることを確実にすることが可能である。
【００２９】
しかしながら、ほとんどの構造化光パターンは広範囲の周波数を含む。例えば、従来の１０ビットグレイコードは、１０個のパターン（ビットプレーン）を有する。ここで、空間周波数は全てのパターンを二倍にする。このため、従来の構造光パターンは高周波数パターン及び低周波数パターンの双方を有する。低周波数パターンの場合、α＜＜１／２であり、かつ式（４）内の不等式が成り立たない可能性がある。この結果、ビット復号化誤差が生じる。低周波数パターンは最上位ビットに対応するので、復号化誤差は大きい。
【００３０】
従来技術のパターンの単一のセットが、単一の関数を用いて符号化され、このため、シーン内の照明の単一の側面、例えば直接照明のみしか探索することができず、間接照明、相互反射、表面下散乱、及び体積散乱、拡散等の大域照明の他の部分の側面を探索することができないことにも留意されたい。
【００３１】
局所的影響：表面下散乱
表面下散乱の結果として、入射照明の低域通過フィルタリングが生じる。構造化光の場合、表面下散乱は、高周波数パターンを深刻にぼやけさせ、このためパターンを復号化不可能にする可能性がある。より高い周波数パターンはより下位のビットに対応する。これらのパターンを復号化することができない場合、奥行き分解能の損失が存在する。表面下散乱カーネルの大きさが大きい場合、失われるパターン数も大きく、より多くの奥行き分解能が低減される。これも式（４）の不等式の観点で説明することができる。
【００３２】
半透明材料の場合、直接成分は表面下散乱カーネルのサポートに反比例し、カーネルが大きいほど、直接成分が小さくなる。高周波数パターンの場合、
【数４】
0005627791.tif 000005
であるので、α≒０．５である。結果として、雑音の存在下で、直接成分Ｌｉｄは非常に小さいので、パターンを正しく復号化することができない。
【００３３】
低周波数パターンの場合、α＞０．５である。この場合、大域成分が実際に正しい復号化に役立つ。この観測を、表面下散乱の存在下で復号化可能なパターンの設計に用いる。
【００３４】
カメラ／プロジェクター焦点ぼけ及び光学アーティファクト
焦点ぼけ（プロジェクター又はカメラ）の存在下では、投影されるパターン及び取得される画像はぼけている。同様に、不完全な光学素子を有するプロジェクターも、投影されるパターンがぼけることになる。例えば、ピコプロジェクターは、工業組立てラインにおける構造化光の用途にますます一般的になっている。一方、不完全な光学素子に起因して、２ピクセル幅のストライプ状のパターンは分解することができない。
【００３５】
連続コードワード間の１のハミング距離を有するグレイコードを用いて、最大１ピクセルのぼけまで耐性を与える。ぼけがより大きい場合、このぼけは最も高い周波数パターンに影響し、多くの場合、パターンを完全にぼけさせる。表面下散乱と異なり、焦点ぼけは直接成分も同様に変調する。画像輝度は以下のように与えられる。
【数５】
0005627791.tif 000006
ここでβは、焦点ぼけの存在下で受信される直接成分の一部である。深刻なぼけの下で、高周波数パターンの場合、β≒０．５となる。高周波数パターンの場合、α≒０．５であるので、
【数６】
0005627791.tif 000007
となり、これらのパターンに対応するビットは分解することができない。上記と同様に、この結果、奥行き分解能が損失することになる。
【００３６】
大域光輸送に対する回復力のあるコードの設計
上述した誤差のソースは、投影されたコードに対照的な要件を課す。長距離の影響の場合、低周波数を有するパターンの結果、復号化誤差が生じる。焦点ぼけ及び表面下散乱等の局所的影響の場合、高周波数パターンはぼけて、復号化することができない。本発明では、各種類の影響に起因して結果として生じる誤差に対する回復力のあるコードを設計する。
【００３７】
様々なコードの場合のストライプ幅（ランレングス（run-length））のヒストグラム
図１（Ａ）〜図１（Ｄ）は、本発明の実施形態による、構造化光パターンのセット（集合）のためのストライプ数の関数としてのプロジェクターｌｏｇ２ストライプ幅のヒストグラムを示している。図１（Ａ）のグレイコードストライプ幅は、２ピクセル〜５１２ピクセルの範囲をとる。図１（Ｂ）は、Ｇｏｄｄｙｎコードを示している。これらのコードの最低ストライプ幅は大きいので、これらのコードは局所的影響に対し回復力がある。図１（Ｃ）及び図１（Ｄ）は、長距離の相互反射について最適化された、論理排他的ＯＲコードグレイコード（下記のようにＸＯＲ−０２及びＸＯＲ−０４）を示している。この場合、全てのストライプ幅は比較的小さい。
【００３８】
長距離の影響の場合の論理コーディング
長距離大域光輸送の影響に対する回復力を得るために、低周波数パターンを有しないコーディング関数を用いる。しかし、低周波数パターンは全ての従来のコーディング方式の不可欠な部分を形成する。図１（Ａ）の従来のグレイコードの場合、低周波数パターンは、より上位のビットを提供する。位相シフトにおいて、位相アンラッピングのために低周波数パターンが必要とされる。低周波数パターンを復号化する際に生じる誤差は、高周波数パターンの復号化において生じる誤差と比較して、最終的な復号化結果に対し、はるかに深刻な影響を有する。
【００３９】
正しい復号化は、これらのパターンの下で取得される画像の直接成分のみを別個に求めることによって達成することができる。しかしながら、この分離は常に可能であるとは限らない。キーとなる洞察（主要な洞察）は、直接成分が単に中間表現であるということである。
【００４０】
バイナリコードの場合、バイナリパターンのセットをシーンに投影する。直接照明されるシーン点と、直接照明されないシーン点との二項分類を関心事とする。この変換は、以下のようにバイナリ領域及びバイナリ範囲を有する関数としてモデル化することができる。
【００４１】
【数７】
0005627791.tif 000008
【００４２】
ここで、セットＰは全てのバイナリ投影パターンのセットを表し、Ｂは取得された画像の全ての二項分類のセットである。所与のパターンＰ（ここで、パターンＰ  ∪  セットＰ）について、この関数の結果、取得した画像の二項分類が得られ、この分類において、パターンＰの下で直接照明されたシーン点は１として分類され、そうでない場合、０として分類される。この関数は高周波数パターンの場合に正確に求めることができることがわかっている。
【００４３】
この着想を用いて、低周波数パターンの場合にこの関数を正確に求める方法を考案する。低周波数パターンは、論理的結合、例えば２つの高周波数パターンの論理ＸＯＲとして表すことができる。２つの高周波数パターンについて復号化を求め、ここでも再度ＸＯＲを用いて復号化結果を結合して、元の低周波数パターンの下であるかのように復号化を得る。
【００４４】
【数８】
0005627791.tif 000009
【００４５】
ここで、Ｐｌｆは元の低周波数パターンであり、Ｐ１ｈｆ及びＰ２ｈｆは２つの高周波パターンであり、
【数９】
0005627791.tif 000010
は論理ＸＯＲ演算子である。
【００４６】
実際に、高周波数パターンは、ストライプ幅が比較的小さい、例えば１、２、３ピクセルのパターンである。低周波数パターンの場合、ストライプ幅は大きい。例えば、１０ビットコードの場合、最低周波数パターンは、５１２ピクセルのストライプ幅を有する。
【００４７】
単一の１０ビットのグレイコード関数によって符号化される従来のパターンでは、ストライプ幅は毎回２分の１に減少しながら５１２から１まで変化する。
【００４８】
通常、大域照明の影響は、或る範囲の空間周波数を有する可能性がある。しかしながら、実際には２つの優勢なモードが存在する。焦点ぼけ、表面下散乱等の効果は、局所ぼけにつながり、このため高周波数パターンのストライプ幅が比較的小さいパターンの場合に問題が生じる。局所ぼけの大きさがｋである場合、ｋピクセルのストライプ幅を有するパターンが完全にぼけて、使用不可能となる。
【００４９】
他方の優勢なモードは相互反射である。ストライプ幅が低周波数パターンにおけるように大きい場合、相互反射は大きくなる。
【００５０】
このため、周波数スペクトルの両端のパターンは、パターンの単一のセットを符号化するのに単一の関数のみが用いられるとき、従来の構造化光技法において適切に復号化されない。中央の、例えば６４のストライプ幅のパターンは、ほとんどの場合に正しく復号化することができる。しかしながら、そのようなパターンであっても正しく復号化することができない異常な事例を常に有する可能性がある。
【００５１】
論理コードは、正規のグレイコードから以下のように構築することができる。基本高周波数パターンとして高周波数パターンを選択する。残りのパターンについて、元のパターンを投影する代わりに、そのパターンと基本パターンの論理ＸＯＲを投影する。例えば、最後のグレイコードパターン（２ピクセルのストライプ幅）を基本パターンとして用いる場合、投影される全てのパターンは２ピクセルの最大幅を有することになる。図１（Ｃ）に示すように、これらをＸＯＲ−０２コードと呼ぶ。
【００５２】
対照的に、従来のグレイコードは、最大で５１２ピクセルのストライプ幅を有する。同様に、最後から２番目のパターンを基本平面として用いる場合、図１（Ｄ）のＸＯＲ−０４コードが得られる。これはオーバーヘッドを増大させない。なぜなら、投影されるパターン数が従来のコードの場合と同じままであるためである。
【００５３】
局所的影響に耐性があるコード
従来のＸＯＲコードは、長距離の影響に対し耐性がある一方、局所的影響には適していない。表面下散乱及びプロジェクター／カメラの焦点ぼけ等の局所的影響によって、基本平面がぼける可能性がある。誤差は全ての復号化パターンに伝搬し、結果として大きな誤差が生じることになる。
【００５４】
局所的な影響を処理するために、最小ストライプ幅（ランレングス）が最大にされるコードを設計する。従来のグレイコードのランダム置換を検討し、最小の最大ランレングスを有するコードを選択することによって、低い最大ランレングスを有するコードを生成する。そのような検索を実行することによって、９の最大ランレングスを有するコードを生成する。
【００５５】
しかしながら、大きな最小ランレングスを有するコードははるかに稀であるので、これらのコードを生成する双対問題は、力まかせ探索を用いて解くのは難しい。好都合には、この問題は組み合わせ数学の文献において十分研究されている。大きな最小ランレングスを有するコードを生成するのに利用可能な特殊な構造が存在する。
【００５６】
大きな最小ランレングスを有するコードを生成するのに利用可能な特殊な構造が存在する。引用することにより本明細書の一部を成すものとする、Goddyn他「Binary gray codes with long bit runs」（The Electronic Journal of Combinatorics, 10, 2003）を参照されたい。
【００５７】
詳細には、コードは、その全てのビットランが少なくともｎ−３ｌｏｇ２ｎの長さを有するｎビット巡回バイナリグレイコードである。すなわち、隣接するコードワードが正確に１座標ビット異なり、ｎ−３ｌｏｇ２ｎ個の連続ワードのいかなる部分シーケンスにおいても、ビットが値を２回変更することがないような｛０，１｝ｎの循環的順序が存在する。そのようなグレイコードは、ハミング距離がシーケンス内の近傍のワードのインデックス分離に等しいという点で、「局所的に距離を保持している」。これらの１０ビットの「Ｇｏｄｄｙｎ」グレイコードは、図１（Ｂ）に示すように８の最小ランレングスを有する。
【００５８】
グレイコードの場合、最大ランレングス及び最小ランレングスは密に関係している。最小ランレングスを増大させるグレイコードは、最大ランレングスを低減させる二重の目的も果たす。上記で説明したコードは、３２の最大ランレングスを有する。したがって、このコードは、局所的影響の存在化で高い奥行き分解能を維持しながら、従来のグレイコードと比較して、長距離の影響の場合にも、より正確である。ＸＯＲコードに関して、性能の改善によってパターン数は増大しない。
【００５９】
自動３Ｄ再構成システム
このセクションでは、大域光輸送の影響に対し正確な、完全に自動的でロバストな３Ｄ再構成システムを説明する。そのようなシステムの以下の３つの側面、すなわち、大域光輸送の影響に起因した誤差を防ぐこと、及び残りの誤差を検出すること、及び残りの誤差を補正することを検討する。
【００６０】
図２に示すように、システム２００及び方法２５０は、大域照明２０２を受けるシーン２０１内で３Ｄ奥行き値を測定する。プロジェクターは、構造化光パターン２２１〜２２４の２２０の複数のセットをシーンに投影する（Ｐｒ）（２１０）一方、カメラ（Ｃａ）２３０は、パターンごとに対応する画像２３１を取得する。パターンの異なるセットは、それぞれ、異なる関数、例えばグレイコード関数、Ｇｏｄｄｙｎコード関数、ＸＯＲ−２コード関数、及びＸＯＲ−４コード関数に従って符号化される。パターンは２つの色調（黒及び白）とすることもできるし、色付き（ＲＧＢ）とすることもできる。加えて、パターンのセットは用途に応じて特定のシーン及び大域照明の影響に適合させることができる。代替的に、パターンはシーン及び大域照明の影響における変化に応じて適応的に変更される。
【００６１】
本方法は、対応する画像内の同一ロケーションのピクセルにおけるピクセルの奥行き値ｚを比較する（２４０）。少なくとも２つの奥行き値が類似している場合、奥行き値が返される（２４２）。グレイ奥行き値及びＧｏｄｄｙｎ奥行き値のみが類似している（２４３）場合、Ｇｏｄｄｙｎ奥行き値を返す（２４４）。
【００６２】
奥行き値がいずれも類似していない場合、奥行き値を誤差としてマーキングする（２４６）。誤ったピクセル奥行き値に対応するシーン点のみが、パターンのセット２２０を用いて再投影され、誤差が補正される（２４８）。これは、奥行きを求めるのに成功した全てのプロジェクターピクセルをオフに設定することによって行われる。このため、パターンのセットは、以前のステップにおいて求められたプロジェクターピクセルをマスキングすることによって再投影される。マスキングされたプロジェクターピクセルはオフであるので、大域照明に寄与せず、大域照明の全体的な影響が低減される。このプロセスは、全てのピクセルについて全ての奥行きピクセル値が回復されるか、又は終了条件、例えば所定の数の繰返しに到達するか、又は誤差の数が或るしきい値未満となるまで繰り返す（２４９）ことができる。
【００６３】
代替的に、対応するプロジェクターピクセルロケーションにおける画像の複数のセット内のピクセルの復号化されたプロジェクター行、ピクセルのプロジェクター列、又は対応するプロジェクターピクセルロケーション間の類似度を用いて、ピクセルを、誤差を有するものとしてマーキングする。
【００６４】
本方法のステップは、当該技術分野において既知のメモリ及び入力／出力インターフェースに接続されたプロセッサ２６０において実行することができる。
【００６５】
誤差防止
本発明のコードは、個々の照明の影響の結果生じる大部分の誤差を防止する。しかしながら、ほとんどの実世界のシーンにおける大域光輸送は、いかなる単一の影響にも限定されない。１つの影響について最適化されたコードは、他の影響の存在下で誤差を引き起こす。誤差を誘発する優勢な光輸送モードを知ることなくいずれのコードを用いるかを特定することは簡単ではなく、これを知ることは、ひいては、シーン形状及び材料特性に関する事前知識、又は光輸送行列を必要とする。異なる影響について最適化されたコードの小さなセットを投影することによって、シーンに関する事前知識を有することなく自動的に誤差を最小にすることができる。
【００６６】
したがって、本発明では、パターンの複数の異なるセットを投影する（Ｐｒ）（２１０）。各セットは、異なる関数、例えばＸＯＲ−０４コード、ＸＯＲ−０２コード、Ｇｏｄｄｙｎグレイコード、及び従来のグレイコードを用いて符号化されている。キーとなる着想（主要な着想）は、２つの異なるコードによって求められた奥行き値は、それらが正しい場合にのみ一致するということである。コードによって生じる誤差はほぼランダムであり、すなわち２つの異なるコードは同じ誤差を生じない。このため、個々のコードによって与えられたピクセルの奥行き値を単に比較することによって、正しい奥行き値を求めることができる。
【００６７】
任意の２つが類似している（２４１）場合、すなわち２つの奥行き値間の差が或る所定のしきい値τ未満である場合、その奥行値を返す（２４２）。
【００６８】
正規のグレイコード及びＧｏｄｄｙｎグレイのみが類似している（２４３）場合、Ｇｏｄｄｙｎグレイコードによって与えられた奥行き値がより大きな奥行き分解能を有することが予期されるので、その奥行値を返す（２４４）。コードの選択されたセットは異なる影響について最適化されているので、セットは多岐にわたる影響をカバーし、このため多種の光学的に困難なシーンをカバーする。
【００６９】
興味深いことに、セット内の個々のコードによって生じた誤差を解析することによって、材料特性等の質的シーン情報を得ることができる。例えば、論理コードのみが合致するシーン点は、強力な相互反射を受ける。一方、２つのグレイコードのみが合致するシーン点は半透明材料に対応する。全てのコードが合致するシーン点は、僅かな量の大域照明しか受けない。
【００７０】
誤差検出
４つのパターンのセットのいずれによっても正しい奥行き値が求められない（２４５）可能性がある。正しい奥行きを推定することができないそのようなピクセルを特定する（２４６）ことが重要である。上記で説明した投票方式は、残りの誤差を検出する単純な方法を提供する。或るピクセルについて、４つのコードのうちのいずれも合致しない場合、そのピクセルを誤差ピクセルとしてマーキングする。４つの奥行き値のうちの１つが正しかった場合があるという可能性があることに留意されたい。しかしながら、本発明では誤差補正段階を有するので、保守的な手法をとり、そのようなピクセルを誤差ピクセルとして分類する。
【００７１】
誤差補正
極端に困難な場合、幾つかの誤差が依然として残っている場合がある。そのようなシーンの場合、反復的な手法を採用する。後続の反復において、誤ってラベル付けされたピクセルのみに対応するシーン点を照明し（２４７）、これらの点を再構成して誤差を補正する（２４８）。本発明の技法は第１の反復においてシーンの大部分を再構成するので、困難なシーンの場合、少数の追加の反復、通常１つ又は２つしか必要としない。ほとんどのシーンは追加の反復なしで再構成することができる。
【００７２】
発明の効果
構造化光に基づく３Ｄ走査及び形状回復のための、大域光輸送によって生じる誤差を防ぎ、検出し、補正するシステム及び方法を提供する。取得設定又は取得時間又は後処理の観点で大きなオーバーヘッドを伴うことなく、完全なシステムを提示する。本発明の方法は、多岐にわたる光学的に困難なオブジェクト及び材料を有するシーンを扱うことができる。
【００７３】
本発明では、シーン上にパターンのセットを投影する。次に、セット内の個々のコードによって生じた奥行き値の誤差を比較して、シーンに関する質的情報を得る。
【００７４】
目標は、大域光輸送の存在下で３Ｄシーン形状を測定することである。構造化光に基づく奥行き回復のために、様々な大域光輸送モードに起因した誤差を解析することから開始する。この解析に基づいて、構造化光パターンがこれらの誤差に対して回復力を有するために有しなくてはならない特性を特定する。これらの特性は、投影されたパターンの空間周波数に基づく。異なる大域光輸送モードによって、結果として異なる種類の誤差が生じ、これによって、投影されるパターンに対し、異なる、多くの場合対照を成す要件が課される。
【００７５】
例えば、拡散性相互反射及び正反射性相互反射並びに拡散等の長距離の影響によって、低周波数又は幅の広いストライプを有するパターンの場合に誤差が生じる。他方で、表面下散乱及びカメラ／プロジェクター焦点ぼけ等の局所的影響は、入射パターンに対する低域通過フィルターとしての役割を果たし、高周波数の詳細を破壊する。
【００７６】
これらの様々な光輸送モードの集約的影響を考慮することによって、各影響に個々に起因して生じる誤差に対し回復力のあるコードを提供する。ほとんどの実世界シーンにおける大域光輸送はいかなる単一の影響にも限定されない。
【００７７】
半透明材料等の材料特性、強度の相互反射、小量の大域照明を有する点等の質的シーン情報を得ることができる。１つの影響について最適化されることによって、他の影響の存在下において誤差が生じることになる。誤差を誘発する優勢な光輸送モードを知ることなくいずれのコードを用いるかを特定することは簡単ではなく、これを知ることは、ひいては、シーン形状及び材料特性に関する事前知識、又は光輸送行列を必要とする。異なる影響について最適化されたコードの小さなセットを投影することによって、シーンに関する事前知識を有することも、光輸送行列を捕捉することもなく誤差を最小にすることができる。投票方式を用いることによって、コードのセット全体によって、及び各コードによって個々に生じた残りの誤差を検出することができる。興味深いことに、個々のコードによって生じた誤差を用いて、材料特性等の様々な質的シーン特性を推測することができる。本発明では、少数の追加の画像を集めることによる、検出された誤差の補正方式も提供する。
【００７８】
正しい構造化光復号化のために大域成分を明示的に除去する必要がないことが示されている。実際に、幾つかの状況では、本発明によるコードは実際に、復号化プロセスの精度を改善するために大域成分を用いる。本発明による技法は、明示的な方法よりも大幅に少ない数の画像しか必要としない。
【図１】
0005627791.tif 000011
【図２】
0005627791.tif 000012