Google與史丹福大學合作,開發了處理透明物體的全新計算機視覺方法,這個稱為KeyPose的機器學習系統,能夠直接預測3D關鍵點(Keypoint)來估測透明物體的深度,比起過去的方法又快又準。在發布研究成果的同時,Google也發布了用來訓練KeyPose模型的透明物體資料集,供研究社群使用。
測量3D物體的位置以及朝向,是計算機視覺在對象感知應用的核心挑戰,這些應用程式需要知道物體在真實世界的3D位置,才能進行下一步的操作,像是將虛擬物體放置在物體周圍等。目前已經有許多針對該主題的研究,除了應用機器學習或是深度網絡技術之外,其他方法還包括使用深度傳感設備,像是Kinect,來直接測量物體的距離。
不過,對於有光澤或是透明的物體,深度傳感設備效果不高,早前Google也曾發布過利用機器學習方法的研究,像是ClearGrasp就是利用深度神經網絡,來修復損壞的深度信息,只要使用一張RGB-D圖像,ClearGrasp就能使用深度卷積網絡,推測物體表面法矢量、透明表面的遮罩以及受屏蔽的邊界,並使得場景中所有透明表面的深度估算更精確。雖然該方法很有效,但是因為其使用大量的合成圖像進行訓練,在部分情況修復深度時,仍容易發生錯誤。
而Google最新與史丹福大學合作的KeyPose機器學習方法,是直接利用單反或是立體圖像,預測透明物體的3D關鍵點,而不需要先明確計算深度,且即便在訓練過程,沒有見過的物體或物體種類,也能在應用期間良好的處理。
為了要快速收集大量真實世界的圖像,研究團隊創建了一個人信息料收集系統,該系統中的機器人手臂依照設置軌跡移動,手臂上同時安裝了立體相機以及Kinect Azure深度相機。桌面配置了用來定位的視覺基準系統AprilTags,以精確關注攝影機的姿勢,研究人員只需要在視頻中的少量圖像,標記出2D關鍵點,便能利用多視角幾何方法,在所有視頻影格中截取3D關鍵點,高效率地進行標記,並利用這個3D關鍵點資料集訓練網絡。
研究團隊捕捉了5種類型15種透明物體的圖像,並且搭配多種背景材質以及物體排列方式,總共拍攝了600多個視頻串行,研究人員也用不透明版本物體,截取了基準真實深度。
實際預測流程,輸入使用立體相機拍攝同一物體的左右圖片,將這兩張照片送進KeyPose網絡中,網絡便能預測出代表物體位置與形狀的稀疏3D關鍵點,之後再利用兩張圖的視差,推算出每個關鍵點的3D坐標。這個方法也能夠使用單眼相機的圖片,但是使用立體相機的圖片,其準確度是前者的兩倍。
結果如下圖,最左側是原始的立體圖像,中間是物體的3D關鍵點,右邊則是顯示由3D關鍵點推算可表示物體姿勢的其他點。研究人員提到,這個方法非常快速準確,使用標準GPU計算馬克杯的深度只要5毫秒,無論是透明瓶子還是馬克杯,其平均絕對誤差都在10 mm以下,瓶子的平均絕對誤差甚至可達5.8 mm。