司廣字 劉光杰 陸 斌 焦科杰 王政軍
(1.南京信息工程大學(xué)電子與信息工程學(xué)院 南京 210044)(2.南京熊貓信息產(chǎn)業(yè)有限公司 南京 210038)(3.海康威視 南京 211106)
隨著城市人口的增加,城市道路越發(fā)擁堵,但同時給軌道交通事業(yè)帶來了蓬勃的發(fā)展,越來越多的城市開始建設(shè)地鐵,其中一些城市的地鐵已經(jīng)成為市民重要的出行工具。隨著乘坐地鐵的乘客越來越多,不可避免地會出現(xiàn)擁堵并帶來一些安全問題,然而現(xiàn)有地鐵內(nèi)的各個業(yè)務(wù)系統(tǒng)還無法實現(xiàn)站內(nèi)客流的實時檢測。因此,研究使用基于地鐵內(nèi)監(jiān)控視頻的行人實時檢測方法,對于城市軌道交通的安全運營和管理具有十分重要的意義。現(xiàn)有的行人目標檢測方法主要包括基于傳統(tǒng)圖像分析的目標檢測算法與基于深度神經(jīng)網(wǎng)絡(luò)的目標檢測算法。傳統(tǒng)目標檢測方法主要是使用滑動窗口法,該方法主要通過使用隨目標尺寸變化的窗口對圖像進行全局搜索確定目標位置,原理簡單但效率低下。Uijlings 等[1]基于圖像中的目標區(qū)域具有連續(xù)性和相似性等特點提出了選擇性搜索方法對滑動窗口法進行了改進,提高了目標檢測的效率。在深度學(xué)習(xí)方法領(lǐng)域中,Girshick 等[2]利用選擇性搜索方法提出了基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)R-CNN(region-based convolutional neural network),但由于R-CNN 網(wǎng)絡(luò)需要對每張輸入圖片的上千個變形后的區(qū)域進行卷積操作,所以計算量非常大,速度很慢。2015 年Girshick[3]基于R-CNN 提出了一種快速的基于區(qū)域的卷積網(wǎng)絡(luò)模型fast R-CNN,但是fast R-CNN 仍舊無法滿足實時檢測的去求,于是Ren 等[4]提出了改進模型faster R-CNN,用區(qū)域提議網(wǎng)絡(luò)替代了原來的選擇性搜索方法進行候選區(qū)域提取。2017 年He 等[5]以faster R-CNN 為原型,融入了FCN(fully convolution network)[6]用于生成每個候選區(qū)域的掩膜,達到了更好的檢測效果。雖然基于候選區(qū)域的目標檢測網(wǎng)絡(luò)在檢測精度上達到了首屈一指的地步,但其檢測速度仍然存在弊端。2016年Redmon等[7]將目標檢測問題抽象成回歸問題,提出了YOLO 檢測模型,通過對完整圖像的一次檢測預(yù)測出感興趣目標的邊界框和類別,摒棄了R-CNN 系列中將檢測任務(wù)分成兩步走的操作,解決了目標檢測模型效率低的問題但是對小目標的檢測效果不佳。之后,Redmon 等[8~9]提出了YOLO 的改進版本YOLOV2 和YOLOV3 檢測模型提高了目標檢測的速度和精度。2016 年,Liu 等[10]繼承了YOLO 模型的思想提出了SSD 目標檢測模型,其利用不同尺度的特征圖進行不同尺度的預(yù)測,相對于YOLO 精度和效率都有提升。近年來,很多人從姿態(tài)估計中獲得啟發(fā),通過檢測目標的關(guān)鍵點有效獲取目標信息,比如CornerNet[11]以及CenterNet[12]模型等。
基于深度學(xué)習(xí)的目標檢測算法往往依賴于更為復(fù)雜的深度網(wǎng)絡(luò)模型,導(dǎo)致需要更多的計算資源,無法直接應(yīng)用于需要同時分析多路視頻的軌道交通場景。此外地鐵場景下不僅有稀疏客流,還會存在密集客流,所以以上算法在地鐵場景下的應(yīng)用仍然存在以下幾個問題:
1)多姿態(tài)人體目標檢測的準確率問題:人在目標檢測中可以看作一個非固定物體,形狀變化多樣,大小不一致,并且服裝各式各樣,在地鐵內(nèi)各種角度的監(jiān)控攝像頭下的行人幾何形狀差異較大,因此需要一個泛化能力強的行人檢測器。
2)遮擋問題:地鐵場景下的攝像頭安裝位置比較低,獲取的視頻流中行人會出現(xiàn)嚴重的遮擋情況,導(dǎo)致檢測難度加大,所以需要標注此類數(shù)據(jù)且保證檢測算法能兼顧此種情況。
3)計算資源需求:現(xiàn)有的目標檢測算法考慮更多的是多種目標的平均檢測準確率,所以網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,對計算資源需求較高,針對地鐵場景下的人體目標,需要在保證精確度足夠的前提下設(shè)計更輕量化的檢測模型。
針對上述問題,本文從目標檢測的網(wǎng)絡(luò)結(jié)構(gòu)出發(fā),考慮地鐵場景中的行人檢測尺寸相對固定,在YOLOV3 模型結(jié)構(gòu)的基礎(chǔ)上只保留了32 倍下采樣的分支,減少了網(wǎng)絡(luò)的深度,引入了Inception-V3結(jié)構(gòu)[13],目的是在減少參數(shù)量的同時通過不同尺寸的濾波器,來獲取不同感受野下的特征,并進行特征融合,以檢測不同大小的物體。由于地鐵場景下的人流存在遮擋嚴重的情況,本文將NMS(Non-Maximum Suppression)操作替換為softerNMS操作[14],為了使模型的訓(xùn)練精度更高以及收斂速度加快,本文引入了GIOU作為損失函數(shù)[15]。
Inception 結(jié)構(gòu)是在2014 年的ImageNet 競賽中,google 團隊提出的GoogLeNet 中所用到的網(wǎng)絡(luò)模塊。在Inception 結(jié)構(gòu)中采用三種不同尺寸的濾波器,獲得不同感受野下的特征,然后進行特征融合操作,另外Inception 結(jié)構(gòu)利用1×1 的卷積核進行稀疏連接以減少參數(shù)量。本文采用Inception-V3結(jié)構(gòu)是在原始Inception 結(jié)構(gòu)上做了優(yōu)化,原始Inception 結(jié)構(gòu)如圖1 所示,經(jīng)過發(fā)展后的Inception-V3-1、Inception-V3-2、Inception-V3-3 結(jié)構(gòu)分別如圖2、圖3、圖4所示。

圖1 Inception結(jié)構(gòu)

圖2 Inception-V3-1結(jié)構(gòu)

圖3 Inception-V3-2結(jié)構(gòu)

圖4 Inception-V3-3結(jié)構(gòu)
從圖2~4 可以看出對Inception module 的做出了如下優(yōu)化:
1)用較小的卷積核替代原來的卷積核以減少參數(shù)量從而提升網(wǎng)絡(luò)的運算速度,例如使用5×5 的卷積核可以用兩個3×3的卷積核代替。
2)用兩個一維卷積代替二維卷積可以獲得更全面的特征,增加模型的表征力。例如n×n 的卷積核用1×n的卷積核與n×1的卷積核代替。
由于YOLOV3 采用NMS 操作過濾重復(fù)檢測框,但是在地鐵場景下會出現(xiàn)比較嚴重的行人遮擋問題,如果繼續(xù)采用NMS 操作則可能會把非相同目標的全部檢測框過濾掉,造成召回率低的后果,因此采用softerNMS 操作,不再將IOU 大于某個閾值的BOX 得分直接置零,而是采用低一點的分數(shù)來代替原有的分數(shù),以提高召回率。該算法的原理具體如下所示:
輸入:原始目標檢測框B={b1,…,bN}
對應(yīng)的目標框置信度S={s1,…,sN}
輸出:保留的目標檢測框D
對應(yīng)的目標框置信度S
2:whileB≠emptydo
3:m←argmx S
4:M←bm
5:D←D∪M;B←B-M
6:forbiinBdo
8:end
9:end while
10:returnD,S
由于在YOLOV3 以及一般的目標檢測損失函數(shù)中,沒有發(fā)揮IOU度量的作用,因此,針對本文單類別行人檢測目的對損失函數(shù)做了IOU的優(yōu)化,改進后的損失函數(shù)是在YOLOV3 損失函數(shù)的基礎(chǔ)上融入了文獻[15]提出的GIOU 思想。GIOU 的計算方法為對于真實框T 以及與之對應(yīng)的預(yù)測框P 之間,可以找到其最小凸集C,如圖5(包圍T、P 的最小包圍框),利用最小凸集即可計算GIOU。

圖5 GIOU示意圖
GIOU有如下性質(zhì):
1)與IOU類似,GIOU也可以作為一個距離,loss可以用LGIOU=1-GIOU來計算。
2)與IOU類似,GIOU對物體的大小不敏感。
3)GIOU總是小于等于IOU,對于IOU,有0 ≤IOU≤1,GIOU則是-1 ≤GIOU≤1,在兩個框完全重合時,有GIOU=IOU=1。當(dāng)兩個框不重合時,IOU始終為0,不論T、P 相隔多遠,但是對于GIOU來說,T,P 不重合度越高(離得更遠),GIOU越趨近于-1。
最后設(shè)計的損失函數(shù)為
其中S2代表最后的特征圖(feature map)網(wǎng)格數(shù),B代表每個網(wǎng)格有幾個錨點框(anchors)預(yù)測,表示第i個柵格中第j個預(yù)測框是否負責(zé)這個目標(與該目標的標注數(shù)據(jù)真實框的IOU 最大的預(yù)測框負責(zé)該目標的坐標預(yù)測),fignore表示是否標注數(shù)據(jù)真實框和與之對應(yīng)的檢測框的IOU 大于設(shè)定的IOU閾值。
YOLOV3 基于COCO 數(shù)據(jù)集訓(xùn)練,可以檢測80種類別的目標,而本文針對單類行人目標進行檢測,與YOLOV3 的損失函數(shù)不同,改進的損失函數(shù)將其中的分類損失部分舍棄,減少了計算量、降低任務(wù)難度、加快了訓(xùn)練收斂速度的同時,對模型的精度帶來較小的影響。另外也可以利用λc增大正樣本置信度損失權(quán)重,將訓(xùn)練優(yōu)化重點聚焦在檢測目標正樣本上。此外,利用GIOU可以發(fā)揮IOU度量的作用,使網(wǎng)絡(luò)模型在訓(xùn)練過程中朝獲取更準確的檢測框方向優(yōu)化。
本文針對地鐵場景下的單一行人目標檢測,設(shè)計LPDNet 檢測網(wǎng)絡(luò),該網(wǎng)絡(luò)首先使用一個卷積核為3×3 的標準卷積層進行圖像特征提取,然后采用了13 個可分離卷積層進行特征提取來加快特征提取的速度,接著使用一個Inception-V3-3 結(jié)構(gòu),通過不同大小的卷積核支路獲得不同的感受野,多維度感知目標整體和局部的特征,來獲取更準確的特征圖,其中1×1 的卷積支路通道數(shù)為384,3×3 的卷積支路通道數(shù)為384,5×5 的卷積支路通道數(shù)為128,最大池化層支路通道數(shù)為128。最后使用一個卷積核大小為1×1 的標準卷積層提取最終的特征圖,將特征圖輸入到Detection 層,通過softerNMS等操作輸出檢測框的坐標與置信度。LPDNet檢測網(wǎng)絡(luò)的結(jié)構(gòu)框圖如圖6所示。

圖6 LDPNet的總體框架圖
如表1所示,LPDNet模型采用1×Conv、13×DP、1×Inception-V3-3、1×Conv、1×Detection 的網(wǎng)絡(luò)結(jié)構(gòu),總共下采樣五次,分別發(fā)生在Conv0、DP2、DP4、DP6、DP12層,每次都是兩倍下采樣,最后達到總下采樣的32倍。最后的卷積層Conv15中存儲了網(wǎng)絡(luò)預(yù)測框相對錨點框(anchor)的x軸坐標偏置量(X)、y 軸坐標偏置量(Y)、框?qū)捚昧浚╓)、框高偏置量(H)、檢測置信度(Confidence)、classes分類信息,所以卷積層的通道數(shù)為3×(5+1)=18,其中3 表示三個anchors,即每個網(wǎng)格預(yù)測數(shù)為3;5 表示X、Y、W、H、Confidence 五個信息量;1 表示需要分類的種類只有行人一種。

表1 LPDNet網(wǎng)絡(luò)結(jié)構(gòu)表
通過將LPDNet 網(wǎng)絡(luò)的參數(shù)量與Faster RCNN、YOLOV3 進行對比,如表2 所示,可以看出LPDNet網(wǎng)絡(luò)可以使浮點計算量大大減少。

表2 網(wǎng)絡(luò)參數(shù)、計算量
從表2 可知與Faster RCNN 相比,LPDNet 在使用更大分辨率的輸入圖片時,參數(shù)量反而僅為Faster RCNN 的1/48,浮點數(shù)計算量僅為Faster RCNN 的1/56;與YOLOV3 相比,使用相同分辨率的輸入圖片時,參數(shù)量僅為YOLOV3 的1/22,浮點計算量僅為YOLOV3 的1/30。定量分析表明LPDNet 可以大幅度降低參數(shù)量以及計算量,在軌道交通場景攝像頭數(shù)量巨大的情況下,每臺服務(wù)器能夠同時實時分析更多的視頻數(shù)據(jù),可以顯著降低成本。另外當(dāng)前智能攝像頭中常使用邊緣計算,而邊緣芯片的算力有限,使用小模型可以滿足實時計算要求。
本文實驗所采用的數(shù)據(jù)集一部分為地鐵實際場景下標注的數(shù)據(jù)(NCC),另一部分為公開數(shù)據(jù)集,例如COCO 與PASCAL VOC,COCO 數(shù)據(jù)集包含了行人和其他總共80個物體的類別,PASCAL VOC包含了20 個物體類別,分別從中將標簽為人的數(shù)據(jù)類挑選出來。為了驗證LPDNet模型在公開數(shù)據(jù)集以及實際數(shù)據(jù)集上的效果。測試集選用了VOC2007 TEST 與NCC 的部分數(shù)據(jù)。最后實驗準備的數(shù)據(jù)集分布如表3所示。

表3 數(shù)據(jù)集分布情況
行人檢測測試的性能指標采用如下三個指標:
1)mAP(用戶衡量模型的準確率)。
2)模型速度,主要測試模型的推理時間,以多幀測試取平均。
3)模型推理時占用顯存,單卡多路視頻分析測試。
4.2.1 mAP計算
分類結(jié)果一般會出現(xiàn)如表4 所示的4 種情況,其中TP 表示正例分類正確;TN 表示負例分類正確;FP表示負例分類錯誤;FN表示正例分類錯誤。

表4 評估預(yù)測混淆矩陣
利用上述四個變量可以計算出準確率P(Precision)與召回率R(Recall):
在目標檢測中,根據(jù)檢測框的置信度降序排列分別獲取每個檢測框與所有標注數(shù)據(jù)真實值(ground truth)的IOU,記錄最大的IOU 值,當(dāng)該IOU≥0.5,稱之為匹配項,且每個標注數(shù)據(jù)框最多匹配一次,此時該檢測框記為TP;當(dāng)該IOU<0.5,該檢測框記為FP。最后沒有匹配到檢測框的標注數(shù)據(jù)框記為FN,已知TP、FN、FP,可以求出P、R值。
目標檢測的檢測框數(shù)目與質(zhì)量可以通過置信度的閾值進行調(diào)整,通過設(shè)置不同置信度閾值可以獲得不同的準確率(P)與召回率(R),在計算平均精度(Average-Precision,AP)時,就是按照不同的閾值設(shè)定獲得多組P-R值,最后使用不同的P-R值組計算AP,P-R曲線示例如圖7所示。

圖7 P-R曲線圖
如圖7 中有多組P-R 值,以點表示,每個點往左畫一條線段直到與上一個點的垂直線相交,這樣陰影區(qū)域面積就是AP 值。AP 值越大,代表模型效果越好。如果存在多類檢測,按相同方法計算出AP后求取平均值就是mAP值。
4.2.2 性能對比
本文將提出的LPDNet 與Faster RCNN 以及YOLOV3 模型進行實際計算資源占用、計算速度、模型文件大小對比,對比結(jié)果如表5所示。

表5 網(wǎng)絡(luò)模型計算資源占用、推理速度
由表5可以看出在實際應(yīng)用測試中,LPDNet對比Faster-RCNN 和YOLOV3 的計算資源需求顯著減少,推理速度顯著加快,模型大小顯著減小。
本文提出的LPDNet 模型基于Caffe 框架設(shè)計,具體性能對比測試結(jié)果如表6所示。

表6 網(wǎng)絡(luò)模型測試mAP
由表6 可以看出,YOLOV3 對于行人單類檢測的mAP 略微高于LPDNet。在行人大小差異大,場景復(fù)雜多樣的VOC 數(shù)據(jù)集上差距不到3%,而在行人大小差異不大,場景比較固定的地鐵NCC 數(shù)據(jù)集上,檢測效果的差距僅為0.54%。實驗結(jié)果表明,本文提出的LPDNet 相比較于YOLOV3 算法能夠在軌道交通場景中實現(xiàn)相近的檢測結(jié)果,但計算速度明顯優(yōu)于YOLOV3模型。
針對目前的目標檢測算法在地鐵場景下的行人檢測實時性不高的問題,本文提出了一種更輕量化、快速化的行人檢測算法,該算法在改進YOLOV3 的同時,加入了Inception-V3-3 網(wǎng)絡(luò)結(jié)構(gòu)模塊,考慮到地鐵場景中的行人遮擋問題,改用softerNMS 檢測框去重算法,同時去除原損失函數(shù)中的分類部分并引入了GIOU思想。本文基于公開數(shù)據(jù)集中的行人樣本和真實地鐵場景中的行人樣本進行實驗,對比了YOLOV3、Faster-RCNN算法與本文提出的算法的檢測效果與檢測速度,實驗結(jié)果表明,本文提出的LPDNet 行人檢測算法在檢測效果相差不大的情況下,推理速度顯著加快,模型大小和所需的計算資源顯著減小。本文提出的方法目的在于應(yīng)用在地鐵場景下檢測行人目標,但是在人群密集的情況下仍存在部分漏檢的情況,針對這一情況,今后將從目標檢測算法的原理和檢測模型設(shè)計方面進行深入研究。