(57)【要約】  本明細書に記載される主題の実装によれば、照明推定の解決策が提供される。この解決策では,実オブジェクトに関する入力画像と,入力画像に対応するデプスマップが取得される。入力画像内のシーンの幾何学的構造は、デプスマップに基づいて決定される。シーン内の光源によって引き起こされる実オブジェクトのシェーディング及び影情報が、決定されたシーンの幾何学的構造に基づいて決定される。そして、光源によって引き起こされるシーン内の照明条件が、入力画像と、シェーディング及び影情報に基づいて決定される。この解決策に従って取得される照明条件を用いてレンダリングされる仮想オブジェクトは、実オブジェクトと一致する現実的な効果を示すことができる。
2021524628.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイスであって：
処理ユニットと；
前記処理ユニットに結合され、前記処理ユニットによる実行のための命令を記憶するメモリであって、前記命令は、前記処理ユニットによって実行されるとき、前記デバイスに：
実オブジェクトについての入力画像及び前記入力画像に対応するデプスマップを取得することと；
前記デプスマップに基づいて前記入力画像内のシーンを決定することと；
前記シーンに基づいて、前記シーン内の光源によって引き起こされる前記実オブジェクトのシェーディング及び影情報を決定することと；
前記入力画像と、前記シェーディング及び影情報とに基づいて前記光源によって引き起こされる前記シーン内の照明条件を決定することと；
を含む動作を実行させる、メモリと；
を有する、電子デバイス。
【請求項２】
前記動作はさらに：
前記シーン及び前記照明条件に基づいて、前記実オブジェクト及び仮想オブジェクトを含む出力画像を生成することを含み、前記出力画像は前記入力画像の前記シーン内に前記仮想オブジェクトを合成する、
請求項１に記載のデバイス。
【請求項３】
前記シーンは、前記実オブジェクトの配置のための表面を含み、前記シーンを決定することは：
前記デプスマップを点群に変換することと；
前記点群内の複数の点を面に適合させることであって、前記複数の点は前記表面を表す、適合させることと；
前記面の上に位置する前記点群内の前記複数の点を３次元メッシュに再構成することであって、前記面及び前記３次元メッシュは、前記入力画像内の前記シーンを共に表す、再構成することと：を含む、
請求項１に記載のデバイス。
【請求項４】
前記光源は、所定の形状の画像によって表され、前記画像は、前記光源の複数の部分に対応する複数のピクセルを含み、前記複数のピクセルのそれぞれのピクセル値は、前記光源の前記複数の部分のそれぞれの放射照度強度を表し、
前記シェーディング及び影情報を決定することは：
前記画像内の前記複数のピクセルのそれぞれのピクセル値を所定の値で初期化することと；
前記シーン及び初期化された前記画像に基づいて、前記複数のピクセルに対応する第１の放射照度マップのセットを生成することであって、前記放射照度マップの各々は、前記光源の対応する部分によって引き起こされる前記実オブジェクトの対応するシェーディング及び影情報を表す、生成することと；を含み、
前記シーン内の前記照明条件を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、前記画像内の前記複数のピクセルのそれぞれのピクセル値を決定することを含む、
請求項１に記載のデバイス。
【請求項５】
前記光源を表す前記画像は、十字形状の画像である、
請求項４に記載のデバイス。
【請求項６】
前記画像内の前記複数のピクセルのそれぞれのピクセル値を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、訓練されたニューラルネットワークを用いて前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を決定することを含む、
請求項４に記載のデバイス。
【請求項７】
前記画像内の前記複数のピクセルのそれぞれのピクセル値を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、複数の訓練されたニューラルネットワークを用いて前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を漸進的に決定することを含む、
請求項４に記載のデバイス。
【請求項８】
前記複数の訓練されたニューラルネットワークは、少なくとも第１のニューラルネットワーク及び第２のニューラルネットワークを含み、前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、前記第１のニューラルネットワークを使用して、前記複数のピクセルの第１のピクセルの第１のピクセル値及び前記第１のピクセルに隣接する少なくとも１つのピクセルのピクセル値を決定することと；
前記第１のピクセル、前記少なくとも１つのピクセル及び前記シーンに基づいて第２の放射照度マップのセットを生成することであって、前記第２の放射照度マップのセットは、前記第１のピクセルの複数のサブピクセル、前記少なくとも１つのピクセル、並びに前記複数のピクセルのうちの前記第１のピクセル及び前記少なくとも１つのピクセル以外のピクセルの組み合わせそれぞれに対応する、生成することと；
前記入力画像及び前記第２の放射照度マップのセットに基づいて、前記第１のピクセルが前記第２のニューラルネットワークを使用して分割されるべきかどうかを決定することと；
前記第１のピクセル値が分割されるべきでないと決定することに応答して、前記第１のピクセル値を前記第１のピクセルの最終ピクセルとして使用することと；を含む、
請求項７に記載のデバイス。
【請求項９】
前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を決定することはさらに：
前記第１のピクセルが分割されるべきであると決定することに応答して、前記第１のピクセルを複数のサブピクセルに分割することと；
前記複数のサブピクセルのそれぞれのサブピクセル値を決定することと；を含む、
請求項８に記載のデバイス。
【請求項１０】
コンピュータに実装される方法であって：
実オブジェクトに関する入力画像及び前記入力画像に対応するデプスマップを取得することと；
前記デプスマップに基づいて前記入力画像内のシーンを決定することと；
前記シーンに基づいて、前記シーン内の光源によって引き起こされる前記実オブジェクトのシェーディング及び影情報を決定することと；
前記入力画像と、前記シェーディング及び影情報とに基づいて、前記光源によって引き起こされる前記シーン内の照明条件を決定することと；を含む、
方法。
【請求項１１】
前記シーン及び前記照明条件に基づいて、前記実オブジェクト及び仮想オブジェクトを含む出力画像を生成することをさらに含み、前記出力画像は、前記入力画像の前記シーン内に前記仮想オブジェクトを合成する、
請求項１０に記載の方法。
【請求項１２】
前記シーンは、前記実オブジェクトの配置のための表面を含み、前記シーンを決定することは：
前記デプスマップを点群に変換することと；
前記点群内の複数の点を面に適合させることであって、前記複数の点は、前記表面を表す、適合させることと；
前記面の上に位置する前記点群内の複数の点を３次元メッシュに再構成することであって、前記面及び前記３次元メッシュは、前記入力画像内の前記シーンを共に表す、再構成することと；を含む、
請求項１０に記載の方法。
【請求項１３】
前記光源は、所定の形状の画像によって表され、前記画像は、前記光源の複数の部分に対応する複数のピクセルを含み、前記複数のピクセルのそれぞれのピクセル値は、前記光源の前記複数の部分のそれぞれの放射照度強度を表し、
前記シェーディング及び影情報を決定することは：
前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を所定の値で初期化することと；
前記シーン及び初期化された前記画像に基づいて、前記複数のピクセルに対応する第１の放射照度マップのセットを生成することであって、前記放射照度マップの各々は、前記光源の対応する部分によって引き起こされる前記実オブジェクトの対応するシェーディング及び影情報を表す、生成することと；を含み、
前記シーン内の前記照明条件を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を決定することを含む、
請求項１０に記載の方法。
【請求項１４】
前記光源を表す前記画像は、十字形状の画像である、
請求項１３に記載の方法。
【請求項１５】
前記画像内の前記複数のピクセルのそれぞれのピクセル値を決定することは：
前記入力画像及び前記第１の放射照度マップのセットに基づいて、訓練されたニューラルネットワークを用いて前記画像内の前記複数のピクセルのそれぞれの前記ピクセル値を決定することを含む、
請求項１３に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
三次元仮想オブジェクトを現実のシーン（real  scene）に関する画像に合成することは、拡張現実、画像編集、映画制作などの多くのアプリケーションにおいて重要なタスクである。光現実的効果を達成するために、合成画像内の仮想オブジェクト（virtual  object）が、そのシーン内でシェーディング及び実オブジェクト（real  object）と一致する影を示すことができ、かつ合成画像が、仮想オブジェクトと実オブジェクトとの間の投影及び／又はオクルージョン（occlusion）を正確に示すことができるように、現実のシーンの照明条件（lighting  condition）を推定する必要がある。最近のデプスカメラの進歩により、現実のシーンの三次元幾何学的構造を容易に取得することができる。しかし、現実のシーンに関する単一画像からシーンの照明条件を推定することは、依然として困難な作業である。
【発明の概要】
【０００２】
本明細書に記載される主題の実装によれば、照明推定の解決策が提供される。この解決策では,実オブジェクトに関する入力画像と,入力画像に対応するデプスマップ（depth  map）が得られる。入力画像内のシーンの幾何学的構造は、デプスマップに基づいて決定される。シーン内の光源によって引き起こされる実オブジェクトのシェーディング及び影情報（shading  and  shadow  information）は、決定されたシーンの幾何学的構造に基づいて決定される。そして、光源によるシーン内の照明条件が入力画像とシェーディング及び影情報とに基づいて決定される。
【０００３】
本明細書に記載される主題による照明推定の解決策は、シーン内の実オブジェクトの材料特性に関する仮定を行わずに、入力画像並びに入力画像のシェーディング及び影情報に基づいて複数レベルのニューラルネットワークを用いて、シーン内の照明条件を漸進的に推定することができる。シーン中の光源を基準の光ベース（canonical  light  bases）のセットの線形結合でモデル化し、ニューラルネットワークの入力として基準の光ベースのセットからレンダリングされた放射照度マップ（irradiance  maps）のセットを利用することにより、この解決策は照明推定の複雑さを大幅に単純化し、結果の精度を改善することができる。さらに、マルチツリーベースの漸進的推定を利用することにより、この解決策はニューラルネットワークの各レベルの訓練と計算コストを低減し、そのロバスト性を改善することができる。この解決策に従って得られた照明条件を用いてレンダリングされる仮想オブジェクトは、実オブジェクトと一致する現実的な効果を示すことができる。
【０００４】
この要約は、以下の詳細な説明でさらに記述される簡略化された形式で概念の選択を導入するために提供される。この要約は、請求項に記載された主題の主要な特徴又は本質的な特徴を特定することを意図したものではなく、また、本明細書に記載された主題の範囲を限定するために使用することも意図したものではない。
【図面の簡単な説明】
【０００５】
【図１】本明細書に記載される主題の複数の実装を実装できるコンピューティングデバイス１００のブロック図を示す。
【図２】本明細書に記載される主題のいくつかの実装による照明推定のためのシステム２００を示す。
【図３】本明細書に記載される主題のいくつかの実装による、システム２００内の照明条件決定サブシステムの図を示す。
【図４】本明細書に記載される主題のいくつかの実装による照明推定のための初期化ネットワークの動作図を示す。
【図５】本明細書に記載される主題のいくつかの実装による照明推定のためのリファインメント（refinement）ネットワークの動作図を示す。
【図６】本明細書に記載される主題のいくつかの実装による、複数のレベルのニューラルネットワークを使用して、シーン内の照明条件を漸進的に決定する図を示す。
【図７】本明細書に記載される主題のいくつかの実装による照明推定のためのプロセスのフローチャートを示す。
【０００６】
図面を通して、同一又は類似の参照記号は、同一又は類似の要素を表す。
【発明を実施するための形態】
【０００７】
本明細書に記載する主題が、以下、いくつかの例示の実装を参照して論じられる。これらの実装は、主題の範囲に関する限定を示唆するのではなく、当業者が本明細書に記載の主題をより良く理解し、従って実施することを可能にする目的のためにのみ論じられることが理解されるべきである。
【０００８】
本明細書において、用語「含む」及びその変形は、「含むが、限定されない」ことを意味するオープンな用語として読まれるべきである。用語「基づく」は、「少なくとも部分的に基づく」として読まれるべきである。用語「１つの実装」及び「実装」は、「少なくとも１つの実装」として読まれるべきである。用語「別の実装」は、「少なくとも１つの他の実装」として読まれるべきである。用語「第１の」、「第２の」などは、異なる又は同じオブジェクトを指し得る。他の定義が、明示的及び暗示的に、以下に含まれ得る。
【０００９】
環境例
【００１０】
ここで、図面を参照して、本明細書に記載される主題の基本原理及び種々の例を説明する。図１は、本明細書に記載される主題の実装が実装されることができるコンピューティング環境１００のブロック図を示す。図１に示されるコンピューティングデバイス１００は、本明細書に記載される主題の機能及び実装の範囲に対する限定をいかなる方法でも示唆することなく、単に例示的なものであることが理解されるべきである。図１に示すように、コンピューティングデバイス１００は、一般的なコンピュータデバイスの形態のコンピューティングデバイス１００を含む。コンピューティングデバイス１００の構成要素は、１つ又は複数のプロセッサ又は処理ユニット１１０、メモリ１２０、記憶装置１３０、１つ又は複数の通信ユニット１４０、１つ又は複数の入力装置１５０、及び１つ又は複数の出力装置１６０を含むが、これらに限定されない。
【００１１】
幾つかの実装では、コンピューティングデバイス１００は、演算能力を有する種々のユーザ端末又はサービス端末として実装されることができる。サービス端末は、種々のサービスプロバイダによって提供されるサーバ、大規模コンピューティングデバイス等であり得る。ユーザ端末は、例えば、携帯電話、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、通信機、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、パーソナルコミュニケーションシステム（ＰＣＳ）デバイス、パーソナルナビゲーションデバイス、パーソナルデジタルアシスタント（ＰＤＡ）、オーディオ／ビデオプレーヤ、デジタルカメラ／ビデオプレーヤ、位置決定デバイス（positioning  device）、テレビ受信機、ラジオ放送受信機、電子ブックデバイス、ゲーミングデバイス、又はこれらのデバイスのアクセサリ及び周辺機器を含むそれらの任意の組み合わせを含む、任意の種類の移動端末、固定端末、又は携帯端末である。さらに、コンピューティングデバイス１００は、ユーザのための任意のタイプのインターフェース（「ウェアラブル」回路など）をサポートすることができると予測され得る。
【００１２】
処理ユニット１１０は、物理プロセッサ又は仮想プロセッサであり得、メモリ１２０に記憶されたプログラムに基づいて種々のプロセスを実行することができる。マルチプロセッサシステムでは、複数の処理ユニットがコンピュータ実行可能命令を並列に実行し、コンピューティングデバイス１００の並列処理能力を向上させる。処理ユニット１１０は、また、中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、コントローラ及びマイクロコントローラとも呼ばれる。
【００１３】
コンピューティングデバイス１００は、典型的には、複数のコンピュータ記憶媒体を含み、これは、揮発性及び不揮発性媒体、並びにリムーバブル及び非リムーバブル媒体を含むが、これらに限定されない、コンピューティングデバイス１００によってアクセス可能な任意の利用可能な媒体であることができる。メモリ１２０は、揮発性メモリ（例えば、レジスタ、キャッシュ、ランダムアクセスメモリ（ＲＡＭ））、不揮発性メモリ（例えば、読み出し専用メモリ（ＲＯＭ）、電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ）、又はそれらの任意の組み合わせであることができる。メモリ１２０は、本明細書に記載される様々な実装の機能を実行するように構成されるプログラムモジュールを有する画像処理モジュール１２２を含む。画像処理モジュール１２２は、それぞれの機能を実現するために、処理ユニット１１０によってアクセスされ、操作されることができる。
【００１４】
記憶装置１３０は、任意のリムーバブル又は非リムーバブル媒体であることができ、情報及び／又はデータを記憶するために使用され、コンピューティングデバイス１００でアクセスされることができる機械可読媒体を含み得る。コンピューティングデバイス１００はさらに、追加のリムーバブル／非リムーバブル、揮発性／不揮発性メモリ媒体を含み得る。図１には示されていないが、リムーバブル且つ不揮発性ディスクを読み書きするためのディスクドライブが提供され、リムーバブル不揮発性ディスクを読み書きするためのディスクドライブが提供されている。このような場合、各ドライブは、１つ又は複数のデータ媒体インターフェースを介してバス（図示せず）に接続される。
【００１５】
通信ユニット１４０は、通信媒体を介してさらなるコンピューティングデバイスと通信する。加えて、コンピューティングデバイス１００内のコンポーネントの機能は、通信のために通信可能に接続された単一のコンピューティングクラスタ又は複数のコンピューティングマシンによって実装されることができる。したがって、コンピューティングデバイス１００は、１つ又は複数の他のサーバ、ネットワークパーソナルコンピュータ（ＰＣ）又は他の一般的なネットワークノードとの論理リンクを使用して、ネットワーク環境で動作させることができる。
【００１６】
入力装置１５０は、マウス、キーボード、トラッキングボール、音声入力装置等の１つ又は複数の入力装置を含み得る。出力装置１６０は、ディスプレイ、ラウドスピーカ、プリンタなどの１つ又は複数の出力装置を含み得る。必要に応じて、コンピューティングデバイス１００はまた、通信ユニット１４０を介して、記憶装置、表示装置などの１つ又は複数の外部装置（図示せず）、ユーザがコンピューティングデバイス１００と対話することを可能にする１つ又は複数のデバイス、又はコンピューティングデバイス１００を１つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス（例えば、ネットワークカード、モデムなど）と通信することができる。このような通信は、入出力（Ｉ／Ｏ）インターフェース（図示せず）を介して行われる。
【００１７】
コンピューティングデバイス１００は、本明細書に記載される主題の複数の実装において照明推定を実行するために使用されることができる。したがって、以下、コンピューティングデバイス１００を「画像処理装置１００」と呼ぶこともある。照明推定を行うとき、画像処理装置１００は、際に、入力装置１５０を介して、実オブジェクト（例えば、コーヒーカップ、マジックキューブ等）に関する入力画像１７１及び入力画像１７１に対応するデプスマップ（depth  map）１７２を受信することができる。例えば、デプスマップ１７２は、デプスカメラによってキャプチャされることができる。次に、画像処理装置１００は、入力画像１７１及びデプスマップ１７２に基づいて複数の訓練されたニューラルネットワークを用いて、入力画像１７１内のシーンの照明条件を決定し得る。例えば、照明条件は、特定の形状の画像（図示せず）によって表され得、その画像はシーン内の光源を表す。画像は、光源の複数の部分に対応する複数のピクセルを含み得、複数のピクセルのそれぞれのピクセル値は、光源の複数の部分のそれぞれの放射照度強度（irradiance  intensities）を表す。さらに、画像処理装置１００は、シーンの決定された照明条件に基づいて、入力画像１７１のシーンに仮想オブジェクト（例えば、ハローキティドール）を合成し、出力画像１７３を生成することができる。出力画像１７３内の仮想オブジェクトは、実オブジェクトと一致する現実的な効果を示すことができる。画像処理装置１００は、さらに、出力装置１６０を介して画像１７３を出力し得る。
【００１８】
いくつかのレガシーの解決策はまた、シーン内の照明条件を実際のシーンに関する画像から復元しようとする。しかし、これらの解決策は、典型的には、いくつかの又は全ての環境情報を含むリモートビュー画像に適用可能であるが、複数のアプリケーションにおける極めて一般的なクローズビュー画像には適さない（すなわち、実オブジェクトのみが画像内に提示され、一方、オブジェクトの照明効果につながる環境情報はほとんど見えない）。クローズビュー画像に対して、いくつかの他のレガシーの解決策は、実オブジェクトのシェーディング情報から実際のシーンの照明条件を取り出す（recover）ことを提案する。しかし、これらの解決策は、典型的には、物体の材料又は物体表面の反射が既知であることを必要とする。これらの解決策は、任意の材料又は表面反射を有するオブジェクトに関する画像に基づいて、実際のシーンの照明条件を取り出すことができない。
【００１９】
既存の照明推定解決策におけるいくつかの問題を上述した。本明細書に記載される主題の実装によれば、上記の問題及び１つ又は複数の他の潜在的な問題を解決するための照明推定の解決策が提供される。この解決策は、入力画像のシェーディング及び影情報に基づく複数レベルのニューラルネットワークを用いて、シーン内の照明条件の漸進的推定を可能にする。従って、この解決策は、シーン中の実オブジェクトの材料特性に関するいかなる仮定もすることなしに、リモートビュー画像とクローズビュー画像の両方に適用可能である。シーン中の光源を基準の光ベースのセットの線形結合でモデル化し、ニューラルネットワークの入力として基準の光ベースのセットからレンダリングされる放射照度強度マップのセットを利用することにより、この解決策は照明推定の複雑さを著しく単純化し、結果の精度を高めることができる。加えて、マルチツリーベースの漸進的推定を利用することにより、この解決策はニューラルネットワークの各レベルの訓練及び計算コストを低減し、そのロバスト性を改善することができる。この解決策による光推定の結果を用いてレンダリングされる仮想オブジェクトは、実オブジェクトと一致するシェーディング及び影の効果を示すことができる。
【００２０】
この解決策の様々な例が、図面を参照して、以下にさらに詳細に説明される。
【００２１】
システムアーキテクチャ
【００２２】
図２は、本明細書に記載される主題のいくつかの実装による照明推定のためのシステム２００のブロック図を示す。いくつかの実装では、システム２００は、図１のコンピューティングデバイス１００の画像処理モジュール１２２の少なくとも一部として実装することができ、すなわち、コンピュータプログラムモジュールとして実装することができる。代替的には、他の実装では、システム２００は、ハードウェアデバイスによって完全に又は部分的に実装することができる。図２に示すように、システム２００は、概して、シーン決定サブシステム２１０及び照明決定サブシステム２２０を含み得る。システム２００の構造及び機能性は、本明細書に記載される主題の範囲に対するいかなる限定も示唆することなく、説明の目的のためにだけ本明細書に記載されることが理解されるべきである。本明細書に記載される主題の実装は、異なる構造及び／又は機能性で具体化することができる。
【００２３】
図２に示すように、システム２００の入力は、平坦な表面上に配置された実オブジェクトに関する入力画像２０１（例えば、入力画像２０１は、図１に示すように入力画像１７１であることができる）と、入力画像２０１に対応するデプスマップ２０２（例えば、デプスマップ２０２は、図１に示すようにデプスマップ１７２であることができる）であることができる。入力画像２０１は、例えば、任意のサイズ及び／又はフォーマットであり得る。いくつかの実装では、入力画像２０１は、共通のＲＧＢ３チャンネル画像であり得る。デプスマップ２０２は、デプスカメラによってキャプチャされ得、各ピクセルの値は、デプスカメラと、ピクセルに対応する実際のシーン内のポイントとの間の実際の距離を反映する。さらに、デプスマップ２０２は、入力画像２０１と整列される（aligned  with）ことができる。すなわち、デプスマップ２０２内のピクセルは、入力画像２０１内のピクセルと1対1で対応する。幾つかの実装では、デプスマップ２０２が実際のシーンの大まかな幾何学的構造を表すことができる限り、デプスマップ２０２内のピクセルの値によって示される奥行き（depths）は正確ではないことがある。
【００２４】
シーン決定サブシステム２１０は、デプスマップ２０２に基づいて入力画像２０１内の実際のシーン２２０を決定することができる。
【００２５】
いくつかの実装では、入力画像２０１内の実際のシーン２２０を決定するために、シーン決定サブシステム２１０は、最初に、実際のシーンを記述する座標系を決定し得る。例えば、シーン決定サブシステム２１０は、実オブジェクトの配置のための平坦な表面を、実際のシーンの座標系におけるＸＹ平面として定義し得、一方ＸＹ平面の法線は、実際のシーンの座標系におけるＺ軸としての役割を果たす。
【００２６】
いくつかの実装では、入力画像２０１内の実際のシーンを決定するために、シーン決定サブシステム２１０は、先ず、デプスマップ２０２を座標系内の点群（point  cloud）に変換し得る。次に、シーン決定サブシステム２１０は、点群内の実オブジェクトの配置のための平坦な表面を表す複数の点を面に適合させ得る。いくつかの実装では、複数の平面を含むシーンについて、シーン決定サブシステム２１０は、実オブジェクトの配置のための面として、複数の平面のうち最大のものを使用し得る。点群内の実オブジェクトの配置のための平坦な表面の複数の点を面に適合させた後、シーン決定サブシステム２１０は、平坦な表面を表す複数の点を除去し得る。実オブジェクトの配置のための平坦な表面を表す複数の点を面に適合させた後、シーン決定サブシステム２１０はさらに、適合した面の上方に位置する点群内の複数の点をさらに３次元（３Ｄ）メッシュに再構成し得る。例えば、シーン決定サブシステム２１０は、ポアソン表面再構成を介して、適合した面の上方に位置する点群内の複数の点を３次元（３Ｄ）メッシュに再構成し得る。適合した面及び再構築３Ｄメッシュは、入力画像２０１内のシーン２２０を一緒に表すことができる。
【００２７】
シーン決定サブシステム２１０によって決定されたシーン２２０及び入力画像２０１は、シーンの照明推定のために照明条件決定サブシステム２３０に入力することができる。いくつかの実装では、シーン２２０内の照明条件を推定するために、照明条件決定サブシステム２３０は、シーン２２０内の環境光源をモデル化し得る。
【００２８】
いくつかの実装では、照明条件決定サブシステム２３０は、座標系の原点を中心とし、上述した座標系の軸と整列した立方体を使用して、シーン２２０内の環境光源をモデル化し得る。立方体を展開することにより十字形状の画像を得ることができる。したがって、シーン２２０内の環境光源は、十字形画像の画像によって表すことができる。いくつかの他の実装では、照明条件決定サブシステム２３０は、球形又は他の形状などの３次元形状を使用して、シーン２２０内の環境光源をモデル化し得る。これに対応して、シーン２２０内の環境光源は、球形又は他の形状など、３次元形状に対応する他の形状の画像によって表すことができる。説明を容易にするために、この文脈では、十字形画像（例えば、図２の十字形画像２４０によって示されるように）は、シーン２２０における環境光源の表現の例として役立つ。これは、本明細書に記載された主題の範囲に対するいかなる限定も示唆することなく、説明の目的のためにのみ提供されることが理解されるべきである。本明細書に記載される主題は、他の表現を使用してシーン内の環境光源をモデル化することができる。
【００２９】
いくつかの実装では、光源を表す十字形画像２４０は、シーン２２０内の環境光源の複数の部分にそれぞれ対応する複数のピクセルを含み得る。例えば、複数のピクセルのそれぞれのピクセル値は、シーン２２０内の環境光源の複数の部分のそれぞれの放射照度強度を表し得る。この文脈では、シーン２２０内の環境光源を表す画像２４０内の各ピクセルを「基準の光ベース」、シーン２２０内の環境光源を表す画像２４０を「環境マップ」と呼ぶ。いくつかの実装では、照明条件決定サブシステム２３０は、シーン２２０及び入力画像２０１に基づいて、環境マップ２４０内の複数のピクセルの各ピクセル値を決定することができ、それによってシーン２２０内の照明条件を決定する。
【００３０】
照明条件決定サブシステム２３０の構成及び動作原理を以下に図３を参照して詳細に説明する。
【００３１】
動作原理
【００３２】
図３は、本明細書に記載される主題のいくつかの実装による、照明条件決定サブシステム２３０のブロック図を示す。図３に示すように、照明条件決定サブシステム２３０は、概して、放射照度マップ生成モジュール３２０、第１のニューラルネットワーク３４０、放射照度マップ生成モジュール３６０及び第２のニューラルネットワーク３５０を含み得る。照明条件決定サブシステム２３０の構造及び機能性は、本明細書に記載される主題の範囲に対するいかなる限定も示唆することなく、説明の目的のためにのみ提供されることが理解されるべきである。本明細書に記載される主題の実装は、異なる構造及び／又は機能性で具体化することができる。
【００３３】
上述したように、照明条件決定サブシステム２３０は、シーン２２０内の環境光源を特定の形状の画像として表現することができる。この文脈では、環境光源を表す例として、解像度４×４×３ピクセルの十字形画像が使用される。しかし、これは、本明細書に記載される主題の範囲に対するいかなる限定も示唆することなく、一例としてのみ提供されることが理解されるべきである。いくつかの実装では、照明条件決定サブシステム２３０は、シーン２２０内の環境光源を所定の値で表す十字形画像（すなわち、初期環境マップ３１０）内の４×４×３ピクセルの値を初期化し得る。例えば、初期環境マップ３１０内のピクセルの各々の値は、正規化された放射照度強度「１」で初期化することができる。
【００３４】
放射照度マップ生成
【００３５】
いくつかの実装では、放射照度マップ生成モジュール３２０は、シーン２２０に基づいて、シーン２２０内の光源によって引き起こされる入力画像２０１内の実オブジェクトのシェーディング及び影情報を決定し得る。具体的には、放射照度マップ生成モジュール３２０は、シーン２２０及び初期環境マップ３１０に基づいて、初期環境マップ３１０内の複数のピクセルに対応する第１の放射照度マップのセット３３０を生成し得る。本明細書に記載される「放射照度マップ」は、入力画像内のピクセルの各々に対する光源の放射束（radiant  flux）を記録し、これは、光源によって引き起こされる入力画像のシェーディング及び影情報を反映することができる。例えば、放射照度マップの第１のセットの各々は、入力画像２０１と同じサイズを有し得、光源のそれぞれの部分によって引き起こされる入力画像２０１内の実オブジェクトのシェーディング及び影情報を表し得る。
【００３６】
いくつかの実装では、光源上のある点Ｌ（例えば、光源を表す十字形画像内のピクセル）が与えられると、それに対応する放射照度マップが、入力画像２０１中のピクセルの各々に対する点Ｌの放射束を記録することができる。例えば、入力画像２０１のピクセルｘについて、光源上の点Ｌによって生じる放射束は、以下のように表すことができる:
【数１】
2021524628.tif 000003
ここで、Ｎ（ｘ）は、ピクセルｘにおける垂直方向を表し、ｌは、光源上の点Ｌからピクセルｘまでの照明方向を表し、Ｌ（ｌ）は、方向ｌに沿った放射照度強度を表し、Ｖ（ｘ，ｌ）は、方向ｌに沿った光源上の点Ｌまでのピクセルｘの視認度を表す。同様に、所与の光源上の複数の点の組み合わせについては、複数の点の組み合わせによって生じる放射束は、式（１）を積分することによって、決定されることができる。例えば、入力画像２０１のピクセルｘについて、光源上の複数の点（例えば、「Ω＋」と表される）の組み合わせを生じさせた放射束は、以下のように表すことができる:
【数２】
2021524628.tif 000004
【００３７】
式（１）に基づいて、放射照度マップ生成モジュール３２０は、初期環境マップ３１０内のピクセル（すなわち、シーン２２０内の環境光源の点）に対して、それに対応する放射照度マップを生成することができる。この方法では、放射照度マップ生成モジュール３２０は、初期環境マップ３１０内の複数のピクセルと1対1の対応を有する第１の放射照度マップのセット３３０を生成することができる。
【００３８】
初期化ネットワーク
【００３９】
図３に示すように、第１の放射照度マップのセット３３０及び入力画像２０１は、第１の訓練されたニューラルネットワーク３４０（本明細書では「初期化ネットワーク」とも呼ばれる）に入力されることができる。例えば、第１のニューラルネットワーク３４０は、初期環境マップ３１０内の複数のピクセルのそれぞれのピクセル値を決定し、したがって環境マップ３１０に対応する環境マップ３５０を生成するように訓練することができる畳み込みニューラルネットワーク（ＣＮＮ）であり得る。照明推定は、ここに記載される主題の実装が、シーン中の実オブジェクトの材料特性に関するいかなる仮定も必要とせずに、リモートビュー画像及びクローズビュー画像の両方に適用可能であるように、入力画像内のシェーディング及び影情報を表す放射照度マップをニューラルネットワークに提供することによって実行される。ＣＮＮは、本明細書において第１のニューラルネットワーク３４０の一例として提供されるが、本明細書に記載される主題の実装は、他のタイプのニューラルネットワークにも適用可能であり、本明細書に記載される主題の範囲は、この態様に限定されないことを理解されたい。
【００４０】
図４は、本明細書に記載される主題のいくつかの実装による照明推定のための初期化ネットワーク３４０の動作図である。図４は、入力画像２０１と、初期環境ネットワーク３１０に基づいて生成される第１の放射照度マップのセット３３０とを示す。図４に示すように、初期化ネットワーク３４０は、入力画像２０１及び第１の放射照度マップのセット３３０に基づいて初期化環境３１０内の複数のピクセルのそれぞれのピクセル値を決定することができ、したがって、環境マップ３１０に対応する環境マップ３５０を生成することができる。
【００４１】
いくつかの実装では、初期化ネットワーク３４０内部で、入力画像２０１は３層エンコーダによって処理され、各放射照度マップ３３０は別の２層エンコーダによって別々に処理され得る。各放射照度マップ３３０に対するエンコーダは、同じ構造及び重みを共有することができる。エンコーダの各層は、畳み込み層、バッチ正規化層及び励起層（例えば、活性化関数として正規化線形ユニット（ＲｅＬＵ）を使用する）を含み得、次いで、最大プーリング層によって次のスケールにダウンサンプリングされ得る。エンコーダを通過した後、各放射照度マップ３３０及び入力画像２０１から抽出された特徴マップ（feature  maps）は、連結され、次いで、別の３層のエンコーダによって処理される。最後に、初期環境マップ３１０内の複数のピクセルのそれぞれのピクセル値は、３層エンコーダが後に続く完全に接続された（ＦＣ）層から得ることができる。これらのピクセル値は、環境マップ３１０に対応する環境マップ３５０に編成されることができる。
【００４２】
幾つかの実装では、構築された訓練データセットは初期化ネットワーク３４０を訓練するために使用されることができる。例えば、３Ｄオブジェクト及び環境マップのグループからランダムに選択された３Ｄオブジェクト及び環境マップは、画像をレンダリングし生成するために使用されることができる。次に、レンダリング画像及びレンダリング中に適用される環境マップは、初期化ネットワーク３４０の訓練データセットに収集されることができる。初期化ネットワーク３４０の訓練手順の間、例えば、Ｌ２損失関数が、訓練データと予測結果との間の差を測定するために使用されることができる。
【００４３】
図３に戻ると、環境マップ３５０を生成することによって、照明条件決定サブシステム２３０は、シーン２２０内の照明条件を予備的に決定することができる。しかし、シーン内のオブジェクトの形状及びレイアウトが多様であるため、シーン内の照明条件と入力画像２０１及びデプスマップ２０２との間のマッピングは、非線形であり得る。この問題を解決するために、照明条件決定サブシステム２３０は、シーン２２０内の照明条件をより正確に決定するために、決定された環境マップ３５０内のピクセルをさらにリファインする（refine）ことができる。
【００４４】
リファインメントネットワーク
【００４５】
いくつかの実装では、照明条件決定サブシステム２３０は、環境マップ３５０内の各ピクセルをリファインし（refine）てサブピクセルにし、複数のリファインされたサブピクセルのそれぞれの値を決定することによって、シーン２２０内の照明条件をより正確に推定することができる。例えば、いくつかの実装では、照明条件決定サブシステム２３０は、４分木（quadtree）に基づいて環境マップ３５０内のピクセルをリファインすることができる。すなわち、照明条件決定サブシステム２３０は、環境マップ３５０内の各ピクセルを４つのサブピクセルにリファインし、４つのサブピクセルの値を対応して決定することができる。いくつかの他の実装では、照明条件決定サブシステム２３０はまた、環境マップ３５０内のピクセルを他の方法で分割することもできる。例えば、各ピクセルは、９つのサブピクセル、１６のサブピクセル等に分割することができる。
【００４６】
図３に示すように、いくつかの実装において、シーン２２０内の照明条件をより正確に決定するために、環境マップ３５０及びシーン２２０は、放射照度マップ生成モジュール３６０に入力され得る。いくつかの実装では、環境マップ３５０内のピクセル（例えば、ゼロではない放射照度強度を有するピクセル）に対して、放射照度マップ生成モジュール３６０は、ピクセルに関連する第２の放射照度マップのセット３７０を生成し得る。第２の放射照度マップのセット３７０及び入力画像２０１は、第２の訓練されたニューラルネットワーク３８０（これは、本明細書では「リファインメントネットワーク」とも呼ばれる）に入力することができる。例えば、第２のニューラルネットワーク３８０は、畳み込みニューラルネットワーク（ＣＮＮ）であり得、これは、環境マップ３５０内のピクセルが第２の放射照度マップのセット３７０及び入力画像２０１に基づいて複数のサブピクセルに分割されるべきかどうかを決定し、複数のサブピクセルのそれぞれの値を決定するように訓練されることができる。この方法では、照明条件決定サブシステム２３０は、環境マップ３５０に対応するリファインされた環境マップ２４０を生成することができる。ＣＮＮは、本明細書において第２のニューラルネットワーク３８０の一例として提供されるが、本明細書に記載される主題の実装は、他のタイプのニューラルネットワークにも適用可能であり、本明細書に記載される主題の範囲は、この態様に限定されないことが理解されるべきである。
【００４７】
Ｌ２は解像度４×４×３の環境マップ３５０を表すために使用され、Ｌ３は、４分木に基づいて環境マップ３５０をリファインすることによって得られる解像度８×８×３の環境マップ２４０（例えば、解像度８×８×３の環境マップ）を表すことが仮定される。環境マップ３５０内のｕｔｈ（第ｕ）列及びｖｔｈ（第ｖ）行に位置するピクセルがＬ２（ｕ，ｖ）として表わされると仮定すると、環境マップ２４０内のピクセルに対応する４つのサブピクセルは、Ｌ３（２ｕ，２ｖ）、Ｌ３（２ｕ＋１，２ｖ）、Ｌ３（２ｕ，２ｖ＋１）及びＬ３（２ｕ＋１，２ｖ＋１）として表されることができる。
【００４８】
いくつかの実装では、シーン２２０内の照明条件を可能な限り正確に決定するために、環境マップ３５０内のピクセルＬ２（ｕ，ｖ）に対して、放射照度マップ生成モジュール３６０は、リファインメントネットワーク３８０の入力として、次のより細かいレベルで、環境マップ２４０内のすべてのピクセルについてそれぞれの放射照度マップを生成し得る。しかし、この方法は、放射照度マップの数の著しい増加、及び、リファインメントネットワーク３８０に関連する計算及び記憶コストの著しい成長をもたらす。
【００４９】
この問題を解決するために、いくつかの実装では、環境マップ３５０内のピクセルＬ２（ｕ，ｖ）に対して、放射照度マップ生成モジュール３６０は、リファインメントネットワーク３８０の入力として所定の数の放射照度マップを生成し得る。例えば、環境マップ３５０内のピクセルＬ２（ｕ，ｖ）に対して、放射照度マップ生成モジュール３６０は、ピクセルＬ２（ｕ，ｖ）に関連する１３の放射照度マップを生成し得る。例えば、１３の放射照度マップは、ピクセルＬ２（ｕ，ｖ）から分割された４つのサブピクセルＬ３（２ｕ，２ｖ）、Ｌ３（２ｕ＋１,２ｖ）、Ｌ３（２ｕ,２ｖ＋１）及びＬ３（２ｕ＋１,２ｖ＋１）に対応する４つの放射照度マップ；ピクセルＬ２（ｕ，ｖ）に隣接する８つのピクセル（すなわち、Ｌ２（ｕ−１，ｖ−１）、Ｌ２（ｕ−１，ｖ）、Ｌ２（ｕ−１，ｖ＋１）、Ｌ２（ｕ，ｖ−１）、Ｌ２（ｕ，ｖ＋１）、Ｌ２（ｕ＋１，ｖ―１）、Ｌ２（ｕ＋１，ｖ）及びＬ２（ｕ＋１，ｖ＋１）に対応する８つの放射照度マップ；及び環境マップ３５０内のＬ２（ｕ，ｖ）及び隣接する８つのピクセル以外の残りのピクセルの組み合わせに対応する放射照度マップを含み得る。
【００５０】
第２の放射照度マップのセット３７０は、上述の式（１）又は（2）に基づいて生成され得る。具体的には、放射照度マップ生成モジュール３６０は、上述した式（１）に基づいて、ピクセルＬ２（ｕ，ｖ）からそれぞれ分割された４つのサブピクセルＬ３（２ｕ,２ｖ）、Ｌ３（２ｕ＋１,２ｖ）、Ｌ３（２ｕ,２ｖ＋１）、及びＬ３（２ｕ＋１,２ｖ＋１）に対応する４つの放射照度マップを生成し得る。同様に、放射照度マップ生成モジュール３６０は、上記の式（１）に基づいて、ピクセルＬ２（ｕ，ｖ）に隣接する８つのピクセル（すなわち、Ｌ２（ｕ−１，ｖ−１）、Ｌ２（ｕ−１，ｖ）、Ｌ２（ｕ−１，ｖ＋１）、Ｌ２（ｕ，ｖ−１）、Ｌ２（ｕ，ｖ＋１）、Ｌ２（ｕ＋１，ｖ−１）、Ｌ２（ｕ＋１，ｖ）及びＬ２（ｕ＋１，ｖ＋１）にそれぞれ対応する８つの放射照度マップを生成し得る。加えて、放射照度マップ生成モジュール３６０は、上記式（２）に基づいて、ピクセルＬ２（ｕ，ｖ）及び環境マップ３５０内の隣接する８ピクセル以外の残りのピクセルの組み合わせに対応する放射照度マップを生成し得る。上述の１３の放射照度マップは、リファインされた環境マップ２４０を生成するために使用されるように、リファインメントネットワーク３８０の入力として作用することができる。
【００５１】
図５は、本明細書に記載される主題のいくつかの実装による照明推定のためのリファインメントネットワーク３８０の動作図を示す。図５は、入力画像２０１及び環境マップ３５０内のピクセル５４０（本明細書では「第１のピクセル」とも呼ばれる）から生成された第２の放射照度マップのセット３７０を示す。図５に示すように、いくつかの実装では、図３に示すように、放射照度マップ生成モジュール３６０によって生成された第２の放射照度マップのセット３７０は、ピクセル５４０から分割された４つのサブピクセルに対応する４つの放射照度マップ５１０−１．．．５１０−４、ピクセル５４０に隣接する８つのピクセルに対応する８つの放射照度マップ５２０−１．．．．５２０−８、及び環境３５０内のピクセル５４０及び８つの隣接するピクセル以外の残りのピクセルの組み合わせに対応する放射照度マップ５３０を含み得る。リファインメントネットワーク３８０は、第２の放射照度マップのセット３７０及び入力画像２０１に基づいて、ピクセル５４０が分割されるべきであるかどうかを決定し得る。リファインメントネットワーク３８０が、ピクセル５４０が分割されるべきであると決定する場合、リファインメントネットワーク３８０は、ピクセル５４０から分割された４つのサブピクセルのそれぞれの値をさらに決定し得る。このようにして、環境マップ３５０に対応するリファインされた環境マップ２４０を生成することができる。
【００５２】
いくつかの実装では、リファインメントネットワーク３８０の内部構造は、初期化ネットワーク３４０の内部構造と同様であり得る。具体的には、入力画像２０１及び各放射照度マップ３７０は、異なるエンコーダによって別々に処理され得る。第２の放射照度マップのセット３７０及び入力画像２０１が別々のエンコーダによって処理された後、抽出された特徴を連結し、別の３層のエンコーダに供給することができる。最後に、出力結果（すなわち、ピクセルが分割されるかどうか、及びピクセルから分割されるサブピクセルのそれぞれの値）は、３層エンコーダに続く完全接続（ＦＣ）層から得ることができる。特に、リファインメントネットワーク３８０では、４つの放射照度マップ５１０−１
．．． ５１０−４に対する４つのエンコーダが重みを共有することができる。同様に、８つの放射照度マップ５２０−１ ．．． ５２０−８に対する８つのエンコーダが重みを共有することができる。ピクセルが分割されるべきかどうかの決定に関して、リファインメントネットワーク３８０は、それが分割されるべき確率及びそれが分割されるべきでない確率を出力することができる。次いで、ソフトマックス層が、それらを最終決定に変換し得る。４つのサブピクセルの値に対して、それらの放射照度強度の間により強いコントラストが存在することがある。幾つかの実装では、出力値の範囲は、複数の間隔に一様に分割することができ、各サブピクセルの値は、離散化された多項分類で出力することができる。
【００５３】
いくつかの実装では、構築されたデータセットを使用して、リファインメントネットワーク３８０を訓練することができる。例えば、画像は、３Ｄオブジェクトと、３Ｄオブジェクトのセット及び照明条件からランダムに選択された照明条件を使用してレンダリングすることができる。ランダムに選択された各照明条件に対して、予め定義されたポリシーを使用して、その最適な十字形画像表現を決定することができる。その後、リファインメントネットワーク３８０は、入力画像から最適な十字形画像表現へのマッピングを近似するように訓練されることができる。いくつかの実装では、例えば、クロスエントロピー損失関数を使用して、分割決定及びサブピクセル値の両方に対してリファインメントネットワーク３８０を訓練することができる。
【００５４】
図３は、２つのレベルのニューラルネットワーク（すなわち、初期化ネットワーク３４０及びリファインメントネットワーク３８０）を有する照明条件決定サブシステム２３０の例を示すのみであるが、本明細書に記載される主題の実装は、より少ないレベル又はより多いレベルのニューラルネットワークを使用する照明条件の推定に適用可能であることが理解されるべきである。例えば、いくつかの実施態様では、計算コストを低減するために、１つのレベルのニューラルネットワーク（例えば、初期化ネットワーク３４０）のみを使用することができる。あるいは、いくつかの他の実装では、より正確な結果を得るために、より多いレベルのリファインメントネットワーク（例えば、２つ以上のレベルのリファインメントネットワーク）を使用することができる。
【００５５】
図６は、本明細書に記載される主題のいくつかの実装による、複数のレベルのニューラルネットワーク（例えば、初期化ネットワーク及び２つのレベルのリファインメントネットワーク）を使用して、シーン内の照明条件を漸進的に決定する図を示す。図６は、初期化ネットワークによって決定される環境マップ６１０を示す。第１のレベルのリファインメントネットワークは、環境マップ６１０内のピクセル６０１、６０２．．．６０５の各々に対して、ピクセルがさらに分割されるべきかどうかを決定し、分割されるべきと決定されるピクセル６０１、６０３及び６０５の各々に対して、ピクセルから分割される４つのサブピクセルのそれぞれの値を決定する。第２のレベルのリファインメントネットワークは、第１のレベルのリファインメントネットワークから出力される環境マップ内のピクセル６０６、６０７、．．．６１１の各々に対して、ピクセルがさらに分割されるべきかどうかを決定し、分割されるべきと決定されるピクセル６０６、６０７及び６１０の各々に対して、ピクセルから分割される４つのサブピクセルの各々の値を決定する。このようにして、最終的な環境マップ６２０（例えば、１６×１６×３ピクセルの解像度の）を得ることができる。
【００５６】
本明細書に記載された主題の実装による照明推定の解決策が、上述されている。以上の説明から、本明細書に記載される主題による照明推定の解決策は、シーン内の実オブジェクトの材料特性を仮定することなく、入力画像と入力画像のシェーディング及び影情報とに基づいて、複数のレベルのニューラルネットワークを用いて、シーン内の照明条件を漸進的に推定することができることが分かる。シーン内の光源を基準の光ベースのセットの線形結合でモデル化し、ニューラルネットワークの入力として基準の光ベースのセットからレンダリングされる放射照度マップのセットを利用することにより、この解決策は照明推定の複雑さを大幅に単純化し、結果の精度を改善することができる。さらに、マルチツリーベースの漸進的推定を利用することにより、この解決策は各レベルのニューラルネットワークの訓練と計算コストを低減し、そのロバスト性を改善することができる。この解決策に従って得られた照明条件を用いてレンダリングされる仮想オブジェクトは、実オブジェクトと一致する現実的な効果を示すことができる。
【００５７】
例示のプロセス
【００５８】
図７は、本明細書に記載される主題のいくつかの実装による照明推定のためのプロセス７００のフローチャートを示す。プロセス７００は、例えば、図１に示すように、画像処理モジュール１２２によって実現することができる。プロセス７００は、図示されていない追加のブロックをさらに含むことができ、及び／又は図示されているブロックを省略することができることが理解されるべきである。本明細書に記載される主題の範囲は、この態様に限定されない。
【００５９】
ブロック７１０において、画像処理モジュール１２２は、実オブジェクトに関する入力画像及び入力画像に対応するデプスマップを取得する。
【００６０】
ブロック７２０では、画像処理モジュール１２２は、デプスマップに基づいて入力画像内のシーンを決定する。
【００６１】
ブロック７３０では、画像処理モジュール１２２は、シーンに基づいて、シーン内の光源によって引き起こされる実オブジェクトのシェーディング及び影情報を決定する。
【００６２】
ブロック７４０では、画像処理モジュール１２２は、入力画像と、シェーディング及び影情報とに基づいて、光源によって引き起こされるシーン内の照明条件を決定する。
【００６３】
いくつかの実装では、プロセス７００はさらに：シーン及び照明条件に基づいて、実オブジェクト及び仮想オブジェクトを有する出力画像を生成することを含み、出力画像は、入力画像のシーン内に仮想オブジェクトを合成する。
【００６４】
いくつかの実装では、シーンは、実オブジェクトの配置のための表面を含む。シーンを決定することは：デプスマップを点群に変換することと；前記点群内の複数の点を面に適合させることであって、複数の点は表面を表す、適合させることと；前記面の上に位置する点群内の複数の点を３次元メッシュに再構成することであって、面及び３次元メッシュは、入力画像内のシーンを共に表す、再構成すること；とを含む。
【００６５】
いくつかの実装では、光源は、所定の形状の画像によって表され、画像は、光源の複数の部分に対応する複数のピクセルを含み、複数のピクセルのそれぞれのピクセル値は、光源の複数の部分のそれぞれの放射照度強度を表す。いくつかの実装では、シェーディング及び影情報を決定することは：画像内の複数のピクセルのそれぞれのピクセル値を所定の値で初期化することと；シーン及び初期化された画像に基づいて、複数のピクセルに対応する第１の放射照度マップのセットを生成することとを含み、放射照度マップの各々は、光源の対応する部分によって引き起こされる実オブジェクトの対応するシェーディング及び影情報を表す。幾つかの実装では、シーン内の照明条件を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００６６】
いくつかの実装では、光源を表す画像は、十字形状の画像である。
【００６７】
幾つかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００６８】
幾つかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、複数の訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を漸進的に決定することを含む。
【００６９】
いくつかの実装では、複数の訓練されたニューラルネットワークは、少なくとも第１のニューラルネットワーク及び第２のニューラルネットワークを含む。画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、第１のニューラルネットワークを使用して、複数のピクセルの第１のピクセルの第１のピクセル値及び第１のピクセルに隣接する少なくとも１つのピクセルのピクセル値を決定することと；第１のピクセル、少なくとも１つのピクセル及びシーンに基づいて第２の放射照度マップのセットを生成することであって、第２の放射照度マップのセットは、第１のピクセルの複数のサブピクセル、少なくとも１つのピクセル、並びに複数のピクセルのうちの第１のピクセル及び少なくとも１つのピクセル以外のピクセルの組み合わせそれぞれに対応する、生成することと；入力画像及び第２の放射照度マップのセットに基づいて、第１のピクセルが第２のニューラルネットワークを使用して分割されるべきかどうかを決定することと；第１のピクセル値が分割されるべきでないことを決定することに応答して、第１のピクセル値を第１のピクセルの最終ピクセルとして使用すること；を含む。
【００７０】
幾つかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することはさらに：第１のピクセルが分割されるべきであるという決定に応答して、第１のピクセルを複数のサブピクセルに分割することと、複数のサブピクセルのそれぞれのサブピクセル値を決定することとを含む。
【００７１】
例示の実装
【００７２】
本明細書に記載される主題のいくつかの例示的な例示の実装が、以下に挙げられる。
【００７３】
第１の態様では、本明細書に記載される主題は：処理ユニットと；処理ユニットに結合され、処理ユニットによる実行のための命令を記憶するメモリと；を有する電子デバイスを提供する。命令は、処理ユニットによって実行されるとき、デバイスに：実オブジェクトについての入力画像及び入力画像に対応するデプスマップを取得することと；デプスマップに基づいて入力画像内のシーンを決定することと；シーンに基づいて、シーン内の光源によって引き起こされる実オブジェクトのシェーディング及び影情報を決定することと；入力画像と、シェーディング及び影情報とに基づいて光源によって引き起こされるシーン内の照明条件を決定することと；を含む動作を実行させる。
【００７４】
いくつかの実装では、動作はさらに：シーン及び照明条件に基づいて、実オブジェクト及び仮想オブジェクトを含む出力画像を生成することを含み、出力画像は入力画像のシーン内に仮想オブジェクトを合成する。
【００７５】
いくつかの実装では、シーンは、実オブジェクトの配置のための表面を含む。シーンを決定することは：デプスマップを点群に変換することと；点群内の複数の点を面に適合させることであって、複数の点は表面を表す、適合させることと；面の上に位置する点群内の複数の点を３次元メッシュに再構成することであって、面及び３次元メッシュは、入力画像内のシーンを共に表す、再構成することと：を含む。
【００７６】
いくつかの実装では、光源は、所定の形状の画像によって表され、画像は、光源の複数の部分に対応する複数のピクセルを含み、複数のピクセルのそれぞれのピクセル値は、光源の複数の部分のそれぞれの放射照度強度を表す。いくつかの実装では、シェーディング及び影情報を決定することは：画像内の複数のピクセルのそれぞれのピクセル値を所定の値で初期化することと；シーン及び初期化された画像に基づいて、複数のピクセルに対応する第１の放射照度マップのセットを生成することとを含み、放射照度マップの各々は、光源の対応する部分によって引き起こされる実オブジェクトの対応するシェーディング及び影情報を表す。いくつかの実装では、シーン内の照明条件を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００７７】
いくつかの実装では、光源を表す画像は、十字形状の画像である。
【００７８】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００７９】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、複数の訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を漸進的に決定することを含む。
【００８０】
いくつかの実装では、複数の訓練されたニューラルネットワークは、少なくとも第１のニューラルネットワーク及び第２のニューラルネットワークを含む。画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、第１のニューラルネットワークを使用して、複数のピクセルの第１のピクセルの第１のピクセル値及び第１のピクセルに隣接する少なくとも１つのピクセルのピクセル値を決定することと；第１のピクセル、少なくとも１つのピクセル及びシーンに基づいて第２の放射照度マップのセットを生成することであって、第２の放射照度マップのセットは、第１のピクセルの複数のサブピクセル、少なくとも１つのピクセル、並びに複数のピクセルのうちの第１のピクセル及び少なくとも１つのピクセル以外のピクセルの組み合わせそれぞれに対応する、生成することと；入力画像及び第２の放射照度マップのセットに基づいて、第１のピクセルが第２のニューラルネットワークを使用して分割されるべきかどうかを決定することと；第１のピクセル値が分割されるべきでないことを決定することに応答して、第１のピクセル値を第１のピクセルの最終ピクセルとして使用することと；を含む。
【００８１】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することはさらに：第１のピクセルが分割されるべきであるということを決定することに応答して、第１のピクセルを複数のサブピクセルに分割することと；複数のサブピクセルのそれぞれのサブピクセル値を決定することとを含む。
【００８２】
第２の態様では、本明細書に記載の主題は、コンピュータに実装される方法を提供する。本方法は：実オブジェクトに関する入力画像及び入力画像に対応するデプスマップを取得することと；デプスマップに基づいて入力画像内のシーンを決定することと；シーンに基づいて、シーン内の光源によって引き起こされる実オブジェクトのシェーディング及び影情報を決定することと；入力画像と、シェーディング及び影情報とに基づいて、光源によって引き起こされるシーン内の照明条件を決定することと；を含む。
【００８３】
いくつかの実装では、本方法はさらに：シーン及び照明条件に基づいて、実オブジェクト及び仮想オブジェクトを含む出力画像を生成することをさらに含み、出力画像は、入力画像のシーン内に仮想オブジェクトを合成する。
【００８４】
いくつかの実装では、シーンは、実オブジェクトの配置のための表面を含む。シーンを決定することは：デプスマップを点群に変換することと；点群内の複数の点を面に適合させることであって、複数の点は、表面を表す、適合させることと；面の上に位置する点群内の複数の点を３次元メッシュに再構成することであって、面及び３次元メッシュは、入力画像内のシーンを共に表す、再構成することと；を含む。
【００８５】
いくつかの実装では、光源は、所定の形状の画像によって表され、画像は、光源の複数の部分に対応する複数のピクセルを含み、複数のピクセルのそれぞれのピクセル値は、光源の複数の部分のそれぞれの放射照度強度を表す。いくつかの実装では、シェーディング及び影情報を決定することは：画像内の複数のピクセルのそれぞれのピクセル値を所定の値で初期化することと；シーン及び初期化された画像に基づいて、複数のピクセルに対応する第１の放射照度マップのセットを生成することと；を含み、放射照度マップの各々は、光源の対応する部分によって引き起こされる実オブジェクトの対応するシェーディング及び影情報を表す。いくつかの実装では、シーン内の照明条件を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００８６】
いくつかの実装では、光源を表す画像は、十字形状の画像である。
【００８７】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を決定することを含む。
【００８８】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、複数の訓練されたニューラルネットワークを用いて画像内の複数のピクセルのそれぞれのピクセル値を漸進的に決定することを含む。
【００８９】
いくつかの実装では、複数の訓練されたニューラルネットワークは、少なくとも第１のニューラルネットワーク及び第２のニューラルネットワークを含む。画像内の複数のピクセルのそれぞれのピクセル値を決定することは：入力画像及び第１の放射照度マップのセットに基づいて、第１のニューラルネットワークを使用して、複数のピクセルの第１のピクセルの第１のピクセル値及び第１のピクセルに隣接する少なくとも１つのピクセルのピクセル値を決定することと；第１のピクセル、少なくとも１つのピクセル及びシーンに基づいて第２の放射照度マップのセットを生成することであって、第２の放射照度マップのセットは、第１のピクセルの複数のサブピクセル、少なくとも１つのピクセル、並びに複数のピクセルのうちの第１のピクセル及び少なくとも１つのピクセル以外のピクセルの組み合わせそれぞれに対応する、生成することと；入力画像及び第２の放射照度マップのセットに基づいて、第１のピクセルが第２のニューラルネットワークを使用して分割されるべきであるかどうかを決定することと；第１のピクセル値が分割されるべきでないと決定することに応答して、第１のピクセル値を第１のピクセルの最終ピクセル値として使用することと；を含む。
【００９０】
いくつかの実装では、画像内の複数のピクセルのそれぞれのピクセル値を決定することはさらに：第１のピクセルが分割されるべきであると決定することに応答して、第１のピクセルを複数のサブピクセルに分割することと；複数のサブピクセルのそれぞれのサブピクセル値を決定することと；を含む。
【００９１】
第３の態様では、本明細書に記載される主題は、非一過性コンピュータ記憶媒体に実体的に記憶され、デバイスによって実行されるとき、デバイスに本明細書に記載される主題の第２の態様における方法を実施させるコンピュータ実行可能命令を含む、コンピュータプログラム製品を提供する。
【００９２】
第４の態様では、本明細書に記載される主題は、その上に記憶されるコンピュータ実行可能命令を有するコンピュータ読取可能媒体を提供し、コンピュータ実行可能命令は、デバイスによって実行されるとき、デバイスに本明細書に記載される主題の第２の態様における方法を実行させる。
【００９３】
本明細書に記載される機能は、少なくとも部分的に、１つ又は複数のハードウェア論理コンポーネントによって実行することができる。例えば、限定されるものではないが、使用することができるハードウェア論理コンポーネントの例示的なタイプは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準製品（ＡＳＳＰ）、システムオンアチップシステム（ＳＯＣ）、複雑なプログラマブルロジックデバイス（ＣＰＬＤ）などを含む。
【００９４】
本明細書に記載される主題の方法を実行するためのプログラムコードは、１つ又は複数のプログラミング言語の任意の組み合わせで書かれ得る。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供され得、その結果、プログラムコードは、プロセッサ又はコントローラによって実行されるとき、フローチャート及び／又はブロック図に指定された機能／動作を実行させる。プログラムコードは、完全にマシン上で、部分的にマシン上で、スタンドアロンソフトウェアパッケージとして、部分的にマシン上で且つ部分的にリモートマシン上で、又は完全にリモートマシン又はサーバ上で、実行し得る。
【００９５】
本開示の文脈において、機械可読媒体は、命令実行システム、装置、若しくはデバイスによる使用するための又はこれらと関連して使用するためのプログラムを含み得る又は記憶し得る任意の有形媒体であり得る。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であり得る。機械可読媒体は、電子、磁気、光学、電磁、赤外線、もしくは半導体システム、装置、もしくはデバイス、又は前述の任意の適切な組み合わせを含み得るが、これらに限定されない。機械可読媒体のより具体的な例としては、１つ又は複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又はこれらの適切な組み合わせが挙げられる。
【００９６】
さらに、動作が特定の順序で示されているが、これは、このような動作が、図示された特定の順序で又は順番に行われること、又は、望ましい結果を達成するために、図示されたすべての動作が行われることを要求するものとして理解されるべきではない。特定の状況下では、マルチタスク及び並列処理が有利であり得る。同様に、いくつかの特定の実装の詳細が上記の議論に含まれているが、これらは、本明細書に記載される主題の範囲に対する限定としてではなく、むしろ特定の実装に固有であり得る特徴の説明として解釈されるべきである。別々の実装のコンテキストで記述される特定の特徴は、単一の実装において組み合わせて実装されてもよい。逆に、単一の実装のコンテキストで記載される種々の特徴は、複数の実装において別々に又は任意の適切なサブコンビネーションで実装されてもよい。
【００９７】
主題は、構造的特徴及び／又は方法論的動作に特有の言語で記載されているが、添付の請求項に記載された主題は、必ずしも上記の特定の特徴又は動作に限定されるものではないことを理解されたい。むしろ、上述の特定の特徴及び動作は、特許請求の範囲を実施する例示的な形態として開示される。
【図１】
2021524628.tif 000005
【図２】
2021524628.tif 000006
【図３】
2021524628.tif 000007
【図４】
2021524628.tif 000008
【図５】
2021524628.tif 000009
【図６】
2021524628.tif 000010
【図７】
2021524628.tif 000011
【国際調査報告】
2021524628.tif 000012
2021524628.tif 000013