尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
文 / Li Zhang 和 Wei (Alex) Hong ,軟件工程師
從孩子邁出的第一步到不自禁的欣喜雀躍,生活中充滿了有意義的時刻,每個人都希望可以用圖片保存這些美好時刻。然而,由於這些時刻往往無法預知,錯過完美抓拍成了智慧型手機相機用戶每天都要面對的沮喪問題。憑借開發 Google Clips 的經驗,我們想知道能否為 Pixel 3 錄影頭開發一些新技術,讓每位用戶每次都能捕捉到完美的抓拍畫面。
最佳照片是最近隨 Pixel 3 推出的一項新功能,可以在您按下快門按鈕時自動幫您精準捕捉珍貴瞬間。最佳照片功能採用計算機視覺技術,可以實時保存並分析按下設備快門鍵前後的圖像幀,向您推薦多張高質量 HDR+ 備選照片。
Pixel 3 的最佳照片示例。在左側,推薦的是更好的微笑照片。在右側,推薦的是更好的跳躍照片。所推薦的圖像都是高質量 HDR+ 照片
捕捉多個時刻
最佳照片功能會在用戶打開 Pixel 3 相機應用時默認啟用,通過分析按下快門前後拍攝的圖像,幫助用戶捕捉完美時刻。該功能會實時分析每個圖像中的一些定性特徵(例如,拍攝對象是否在微笑),而且全部工作都在手機上完成,可以保護隱私並最大限度縮短延遲時間。每個圖像還會關聯其他信號,例如圖像的光流、曝光時間和陀螺儀傳感器數據,以便形成用於為幀質量評分的輸入特徵。
當您按下快門按鈕時,最佳照片功能可以在按下快門前後的 1.5 秒中捕捉高達 90 張圖像,然後選出最多兩張備選照片,並將其保存為高分辨率圖像,即供您審看的原始快門幀和高分辨率備選圖像(也可以根據需要查看其他分辨率較低的幀)。該功能會先處理並保存快門幀,然後保存最佳備選照片。Pixel 3 的 Google Visual Core 用於在非常短的額外延遲時間內將這些質量最好的備選照片處理成 HDR+ 圖像,並將它們嵌入到 Motion Photo 文件中。
最佳照片捕捉的頂層圖
由於最佳照片功能在相機中作為後台進程運行,它的耗電量必須要非常低。為此,最佳照片使用了基於 MobileNet 的硬件加速單鏡頭探測器 (SSD)。這種優化後模型的執行也會受到電量和發熱限制的束縛。
識別最佳時刻
在考慮如何才能讓用戶使用自己的相機捕捉最佳時刻時,我們重點關注了三個關鍵屬性:
1) 功能屬性(例如光照);
2) 客觀屬性(拍攝對象的眼睛是否睜開?是否在微笑?);
3) 主觀屬性(例如情感表達)。
我們設計了一個計算機視覺模型,用於識別這些屬性,同時保持在低延遲時間的設備內置模式下運行。
在開發過程中,我們從普通 MobileNet 模型開始,針對最佳照片功能進行優化,最終開發出了一個在我們的準確度、延遲時間和電量權衡約束下運行的自定義架構。我們的神經網路設計可以探測到早期層級中的低級視覺屬性(例如拍攝對象是否模糊),然後為更複雜的客觀屬性(例如拍攝對象的眼睛是否睜開)和主觀屬性(例如是否存在開心或驚訝的情感表達)提供額外的計算和參數。在訓練和推理期間,我們對採用了量化方法的大量不同種類人臉圖像使用了知識蒸餾,以訓練我們的模型。
然後,我們採用分層廣義加性模型 (GAM) 為臉部提供質量評分,並將它們合併,得出 「幀人臉」 加權平均評分。此模型讓我們能夠輕鬆地解釋並確定成功或失敗的確切原因,做到快速迭代,從而提升屬性模型的質量和性能。自由參數的數量大約是幾十個,因此我們可以使用 Google 黑盒優化器 Vizier 來優化這些參數,以及影響選擇質量的任何其他參數。
幀評分模型
雖然最佳照片功能會針對臉部分析進行優化,但在某些美好瞬間,人臉並不是主要的拍攝對象。為了處理這些用例,我們在整體幀質量評分中添加了下列額外評分:
- 對象動作顯著性評分 — 在 ISP 中評估當前幀和前一幀之間的低分辨率光流,以確定場景中是否存在明顯的對象動作。
- 全局動作模糊評分 — 根據相機動作和曝光時間評估得出。相機動作可以用陀螺儀和 OIS(光學穩像儀)的傳感器數據計算得出。
- 「3A 評分」 — 同時考慮自動曝光、自動聚焦和自動白平衡的狀態。
所有單項評分都將用於訓練一個預測整體質量評分的模型(整體評分與人類評分者的幀偏好相匹配),以便將端到端產品質量最大化。
端到端的質量和公平性
上述部分大多數都是分別評估準確度,但最佳照片功能提出的要求獨具挑戰性,因為它在 Pixel 相機中實時運行。此外,我們需要將所有這些信號都組合在一個系統中,並得到有利結果。這意味著我們需要根據用戶認為的 「最佳照片」 標準來衡量我們的預測。
為了驗證這一點,我們收集了幾百名志願者的數據以及他們眼中的最佳幀(從多達 90 幀的畫面中選擇!)。這個捐贈的數據集涵蓋許多典型用例,例如肖像、自拍照、動作、風景等。
最佳照片功能提供的很多時長 3 秒的剪輯中不止有一個好鏡頭,因此我們有必要制定質量指標來處理這一問題。我們採用了一些傳統查準率和查全率的修改版本、一些經典排名指標(例如平均倒數排名),以及專為我們的最佳照片目標任務設計的一些其他指標。除了這些指標,我們還研究了在開發過程中發現的圖像質量問題的成因,從而提升了在避免模糊、更好地處理多個人臉等方面的能力。這樣一來,我們就能夠讓模型選出人們可能會給出很高評分的一組選擇。
重要的是,我們測試了最佳照片系統的公平性,以確保我們的產品能夠為非常廣泛的用戶提供一致的體驗。我們評估了最佳照片功能使用的每個信號在多個不同用戶子群(基於性別、年齡、種族等條件)中的準確度,並測試了每個信號在這些子群間的準確度。
結論
最佳照片功能只是 Google 利用優化後的硬件和先進的機器學習技術來提供實用工具和服務的一個示例。希望您會覺得這個功能有用,我們正致力於進一步完善手機攝影功能!
致謝
本文由眾多 Google 工程師、研究員和其他員工共同完成,包括:Ari Gilder、Aseem Agarwala、Brendan Jou、David Karam、Eric Penner、Farooq Ahmad、Henri Astre、Hillary Strickland、Marius Renn、Matt Bridges、Maxwell Collins、Navid Shiee、Ryan Gordon、Sarah Clinckemaillie、Shu Zhang、Vivek Kesarwani、Xuhui Jia、Yukun Zhu、Yuzo Watanabe 和 Chris Breithaupt。