多目標(biāo)跟蹤:AI產(chǎn)品經(jīng)理需要了解的CV通識(shí)

0 評(píng)論 8086 瀏覽 47 收藏 16 分鐘

多目標(biāo)跟蹤的主要任務(wù)是找到圖像序列中運(yùn)動(dòng)的物體,并將不同幀的運(yùn)動(dòng)物體一一對(duì)應(yīng),最后給出不同物體的運(yùn)動(dòng)軌跡。

多目標(biāo)跟蹤(MOT, Multiple Object Tracking):多目標(biāo)跟蹤是CV領(lǐng)域一個(gè)熱門(mén)方向,廣泛應(yīng)用于機(jī)器人導(dǎo)航、智能監(jiān)控視頻、工業(yè)檢測(cè)、航空航天等領(lǐng)域。主要任務(wù)是找到圖像序列中運(yùn)動(dòng)的物體,并將不同幀的運(yùn)動(dòng)物體一一對(duì)應(yīng),最后給出不同物體的運(yùn)動(dòng)軌跡。

一、術(shù)語(yǔ)了解

  • 檢測(cè):定位目標(biāo)在圖像中的位置。檢測(cè)方法很多,例如幀間差分法、背景減除法、光流法等等;另外,檢測(cè)常與識(shí)別結(jié)合。
  • 跟蹤:在連續(xù)圖像序列中完成對(duì)目標(biāo)的檢測(cè),并把物理意義下同一目標(biāo)相關(guān)聯(lián)。
  • 軌跡(Trajectory):一條軌跡對(duì)于這一目標(biāo)在一段時(shí)間內(nèi)的位置序列;是多目標(biāo)跟蹤系統(tǒng)的輸出量。
  • 數(shù)據(jù)關(guān)聯(lián):用于解決目標(biāo)間的匹配問(wèn)題;是多目標(biāo)跟蹤的核心問(wèn)題。
  • 跟蹤置信度:跟蹤算法反應(yīng)每一次跟蹤的可靠程度。

二、技術(shù)流程詳解

1、圖像采集

多目標(biāo)跟蹤對(duì)于圖像采集要求評(píng)估的因素與人臉識(shí)別差別不大。詳見(jiàn)上一篇文章《人臉識(shí)別:AI產(chǎn)品經(jīng)理需要了解的CV通識(shí)》。

2、圖像預(yù)處理

典型的圖像預(yù)處理方法是直方圖均衡和濾波。

1)直方圖均衡

直方圖描述了一副圖像的灰度級(jí)內(nèi)容,而直方圖均衡化的主要目的,是為了提高對(duì)比度和灰度色調(diào)的變化,使圖像更加清晰。

2)濾波

圖像濾波的主要目的是,在保持圖像特征的情況下進(jìn)行噪聲消除,具體可以分為線(xiàn)性濾波和非線(xiàn)性濾波。非線(xiàn)性濾波相比線(xiàn)性濾波來(lái)說(shuō),更能保護(hù)圖像細(xì)節(jié)。

3、基于深度學(xué)習(xí)的多目標(biāo)檢測(cè)識(shí)別

目標(biāo)檢測(cè)的實(shí)質(zhì)是多目標(biāo)的定位,即要在圖片中定位多個(gè)目標(biāo)物體。

例如下圖,既要定位各個(gè)目標(biāo),還需要將不同目標(biāo)用不同顏色的框表示。

(By 深思考人工智能)

1)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法:YOLO、YOLOv2、YOLO9000

YOLO(You Only Look Once)是基于深度學(xué)習(xí)方法的端到端實(shí)時(shí)目標(biāo)檢測(cè)系統(tǒng)。YOLO的升級(jí)版有兩種:YOLOv2和YOLO9000。YOLO9000可以識(shí)別超過(guò)9000類(lèi)別。

YOLO對(duì)圖片的處理步驟主要分為三個(gè)部分:

  • 將圖片縮放到448*448大小
  • 運(yùn)行卷積網(wǎng)絡(luò)
  • 設(shè)置模型置信度閾值,輸出結(jié)果

(By 代碼學(xué)習(xí)者coding)

2)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法:SSD

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

SSD缺點(diǎn):

  • 調(diào)試過(guò)程非常依賴(lài)經(jīng)驗(yàn)
  • 檢測(cè)小目標(biāo)的召回率值不是很高

3)YOLO和SSD效果比較

(By 代碼學(xué)習(xí)者coding)

從圖上可以看出,YOLO漏檢率較高,SSD相對(duì)來(lái)說(shuō)表現(xiàn)較好。

4)目標(biāo)檢測(cè)識(shí)別相關(guān)指標(biāo)

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

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

其中橫坐標(biāo)是recall,縱坐標(biāo)是precision。AP是這個(gè)曲線(xiàn)下的面積,而mAP就是多個(gè)類(lèi)別AP的平均值,這個(gè)值介于0到1之間,且越大越好。

  • 檢測(cè)響應(yīng):檢測(cè)過(guò)程的輸出量。
  • 識(shí)別效率:識(shí)別的速度。相對(duì)應(yīng)選擇效率極大化的迭代算法。
  • 交并比(IoU):可以理解為系統(tǒng)預(yù)測(cè)出來(lái)的框與原來(lái)圖中標(biāo)記框的重合程度,最理想的情況是完全重疊,即比值為1。

計(jì)算公式:

4、多目標(biāo)跟蹤

下圖中的曲線(xiàn)是該目標(biāo)的跟蹤路徑,圖中線(xiàn)條即代表各個(gè)目標(biāo)的軌跡。

目前跟蹤的困難點(diǎn):

a.遮擋、目標(biāo)消失后再出現(xiàn),會(huì)有丟失目標(biāo)的現(xiàn)象;

b.相似目標(biāo)容易被當(dāng)成同一目標(biāo);

由于以上原因,在實(shí)際場(chǎng)景里多目標(biāo)跟蹤可能會(huì)發(fā)生人員重復(fù)檢測(cè)、漏檢、同一目標(biāo)多條軌跡等情況。如果需求對(duì)人員統(tǒng)計(jì)非常嚴(yán)格,可以考慮由其他方案完成。多目標(biāo)跟蹤應(yīng)用于一個(gè)區(qū)域(一個(gè)攝像頭畫(huà)面內(nèi)),計(jì)算該區(qū)域內(nèi)的目標(biāo)數(shù)以及目標(biāo)跟蹤這樣的場(chǎng)景會(huì)更好。

三、多目標(biāo)跟蹤的應(yīng)用場(chǎng)景

目標(biāo)識(shí)別常用來(lái)確定某畫(huà)面或視頻中包含什么物體、各個(gè)物體在什么位置、各個(gè)物體的軌跡。因此常用于監(jiān)控,人機(jī)交互和虛擬現(xiàn)實(shí)的場(chǎng)景。

1)人員檢測(cè):計(jì)算畫(huà)面中行人的數(shù)目,并確定其位置。

應(yīng)用場(chǎng)景:

a.可用于計(jì)算區(qū)域人員密度過(guò)高告警。

產(chǎn)品功能考慮:在監(jiān)控畫(huà)面對(duì)區(qū)域進(jìn)行劃分,并對(duì)人員密度(梳理)進(jìn)行設(shè)置。閾值的設(shè)置可以考慮和時(shí)間結(jié)合,在某一段時(shí)間內(nèi)超過(guò)某閾值即可告警。

利用本算法進(jìn)行人員計(jì)算的缺點(diǎn)是如果發(fā)生目標(biāo)丟失,會(huì)將同一人的兩個(gè)狀態(tài)識(shí)別為兩個(gè)人,使得真實(shí)數(shù)目與檢測(cè)數(shù)目誤差大。

b.可用于范圍監(jiān)測(cè)告警(越界監(jiān)測(cè)):例如闖紅燈、翻墻等事件。

產(chǎn)品功能考慮:在監(jiān)控地圖里設(shè)置關(guān)注區(qū)域,當(dāng)關(guān)注區(qū)域一旦出現(xiàn)人/車(chē)/其他物體,則可立即實(shí)現(xiàn)告警。特別適合對(duì)入侵行為需要重點(diǎn)防范的場(chǎng)合,比如展館、監(jiān)獄、禁區(qū)等地。

c.異常行為檢測(cè):目標(biāo)突然發(fā)生劇烈變化,如打架斗毆等行為。

產(chǎn)品功能考慮:對(duì)目標(biāo)設(shè)定異常行為檢測(cè),當(dāng)出現(xiàn)異常行為時(shí)即可告警。異常行為檢測(cè)適合在對(duì)異常行為有需要重點(diǎn)防范的場(chǎng)合,比如學(xué)校、公共區(qū)域等地方。

2)車(chē)輛識(shí)別:計(jì)算畫(huà)面中車(chē)輛的數(shù)目,并確定其位置。

還可以和車(chē)型識(shí)別、車(chē)顏色識(shí)別、車(chē)輛逆流檢測(cè)等結(jié)合。實(shí)現(xiàn)對(duì)車(chē)輛特點(diǎn)的全識(shí)別。

應(yīng)用場(chǎng)景:

a.可用于交通疏散,針對(duì)有可能發(fā)生擁堵的區(qū)域提前進(jìn)行部署。

b.可用于追蹤黑名單車(chē)輛:車(chē)輛檢測(cè)可識(shí)別車(chē)輛類(lèi)型、車(chē)輛顏色等等,這些信息均可用來(lái)定位目標(biāo)。

c.防車(chē)輛套牌方案:車(chē)輛識(shí)別和車(chē)牌識(shí)別結(jié)合,防止車(chē)輛套牌案件發(fā)生

3)應(yīng)用于智能駕駛方案:目標(biāo)識(shí)別和場(chǎng)景分割、SLAM結(jié)合,可識(shí)別出道路路況,提供智能駕駛所需要的路邊物體信息。

四、多目標(biāo)跟蹤監(jiān)控產(chǎn)品系統(tǒng)分析

多目標(biāo)跟蹤監(jiān)控類(lèi)的產(chǎn)品現(xiàn)在已經(jīng)有不少,拿商湯的軟件產(chǎn)品作為典型例子:

1、產(chǎn)品功能分析

產(chǎn)品的功能主要有以下內(nèi)容:攝像頭個(gè)數(shù)、行人人次、非機(jī)動(dòng)車(chē)車(chē)次、機(jī)動(dòng)車(chē)車(chē)次、告警次數(shù)、監(jiān)控畫(huà)面、目標(biāo)抓拍。

我們從大的劃分來(lái)看,主要是四塊:設(shè)備、統(tǒng)計(jì)、監(jiān)控、抓拍。除了這四塊之外,根據(jù)經(jīng)驗(yàn)我們還需要考慮到歷史的分析和檢索。

1)設(shè)備

商湯的產(chǎn)品只體現(xiàn)了設(shè)備的數(shù)目,而更重要的是設(shè)備的篩選功能。其實(shí)設(shè)備的控制非常復(fù)雜,我們常常為了監(jiān)控?cái)z像頭的狀態(tài)設(shè)計(jì)一個(gè)新的管理系統(tǒng)。在另外一個(gè)設(shè)備的管理系統(tǒng)中,我們需要跟蹤設(shè)備的使用狀態(tài),設(shè)備的詳細(xì)信息(對(duì)應(yīng)的攝像頭編號(hào)位置等),以及攝像頭的定位。

2)統(tǒng)計(jì)

統(tǒng)計(jì)除了上例時(shí)間段的統(tǒng)計(jì)之外,還可以進(jìn)行某一時(shí)刻某一區(qū)域上的目標(biāo)統(tǒng)計(jì)。某一時(shí)刻的統(tǒng)計(jì)的意義比時(shí)間段統(tǒng)計(jì)在一些特定需求上更為重要。特別是某時(shí)刻目標(biāo)數(shù)如果超過(guò)閾值,跟告警系統(tǒng)匹配,能夠捕捉群體行為。某時(shí)刻的目標(biāo)數(shù)目是否超過(guò)設(shè)定閾值,是多目標(biāo)最常見(jiàn)的需求,也是典型應(yīng)用之一。

3)監(jiān)控

監(jiān)控界面結(jié)合了多種類(lèi)別的識(shí)別:例如行人的性別、頭發(fā)長(zhǎng)短、衣物類(lèi)型等等。這也是多目標(biāo)最“酷炫”的一部分,人們常常被系統(tǒng)的自動(dòng)識(shí)別吸引。多目標(biāo)在前端的表示常常是一個(gè)Boxing加一條尾巴,即目標(biāo)的定位和軌跡。而目標(biāo)旁的標(biāo)簽(屬性),則是多目標(biāo)識(shí)別和其他垂直方向識(shí)別的結(jié)合。

產(chǎn)品在這塊有兩部分工作:

a.跟進(jìn)多目標(biāo)的漏檢率以及IoU,以及思考同一管道多種屬性識(shí)別的結(jié)合,以應(yīng)對(duì)不同場(chǎng)景需求。更偏向技術(shù)類(lèi)。

b.關(guān)注監(jiān)控系統(tǒng)的流暢性和穩(wěn)定性。更偏向業(yè)務(wù)類(lèi)。

4)抓拍

抓拍也是體現(xiàn)多目標(biāo)價(jià)值的典型功能之一。抓拍能將監(jiān)控中的目標(biāo)單獨(dú)地隔離出來(lái),這是后續(xù)檢索目標(biāo)功能實(shí)現(xiàn)的前提。抓拍到的圖片在界面展示時(shí)可利用緩存,之后建議存儲(chǔ)至云端。

5)歷史

a.搜索:跟普通搜索系統(tǒng)相比,多目標(biāo)系統(tǒng)必不可少的一個(gè)功能一定是圖片檢索。在系統(tǒng)中利用文字(與多目標(biāo)的標(biāo)簽關(guān)聯(lián))或圖片進(jìn)行圖片檢索,能更容易查找到目標(biāo)。

b.分析:利用大數(shù)據(jù)技術(shù),對(duì)歷史的人流、車(chē)流、告警記錄進(jìn)行分析,有利于目標(biāo)管控和后期閾值設(shè)置。

2、產(chǎn)品系統(tǒng)分析

1)實(shí)時(shí)性

監(jiān)控系統(tǒng)最重要的一點(diǎn)是實(shí)時(shí)性,相比于普通監(jiān)控產(chǎn)品,AI監(jiān)控系統(tǒng)對(duì)設(shè)備硬件的要求更高。圖像處理速度和網(wǎng)速需要被綜合評(píng)估,監(jiān)控系統(tǒng)的延時(shí)現(xiàn)象需要控制在用戶(hù)可接受范圍內(nèi)。

2)耦合性

AI監(jiān)控系統(tǒng)鏈路長(zhǎng)、設(shè)計(jì)到的子系統(tǒng)眾多,因此在產(chǎn)品架構(gòu)設(shè)計(jì)上需要考慮到程序之間的耦合性。耦合程度太高會(huì)使系統(tǒng)的升級(jí)更新與維護(hù)更加困難。

3)穩(wěn)定性

這里的穩(wěn)定性不僅包括外界環(huán)境的影響,還有系統(tǒng)自身算法更新、程序更新對(duì)系統(tǒng)的影響。特別是算法更新,不僅需要在指標(biāo)上有所提高,還需要具有一定兼容性。算法更新常常導(dǎo)致程序短時(shí)間內(nèi)無(wú)法使用,所以每一次算法替換都需要謹(jǐn)慎考慮。

以上所有內(nèi)容,就是本次對(duì)多目標(biāo)跟蹤的梳理。文章參考了大量文獻(xiàn),也結(jié)合了本人的實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn),希望能通過(guò)這樣體系化的梳理讓大家有所收獲。

PS:非常感謝@黃釗hanniman 對(duì)本文作出的指導(dǎo)。黃釗hanniman:圖靈機(jī)器人-人才戰(zhàn)略官,前騰訊產(chǎn)品經(jīng)理,5年AI實(shí)戰(zhàn)經(jīng)驗(yàn),8年互聯(lián)網(wǎng)背景,微信公眾號(hào)/知乎/在行ID“hanniman”。

附:參考文章如下

 

作者:Jasmine,微信公眾號(hào):AI產(chǎn)品的自我修養(yǎng)

本文由 @Jasmine 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖由作者提供

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!