來源:映維網 作者 廣州客
對象檢測是一個廣泛研究的計算機視覺問題,但大多數研究都集中在2D對象預測方面。2D預測僅提供2D邊界框,但通過將預測擴展到3D,我們可以捕獲對象的現實世界大小,位置和方向,從而在機器人技術,自動駕駛汽車,圖像檢索和增強現實等領域實現一系列的用例。儘管2D對象檢測相對成熟並已在行業中廣泛應用,但由於缺乏數據,以及對象外觀和形狀的多樣性,基於2D圖像的3D對象檢測依然是一個十分具有挑戰性的課題。
針對這個問題,谷歌日前發布了用於日常對象的實時3D對象檢測管道MediaPipe Objectron。所述工具可以檢測2D圖像中的對象,並利用由新建3D數據集進行訓練的機器學習模型來估計其姿態和大小。MediaPipe是一個開原始碼跨平臺框架,主要用於構建用於處理不同形式的感知數據的管道,而Objectron在MediaPipe中實現,並能夠在行動裝置中實時計算面向對象的3D邊界框。
根據單張圖像進行3D對象檢測。MediaPipe Objectron可以支持確定行動裝置實時確定日常對象的位置,方向和大小。
1. 獲取真實世界3D訓練數據
由於依賴於3D傳感器(如LIDAR)的自動駕駛汽車研究日益普及,業界存在用於街景的大量3D數據,但包含面向日常對象的ground truth 3D注釋的數據集依然非常有限。為了克服這個問題,谷歌團隊利用移動增強現實會話數據開發了一種全新的數據管道。隨著ARCore和ARKit的到來,數億智慧型手機現在已經具有AR功能,並且能夠在AR會話中捕獲更多信息,包括camera姿態,稀疏3D點雲,估計照明和平面。
為了標記ground truth數據,團隊構建了一個新穎的注釋工具以搭配AR會話數據,從而允許Annotator可以快速標記對象的3D邊界框。工具利用分屏視圖來顯示2D視頻幀,在左側疊加3D邊界框,並在右側顯示3D點雲,camera位置和檢測平面。Annotator在3D視圖中繪製3D邊界框,並通過查看2D視頻幀中的投影來驗證其位置。對於靜態對象,我們只需要在單幀中注釋對象,並使用來自AR會話數據的ground truth camera姿態信息將位置傳播到所有幀。這可以大大提高過程的效率。
用於3D對象檢測的真實數據注釋。右:在3D世界中檢測表面和點雲標註3D邊界框。左:帶注釋3D邊界框的投影疊加於視頻幀,從而便以驗證注釋。
2. 增強現實合成數據生成
為提高預測的精度,一種流行的方法是用合成數據補充現實世界的數據。但這種方式做通常會帶來糟糕的,不真實的數據,或者在圖像真實感渲染時需要大量的精力和計算量。所以谷歌提出了一種名為AR Synthetic Data Generation(增強現實合成數據生成)的新穎方法。它可以將虛擬對象放置到具有AR會話數據的場景中,允許你利用camera姿態,檢測平面和估計照明來生成物理可能的位置,以及具有與場景匹配的照明。這種方法可生成高質量的合成數據,其包含的渲染對象能夠尊重場景的幾何形狀並無縫地適配實際背景。通過結合現實世界數據和增強現實合成數據,谷歌表示精度提高了約10%。
增強現實合成數據生成的一個示例:虛擬白褐色穀物盒渲染到真實場景中,緊鄰真實藍皮書。
3. 用於3D對象檢測的機器學習管道
為了從單個RGB圖像預測對象的姿態和物理尺寸,谷歌構建了一個單階段模型。所述模型主幹具有基於MobileNetv2構建的編碼器-解碼器架構。團隊採用多任務學習方法,通過檢測和回歸來共同預測對象的形狀。形狀任務根據可用的ground truth注釋來預測對象形狀信號。這屬於可選選項,可用於訓練數據中缺乏形狀注釋的情況。對於檢測任務,團隊使用帶注釋的邊界框並將高斯擬合到框,中心位於框質心,標準偏差與框大小成正比。回歸任務估計八個邊界框頂點的2D投影。為了獲得邊界框的最終3D坐標,團隊利用了完善的姿態估計算法(EPnP)。它可以恢復對象的3D邊界框,無需事先知曉對象的尺寸。給定3D邊界框,團隊可以輕鬆計算對象的姿態和大小。下圖是具體的網絡架構和後處理。所述模型非常輕巧,可以支持行動裝置實時運行(在Adreno 650移動GPU為26 FPS)。
用於3D對象檢測的網絡架構和後處理。
網絡的樣本結果:左邊是帶有估計邊界框的原始2D圖像;中間是高斯分布的對象檢測;右邊是預測的分割蒙版。
4. MediaPipe中的檢測和跟蹤
當將模型應用於行動裝置捕獲的每個幀時,由於每幀中估計的3D邊界框的歧義性,模型可能會遭受抖動影響。為了緩解這種情況,谷歌採用了最近發布在2D object detection and tracking(2D對象檢測和跟蹤)解決方案中的檢測+跟蹤框架。所述框架能夠減輕在每幀運行網絡的需求,從而支持計算量更大但因而更為準確的模型,同時在行動裝置保持管道實時進行。它同時可以跨幀保留對象身份,並確保預測在時間方面維持一致,從而減少抖動。
為了進一步提高移動管道的效率,團隊只是每隔幾幀運行一次模型推斷。接下來,谷歌利用以前介紹過的方法進行預測並隨時間進行跟蹤。當做出新的預測時,他們將根據重疊區域把檢測結果與跟蹤結果合併。
鼓勵開發者和研究人員根據其管道進行實驗和原型設計,谷歌將在MediaPipe中發布所述的機器學習管道,包括端到端的移動演示應用,以及針對鞋子和椅子這兩個類別的訓練模型。谷歌表示:「我們希望通過與廣泛的研究和開發社區共享我們的解決方案,這將能夠刺激新的用例,新的應用和新的研究工作。我們計劃在未來將模型擴展到更多類別,並進一步提高設備性能。」
原文連結:https://yivian.com/news/72732.html