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