結(jié)合檢測(cè)、人員追蹤和姿勢(shì)估計(jì)的案例分析
我們生活在一個(gè)不斷發(fā)展的世界,安全已成為一項(xiàng)基本優(yōu)先事項(xiàng)。在這個(gè)不斷變化的時(shí)代,安全問題已經(jīng)成為焦點(diǎn)。對(duì)安全的日益關(guān)注在各種公共場(chǎng)所明顯,包括機(jī)場(chǎng)、學(xué)校、購物中心等等。這種關(guān)切源于人群中廣泛存在的槍支。令人震驚的是,僅在2023年初,美國就因與槍支有關(guān)的暴力事件發(fā)生了超過2萬起致命案件。這些令人擔(dān)憂的統(tǒng)計(jì)數(shù)字強(qiáng)調(diào)了我們社會(huì)迫切需要進(jìn)行討論和采取行動(dòng),以提高安全性并遏制槍支在我們社會(huì)中造成的毀滅性影響。
如今,公共和私人空間的監(jiān)控主要由 人工操作員進(jìn)行,這帶來了一些問題。其中包括操作員同時(shí)監(jiān)視多個(gè)攝像頭的挑戰(zhàn),以及可能導(dǎo)致在關(guān)鍵情況下反應(yīng)不及時(shí)的潛在干擾。因此,實(shí)施能夠在某種程度上自動(dòng)化該過程的先進(jìn)監(jiān)控系統(tǒng)變得至關(guān)重要。
本工作提出了使用人工智能進(jìn)行武器檢測(cè)和個(gè)體追蹤的系統(tǒng)的設(shè)計(jì)和開發(fā)。 本文將詳細(xì)闡述使用YOLO實(shí)現(xiàn)目標(biāo)檢測(cè)、使用ByteTrack進(jìn)行人員追蹤以及使用OpenVINO進(jìn)行模型優(yōu)化的過程,旨在創(chuàng)建一個(gè)增強(qiáng)安全和監(jiān)控的解決方案。
目標(biāo)

該項(xiàng)目的目標(biāo)如下:
1. 在視頻中進(jìn)行實(shí)時(shí)槍支檢測(cè)。
2. 優(yōu)化檢測(cè)模型,提高視頻處理效率并減少推斷時(shí)間。
3. 追蹤攜帶武器的個(gè)體,實(shí)時(shí)監(jiān)控感興趣的人。
已實(shí)施的模塊

為實(shí)現(xiàn)這些目標(biāo),實(shí)施了兩個(gè)模塊:
-
檢測(cè)模塊:集成了一個(gè)經(jīng)過預(yù)訓(xùn)練以識(shí)別武器并經(jīng)過優(yōu)化以減少推斷時(shí)間的YOLO目標(biāo)檢測(cè)器。
-
追蹤模塊:負(fù)責(zé)估計(jì)個(gè)體的姿態(tài)并追蹤它們。稍后將提供有關(guān)為何進(jìn)行姿態(tài)估計(jì)的理由的進(jìn)一步解釋,這對(duì)于識(shí)別感興趣的人物至關(guān)重要。
系統(tǒng)的輸入是一個(gè)視頻,可以是MP4、AVI或其他常見視頻格式。這兩個(gè)模塊的聯(lián)合輸出結(jié)果是一個(gè)MP4視頻,突出顯示武器檢測(cè)和人員追蹤。此外,生成并存儲(chǔ)了包含有關(guān)使用的檢測(cè)方法和推斷時(shí)間的詳細(xì)信息的日志。
使用YOLO進(jìn)行目標(biāo)檢測(cè)

為了檢測(cè)武器,選擇了速度快且在實(shí)時(shí)目標(biāo)檢測(cè)中效果顯著的YOLO算法。YOLO代表"You Only Look Once",是一種通過將圖像分成網(wǎng)格并預(yù)測(cè)每個(gè)網(wǎng)格單元內(nèi)對(duì)象的邊界框和類別概率來運(yùn)行的目標(biāo)檢測(cè)算法。它在神經(jīng)網(wǎng)絡(luò)中進(jìn)行一次前向傳遞,以其速度和實(shí)時(shí)性而聞名。YOLO能夠高效地處理整個(gè)圖像,同時(shí)預(yù)測(cè)多個(gè)對(duì)象,因此在各種計(jì)算機(jī)視覺任務(wù)中備受青睞。
在此項(xiàng)目中,進(jìn)行了YOLOv5、YOLOv7和YOLOv8的測(cè)試。在初始實(shí)驗(yàn)階段,YOLOv7實(shí)現(xiàn)了更高的準(zhǔn)確性。然而,截至當(dāng)前開發(fā)階段,決定使用Ultralytics的YOLOv8。

使用的數(shù)據(jù)集
進(jìn)行了多個(gè)數(shù)據(jù)集的實(shí)驗(yàn),但最終的最佳模型是根據(jù)Ultralytics的建議達(dá)到的:
-
每類圖像:每類建議≥1500張圖像。
-
每類實(shí)例:每類建議≥10000個(gè)實(shí)例(標(biāo)記的對(duì)象)。
-
圖像多樣性:必須代表已部署環(huán)境。對(duì)于實(shí)際用例,建議使用不同時(shí)間、不同季節(jié)、不同天氣、不同光照、不同角度、不同來源(在線抓取、本地收集、不同相機(jī)等)的圖像。
為了評(píng)估之前訓(xùn)練的模型,使用了不同的數(shù)據(jù)集進(jìn)行測(cè)試,該數(shù)據(jù)集由安全攝像頭的視頻幀組成,并進(jìn)行了預(yù)先標(biāo)記。

使用ByteTrack追蹤個(gè)體

在追蹤人員方面,有各種不同的方法,但它們通常會(huì)面臨一些問題,比如當(dāng)人們部分隱藏或改變大小時(shí),跟蹤就會(huì)出現(xiàn)問題,導(dǎo)致路徑分散和身份轉(zhuǎn)變。然而,在當(dāng)前技術(shù)水平上一個(gè)有希望的解決方案是ByteTrack,它旨在克服這些追蹤問題。
Byte Track的運(yùn)作方式

通常,為了追蹤多個(gè)對(duì)象,會(huì)使用得分高于某個(gè)閾值(如0.5)的檢測(cè)框。 然后,追蹤器與這些檢測(cè)框相關(guān)聯(lián),基于它們的相似性進(jìn)行配對(duì)。
例如,在上面的圖像中,初始化了三個(gè)不同的軌跡,因?yàn)樗鼈兊牡梅侄几哂?.5。然而,在遮擋期間,與紅色軌跡相關(guān)聯(lián)的檢測(cè)置信度從0.8降到0.4,然后從0.4降到0.1。由于這些檢測(cè)框低于閾值,它們被移除,導(dǎo)致紅色軌跡消失。
ByteTrack保留所有檢測(cè)框并將它們分類為兩組:得分高和得分低。這種方法分兩個(gè)階段進(jìn)行。在第一階段,根據(jù)運(yùn)動(dòng)的相似性(使用交并比)或預(yù)測(cè)框之間的外觀與重新識(shí)別功能,將高得分的檢測(cè)框與軌跡進(jìn)行匹配。在第二階段,再次使用運(yùn)動(dòng)相似性作為標(biāo)準(zhǔn),在未配對(duì)的軌跡和得分低的檢測(cè)框之間進(jìn)行第二次匹配過程。
因此,使用ByteTrack解決了追蹤的“如何”問題…但“追蹤誰”呢?嗯,最初的想法是追蹤離武器最近的人。如果有人靠近武器,他們被視為嫌疑人。但是出現(xiàn)了一個(gè)問題,如果武器離受害者很近,追蹤會(huì)集中在受害者而不是感興趣的人。

因此,提出的解決方案是識(shí)別每個(gè)人的手 的位置并追蹤手最靠近武器的人,即實(shí)際持有武器的人。此時(shí),就用到了姿勢(shì)估計(jì)。
姿勢(shì)估計(jì)
為了實(shí)現(xiàn)手的識(shí)別,使用了一種稱為姿勢(shì)估計(jì)的東西。姿勢(shì)估計(jì)是一項(xiàng)計(jì)算機(jī)視覺任務(wù),涉及在圖像和視頻中檢測(cè)人體形象并理解其身體姿態(tài)。

有兩種方法:自下而上和自上而下。自下而上的方法首先估計(jì)每個(gè)身體關(guān)節(jié),然后將它們組合成一個(gè)單一的姿勢(shì)。另一方面,自上而下的方法首先運(yùn)行一個(gè)人體檢測(cè)器,然后在檢測(cè)到的邊界框內(nèi)估計(jì)身體關(guān)鍵點(diǎn)。為此,使用了一個(gè)名為“yolov8-pose”的Ultralytics模型。這是一個(gè)為人體姿勢(shì)估計(jì)訓(xùn)練的自上而下模型。該模型識(shí)別一個(gè)人體上的17個(gè)關(guān)鍵點(diǎn),其中兩個(gè)點(diǎn)對(duì)應(yīng)于手。
因此,將一切結(jié)合在一起就是:檢測(cè)人和他們的姿勢(shì),并計(jì)算手和檢測(cè)到的武器的邊界框之間的距離。

下面,我們提供了一個(gè)清晰的例子,展示了有和沒有姿勢(shì)估計(jì)的追蹤。

模型優(yōu)化

我們遇到了特定的硬件限制,但幸運(yùn)的是,我們有OpenVINO等工具顯著提高了推斷時(shí)間。OpenVINO是由英特爾開發(fā)的,旨在與圖形卡競(jìng)爭(zhēng)。它通過將浮點(diǎn)數(shù)量子化為僅使用8或16位的32或64位,通過舍入值來實(shí)現(xiàn)這一點(diǎn)。它在資源有限的設(shè)備上特別有用,例如移動(dòng)設(shè)備或嵌入式系統(tǒng)。在下圖中,有一些有和沒有優(yōu)化的檢測(cè)的例子。
有趣的一點(diǎn)是,在優(yōu)化過程中,通過犧牲一些精度來獲得更好的速度。然而,在某些情況下,精度的損失并不顯著,如下圖中的(C)和(D)所示,它允許對(duì)感興趣的人進(jìn)行準(zhǔn)確的追蹤。在圖(B)中,您可以看到優(yōu)化模型失去精度的一個(gè)例子,檢測(cè)到不存在的武器,導(dǎo)致對(duì)戴帽子的男子和收銀臺(tái)的女子進(jìn)行錯(cuò)誤的追蹤。

挑戰(zhàn)
這 個(gè)項(xiàng)目中的挑戰(zhàn)包括:
-
找到一個(gè)準(zhǔn)確代表現(xiàn)實(shí)情景的數(shù)據(jù)集。
-
當(dāng)武器部分遮擋或模糊時(shí),檢測(cè)準(zhǔn)確性下降。
-
由于文檔中的差異,使用OpenVINO進(jìn)行模型優(yōu)化帶來了挑戰(zhàn)。
最后的想法
總之,在解決追蹤、檢測(cè)和優(yōu)化方面的挑戰(zhàn)時(shí),演示了ByteTrack和OpenVINO等工具的潛力,并且姿勢(shì)估計(jì)的整合為該過程添加了一層準(zhǔn)確性。希望這次探索為現(xiàn)代人工智能解決方案的復(fù)雜性提供了有價(jià)值的見解。
