光學(xué)3D傳感器可“看見”透明物體?
當(dāng)今,隨著傳感器技術(shù)的不斷發(fā)展,各種各樣的傳感器被研制出來,其中就包括光學(xué) 3D 傳感器。當(dāng)前,據(jù)外媒報(bào)道,谷歌與來自 Synthesis AI 和哥倫比亞大學(xué)的研究人員共同開發(fā)了一種能夠估計(jì)透明物體準(zhǔn)確 3D 數(shù)據(jù)的學(xué)習(xí)算法。
從自動(dòng)駕駛汽車到自動(dòng)機(jī)器人等領(lǐng)域,光學(xué) 3D 距離傳感器與 RGB-D 相機(jī)的應(yīng)用一樣廣泛,它可以生成豐富而精確的 3D 環(huán)境地圖。
但它也有個(gè)「天敵」,透明的物體就可以讓一套常用的昂貴傳感器撓頭,哪怕只是一個(gè)普通的玻璃容器。
這是因?yàn)楣鈱W(xué)三維傳感器的算法都是基于一個(gè)前提——假設(shè)所有表面都是 Lambertian 的,也就是說這個(gè)表面反射的光線是均勻的,從而從各個(gè)角度看,表面的亮度都是一致的。然而,透明物體顯然不符合這個(gè)假設(shè),因?yàn)樗鼈兊谋砻娉朔瓷涔饩€,還會(huì)折射光線。因此,大多數(shù)透明對(duì)象的深度數(shù)據(jù)是無效的,或者是包含不可預(yù)測(cè)的噪聲。
光學(xué)三維傳感器通常無法探測(cè)到透明物體。右上:例如,IntelRealSenseD415 RGB-D 攝像機(jī)拍到的 3D 深度圖像中沒有顯示玻璃瓶。底部:對(duì)深度圖像點(diǎn)云的三維可視化。
讓機(jī)器更好地感知透明的表面,不僅能提高安全性,還能在非結(jié)構(gòu)化應(yīng)用中開辟新的交互——比如處理廚房用具或?qū)λ芰线M(jìn)行回收分類的機(jī)器人,或是在室內(nèi)環(huán)境中導(dǎo)航或在玻璃桌面上生成增強(qiáng)現(xiàn)實(shí) (AR) 可視化效果。
為了解決這個(gè)問題,谷歌與來自 Synthesis AI 和哥倫比亞大學(xué)的研究人員合作開發(fā)了 ClearGrasp。ClearGrasp 是一種機(jī)器學(xué)習(xí)算法,它能夠從 RGB-D 圖像中估計(jì)透明物體的準(zhǔn)確 3D 數(shù)據(jù)。
這種效果的實(shí)現(xiàn)主要得益于谷歌同時(shí)公開的一個(gè)大規(guī)模的合成數(shù)據(jù)集。ClearGrasp 的輸入可以來自任何標(biāo)準(zhǔn)的 RGB-D 攝像機(jī),然后它會(huì)使用深度學(xué)習(xí)來精確地重建透明物體的深度,并將其泛化成一種全新的物體,這種物體在訓(xùn)練過程中是看不到的。這與以前的方法不同,以前的方法需要事先了解透明物體(如它們的 3D 模型),然后結(jié)合背景照明和攝像機(jī)位置圖來進(jìn)行建模。在這項(xiàng)工作中,谷歌還證明了 ClearGrasp 可以通過將其整合到其 pick and place 機(jī)器人的控制系統(tǒng)中,來提高機(jī)器人的操作效率,在該系統(tǒng)中透明塑料物體的抓取成功率有了顯著的提高。
ClearGrasp 通過深度學(xué)習(xí)來重建透明表面的精確三維深度數(shù)據(jù)。
透明對(duì)象的可視化數(shù)據(jù)集
任何有效的深度學(xué)習(xí)模型都需要需要大量的數(shù)據(jù)來訓(xùn)練(如視覺領(lǐng)域的 ImageNet 和 BERT 使用的 wikipedia),ClearGrasp 也不例外。不幸的是,并沒有這種帶透明物體 3D 數(shù)據(jù)的數(shù)據(jù)集。現(xiàn)有的 3D 數(shù)據(jù)集(如 Matterport3D、ScanNet 等)都沒有透明表面的記錄,因?yàn)檫@種標(biāo)記過程耗時(shí)耗力。
為了克服這個(gè)問題,谷歌創(chuàng)建了自己的大型透明對(duì)象數(shù)據(jù)集,其中包含 5 萬多個(gè)具有相應(yīng)表面法線(表示表面曲率)、分割掩模、邊緣和深度的真實(shí)感渲染,這對(duì)于訓(xùn)練各種 2D 和 3D 檢測(cè)任務(wù)非常有用。每個(gè)圖像包含的透明物體多達(dá) 5 個(gè),有的在一個(gè)平面上,有的在一個(gè)手提袋里,而且包含了各種背景和照明的場(chǎng)景。
ClearGrasp 合成數(shù)據(jù)集的一些透明物體實(shí)例。
谷歌還在數(shù)據(jù)集中收集了 286 張實(shí)景圖的測(cè)試集,這些圖像都有深度標(biāo)注。實(shí)景圖的拍攝過程是艱苦的,拍攝時(shí)需要在場(chǎng)景中的每個(gè)透明物體的位置上繪制一個(gè)跟其位置大小完全一致的圖像。這些圖像是在許多不同的室內(nèi)照明條件下拍攝的,使用了各種不同的布和飾面背景,而且包含了散落在場(chǎng)景周圍的隨機(jī)不透明物體。它們既包含合成訓(xùn)練集中已有的對(duì)象,也包含新對(duì)象。
左:實(shí)景圖拍攝設(shè)置;中:自定義用戶界面支持精確地用噴漆復(fù)制替換每個(gè)透明對(duì)象;右:捕獲數(shù)據(jù)的示例。
挑戰(zhàn)
雖然通過透明物體看到的扭曲的背景視圖混淆了典型的深度估計(jì)方法,但是也有一些線索暗示了物體的形狀。透明的表面也有鏡面反射,這種反射跟鏡子一樣,在光線充足的環(huán)境中就變成亮點(diǎn)了。由于這些視覺線索在 RGB 圖像中比較突出,并且主要受到物體形狀的影響,因此卷積神經(jīng)網(wǎng)絡(luò)可以利用這些反射來推斷出準(zhǔn)確的表面法線,然后再用于深度估計(jì)。
透明物體上的鏡面反射反映了不同的特征,這些特征根據(jù)物體的形狀而變化,并為估計(jì)表面法線提供了極其有用的視覺線索。
大多數(shù)機(jī)器學(xué)習(xí)算法試圖直接從單目 RGB 圖像中估計(jì)深度。然而,即便對(duì)人類來說,單目深度估計(jì)也是一個(gè)非適定(ill-posed)的任務(wù)。團(tuán)隊(duì)觀察到,在估計(jì)平坦背景表面的深度時(shí)存在較大的誤差,這就增加了對(duì)位于其上的透明物體深度估計(jì)的誤差。因此,與直接估計(jì)所有幾何圖形的深度不同,糾正 RGB-D 3D 相機(jī)的初始深度估計(jì)值可能更實(shí)用——能夠使用非透明表面的深度來通知透明表面的深度。
ClearGrasp 算法
ClearGrasp 用了 3 種神經(jīng)網(wǎng)絡(luò):一種網(wǎng)絡(luò)用于估計(jì)表面法線,一種用于遮擋邊界(深度上不連續(xù)),另一種用于遮擋透明對(duì)象。遮擋會(huì)刪除跟透明對(duì)象有關(guān)的所有像素,以便填充其正確的深度。然后,使用一個(gè)全局優(yōu)化模塊,從已知的表面開始擴(kuò)展深度,并使用預(yù)測(cè)的表面法線來指導(dǎo)重建的形狀,然后使用預(yù)測(cè)的遮擋邊界來保持不同對(duì)象之間的分離。
方法概述:點(diǎn)云首先根據(jù)輸出深度生成,然后根據(jù)其表面法線著色。
每個(gè)神經(jīng)網(wǎng)絡(luò)都在透明的合成數(shù)據(jù)集上訓(xùn)練,它們?cè)趯?shí)景圖中的透明物體上表現(xiàn)良好。然而,對(duì)于其他表面,如墻壁或水果,表面的法線估計(jì)是很差的。這個(gè)合成數(shù)據(jù)集還存在局限性,它只包含地面上的透明對(duì)象。為了減輕這個(gè)問題的影響,團(tuán)隊(duì)在表面法線訓(xùn)練循環(huán)中加入了一些來自 Matterport3D 和 ScanNet 數(shù)據(jù)集的真實(shí)室內(nèi)場(chǎng)景。通過對(duì)域內(nèi)的合成數(shù)據(jù)集和域外的實(shí)景數(shù)據(jù)集的訓(xùn)練,該模型在測(cè)試集中表現(xiàn)良好。
在 a) Matterport3D 和 ScanNet (MP+SN),b) 谷歌的合成數(shù)據(jù)集,c) MP+SN 以及谷歌的合成數(shù)據(jù)集訓(xùn)練后的表面法線估計(jì)。注意,在 MP+SN 上訓(xùn)練的模型沒有檢測(cè)到透明的物體。只訓(xùn)練合成數(shù)據(jù)的模型能很好地識(shí)別真實(shí)的塑料瓶,但卻無法識(shí)別其他物體和物體表面。當(dāng)模型同時(shí)在這兩中數(shù)據(jù)集上訓(xùn)練時(shí),就可以同時(shí)滿足這兩方面的需求。