(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-03
(45)【発行日】2024-10-11
(54)【発明の名称】多様なポートレートから照明を学習すること
(51)【国際特許分類】
G06T 7/00 20170101AFI20241004BHJP
G06T 15/50 20110101ALI20241004BHJP
【FI】
G06T7/00 350B
G06T15/50
(21)【出願番号】P 2022544338
(86)(22)【出願日】2020-09-21
(86)【国際出願番号】 US2020070558
(87)【国際公開番号】W WO2021236175
(87)【国際公開日】2021-11-25
【審査請求日】2022-10-18
(32)【優先日】2020-05-20
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ルジャンドル,クロエ
(72)【発明者】
【氏名】デベベック,ポール
(72)【発明者】
【氏名】マ,ワン-チュン
(72)【発明者】
【氏名】パンディ,ロヒット
(72)【発明者】
【氏名】ファネロ,ショーン・リャン・フランセスコ
(72)【発明者】
【氏名】トン,クリスティーナ
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特開2019-179464(JP,A)
【文献】米国特許出願公開第2009/0310828(US,A1)
【文献】特開2019-049706(JP,A)
【文献】TIANCHENG SUN et al.,Single Image Portrait Relighting,[online],2019年05月02日,https://arxiv.org/abs/1905.00824
【文献】Chloe LeGendre et al.,DeepLight: Learning Illumination for Unconstrained Mobile Mixed Reality,[online],2019年04月02日,https://arxiv.org/abs/1904.01175
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-7/90
G06V 10/00-40/70
(57)【特許請求の範囲】
【請求項1】
方法であって、
複数の画像を表す画像データを受信するステップを備え、前記複数の画像は、人間の顔の表現を含み、前記人間の顔の表現は、物理的環境または仮想環境内の照明源によって照明された顔の画像を用いることによって形成されており、前記方法はさらに、
前記複数の画像に基づいて予測エンジンを生成するステップを備え、前記予測エンジンは、前記人間の顔の入力表現から予測照明プロファイルを生成するように構成されており、
前記予測エンジンを生成するステップは、
前記予測照明プロファイルを使用して一組の基準オブジェクトの微分可能レンダリングを実行して、前記一組の基準オブジェクトのレンダリングされた画像を生成するステップを含み、前記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有し、前記予測エンジンを生成するステップはさらに、
前記一組の基準オブジェクトの前記レンダリングされた画像と前記一組の基準オブジェクトのグラウンドトゥルース画像との間の差を前記予測エンジンのコスト関数として生成するステップを含む、方法。
【請求項2】
前記コスト関数は、前記一組の基準オブジェクトの前記レンダリングされた画像に対するBRDFによって重み付けされたL1損失を含む、請求項
1に記載の方法。
【請求項3】
前記コスト関数は、第1のコスト関数であり、
前記予測エンジンは、第2のコスト関数を含み、前記第2のコスト関数は、ミラーボールからの高周波鏡面反射に基づく敵対的損失関数である、請求項
1に記載の方法。
【請求項4】
前記微分可能レンダリングは、画像ベースの再ライティング(IBRL)を使用して実行されて、ハイダイナミックレンジ(HDR)照明画像を生成する、請求項
1に記載の方法。
【請求項5】
前記コスト関数は、第1のコスト関数であり、
前記予測エンジンは、第2のコスト関数を含み、前記第2のコスト関数は、第1の人間の顔からの第1の予測照明プロファイルと第2の人間の顔からの第2の予測照明プロファイルとの間の差に基づく交差対象一貫性ベースの損失関数である、請求項
1に記載の方法。
【請求項6】
電子装置であって、
メモリと、
前記メモリに結合された制御回路とを備え、前記制御回路は、
複数の画像を表す訓練データを受信するように構成されており、前記複数の画像は、人間の顔の表現を含み、前記人間の顔の表現は、物理的環境または仮想環境内の照明源によって照明された顔の画像を用いることによって形成されており、前記制御回路はさらに、
前記複数の画像に基づいて予測エンジンを生成するように構成されており、前記予測エンジンは、前記人間の顔の入力表現から予測照明プロファイルを生成するように構成されており、
前記予測エンジンを生成することは、
前記予測照明プロファイルを使用して一組の基準オブジェクトの微分可能レンダリングを実行して、前記一組の基準オブジェクトのレンダリングされた画像を生成することを含み、前記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有し、前記予測エンジンを生成することはさらに、
前記一組の基準オブジェクトの前記レンダリングされた画像と前記一組の基準オブジェクトのグラウンドトゥルース画像との間の差を前記予測エンジンのコスト関数として生成することを含む、電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、「ポートレートから照明を学習すること(LEARNING ILLUMINATION FROM PORTRAITS)」と題される2020年5月20日に出願された米国仮特許出願番号第62/704,657号の非仮出願であって、米国仮特許出願番号第62/704,657号に対する優先権を主張し、米国仮特許出願番号第62/704,657号の開示は全文が引用によって本明細書に援用される。
【0002】
技術分野
本明細書は、たとえば拡張現実アプリケーションで使用される、ポートレートから照明を判断することに関する。
【背景技術】
【0003】
背景
静止写真および映像アプリケーションの双方での問題は、レンダリングされた仮想コンテンツがシーンの外観ともっともらしく一致するように現実世界のシーンのライティングを一致させることである。たとえば、モバイルデバイスの背面カメラと同様にワールドフェーシングカメラを用いた拡張現実(AR)使用事例のためのライティングスキームを設計し得るが、合成オブジェクト(1つの家具など)を現実世界のシーンのライブカメラフィードにレンダリングしたがる人がいるかもしれない。
【発明の概要】
【0004】
概要
本明細書に開示されている実現例は、任意の屋内または屋外ライティング条件下で取り込まれた単一のローダイナミックレンジ(LDR)ポートレート画像からハイダイナミックレンジ(HDR)全方向照明を推定するための学習ベースの技術を提供する。このような技術は、グラウンドトゥルース環境照明と対にされたポートレート写真を使用してモデルを訓練することを含む。この訓練は、ライトステージを使用してこのような写真のリッチなセットを生成して、さまざまな表情をした70人の多様な対象の反射率フィールドおよびアルファマットを記録することと、次いで、100万個のHDRライティング環境のデータベースを用いて画像ベースの再ライティング(relighting)を使用して対象を再ライティングすることと、再ライティングされた対象を、ライティング取得中に記録された対をなす高解像度背景上にコンポジットすることとを含む。ライティング推定モデルの訓練は、レンダリングベースの損失関数を使用し、また、場合によっては、マルチスケール敵対的損失を使用して、もっともらしい高周波ライティング詳細を推定する。この学習ベースの技術は、全体的なライティング強度と表面アルベドとの間の特有の曖昧さを確実に処理し、多様な肌の色を有する対象について同様のスケールの照明を回復させる。この技術はさらに、仮想オブジェクトおよびデジタルキャラクタを一貫した照明を有するポートレート写真に追加することを可能にする。このライティング推定は、スマートフォン上でリアルタイムで実行可能であり、拡張現実(AR)アプリケーションのためのライブ映像への仮想オブジェクトの写実的レンダリングおよびコンポジットを可能にする。
【0005】
1つの一般的局面において、方法は、複数の画像を表す画像訓練データを受信するステップを含み得て、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置している。また、上記方法は、上記複数の画像に基づいて予測エンジンを生成するステップを含み得て、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す。
【0006】
別の一般的局面において、コンピュータプログラム製品は、非一時的な記憶媒体を備え、上記コンピュータプログラム製品は、コードを含み、上記コードは、コンピューティングデバイスの処理回路によって実行されると、上記処理回路に方法を実行させる。上記方法は、複数の画像を表す画像訓練データを受信するステップを含み得て、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置している。また、上記方法は、上記複数の画像に基づいて予測エンジンを生成するステップを含み得て、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す。
【0007】
別の一般的局面において、電子装置は、メモリと、上記メモリに結合された制御回路とを備える。上記制御回路は、複数の画像を表す画像訓練データを受信するように構成され得て、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置している。また、上記制御回路は、上記複数の画像に基づいて予測エンジンを生成するように構成され得て、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す。
【0008】
1つまたは複数の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0009】
【
図1】本明細書に記載されている改良された技術が実現され得る例示的な電子環境を示す図である。
【
図2】開示されている実現例に係る、ポートレートからライティングを推定する例示的な方法を示すフローチャートである。
【
図3】開示されている実現例に係る、ポートレートからライティングを推定するように構成された例示的なシステムを示す図である。
【
図4】
図3に示される例示的なシステム内の例示的な畳み込みニューラルネットワーク(CNN)を示す図である。
【
図5】
図3に示される例示的なシステム内の例示的なディスクリミネータを示す図である。
【
図6】記載されている技術を実現するために使用することができるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【0010】
詳細な説明
拡張現実(AR)などの映像アプリケーションにおける1つの課題は、合成オブジェクトを実際のシーンの中にレンダリングして、そのオブジェクトがあたかも実際にそのシーンの中にあるかのごとく見えるようにすることを含む。1つの問題は、レンダリングされた仮想コンテンツがシーンの外観ともっともらしく一致するように現実世界のシーンのライティングを一致させることである。たとえば、モバイルデバイスの背面カメラと同様にワールドフェーシングカメラを用いたAR使用事例のためのライティングスキームを設計し得るが、合成オブジェクト(1つの家具など)を現実世界のシーンのライブカメラフィードにレンダリングしたがる人がいるかもしれない。
【0011】
しかし、このようなワールドフェーシングカメラ用に設計されたライティングスキームは、たとえば自撮り画像のための前面カメラ用に設計されたライティングスキームとはおそらく異なっているであろう。たとえば、ポートレート写真撮影では、ライティングは所与の写真のルックアンドフィールに影響を及ぼす。写真家は、特定の美的感性および感情のトーンを伝えるように対象をライティングする。現実世界のライティングスキームを取り込むための、フィルム視覚効果専門家によって使用される1つのアプローチは、複数回の露光を使用して鏡面球を撮影することによって全方向照明の色および強度を記録することを含む。この従来のアプローチの結果は、仮想コンテンツを現実世界の写真に写実的にレンダリングするために使用されるHDR「画像ベースのライティング」(IBL)環境である。
【0012】
ARは、仮想コンテンツと現実世界の画像とを写実的にブレンドするという目標をフィルム視覚効果と共有する。しかし、リアルタイムARでは、カジュアルな携帯電話またはヘッドセットのユーザにとっては取得が非現実的であり得るので、専用の取り込みハードウェアからのライティング測定値は入手できない。同様に、フィルムにおけるポストプロダクション視覚効果について、オンセットライティング測定値は必ずしも入手できるとは限らないにもかかわらず、ライティングアーティストは、それでもなお、シーンの中の手がかりを使用して照明について推論しなければならない。
【0013】
したがって、ライティング環境内での人の顔の画像を考慮に入れた前面カメラのためのライティングスキームを決定することが課題である。いくつかの概念は、顔からの形状および反射率の強い事前確率を活用して、ポートレートからライティングを解いてきた。何人かの研究者がポートレート逆ライティングを紹介して以降、大半のこのような技術は、顔の形状も、通常は二次までの球面調和関数(SH)基底を使用して表される遠方シーンライティングの低周波近似も回復させようとしてきた。この近似の根拠は、肌反射率が、大部分が拡散する(ランバート)ために入射照明に対するローパスフィルタの役割を果たす、というものである。拡散材料では、放射照度は、実際には、この基底によって十分に表される9次元部分空間の非常に近くにある。
【0014】
しかし、取り込み時のライティングは、肌の拡散反射だけでなく、投射影の方向および範囲ならびに鏡面ハイライトの強度および位置によっても明らかになり得る。これらの手がかりからヒントを得て、いくつかのアプローチは、ポートレートからの逆ライティングを実行するようにニューラルネットワークを訓練して、任意の特定の肌反射率モデルを想定することなく全方向HDR照明を推定する。このようなアプローチは、より高い周波数のライティングをもたらすことができ、このライティングを使用して、オフラインライティング測定値が入手できない場合に視覚効果のアプリケーションでもARのアプリケーションでも新規の対象を現実世界のポートレートの中にもっともらしくレンダリングすることができる。
【0015】
顔のLDR画像を考慮に入れてライティングを推定する従来のアプローチは、顔に対する入射光放射照度と反射光放射輝度との間の関係を定義するモデル化された双方向反射分布関数(BRDF)に基づいてこのようなライティング推定を生成することを含む。BDRFは、出射光放射照度の微分または単位表面積当たりのパワーに対する、光放射輝度の微分または入射光線に垂直な単位投影面積当たりの光線方向についての単位立体角当たりのパワーの比率として表され得る。
【0016】
顔の画像からライティングを推定する上記の従来のアプローチの技術的問題は、それらがライティング推定を単一の反射率関数(たとえば、ランバートまたはフォンモデル)に基づかせるというものであり、これは、存在しているライティング推定のロバスト性を制限する可能性がある。なぜなら、肌反射は、はるかに複雑であり、さまざまな肌の色の存在下でたとえば表面下散乱ならびに凹凸およびフレネル反射を伴うからである。さらに、光源強度と表面アルベドとの間の特有の曖昧さは、たとえ単純明快なランバートモデルが肌反射を正確に予測できたとしても、多様な肌の色合いを有する対象のための正確なスケールの照明の直接的回復を妨げる。
【0017】
本明細書に記載されている実現例によれば、上記の技術的問題に対する技術的解決策は、複数の双方向反射分布関数(BRDF)を損失関数として使用する機械学習(ML)システムに基づいて顔の単一の画像からライティング推定を生成することを含む。いくつかの実現例において、MLシステムは、LDRライティング取得方法を使用して取り込まれた、HDR照明を用いて形成された顔の画像を使用して訓練される。この技術的解決策は、ポートレートおよびそれらの対応するグラウンドトゥルース照明のデータセットを使用して教師ありの態様でライティング推定モデルを訓練することを含む。例示的なデータセットにおいて、球体上に基底を形成する331個の指向性光源によって照明されるように70人の多様な対象がライトステージシステムにおいて撮影され、取り込まれた対象は、画像ベースの再ライティングによって、いずれかのシーンの中にあるかのごとく現れるように再ライティングされ得る。従来のHDRパノラマ写真撮影技術を使用して取り込まれた現実世界のライティング環境のいくつかのデータベースは、公的に入手できるが、いくつかの実現例において利用されるLDRライティング収集技術は、その代わりに100万個ほどの屋内および屋外ライティング環境を取り込むように拡張されており、それらを再ライティングに使用する前に新規の非負の最小二乗ソルバフォーミュレーションによってそれらをHDRに昇格させる。
【0018】
開示されている実現例の技術的利点は、入力画像における顔の肌の色にかかわらずMLシステムが正確なスケールまたは露光値で基本的に同一のライティング推定を生成するというものである。ライティング推定におけるいかなる試みも、表面反射率(アルベド)と光源強度との間の特有の曖昧さによって複雑化される。別の言い方をすれば、アルベドが半減される一方で光源強度が二倍になる場合、画素のシェーディングは元のままにされる。上記の改良された技術は、さまざまな肌の色を有する種々さまざまな対象に対するこのモデルの実行を明確に評価する。所与のライティング条件では、この改良された技術は、さまざまな多様な対象について同様のスケールでライティングを回復させることができる。
【0019】
さらに、MLシステムは、HDR照明を使用して生成されたLDRポートレート画像上で訓練された場合でも、HDR照明を推定することができる。いくつかの最近の研究は、任意のシーンのための深層学習方法および太陽を含む屋外シーンのみのための深層学習方法を含む低周波ライティング基底またはBRDFモデルに依拠することなくポートレートから照明を回復させようとしてきた。本明細書に記載されている技術的解決策は、これら両方の方法よりも性能が優れており、任意の屋内または屋外シーンへと一般化される。これらのモデルは、訓練データとして、コンピュータによって生成されたヒューマノイドモデルに依拠するため、推論時に実際の出回っているポートレートへと一般化されることもない。
【0020】
図1は、上記の技術的解決策が実現され得る例示的な電子環境100を示す図である。コンピュータ120は、ポートレートからライティングを推定するように構成された予測エンジンを訓練して動作させるように構成される。
【0021】
コンピュータ120は、ネットワークインターフェイス122と、1つまたは複数の処理ユニット124と、メモリ126とを含む。ネットワークインターフェイス122は、たとえば、ネットワーク150から受信された電子信号および/または光信号をコンピュータ120による使用のための電子形式に変換するためのイーサネット(登録商標)アダプタ、トークンリングアダプタなどを含む。一組の処理ユニット124は、1つまたは複数の処理チップおよび/またはアセンブリを含む。メモリ126は、揮発性メモリ(たとえば、RAM)も不揮発性メモリ(1つまたは複数のROM、ディスクドライブ、ソリッドステートドライブなど)も含む。一組の処理ユニット124およびメモリ126は、ともに制御回路を形成し、この制御回路は、本明細書に記載されているさまざまな方法および機能を実行するように構成および配置される。
【0022】
いくつかの実現例において、コンピュータ120のコンポーネントのうちの1つまたは複数のコンポーネントは、メモリ126に格納された命令を処理するように構成されたプロセッサ(たとえば、処理ユニット124)であり得、またはそのようなプロセッサを含み得る。
図1に示されるこのような命令の例としては、画像取得マネージャ130および予測エンジン訓練マネージャ140が挙げられる。さらに、
図1に示されるように、メモリ126は、さまざまなデータを格納するように構成されており、これについては、このようなデータを使用するそれぞれのマネージャに関連して説明する。
【0023】
画像取得マネージャ130は、画像訓練データ131および基準オブジェクトデータ136を受信するように構成される。いくつかの実現例において、画像取得マネージャ130は、画像訓練データ131および基準オブジェクトデータ136をネットワークインターフェイス122を介して、すなわちネットワーク(ネットワーク190など)を介してディスプレイデバイス170から受信する。いくつかの実現例において、画像取得マネージャ130は、画像訓練データ131および基準オブジェクトデータ136をローカルストレージ(たとえば、ディスクドライブ、フラッシュドライブ、SSDなど)から受信する。
【0024】
いくつかの実現例において、画像取得マネージャ130はさらに、画像訓練データ131から顔の画像をトリミングおよびサイズ変更して、標準サイズのポートレートを生成するように構成される。画像を標準サイズにトリミングおよびサイズ変更することによって、MLシステムの訓練は、よりロバストにされる。
【0025】
画像訓練データ131は、さまざまなライティング機構を用いて撮影された一組の顔のポートレートを表す。いくつかの実現例において、画像訓練データ131は、ローダイナミックレンジ(LDR)ライティング環境取り込みから回復された、HDR照明を用いて形成された顔の画像またはポートレートを含む。
図1に示されるように、画像訓練データ131は、複数の画像132(1),...132(M)を含み、Mは、画像訓練データ131内の画像の数である。各画像(たとえば、画像132(1))は、光方向データ134(1)と、ポーズデータ135(1)とを含む。
【0026】
光方向データ134(1...M)は、画像訓練データ131において使用されるポートレートのために顔が照明される所定数の方向(たとえば、331個)のうちの1つを表す。いくつかの実現例において、光方向データ134(1)は、極角および方位角、すなわち単位球上の座標を含む。いくつかの実現例において、光方向データ134(1)は、三つ組の方向余弦を含む。いくつかの実現例において、光方向データ134(1)は、一組のオイラー角を含む。上記の例において、およびいくつかの実現例において、光方向データ134(1)によって表される角度構成は、MLシステムの訓練に使用される331個の構成のうちの1つである。
【0027】
ポーズデータ135(1...M)は、顔の画像が取り込まれるいくつかの(たとえば、9個の)所定のポーズのうちの1つを表す。いくつかの実現例において、ポーズは、顔の表情を含む。いくつかの実現例において、一定数の顔の表情(たとえば、3個、6個、9個、12個またはそれ以上)がある。
【0028】
4次元反射率フィールドR(θ,φ,x,y)は、光方向データ134(1...M)に従って各画像画素(x,y)について任意のライティング方向(θ,φ)からライティングされた対象を表し得る。(θ,φ)によって同様にパラメータ化されたHDRライティング環境を有するこの反射率フィールドのドット積をとることは、対象がそのシーンの中にあるかのごとく現れるように対象を再ライティングする、ということが実証された。対象の反射率フィールドを撮影するために、白色LED光源のコンピュータによって制御可能な球体が使用され、赤道において光は12°ずつ離隔されている。このような実現例では、反射率フィールドは、一組の反射率基底画像から形成され、対象を指向性LED光源の各々として撮影することは、球形リグ内で一度に1つずつ個々にオンにされる。いくつかの実現例において、これらの一度に1ライトの(OLAT)画像は、複数のカメラ視点で取り込まれる。いくつかの実現例では、対象から1.7メートルのところに設置された12メガピクセル解像度を有する6色マシンビジョンカメラを使用して、各対象について331個のOLAT画像が取り込まれるが、いくつかの実現例では、これらの値およびOLAT画像の数および使用されるカメラのタイプは異なっていてもよい。いくつかの実現例では、カメラは、対象のおおよそ正面に位置決めされ、35mmレンズを有する5個のカメラが異なる角度から対象の上半身を取り込み、50mmレンズを有する1つの追加のカメラがよりタイトなフレーミングで顔のクローズアップ画像を取り込む。
【0029】
いくつかの実現例において、各々がポーズデータ135(1...M)に従った9つの異なる顔の表情をしており、異なる装備品を着用している70人の多様な対象についての反射率フィールドは、6つの異なるカメラ視点から約630組のOLATシーケンスを生じさせ、合計3780個の固有のOLATシーケンスを生じさせる。他の組数のOLATシーケンスが使用されてもよい。肌の色が広範囲にわたる対象が撮影された。
【0030】
ある対象について完全なOLATシーケンスを取得するにはある程度の時間(たとえば、6秒ほど)かかるので、フレームごとに何らかのわずかな対象の動きがある場合がある。いくつかの実現例では、画像を位置合わせするためにオプティカルフロー技術が使用され、この技術は、一様な一貫した照明を有する1つの追加の「トラッキング」フレームを時々(たとえば、11番目のOLATフレームごとに)挿入して、オプティカルフローの明るさの恒常性の制約が満たされることを保証する。このステップは、位置合わせされたOLAT画像を線形に結合する再ライティング動作を実行する際に画像特徴の鮮明度を保持することができる。
【0031】
撮影された反射率フィールドで対象を再ライティングするために、いくつかの実現例では、いずれの光源もクリッピングされないHDRライティング環境の大規模データベースが使用される。数千ほどの屋内パノラマまたは屋外パノラマの上半球を含むこのようなデータセットはいくつかあるが、深層学習モデルは一般に、より多くの量の訓練データで強化される。したがって、100万個ほどの屋内および屋外ライティング環境が収集された。いくつかの実現例において、高解像度背景画像の自動露光およびホワイトバランス処理されたLDR映像が、異なる反射率の3つの球(おおよそ鏡面反射を有するディフューズ、ミラー状およびマットシルバー)の対応するLDR外観とともに同時に取り込まれ得るように、携帯電話取り込みリグが使用される。これら3つの球は、シーン照明についての異なる手がかりを明らかにする。ミラーボールは、全方向の高周波ライティングを反射するが、1回露光画像では明るい光源はクリッピングされることが多いので、それらの強度および色は不正確であろう。対照的に、ディフューズボールの準ランバートBRDFは、入射照明に対するローパルフィルタの役割を果たし、全体シーン放射輝度の、ぼやけているが比較的完全な記録を取り込む。
【0032】
本明細書における実現例は、3つの球の外観を近似HDRライティング環境に明確に昇格させた後に、対象を再ライティングするのに使用されるシーン照明の真のHDR記録を有することができる。
【0033】
基準オブジェクトデータ136は、基準オブジェクト(たとえば、異なる反射率の球)を表す。このような基準オブジェクトを使用して、MLシステムにおけるグラウンドトゥルース照明を提供する。
図1に示されるように、基準オブジェクトデータ136は、複数の基準セット137(1),...,137(N)を含み、Nは、検討されるHDRライティング環境の数である。基準セット137(1...N)の各々(たとえば、基準セット137(1))は、ミラー138(1)、マットシルバー139(1)およびディフューズグレー141(1)についてのBRDFデータを含む。いくつかの実現例において、BRDFデータ138(1),139(1)および141(1)は、BRDF値のアレイを含む。いくつかの実現例において、BRDFデータ138(1),139(1)および141(1)は、一組のSH拡張係数を含む。
【0034】
教師ありの態様で画像訓練データ131からライティングを推定するためのモデルを訓練するために、いくつかの実現例では、画像訓練データ131によって表されるポートレートは、グラウンドトゥルース照明(たとえば、基準オブジェクトデータ136)でラベル付けされる。いくつかの実現例において、ポートレートは、画像ベースの再ライティングのデータ駆動型技術を使用して合成されて、場合によっては、人間の肌および髪の複雑な光輸送現象(たとえば、表面下および凹凸散乱、ならびにフレネル反射)を適切に取り込んで、人間の顔についての写真のようにリアルな再ライティング結果を生成するように表示される。このような合成は、これらの複雑な現象を表現できないことが多い顔の3Dモデルのレンダリングとは対照的である。
【0035】
予測エンジン訓練マネージャ140は、予測エンジンデータ150を生成するように構成されており、ポートレートからライティングを推定するのに使用される上記のMLシステムに相当する。
図1に示されるように、予測エンジン訓練マネージャ140は、エンコーダ142と、デコーダ143と、ディスクリミネータ144とを含む。
【0036】
エンコーダ142は、トリミングされたポートレート(すなわち、画像132(1...M)および光方向データ134(1...L))を画像訓練データ131から入力として取得して、デコーダ143に入力される予定のパラメータ値を全結合層において生成するように構成される。デコーダ143は、エンコーダ142によって生成されたパラメータ値を入力として取得して、予測HDRライティング推定を表す照明プロファイルデータ153を生成するように構成される。ディスクリミネータ144は、照明プロファイルデータ153および基準オブジェクトデータ136を入力として取得して、コスト関数データ154を生成し、このコスト関数データ154をデコーダ143にフィードバックして、畳み込み層データ151およびぼかしプーリングデータ152を生成するように構成される。なお、MLシステムにおいて使用されるコスト関数は、MLシステムによって最小化される関数である。この場合、コスト関数は、たとえば複数のBRDFについてのグラウンドトゥルース球画像と、予測された照明でライティングされた対応するネットワークレンダリング球との間の差を反映する。MLシステムについてのさらなる詳細は、
図3に関連して説明する。
【0037】
基準オブジェクトデータ136に戻って、場合によってはクリッピングされた画素を有する3つの反射球の取り込まれた画像を考慮に入れて、いくつかの実現例は、これら3つの球の外観をもっともらしく生成することができたであろうHDRライティングを解明する。いくつかの実現例において、最初に、再びライトステージシステムを使用してディフューズおよびマットシルバーボールの反射率フィールドを撮影し得る。いくつかの実現例は、反射率基底画像を同一の相対的な放射測定空間に変換して、入射光源色に基づいて正規化を行う。次いで、いくつかの実現例は、反射率基底画像をミラーボールマッピング内に投影して(ランベルト正積方位図法)、いくつかの実現例に見られるように各々の新たなライティング方向(θ,φ)について、入力画像からのエネルギを、たとえばミラー球の32×32画像上に蓄積して、反射率フィールドR(θ,φ,x,y)を形成するか、または個々の画素Rx,y(θ,φ)にスライスされる。
【0038】
カラーチャネルcのクリッピングなしに取り込まれたミラーボール画像におけるライティング方向(θ,φ)について、いくつかの実現例は、測定されたミラーボール反射率(82.7%)の逆数によってミラーボール画像画素値を単純にスケーリングすることによってシーンライティングLc(θ,φ)を回復させる。元のミラーボール画像におけるクリッピングされた画素を有するライティング方向(θ,φ)について、いくつかの実現例は、画素値を1.0に設定し、これを、シーンライティングLc(θ,φ)を形成する測定された反射率の逆数によってスケーリングし、その後、非負の最小二乗ソルバフォーミュレーションを使用して欠落している残留ライティング強度Uc(θ,φ)を解く。BRDFインデックスk(たとえば、ディフューズまたはマットシルバー)、カラーチャネルcおよび測定された反射率フィールドRx,y,c,k(θ,φ)についての元の画像画素値px,y,c,kを考慮に入れて、光の重ね合わせの原理によって、以下の式が満たされる。
【0039】
【0040】
式(1)は、各BRDFkおよびカラーチャネルcについての一組のm個の線形方程式を表し、これは、反射率基底画像内の球の画素の数に等しく、nは、未知の残留光強度である。クリッピングなしのライティング方向について、Uc(θ,φ)=0である。各カラーチャネルについて、km>nであれば、未知のUc(θ,φ)の値は、非負の最小二乗法を使用して解くことができ、これは、光が除去されるのではなく追加されるのみであることを保証する。実際に、いくつかの実現例は、クリッピングされた画素px,y,c,kを解から除外する。方法の中には、撮影されたディフューズ球からの画素値とクリッピングされたパノラマの拡散畳み込みとを比較することによって、クリッピングされた光源強度を回復させるものもあったが、撮影された反射率ベースおよび複数のBRDFを最初に使用したのはこれらの実現例である。
【0041】
いくつかの実現例では、Uc(θ,φ)を解く際に各カラーチャネルを独立して処理すると、3つ全てのカラーチャネルの強度が大きい単一の光源ではなく、色鮮やかな赤色、緑色および青色光源が、多くの場合、幾何学的に近いライティング方向において生成されたことが観察されている。よりもっともらしい無彩色の光源を有する結果を回復させるために、いくつかの実現例は、撮影されたディフューズグレーボールの色がシーン内の明るい光源の平均的なカラーバランス(Ravg,Gavg,Bavg)を明らかにするという見識に基づいて、クロスカラーチャネル正則化を追加する。いくつかの実現例は、重みλ=0.5を有する新たな一組の線形方程式を連立方程式に追加する。
【0042】
【0043】
これらの正則化項は、ターゲットディフューズボールとは異なるカラーバランスの強い色調の光源の回復を不利にする。いくつかの実現例は、幾何学的に近いライティング方向について同様の強度を奨励するために正則化項を追加するが、これは必ずしも強い色調の光の回復を妨げるものではないであろう。いくつかの実現例は、セレスソルバを使用してUc(θ,φ)を回復させて、100万個の取り込まれた球の外観をHDR照明に昇格させる。このビデオレートデータ収集方法からのLDR画像は、8ビットであり、場合によってはローカル着色マッピングを用いてsRGBとして符号化されるので、いくつかの実現例は、最初に、線形系フォーミュレーションのために含まれるガンマ値がγ=2.2であるとして、球の画像を線形化する。
【0044】
各対象についての撮影された反射率フィールドおよびHDRに昇格されたライティングを使用して、いくつかの実現例は、グラウンドトゥルース照明を用いて再ライティングされたポートレートを、訓練データとして機能するように生成する。いくつかの実現例は、再び反射率基底画像を同一の相対的な放射測定空間に変換して、入射光源色に基づいて較正を行う。ライティング環境は、たとえば32×32ミラーボール画像として表現されるので、いくつかの実現例は、反射率フィールドをこの基底上に投影して、いくつかの実現例に見られるように各々の新たなライティング方向(θ,φ)について、入力画像からのエネルギを蓄積する。各々の新たな基底画像は、元の331個のOLAT画像の線形組み合わせである。
【0045】
ライティング取り込み技術は、3つの球の外観に対応する高解像度背景画像ももたらす。任意の画像でさえライティング推定を抽出するための有用な手がかりを含んでいるので、いくつかの実現例は、再ライティングされた対象を、いくつかの実現例に見られるようなブラックフレームではなく背景上にコンポジットする。背景画像は、8ビットsRGBであり得るので、いくつかの実現例は、コンポジットの前に、この伝達関数をクリッピングして、再ライティングされた対象画像に適用する。(特に、モバイルARのための8ビットライブ映像では)出回っているポートレートは、クリッピングされた画素を含んでいる可能性があるので、いくつかの実現例は、予定推論時間入力と一致するように、再ライティングされた対象のHDRデータを廃棄する。
【0046】
背景画像は、ライティング推定を手助けする文脈上の手がかりを提供し得るが、いくつかの実現例は、各入力について顔バウンディングボックスを計算し、訓練および推論中に、いくつかの実現例は、各画像をトリミングして、このバウンディングボックスを25%拡大する。訓練中に、いくつかの実現例は、わずかなトリミング領域変動を追加して、それらの位置および範囲をランダムに変更する。
【0047】
ユーザデバイス120のコンポーネント(たとえば、モジュール、処理ユニット124)は、1つまたは複数のタイプのハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリなどを含み得る1つまたは複数のプラットフォーム(たとえば、1つまたは複数の同様のまたは異なるプラットフォーム)に基づいて動作するように構成され得る。いくつかの実現例において、コンピュータ120のコンポーネントは、デバイスのクラスタ(たとえば、サーバファーム)内で動作するように構成され得る。このような実現例では、コンピュータ120のコンポーネントの機能および処理は、デバイスのクラスタのうちのいくつかのデバイスに分散されることができる。
【0048】
コンピュータ120のコンポーネントは、属性を処理するように構成された任意のタイプのハードウェアおよび/またはソフトウェアであり得、またはそのようなハードウェアおよび/またはソフトウェアを含み得る。いくつかの実現例において、
図1におけるコンピュータ120のコンポーネントに示されているコンポーネントの1つまたは複数の部分は、ハードウェアベースのモジュール(たとえば、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリ)、ファームウェアモジュールおよび/またはソフトウェアベースのモジュール(たとえば、コンピュータコードのモジュール、コンピュータで実行され得る一組のコンピュータ読取可能命令)であり得、またはそのようなモジュールを含み得る。たとえば、いくつかの実現例において、コンピュータ120のコンポーネントの1つまたは複数の部分は、少なくとも1つのプロセッサ(図示せず)によって実行されるように構成されたソフトウェアモジュールであり得、またはそのようなソフトウェアモジュールを含み得る。いくつかの実現例において、コンポーネントの機能は、
図1に示されているものとは異なるモジュールおよび/または異なるコンポーネントに含まれていてもよく、2つのコンポーネントとして示されている機能を組み合わせて単一のコンポーネントにすることを含む。
【0049】
図示されていないが、いくつかの実現例では、コンピュータ120のコンポーネント(または、その一部)は、たとえばデータセンタ(たとえば、クラウドコンピューティング環境)、コンピュータシステム、1つまたは複数のサーバ/ホストデバイスなどの中で動作するように構成され得る。いくつかの実現例において、コンピュータ120のコンポーネント(または、その一部)は、ネットワーク内で動作するように構成され得る。したがって、コンピュータ120のコンポーネント(または、その一部)は、1つもしくは複数のデバイスおよび/または1つもしくは複数のサーバデバイスを含み得るさまざまなタイプのネットワーク環境内で機能するように構成され得る。たとえば、ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などであり得、またはそのようなネットワークを含み得る。ネットワークは、ワイヤレスネットワーク、および/または、たとえばゲートウェイデバイス、ブリッジ、スイッチなどを使用して実現されるワイヤレスネットワークであり得、またはそのようなワイヤレスネットワークを含み得る。ネットワークは、1つまたは複数のセグメントを含み得て、および/または、さまざまなプロトコル(インターネットプロトコル(IP)および/または独自仕様のプロトコルなど)に基づく部分を有し得る。ネットワークは、少なくともインターネットの一部を含み得る。
【0050】
いくつかの実現例において、コンピュータ120のコンポーネントのうちの1つまたは複数のコンポーネントは、メモリに格納された命令を処理するように構成されたプロセッサであり得、またはそのようなプロセッサを含み得る。たとえば、画像取得マネージャ130(および/または、その一部)ならびに予測画像訓練マネージャ140(および/または、その一部)は、1つまたは複数の機能を実行するためのプロセスに関連する命令を実行するように構成された、プロセッサとメモリとの組み合わせであり得る。
【0051】
いくつかの実現例において、メモリ126は、ランダムアクセスメモリ、ディスクドライブメモリ、フラッシュメモリなどの任意のタイプのメモリであり得る。いくつかの実現例において、メモリ126は、VRサーバコンピュータ120のコンポーネントに関連付けられた2つ以上のメモリコンポーネント(たとえば、2つ以上のRAMコンポーネントまたはディスクドライブメモリ)として実現され得る。いくつかの実現例において、メモリ126は、データベースメモリであり得る。いくつかの実現例において、メモリ126は、ローカルでないメモリであり得、またはそのようなメモリを含み得る。たとえば、メモリ126は、複数のデバイス(図示せず)によって共有されるメモリであり得、またはそのようなメモリを含み得る。いくつかの実現例において、メモリ126は、ネットワーク内のサーバデバイス(図示せず)に関連付けられて、コンピュータ120のコンポーネントを提供するように構成され得る。
図1に示されるように、メモリ126は、画像訓練データ131、基準オブジェクトデータ136および予測エンジンデータ150を含むさまざまなデータを格納するように構成される。
【0052】
図2は、上記の改良された技術に従って視覚検索を実行する例示的な方法200を示すフローチャートである。方法200は、
図1に関連して説明したソフトウェア構成体によって実行され得て、これらのソフトウェア構成体は、コンピュータ120のメモリ126内にあり、一組の処理ユニット124によって実行される。
【0053】
202において、画像取得マネージャ130は、物理的環境における複数の人間の顔の複数の画像(たとえば、画像訓練データ131)を受信する。複数の人間の顔の各々は、複数の向き(たとえば、光方向データ134(1...M))のうちの少なくとも1つに従って物理的環境内で方向付けられた複数の照明源のうちの少なくとも1つによって照明される。
【0054】
204において、予測エンジン訓練マネージャ140は、複数の人間の顔の複数の画像に基づいて予測照明プロファイルを生成するように構成された予測エンジン(たとえば、予測エンジンデータ150)を生成する。予測エンジンは、入力画像データに基づいて予測照明プロファイルを生成するように構成される。入力画像データは、少なくとも1つの人間の顔を表す。予測エンジンは、基準オブジェクト(たとえば、基準オブジェクトデータ136)の各々に対応する複数の双方向反射分布関数(BRDF)に基づくコスト関数(たとえば、ディスクリミネータ144およびコスト関数データ154)を含む。予測照明プロファイルは、ポートレートの対象に入射する照明の空間分布を表す。予測された照明の例示的な表現は、角度のライティング関数の球面調和関数展開係数を含む。予測された照明の別の例示的な表現は、各々が立体角のライティング関数の値を有する画素の格子を含む。
【0055】
図3は、ポートレートからライティングを推定するように構成された例示的なMLシステム300を示す図である。
図3に示されるように、MLシステム300は、ジェネレータネットワーク314と、補助敵対ディスクリミネータ312とを含む。ジェネレータネットワーク314への入力は、sRGBによって符号化されたLDR画像(たとえば、LDRポートレート302)であり、このLDR画像は、顔検出器304によって検出されて、256×256という入力解像度にサイズ変更されて、[-0.5,0.5]の範囲に正規化された各画像の顔領域のトリミング306を有する。
図3に示されるように、ジェネレータネットワーク314は、ボトルネックにサイズ1024のログスペースHDR照明の潜在ベクトル表現を備えた、エンコーダ142とデコーダ143とを含むエンコーダ/デコーダアーキテクチャを有する。いくつかの実現例において、エンコーダ142およびデコーダ143は、畳み込みニューラルネットワーク(CNN)として実現される。ジェネレータネットワーク314の最終出力は、ログスペース全方向照明を表すミラーボールの32×32HDR画像を含む。エンコーダ142およびデコーダ143についてのさらなる詳細は、
図4に関連して示されており、補助敵対ディスクリミネータ312についてのさらなる詳細は、
図5に関連して示されている。
【0056】
図4は、エンコーダ142およびデコーダ143の例示的な詳細を示す図である。
図4に示されるように、エンコーダ142は、16,32,64,128および256という連続的なフィルタ深さを有する、各々ぼかしプーリング動作が後に続く5つの3×3畳み込みを含み、その後に8×8および深さ256というフィルタサイズを有する1つの最後の畳み込みを含み、最後に全結合層を含む。デコーダ143は、各々バイリニアアップサンプリング動作が後に続く、フィルタ深さ64,32および16の三組の3×3畳み込みを含む。
【0057】
図5は、例示的な補助敵対ディスクリミネータ312を示す図である。補助敵対ディスクリミネータ312は、敵対的損失項を提供するように構成されており、もっともらしい高周波照明の推定を実施する。
図5に示されるように、補助敵対ディスクリミネータ312は、グラウンドトゥルース照明および予測された照明のクリッピングされた画像をメインモデルから入力として取得して、実際の例と生成された例とを区別しようとする。ディスクリミネータは、エンコーダを有し、このエンコーダは、64,128および256という連続的なフィルタ深さを有する、各々最大値プーリング動作が後に続く3つの3×3畳み込みを含み、その後であって最終出力層の前にサイズ1024の全結合層が続いている。メインネットワークのデコーダは、いくつかのアップサンプリング動作を含むので、このネットワークは、暗黙的に、複数のスケールにおいて情報を学習している。いくつかの実現例は、このマルチスケール出力を活用して、MSG-GANのマルチスケール勾配技術を使用して、クリッピングされたフル解像度32×32ライティング画像の入力だけでなく、4×4、8×8および16×16の各スケールにおけるライティング画像の入力もディスクリミネータに提供する。ジェネレータネットワークによって生成された低解像度特徴マップは、4つ以上のチャネルを有するので、いくつかの実現例は、各スケールにおける畳み込み動作をネットワークの追加のブランチとして追加して、3チャネルライティング画像の複数のスケールを生成してディスクリミネータに供給する。
【0058】
【0059】
いくつかの実現例に見られるように、このネットワークは、同様に、画素値Qc(θ,φ)を有するHDR照明のログスペース画像Qを出力するため、球の画像は以下のようにレンダリングされる。
【0060】
【0061】
ビデオレートデータ収集の際に取り込まれたLDR球画像を基準画像Ikとして使用するのではなく、いくつかの実現例は、その代わりに、線形ソルバ(たとえば、式(1))から回復されたHDRライティングによって球をレンダリングして、これらのレンダリングをγ=2.2でガンマ符号化する。これは、同一のライティングを使用して「グラウンドトゥルース」球を入力ポートレートとしてレンダリングすることを保証することができ、HDRライティング回復からモデル訓練フェーズへの残留エラーの伝搬を防止する。
【0062】
最後に、いくつかの実現例は、デコーダのマルチスケール特徴マップを、ログスペースHDRライティングを連続的なスケールで表す3チャネル画像に変換するために、追加の畳み込みブランチを追加する。次いで、いくつかの実現例は、いくつかの実現例のレンダリング損失関数(式(6))をマルチスケールドメインに拡張して、訓練中にミラー球、マットシルバー球およびディフューズ球をサイズ4×4、8×8、16×16および32×32にレンダリングする。スケールインデックスがsによって表され、各々についての任意の重みがλsであるとすると、マルチスケール画像再構築損失は以下のように記載される。
【0063】
【0064】
制約なしライティング推定における最近の研究は、画像再構築損失のみを使用する場合と比較して敵対的損失項が高周波数情報の回復を向上させることを示した。したがって、いくつかの実現例は、いくつかの実現例に見られるような重みλadvを有する敵対的損失項を追加する。しかし、この技術とは対照的に、いくつかの実現例は、複数のスケールでディスクリミネータからジェネレータネットワークに勾配を流すマルチスケールGANアーキテクチャを使用して、さまざまなサイズの実際のミラーボール画像および生成されたクリッピングされたミラーボール画像を両方ともディスクリミネータに提供する。
【0065】
いくつかの実現例は、β1=0.9であり、β2=0.999であり、ジェネレータネットワークでは学習率が0.00015であり、一般的であるがディスクリミネータネットワークではそれが100×低く、ジェネレータの訓練とディスクリミネータの訓練とを交互に繰り返す状態で、テンソルフローおよびADAMオプティマイザを使用する。いくつかの実現例は、ミラー、ディフューズおよびマットシルバーBRDFについてそれぞれλk=0.2,0.6,0.2を設定し、全ての画像スケールを等しく重み付けするためにλs=1を設定し、λadv=0.004を設定し、32というバッチサイズを使用する。ライティング環境の数は、対象の数よりも数桁大きい場合があるので、いくつかの実現例では、1.2エポックでの早々の停止は、訓練セット内の対象への過剰適合を防止していた。いくつかの実現例は、ジェネレータネットワークにはReLU活性化関数を使用し、ディスクリミネータにはELU活性化関数を使用する。データセットを強化するために、いくつかの実現例は、縦軸を横切って入力画像もライティング環境も反転させる。いくつかの実現例は、画像平面内の入力画像のわずかな画像回転(+/-15°)によりデータセットを強化する。
【0066】
いくつかの実現例は、70人の対象を、訓練用の63人および評価用の7人という2つのグループに分割し、所与の対象についての全ての表情およびカメラビューが同一のサブセットに属することを保証する。いくつかの実現例は、さまざまな肌の色を含むように7人の対象を手動で選択することを含む。合計で、100万個のライティング環境の各々について、いくつかの実現例は、(対象、顔の表情およびカメラビューにわたって)訓練セットから再ライティングするための8個のOLATシーケンスをランダムに選択して、グラウンドトゥルース照明による800万個のポートレートの訓練データセットを生成することを含む。同一の方法を使用して、いくつかの実現例は、評価で使用するための訓練には見られない屋内および屋外の両方の場所におけるライティング環境を取り込み、これらを評価対象とだけ対にする。
【0067】
正確に推定されたライティングは、任意の反射率特性を有するオブジェクトを正しくレンダリングするはずであるため、モデルの性能は、Lrecを使用してテストされる。このメトリックは、レンダリングされた3つの球(ディフューズ、マットシルバーおよびミラー)の外観と、グラウンドトゥルース照明対推定照明とを比較する。
【0068】
LDR画像再構築損失について、ディフューズ球およびマットシルバー球では、このモデルはいくつかの実現例よりも優れている。しかし、ミラー球では、いくつかの実現例がこの実現例よりも優れている場合がある。ディフューズボールのLrecについては、グラウンドトゥルース照明の二次SH近似がこのモデルよりも優れている場合がある。なぜなら、照明の低周波表現は、ランバート材料のレンダリングに十分であるからである。しかし、非ランバートBRDFにより、マットシルバーボールおよびミラーボールの両方のLrecについては、この実現例が二次SH分解よりも優れている場合がある。これは、この実現例によって生成されるライティングが多様な材料のレンダリングにより適していることを示唆している。
【0069】
いくつかの実現例は、第1の人間の顔からの第1の予測照明プロファイルと第2の人間の顔からの第2の予測照明プロファイルとの間の差に基づく交差対象一貫性ベースの損失関数を追加する。このような損失関数は、多様な肌の色および頭のポーズに対して一定のライティング一貫性を提供することができる。
【0070】
図6は、本明細書に記載されている技術とともに使用され得る汎用コンピュータデバイス600および汎用モバイルコンピュータデバイス650の一例を示す図である。コンピュータデバイス600は、
図1および
図2のコンピュータ120の1つの例示的な構成である。
【0071】
図6に示されるように、コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。コンピューティングデバイス650は、パーソナルデジタルアシスタント、携帯電話、スマートフォンおよび他の同様のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単なる例示であるよう意図されており、本文書に記載および/または特許請求されている本発明の実現例を限定するよう意図されるものではない。
【0072】
コンピューティングデバイス600は、プロセッサ602と、メモリ604と、ストレージデバイス606と、メモリ604および高速拡張ポート610に接続する高速インターフェイス608と、低速バス614およびストレージデバイス606に接続する低速インターフェイス612とを含む。コンポーネント602,604,606,608,610および612の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは適宜他の態様で取り付けられ得る。プロセッサ602は、コンピューティングデバイス600内で実行するための命令を処理することができ、これらの命令は、高速インターフェイス608に結合されたディスプレイ616などの外部入力/出力デバイス上にGUIのためのグラフィカル情報を表示するためにメモリ604内またはストレージデバイス606上に格納された命令を含む。他の実現例では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは、(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0073】
メモリ604は、コンピューティングデバイス600内に情報を格納する。一実現例において、メモリ604は、1つまたは複数の揮発性メモリユニットである。別の実現例において、メモリ604は、1つまたは複数の不揮発性メモリユニットである。また、メモリ604は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ読取可能媒体であってもよい。
【0074】
ストレージデバイス606は、コンピューティングデバイス600のための大容量ストレージを提供することができる。一実現例において、ストレージデバイス606は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ読取可能媒体であり得、またはそのようなコンピュータ読取可能媒体を含み得る。コンピュータプログラム製品は、情報担体において有形に具体化されることができる。また、コンピュータプログラム製品は、実行されると上記の方法などの1つまたは複数の方法を実行する命令も含み得る。情報担体は、メモリ604、ストレージデバイス606またはメモリオンプロセッサ602などのコンピュータまたは機械読取可能媒体である。
【0075】
高速コントローラ608は、コンピューティングデバイス600のための帯域幅集約型動作を管理し、低速コントローラ612は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例において、高速コントローラ608は、メモリ604、ディスプレイ616(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、およびさまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート610に結合されている。この実現例では、低速コントローラ612は、ストレージデバイス506および低速拡張ポート614に結合されている。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポートは、たとえばネットワークアダプタを介して、1つもしくは複数の入力/出力デバイス(キーボード、ポインティングデバイス、スキャナなど)またはネットワーキングデバイス(スイッチまたはルータなど)に結合され得る。
【0076】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態で実現されてもよい。たとえば、それは、標準的なサーバ620として実現されてもよく、またはこのようなサーバのグループ内で複数回実現されてもよい。また、それは、ラックサーバシステム624の一部として実現されてもよい。また、それは、ラップトップコンピュータ622などのパーソナルコンピュータ内で実現されてもよい。代替的に、コンピューティングデバイス600からのコンポーネントは、デバイス650などのモバイルデバイス(図示せず)における他のコンポーネントと組み合わせられてもよい。このようなデバイスの各々は、コンピューティングデバイス600,650のうちの1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス600,650で構成されてもよい。
【0077】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現可能である。これらのさまざまな実現例は、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実現例を含み得て、当該プロセッサは、専用または汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受信して、ストレージシステム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスにデータおよび命令を送信するように結合されている。
【0078】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラム可能なプロセッサのための機械命令を含み、ハイレベル手続き型および/もしくはオブジェクト指向プログラミング言語、ならびに/または、アセンブリ/機械言語で実現することができる。本明細書で使用されるとき、「機械読取可能媒体」、「コンピュータ読取可能媒体」という語は、機械命令を機械読取可能な信号として受信する機械読取可能媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械読取可能な信号」という語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を指す。
【0079】
ユーザとの対話を提供するために、本明細書に記載されているシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現することができる。ユーザとの対話を提供するために他の種類のデバイスも使用することができる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であり得て、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受信され得る。
【0080】
本明細書に記載されているシステムおよび技術は、バックエンドコンポーネント(たとえば、データサーバ)を含むコンピューティングシステムにおいて実現されてもよく、ミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含むコンピューティングシステムにおいて実現されてもよく、フロントエンドコンポーネント(たとえば、ユーザが本明細書に記載されているシステムおよび技術の実現例と対話することができるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステムにおいて実現されてもよく、このようなバックエンド、ミドルウェアまたはフロンドエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実現されてもよい。システムのこれらのコンポーネントは、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)およびインターネットが挙げられる。
【0081】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、一般に互いに離れており、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いに対するクライアント・サーバ関係を有するコンピュータプログラムによって生じる。
【0082】
いくつかの実現例について説明してきた。しかし、明細書の精神および範囲から逸脱することなくさまざまな修正がなされ得るということが理解されるであろう。
【0083】
また、ある要素が別の要素の上にある、別の要素に接続されている、別の要素に電気的に接続されている、別の要素に結合されている、または別の要素に電気的に結合されていると称される場合、それはその別の要素のすぐ上にあってもよく、その別の要素に直接接続されていてもよく、またはその別の要素に直接結合されていてもよく、または1つもしくは複数の介在要素が存在していてもよい。対照的に、ある要素が別の要素のすぐ上にある、別の要素に直接接続されている、または別の要素に直接結合されていると称される場合、介在要素は存在しない。「すぐ上にある」、「直接接続されている」、または「直接結合されている」という語は、詳細な説明全体を通して使用されているわけではないが、すぐ上にある、直接接続されている、または直接結合されているとして示されている要素は、そのように称されることができる。本願の特許請求の範囲は、明細書に記載されているまたは図面に示されている例示的な関係を記載するように補正されてもよい。
【0084】
記載されている実現例の特定の特徴について、本明細書に記載されているとおりに説明してきたが、当業者は、多くの修正、置換、変更および等価物を思い付くであろう。したがって、添付の特許請求の範囲は、全てのこのような修正および変更を実現例の範囲内に包含するよう意図されている、ということが理解されるべきである。それらは、限定ではなく単なる例として提示されており、形態および詳細の点でさまざまな変更がなされ得る、ということが理解されるべきである。本明細書に記載されている装置および/または方法のいかなる部分も、相互排他的な組み合わせを除いて、任意の組み合わせで組み合わせられてもよい。本明細書に記載されている実現例は、記載されているさまざまな実現例の機能、構成要素および/または特徴のさまざまな組み合わせおよび/または下位組み合わせを含み得る。
【0085】
また、図面に示される論理フローは、望ましい結果を達成するために示されている特定の順序またはシーケンシャルな順序を必要としない。また、記載されているフローから他のステップが提供されてもよく、またはステップが除去されてもよく、記載されているシステムに他の構成要素が追加されてもよく、または記載されているシステムから他の構成要素が除去されてもよい。したがって、他の実現例は、以下の特許請求の範囲の範囲内である。
【0086】
以下にいくつかの例を記載する。
例1:方法であって、
複数の画像を表す画像訓練データを受信するステップを備え、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置しており、上記方法はさらに、
上記複数の画像に基づいて予測エンジンを生成するステップを備え、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す、方法。
【0087】
例2:ハイダイナミックレンジ(HDR)ライティング環境によって照明されるとおりに現れるように上記複数の人間の顔の各々を合成的にレンダリングするために、上記複数の照明源のうちの少なくとも1つによって照明された上記1つまたは複数の人間の顔の上記画像を結合するステップをさらに備える、例1に記載の方法。
【0088】
例3:上記画像を結合するステップは、
一組の基準オブジェクトのローダイナミックレンジ(LDR)画像に基づいて上記HDRライティング環境を生成するステップを含み、上記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有する、請求項2に記載の方法。
【0089】
例4:上記一組の基準オブジェクトは、ミラーボール、マットシルバーボールおよびグレーディフューズボールを含む、例3に記載の方法。
【0090】
例5:上記予測エンジンを生成するステップは、
上記予測照明プロファイルを使用して一組の基準オブジェクトの微分可能レンダリングを実行して、上記一組の基準オブジェクトのレンダリングされた画像を生成するステップを含み、上記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有し、上記予測エンジンを生成するステップはさらに、
上記一組の基準オブジェクトの上記レンダリングされた画像と上記一組の基準オブジェクトのグラウンドトゥルース画像との間の差を上記予測エンジンのコスト関数として生成するステップを含む、例1に記載の方法。
【0091】
例6:上記コスト関数は、上記一組の基準オブジェクトの上記レンダリングされた画像に対するBRDFによって重み付けされたL1損失を含む、例5に記載の方法。
【0092】
例7:上記コスト関数は、第1のコスト関数であり、
上記予測エンジンは、第2のコスト関数を含み、上記第2のコスト関数は、上記ミラーボールからの高周波鏡面反射に基づく敵対的損失関数である、例5に記載の方法。
【0093】
例8:上記微分可能レンダリングは、画像ベースの再ライティング(IBRL)を使用して実行されて、ハイダイナミックレンジ(HDR)照明画像を生成する、例5に記載の方法。
【0094】
例9:上記コスト関数は、第1のコスト関数であり、
上記予測エンジンは、第2のコスト関数を含み、上記第2のコスト関数は、第1の人間の顔からの第1の予測照明プロファイルと第2の人間の顔からの第2の予測照明プロファイルとの間の差に基づく交差対象一貫性ベースの損失関数である、例5に記載の方法。
【0095】
例10:上記予測エンジンを生成するステップは、
画像訓練データに対して顔キーポイント検出動作を実行して、上記予測エンジンの上記生成中に顔キーポイントを識別する顔キーポイント識別子を生成するステップを含む、例1に記載の方法。
【0096】
例11:上記予測エンジンを生成するステップは、
上記複数の人間の顔のうちのある人間の顔の画像の各画素を共通のUV空間内に投影するステップを含む、例1に記載の方法。
【0097】
例12:上記複数の画像の各々は、ガンマ符号化される、例1に記載の方法。
例13:非一時的な記憶媒体を備えるコンピュータプログラム製品であって、上記コンピュータプログラム製品は、コードを含み、上記コードは、コンピュータの処理回路によって実行されると、上記処理回路に方法を実行させ、上記方法は、
複数の画像を表す画像訓練データを受信するステップを備え、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置しており、上記方法はさらに、
上記複数の画像に基づいて予測エンジンを生成するステップを備え、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す、コンピュータプログラム製品。
【0098】
例14:上記予測エンジンを生成するステップは、
ハイダイナミックレンジ(HDR)ライティング環境によって照明されるとおりに現れるように上記複数の人間の顔の各々を合成的にレンダリングするために、上記複数の照明源のうちの少なくとも1つによって照明された上記1つまたは複数の人間の顔の上記画像を結合するステップを含む、例13に記載のコンピュータプログラム製品。
【0099】
例15:上記画像を結合するステップは、
一組の基準オブジェクトのローダイナミックレンジ(LDR)画像に基づいて上記HDRライティング環境を生成するステップを含み、上記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有する、例14に記載のコンピュータプログラム製品。
【0100】
例16:上記一組の基準オブジェクトは、ミラーボール、マットシルバーボールおよびグレーディフューズボールを含む、例15に記載のコンピュータプログラム製品。
【0101】
例17:上記予測エンジンを生成するステップは、
上記予測照明プロファイルを使用して一組の基準オブジェクトの微分可能レンダリングを実行して、上記一組の基準オブジェクトのレンダリングされた画像を生成するステップを含み、上記一組の基準オブジェクトの各々は、それぞれの双方向反射率分布関数(BRDF)を有し、上記予測エンジンを生成するステップはさらに、
上記一組の基準オブジェクトの上記レンダリングされた画像と上記一組の基準オブジェクトのグラウンドトゥルース画像との間の差を上記予測エンジンのコスト関数として生成するステップを含む、例13に記載のコンピュータプログラム製品。
【0102】
例18:上記コスト関数は、上記一組の基準オブジェクトの上記レンダリングされた画像に対するBRDFによって重み付けされたL1損失を含む、例14に記載のコンピュータプログラム製品。
【0103】
例19:上記微分可能レンダリングは、画像ベースの再ライティング(IBRL)を使用して実行されて、ハイダイナミックレンジ(HDR)照明画像を生成する、例18に記載のコンピュータプログラム製品。
【0104】
例20:電子装置であって、
メモリと、
上記メモリに結合された処理回路とを備え、上記処理回路は、
複数の画像を表す画像訓練データをように構成されており、上記複数の画像の各々は、複数の人間の顔のうちの少なくとも1つを含み、上記複数の人間の顔の各々は、物理的環境または仮想環境内の複数の照明源のうちの少なくとも1つによって照明された1つまたは複数の顔の画像を結合することによって形成されており、上記複数の照明源の各々は、上記物理的環境または仮想環境内に複数の向きのそれぞれの向きで位置しており、上記処理回路はさらに、
上記複数の画像に基づいて予測エンジンを生成するように構成されており、上記予測エンジンは、入力画像データから予測照明プロファイルを生成するように構成されており、上記入力画像データは、1つの入力された人間の顔を表す、電子装置。