合照的時候,沒有誰喜歡站在最邊上。因為臉會被鏡頭無情地拉扯,不止變得寬廣,還會有些歪斜:97°視場角不過,谷歌剛剛推出了一門法術(shù)
合照的時候,沒有誰喜歡站在最邊上。
因為臉會被鏡頭無情地拉扯,不止變得寬廣,還會有些歪斜:
97°視場角
不過,谷歌剛剛推出了一門法術(shù),可以讓廣角照片里的人臉,不用再扭曲變形:
左一的妹子,右一的妹子,臉型都顯得更加對稱自然了。
那么,增加一波難度。
帶上墨鏡,帶上帽子,拉長的臉依然可以復(fù)原:
103°視場角
用手擋住半張臉,AI還是沒有被迷惑:
103°視場角
不止是這樣,AI把人臉調(diào)正的同時,也不會扭曲了背景。
比如下圖,中間是DxO Viewpoint的人臉修正,后面的欄桿被擠成了一條弧線;而右邊是谷歌算法,修好了人臉,欄桿依然直挺:
團隊說,整個修復(fù)過程都是AI自動完成,并且在移動端也可以運行。
這只善良又聰穎的AI,登上了頂會SIGGRAPH 2019。
也在Reddit論壇收獲了1.9k的熱度:
有人說Pixel,的廣角前置鏡頭已經(jīng)用上了這個算法,拍完之后點開照片預(yù)覽,發(fā)現(xiàn)自己的臉已經(jīng)收窄了。
現(xiàn)在就來看看,人物和背景,到底是怎樣兼顧的吧。
互補才是完美
谷歌說,從前想要糾正鏡頭畸變,總是需要職業(yè)的修圖士。
因為,讓機器自動完成的話,常常是修好了一處扭曲,又制造了另一處新的扭曲。
不過,團隊也正是從這些不完美的算法之間,發(fā)現(xiàn)了新世界的大門:
先看透視投影 (Perspective Projection) 。從一個投射中心出發(fā),把一個3D物體投在2D表面上。忠于透視原理,近大遠小。
這種投影一定有失真,比如站在邊上的人,離投射中心比較遠,臉就大了起來。不過,它拉伸的主要是人臉,背景并不容易發(fā)生扭曲。
而球極平面投影(Stereographic Projection) 就不同了。把一個球面投射到平面上,并不忠實反映距離,卻十分忠實地反映角度。就像這張地圖。
這種投影也一定有失真,但對一張照片來說,主要是背景里的直線會變彎,而人臉不易被拉伸。
如此說來,兩種投影愉快地互補了。
觀察到這個美麗的現(xiàn)實,研究人員當(dāng)然要把它們的優(yōu)點,用優(yōu)雅的方式結(jié)合起來。
一句話概括,就是讓透視投影去處理背景,球極平面投影去處理局部 (人臉) 。
當(dāng)然,要讓兩種原本沖突的投影方式和平共處,并不是一句話的事。具體說來:
97°視場角
輸入的照片如上,已經(jīng)先用透視投影處理過。
第一步,找出目標(biāo)區(qū)域:人臉,包括頭發(fā)。
這里,要用人物分割算法,給輸入圖像里的人類做個Mask;再用人臉檢測器,標(biāo)出臉部的邊界框。最后,把Mask和邊界框的交集,用綠色標(biāo)注出來。
第二步,為輸入的 (透視投影) 照片,算出一個球極平面投影。
如果把這個投影可視化,會發(fā)現(xiàn)邊角的人臉已經(jīng)修好,只是背景里,左邊的窗棱和右邊的墻彎了(下圖) 。
所以就有了關(guān)鍵的下一步:
第三步,用上前兩步的數(shù)據(jù),算出一個網(wǎng)格 (Mesh) 。這個網(wǎng)格依然是做球極平面投影,但只要調(diào)整人臉區(qū)域,背景盡量保持原樣。
為了不影響背景,這里用到了能量最小化(Energy Minimization) 方法,來平息兩種投影之間的沖突,促成更加平滑的過渡。
這樣,就有了一個兼顧人臉和背景的、優(yōu)化過的網(wǎng)格:
第四步,用這個網(wǎng)格來捏那張輸入的照片,得到的就是最終答案:
右下角的人臉自然了,背景里的直線也還是直線。
團隊說,這個方法可以勝任70°-120°的視場角。
并且,幾乎不受場景的限制:
單人自拍可以,多人合照可以。
室內(nèi)戶外都表現(xiàn)穩(wěn)定;光線明暗也不影響AI的發(fā)揮。
除了開頭提到的帽子、墨鏡、手遮臉,這些沒有難倒AI的因素之外,臉朝側(cè)面也不會給算法造成困惑。
還要注意的是,團隊是為了移動端的應(yīng)用,才開發(fā)了這只AI。它的運行速度,足以支持手機上相機App的正常交互:即時修圖,即時分享。
如果說有什么缺憾,大概就是在捏臉的同時,還不能把身體一起捏好。
而人在角落,身體也可能被拉伸,如果只把臉修到正常的形狀和大小,身體有時候就顯得太大:
即便這樣,AI也已經(jīng)滿足了廣角人像拍攝的大部分需求。
大家一起自拍的時候,就算拿著手機的那個人是你,也不用再擔(dān)心自己的臉被拉寬拉長了。
三個少年
AI的爸爸,三位谷歌少年,全部來自寶島。
一作名叫施易昌(YiChang Shih) ,本科念臺大,碩博都在麻省理工,實習(xí)經(jīng)歷遍布Adobe、谷歌研究院、微軟研究院等等。
2015年,從閃耀的CSAIL實驗室拿到博士學(xué)位,如今已是谷歌的高級軟件工程師 (Senior Software Engineer) ,主攻移動設(shè)備上的計算攝影。
二作是賴威昇(Wei-Sheng Lai) ,本科碩士都在臺大,現(xiàn)在是加州大學(xué)默塞德分校博四的學(xué)生。曾經(jīng)在Adobe和英偉達實習(xí),不久前剛剛結(jié)束在谷歌作為學(xué)生研究員的歷程。
三作叫梁家愷(Chia-Kai Liang) ,本科和博士都在臺大。2008年博士畢業(yè),現(xiàn)在是谷歌的高級專家軟件工程師 (Senior Staff Software Engineer) 。
One More Thing
雖然,三位作者里有兩位都曾經(jīng)在Adobe實習(xí)。
但這支團隊孕育的AI,畫風(fēng)溫柔善解人意。
比起一周前Adobe發(fā)布的“反向PS”利器,那只能把P過的美照打回原形的AI (如下) ,這廣角人像的修復(fù)師AI,大概算得上愛的奉獻了。(文/栗子)