谷歌AI秀神技:大臉畸變一鍵還原,拍照無需搶C位,實時運行毫無PS痕跡_風聞
量子位-量子位官方账号-2019-06-24 14:43
栗子 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
合照的時候,沒有誰喜歡站在最邊上。
因為臉會被鏡頭無情地拉扯,不止變得寬廣,還會有些歪斜:
△ 97°視場角
不過,谷歌剛剛推出了一門法術,可以讓廣角照片裏的人臉,不用再扭曲變形:
左一的妹子,右一的妹子,臉型都顯得更加對稱自然了。
那麼,增加一波難度。
帶上墨鏡,帶上帽子,拉長的臉依然可以復原:

△ 103°視場角
用手擋住半張臉,AI還是沒有被迷惑:

△ 103°視場角
不止是這樣,AI把人臉調正的同時,也不會扭曲了背景。
比如下圖,中間是****DxO Viewpoint的人臉修正,後面的欄杆被擠成了一條弧線;而右邊是谷歌算法,修好了人臉,欄杆依然直挺:
團隊説,整個修復過程都是AI自動完成,並且在移動端也可以運行。
這隻善良又聰穎的AI,登上了頂會SIGGRAPH 2019。
也在Reddit論壇收穫了1.9k的熱度:
有人説,Pixel的廣角前置鏡頭已經用上了這個算法,拍完之後點開照片預覽,發現自己的臉已經收窄了。
現在就來看看,人物和背景,到底是怎樣兼顧的吧。
互補才是完美
谷歌説,從前想要糾正鏡頭畸變,總是需要職業的修圖士。
因為,讓機器自動完成的話,常常是修好了一處扭曲,又製造了另一處新的扭曲。
不過,團隊也正是從這些不完美的算法之間,發現了新世界的大門:
先看透視投影 (Perspective Projection) 。從一個投射中心出發,把一個3D物體投在2D表面上。忠於透視原理,近大遠小。
這種投影一定有失真,比如站在邊上的人,離投射中心比較遠,臉就大了起來。不過,它拉伸的主要是人臉,背景並不容易發生扭曲。
而球極平面投影 (Stereographic Projection) 就不同了。把一個球面投射到平面上,並不忠實反映距離,卻十分忠實地反映角度。就像這張地圖。
這種投影也一定有失真,但對一張照片來説,主要是背景裏的直線會變彎,而人臉不易被拉伸。
如此説來,兩種投影愉快地互補了。
觀察到這個美麗的現實,研究人員當然要把它們的優點,用優雅的方式結合起來。
一句話概括,就是讓透視投影去處理背景,球極平面投影去處理局部 (人臉) 。
當然,要讓兩種原本衝突的投影方式和平共處,並不是一句話的事。具體説來:
**△**97°視場角
輸入的照片如上,已經先用透視投影處理過。
第一步,找出目標區域:人臉,包括頭髮。
這裏,要用人物分割算法,給輸入圖像裏的人類做個Mask;再用人臉檢測器,標出臉部的邊界框。最後,把Mask和邊界框的交集,用綠色標註出來。
第二步,為輸入的 (透視投影) 照片,算出一個球極平面投影。
如果把這個投影可視化,會發現邊角的人臉已經修好,只是背景裏,左邊的窗稜和右邊的牆彎了 (下圖) 。
所以就有了關鍵的下一步:
第三步,用上前兩步的數據,算出一個網格 (Mesh) 。這個網格依然是做球極平面投影,但只要調整人臉區域,背景儘量保持原樣。
為了不影響背景,這裏用到了能量最小化 (Energy Minimization) 方法,來平息兩種投影之間的衝突,促成更加平滑的過渡。
這樣,就有了一個兼顧人臉和背景的、優化過的網格:
第四步,用這個網格來捏那張輸入的照片,得到的就是最終答案:
右下角的人臉自然了,背景裏的直線也還是直線。
團隊説,這個方法可以勝任**70°-120°**的視場角。
並且,幾乎不受場景的限制:
單人自拍可以,多人合照可以。

△ 103°視場角

△ 97°視場角
室內户外都表現穩定;光線明暗也不影響AI的發揮。

△ 114°視場角

△ 104°視場角
除了開頭提到的帽子、墨鏡、手遮臉,這些沒有難倒AI的因素之外,臉朝側面也不會給算法造成困惑。

△ 103°視場角
還要注意的是,團隊是為了移動端的應用,才開發了這隻AI。它的運行速度,足以支持手機上相機App的正常交互:即時修圖,即時分享。
如果説有什麼缺憾,大概就是在捏臉的同時,還不能把身體一起捏好。
而人在角落,身體也可能被拉伸,如果只把臉修到正常的形狀和大小,身體有時候就顯得太大:
即便這樣,AI也已經滿足了廣角人像拍攝的大部分需求。
大家一起自拍的時候,就算拿着手機的那個人是你,也不用再擔心自己的臉被拉寬拉長了。
三個少年
AI的爸爸,三位谷歌少年,全部來自寶島。
一作名叫施易昌 (YiChang Shih) ,本科念台大,碩博都在麻省理工,實習經歷遍佈Adobe、谷歌研究院、微軟研究院等等。
2015年,從閃耀的CSAIL實驗室拿到博士學位,如今已是谷歌的高級軟件工程師 (Senior Software Engineer) ,主攻移動設備上的計算攝影。
二作是賴威昇 (Wei-Sheng Lai) ,本科碩士都在台大,現在是加州大學默塞德分校博四的學生。曾經在Adobe和英偉達實習,不久前剛剛結束在谷歌作為學生研究員的歷程。
三作叫梁家愷 (Chia-Kai Liang) ,本科和博士都在台大。2008年博士畢業,現在是谷歌的高級專家軟件工程師 (Senior Staff Software Engineer) 。
One More Thing
雖然,三位作者裏有兩位都曾經在Adobe實習。
但這支團隊孕育的AI,畫風温柔善解人意。
比起一週前Adobe發佈的“反向PS”利器,那隻能把P過的美照打回原形的AI (如下) ,這廣角人像的修復師AI,大概算得上愛的奉獻了。