【新智元導(dǎo)讀】Google AI發(fā)布了TensorFlow 3D,將3D深度學(xué)習(xí)能力引入TensorFlow,加入3D稀疏卷積網(wǎng)絡(luò),在Waymo Open數(shù)據(jù)集上的實(shí)驗(yàn)表明,這種實(shí)現(xiàn)比預(yù)先設(shè)計(jì)好的TensorFlow操作提速「20倍」。
隨著自動(dòng)駕駛汽車與機(jī)器人的深入發(fā)展,激光雷達(dá)、深度傳感攝像機(jī)、雷達(dá)等3D傳感器已經(jīng)成為了獲取道路數(shù)據(jù)的必要設(shè)備。
而利用這些傳感器的機(jī)器學(xué)習(xí)系統(tǒng)則顯得尤為重要,因?yàn)樗梢詭椭布诂F(xiàn)實(shí)世界中進(jìn)行導(dǎo)航等操作。
近期,包括目標(biāo)檢測(cè)、透明目標(biāo)檢測(cè)等模型的3D場(chǎng)景理解方面取得了很大進(jìn)展,但是由于3D數(shù)據(jù)可用的工具和資源有限,這個(gè)領(lǐng)域仍面臨挑戰(zhàn)。
為了進(jìn)一步提高對(duì)3D場(chǎng)景的建模,簡(jiǎn)化研究人員的工作,Google AI發(fā)布了TensorFlow 3D (TF 3D) ,一個(gè)高度模塊化、高效的庫(kù),旨在將3D深度學(xué)習(xí)能力引入TensorFlow.
TF 3D提供了一系列當(dāng)下常用的操作、損失函數(shù)、數(shù)據(jù)處理工具、模型和度量,使更多的研究團(tuán)隊(duì)能夠開發(fā)、培訓(xùn)和部署最先進(jìn)的3D場(chǎng)景理解模型。
TF 3D包含用于最先進(jìn)的3D語義分割、3D目標(biāo)檢測(cè)和3D實(shí)例分割的培訓(xùn)和評(píng)估任務(wù),還支持分布式訓(xùn)練。
另外,TF 3D還支持其他潛在的應(yīng)用,如三維物體形狀預(yù)測(cè)、點(diǎn)云配準(zhǔn)和點(diǎn)云增密。此外,它提供了一個(gè)統(tǒng)一的數(shù)據(jù)集規(guī)范和訓(xùn)練、評(píng)價(jià)標(biāo)準(zhǔn)三維場(chǎng)景理解數(shù)據(jù)集的配置。
目前,TF 3D支持Waymo Open、 ScanNet和Rio數(shù)據(jù)集。
然而,用戶可以自由地將其他流行的數(shù)據(jù)集,如NuScenes和Kitti,轉(zhuǎn)換成類似的格式,并將其用于已有或自定義的pipeline模型中,還可以利用TF 3D進(jìn)行各種3D深度學(xué)習(xí)研究和應(yīng)用,從快速原型設(shè)計(jì)到部署實(shí)時(shí)推理系統(tǒng)。
左邊顯示的是TF 3D中3D物體檢測(cè)模型在Waymo Open Dataset的一幀畫面上的輸出示例。右邊是ScanNet數(shù)據(jù)集上3D實(shí)例分割模型的輸出示例。
在這里,我們將介紹在TF 3D中提供的高效且可配置的稀疏卷積骨干,這是在各種3D場(chǎng)景理解任務(wù)中獲得最先進(jìn)結(jié)果的關(guān)鍵。
此外,我們將逐一介紹TF 3D目前支持的3個(gè)流水線任務(wù): 3D語義分割、3D目標(biāo)檢測(cè)分割和3D實(shí)例分割。
傳感器采集到的3D數(shù)據(jù)通常包含一個(gè)場(chǎng)景,該場(chǎng)景包含一組感興趣的物體(如汽車、行人等),其周圍大多是開放空間。所以,3D數(shù)據(jù)本質(zhì)上是稀疏的。
在這樣的環(huán)境中,卷積的標(biāo)準(zhǔn)實(shí)現(xiàn)將需要大量的計(jì)算、消耗大量的內(nèi)存。因此,在TF 3D 中,我們采用了流形稀疏卷積(submanifold sparse convolution)和池操作,這些操作可以更有效地處理3D稀疏數(shù)據(jù)。
稀疏卷積模型是大多數(shù)戶外自動(dòng)駕駛(如Waymo,NuScenes)和室內(nèi)基準(zhǔn)測(cè)試(如 ScanNet)中應(yīng)用的sota方法的關(guān)鍵。
谷歌還應(yīng)用了各種CUDA技術(shù)來加快計(jì)算速度(如hash、在共享內(nèi)存中分區(qū)/緩存過濾器以及使用位操作)。
在Waymo Open數(shù)據(jù)集上的實(shí)驗(yàn)表明,這種實(shí)現(xiàn)比預(yù)先設(shè)計(jì)好的TensorFlow操作要快「20倍」左右。
圖源:Waymo Open Dataset on GitHub
然后,TF 3D使用3D流形稀疏U-Net架構(gòu)來提取每個(gè)voxel的特征。通過讓網(wǎng)絡(luò)提取粗細(xì)特征并將它們組合起來進(jìn)行預(yù)測(cè),U-Net架構(gòu)已被證明是有效的。
U-Net網(wǎng)絡(luò)由編碼器、瓶頸和解碼器三個(gè)模塊組成,每個(gè)模塊都由許多稀疏卷積塊組成,并可能進(jìn)行池化或非池化操作。
一個(gè)3D稀疏體素U-Net架構(gòu)。注意,一個(gè)水平的箭頭接收體素特征,并對(duì)其應(yīng)用流形稀疏卷積。向下移動(dòng)的箭頭會(huì)執(zhí)行流形稀疏池化。向上移動(dòng)的箭頭將收集池化的特征,與水平方向箭頭的特征進(jìn)行concat,并對(duì)concat后的特征進(jìn)行流形稀疏卷積。
上述稀疏卷積網(wǎng)絡(luò)是TF 3D提供的3D場(chǎng)景理解pipeline模型的backbone。
下面描述的每個(gè)模型使用這個(gè)骨干網(wǎng)絡(luò)提取稀疏體素特征,然后添加一個(gè)或多個(gè)額外的預(yù)測(cè)頭來推斷感興趣的任務(wù)。
用戶可以通過改變編碼器/解碼器層數(shù)和每層卷積的數(shù)量來配置U-Net網(wǎng)絡(luò),并通過修改卷積濾波器的尺寸,從而能夠通過不同的網(wǎng)絡(luò)配置來權(quán)衡的速度和精度。
三維語義分割模型只有一個(gè)輸出,用于預(yù)測(cè)每一個(gè)點(diǎn)的語義分?jǐn)?shù),將其映射回點(diǎn),預(yù)測(cè)每一個(gè)點(diǎn)的語義標(biāo)簽。
從ScanNet數(shù)據(jù)集對(duì)室內(nèi)場(chǎng)景進(jìn)行3D語義分割。
在三維實(shí)例分割中,除了要預(yù)測(cè)語義,更重要的是將同一對(duì)象的體素組合在一起。
在TF 3D中使用的3D實(shí)例分割算法是基于用深度度量學(xué)習(xí)方法進(jìn)行的2D圖像分割工作。這種模型預(yù)測(cè)能預(yù)測(cè)每個(gè)體素的實(shí)例嵌入向量以及每個(gè)體素的語義評(píng)分。
實(shí)例嵌入向量將體素映射到一個(gè)嵌入空間,其中對(duì)應(yīng)于同一對(duì)象實(shí)例的體素相距很近,而對(duì)應(yīng)于不同對(duì)象的體素相距很遠(yuǎn)。
在這種情況下,輸入是一個(gè)點(diǎn)云而不是一個(gè)圖像,并且他將使用一個(gè)三維稀疏網(wǎng)絡(luò)而不是一個(gè)二維圖像網(wǎng)絡(luò)。在推理過程中利用貪心算法選取實(shí)例種子,并利用體素嵌入的距離函數(shù)將不同的體素聚合到對(duì)應(yīng)的實(shí)例上去。
目標(biāo)檢測(cè)模型可以預(yù)測(cè)每個(gè)體素的大小、中心和旋轉(zhuǎn)矩陣以及對(duì)象的語義評(píng)分。
在推理時(shí),推選機(jī)制將給出的多個(gè)候選框處理為少數(shù)幾個(gè)精確的3D目標(biāo)框。在訓(xùn)練時(shí)使用了預(yù)測(cè)與GT間的Huber Loss距離來計(jì)算損失。由于利用大小、中心和旋轉(zhuǎn)矩陣估算框邊角是可差分過程,損失可以自然地傳遞到預(yù)測(cè)過程的權(quán)重中。研究人員利用動(dòng)態(tài)框分類損失來對(duì)預(yù)測(cè)的框進(jìn)行正例和負(fù)例進(jìn)行區(qū)分。
ScanNet數(shù)據(jù)集上的3D物體檢測(cè)結(jié)果。
TF 3D只是市場(chǎng)上的3D深度學(xué)習(xí)擴(kuò)展之一。2020年,F(xiàn)acebook推出了 PyTorch3D,專注于3D渲染和虛擬現(xiàn)實(shí)。另一個(gè)是英偉達(dá)的Kaolin,這是一個(gè)模塊化的可分辨渲染的應(yīng)用,如高分辨率模擬環(huán)境。
從這個(gè)概述來看,TF 3D應(yīng)用程序似乎更專注于機(jī)器人感知和映射,而其他選項(xiàng)則更專注于3D模擬和渲染。為了實(shí)現(xiàn)3D渲染,Google推出了TensorFlow Graphics.
參考資料:
https://ai.googleblog.com/2021/02/3d-scene-understanding-with-tensorflow.html
https://github.com/google-research/google-research/tree/master/tf3d
聯(lián)系客服