(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-02
(45)【発行日】2025-04-10
(54)【発明の名称】ダークフラッシュノーマルカメラ
(51)【国際特許分類】
G06T 1/00 20060101AFI20250403BHJP
H04N 23/60 20230101ALI20250403BHJP
H04N 23/56 20230101ALI20250403BHJP
【FI】
G06T1/00 500A
H04N23/60 500
H04N23/56
(21)【出願番号】P 2023527409
(86)(22)【出願日】2021-11-09
(86)【国際出願番号】 US2021072300
(87)【国際公開番号】W WO2022099322
(87)【国際公開日】2022-05-12
【審査請求日】2023-10-03
(32)【優先日】2020-11-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ローレンス,ジェイソン
(72)【発明者】
【氏名】アチャール,スプリート
(72)【発明者】
【氏名】シア,ジーハオ
【審査官】長谷川 素直
(56)【参考文献】
【文献】特開2019-139694(JP,A)
【文献】特開2002-133446(JP,A)
【文献】特開2015-019346(JP,A)
【文献】特開2002-171519(JP,A)
【文献】国際公開第2019/181125(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 1/00
H04N 23/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
複数のカラー画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信することを含み、前記複数のカラー画像の各々は可視スペクトル照明源でキャプチャされ、前記複数のNIR画像の各々はNIR照明源でキャプチャされ、前記方法はさらに、
前記画像トレーニングデータに基づいて予測エンジンを生成することを含み、前記予測エンジンは、
(i)ユーザのカラー画像および前記ユーザのNIR画像から、前記ユーザの推定される表面法線マップおよび前記ユーザの推定される反射率マップを生成
し、(ii)複数の照明条件のうちの1つの照明条件下において、前記推定される表面法線マップおよび前記推定される反射率マップからのレンダリングに基づいて測光損失を生成するように構成され、前記ユーザの前記カラー画像および前記ユーザの前記NIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる、方法。
【請求項2】
前記複数のカラー画像および前記複数のNIR画像は、それぞれ、前記複数のカラー画像のサブセットおよび前記複数のNIR画像のサブセットを含み、前記複数のカラー画像の各サブセットおよび前記複数のNIR画像の各サブセットは、
前記複数の照明条件を介する姿勢における対象のセットのそれぞれの対象の画像を含み、
前記方法はさらに、
前記予測エンジンを生成する前に、前記対象のセットの各々に対して、前記複数のカラー画像の対応するサブセットのカラー画像に対してセマンティックセグメンテーション演算を実行して、その対象に対するラベル画像を生成し、前記ラベル画像は、前記カラー画像の複数のピクセルの各々がカテゴリ化される指定された数のクラスを有し、当該対象の前記ラベル画像は、前記画像トレーニングデータに含まれる、請求項1に記載の方法。
【請求項3】
前記複数のカラー画像の各サブセットおよび前記複数のNIR画像の各サブセットは、画像キャプチャ構成を使用してキャプチャされ、前記画像キャプチャ構成は、それぞれ、複数の色
照明源、複数のNIR照明源、ならびに色検出器およびNIR照明検出器を含み、前記複数の色
照明源および前記複数のNIR照明源は、前記色検出器および前記NIR照明検出器を取り囲む幾何学的パターンで配置される、請求項2に記載の方法。
【請求項4】
前記複数の色
照明源および前記複数のNIR照明源は、前記色検出器および前記NIR照明検出器を囲む矩形の角に配置される、請求項3に記載の方法。
【請求項5】
前記複数の照明条件の各々は、前記複数の色照明源のうちの1つ
の位置と、照明を生成する、前記複数のNIR照明源のうちの1つ
の位置と、前記複数の色照明源のうちの他のすべて
の位置と、照明を生成しない、前記複数のNIR照明源のうちの他のすべて
の位置とを含む、請求項3に記載の方法。
【請求項6】
前記色検出器および前記NIR照明検出器は、第1のNIRカメラと、第2のNIRカメラと、色カメラとを含み、前記第1のNIRカメラおよび前記色カメラは、指定された位置ずれ閾値未満の量だけ位置ずれしている、請求項3に記載の方法。
【請求項7】
前記画像キャプチャ構成は、さらに、前記対象にドットスペックルパターンを投影するよう構成されるNIRドットプロジェクタを含み、前記ドットスペックルパターンは、前記複数のNIR照明源のうちのあるNIR照明源によって照射される照明と、時間的にインターリーブされる、請求項3に記載の方法。
【請求項8】
前記ユーザの前記カラー画像および前記ユーザの前記NIR画像は、本質的に同時にキャプチャされる、請求項1~7のいずれかに記載の方法。
【請求項9】
前記予測エンジンは、第1の分岐および第2の分岐を含み、前記第1の分岐は、表面法線マップを生成するよう構成され、前記第2の分岐は、予測される反射率マップを出力するよう構成される、請求項1~8のいずれかに記載の方法。
【請求項10】
前記予測エンジンは、スキップレベル接続を伴うunetエンコーダ-デコーダアーキテクチャを有するニューラルネットワークを含み、前記unetエンコーダ-デコーダアーキテクチャは、エンコーダおよびデコーダを含み、前記エンコーダは、ブロックのセットを含み、前記ブロックのセットの各々は、畳み込み層のセットおよびReLU活性化層のセットを含み、前記デコーダは、前記第1の分岐において、表面法線マップを、および前記第2の分岐において、予測される反射率マップを、出力するよう構成される、請求項9に記載の方法。
【請求項11】
前記予測エンジンを生成することは、
ステレオ損失および
前記測光損失を使用して前記予測エンジンに対するトレーニング演算を監督することを含む、請求項9に記載の方法。
【請求項12】
前記予測エンジンを生成することは、さらに、
前記複数の照明条件のうちのある照明条件下での前記推定される表面法線マップおよび前記推定される反射率マップからのレンダリングに基づいて前記測光損失を生成することを含む、請求項11に記載の方法。
【請求項13】
前記推定される反射率マップは、拡散成分と鏡面成分とを含み、
前記測光損失を生成することは、
ランバート反射モデルを使用して、前記推定される反射率マップの拡散成分を生成することと、
ブリン・フォンの双方向反射率分布関数(BRDF)を使用して、前記推定される反射率マップの鏡面成分を生成することとを含む、請求項12に記載の方法。
【請求項14】
前記測光損失を生成することは、
ステレオ深度マップと、前記複数のカラー画像のうちのあるカラー画像を生成する際に使用される光源の位置とに基づいて、バイナリシャドウマップを生成することと、
前記推定される反射率マップに基づいて、観測される強度マップを生成することと、
前記測光損失として、前記バイナリシャドウマップと、前記観測される強度マップと前記カラー画像との差とのアダマール積を生成することとを含む、請求項12に記載の方法。
【請求項15】
ステレオ深度マップを取得することと、
前記ステレオ深度マップに対して平滑化演算を実行して、平滑化されたステレオ深度マップを生成することと、
前記推定される表面法線マップおよび前記平滑化されたステレオ深度マップの勾配に基づいてステレオ損失を生成することとをさらに含む、請求項12に記載の方法。
【請求項16】
前記ステレオ損失を生成することは、
L1ベクトル損失として、前記推定される表面法線マップと前記平滑化されたステレオ深度マップの前記勾配との間の差のL1ノルムを生成することと、
角度損失として、前記推定される表面法線マップと前記平滑化されたステレオ深度マップの前記勾配との内積を生成することと、
前記ステレオ損失として、前記L1ベクトル損失と前記角度損失との差を生成することとを含む、請求項15に記載の方法。
【請求項17】
前記予測エンジンを使用して、前記ユーザの前記カラー画像および前記ユーザの前記NIR画像から、前記ユーザの前記推定される表面法線マップおよび前記ユーザの前記推定される反射率マップを生成することをさらに含む、請求項1~16のいずれかに記載の方法。
【請求項18】
前記ユーザの前記カラー画像は単一のカラー画像であり、前記ユーザの前記NIR画像は単一のNIR画像である、請求項1~17のいずれかに記載の方法。
【請求項19】
コンピュータによって実行されると、前記コンピュータに請求項1~18のいずれか1項に記載の方法を実行させるコードを含むプログラム。
【請求項20】
装置であって、
メモリと、
前記メモリに結合される制御回路とを備え、前記制御回路は、
複数のカラー画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信するよう構成され、前記複数のカラー画像の各々は可視スペクトル照明源でキャプチャされ、前記複数のNIR画像の各々はNIR照明源でキャプチャされ、前記制御回路はさらに、
前記画像トレーニングデータに基づいて予測エンジンを生成するよう構成され、前記予測エンジンは、
(i)ユーザのカラー画像および前記ユーザのNIR画像から、前記ユーザの推定される表面法線マップおよび前記ユーザの推定される反射率マップを生成
し、(ii)複数の照明条件のうちの1つの照明条件下において、前記推定される表面法線マップおよび前記推定される反射率マップからのレンダリングに基づいて測光損失を生成するように構成され、前記ユーザの前記
カラー画像および前記ユーザの前記NIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる、装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、2020年11月9日提出の「A DARK FLASH NORMAL CAMERA」と題される米国仮特許出願63/198,736の非仮特許出願であり、その優先権を主張し、その内容は、参照によりその全体がここに組み込まれる。本出願はまた、2020年11月16日提出の「A DARK FLASH NORMAL CAMERA」と題される米国仮特許出願63/198,836の非仮特許出願であり、その優先権を主張し、その内容は、参照によりその全体がここに組み込まれる。
【0002】
技術分野
本説明は、例えば、モバイル写真撮影およびビデオ撮影用途において、不十分な照明状態で撮影された画像の再照明を実行することに関する。
【背景技術】
【0003】
背景
いくつかのモバイル写真撮影およびビデオ撮影は、しばしば、低品質画像をもたらし、下流画像処理およびコンピュータビジョンアルゴリズムの性能を劣化させる、不十分な非制御照明下で行われる。環境内の可視照明を制御すること、またはそれをフラッシュで補うことは、困難すぎるか、または実用的であるには混乱しすぎていることが多い。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
ここで説明する実現例は、利用可能な可視スペクトル照明を単一の近赤外線光源およびカメラで補うことによって、低品質の照明条件で人々(顔および胴体)を示すシーンの高品質の法線マップおよびアルベドマップ、すなわちいわゆるダークフラッシュ(dark flash)画像を推定することに関する。ここにおける実現例は、入力として、任意の可視照明下でキャプチャされた単色画像と、同じ視点において、制御されたNIR照明下でキャプチャされた単一のダークフラッシュ画像とを取り込み、シーンの法線マップおよびアルベドマップを計算する。顔のグラウンドトゥルース法線マップをキャプチャすることは困難であるため、ここにおける実現例は、複数のノイズのある源、具体的にはステレオおよび測光シェーディングキューからの情報を組み合わせる新規なトレーニング技術を含む。実現例の性能は、ある範囲の対象および照明条件にわたって評価される。
【0005】
1つの一般的な局面では、ある方法は、複数のカラー(RGB)画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信することを含むことができ、複数のRGB画像の各々は可視スペクトル照明源でキャプチャされ、複数のNIR画像の各々はNIR照明源でキャプチャされ、複数のRGB画像および複数のNIR画像はそれぞれ複数のRGB画像のサブセットおよび複数のNIR画像のサブセット含み、複数のRGB画像の各サブセットおよび複数のNIR画像の各サブセットは、複数の照明条件を通した姿勢における対象のセットのそれぞれの対象の画像を含む。本方法はまた、画像トレーニングデータに基づいて予測エンジンを生成することを含み得、予測エンジンは、ユーザの単一のRGB画像およびユーザの単一のNIR画像から、ユーザの推定される表面法線マップおよびユーザの推定される反射率マップを生成するよう構成され、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる。
【0006】
別の一般的な局面では、コンピュータプログラム製品は、非一時的記憶媒体を備え、コンピュータプログラム製品は、コンピューティングデバイスの処理回路によって実行されるとその処理回路にある方法を実行させるコードを含む。本方法は、複数のカラー(RGB)画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信することを含むことができ、複数のRGB画像の各々は可視スペクトル照明源でキャプチャされ、複数のNIR画像の各々はNIR照明源でキャプチャされ、複数のRGB画像および複数のNIR画像はそれぞれ複数のRGB画像のサブセットおよび複数のNIR画像のサブセット含み、複数のRGB画像の各サブセットおよび複数のNIR画像の各サブセットは、複数の照明条件を通した姿勢における対象のセットのそれぞれの対象の画像を含む。本方法はまた、画像トレーニングデータに基づいて予測エンジンを生成することを含み得、予測エンジンは、ユーザの単一のRGB画像およびユーザの単一のNIR画像から、ユーザの推定される表面法線マップおよびユーザの推定される反射率マップを生成するよう構成され、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる。
【0007】
別の一般的な局面では、ある電子装置は、メモリと、メモリに結合される制御回路とを備える。制御回路は、複数のカラー(RGB)画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信するよう構成され得、複数のRGB画像の各々は可視スペクトル照明源でキャプチャされ、複数のNIR画像の各々はNIR照明源でキャプチャされ、複数のRGB画像および複数のNIR画像はそれぞれ複数のRGB画像のサブセットおよび複数のNIR画像のサブセット含み、複数のRGB画像の各サブセットおよび複数のNIR画像の各サブセットは、複数の照明条件を通した姿勢における対象のセットのそれぞれの対象の画像を含む。制御回路はまた、画像トレーニングデータに基づいて予測エンジンを生成するよう構成され得、予測エンジンは、ユーザの単一のRGB画像およびユーザの単一のNIR画像から、ユーザの推定される表面法線マップおよびユーザの推定される反射率マップを生成するよう構成され、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる。
【0008】
1つ以上の実現例の詳細が、添付の図面および以下の説明に記載される。他の特徴は、記載および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】ここで説明する改善された技術が実現されてもよい例示的な電子環境を示す図である。
【
図2】画像において表面法線および反射率を推定するよう構成される例示的な予測エンジンを示す図である。
【
図3】予測エンジンをトレーニングするためのRGB画像およびNIR画像を生成するための例示的なシステムを示す図である。
【
図4A】RGB画像に加えてNIR画像を使用することの、角度誤差に対する、例示的な効果を示すプロット図である。
【
図4B】RGB画像に加えてNIR画像を使用することの、角度誤差に対する、例示的な効果を示すプロット図である。
【
図4C】RGB画像に加えてNIR画像を使用することの、角度誤差に対する、例示的な効果を示すプロット図である。
【
図5】開示される実現例による、画像において表面法線および反射率を推定するための例示的な方法を示すフローチャート図である。
【
図6】説明される技術を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【
図7】説明される技術を実現するために使用され得る分散コンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【0010】
詳細な説明
不良照明画像を再照明するためのいくつかの従来の手法は、カラー画像に対して「シェーディングからの形状」演算を実行することを含み、これは、画像におけるシェーディングの段階的な変化から形状を回復する。不良照明画像を再照明するための他の従来の手法は、画像を反射率画像とシェーディング画像との積として因数分解する固有画像分解技術を含む。
【0011】
不良照明画像を再照明する上述の従来の手法に関する技術的問題は、そのような手法が、画像再照明に使用される画像において表面の面法線およびアルベドのマップを推定するのに適していないことである。例えば、画像再照明を決定するためにこれらの技術のいずれかを使用することは、表面法線マップおよびアルベドマップを推定するのに効果的に扱いにくい問題をもたらし得る。これらの技術は、グラウンドトゥルース反射率マップの利用可能性で、より扱いやすくされ得るが、そのようなグラウンドトゥルースマップは、多くのモバイル写真撮影状況において利用可能ではない場合がある。
【0012】
ここで説明される実現例によれば、上記の技術的問題に対する技術的解決策は、画像の再照明を実行するためのアルベドマップおよび表面法線マップを決定するために、対象のセットのうちのある対象のRGB画像に加えて、近赤外線(NIR)放射で照明された画像を使用することを含み、画像は、RGB画像がキャプチャされたのと本質的に同じ視点から、NIR放射線でキャプチャされる。いくつかの実現例では、予測エンジンは、入力として、単一のRGB画像および単一のNIR画像を取り込み、対象から表面法線および反射率を推定する。いくつかの実現例では、反射率は、アルベド成分と鏡面成分とを含む。
【0013】
いくつかの実現例では、改善された技術は、複数のカラー(RGB)画像および複数の近赤外線(NIR)画像を表す画像トレーニングデータを受信することを含み、複数のRGB画像の各々は白色光照明源でキャプチャされ、複数のNIR画像の各々はNIR照明源でキャプチャされ、複数のRGB画像および複数のNIR画像はそれぞれ複数のRGB画像のサブセットおよび複数のNIR画像のサブセット含み、複数のRGB画像の各サブセットおよび複数のNIR画像の各サブセットは、複数の照明条件を通した姿勢における対象のセットのうちのそれぞれの対象の画像を含み、改善された技術はさらに、画像トレーニングデータに基づいて予測エンジンを生成することを含み、予測エンジンは、ユーザの単一のRGB画像およびユーザの単一のNIR画像から、ユーザの推定される表面法線マップおよびユーザの推定される反射率マップを生成するよう構成され、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、本質的に同一の視点から同時にキャプチャされる。
【0014】
いくつかの実現例では、改善された技術は、予測エンジンを生成する前に、対象のセットの各々に対して、複数のRGB画像の対応するサブセットのRGB画像に対してセマンティックセグメンテーション演算を実行して、その対象のためのラベル画像を生成することを含み、ラベル画像は、RGB画像の複数のピクセルの各々がカテゴリ化される指定された数のクラスを有し、当該対象のラベル画像は、画像トレーニングデータに含まれる。
【0015】
いくつかの実現例では、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、本質的に同時にキャプチャされる。いくつかの実現例では、このシナリオでは、画像キャプチャで使用されるRGB照明は、RGB照明源によって生成される必要はなく、任意の照明を用いて生成されることができる。
【0016】
いくつかの実現例では、複数のRGB画像の各サブセットおよび複数のNIR画像の各サブセットは、画像キャプチャ構成を使用してキャプチャされ、画像キャプチャ構成は、それぞれ、複数のRGB源と、複数のNIR照明源と、RGBおよびNIR照明検出器とを含み、複数の併置されたRGBおよびNIR照明源は、RGBおよびNIR照明検出器を取り囲む幾何学的パターンで配置される。いくつかの実現例では、複数のRGB源および複数のNIR照明源は、RGBおよびNIR照明検出器を囲む矩形の角に配置される。いくつかの実現例では、複数の照明条件の各々は、複数のRGB照明源のうちの1つと、照明を生成する、複数のNIR照明源のうちの1つと、複数のRGB照明源のうちの他のすべてと、照明を生成しない、複数のNIR照明源のうちの他のすべてとを含む。いくつかの実現例では、RGBおよびNIR照明検出器は、第1のNIRカメラと、第2のNIRカメラと、RGBカメラとを含み、第1のNIRカメラおよびRGBカメラは、指定された位置ずれ閾値未満の量だけ位置ずれしている。いくつかの実現例では、画像キャプチャ構成はさらに、ドットスペックルパターンを対象上に投影するよう構成されるNIRドットプロジェクタを含み、ドットスペックルパターンは、複数のNIR照明源のうちのあるNIR照明源によって照射される照明と、時間的にインターリーブされる。
【0017】
いくつかの実現例では、予測エンジンは、第1の分岐および第2の分岐を含み、第1の分岐は、表面法線マップを生成するよう構成され、第2の分岐は、予測される反射率マップを出力するよう構成される。いくつかの実現例では、予測エンジンは、スキップレベル接続を伴うunetエンコーダ-デコーダアーキテクチャを有するニューラルネットワークを含み、unetエンコーダ-デコーダアーキテクチャはエンコーダおよびデコーダを含み、エンコーダはブロックのセットを含み、ブロックのセットの各々は畳み込み層のセットおよびReLU活性化層のセットを含み、デコーダは、第1の分岐において、表面法線マップを、および第2の分岐において、予測される反射率マップを、出力するよう構成される。いくつかの実現例では、予測エンジンを生成することは、複数の照明条件のうちのある照明条件下での推定される表面法線マップおよび推定される反射率マップからのレンダリングに基づいて測光損失を生成することを含む。いくつかの実現例では、推定される反射率マップは、拡散成分および鏡面成分を含み、測光損失を生成することは、ランバート反射モデルを使用して、推定される反射率マップの拡散成分を生成することと、ブリン・フォンの双方向反射率分布関数(BRDF)を使用して、推定される反射率マップの鏡面成分を生成することとを含む。いくつかの実現例では、測光損失を生成することは、ステレオ深度マップと、複数のRGB画像のうちのあるRGB画像を生成する際に使用される光源の位置とに基づいて、バイナリシャドウマップを生成することと、推定される反射率マップに基づいて、観測される強度マップを生成することと、測光損失として、バイナリシャドウマップと、観測される強度マップとRBG画像との差とのアダマール積を生成することとを含む。いくつかの実現例では、改善された技術は、さらに、ステレオ深度マップを取得することと、ステレオ深度マップに対して平滑化演算を実行して、平滑化されたステレオ深度マップを生成することと、推定される表面法線マップおよび平滑化されたステレオ深度マップの勾配に基づいてステレオ損失を生成することとを含む。いくつかの実現例では、ステレオ損失を生成することは、L1ベクトル損失として、推定される表面法線マップと平滑化されたステレオ深度マップの勾配との間の差のL1ノルムを生成することと、角度損失として、推定される表面法線マップと平滑化されたステレオ深度マップの勾配との内積を生成することと、ステレオ損失として、L1ベクトル損失と角度損失との差を生成することとを含む。
【0018】
開示される実現例の技術的利点は、改善された技術の適用が、従来の手法とは異なり、画像再照明において使用されるアルベドマップおよび表面法線マップを決定するのに扱いやすい問題をもたらすことである。そのようなマップを生成する問題を扱いやすい問題に低減することは、画像が不良照明条件下で撮影されるときに、上述の画像再照明問題に対するロバストな解決策を提供する。
【0019】
さらに、このロバストな解決策は、従来の可視スペクトル照明に加えてNIR照明を使用する新規な予測エンジンのため、利用可能なグラウンドトルースがないときに、提供される。多くのモバイルデバイスは、可視スペクトル照明およびNIR照明の両方を使用して写真を撮る能力を有し、これらは同じ向きから撮られることに留意されたい。加えて、そのような可視スペクトル照明された画像およびNIR照明された画像は、本質的に同時に取得されてもよい。
【0020】
図1は、上述の技術的解決策が実現されてもよい例示的な電子環境100を示す図である。コンピュータ120は、画像データから表面法線および反射率を推定するよう構成される予測エンジンをトレーニングならびに動作させるように構成される。
【0021】
コンピュータ120は、ネットワークインターフェース122、1つ以上の処理ユニット124、およびメモリ126を含む。ネットワークインターフェース122は、例えば、ネットワークから受信した電子および/または光信号をコンピュータ120による使用のための電子形式に変換するためのイーサネット(登録商標)アダプタ、トークンリングアダプタなどを含む。処理ユニットのセット124は、1つ以上の処理チップおよび/またはアセンブリを含む。メモリ126は、揮発性メモリ(例えば、RAM)と、1つ以上のROM、ディスクドライブ、ソリッドステートドライブ等の不揮発性メモリとの両方を含む。処理ユニット124のセットおよびメモリ126は共に、ここで説明されるような様々な方法および機能を実行するように構成ならびに配置される制御回路を形成する。
【0022】
いくつかの実現例では、コンピュータ120の構成要素のうちの1つ以上は、メモリ126に記憶される命令を処理するよう構成されるプロセッサ(たとえば、処理ユニット124)であり得るか、またはそれを含み得る。
図1に示されるようなそのような命令の例は、画像取得マネージャ130、セマンティックセグメンテーションマネージャ140、および予測エンジンマネージャ150を含む。さらに、
図1に示されるように、メモリ126は、様々なデータを記憶するよう構成され、それは、そのようなデータを使用するそれぞれのマネージャに関して記述される。
【0023】
画像取得マネージャ130は、画像トレーニングデータ131を受信するよう構成される。いくつかの実現例では、画像取得マネージャ130は、ネットワークインターフェース122を介して、すなわち、ディスプレイデバイス170からネットワーク(ネットワーク190など)を介して画像トレーニングデータ131を受信する。いくつかの実現例では、画像取得マネージャ130は、ローカルストレージ(例えば、ディスクドライブ、フラッシュドライブ、SSDなど)から画像トレーニングデータ131を受信する。
【0024】
いくつかの実現例では、画像取得マネージャ130はさらに、画像トレーニングデータ131から顔画像をクロッピングおよびサイズ変更して、ポートレートを標準サイズで生成するよう構成される。各対象の顔がほぼ同じ位置にあるように画像を標準サイズにクロッピングし、サイズ変更することによって、予測画像のトレーニングがよりロバストになる。
【0025】
画像トレーニングデータ131は、照明条件の異なる顔画像のセットを同じ姿勢で表したものである。異なる照明条件は、光の種類(例えば、可視スペクトル/RGBおよびNIR)ならびに対象に対する光の位置を含む。そのような条件下での画像の例示的な取得は、
図3に関してより詳細に論じられる。いくつかの実現例では、RGB色チャネルは、他の色チャネル、たとえば、YUV、Y’UV、YCbCr、Y’IQによって置き換えられてもよい。
【0026】
図1に示すように、画像トレーニングデータ131は、複数のRGB画像132(1)、...、132(M)を含み、Mは、画像トレーニングデータ131におけるRGB画像の数である。各RGB画像、例えば、画像132(1)は、ピクセル当たりの強度および/または色を示すピクセルデータ133(1)を含む。
【0027】
図1にも示すように、画像トレーニングデータ131は、複数のNIR画像134(1)...134(N)を含み、Mは、画像トレーニングデータ131におけるNIR画像の数である。各NIR画像、例えば画像134(1)は、ピクセル当たりの強度を示すピクセルデータ135(1)を含む。いくつかの実現例では、N=Mである。
【0028】
いくつかの実現例では、画像トレーニングデータ131は、NIRリング光画像136を含む。いくつかの実現例では、NIRリング光画像136は、NIR検出器(たとえば、カメラ)を取り囲むNIRリング光源を使用して撮影される。この撮影された画像は、画像131(1..M)で使用されたのと同じ姿勢である。いくつかの実現例では、NIRリング光画像136は、NIR検出器を囲んでいないが、どちらかといえばNIR検出器に近接している、すなわち、側方に離れているNIR光源を使用して撮影される。そのような実現例では、NIRリング光は、リング以外の形状、すなわち、小さい円盤形、正方形などを有してもよい。
【0029】
いくつかの実現例では、画像トレーニングデータ131は、光源から人の表面までの距離のセットとして人の画像を表す光源深度マップ138を含む。そのような深度画像138は、RBG画像131(1..M)および/またはNIR画像133(I..N)と本質的に同時に、かつ同じ姿勢で撮影されてもよい。いくつかの実現例では、光源深度マップ138は、RGB画像が取得されるときにステレオドットプロジェクタを使用して取得されるステレオ深度マップであり、さらなる詳細は、
図3で論じられる。
【0030】
セマンティックセグメンテーションマネージャ140は、RGB画像132(1..M)のうちの少なくとも1つに対してセマンティックセグメンテーション演算を実行して、セマンティックセグメンテーションデータ142を生成するよう構成される。いくつかの実現例では、セマティックセグメンテーション演算は、畳み込み隠れ層および出力セグメンテーション層を伴うニューラルネットワークを使用することを伴う。いくつかの実現例では、セマティックセグメンテーション演算は、入力の空間分解能がダウンサンプリングされるエンコーダ/デコーダ構造を使用し、クラス間の区別において非常に効率的であるよう学習される低分解能特徴マッピングを開発することを含み、次いで、特徴表現は、全分解能セグメンテーションマップにアップサンプリングされてもよい。
【0031】
セマンティックセグメンテーションデータ142は、指定された数のクラスへの画像のセマンティックセグメンテーション、すなわちセグメンテーションマップ144を表す。そのようなセグメンテーションマップ144は、エンジンが画像形状および反射率を決定するのを助けるための、予測エンジンへの補助入力として使用されてもよい。いくつかの実現例では、セグメンテーションは6クラスセグメンテーションであり、すなわち、各セグメンテーションマップ中に6クラスのピクセルがある。
【0032】
予測エンジントレーニングマネージャ150は、予測エンジンが予測エンジンデータ153を生成するよう構成されることを表し、予測エンジンデータ153は、予測エンジンマネージャ150によって生成されたデータが、可視スペクトルおよびNIR照明で照明される画像の表面法線マップおよび反射率マップを生成することを表す。いくつかの実現例では、予測エンジンマネージャ150は、画像トレーニングデータ131に対してトレーニング演算を実行するとともに、可視スペクトル/RGB画像およびNIR画像から表面法線マップおよび反射率マップを生成することに関連する量の損失を最小限に抑えるように調整された損失関数を実施するよう構成される。
図1に示すように、予測エンジンマネージャは、エンコーダ151およびデコーダ152を含む。
【0033】
いくつかの実現例では、予測エンジンは、スキップレベル接続を伴うunetエンコーダ-デコーダアーキテクチャを有するニューラルネットワークを含み、unetエンコーダ-デコーダアーキテクチャは、エンコーダ151およびデコーダ152を含む。そのような実現例では、エンコーダ151はブロックのセットを含み、ブロックのセットの各々は畳み込み層のセットおよびReLU活性化層のセットを含む。
【0034】
エンコーダ151は、画像トレーニングデータ131を入力として取り込み、デコーダ152に入力される全結合層のパラメトリック値を生成するよう構成される。デコーダ152は、エンコーダ151によって生成されたパラメトリック値を入力として受け取り、予測エンジンデータ153を生成するよう構成される。たとえば、エンコーダ151は、RGB画像132(1..M)、NIR画像134(1..N)、セマティックセグメンテーションデータ142、および光源深度マップ138を取り込み、推定される表面法線(たとえば、推定される法線データ156)を生成するためにデコーダ152によって使用される中間量を生成する。この場合のコスト関数は、例えば、推定される法線データ156と、例えば、同じ対象のステレオ画像を使用して、別の方法で得られる同じ対象および姿勢の表面法線との間の差を反映する。ステレオ撮像に関するさらなる詳細は、
図3に関して説明される。
【0035】
予測エンジンマネージャ150によって表される予測エンジンは、RGB画像およびNIR画像から対象の推定される表面法線だけでなく、それらの画像から対象の推定される反射率マップも生成するよう構成されている。表面法線および反射率マップの両方のこの推定を行うために、デコーダ152は、表面法線マップをジオメトリ分岐において、および反射率マップを反射率分岐において、出力するよう構成される。
【0036】
予測エンジンデータ153は、可視スペクトルおよびNIR照明で照明された画像の表面法線マップおよび反射率マップを生成するよう予測エンジンマネージャ150によって生成されるデータを表す。
図1に示すように、予測エンジンデータ153は、ジオメトリ分岐データ154と、反射率分岐データ155と、レンダリングデータ161とを含む。
【0037】
ジオメトリ分岐データ154は、RGB画像およびNIR画像において対象の表面法線を推定することに関連するデータを含む。デコーダ152は、表面法線を表す推定される法線データ156を、ベクトルマップ、すなわち対象として分類される各ピクセルにおける3次元ベクトルとして、対象の表面に関連付けられるピクセル上に出力するよう構成される。
【0038】
しかしながら、予測エンジンのトレーニングにおいて、推定される法線データ156は、予測エンジントレーニングの1つの構成要素にすぎない。トレーニングを行うためには、損失関数が必要である。この場合、損失関数は、推定される法線データ156と参照データとの両方を用いて定義される。
図1に示すように、参照データは、ステレオ法線データ157を含み、いくつかの実現例では、ステレオ法線データ157は、光源深度マップ138を含むかまたは光源深度マップ138である。予測エンジンマネージャ150は、推定される法線データ156およびステレオ法線データ157に基づいてステレオ損失データ158を生成するよう構成される。
【0039】
反射率分岐データ155は、人物の画像の表面から反射率成分データを推定することに関するデータを含む。例えば、反射率は、アルベド成分および鏡面反射率成分を含み得る。アルベドは、拡散反射率、すなわち、表面によって受け取られる放射束密度に対する、表面によって放出される拡散放射束の比として定義され;これは、表面によって反射される鏡面放射束とは対照的である。したがって、
図1に示すように、反射率分岐データ155は、推定されるアルベドデータ159と推定される鏡面反射率データ160とを含む。
【0040】
予測エンジンは、反射率分岐データ155を使用して、予測エンジンをトレーニングするための損失の別の成分、すなわち測光損失を推定する。予測エンジンによる測光損失の推定は、推定されるアルベドデータ159および推定される鏡面反射率データ160によって表される反射率成分マップにレンダリングモデルを適用して、画像の拡散および鏡面画像層を生成することによって行われ、それは、加算されると、対象の、推定される画像をもたらす。測光損失は、推定される画像と入力される画像132(1..M)または134(1..N)の1つとの差として定義される。測光損失およびステレオ損失を最適化することによって、予測エンジンは、既知の点照明下で撮影されたシーンの画像にその出力を接続する画像形成モデルとして機能する。
【0041】
したがって、レンダリングデータ161は、デコーダ152の出力を既知の照明条件下で撮影された画像に接続する放射測定反射率モデルを表す照明モデルデータ162を含む。例えば、特定の単位長光ベクトルl、視野ベクトルv、表面法線n、4チャネル(RGB NIR)アルベドα、スカラー鏡面強度ρ、および鏡面指数mに対する入射光に対する反射光の比を以下のように与える反射率関数fが導入される:
【0042】
【0043】
点光によるピクセルでの観測される強度は、以下により与えられ、
【0044】
【0045】
ここで、Lは光強度である。反射強度は、式(1)中のパラメータのすべてを推定するのに各ピクセルにおいて充分な一意の光方向から観測されない。いくつかの実現例では、この問題に対処するために、鏡面指数は、人間の皮膚の以前の測定および我々自身の観測に基づいて、m=30であるように指定され、n、α、およびρのみを推定する。幾何学的量lおよびv、ならびに光強度Lは、較正手順によって決定される。
【0046】
【0047】
予測エンジンのトレーニングを監督するためにグラウンドトゥルース法線または反射率データに依存するのではなく、上述のステレオ損失データ158および測光損失データ165が組み合わされる。
【0048】
ステレオ損失データ158によって表されるステレオ損失は、L1ベクトル損失と角度損失とを以下のように結合する:
【0049】
【0050】
測光損失データ165によって表される測光損失は、式(2)に従ってレンダリングされたRGB画像132(1..M)および/またはNIR画像134(1..N)の各々と、対応する照明条件に対する予測エンジンの出力との間で、以下のように計算される:
【0051】
【0052】
区分的定数変化を促進する事前分布をアルベドマップに適用してもよく、
【0053】
【0054】
この事前分布は、セマンティックセグメンテーションマップ144において衣服、身体、または腕として分類されるピクセルに適用されてもよい。
【0055】
総損失関数は、上記の損失項の加重和であり、
【0056】
【0057】
ユーザデバイス120の構成要素(たとえば、モジュール、処理ユニット124)は、1つ以上のタイプのハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリなどを含み得る1つ以上のプラットフォーム(例えば、1つ以上の類似または異なるプラットフォーム)に基づいて動作するよう構成され得る。いくつかの実現例では、コンピュータ120の構成要素は、デバイスのクラスタ(たとえば、サーバファーム)内で動作するよう構成され得る。そのような実現例では、コンピュータ120の構成要素の機能および処理は、デバイスのクラスタのいくつかのデバイスに分散され得る。
【0058】
コンピュータ120の構成要素は、属性を処理するよう構成される任意のタイプのハードウェアおよび/またはソフトウェアであり得るか、またはそれらを含み得る。いくつかの実現例では、
図1のコンピュータ120の構成要素に示される構成要素の1つ以上の部分は、ハードウェアベースのモジュール(例えば、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリ)、ファームウェアモジュール、および/もしくはソフトウェアベースのモジュール(例えば、コンピュータコードのモジュール、コンピュータで実行することができるコンピュータ可読命令のセット)であり得るか、またはそれらを含み得る。たとえば、いくつかの実現例では、コンピュータ120の構成要素の1つ以上の部分は、少なくとも1つのプロセッサ(図示せず)による実行のために構成されたソフトウェアモジュールであり得るか、またはそれを含み得る。いくつかの実現例では、構成要素の機能は、2つの構成要素として示される機能を単一の構成要素に組み合わせることを含む、
図1に示すものとは異なるモジュールおよび/または異なる構成要素に含まれ得る。
【0059】
図示されていないが、いくつかの実現例では、コンピュータ120の構成要素(またはその部分)は、たとえば、データセンタ(たとえば、クラウドコンピューティング環境)、コンピュータシステム、1つ以上のサーバ/ホストデバイスなど内で動作するよう構成され得る。いくつかの実現例では、コンピュータ120の構成要素(またはその部分)は、ネットワーク内で動作するよう構成され得る。したがって、コンピュータ120の構成要素(またはその部分)は、1つ以上のデバイスおよび/または1つ以上のサーバデバイスを含み得る、種々のタイプのネットワーク環境内で機能するように構成され得る。たとえば、ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などであり得るか、またはそれらを含み得る。ネットワークは、たとえば、ゲートウェイデバイス、ブリッジ、スイッチなどを使用して実現されるワイヤレスネットワークおよび/またはワイヤレスネットワークであり得るか、またはそれを含み得る。ネットワークは、1つ以上のセグメントを含むことができ、ならびに/またはインターネットプロトコル(IP)および/もしくはプロプライエタリプロトコルなどの様々なプロトコルに基づく部分を有することができる。ネットワークは、インターネットの少なくとも一部を含み得る。
【0060】
いくつかの実現例では、コンピュータ120の構成要素のうちの1つ以上は、メモリに記憶された命令を処理するよう構成されるプロセッサであり得るか、またはそれを含み得る。たとえば、画像取得マネージャ130(および/またはその一部)ならびに予測画像トレーニングマネージャ140(および/またはその一部)は、1つ以上の機能を実現するためのプロセスに関連する命令を実行するよう構成されるプロセッサとメモリとの組合せであり得る。
【0061】
いくつかの実現例では、メモリ126は、ランダムアクセスメモリ、ディスクドライブメモリ、フラッシュメモリなどの任意のタイプのメモリであり得る。いくつかの実現例では、メモリ126は、VRサーバコンピュータ120の構成要素に関連付けられる複数のメモリ構成要素(例えば、複数のRAMコンポーネントまたはディスクドライブメモリ)として実現され得る。いくつかの実現例では、メモリ126はデータベースメモリであり得る。いくつかの実現例では、メモリ126は、非ローカルメモリであり得るか、または非ローカルメモリを含み得る。たとえば、メモリ126は、複数のデバイス(図示せず)によって共有されるメモリであり得るか、またはそれを含み得る。いくつかの実現例では、メモリ126は、ネットワーク内のサーバデバイス(図示せず)に関連付けられ、コンピュータ120の構成要素に応対するよう構成され得る。
図1に示すように、メモリ126は、画像トレーニングデータ131、セマンティックセグメンテーションデータ136、および予測エンジンデータ153を含む様々なデータを記憶するよう構成される。
【0062】
図2は、画像において表面法線および反射率を推定するよう構成される例示的な予測エンジン200を示す図である。
図2に示すように、予測エンジン200は、エンコーダ220と、デコーダ222と、ジオメトリ分岐230と、反射率分岐232と、レンダラ260とを含む。
図2に示される予測エンジン200は、スキップ接続を有する標準UNetである。
【0063】
エンコーダ220は、単一のRBG画像210(a)および単一のNIR画像210(b)、ならびに
図1に関して説明したようにセマンティックセグメンテーションマップ144から生成されるラベル画像210(c)を入力として受け入れる。いくつかの実現例では、RGB画像210(a)およびNIR画像210(b)は、本質的に同時に撮影される。例えば、携帯電話カメラは、同時にユーザによって起動される可視スペクトル照明源(すなわち、カメラフラッシュ)およびNIR源(携帯電話上の異なるフラッシュ)の両方を有してもよい。したがって、画像/マップ210(a,b,c)は、同じ姿勢のユーザを表す。
【0064】
エンコーダ220およびデコーダ222は各々5つのブロックからなり、各ブロックは3つの畳み込み層を有する。ボトルネックは256個のチャネルを有する。
図2に示すように、デコーダ222の出力は、2つの分岐、すなわちジオメトリ分岐230および反射率分岐232に供給される。
【0065】
【0066】
ジオメトリ分岐230および反射率分岐232の両方は、32個のチャネルおよび1つの最終出力層を伴う3つの畳み込み層を有する。
【0067】
トレーニング中、予測エンジン200は、ステレオ損失を生成するために、予測される法線240および観測される法線242を使用する。観測される法線242は、画像210(a、b、c)とともに入力され、トレーニングデータとともに取得されるステレオ深度マップから取得されてもよい。
【0068】
トレーニング中、予測エンジン200は、拡散層270、鏡面層272、シャドウマップ280(すなわち、式(4)中のSj)、およびトレーニングの一部として予測エンジン200に入力される一回一光(one-light-at-a-time)(OLAT)画像284を使用して、測光損失を生成する。予測エンジン200は、OLAT284を生成する際に使用される光の位置250と、レンダラ260における拡散および鏡面光レンダリングモデル(例えば式(1))とに基づいて、層270および272を生成する。予測エンジン200は、光位置250およびレンダラ260を、予測される法線240、拡散アルベドマップ242、および鏡面強度マップ244に適用して、拡散層270および鏡面層272を生成する。拡散層270と鏡面層272との和は、レンダリングされた画像282を生成し、これは、OLAT284およびシャドウマップ280とともに、測光損失を生成する。
【0069】
図3は、予測エンジンをトレーニングするためにRGB画像およびNIR画像を生成するための例示的なシステム300を示す図である。システム300は、複数のNIR照明源310(1,2,3,4)と、複数のRGB源320(1,2,3,4)と、画像キャプチャ構成330とを含む。
【0070】
図3に示すように、複数のNIR照明源310(1,2,3,4)および複数のRGB源320(1,2,3,4)は、画像キャプチャ構成330が中心にある矩形の角に配置される。いくつかの構成では、NIR照明源の数は、RGB源の数とは異なる。いくつかの実現例では、NIR照明源およびRGB源は、異なる幾何学的パターンで、例えば、多角形の頂点で、円または楕円で、線に沿ってなど、で配列される。
【0071】
画像キャプチャ構成330は、
図3に示すように、NIR検出器(例えば、カメラ)の対332(1,2)と、NIR検出器332(1)を取り囲むNIRリング光336と、RGB検出器334とを含む。いくつかの実現例では、NIRリング光336は、NIR検出器332(1)の近傍の別の位置に配置されてもよい。いくつかの実現例では、NIRリング光336は、異なる形状、たとえば円板状のNIR照明源と置換されてもよい。いくつかの実現例では、画像キャプチャ構成330はまた、一連のドットを対象上に投影してステレオ法線を生成するよう構成される、NIRステレオドットプロジェクタの対を含む。
【0072】
理想的には、RGB画像およびNIR画像は、対象のトレーニング画像がすべて同じ姿勢を有するように、同時に同じ視点から撮影される。それにもかかわらず、光源は、ともに正確にタイミングを合わせられないか、または併置されない場合があるため、画像が撮られる時間およびそれらの視点にわずかな差異が存在し得る。時間差は、いくつかの実現例では、時間閾値よりも小さい。いくつかの実現例では、時間閾値は、ビデオ中の単一のフレームに対応する(例えば、60fpsでは1/60秒、24fpsでは1/24秒)。
【0073】
例として、RGB検出器334は、150fpsで動作する2.8MP NIRカメラのステレオ対とともに66.67fpsで動作する7.0MP RGBカメラであってもよい。RGBカメラおよびNIRカメラの1つは、プレートビームスプリッタおよび光トラップを使用して併置される。この例のRGBカメラおよびNIRカメラは、線形測光応答を有し、画像のすべては、各次元において2倍ダウンサンプリングされてもよく;960×768の分解能で顔をカバーする中央クロップがとられてもよい。可視スペクトル(RGB)照明は、対象から約1.1mに位置するカメラを取り囲む約1.5m×0.8m(幅×高さ)の矩形の角に配置された4つの広角LEDスポットライトによって提供されてもよい。NIR照明は、可視光の各々に1つずつ隣接する5つのNIRスポットライトと、「ダークフラッシュ」入力を生成するよう基準NIRカメラの近くに位置するフラッシュLEDライトとによって提供されてもよい。これらのNIR光源は、ステレオマッチングを支援するためにNIRドットスペックルパターンを放出するプロジェクタと時間的にインターリーブされる。いつでも1つの可視光源および1つのNIR光源のみがアクティブであることを確実にするよう、マイクロコントローラがライトおよびカメラをトリガすることを調整してもよい。すべての光源は、位置および強度について較正され、幾何学的に点光源として扱われてもよい。式(2)中の光強度項Lはこれらの較正された色を考慮する。NIR光源および可視光光源は併置されず、したがって、わずかに異なるLの値が式(2)においてそれら2つの条件の間使用されることに留意されたい。
【0074】
図4A、
図4B、および
図4Cは、それぞれ曲線のプロット400,430,および460であり、これらは、単一のRGB画像のみを取得するよう修正された予測エンジンのベースラインに対する、平均角度誤差(すなわち、式(3)中の
【0075】
【0076】
に対する、RGB画像に加えてNIR画像を使用することの例示的な効果を示す。露光過度レベル(400)、色温度差(430)、およびノイズレベル(460)に対する曲線はすべて、RGBのみを使用すると次第に大きい誤差を示すが、RGBおよびNIRは、露光レベル、色温度差、およびノイズレベルが増加するにつれて顕著な安定性を示す。
【0077】
図5は、上述の改善された技術に従って表面法線および反射率推定を介して再照明を生成する例示的な方法500を示すフローチャートである。方法500は、コンピュータ120のメモリ126内に常駐し、処理ユニット124のセットによって実行される、
図1に関連して説明されるソフトウェア構成によって実行されてもよい。
【0078】
502において、画像取得マネージャ130は、複数のカラー(RGB)画像(例えば、画像132(1..M))および複数の近赤外線(NIR)画像(例えば、画像134(1..N))を表す画像トレーニングデータ(例えば、画像トレーニングデータ131)を受信し、複数のRGB画像の各々は、可視スペクトル照明源(例えば、RGB源334)を用いてキャプチャされ、複数のNIR画像の各々は、NIR照明源(例えば、NIR照明源332(1,2))を用いてキャプチャされ、複数のRGB画像および複数のNIR画像は、それぞれ、複数のRGB画像のサブセットおよび複数のNIR画像のサブセットを含み、複数のRBG画像の各サブセットおよび複数のNIR画像の各サブセットは、複数の照明条件を通した姿勢における対象のセットのそれぞれの対象の画像を含む。
【0079】
504において、予測エンジンマネージャ150は、画像トレーニングデータに基づいて予測エンジン(例えば、予測エンジンデータ153)を生成し、予測エンジンは、ユーザの単一のRGB画像およびユーザの単一のNIR画像から、ユーザの推定される表面法線マップ(例えば、推定される法線データ156)およびユーザの推定される反射率マップ(例えば、推定されるアルベドデータ159および/または鏡面反射率データ160)を生成するよう構成され、ユーザの単一のRGB画像およびユーザの単一のNIR画像は、閾値時間期間未満の時間期間内に、閾値視点未満だけ異なる視点からキャプチャされる。
【0080】
いくつかの実現例では、閾値時間期間は、100ミリ秒未満、10ミリ秒未満、1ミリ秒未満、またはそれより短い時間期間である。いくつかの実現例では、閾値視点は、ユーザの任意の軸の周囲で10度未満、5度未満、2度未満、1度未満、0.5度未満、またはそれより小さい回転である。
【0081】
いくつかの実現例では、上記の予測エンジンはステレオ精緻化(refinement)適用例に適用されてもよい。ステレオ法は、粗い幾何学的形状を測定するのに優れているが、微細スケールの表面詳細を回復するのに苦労することが多い。これは、典型的には測光手法を用いて推定される正確な高分解能法線に従ってステレオ深度を精緻化することによって克服することができる。NIR時空間ステレオアルゴリズムによって生成される深度測定値を精緻化するための本発明者らの方法によって生成される法線は、ステレオ深度を平滑化するための標準バイラテラルフィルタを使用することと比較されてもよい。ここに記載される改善された技術によって生成される法線は、はるかに高品質の再構成、最も顕著には口、鼻、および眼の周りの再構成、ならびに皮膚における小じわおよびしわのより良好な回復をもたらす。
【0082】
いくつかの実現例では、上記で説明した予測エンジンは、たとえば、顔の陰影部分を明るくするために仮想フィルライトを追加することによって、ポートレートにおける照明を改善するための照明調整に適用されてもよい。本発明者らの方法によって推定される法線マップおよび反射率マップを使用して、陰影領域の視野内に位置する仮想点光の寄与をレンダリングしてもよく、これらのマップは、元のRGB画像と組み合わせられてもよい。予測エンジンによって提供されるモデルは、信頼できる効果を可能にし、鼻唇のひだおよび鼻の先端に沿って現実的な鏡面ハイライトをもたらしさえする。
【0083】
図6は、本明細書で説明される技術とともに使用されてもよい、汎用コンピュータデバイス600および汎用モバイルコンピュータデバイス650の例を示す。コンピュータデバイス600は、
図1および
図2のコンピュータ120の構成の一例である。
【0084】
図6に示すように、コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス650は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すよう意図される。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文書に記載および/または特許請求される本発明の実現例を限定するものではない。
【0085】
コンピューティングデバイス600は、プロセッサ602と、メモリ604と、ストレージデバイス606と、メモリ604および高速拡張ポート610に接続する高速インターフェイス608と、低速バス614およびストレージデバイス606に接続する低速インターフェイス612とを含む。構成要素602,604,606,608,610,および612の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。プロセッサ602は、高速インターフェイス608に結合されたディスプレイ616などの外部入力/出力装置上にGUIのためのグラフィカル情報を表示するために、メモリ604またはストレージデバイス606に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。他の実現例では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびメモリのタイプとともに用いられてもよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは、(たとえば、サーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0086】
メモリ604は、コンピューティングデバイス600内に情報を記憶する。一実現例では、メモリ604は、1つ以上の揮発性メモリユニットである。別の実現例では、メモリ604は、1つ以上の不揮発性メモリユニットである。メモリ604はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0087】
ストレージデバイス606は、コンピューティングデバイス600のための大容量ストレージを提供することができる。一実現例では、ストレージデバイス606は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、フラッシュメモリもしくは他の類似の固体メモリ装置、もしくはストレージエリアネットワーク内もしくは他の構成における装置を含む装置のアレイなどの、コンピュータ可読媒体であるかまたはそれを含んでもよい。コンピュータプログラム製品は、情報担体において有形に具現化することができる。コンピュータプログラム製品はまた、実行されると、上記で説明したものなどの1つ以上の方法を実行する命令を含んでもよい。情報担体は、メモリ604、ストレージデバイス606、またはプロセッサ602上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0088】
高速コントローラ608は、コンピューティングデバイス500のための帯域幅集約型動作を管理し、低速コントローラ612は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては例示に過ぎない。一実現例では、高速コントローラ608は、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)メモリ604、ディスプレイ616に、および様々な拡張カード(図示せず)を受け入れてもよい高速拡張ポート610に、結合される。この実現例では、低速コントローラ612は、ストレージデバイス506および低速拡張ポート614に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つ以上の入力/出力装置に、たとえばネットワークアダプタを介して結合されてもよい。
【0089】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、標準サーバ620として、またはそのようなサーバのグループにおいて複数回実現されてもよい。それはまた、ラックサーバシステム624の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ622などのパーソナルコンピュータにおいて実現されてもよい。代替として、コンピューティングデバイス600からの構成要素は、デバイス650等のモバイルデバイス(図示せず)内の他の構成要素と組み合わせられてもよい。そのようなデバイスの各々は、コンピューティングデバイス600、650のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス600、650から構成されてもよい。
【0090】
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現され得る。これらの様々な実現例は、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置にデータおよび命令を送信するように結合された、専用であっても汎用であってもよい少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムにおける実現例を含むことができる。
【0091】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実現され得る。本明細書で使用されるとき、「機械可読媒体」「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/もしくはデータをプログラマブルプロセッサに提供するよう使用される任意のコンピュータプログラム製品、装置ならびに/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【0092】
ユーザとの対話を提供するために、ここに記載されるシステムおよび技術は、(たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった)ユーザに対して情報を表示するためのディスプレイデバイスと、(たとえばマウスまたはトラックボールといった)ユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスを用いて、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信することができる。
【0093】
本明細書で説明されるシステムおよび技術は、(たとえばデータサーバとして)バックエンドコンポーネントを含む計算システムにおいて実現され得るか、(たとえばアプリケーションサーバといった)ミドルウェアコンポーネントを含む計算システムにおいて実現され得るか、(たとえば本明細書で説明されるシステムおよび技術の実現例とユーザが対話することが可能であるグラフィカルユーザーインターフェイスもしくはウェブブラウザを有するクライアントコンピュータといった)フロントエンドコンポーネントを含む計算システムにおいて実現され得るか、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0094】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは概して互いから遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されるとともに互いに対してクライアント-サーバ関係を有するコンピュータプログラムによって生ずる。
【0095】
いくつかの実現例について説明した。それにもかかわらず、明細書の精神および範囲から逸脱することなく、様々な修正がなされ得ることが理解されるであろう。
【0096】
ある要素が他の要素の上にある、他の要素に接続されている、他の要素に電気的に接続されている、他の要素に結合されている、または他の要素に電気的に結合されていると称される場合、それは他の要素の直接上にある、他の要素に直接接続される、もしくは他の要素に直接結合されてもよく、または1つ以上の介在要素が存在してもよいことも理解される。対照的に、ある要素が他の要素の直接上にある、他の要素に直接接続されている、または他の要素に直接結合されていると称される場合、介在する要素は存在しない。詳細な説明全体を通して、直接上にある、直接接続されている、または直接結合されているという表現は使用されない場合があるが、直接上にある、直接接続されている、または直接結合されていると図示されている要素は、そのように称され得る。本願の請求項は、明細書に記載されているかまたは図面に示されている例示的な関係を記載するよう補正される場合がある。
【0097】
記載された実現例の特定の特徴が本明細書に記載されているように示されているが、当業者には多くの修正、置換、変更および均等物がここで思い浮かぶであろう。したがって、特許請求の範囲は、実現例の範囲内にあるすべてのそのような修正および変更を包含するように意図されていることを理解されたい。これらは、限定ではなく例としてのみ提示されており、形態および詳細の様々な変更が行われ得ることを理解されたい。本明細書で説明される装置および/または方法の任意の部分を、相互排他的組み合わせを除く任意の組み合わせで組み合わせてもよい。本明細書で説明される実現例は、説明される異なる実現例の機能、構成要素および/または特徴の様々な組合せおよび/または部分的組合せを含むことができる。
【0098】
加えて、図面において示される論理フローは、望ましい結果を達成するために、示された特定の順序または連続する順序を必要としない。加えて、説明されたフローから、他のステップが与えられてもよく、またはステップが削除されてもよく、他の構成要素が、説明されたシステムに追加されてもよく、またはそこから削除されてもよい。したがって、他の実現例は特許請求の範囲内にある。