Facebook分享:如何利用AI技術(shù)將2D圖片轉(zhuǎn)換成3D圖片
Facebook于2018年推出了3D Photos功能,并將其作為一種與朋友和家人分享圖片的全新沉浸式格式。但這項(xiàng)功能依賴于高端智能手機(jī)的雙頭攝像頭“人像模式”。所以,只有一個后置攝像頭的典型移動設(shè)備無法予以使用。為了將這種視覺格式帶給更多用戶,F(xiàn)acebook采用了最先進(jìn)的機(jī)器學(xué)習(xí)技術(shù),允許幾乎任何的標(biāo)準(zhǔn)2D圖片生成3D圖片。
團(tuán)隊(duì)指出,無論是使用標(biāo)準(zhǔn)單攝像頭的Android或iOS設(shè)備所拍攝的照片,還是上傳到智能手機(jī)或筆記本電腦的數(shù)十年前的老照片,這一系統(tǒng)可以推斷任何圖片的3D結(jié)構(gòu)。
利用這項(xiàng)先進(jìn)的技術(shù),數(shù)百萬搭載單攝像頭的智能手機(jī)或平板電腦將能夠首次輕松地利用3D照片技術(shù)。轉(zhuǎn)換為3D同時可以令你以全新的方式體驗(yàn)數(shù)十年前的家庭照片和其他珍貴圖像。擁有先進(jìn)雙攝像頭設(shè)備的用戶同樣可以從中受益,因?yàn)槟悻F(xiàn)在可以利用單個前置攝像頭進(jìn)行3D自拍。現(xiàn)在,所有iPhone 7或更高版本,或最新的中高端Android設(shè)備用戶都可以在Facebook應(yīng)用程序中進(jìn)行嘗試。
這個動畫說明了系統(tǒng)是如何為創(chuàng)建3D圖像而估算2D圖片不同區(qū)域的深度。
構(gòu)建這種增強(qiáng)的3D照片技術(shù)需要克服各種技術(shù)挑戰(zhàn),如訓(xùn)練可正確推斷出多個主體的3D位置的模型,以及優(yōu)化系統(tǒng),令其能夠支持常規(guī)的移動處理器快速完成處理。為了克服相關(guān)挑戰(zhàn),F(xiàn)acebook AI團(tuán)隊(duì)通過數(shù)百萬對公共3D圖像及其隨附的深度圖來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并利用FBNet和ChamNet等先前開發(fā)的各種移動優(yōu)化技術(shù)。
現(xiàn)在這項(xiàng)功能已經(jīng)向所有Facebook用戶開放,而團(tuán)隊(duì)日前通過博文介紹了相關(guān)的開發(fā)細(xì)節(jié)。
原圖是用單透鏡相機(jī)拍攝,不包含任何深度圖數(shù)據(jù)。Facebook的系統(tǒng)將其轉(zhuǎn)換下圖所示的3D圖像。
1. 為移動設(shè)備帶來高效的性能
給定標(biāo)準(zhǔn)RGB圖像,3D Photos CNN可以為每個像素估計(jì)距攝像頭的距離。團(tuán)隊(duì)通過以下四種方式來實(shí)現(xiàn)所述目標(biāo):
使用一組可參數(shù)化,針對移動設(shè)備優(yōu)化的神經(jīng)構(gòu)建模塊所構(gòu)建的網(wǎng)絡(luò)架構(gòu)。
自動化架構(gòu)搜索,為其尋找有效配置,從而令系統(tǒng)能夠支持任何設(shè)備在少于一秒內(nèi)執(zhí)行任務(wù)。
量化感知訓(xùn)練,從而在移動設(shè)備利用高性能的INT8量化,同時最大程度地減少量化過程中潛在的質(zhì)量下降。
來自公共3D照片的大量訓(xùn)練數(shù)據(jù)。
2. 神經(jīng)構(gòu)建模塊
團(tuán)隊(duì)開發(fā)的架構(gòu)使用了受FBNet啟發(fā)的構(gòu)建模塊。FBNet是用于為移動設(shè)備和其他資源受限設(shè)備優(yōu)化ConvNet架構(gòu)的框架。構(gòu)造模塊由點(diǎn)式卷積,可選的上采樣,K x K深度式卷積,以及附加的點(diǎn)式卷積組成。研究人員實(shí)現(xiàn)了一個U-net樣式的架構(gòu),并修改為沿著skip connection放置FBNet構(gòu)建模塊。U-net編碼器和解碼器包含五個階段,每個階段對應(yīng)于不同的空間分辨率。
網(wǎng)絡(luò)架構(gòu)概述:所述的網(wǎng)絡(luò)架構(gòu)是一個U-net,并且包含沿skip connection放置的額外宏級別構(gòu)建模塊。
3. 自動化架構(gòu)搜索
為了找到有效的架構(gòu)配置,團(tuán)隊(duì)使用了由Facebook AI開發(fā)的算法ChamNet來自動化搜索過程。ChamNet算法迭代地從搜索空間中采樣點(diǎn)并用以訓(xùn)練精度預(yù)測器。所述精度預(yù)測器用于加速genetic search,從而定位一個在滿足指定資源限制的同時最大化預(yù)測準(zhǔn)確性的模型。在這種設(shè)置下,研究成員使用了一個會改變通道擴(kuò)展因子和每個模塊輸出通道數(shù)的搜索空間,從而產(chǎn)生3.4×1022的可能架構(gòu)。然后,他們使用800個Tesla V100 GPU在大約三天內(nèi)完成搜索,設(shè)置及調(diào)整模型架構(gòu)的FLOP約束以實(shí)現(xiàn)不同的運(yùn)算點(diǎn)。
4. 量化感知訓(xùn)練
默認(rèn)情況下,模型使用單精度浮點(diǎn)權(quán)重和激活進(jìn)行訓(xùn)練,但團(tuán)隊(duì)發(fā)現(xiàn)了將權(quán)重和激活量化為8位的顯著優(yōu)勢。特別地,int8權(quán)重僅需要float32權(quán)重所需存儲量的四分之一,從而減少了首次使用時必須傳輸?shù)皆O(shè)備的字節(jié)數(shù)。
圖像一開始都是常規(guī)2D圖像,并通過Facebook AI的深度估計(jì)神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為3D。
與基于float32的運(yùn)算符相比,基于Int8的運(yùn)算符同時具有更高的吞吐量,這要?dú)w功于QNNPACK等經(jīng)過精細(xì)調(diào)整的庫(已集成到PyTorch中)。團(tuán)隊(duì)使用量化意識訓(xùn)練(Quantization-aware training;QAT)來避免由于量化而導(dǎo)致的質(zhì)量下降。QAT(現(xiàn)已作為PyTorch的一部分)在訓(xùn)練過程中模擬量化并支持反向傳播,從而消除了訓(xùn)練和實(shí)際性能之間的差距。
這個神經(jīng)網(wǎng)絡(luò)可處理多種內(nèi)容,包括復(fù)雜場景的繪畫和圖像。
5. 尋找創(chuàng)建3D體驗(yàn)的新方法
除了完善和改進(jìn)深度估算算法外,團(tuán)隊(duì)同時致力于為移動設(shè)備拍攝的視頻提供高質(zhì)量的深度估算。視頻帶來了一個值得關(guān)注的挑戰(zhàn),因?yàn)槊總€幀的深度必須與下一幀的深度一致。但這同時是提高性能的機(jī)會,因?yàn)閷ν粚ο蟮亩啻斡^察可為高精度的深度估計(jì)提供額外的信號。視頻長度深度估計(jì)將為用戶帶來各種創(chuàng)新的內(nèi)容創(chuàng)建工具。隨著團(tuán)隊(duì)繼續(xù)改善神經(jīng)網(wǎng)絡(luò)的性能,他們將探索在諸如增強(qiáng)現(xiàn)實(shí)之類的實(shí)時應(yīng)用中利用深度估計(jì),表面法線估計(jì)和空間推理。
Facebook指出:“除了這些潛在的新體驗(yàn)之外,這項(xiàng)研究還將幫助我們更全面地理解2D圖像的內(nèi)容。更好地理解3D場景同時可以幫助機(jī)器人導(dǎo)航并與現(xiàn)實(shí)世界交互。我們希望通過共享有關(guān)3D Photos系統(tǒng)的詳細(xì)信息,我們可以幫助AI社區(qū)在這些領(lǐng)域取得進(jìn)展,并創(chuàng)造利用先進(jìn)3D理解的新體驗(yàn)。”
原文來自:https://yivian.com/news/72515.html