谷歌AI良心開源:一部手機就能完成3D目標檢測,還是實時的那種
在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
— 完 —
https://www.toutiao.com/i6803185914324451843/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2679947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 首個實時單目3D目標檢測演算法:RTM3D,程式碼將開源3D演算法
- [AI開發]目標檢測之素材標註AI
- 一部手機就能玩出這種特效,難怪3D建模大神都點贊特效3D
- 使用 YOLO 進行實時目標檢測YOLO
- 百度AI攻略:Paddlehub實現目標檢測AI
- 2020-10-24 目標還是AIAI
- 10 款開源的線上遊戲,點開就能玩的那種遊戲
- 大疆、港科大聯手!雙目3D目標檢測實驗效果大放送 | CVPR 20193D
- 使用SlimYOLOv3框架實現實時目標檢測YOLO框架
- 目標檢測入門系列手冊七:目標檢測的產品應用實踐【工業視覺篇】視覺
- 張高興的 Raspberry Pi AI 開發指南:(二)使用 Python 和 HailoRT 進行實時目標檢測AIPython
- 目標檢測
- 1460萬個目標檢測邊界框:谷歌開源Open Images V4資料集谷歌
- 3D目標檢測技術有哪些好用的模型?3D模型
- 目標檢測三大開源神器:Detectron2/mmDetection/SimpleDet
- Google開放最大目標檢測資料集,還要為它舉辦AI挑戰賽GoAI
- 2018目標檢測
- 九、目標檢測
- 目標檢測中的注意力機制
- CornerNet-Lite,基於關鍵點的實時且精度高的目標檢測演算法已開源演算法
- 萬字長文概述單目3D目標檢測演算法3D演算法
- 目標檢測---教你利用yolov5訓練自己的目標檢測模型YOLO模型
- CVPR2021 | 開放世界的目標檢測
- 目標檢測兩種常用的資料集COCO和VOC
- 目標檢測之SSD
- 目標檢測之RetinaNetNaN
- 目標檢測面面觀
- 28-目標檢測
- 目標檢測綜述
- 增加檢測類別?這是一份目標檢測的基礎指南
- 2019 年的目標檢測指南
- 目標檢測:二維碼檢測方案
- 目標檢測實用中可以改進的方向
- SOTA!目標檢測開源框架YOLOv6 3.0版本來啦框架YOLO
- 目標檢測之YOLO系列YOLO
- 【目標檢測】Bounding Box Regression
- 目標檢測發展方向
- SSD 目標檢測 Keras 版Keras