康金龍 ,劉 濤 ,謝祎霖 ,許 濤 ,宮 勝
(1 西北大學(xué)經(jīng)濟(jì)管理學(xué)院 陜西 西安 710000)
(2 西北大學(xué)網(wǎng)絡(luò)與數(shù)據(jù)中心 陜西 西安 710000)
(3 西北大學(xué)后勤集團(tuán) 陜西 西安 710000)
多目標(biāo)檢測是計(jì)算機(jī)視覺領(lǐng)域亟待解決的基本任務(wù)之一,也是視頻監(jiān)控技術(shù)的基本任務(wù)[1-2]。由于視頻中的物體有不同的姿態(tài),經(jīng)常出現(xiàn)被阻擋的情況,所以它們的運(yùn)動(dòng)是不規(guī)則的[3]。同時(shí),考慮到視頻監(jiān)控的分辨率、天氣、光線等條件和場景的多樣性,目標(biāo)檢測算法的結(jié)果將直接影響后續(xù)跟蹤、分類、動(dòng)作識(shí)別和行為描述的效果[4]。多目標(biāo)檢測仍然是一個(gè)非常具有挑戰(zhàn)性的任務(wù),有很大的潛力和改進(jìn)空間。
Fast-rcnn通過建立多任務(wù)模型,利用神經(jīng)網(wǎng)絡(luò)對(duì)操作進(jìn)行分類,實(shí)現(xiàn)了實(shí)時(shí)端到端聯(lián)合訓(xùn)練[5]。同時(shí),F(xiàn)ast-rcnn實(shí)現(xiàn)了網(wǎng)絡(luò)終端同步訓(xùn)練,提高了準(zhǔn)確率,但分類步驟的性能沒有明顯提高。Faster-rcnn在Fastrcnn的基礎(chǔ)上增加了區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN),提取候選框并合并到深度神經(jīng)網(wǎng)絡(luò)中[6]。通過交替訓(xùn)練,建立了統(tǒng)一的深度神經(jīng)網(wǎng)絡(luò)框架,既減少了重復(fù)計(jì)算,還大大提高了運(yùn)行速度。YOLO的思想是用單個(gè)神經(jīng)網(wǎng)絡(luò)直接訓(xùn)練整個(gè)輸入圖像作為輸入,從而更快速地區(qū)分背景區(qū)域和目標(biāo),以更簡單、更快的方式對(duì)目標(biāo)對(duì)象進(jìn)行實(shí)時(shí)監(jiān)控[7]。該方法將輸入圖像劃分為S×S大小的網(wǎng)格,每個(gè)網(wǎng)格單元預(yù)測邊界框和這些邊界框的可靠性。YOLO本質(zhì)上解決了目標(biāo)檢測的實(shí)時(shí)性問題,真正實(shí)現(xiàn)了“端到端”的CNN結(jié)構(gòu)。YOLOv3的思想是通過特征提取網(wǎng)絡(luò)從輸入圖像中提取一定大小的特征映射,例如13×13[7]。然后將輸入的圖像劃分為13×13格。如果ground truth中一個(gè)對(duì)象的中心坐標(biāo)落在網(wǎng)格單元格中,網(wǎng)格單元格將預(yù)測該對(duì)象,因?yàn)槊總€(gè)網(wǎng)格單元格預(yù)測固定數(shù)量的邊界框。在這些邊界框中,只有那些具有最大限度和ground truth的IOU被用來預(yù)測這些對(duì)象??梢钥闯?,預(yù)測的輸出特征圖具有提取特征的兩個(gè)維度。其中一個(gè)維度是平面,例如13×13,還有一個(gè)維度是深度,例如B×(5+C),其中B表示每個(gè)單元格預(yù)測邊界框的數(shù)量,C表示邊界框?qū)?yīng)的類別數(shù)。
現(xiàn)在流行的圖像檢測算法和視頻檢測算法有很多,它們都有各自的特點(diǎn)和優(yōu)勢,適用于不同的情況。在YOLOv3和Faster-RCNN模型和人口密度估計(jì)下,對(duì)一般場景的人體檢測進(jìn)行計(jì)數(shù)統(tǒng)計(jì)實(shí)驗(yàn)。研究人員發(fā)現(xiàn),當(dāng)人數(shù)較少時(shí),YOLOv3模型更準(zhǔn)確。人群密度估計(jì)是在大量人群中必不可少的檢測方法[8-9]。人群計(jì)數(shù)的方法可以分為三種。第一種是行人檢測:這種方法比較直接,在人群較稀疏的場景中,通過檢測視頻中的每一個(gè)行人,進(jìn)而得到人群計(jì)數(shù)的結(jié)果,一般是用基于外觀和運(yùn)動(dòng)特征的提升方法(boosting),貝葉斯模型為基礎(chǔ)的分割,或集成的自頂向下和自底向上的處理,但是這種方法在人群擁擠情況下不大奏效。第二種是視覺特征軌跡聚類:對(duì)于視頻監(jiān)控,一般用跟蹤和聚類的方法,通過軌跡聚類得到的數(shù)目來估計(jì)人數(shù)。第三種是基于特征的回歸:建立圖像特征和圖像人數(shù)的回歸模型,通過測量圖像特征從而估計(jì)場景中的人數(shù)。在人口密度較高的情況下,人群密度估計(jì)算法常被認(rèn)為是計(jì)算人口數(shù)量的有效方法。該算法采用基于像素的種群密度估計(jì)算法,通過圖像和背景相減得到運(yùn)動(dòng)前景,然后根據(jù)前景像素面積和前景邊緣進(jìn)行線性回歸或分類[10]。在這些方法中,從圖像中提取前景的效果直接影響算法的性能。因?yàn)樵谝曨l中,人相對(duì)于背景總是在移動(dòng),因此可以利用一種視頻幀差法獲取自適應(yīng)背景。該方法利用時(shí)間軸上每個(gè)像素的變化信息,生成不含目標(biāo)種群的背景圖像?;谙袼氐奶幚矸椒ㄈ鐖D1所示。
圖1 基于像素的處理方法示意圖
在現(xiàn)實(shí)生活中,異常的視頻片段可以保存為片段,用于回放,驗(yàn)證當(dāng)時(shí)的情況。研究人員的目標(biāo)是提取一個(gè)超出視頻段中異常數(shù)量閾值范圍的視頻段。為了實(shí)現(xiàn)這一目標(biāo),研究人員需要得到幀序列圖片中的確切幀數(shù)。首先,運(yùn)行IO流讀取采集到的視頻數(shù)據(jù),IO流將檢測視頻的幀率并從視頻中提取幀序列,將這些幀和幀率的結(jié)果保存在本地。然后使用訓(xùn)練后的分類器(在已標(biāo)記的訓(xùn)練數(shù)據(jù)集中)對(duì)圖像數(shù)據(jù)(來自視頻序列幀)進(jìn)行識(shí)別,最終得到一系列標(biāo)記區(qū)域(bound-box regression識(shí)別為人體區(qū)域)。通過統(tǒng)計(jì)標(biāo)記區(qū)域的數(shù)量,研究人員可以得到對(duì)應(yīng)圖像中的人數(shù),并根據(jù)設(shè)置的“異常人數(shù)閾值”來判斷是否超過閾值,這樣就可以從原始視頻中截獲異常人數(shù)段的視頻。最后,根據(jù)檢測抖動(dòng)算法,對(duì)識(shí)別結(jié)果進(jìn)行優(yōu)化。研究人員將原始圖像幀的識(shí)別結(jié)果作為標(biāo)簽組合放到圖像中,然后使用FFMPEG程序(FFMPEG是一個(gè)開源的計(jì)算機(jī)程序,可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并將其轉(zhuǎn)換為流)來重新生成視頻。生成的視頻對(duì)應(yīng)一系列的標(biāo)簽幀的數(shù)量。同時(shí),研究人員將生成的圖像中包含人數(shù)的信息上傳到遠(yuǎn)程系統(tǒng),供顯示系統(tǒng)進(jìn)行分析和顯示。
即使YOLOv3對(duì)小物體(包括人)的檢測效果很好,但在單幀圖像中也會(huì)有一定的漏檢。YOLOv3對(duì)大目標(biāo)檢測不好,并且當(dāng)待檢測的人數(shù)較多時(shí),YOLOv3的檢測效果不理想。針對(duì)這種情況,為了在模型下獲得更好的結(jié)果,研究人員設(shè)置一個(gè)最大閾值N(在實(shí)驗(yàn)中,N的值為25,在20人左右的情況下,模型的準(zhǔn)確率可以達(dá)到90%以上)。一旦使用模型對(duì)一幀進(jìn)行檢測的結(jié)果大于閾值N,將采用人群密度估計(jì)算法進(jìn)行檢測,從而使檢測效果更加準(zhǔn)確。為此,提出了YOLOv3-ANV算法,該算法的框架圖如圖2所示。
圖2 YOLOv3-ANV算法框架示意圖
由于模型本身具有一定的泛化能力,用訓(xùn)練數(shù)據(jù)訓(xùn)練的YOLOv3模型可以檢測到各種場景中的種群,但由于幀之間的變化,模型的檢測效果會(huì)變得不穩(wěn)定,被稱之為不穩(wěn)定變化:檢測抖動(dòng)。因?yàn)橐曨l中出現(xiàn)的跳幀情況而導(dǎo)致生成的異常視頻片段不連續(xù),因此檢測抖動(dòng)會(huì)降低連續(xù)變化圖片的檢測精度(參考DME計(jì)算指標(biāo))。
假設(shè)研究人員找到一個(gè)與檢測結(jié)果前后不同的幀序列號(hào),將其識(shí)別為x,并自定義一個(gè)糾錯(cuò)區(qū)域(長度)的范圍,在實(shí)驗(yàn)中,長度占視頻幀率的1/3。可由式(1)表示:
其中N為視頻幀率。并提取前后長度范圍的檢測結(jié)果進(jìn)行統(tǒng)計(jì)??捎墒剑?)表示:
其中Count()表示計(jì)數(shù)的函數(shù),x-length,x+length表示計(jì)數(shù)的范圍。x1,x2,...,xn表示該范圍內(nèi)的各種檢測結(jié)果。取最大值r,然后用r替換x的檢測結(jié)果值,用來穩(wěn)定檢測結(jié)果序列。同時(shí),利用穩(wěn)定的幀序列也可以獲得閾值外范圍內(nèi)穩(wěn)定的異常視頻片段??捎墒剑?)表示:
本文采用萬方體育競賽數(shù)據(jù)集作為YOLOv3-ANV的主要測試數(shù)據(jù)集。它由7 h 16 min的體育視頻組成。研究人員使用Microsoft COCO訓(xùn)練集來訓(xùn)練YOLOv3-ANV。COCO的全稱是common objects in context,是微軟團(tuán)隊(duì)提供的一個(gè)可以用來進(jìn)行圖像識(shí)別的數(shù)據(jù)集,COCO是當(dāng)前目標(biāo)識(shí)別,目標(biāo)檢測領(lǐng)域最重要,最權(quán)威的一個(gè)標(biāo)桿數(shù)據(jù)集,在COCO數(shù)據(jù)集上可以做多種任務(wù)。2014版本的COCO數(shù)據(jù)集包括82 783個(gè)訓(xùn)練圖像、40 504個(gè)驗(yàn)證圖像以及40 775個(gè)測試圖像,其中有270 k是分割出來的人,以及有886 k是分割出來的物體。萬方體育競賽數(shù)據(jù)集包括:
(1)2016年美國大學(xué)生橄欖球聯(lián)盟:3 h 28 min 24 s的橄欖球比賽。
(2)2017年美國曲棍球聯(lián)賽:1 h 40 min 41 s的曲棍球比賽。
(3)2017年 NCAA籃球錦標(biāo)賽:比賽時(shí)長1 h 54 min 57 s。
(4)賽馬:4 min 10 s的賽馬比賽。
研究人員在實(shí)驗(yàn)室用的GPU為NVIDIA GeForce 1 080 Ti,顯存為8 GB;操作系統(tǒng)為Ubuntu 16.04 LTS。研究人員使用Python3.6版本;配置了NVIDIA CUDA 10.0和Cudnn7.4.1進(jìn)行加速GPU運(yùn)算;并且安裝了Tensorflow1.13.2和Numpy1.17.4等一系列第三方數(shù)據(jù)庫來支持代碼的運(yùn)行。研究人員用aria2下載COCO數(shù)據(jù)集,采取weights參數(shù)傳遞模式,基于預(yù)訓(xùn)練模型對(duì)COCO 2014數(shù)據(jù)集進(jìn)行訓(xùn)練,使用多尺度訓(xùn)練完整的圖像,每經(jīng)過10次迭代就隨機(jī)從320至608這10個(gè)輸入大?。ㄒ?2為間隔)中選擇一個(gè)新的數(shù)作為網(wǎng)絡(luò)的輸入進(jìn)行訓(xùn)練。訓(xùn)練采用動(dòng)量因子為0.9的梯度下降法,共進(jìn)行100個(gè)周期訓(xùn)練。網(wǎng)絡(luò)設(shè)置不同大小的學(xué)習(xí)率,每25個(gè)周期分別設(shè)置學(xué)習(xí)率為0.001、0.000 1、0.000 01。研究人員對(duì)萬方體育競賽數(shù)據(jù)集進(jìn)行了測試。使用faster-rcnn、YOLOv3和提出的模型(YOLOv3-ANV)對(duì)所有萬方體育比賽數(shù)據(jù)集進(jìn)行測試。其中,檢測到的美國曲棍球聯(lián)賽的結(jié)果如圖3所示。
圖3 檢測美國曲棍球聯(lián)賽的結(jié)果
為了更好地反映檢測平均精度,使用如下公式(4)進(jìn)行計(jì)算:
其中mL為檢測到的具有相同物體數(shù)的幀數(shù),m2為具有相同物體數(shù)的真實(shí)幀數(shù),p1、p2為檢測到的物體數(shù)和真實(shí)物體數(shù),APd為檢測平均精度。結(jié)果如表1所示。根據(jù)表格可以得出,檢測精度得到了提高。
表1 不同方法對(duì)各個(gè)運(yùn)動(dòng)項(xiàng)目的計(jì)算精度
本文提出了YOLOv3-ANV算法,該算法具有多尺度估計(jì)機(jī)制和檢測抖動(dòng)預(yù)防機(jī)制,在多目標(biāo)檢測中具有良好的應(yīng)用前景。如體育比賽和公共區(qū)域的多人檢測。研究人員進(jìn)行了相關(guān)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,YOLOv3-ANV在體育競賽數(shù)據(jù)集的多人檢測中具有較好的檢測精度。高分辨率相機(jī)記錄的特定圖像對(duì)任務(wù)更有幫助。最后,本研究還可以用于公安領(lǐng)域、交通安全領(lǐng)域、智慧化工領(lǐng)域、智慧加油站領(lǐng)域等。可降低資源與人員配置,對(duì)多目標(biāo)進(jìn)行識(shí)別,并進(jìn)行分析判斷及時(shí)對(duì)異常行為做出反應(yīng),有效地對(duì)群體行為進(jìn)行相應(yīng)分析,從而保障監(jiān)控區(qū)域的安全,減少不良事件發(fā)生,降低管理成本,具有一定的可拓展性。