多目標跟蹤 | AI產品經理需要了解的CV通識(三)

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

多目標跟蹤(MOT, Multiple Object Tracking

多目標跟蹤是CV領域一個熱門方向,廣泛應用於機器人導航、智能監控視頻、工業檢測、航空航天等領域。主要任務是找到圖像序列中運動的物體,並將不同幀的運動物體一一對應,最後給出不同物體的運動軌跡

一、術語了解

1檢測定位目標在圖像中的位置。檢測方法很多,例如幀間差分法、背景減除法、光流法等等;另外,檢測常與識別結合。

2跟蹤:在連續圖像序列中完成對目標的檢測,並把物理意義下同一目標相關聯。

3軌跡(Trajectory):一條軌跡對於這一目標在一段時間內的位置序列;是多目標跟蹤系統的輸出量。

4數據關聯:用於解決目標間的匹配問題;是多目標跟蹤的核心問題。

5跟蹤置信度:跟蹤演算法反應每一次跟蹤的可靠程度。

二、技術流程詳解

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

1、圖像採集

多目標跟蹤對於圖像採集要求評估的因素與人臉識別差別不大。詳見上一篇文章《人臉識別 | AI產品經理需要了解的CV通識(二)》。

2、圖像預處理

典型的圖像預處理方法是直方圖均衡濾波

1)直方圖均衡

直方圖描述了一副圖像的灰度級內容,而直方圖均衡化主要目的是為了提高對比度和灰度色調的變化,使圖像更加清晰。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

2)濾波

圖像濾波的主要目的是在保持圖像特徵的情況下進行雜訊消除,具體可以分為線性濾波非線性濾波。非線性濾波相比線性濾波來說,更能保護圖像細節

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

3、基於深度學習的多目標檢測識別

目標檢測的實質是多目標的定位,即要在圖片中定位多個目標物體。

例如下圖,既要定位各個目標,還需要將不同目標用不同顏色的框表示。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

(By 深思考人工智慧)

1)基於深度學習的目標檢測演算法:YOLO、YOLOv2、YOLO9000

YOLO(You Only Look Once)是基於深度學習方法的端到端實時目標檢測系統。YOLO的升級版有兩種:YOLOv2和YOLO9000。YOLO9000可以識別超過9000類別

YOLO對圖片的處理步驟主要分為三個部分:

a.將圖片縮放到448*448大小

b.運行卷積網路

c.設置模型置信度閾值,輸出結果

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

(By 代碼學習者coding)

2)基於深度學習的目標檢測演算法:SSD

SSD(Single Shot MultiBOX Detector)截止目前是主要的檢測框架之一,相比Fast-RNN速度更快;相比YOLO有明顯的mAP優勢(mAP:平均正確率),但不及YOLO9000。

SSD缺點:

a.調試過程非常依賴經驗

b.檢測小目標的召回率值不是很高

3)YOLO和SSD效果比較

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

(By 代碼學習者coding)

從圖上可以看出,YOLO漏檢率較高,SSD相對來說表現較好。

4)目標檢測識別相關指標

a.精確率:計算方式詳見《人臉識別 | AI產品經理需要了解的CV通識(二)

b.召回率:同上。

c.識別精度:目標檢測中衡量檢測出精度的指標是平均正確率均值mAP(mean average precision)

首先我們了解一下AP(平均正確率)

平均正確率:precision/recall曲線下方圍成的曲面面積,如下圖: 

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

其中橫坐標是recall,縱坐標是precision。AP是這個曲線下的面積,而mAP就是多個類別AP的平均值,這個值介於0到1之間,且越大越好

d.檢測響應:檢測過程的輸出量。

e.識別效率:識別的速度。相對應選擇效率極大化的迭代演算法。

f.交並比(IoU):可以理解為系統預測出來的框與原來圖中標記框的重合程度,最理想的情況是完全重疊,即比值為1。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

計算公式:

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

4、多目標跟蹤

下圖中的曲線是該目標的跟蹤路徑,圖中線條即代表各個目標的軌跡

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

目前跟蹤的困難點:

a.遮擋、目標消失后再出現,會有丟失目標的現象;

b.相似目標容易被當成同一目標;

由於以上原因,在實際場景里多目標跟蹤可能會發生人員重複檢測、漏檢、同一目標多條軌跡等情況。如果需求對人員統計非常嚴格,可以考慮由其他方案完成。多目標跟蹤應用於一個區域(一個攝像頭畫面內),計算該區域內的目標數以及目標跟蹤這樣的場景會更好。

三、多目標跟蹤的應用場景

目標識別常用來確定某畫面或視頻中包含什麼物體、各個物體在什麼位置、各個物體的軌跡。因此常用於監控,人機交互和虛擬現實的場景

1)人員檢測:計算畫面中行人的數目,並確定其位置。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

應用場景:

a.可用於計算區域人員密度過高告警

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

產品功能考慮:在監控畫面對區域進行劃分,並對人員密度(梳理)進行設置。閾值的設置可以考慮和時間結合,在某一段時間內超過某閾值即可告警。

利用本演算法進行人員計算的缺點是如果發生目標丟失,會將同一人的兩個狀態識別為兩個人,使得真實數目與檢測數目誤差大。

b.可用於範圍監測告警(越界監測):例如闖紅燈、翻牆等事件。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

產品功能考慮:在監控地圖裡設置關注區域,當關注區域一旦出現人/車/其他物體,則可立即實現告警。特別適合對入侵行為需要重點防範的場合,比如展館、監獄、禁區等地。

c.異常行為檢測:目標突然發生劇烈變化,如打架鬥毆等行為。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

產品功能考慮:對目標設定異常行為檢測,當出現異常行為時即可告警。異常行為檢測適合在對異常行為有需要重點防範的場合,比如學校、公共區域等地方。

2)車輛識別:計算畫面中車輛的數目,並確定其位置。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

還可以和車型識別、車顏色識別、車輛逆流檢測等結合。實現對車輛特點的全識別。

應用場景:

a.可用於交通疏散,針對有可能發生擁堵的區域提前進行部署。

b.可用於追蹤黑名單車輛:車輛檢測可識別車輛類型、車輛顏色等等,這些信息均可用來定位目標。

c.防車輛套牌方案:車輛識別和車牌識別結合,防止車輛套牌案件發生

3)應用於智能駕駛方案:目標識別和場景分割、SLAM結合,可識別出道路路況,提供智能駕駛所需要的路邊物體信息。

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

四、多目標跟蹤監控產品系統分析

多目標跟蹤監控類的產品現在已經有不少,拿商湯的軟體產品作為典型例子:

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

1、產品功能分析

產品的功能主要有以下內容:攝像頭個數、行人人次、非機動車車次、機動車車次、告警次數、監控畫面、目標抓拍。

我們從大的劃分來看,主要是四塊:設備、統計、監控、抓拍。除了這四塊之外,根據經驗我們還需要考慮到歷史的分析和檢索

多目標跟蹤 | AI產品經理需要了解的CV通識(三)

1)設備

商湯的產品只體現了設備的數目,而更重要的是設備的篩選功能。其實設備的控制非常複雜,我們常常為了監控攝像頭的狀態設計一個新的管理系統。在另外一個設備的管理系統中,我們需要跟蹤設備的使用狀態,設備的詳細信息(對應的攝像頭編號位置等),以及攝像頭的定位。

2)統計

統計除了上例時間段的統計之外,還可以進行某一時刻某一區域上的目標統計。某一時刻的統計的意義比時間段統計在一些特定需求上更為重要。特別是某時刻目標數如果超過閾值,跟告警系統匹配,能夠捕捉群體行為。某時刻的目標數目是否超過設定閾值,是多目標最常見的需求,也是典型應用之一。

3)監控

監控界面結合了多種類別的識別:例如行人的性別、頭髮長短、衣物類型等等。這也是多目標最「酷炫」的一部分,人們常常被系統的自動識別吸引。多目標在前端的表示常常是一個Boxing加一條尾巴,即目標的定位和軌跡。而目標旁的標籤(屬性),則是多目標識別和其他垂直方向識別的結合。

產品在這塊有兩部分工作:

a.跟進多目標的漏檢率以及IoU,以及思考同一管道多種屬性識別的結合,以應對不同場景需求。更偏向技術類。

b.關注監控系統的流暢性穩定性。更偏向業務類。

4)抓拍

抓拍也是體現多目標價值的典型功能之一。抓拍能將監控中的目標單獨地隔離出來,這是後續檢索目標功能實現的前提。抓拍到的圖片在界面展示時可利用緩存,之後建議存儲至雲端。

5)歷史

a.搜索:跟普通搜索系統相比,多目標系統必不可少的一個功能一定是圖片檢索。在系統中利用文字(與多目標的標籤關聯)或圖片進行圖片檢索,能更容易查找到目標。

b.分析:利用大數據技術,對歷史的人流、車流、告警記錄進行分析,有利於目標管控和後期閾值設置。

2、產品系統分析

1)實時性

監控系統最重要的一點是實時性,相比於普通監控產品,AI監控系統對設備硬體的要求更高。圖像處理速度和網速需要被綜合評估,監控系統的延時現象需要控制在用戶可接受範圍內。

2)耦合性

AI監控系統鏈路長、設計到的子系統眾多,因此在產品架構設計上需要考慮到程序之間的耦合性。耦合程度太高會使系統的升級更新與維護更加困難。

3)穩定性

這裡的穩定性不僅包括外界環境的影響,還有系統自身演算法更新、程序更新對系統的影響。特別是演算法更新,不僅需要在指標上有所提高,還需要具有一定兼容性。演算法更新常常導致程序短時間內無法使用,所以每一次演算法替換都需要謹慎考慮。

以上所有內容,就是本次對多目標跟蹤的梳理。文章參考了大量文獻,也結合了本人的實戰項目經驗,希望能通過這樣體系化的梳理讓大家有所收穫。也非常歡迎大家和我溝通對多目標跟蹤的見解和看法,可以關注我的公眾號「AI產品的自我修養」,記得留言給我哦~

PS:非常感謝@黃釗hanniman 對本文作出的指導。黃釗hanniman,圖靈機器人-人才戰略官,前騰訊產品經理,5年AI實戰經驗,8年互聯網背景,微信公眾號/知乎/在行ID「hanniman」,飯糰「AI產品經理大本營」(http://fantuan.guokr.net/groups/219/),分享人工智慧相關原創乾貨。


附:參考文章如下

← 返回文章列表