原標題:谷歌用AI檢測透明對象,實現玻璃上生成AR可視化效果 來源:砍柴網
諸如RGB-D攝像頭和LIDAR等光學3D距離傳感器已在機器人技術中得到廣泛應用,并正在為從無人駕駛汽車到自動操縱器的一系列應用生成豐富準確的環境3D映射。然而,諸如玻璃容器這樣的透明對象會造成昂貴傳感器的混亂。這是因為光學3D傳感器是由假定所有表面均為朗伯(Lambertian)的算法驅動,即它們在所有方向均等地反射光線,從而在所有視角下產生均勻的表面亮度。但是,透明對象違反了這一假設,因為它們的表面既折射又反射光線。所以,來自透明對象的大多數深度數據一般為無效,或包含不可預測的噪點。
光學3D傳感器通常難以檢測透明對象。例如,玻璃瓶沒有出現在英特爾實感D415 RGB-D攝像頭捕獲的3D深度圖像之中(上方靜態圖);下方動圖:根據深度圖像和點云方法構建的3D可視化
支持機器更好地感知透明表面,這不僅可以提高安全性,而且能夠在非結構化應用中開啟一系列全新的交互,如可以處理廚具或分類塑料以進行回收利用的機器人,導航室內環境,或在玻璃桌面生成AR可視化效果等等。
為了解決這個問題,谷歌與Synthesis AI和哥倫比亞大學的研究人員合作開發了名為ClearGrasp的機器學習算法。據介紹,它能夠根據RGB-D圖像估計透明對象的精確3D數據。這主要得益于一個大規模合成數據集(谷歌日前同樣進行了公開)。ClearGrasp可以配合所有標準RGB-D攝像頭,然后使用深度學習來準確地重建透明對象的深度,并泛化為訓練期間不可見的全新對象。作為對比,以前的方法需要事先理解透明對象,并且通常需要結合背景照明的映射和攝像頭位置。在這項研究中,谷歌同時演示了將ClearGrasp集成到拾取和放置式機器人的控制系統中。谷歌表示,他們留意到透明塑料對象的抓取成功率有了顯著提高。
ClearGrasp使用深度學習來恢復透明表面的準確3D深度數據。
1. 透明對象的可視數據集
要訓練有效的深度學習模型(如用于視覺的ImageNet或用于BERT的Wikipedia),你需要大量的數據。ClearGrasp也不例外。遺憾的是,我們缺乏透明對象的3D數據集。諸如Matterport3D或ScanNet這樣的現有3D數據集會忽略透明表面,因為它們需要昂貴且耗時的標記過程。
為解決此問題,研發團隊自行構建了透明對象的大規模數據集,其中包含50000多個具有相應表面法線(表示表面曲率),分割蒙版,邊緣和深度的圖片真實感渲染,并可用于訓練各種2D和3D檢測任務。每個圖像最多包含五個透明對象,而它們要么位于平坦的地平面之上或手提袋之內,并且具有不同的背景和照明。
ClearGrasp合成數據集中的透明對象的示例數據。
研究人員同時納入了包含286張真實世界圖像的測試集,而它們具有相應的ground truth深度。對于真實世界圖像,團隊將場景中的每個透明對象替換為具有相同姿態的繪制對象。圖像是在各種不同的室內照明條件下并使用各種布料和貼面背景捕獲,并且包含散布在場景周圍的不透明對象。它們既包括合成訓練集中存在的已知對象,又包含新的對象。
左:現實世界中的圖像捕獲設置;中:可以用噴涂副本精確替換每個透明對象;右:捕獲數據的示例。
2. 挑戰
通過透明對象看到的扭曲背景視圖會混淆典型的深度估計方法,但存在暗示對象形狀的線索。透明表面會出現鏡面反射,并在光線充足的環境中顯示為亮點。由于這種視覺提示在RGB圖像中十分明顯,并且主要受對象形狀的影響,所以卷積神經網絡可以利用反射來推斷出精確的表面法線,然后再將其用于深度估計。
透明對象的鏡面反射會創建不同的特征(特征會根據對象的形狀而變化),并提供強大的視覺提示來幫助估計表面法線。
大多數機器學習算法都嘗試直接根據單眼RGB圖像估計深度。但即便是人類,單眼深度估計都是一項艱巨的任務。我們在估計平坦背景表面的深度時會觀察到較大的誤差,這加深了放置于其上的透明對象的深度估計誤差。所以,研究人員認為與其直接估計所有幾何圖形的深度,不如更正來自RGB-D 3D攝像頭的初始深度估計值,這將允許他們使用非透明表面的深度來確定透明表面的深度。
3. ClearGrasp算法
ClearGrasp使用3個神經網絡:一個用于估計表面法線的網絡,一個用于遮擋邊界(深度不連續)的網絡,另一個用于遮蓋透明對象的網絡。遮罩用于刪除屬于透明對象的所有像素,以便能夠填充正確的深度。然后團隊使用了全局優化模塊,使用預測的表面發現來引導重建的形狀,以及使用預測的遮擋邊界來保持不同對象之間的分離。
團隊提出的方法的綜述。點云是使用輸出深度生成并用表面法線著色。
每個神經網絡都利用合成數據集進行訓練,而它們能夠很好地處理真實世界的透明對象。但是,諸如如墻壁或水果等表面的表面法線估計糟糕。這是由于合成數據集的局限性:僅包含位于地面地透明對象。為了應對這個問題,團隊在表面法線訓練循環中納入了來自Matterport3D和ScanNet數據集的真實室內場景。通過域內合成數據集和域外實詞數據集的訓練,模型在測試集中的所有表面均取得出色的表現。
根據真實圖像的表面法線預測:a 僅Matterport3D和ScanNet(MP + SN);b 僅合成數據集;c MP + SN以及合成數據集。注意,通過MP + SN訓練的模型無法檢測透明對象。僅根據合成數據訓練的模型可以很好地拾取真實塑料瓶,但對其他對象和表面的效果不理想。當通過兩者進行訓練時,模型可以同時兼顧兩個方面。
4. 結果
總體而言,團隊的定量實驗表明,ClearGrasp能夠以比其他方法高得多的保真度來重建透明對象深度。盡管僅就合成的透明對象接受過訓練,但團隊發現模型能夠很好地適應現實世界域,在不同域的已知對象方面實現了非常相似的定量重建性能。模型同時可以很好地推廣到具有復雜形狀的新對象。
為了確定ClearGrasp的定性性能,團隊根據輸入和輸出深度圖像構造3D點云,如下所示。生成的估計3D表面具有清晰且連貫的重構形狀(這對于諸如3D映射和3D對象檢測的應用而言非常重要),沒有單眼深度估計方法中出現的鋸齒噪點。模型十分穩定,并且在挑戰性條件下都取得出色的表現,如識別位于帶圖案背景中的透明對象,或區分部分遮擋的透明對象。
真實圖像的定性結果。前兩行:已知對象的結果;下兩行:新對象的結果。用表面法線著色的點云是根據對應的深度圖像生成。
最重要的是,ClearGrasp的輸出深度可以直接用作利用RGB-D圖像的操作算法的輸入。通過使用ClearGrasp的輸出深度估算值而非原始傳感器數據,UR5機械臂的抓取算法在抓取透明對象的成功率方面取得了顯著提升。在使用抓爪時,成功率從基線的12%提高到74%,而抽吸的成功率則從64%提高到86%。
使用ClearGrasp處理新透明對象。請注意具有挑戰性的條件:無紋理背景,復雜的對象形狀,以及定向光會導致混亂的陰影和焦散。
5. 局限與未來的研究方向
谷歌指出,合成數據集的局限性在于,由于傳統路徑追蹤算法的渲染存在局限性,所以它不能代表精確的焦散。結果是,模型將明亮的焦散與陰影混淆為獨立的透明對象。盡管存在這樣的缺點,但ClearGrasp的研究表明,合成數據依然是一種可行的方法,可以幫助基于學習的深度重建方法取得令人滿意的結果。對于未來的研究,一個充滿前景的方向是通過生成具有物理正確的焦散和表面缺陷的渲染來改善域轉真實世界圖像。