Google、Synthesis AI與哥倫比亞大學的研究人員,開發出了一種稱為ClearGrasp的機器學習演算法,能夠利用RGB-D圖像,正確估算透明物體的3D空間資訊,使機器人可以正確地與透明物體互動。

Google提到,機器人大量利用RGB-D攝影機或是光達等光學3D感測器,創建精確的環境3D地圖,但是這些光學空間感測器卻對像是玻璃容器之類的透明物體失效,因為這些感測器都是假設所有物體表面皆為朗伯(Lambertian)表面,也就是表面可平均地對所有方向反射光線,在所有視角呈現均勻的亮度,但是透明物體違反了這個假設,透明物體既反射又折射光線,因此感測器通常無法正確取得透明物體的深度。

研究人員面對的第一項難題便是取得深度學習模型的訓練資料集,目前並沒有任何透明物體3D資料集,現成的資料集都會忽略透明表面,因為需要花費大量的人力與時間資源進行標記工作。為了解決這個問題,研究人員著手創建大規模的透明物體資料集,其中包含5萬個寫實渲染圖,資訊包含物體表面法向量、分割遮罩、邊緣和深度。

每張圖像最多包含5個透明物體,這些物體放置在平坦的地面上或是手提袋內,皆具有不同的背景和照明,研究人員還拍攝了286個真實世界圖像測試集,拍攝真實測試集非常麻煩,需要在場景中將每個透明的物體,以相同的擺設方式置換成上色的物體,以布料或是膠板當作物體背景,場景內還會隨機散布不透明物體,研究人員在室內以各種照明條件進行拍攝。

雖然透明物體混淆了典型估算深度的方法,但仍有部分的線索可作為估算物體形狀的提示,像是透明物體的表面會出現鏡面反射的現象,該現象發生在光線充足的環境,物體因反射光線而出現的光點。由於這視覺提示在RGB圖像中很明顯,且與物體的形狀相關,因此卷積神經網路可以依據這些線索,反過來精確推估物體表面法向量,並進一步用在估算深度上。

大多數的機器學習演算法都用單眼RGB圖像來推估深度,但即便是人類,要用單眼來推估物體深度也不是一件簡單的事,特別是在平坦表面的背景,估算的深度會有更大的誤差,更別說要估算深度的對象是透明物體,因此研究人員認為,與其直接估計所有幾何形狀的深度,不如直接使用RGB-D攝影機的初始深度估計值,這樣就能利用非透明的表面深度,來計算透明物體的表面深度。

研究人員開發用來辨識透明物體的ClearGrasp演算法,使用3個神經網路,一個用於估算表面法向量,一個用於計算遮蔽的邊緣,也就是深度不連續的地方,另一個則是計算透明物體的遮罩,遮罩是用來排除非透明物體的像素,以便填充正確的深度。

演算法包含了一個全域最佳化模組,該模組會從已知深度的曲面,開始預測其他曲面的法向量,以重建物體的形狀,並使用預測的遮罩來分隔不同的物體。每個神經網路都以合成資料集訓練,並且在真實測試資料集中表現良好。

但是ClearGrasp演算法反而在估算牆壁或是水果等其他表面法向量表現很差,研究人員發現,這是因為合成資料集的限制,透明物體的背景就只是平坦的地面,因此他們找來了Matterport3D和ScanNet資料集,以真實室內場景訓練法向量預測模型,使其能良好地處理所有表面。

經實驗證實,ClearGrasp能夠比現存的其他方法,更精確地重建透明物體的深度,而且即便只以合成圖像訓練,ClearGrasp也能正確地處理真實世界中的物體,即便物體的形狀在訓練資料集中從未出現過。透過利用ClearGrasp計算的深度作為輸入,可大幅改進機械手臂抓取透明物體的成功率,從12%大幅上升至74%,具吸力裝置的抓取成功率甚至高達86%。


Advertisement

更多 iThome相關內容