Portrait Light:機械学習を使ってポートレートモードの照明を強化(2/2)

アプリケーション

1.Portrait Light:機械学習を使ってポートレートモードの照明を強化(2/2)まとめ

・照明方向とポートレートを指定する照明を元の写真に追加するモデルを学習させた
・トレーニングには多数のポートレートが必要でLight Stage計算照明システムを使用した
・Googleフォトライブラリでも既存の画像を使ってPortrait Lightで被写体を強調可能

2.Pixelのポートレートライトの学習手法

以下、ai.googleblog.comより「Portrait Light: Enhancing Portrait Lighting with Machine Learning」の意訳です。元記事の投稿は2020年12月11日、Yun-Ta TsaiさんとRohit Pandeyさんによる投稿です。

アイキャッチ画像のクレジットはPhoto by Jackson David on Unsplash

データに基づいてポートレート再照明を実装
次に、照明方向とポートレートを指定すると、指向性光源からの照明を元の写真に追加する新しい機械学習モデルをトレーニングしました。

モデルのトレーニングには、何百万ものポートレートのペアが必要でした。余分な光がある場合とない場合の両方を用意する必要があったのです。様々な照明条件でほぼ完璧に撮影されたポートレートが必要になるため、このようなデータセットを通常の環境で撮影することは不可能でした。

代わりに、Light Stage計算照明システムを使用して70人の異なる人々を撮影することによってトレーニングデータを生成しました。この球形の照明装置には、異なる視点を持つ64台のカメラと331個の個別にプログラム可能なLED光源が含まれています。反射フィールドを生成する各ライトによって一度に1ライトずつ(OLAT:one-light-at-a-time)個別に写真、または球形環境の各セクションによって照らされた外観を撮影しました。

反射率フィールドは、対象の肌、髪の毛、衣服の独特の色と光を反射する特性、つまり各素材がどのように光沢があるか、またはくすんでいるかをエンコードします。光の重ね合わせの原理により、これらのOLAT画像を線形に加算して、被写体のリアルな画像をレンダリングできます。これにより、サブサーフェス・スキャタリングのような複雑な光転送現象が正しく表現されているイメージベースの照明環境で被写体が表示できるようになります。

Light Stageを使用して、顔の形、性別、肌の色、髪型、衣類/アクセサリーが異なる多くの個人を撮影しました。一人一人について、指向性ライトを追加した場合と追加しない場合の両方で、さまざまな照明環境で合成ポートレートを生成し、数百万ペアの画像をレンダリングしました。 このデータセットは、さまざまな照明環境や個人に対応可能なようにモデルのパフォーマンスを促進しました。

360°の計算照明装置であるGoogle Light Stageで、一度に1つずつ照明して個人を撮影します。


左:個人を撮影した反射率フィールドからの画像の例。Light Stageで一度に1つずつ照らされた状態での外観
右:画像を追加して新規照明環境で被写体がどのように映るかを作り出す事ができます。

商画像を使用して再照明の詳細保持を学習
出力再照明画像を直接予測しようとするのではなく、低解像度の商画像(quotient image、様々な照明条件に対して不変になるように計算された画像)を出力するように再照明モデルをトレーニングしました。つまり、アップサンプリングして追加光源効果を与えるように出力画像を生成できる画素毎の乗数です。この手法は計算効率が高く、入力から直接転送されて画質を維持する高周波画像の詳細に影響を与えることなく、低周波照明の変更のみを促進します。

顔面形状推定を再照明の教師に
写真家がシーンに追加の光源を追加すると、被写体の顔面形状とその向きによって、顔の各部分がどれだけ明るく見えるかが決まります。比較的光沢のない表面で反射する光源の光学的動作をモデル化するために、最初に機械学習モデルをトレーニングして、入力写真を指定して表面法線を推定し、次にランベルトの法則を適用して、目的の照明方向の「光可視性マップ(light visibility map)」を計算しました。この光の可視性マップを商画像予測器への入力として提供し、物理ベースの洞察を使用してモデルをトレーニングするようにしました。


再照明ネットワークのパイプライン
ポートレート写真が入力されると画素毎の表面法線を推定しそれを使用して光の可視性マップを計算します。モデルは、低解像度の商画像を生成するようにトレーニングされており、アップサンプリングして元の画像に乗数として適用すると、撮影風景に合成的に追加された追加の光源を使用して元のポートレートを生成できます。

パイプライン全体を最適化して、モバイルデバイスで操作可能なフレームレートで実行し、モデルの合計サイズを10MB未満にしました。 以下は、PortraitLightの動作例です。


動作中のPortrait Light

Portrait Lightを最大限に活用するためには
PixelカメラでPortrait Lightを試し、Googleフォトで照明の位置と明るさを好みに合わせて変更できます。デュアル露出コントロールを使用している場合は、撮影後にPortrait Lightを適用して、写真の柔軟性を高め、光と影の適切なバランスを見つけることができます。Googleフォトライブラリの既存の画像で、顔が少し露出不足になっている場所があれば、Portrait Lightが被写体を照らして強調することができますので試してみてください。特に、1人の人物がカメラに直接ポーズをとっている画像で役立ちます。Portrait Lightは、機械学習を活用した、モバイルカメラ用の創造的な撮影後照明制御への道のりの第一歩と考えています。

謝辞
Portrait Lightは、Google Research、Google Daydream、Pixel、Google Photosの各チーム間のコラボレーションの結果です。主要な貢献者は以下を含みます。Yun-Ta Tsai, Rohit Pandey, Sean Fanello, Chloe LeGendre, Michael Milne, Ryan Geiss, Sam Hasinoff, Dillon Sharlet, Christoph Rhemann, Peter Denny, Kaiwen Guo, Philip Davidson, Jonathan Taylor, Mingsong Dou, Pavel Pidlypenskyi, Peter Lincoln, Jay Busch, Matt Whalen, Jason Dourgarian, Geoff Harvey, Cynthia Herrera, Sergio Orts Escolano, Paul Debevec, Jonathan Barron, Sofien Bouaziz, Clement Ng, Rachit Gupta, Jesse Evans, Ryan Campbell, Sonya Mollinger, Emily To, Yichang Shih, Jana Ehmann, Wan-Chun Alex Ma, Christina Tong, Tim Smith, Tim Ruddick, Bill Strathearn, Jose Lima, Chia-Kai Liang, David Salesin, Shahram Izadi, Navin Sarma, Nisha Masharani, Zachary Senzer.

3.Portrait Light:機械学習を使ってポートレートモードの照明を強化(2/2)関連リンク

1)ai.googleblog.com
Portrait Light: Enhancing Portrait Lighting with Machine Learning

タイトルとURLをコピーしました