谷歌AI良心開源:一部手機就能完成3D目標檢測,還是實時的那種
十三 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
在2D圖像中做3D目標檢測很難?
現在,拿著一部手機就能做到,還是實時的那種。
這就是谷歌AI今天發布的MediaPipe Objectron,一個可以實時3D目標檢測的pipeline。
分開來看:
MediaPipe是一個開源的跨平臺框架,用于構建pipeline來處理不同模式的感知數據。
Objectron在移動設備上實時計算面向對象的3D邊界框。
日常生活中的物體,它都可以檢測,來看下效果。
它可以在移動端設備上,實時地確定物體的位置、方向和大小。
這個pipeline檢測2D圖像中的物體,然后通過機器學習模型,來估計它的姿態和大小。
那么,它具體是怎么做到的呢?
獲取真實世界中的3D數據
我們知道,3D數據集相對于2D來說,非常有限。
為了解決這個問題,谷歌AI的研究人員使用移動增強現實(AR)會話數據(session data),開發了新的數據pipeline。
目前來說,大部分智能手機現在都具備了增強現實的功能,在這個過程中捕捉額外的信息,包括相機姿態、稀疏的3D點云、估計的光照和平面。
為了標記groud truth數據,研究人員構建了一個新的注釋工具,并將它和AR會話數據拿來一起使用,能讓注釋器快速地標記對象的3D邊界框。
這個工具使用分屏視圖來顯示2D視頻幀,例如下圖所示。
左邊是覆蓋的3D邊界框,右邊顯示的是3D點云、攝像機位置和檢測平面的視圖。
注釋器在3D視圖中繪制3D邊界框,并通過查看2D視頻幀中的投影來驗證其位置。
對于靜態對象,只需要在單幀中注釋一個對象,并使用來自AR會話數據的ground truth攝像機位姿信息,將它的位置傳播到所有幀。
這就讓該過程變得非常高效。
AR合成數據生成
為了提高預測的準確性,現在比較流行的一種方法,就是通過合成的3D數據,來“填充”真實世界的數據。
但這樣往往就會產生很不真實的數據,甚至還需要大量的計算工作。
谷歌AI就提出了一種新的方法——AR合成數據生成?(AR Synthetic Data Generation)。
這就允許研究人員可以利用相機的姿勢、檢測到的平面、估計的照明,來生成物理上可能的位置以及具有與場景匹配的照明位置 。
這種方法產生了高質量的合成數據,與真實數據一起使用,能夠將準確率提高約10%。
用于3D目標檢測的機器學習pipeline
為了達到這個目的,研究人員建立了一個單階段的模型,從一個RGB圖像預測一個物體的姿態和物理大小。
模型主干部分有一個基于MobileNetv2的編碼器-解碼器架構。
還采用一種多任務學習方法,通過檢測和回歸來共同預測物體的形狀。
對于形狀任務,根據可用的ground truth注釋(如分割)來預測對象的形狀信號;對于檢測任務,使用帶注釋的邊界框,并將高斯分布擬合到框中,以框形質心為中心,并與框的大小成比例的標準差。
檢測的目標是預測這個分布,它的峰值代表了目標的中心位置。
回歸任務估計邊界框8個頂點的2D投影。為了獲得邊界框的最終3D坐標,還利用了一個成熟的姿態估計算法(EPnP),可以在不知道物體尺寸的前提下恢復物體的3D邊界框。
有了3D邊界框,就可以很容易地計算出物體的姿態和大小。
這個模型也是非常的輕量級,可以在移動設備上實時運行。
在MediaPipe中進行檢測和跟蹤
在移動端設備使用這個模型的時候,由于每一幀中3D邊界框的模糊性,模型可能會發生“抖動”。
為了緩解這種情況,研究人員采用了最近在“2D界”發布的檢測+跟蹤框架。
這個框架減少了在每一幀上運行網絡的需要,允許使用更大、更精確的模型,還能保持在pipeline上的實時性。
為了進一步提高移動pipeline的效率,每隔幾幀只讓運行一次模型推斷。
最后,這么好的項目,當然已經開源了!
戳下方傳送門鏈接,快去試試吧~
傳送門
GitHub項目地址:
https://github.com/google/mediapipe/blob/master/mediapipe/docs/objectron_mobile_gpu.md
谷歌AI博客:
https://ai.googleblog.com/2020/03/real-time-3d-object-detection-on-mobile.html
- 商湯Seko上線一個月,超10萬創作者選擇它2025-09-29
- 戴爾 x OpenCSG,推出?向智能初創企業的?體化 IT 基礎架構解決方案2025-12-10
- 看完最新國產AI寫的公眾號文章,我慌了!2025-12-08
- 共推空天領域智能化升級!趨境科技與金航數碼強強聯手2025-12-09



