多目標跟蹤(MOT, Multiple Object Tracking)
多目標跟蹤是CV領(lǐng)域一個(gè)熱門(mén)方向,廣泛應用于機器人導航、智能監控視頻、工業(yè)檢測、航空航天等領(lǐng)域。主要任務(wù)是找到圖像序列中運動(dòng)的物體,并將不同幀的運動(dòng)物體一一對應,最后給出不同物體的運動(dòng)軌跡。
一、術(shù)語(yǔ)了解
1、檢測:定位目標在圖像中的位置。檢測方法很多,例如幀間差分法、背景減除法、光流法等等;另外,檢測常與識別結合。
2、跟蹤:在連續圖像序列中完成對目標的檢測,并把物理意義下同一目標相關(guān)聯(lián)。
3、軌跡(Trajectory):一條軌跡對于這一目標在一段時(shí)間內的位置序列;是多目標跟蹤系統的輸出量。
4、數據關(guān)聯(lián):用于解決目標間的匹配問(wèn)題;是多目標跟蹤的核心問(wèn)題。
5、跟蹤置信度:跟蹤算法反應每一次跟蹤的可靠程度。
二、技術(shù)流程詳解
1、圖像采集
多目標跟蹤對于圖像采集要求評估的因素與人臉識別差別不大。詳見(jiàn)上一篇文章《人臉識別 | AI產(chǎn)品經(jīng)理需要了解的CV通識(二)》。
2、圖像預處理
典型的圖像預處理方法是直方圖均衡和濾波。
1)直方圖均衡
直方圖描述了一副圖像的灰度級內容,而直方圖均衡化的主要目的,是為了提高對比度和灰度色調的變化,使圖像更加清晰。
2)濾波
圖像濾波的主要目的是,在保持圖像特征的情況下進(jìn)行噪聲消除,具體可以分為線(xiàn)性濾波和非線(xiàn)性濾波。非線(xiàn)性濾波相比線(xiàn)性濾波來(lái)說(shuō),更能保護圖像細節。
3、基于深度學(xué)習的多目標檢測識別
目標檢測的實(shí)質(zhì)是多目標的定位,即要在圖片中定位多個(gè)目標物體。
例如下圖,既要定位各個(gè)目標,還需要將不同目標用不同顏色的框表示。
(By 深思考人工智能)
1)基于深度學(xué)習的目標檢測算法:YOLO、YOLOv2、YOLO9000
YOLO(You Only Look Once)是基于深度學(xué)習方法的端到端實(shí)時(shí)目標檢測系統。YOLO的升級版有兩種:YOLOv2和YOLO9000。YOLO9000可以識別超過(guò)9000類(lèi)別。
YOLO對圖片的處理步驟主要分為三個(gè)部分:
a.將圖片縮放到448*448大小
b.運行卷積網(wǎng)絡(luò )
c.設置模型置信度閾值,輸出結果
(By 代碼學(xué)習者coding)
2)基于深度學(xué)習的目標檢測算法:SSD
SSD(Single Shot MultiBOX Detector),截止目前是主要的檢測框架之一,相比Fast-RNN速度更快;相比YOLO有明顯的mAP優(yōu)勢(mAP:平均正確率),但不及YOLO9000。
SSD缺點(diǎn):
a.調試過(guò)程非常依賴(lài)經(jīng)驗
b.檢測小目標的召回率值不是很高
3)YOLO和SSD效果比較
(By 代碼學(xué)習者coding)
從圖上可以看出,YOLO漏檢率較高,SSD相對來(lái)說(shuō)表現較好。
4)目標檢測識別相關(guān)指標
a.精確率:計算方式詳見(jiàn)《人臉識別 | AI產(chǎn)品經(jīng)理需要了解的CV通識(二)》
b.召回率:同上。
c.識別精度:目標檢測中衡量檢測出精度的指標是平均正確率均值mAP(mean average precision)
首先我們了解一下AP(平均正確率)
平均正確率:precision/recall曲線(xiàn)下方圍成的曲面面積,如下圖:
其中橫坐標是recall,縱坐標是precision。AP是這個(gè)曲線(xiàn)下的面積,而mAP就是多個(gè)類(lèi)別AP的平均值,這個(gè)值介于0到1之間,且越大越好。
d.檢測響應:檢測過(guò)程的輸出量。
e.識別效率:識別的速度。相對應選擇效率極大化的迭代算法。
f.交并比(IoU):可以理解為系統預測出來(lái)的框與原來(lái)圖中標記框的重合程度,最理想的情況是完全重疊,即比值為1。
計算公式:
4、多目標跟蹤
下圖中的曲線(xiàn)是該目標的跟蹤路徑,圖中線(xiàn)條即代表各個(gè)目標的軌跡。
目前跟蹤的困難點(diǎn):
a.遮擋、目標消失后再出現,會(huì )有丟失目標的現象;
b.相似目標容易被當成同一目標;
由于以上原因,在實(shí)際場(chǎng)景里多目標跟蹤可能會(huì )發(fā)生人員重復檢測、漏檢、同一目標多條軌跡等情況。如果需求對人員統計非常嚴格,可以考慮由其他方案完成。多目標跟蹤應用于一個(gè)區域(一個(gè)攝像頭畫(huà)面內),計算該區域內的目標數以及目標跟蹤這樣的場(chǎng)景會(huì )更好。
三、多目標跟蹤的應用場(chǎng)景
目標識別常用來(lái)確定某畫(huà)面或視頻中包含什么物體、各個(gè)物體在什么位置、各個(gè)物體的軌跡。因此常用于監控,人機交互和虛擬現實(shí)的場(chǎng)景。
1)人員檢測:計算畫(huà)面中行人的數目,并確定其位置。
應用場(chǎng)景:
a.可用于計算區域人員密度過(guò)高告警。
產(chǎn)品功能考慮:在監控畫(huà)面對區域進(jìn)行劃分,并對人員密度(梳理)進(jìn)行設置。閾值的設置可以考慮和時(shí)間結合,在某一段時(shí)間內超過(guò)某閾值即可告警。
利用本算法進(jìn)行人員計算的缺點(diǎn)是如果發(fā)生目標丟失,會(huì )將同一人的兩個(gè)狀態(tài)識別為兩個(gè)人,使得真實(shí)數目與檢測數目誤差大。
b.可用于范圍監測告警(越界監測):例如闖紅燈、翻墻等事件。
產(chǎn)品功能考慮:在監控地圖里設置關(guān)注區域,當關(guān)注區域一旦出現人/車(chē)/其他物體,則可立即實(shí)現告警。特別適合對入侵行為需要重點(diǎn)防范的場(chǎng)合,比如展館、監獄、禁區等地。
c.異常行為檢測:目標突然發(fā)生劇烈變化,如打架斗毆等行為。
產(chǎn)品功能考慮:對目標設定異常行為檢測,當出現異常行為時(shí)即可告警。異常行為檢測適合在對異常行為有需要重點(diǎn)防范的場(chǎng)合,比如學(xué)校、公共區域等地方。
2)車(chē)輛識別:計算畫(huà)面中車(chē)輛的數目,并確定其位置。
還可以和車(chē)型識別、車(chē)顏色識別、車(chē)輛逆流檢測等結合。實(shí)現對車(chē)輛特點(diǎn)的全識別。
應用場(chǎng)景:
a.可用于交通疏散,針對有可能發(fā)生擁堵的區域提前進(jìn)行部署。
b.可用于追蹤黑名單車(chē)輛:車(chē)輛檢測可識別車(chē)輛類(lèi)型、車(chē)輛顏色等等,這些信息均可用來(lái)定位目標。
c.防車(chē)輛套牌方案:車(chē)輛識別和車(chē)牌識別結合,防止車(chē)輛套牌案件發(fā)生
3)應用于智能駕駛方案:目標識別和場(chǎng)景分割、SLAM結合,可識別出道路路況,提供智能駕駛所需要的路邊物體信息。
四、多目標跟蹤監控產(chǎn)品系統分析
多目標跟蹤監控類(lèi)的產(chǎn)品現在已經(jīng)有不少,拿商湯的軟件產(chǎn)品作為典型例子:
1、產(chǎn)品功能分析
產(chǎn)品的功能主要有以下內容:攝像頭個(gè)數、行人人次、非機動(dòng)車(chē)車(chē)次、機動(dòng)車(chē)車(chē)次、告警次數、監控畫(huà)面、目標抓拍。
我們從大的劃分來(lái)看,主要是四塊:設備、統計、監控、抓拍。除了這四塊之外,根據經(jīng)驗我們還需要考慮到歷史的分析和檢索。
1)設備
商湯的產(chǎn)品只體現了設備的數目,而更重要的是設備的篩選功能。其實(shí)設備的控制非常復雜,我們常常為了監控攝像頭的狀態(tài)設計一個(gè)新的管理系統。在另外一個(gè)設備的管理系統中,我們需要跟蹤設備的使用狀態(tài),設備的詳細信息(對應的攝像頭編號位置等),以及攝像頭的定位。
2)統計
統計除了上例時(shí)間段的統計之外,還可以進(jìn)行某一時(shí)刻某一區域上的目標統計。某一時(shí)刻的統計的意義比時(shí)間段統計在一些特定需求上更為重要。特別是某時(shí)刻目標數如果超過(guò)閾值,跟告警系統匹配,能夠捕捉群體行為。某時(shí)刻的目標數目是否超過(guò)設定閾值,是多目標最常見(jiàn)的需求,也是典型應用之一。
3)監控
監控界面結合了多種類(lèi)別的識別:例如行人的性別、頭發(fā)長(cháng)短、衣物類(lèi)型等等。這也是多目標最“酷炫”的一部分,人們常常被系統的自動(dòng)識別吸引。多目標在前端的表示常常是一個(gè)Boxing加一條尾巴,即目標的定位和軌跡。而目標旁的標簽(屬性),則是多目標識別和其他垂直方向識別的結合。
產(chǎn)品在這塊有兩部分工作:
a.跟進(jìn)多目標的漏檢率以及IoU,以及思考同一管道多種屬性識別的結合,以應對不同場(chǎng)景需求。更偏向技術(shù)類(lèi)。
b.關(guān)注監控系統的流暢性和穩定性。更偏向業(yè)務(wù)類(lèi)。
4)抓拍
抓拍也是體現多目標價(jià)值的典型功能之一。抓拍能將監控中的目標單獨地隔離出來(lái),這是后續檢索目標功能實(shí)現的前提。抓拍到的圖片在界面展示時(shí)可利用緩存,之后建議存儲至云端。
5)歷史
a.搜索:跟普通搜索系統相比,多目標系統必不可少的一個(gè)功能一定是圖片檢索。在系統中利用文字(與多目標的標簽關(guān)聯(lián))或圖片進(jìn)行圖片檢索,能更容易查找到目標。
b.分析:利用大數據技術(shù),對歷史的人流、車(chē)流、告警記錄進(jìn)行分析,有利于目標管控和后期閾值設置。
2、產(chǎn)品系統分析
1)實(shí)時(shí)性
監控系統最重要的一點(diǎn)是實(shí)時(shí)性,相比于普通監控產(chǎn)品,AI監控系統對設備硬件的要求更高。圖像處理速度和網(wǎng)速需要被綜合評估,監控系統的延時(shí)現象需要控制在用戶(hù)可接受范圍內。
2)耦合性
AI監控系統鏈路長(cháng)、設計到的子系統眾多,因此在產(chǎn)品架構設計上需要考慮到程序之間的耦合性。耦合程度太高會(huì )使系統的升級更新與維護更加困難。
3)穩定性
這里的穩定性不僅包括外界環(huán)境的影響,還有系統自身算法更新、程序更新對系統的影響。特別是算法更新,不僅需要在指標上有所提高,還需要具有一定兼容性。算法更新常常導致程序短時(shí)間內無(wú)法使用,所以每一次算法替換都需要謹慎考慮。
以上所有內容,就是本次對多目標跟蹤的梳理。文章參考了大量文獻,也結合了本人的實(shí)戰項目經(jīng)驗,希望能通過(guò)這樣體系化的梳理讓大家有所收獲。也非常歡迎大家和我溝通對多目標跟蹤的見(jiàn)解和看法,可以關(guān)注我的公眾號“AI產(chǎn)品的自我修養”,記得留言給我哦~
PS:非常感謝@黃釗hanniman 對本文作出的指導。黃釗hanniman,圖靈機器人-人才戰略官,前騰訊產(chǎn)品經(jīng)理,5年AI實(shí)戰經(jīng)驗,8年互聯(lián)網(wǎng)背景,微信公眾號/知乎/在行ID“hanniman”,飯團“AI產(chǎn)品經(jīng)理大本營(yíng)”(http://fantuan.guokr.net/groups/219/),分享人工智能相關(guān)原創(chuàng )干貨。
附:參考文章如下
來(lái)源:互聯(lián)網(wǎng)產(chǎn)品研究中心