查看引用/信息源請點擊:映維網
如何與Object Detection結合併提供一個對象檢測與追蹤系統
(映維網 2019年12月11日)MediaPipe是用於構建跨平臺多模態應用ML管道的框架,其包括快速ML推理,經典計算機視覺和媒體內容處理(如視頻解碼)。在2019年6月舉行的CVPR大會,MeidaPipe正式開源,版本是v0.5.0。自那以後,谷歌陸續發布了一系列的ML管道示例。
日前,谷歌撰文介紹了又一個MediaPipe示例:Object Detection and Tracking。谷歌首次描述了新發布的Box Tracking解決方案,並解釋了它是如何與Object Detection結合併提供一個對象檢測與追蹤系統。
Box Tracking in MediaPipe
MediaPipe v0.6.7.1帶來了一種Box Tracking解決方案,而後者多年來一直驅動著Motion Stills,YouTube隱私模糊,以及Google Lens的實時追蹤功能,並且它是利用經典的計算機視覺方法。結合追蹤與ML推理可產生有價值且有效的管道。所以,谷歌將Object Detection和Box Tracking結合在了一起,並創建了一個對象檢測與追蹤管道。與每幀運行檢測相比,支持追蹤的管道存在多個優點:
提供了基於實例的追蹤,即對象ID能夠在多幀中維持。
檢測並不一定需要每幀運行。這樣可以運行負載更高但更為精確的檢測模型,同時為行動裝置保持管道輕巧和實時。
在追蹤的幫助下,對象定位在時間方面保持一致,這意味著在整個幀中注意到的抖動較小。
谷歌的通用Box Tracking解決方案利用了視頻或攝像頭饋送流中的圖像幀,為方框位置提供時間戳,說明要追蹤的2D目標區域,然後計算每幀需要追蹤的方框位置。在這個特定的用例中,方框的起始位置來自於對象檢測,但起始位置同時可以由用戶或其他系統手動提供。谷歌的解決方案包含三個主要組件:運動分析組件,流打包組件,以及方框追蹤組件。每個組件都封裝成MediaPipe計算器,並且Box Tracking解決方案整體表示為一個MediaPipe子圖,如下所示:
MediaPipe Box Tracking子圖
MotionAnalysis計算器提取整個圖像的特徵(如高梯度角),隨時間推移追蹤所述特徵,將其分類為前景特徵和背景特徵,並估計局部運動矢量和全局運動模型。FlowPackager計算器將估計的運動元數據打包為有效格式。BoxTracker計算器從FlowPackager計算器獲取所述運動元數據和起始方框的位置,並隨時間追蹤方框。BoxTracker計算器僅使用由MotionAnalysis計算器生成的運動數據(不需要RGB幀)來追蹤單個對象或區域,同時區分其他對象或區域進。
為了追蹤輸入區域,谷歌首先利用了與所述區域相對應的運動數據,然後採用迭代重加權最小二乘法(Iteratively Reweighted Least Aquares;IRLS)將參數模型擬合到所述區域的加權運動向量。每個區域都存在一個跟追蹤態,包括平均速度,一組正常特徵與離群特徵ID,以及區域質心等等。追蹤狀態的可視化請參見下圖,綠色箭頭是正常值的運動矢量,紅色箭頭是離群值的運動矢量。請注意,由於每個特徵的色塊強度隨時間推移大致保持恆定,所以僅依靠特徵ID即可隱式捕獲所述區域的外觀。另外,通過將區域的運動分解為camera運動和單個對象運動,你甚至可以追蹤無特徵區域。
每個方框的追蹤狀態可視化
這一架構的優勢在於,通過將運動分析分拆到專用的MediaPipe計算器,並追蹤整個圖像的特徵,谷歌可以實現極大的靈活性和恆定的計算能力,而且不受所追蹤區域的數量限制。由於在追蹤過程中不必依賴RGB幀,所述解決方案提供了在一批幀中緩存元數據的靈活性。通過緩存,你可以及時地追蹤區域的向前和向後移動;甚至直接同步到指定的時間戳,從而實現隨機訪問追蹤。
Object Detection and Tracking
下面是用於對象檢測與追蹤的MediaPipe示例圖,它由4個計算節點組成:PacketResampler計算器;先前發布的ObjectDetection子圖;圍繞上述BoxTrakcing子圖的ObjectTracking子圖;以及繪製可視化效果的Renderer子圖。
用於對象檢測與追蹤的 MediaPipe示例圖。紫色方框是子圖。
通常來說,ObjectDetection子圖僅在請求時運行,例如以任意幀速率或由特定信號觸發。更具體地講,在將視頻幀傳遞到ObjectDetection之前,本示例中的PacketResampler將它們暫時採樣為0.5 fps。你可以在PacketResampler中將這一選項配置為不同的幀速率。
ObjectTracking子圖在每個傳入幀實時運行以追蹤檢測到的對象。它能夠利用額外的功能來擴展上述的BoxTracking子圖:當新檢測到達時,它將使用IoU(Intersection over Union;交並比)將當前追蹤的對象/方框與新檢測相關聯,從而刪除過時或重複的方框。
下面是這個對象檢測與追蹤示例的結果。左圖是每幀運行對象檢測的結果。右圖是運行對象檢測與追蹤的結果。注意,後邊的結果更加穩定,時間抖動更少,而且可以跨幀維護對象ID。
每幀運行對象檢測和對象檢測與追蹤的對比
---
原文連結:https://yivian.com/news/69794.html
Long-press QR code to transfer me a reward
帥哥美女都喜歡打賞好文章!
As required by Apple's new policy, the Reward feature has been disabled on Weixin for iOS. You can still reward an Official Account by transferring money via QR code.