看機器學習如何駕馭光影:一鍵爲照片增光添彩的“人像光效”

文 / Yun-Ta Tsai 和 Rohit Pandey,Google Research 軟件工程師

職業的人像攝影師能夠通過專用設備(例如外置閃光燈與反光板)和專業知識,捕捉恰到好處的光照效果,從而拍攝出令人贊不決口的照片。爲了讓用戶更好地排出專業的人像外觀,我們最近發佈了人像光效 (Portrait Light),這是專爲 Pixel 相機和 Google 相冊應用推出的一項新的攝影后期功能,可爲人像添加模擬的定向光源,在方向與強度兩方面補充原始照片的光效。

使用和不使用人像光效的圖片示例:注意人像光效如何勾勒出臉部輪廓,增加維度細節、立體感和視覺效果

  • 人像光效
    https://blog.google/products/photos/new-helpful-editor/

在 Pixel 4、Pixel 4a、Pixel 4a (5G) 和 Pixel 5 上的 Pixel 相機中,人像光效會自動對默認模式下的圖片和包含人的夜景照片(無論只有一人還是一小羣人時)應用攝影后期功能。在人像模式照片中,人像光效配合已有的淺景深特效,提供更豐富的光影,可帶來如在攝影棚一般的效果。由於對光影的喜好因人而異,因此Pixel 用戶在人像模式下可根據自己的喜好,在 Google 相冊中手動重新定位和調整所應用光線的亮度。對於在 Pixel 2 或後續型號上運行 Google 相冊的用戶,這種補光功能也可用於許多先前拍攝的人像照片。

‍Pixel 用戶可以在拍攝後根據自己的喜好在 Google 照片中調整人像的光效

  • 人像模式
    https://ai.googleblog.com/2017/10/portrait-mode-on-pixel-2-and-pixel-2-xl.html

今天,我們來介紹一下人像光效背後的技術。

受人像攝影師使用的外置光源的啓發,人像光效構建了一個在場景中可被重新定位的光源模型,並根據初始光影方向與強度自動進行對照片光影的補充。我們利用全新的機器學習模型來實現這一點,每項模型都使用在 Light Stage 計算照明系統中捕獲的照片數據集進行訓練。這些模型支持以下兩種新算法:

  1. 自動定向光補 (Automatic directional light placement):對於給定的人像,該算法將合成的定向光放置於場景中,與攝影師在現實世界中補充外置光源的方式一致。

  2. 拍攝後合成補光 (Synthetic post-capture relighting):對於給定的照明方向和人像,以看起來真實且自然的方式添加合成光。

  • Light Stage
    https://augmentedperception.github.io/therelightables/

這些創新使人像光效能夠隨時爲移動設備上的每個人像增加吸引人的光效。

自動光源補充

攝影師通常依靠感知線索決定如何使用外置光源增強環境光照。他們評估落在臉上的光照強度和方向,並調整拍攝對象的頭部姿勢以補充光線。爲了引導人像光效自動放置光源,我們開發了這兩種感知信號的等效計算。

首先,我們訓練了一種全新的機器學習模型,根據輸入的人像估算場景的高動態範圍全向光照輪廓。這種新的光照估算模型將人臉視爲光探頭,推斷所有方向的場景中所有光源的方向、相對強度和顏色。我們還使用 MediaPipe Face Mesh 估算人像拍攝對象的頭部姿勢。

根據輸入人像估算高動態範圍全向光照輪廓:每個圖片右側的三個球體,即漫反射(頂部)、啞光銀(中間)和鏡面(底部)使用估算的照明進行渲染,每個球體都反映環境照明的顏色、強度和方向  

通過這些線索,我們可以確定合成光照的源方向。在攝影棚人像攝影中,仰視場景時,主外置光源或主光位於視線上方約 30° 處,與照相機軸偏離 30° 至 60°。我們遵循這個經典人像外觀準則,增強場景中任何預先存在的光照方向,同時力求達到平衡、巧妙的主光與補光光照比(約 2:1)。

由數據驅動的人像補光

根據所需的光照方向和人像,我們接下來訓練了一個新的機器學習模型,以便將定向光源的照明添加到原始照片中。訓練模型需要提供數百萬對帶有和不帶額外光線的人像。在正常情況下拍攝此類數據集將是不可能的,因爲它需要近乎完美地匹配在不同光照條件下拍攝的人像。

取而代之的是,我們通過使用 Light Stage 計算照明系統拍攝 70 個不同的人來生成訓練數據。這種球形照明裝置包括 64 個視角不同的照相機和 331 個可單獨編程的 LED 光源。我們拍攝了每種光線照射下的每個個體(one-light-at-a-time,OLAT),這將生成其反射場或球形環境的離散部分所照亮的外觀。反射場編碼拍攝對象的皮膚、頭髮和衣服的獨特顏色和反光屬性,即每種材料的光澤或暗淡程度。由於光的疊加原理,這些 OLAT 圖片可以線性疊加在一起,以渲染出逼真的拍攝對象圖片,就像被攝者出現在任何基於圖片的照明環境中一樣,並正確地表示像次表面散射這樣的複雜光傳輸現象。

我們使用 Light Stage 拍攝了不同臉型、性別、膚色、髮型和着裝/配飾的許多人。對於每個人,我們在不同的各種光照環境中生成合成人像,包括添加和不添加定向光的圖片,從而渲染出數百萬對圖片。此數據集提升了模型在不同光照環境下的性能。

使用 360° 計算照明裝置 Google Light Stage 一次點亮一盞燈,對個體進行拍照

左圖:來自個人拍攝的反射場的示例圖片,在 Light Stage 中的外觀爲一次點亮一盞燈的照明下的外觀;右圖:這些圖片可以疊加在一起,在任何新穎的光照環境中形成拍攝對象的外觀

通過商圖片學習保留細節的補光

我們不是嘗試直接預測輸出補光圖片,而是訓練補光模型以輸出低分辨率商圖片 (Quotient Image),即每像素乘數,在上採樣時可應用於原始輸入圖片,在添加額外光源的情況下生成所需的輸出圖片。此技術計算效率高,並且只促進低頻光照變化,而不影響高頻圖片細節,高頻圖片細節直接從輸入端傳輸以保持圖片質量。

通過幾何估算監督補光

當攝影師在場景中添加額外的光源時,光源相對於拍攝對象的面部幾何形狀的方向將決定面部每個部分的亮度。爲了對光源從相對無光表面反射的光學行爲建模,我們首先訓練一個機器學習模型,以根據輸入的照片估算表面法線,然後應用蘭伯特定律計算所需照明方向的“光可見性圖”。我們將這個光可見性圖作爲商圖片預測器的輸入,以確保使用基於物理學的洞見對模型進行訓練。

我們的補光網絡流水線。根據輸入人像,我們估算每個像素的表面法線,然後將其用於計算光可見性圖。對模型進行訓練以生成低分辨率商圖片,在上採樣並作爲乘數應用於原始圖片時,會產生在場景中綜合添加額外光源的原始人像

我們優化了整個流水線,使其在移動設備上以交互式幀速率運行,並且模型的總大小不到 10 MB。以下是幾個人像光效的實際運行示例。

人像光效演示效果

充分利用人像光效

您可以在 Pixel 相機中嘗試使用人像光效,然後根據自己的喜好在 Google 照片中調整光的位置和亮度。對於使用雙重曝光控制的用戶,可以在拍攝後應用人像光效,以獲得更大的創作靈活性,在光影之間找到適當的平衡。在 Google 照片庫的現有圖片上,針對面部曝光不足之處嘗試使用人像光效,讓您的拍攝對象光彩照人。它特別適合處理單人直面相機擺姿勢的圖片。

我們正在依託機器學習開啓移動相機的創意攝影后期光照控制之旅,而人像光效是這一旅程的第一步。

致謝

人像光效是 Google Research、Google Daydream、Pixel 和 Google 照片團隊合作的結晶。主要貢獻者包括: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。

更多 AI 相關閱讀:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章