王 敏
(西安鐵路職業(yè)技術(shù)學(xué)院交通運(yùn)輸學(xué)院,陜西 西安 710014)
隨著地鐵客流量的激增,其安全、高效運(yùn)行面臨更大的挑戰(zhàn)。傳統(tǒng)的人工客流量計(jì)數(shù)方法需專(zhuān)人實(shí)時(shí)監(jiān)控客流畫(huà)面,進(jìn)行客流信息統(tǒng)計(jì)及特征提取,耗時(shí)耗力,準(zhǔn)確性及效率較低,而且因?yàn)楸O(jiān)控人員數(shù)量及精力有限,僅能統(tǒng)計(jì)關(guān)鍵區(qū)域的客流量,無(wú)法對(duì)全運(yùn)輸段進(jìn)行客流跟蹤及統(tǒng)計(jì)。近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,以機(jī)器替代人眼,基于視頻圖像對(duì)地鐵運(yùn)行各區(qū)段、各時(shí)段的客流量進(jìn)行跟蹤統(tǒng)計(jì),并通過(guò)數(shù)據(jù)分析,得出高精準(zhǔn)的客流數(shù)據(jù)成為趨勢(shì)。
近年來(lái),深度學(xué)習(xí)技術(shù)得到了發(fā)展與應(yīng)用,其利用深度卷積神經(jīng)網(wǎng)絡(luò)自主學(xué)習(xí)檢測(cè)目標(biāo)[1-2],而后對(duì)圖像中目標(biāo)特征進(jìn)行提取與識(shí)別,采用訓(xùn)練的方式構(gòu)建特征組合和分類(lèi)器[3-4],有效彌補(bǔ)了人工技術(shù)在規(guī)模、精度及場(chǎng)景等方面的局限性[5]。許多學(xué)者也開(kāi)始關(guān)注、研究和應(yīng)用深度學(xué)習(xí)技術(shù),Girshick[6]和 Ren 等[7]提出了Fast R-CNN及Faster R-CNN目標(biāo)檢測(cè)算法,后一種算法以Refion Proposal Network替代Selective Serarch方法來(lái)產(chǎn)生候選區(qū),在確保檢測(cè)準(zhǔn)確率的同時(shí),也提升了目標(biāo)檢測(cè)效率;2015年,Redmon等[8]提出了YOLO檢測(cè)算法,與R-CNN系列算法區(qū)別在于其利用全卷積進(jìn)行目標(biāo)監(jiān)測(cè),通過(guò)回歸計(jì)算進(jìn)行目標(biāo)分類(lèi)及定位,檢測(cè)速率可達(dá)45幀/s;2016年,Liu等[9]提出了SSD(single shotmultibox detector)檢測(cè)算法,該算法使用CNN直接檢測(cè),通過(guò)提取不同尺度特征圖進(jìn)行檢測(cè),檢測(cè)效率更高,且顯著提升大、小目標(biāo)的檢測(cè)準(zhǔn)確率;在YOLO檢測(cè)算法的基礎(chǔ)上,Redmon等提出了YOLOv2[10]和YOLOv3[11]檢測(cè)算法,YOLOv3融合了殘差網(wǎng)絡(luò)思想,采用多尺度特征及分類(lèi)損失函數(shù)替換等方法,顯著提高了檢測(cè)效率及準(zhǔn)確率,在COCO數(shù)據(jù)集上的mAP(客流量統(tǒng)計(jì)數(shù)據(jù))達(dá)到了57.9%。地鐵客流量較大,檢測(cè)背景較為復(fù)雜,目標(biāo)區(qū)域較小,在多次卷積后較小尺寸檢測(cè)目標(biāo)的信息容易丟失,影響檢測(cè)準(zhǔn)確率,因此本文基于YOLOv3現(xiàn)存問(wèn)題,對(duì)其進(jìn)行針對(duì)性?xún)?yōu)化,以提升其在地鐵客流中的準(zhǔn)確率及效率。
YOLOv3網(wǎng)絡(luò)融合了Resnet殘差網(wǎng)絡(luò)思想,參考Faster R-CNN利用先驗(yàn)框Anchor Boxes根據(jù)標(biāo)注的目標(biāo)框獲取更優(yōu)的真實(shí)框的方法,并引入FPN特征金字塔網(wǎng),將分類(lèi)器Softmax替換為L(zhǎng)ogistics[12],從多維優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),以提升檢測(cè)的效率及準(zhǔn)確率,因此該方法更適用于地鐵客流跟蹤檢測(cè)的需求。YOLOv3算法采用Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),在層結(jié)構(gòu)之間增設(shè)快捷鏈路Shortcut connectiongs,并分設(shè)13×13、26×26和52×52等3個(gè)尺度特征圖[13],以實(shí)現(xiàn)不同尺寸目標(biāo)的跟蹤檢測(cè)。YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv3算法結(jié)構(gòu)
圖中,RESn是YOLOv3用于加深CNN層數(shù)的殘差結(jié)構(gòu),其利于提取地鐵客流目標(biāo)深層抽象信息;DBL是由卷積、正則化、Leaky ReLU函數(shù)組成的卷積層結(jié)構(gòu),其加深了網(wǎng)絡(luò)的深度,可優(yōu)化對(duì)小尺寸目標(biāo)檢測(cè)的準(zhǔn)確性;concat為張量拼接,可有效拼接DarkNet中間層和后面某一層的上采樣。YOLOv3對(duì)輸入圖片進(jìn)行5次降采樣,并在后3次降采樣中完成目標(biāo)檢測(cè),后3次降采樣中涉及小Y1、中Y2、大Y3 3個(gè)尺寸的目標(biāo)檢測(cè)特征圖,其中,Y1小尺寸特征,YOLOv3通過(guò)5個(gè)步長(zhǎng)為2的卷積進(jìn)行降采樣,Y2、Y3中、大尺寸特征,則分別對(duì)輸出的32倍、16倍降采樣特征圖進(jìn)行2倍上采樣。然后將所得特征圖分別與Darknet-53網(wǎng)絡(luò)的第4個(gè)、第3個(gè)殘差塊輸出的特征圖進(jìn)行拼接,構(gòu)建輸出分別為16倍、8倍降采樣的特征融合層。
YOLOv3算法采用多個(gè)尺度融合的方法進(jìn)行檢測(cè),目標(biāo)檢測(cè)準(zhǔn)確率較高[14]。在YOLOv3算法中,目標(biāo)特征邊界框的獲取使用了維度聚類(lèi)。數(shù)據(jù)集中的維度聚類(lèi)采用K-means方法得到先驗(yàn)框,較大尺度的特征圖選用較小的先驗(yàn)框,以更好地提取目標(biāo)特征。在目標(biāo)分類(lèi)中,YOLOv3算法使用多個(gè)獨(dú)立的邏輯(logistic)分類(lèi)器。YOLOv3算法與SSD、DSSD和RetinaNet的目標(biāo)檢測(cè)框架性能對(duì)比見(jiàn)表1。
表1 YOLOv3算法與其他算法的性能對(duì)比
由表1可以看出,雖然YOLOv3算法具有較高的檢測(cè)精度,但檢測(cè)的尺度比較單一,對(duì)于小目標(biāo)的檢測(cè)效果不佳,因此在進(jìn)行地鐵客流量檢測(cè)時(shí),需要對(duì)該算法進(jìn)行改進(jìn)。
高密度、大群體的地鐵客流跟蹤檢測(cè)場(chǎng)景下,檢測(cè)目標(biāo)尺寸多而小,易丟失信息,為提升對(duì)不同目標(biāo)檢測(cè)的自適應(yīng)性及準(zhǔn)確率,本文對(duì)YOLOv3算法的網(wǎng)絡(luò)結(jié)構(gòu)、多尺寸特征檢測(cè)方法、目標(biāo)數(shù)據(jù)聚類(lèi)計(jì)算等進(jìn)行改進(jìn),如圖2所示。
圖2 YOLOv3算法優(yōu)化設(shè)計(jì)方法
YOLOv3算法的殘差結(jié)構(gòu)可深化CNN網(wǎng)絡(luò)層數(shù),捕獲地鐵檢測(cè)目標(biāo)深層抽象信息,但降低了檢測(cè)速率,且易丟失小尺寸目標(biāo)信息,影響地鐵客流跟蹤檢測(cè)準(zhǔn)確性。卷積層及網(wǎng)絡(luò)結(jié)構(gòu)越深,地鐵客流跟蹤檢測(cè)的效果越好。為此,針對(duì)地鐵客流目標(biāo)多而小的特征,為提取深層抽象信息,對(duì)YOLOv3算法的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行如下優(yōu)化:
1)增設(shè)2個(gè)1×1和3×3的卷積層,實(shí)現(xiàn)卷積核通道降維,簡(jiǎn)化CNN,提取深層抽象信息,且在不損失分辨率的基礎(chǔ)上增加非線性特性的表達(dá),提升網(wǎng)絡(luò)表達(dá)能力。
2)在1×1卷積結(jié)構(gòu)基礎(chǔ)上,增加3×3的DSA進(jìn)行特征圖通道卷積,再利用1×1的卷積融合通道特征層,跳躍式連接組合特征,增加1×1卷積平滑特征輸出。
YOLOv3算法多基于COCO和VOC數(shù)據(jù)集,針對(duì)大尺寸目標(biāo)進(jìn)行跟蹤檢測(cè)。由于地鐵高密度的客流,在多次卷積后會(huì)丟失小尺寸檢測(cè)目標(biāo)的信息,影響檢測(cè)的準(zhǔn)確性,因此本文采用圖像金字塔的多尺度檢測(cè)方法,融合低層級(jí)特征豐富的細(xì)節(jié)和定位信息及高層級(jí)特征豐富的語(yǔ)義特征,獲取不同尺度檢測(cè)目標(biāo)的特征圖。具體步驟如下:
步驟1:首先利用Darknet-53獲取特征金字塔,然后利用原網(wǎng)絡(luò)、YOLOv3網(wǎng)絡(luò)分別輸出的4倍、8倍采樣特征圖,依次進(jìn)行目標(biāo)檢測(cè)、2倍上采樣,再對(duì)Conv53層進(jìn)行不間斷的1×1與3×3卷積操作,獲取第1組待處理YOLO層,最后對(duì)待處理YOLO層進(jìn)行1×1與3×3卷積操作獲取小尺寸YOLO層[15]。
步驟2:上采樣小尺寸YOLO層,與Darknet-53中的Conv45層進(jìn)行卷積操作,并持續(xù)進(jìn)行1×1與3×3卷積操作,獲取第2組待處理YOLO層,再對(duì)其進(jìn)行1×1與3×3卷積操作獲取中尺度YOLO層。
步驟3:上采樣中尺度YOLO層,與Darknet-53中的Conv29層進(jìn)行卷積和操作,并持續(xù)進(jìn)行1×1與3×3卷積操作,獲取第3組待處理YOLO層,再對(duì)其進(jìn)行1組1×1 和 3×3 卷積操作,得到大尺度 YOLO 層。
經(jīng)過(guò)上述步驟,可得到不同尺度的YOLO層,將其融合后進(jìn)行地鐵客流跟蹤檢測(cè),可減少信息丟失,提升檢測(cè)準(zhǔn)確率。
YOLOv3算法的Anchor box先驗(yàn)框機(jī)制,不適用于高密集、小目標(biāo)的地鐵客流跟蹤檢測(cè)需求,需對(duì)該類(lèi)數(shù)據(jù)進(jìn)行重新聚類(lèi)。K-means聚類(lèi)方法獲得的Anchor box先驗(yàn)框主觀性更優(yōu),故而本文以該方法對(duì)地鐵客流數(shù)據(jù)集進(jìn)行重新聚類(lèi),讓Anchor box先驗(yàn)框與ground truth目標(biāo)框的誤差越大越好。鑒于采用歐氏距離、曼哈頓距離作為誤差進(jìn)行度量,存在“大框優(yōu)勢(shì)”,因此本文引入IOU重疊度交并比來(lái)測(cè)量該誤差d(box,centroid),其公式為:
d(box,centroid)=1-IOU(box,centroid)
(1)
式中:box為地鐵客流數(shù)據(jù)樣本聚類(lèi)結(jié)果;centroid為全部簇的中心;IOU(box,centroid)為全部簇中心與全部聚類(lèi)框的交并比。
在使用YOLOv3算法進(jìn)行地鐵客流量跟蹤檢測(cè)時(shí),需利用卷積網(wǎng)絡(luò)來(lái)提取目標(biāo)特征,然后采用全連接層來(lái)獲取預(yù)測(cè)值,但是由于全連接層后緊跟著softmax分類(lèi)器,在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí)輸入的圖片尺寸固定,因此不符合地鐵多尺寸客流目標(biāo)的跟蹤檢測(cè)需求。對(duì)此本文采取多尺度訓(xùn)練策略,剔除YOLOv3網(wǎng)絡(luò)中的全連接層,以全卷積操作替代,輸入不同尺寸的圖片進(jìn)行訓(xùn)練,以適應(yīng)地鐵多尺寸目標(biāo)的跟蹤檢測(cè)。
地鐵客流跟蹤檢測(cè)尚無(wú)公開(kāi)數(shù)據(jù)集可用,為此本文針對(duì)其高密度、復(fù)雜的特點(diǎn),提取人體頭、肩信息進(jìn)行客流量統(tǒng)計(jì)。以矩形框標(biāo)注旅客的頭、肩部位,清晰的頭、肩及遮擋的頭、肩分別標(biāo)注紅色框headshoulder和綠色框ignore,遮擋率控制在40%以下。以北京某地鐵站為實(shí)測(cè)地點(diǎn),采集上午8:00—12:00的客流視頻,自制成近似VOC數(shù)據(jù)集格式的地鐵客流數(shù)據(jù)集,在其中標(biāo)注52 000個(gè)樣本,以jpg格式存儲(chǔ)。
從52 000個(gè)地鐵樣本數(shù)據(jù)集中分別提取headshoulder、ignore樣本的60%作為訓(xùn)練集,用以進(jìn)行網(wǎng)絡(luò)訓(xùn)練,另40%的樣本作為驗(yàn)證集。以改進(jìn)YOLOv3算法和原YOLOv3算法結(jié)構(gòu)為模型,在數(shù)據(jù)集上分別迭代訓(xùn)練地鐵客流頭、肩檢測(cè)器20 000次、30 000次、50 000次,采用下述指標(biāo)測(cè)評(píng)地鐵客流量統(tǒng)計(jì)性能。
準(zhǔn)確率P:
(2)
式中:TP為檢測(cè)及真實(shí)結(jié)果均為旅客頭、肩的數(shù)量;FP為檢測(cè)結(jié)果為旅客頭、肩,真實(shí)結(jié)果為非旅客頭、肩的數(shù)量。
召回率R:
(3)
式中:FN為檢測(cè)結(jié)果為非旅客頭、肩,真實(shí)結(jié)果為旅客頭、肩的數(shù)量。
平均準(zhǔn)確率AP:
(4)
式中:∑APi為單類(lèi)圖片平均準(zhǔn)確率之和;NC為類(lèi)別總數(shù)量。
通過(guò)測(cè)試可得兩種算法對(duì)地鐵客流量統(tǒng)計(jì)結(jié)果,見(jiàn)表2。
表2 兩種算法在地鐵客流統(tǒng)計(jì)中的性能對(duì)比 %
由表2可知,隨著訓(xùn)練迭代次數(shù)的增加,改進(jìn)YOLOv3算法及原YOLOv3算法的準(zhǔn)確率、召回率及平均準(zhǔn)確率均逐漸上升,但改進(jìn)YOLOv3算法在地鐵高密度、多尺度目標(biāo)跟蹤檢測(cè)中更具優(yōu)勢(shì)。
同時(shí),在1 100P的視頻圖像上測(cè)試兩種算法的跟蹤檢測(cè)速度,結(jié)果見(jiàn)表3。由表3可見(jiàn),采用K-means對(duì)高密度人群數(shù)據(jù)集進(jìn)行重新聚類(lèi)后,改進(jìn)YOLOv3算法對(duì)地鐵客流跟蹤檢測(cè)速率更快,這源于改進(jìn)算法在重新聚類(lèi)后Anchor數(shù)量及寬、高緯度更適宜,更加符合地鐵高密度客流特征。
表3 兩種算法在地鐵客流跟蹤檢測(cè)中的效率
地鐵客流具有高密度、高流動(dòng)性等特點(diǎn),為高效、準(zhǔn)確地跟蹤檢測(cè)客流情況,針對(duì)YOLOv3算法的不足,經(jīng)過(guò)基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化、采用多尺度目標(biāo)檢測(cè)方法和K-means聚類(lèi)方法對(duì)高密度數(shù)據(jù)集重聚等一系列的改進(jìn),設(shè)計(jì)、完成了地鐵客流跟蹤檢測(cè)方法。該方法較傳統(tǒng)的人工客流量統(tǒng)計(jì)方法,投入成本及運(yùn)維成本較低,且不影響地鐵正常運(yùn)行,檢測(cè)準(zhǔn)確率及效率更高,具有較高的可操作性。