無需任何標(biāo)記數(shù)據(jù),幾張照片就能還原出3D物體結(jié)構(gòu),自監(jiān)督學(xué)習(xí)還能這樣用
設(shè)計師朋友的3D作業(yè)有著落了
蕭簫 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
只給你幾張物體的照片,你能準(zhǔn)確還原出它在各種刁鉆視角下的模樣嗎?
現(xiàn)在,AI可能比你還原得還要準(zhǔn)確。
只給幾個3D球的正臉照片:
AI立刻就能將不同視角的球形照片還原出來,大小顏色都接近真實的照片。
稍微復(fù)雜一點的結(jié)構(gòu),如這堆椅子:
AI在經(jīng)過思考后,也能立即給出椅子在另一視角下的照片,結(jié)構(gòu)大小與真實場景相比,幾乎沒有跑偏。
這還是在完全沒有給出物體深度、邊界框的情況下,AI模型純粹靠自己預(yù)測出來的3D效果。
那么,這樣的模型到底是怎么做出來的呢?
給模型安排一個“批評家”
這是一個由CNN和MLP(多層感知器)組成的模型,其目的在于通過一組2D圖片(不帶任何標(biāo)簽),從中還原出物體的3D關(guān)系來。
相比于單個3D物體,這個模型能夠在整個場景上進(jìn)行3D訓(xùn)練,并將它還原出來。
例如,根據(jù)下圖的幾張兔子照片,還原出3D兔子模型在俯視角度下拍攝的照片。
但從2D照片中還原出物體的3D關(guān)系,并不如看起來這么簡單。
在還原過程中,模型不僅要準(zhǔn)確推斷每個3D物體的位置、深度、大小,還要能還原出它的光照顏色。
通常訓(xùn)練神經(jīng)網(wǎng)絡(luò)的第一想法是,將這幾個變量直接設(shè)為參數(shù),并采用梯度下降算法對模型進(jìn)行收斂。
但這樣效果會很差,因為模型在想辦法“偷懶”。
將損失降低到一定程度后,它就不再尋找更好的解決方案。
例如,下圖真實目標(biāo)(藍(lán)色)與當(dāng)前目標(biāo)(紅色)有差異,然而在進(jìn)行梯度下降時,嘗試移動一定距離,誤差沒有降低;但在改變大小時,誤差卻降低了,就對網(wǎng)絡(luò)模型形成了誤導(dǎo)。
對此,研究者利用強化學(xué)習(xí)中的好奇心驅(qū)動,額外給模型加了一個“批評家”(critic)網(wǎng)絡(luò),它會利用數(shù)據(jù)分布中隨機提取的有效樣本,來褒貶模型的結(jié)果。
這樣,模型作為“表演者”(actor),為了獲得更好的評價,就會再試圖去尋找更好的方法,以生成更優(yōu)的結(jié)果。
如下圖所示,左邊是沒有利用好奇心驅(qū)動的模型,右邊則是加入了好奇心驅(qū)動。在“批評家”的驅(qū)使下,模型逐漸推導(dǎo)出了正確的參數(shù)。
這一“批評家”網(wǎng)絡(luò),迫使模型在優(yōu)化過程中,不能只依賴于同一種(錯誤的)答案,而是必須在已有數(shù)據(jù)下尋找更好的解決方案。
事實證明,加了“批評家”網(wǎng)絡(luò)的模型,不僅收斂下降到了一個新的高度(如上圖藍(lán)色線條),而且評論家最終給出的評分也不錯。
那么,相比于其他3D關(guān)系生成模型,這一結(jié)構(gòu)的優(yōu)勢在哪里呢?
無需任何外部標(biāo)記,2D還原3D關(guān)系
作者與其他模型進(jìn)行了詳細(xì)對比,這些模型涵蓋不同的3D還原方法,包括深度圖、CNN、立體像素、網(wǎng)格等。
在監(jiān)督學(xué)習(xí)所用到的參數(shù)上,可用的包括深度、關(guān)鍵點、邊界框、多視圖4類;而在測試部分,則包括2D轉(zhuǎn)3D、語義和場景3種方式。
可以看見,絕大多數(shù)網(wǎng)絡(luò)都沒辦法同時實現(xiàn)2D轉(zhuǎn)3D、在還原場景的同時還能包含清晰的語義。
即使有兩個網(wǎng)絡(luò)也實現(xiàn)了3種方法,他們也采用了深度和邊界框兩種參數(shù)進(jìn)行監(jiān)督,而非完全通過自監(jiān)督進(jìn)行模型學(xué)習(xí)。
這一方法,讓模型在不同的數(shù)據(jù)集上都取得了不錯的效果。
無論是椅子、球體數(shù)據(jù)集,還是字母、光影數(shù)據(jù)集上,模型訓(xùn)練后生成的各視角照片都挺能打。
甚至自監(jiān)督的方式,還比加入5%監(jiān)督(Super5)和10%監(jiān)督(Super10)的效果都要更好,誤差基本更低。
而在真實場景上,模型也能還原出照片中的3D物體形狀。
例如給出一只兔子的照片,在進(jìn)行自監(jiān)督訓(xùn)練后,相比于真實照片,模型基本還原出了兔子的形狀和顏色。
不僅單個物體,場景中的多個3D物體也都能同時被還原出來。
當(dāng)然,這也離不開“好奇心驅(qū)動”這種方法的幫助。
事實上,僅僅是增加“好奇心驅(qū)動”這一部分,就能降低不少參數(shù)錯誤率,原模型(NonCur)與加入好奇心驅(qū)動的模型(Our)在不同數(shù)據(jù)集上相比,錯誤率平均要高出10%以上。
不需要任何外部標(biāo)記,這一模型利用幾張照片,就能生成3D關(guān)系、還原場景。
作者介紹
3位作者都來自倫敦大學(xué)學(xué)院。
一作David Griffiths,目前在UCL讀博,研究著眼于開發(fā)深度學(xué)習(xí)模型以了解3D場景,興趣方向是計算機視覺、機器學(xué)習(xí)和攝影測量,以及這幾個學(xué)科的交叉點。
Jan Boehm,UCL副教授,主要研究方向是攝影測量、圖像理解和機器人技術(shù)。
Tobias Ritschel,UCL計算機圖形學(xué)教授,研究方向主要是圖像感知、非物理圖形學(xué)、數(shù)據(jù)驅(qū)動圖形學(xué),以及交互式全局光照明算法。
有了這篇論文,設(shè)計師出門拍照的話,還能順便完成3D作業(yè)?
論文地址:
https://arxiv.org/abs/2012.01230