金蘭英,路錦正,2
1(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010) 2(特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽 621010) E-mail:1351877395@qq.com
隨著深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)的行人檢測(cè)技術(shù)研究逐漸成為研究熱點(diǎn)并得到了快速發(fā)展.當(dāng)前行人檢測(cè)技術(shù)廣泛應(yīng)用于智能視頻監(jiān)控跟蹤、人臉識(shí)別、人群計(jì)數(shù)等諸多領(lǐng)域,對(duì)城市商業(yè)建設(shè)規(guī)劃、人流量或交通流量管控、公共區(qū)域安全維護(hù)等具有重要的現(xiàn)實(shí)意義.
當(dāng)前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法主要分為以R-CNN系列[1-3]、SPPNet[4]、R-FCN[5]等為代表的Two-Stage目標(biāo)檢測(cè)算法和以SSD[6]、YOLO系列[7-9]、DenseBox[10]等為代表的One-Stage目標(biāo)檢測(cè)算法兩類.Two-Stage目標(biāo)檢測(cè)算法將物體定位和識(shí)別分為兩步完成,識(shí)別錯(cuò)誤率低,漏檢率較低,但速度較慢,在實(shí)時(shí)檢測(cè)場(chǎng)景下效果較差.隨之產(chǎn)生的One-Stage目標(biāo)檢測(cè)算法將物體定位和物體分類在一個(gè)步驟中完成,實(shí)現(xiàn)了對(duì)圖像端到端的檢測(cè),整體流程較為簡(jiǎn)單,檢測(cè)速度快,但檢測(cè)準(zhǔn)確率相比于Two-Stage模型略低.
基于以上討論可知,當(dāng)前的目標(biāo)檢測(cè)技術(shù)無論是在檢測(cè)精度上還是檢測(cè)速度上都具有較大的進(jìn)步空間,目標(biāo)檢測(cè)算法研究依然是一項(xiàng)非常具有挑戰(zhàn)性的課題.當(dāng)下行人檢測(cè)面臨的困難主要包括如下幾個(gè)方面:1)檢測(cè)目標(biāo)體態(tài)的多樣性:行人由于運(yùn)動(dòng)造成身體姿態(tài)的多樣性和拍攝角度造成的人體形態(tài)多樣性最終導(dǎo)致的行人遮擋等;2)檢測(cè)目標(biāo)尺度的多樣性:密集人群的小尺度行人檢測(cè)和稀疏人群的大尺寸行人檢測(cè);3)目標(biāo)檢測(cè)場(chǎng)景的多樣性:天氣、光照、地理位置等使監(jiān)控視頻采集的數(shù)據(jù)具有多樣性,如場(chǎng)景中的具有與行人相似特征的物體易被錯(cuò)誤地識(shí)別為人.
針對(duì)以上幾點(diǎn)困難,Li Y等人[11]提出Trident網(wǎng)絡(luò),采用尺度感知規(guī)則訓(xùn)練網(wǎng)絡(luò),Li H等人[12]提出使用SSD進(jìn)行行人頭部檢測(cè),但在對(duì)小尺度目標(biāo)的檢測(cè)識(shí)別上仍有許多進(jìn)步空間.Chen K等人[13]以Faster R-CNN為網(wǎng)絡(luò)原型提出新增錨點(diǎn)框來實(shí)現(xiàn)對(duì)不同尺度目標(biāo)的檢測(cè),Ji等人[14]針對(duì)性地對(duì)錨點(diǎn)框進(jìn)行尺度修改以降低漏檢率.為有效提升對(duì)行人的檢測(cè)精度和檢測(cè)速度,受文獻(xiàn)[15]啟發(fā),本文提出基于YOLOv3改進(jìn)的行人頭部檢測(cè)方法來實(shí)現(xiàn)對(duì)行人的檢測(cè).通過新增尺寸為輸入圖像尺寸四分之一的特征圖以提升對(duì)小尺度行人的識(shí)別;采用多尺度反饋以引入全局上下文信息來提升對(duì)高密度人群的識(shí)別能力;最后,對(duì)INRIAPerson[16]、PASCALVOC2012[17]、WiderFace[18]等數(shù)據(jù)集進(jìn)行行人頭部標(biāo)注,制作頭部數(shù)據(jù)集進(jìn)行訓(xùn)練測(cè)試,驗(yàn)證了該算法的有效性.
2016年,Redmon等人提出的YOLO算法率先實(shí)現(xiàn)了網(wǎng)絡(luò)端到端的學(xué)習(xí).該算法中只有單個(gè)網(wǎng)絡(luò)[19],不需要提取候選區(qū)域,計(jì)算量大量減少,極大地提高了檢測(cè)速度,從而引領(lǐng)了目標(biāo)檢測(cè)網(wǎng)絡(luò)框架的新風(fēng)潮.2017年提出的YOLOv2算法創(chuàng)新性地使用了Darknet-19作為骨干網(wǎng)絡(luò),引入了Batch Normalization(BN)[20]模塊,該模塊加速了網(wǎng)絡(luò)收斂并能防止過擬合,最終在檢測(cè)速度上得到了極大的提升.2018年,YOLOv3正式被提出.
相比于YOLOv2,YOLOv3首先調(diào)整了它的網(wǎng)絡(luò)結(jié)構(gòu),由YOLOv2的Darknet-19擴(kuò)展至Darknet-53,即包含有53個(gè)卷積層,加深了網(wǎng)絡(luò)的深度.Darknet-53網(wǎng)絡(luò)借鑒了ResNet[21]的殘差結(jié)構(gòu),該種結(jié)構(gòu)使訓(xùn)練深層網(wǎng)絡(luò)的難度大大減小,使之可以具有更深的網(wǎng)絡(luò)結(jié)構(gòu),從而提升了檢測(cè)精度.其次,為了增強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)效果,YOLOv3在YOLOv2的一個(gè)尺度預(yù)測(cè)上新增兩個(gè)尺度成為三尺度特征預(yù)測(cè),結(jié)合特征金字塔的思想,利用特征提取器生成的3個(gè)不同尺寸的特征圖進(jìn)行目標(biāo)預(yù)測(cè).在對(duì)目標(biāo)的分類預(yù)測(cè)上,YOLOv3用logistic分類取代softmax分類,這樣能夠支持對(duì)同一目標(biāo)的多標(biāo)簽分類,有利于處理更復(fù)雜的情況.
在基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)中,特征提取骨干網(wǎng)絡(luò)的選取往往決定著提取出的特征質(zhì)量,從而直接影響目標(biāo)檢測(cè)的效果.本文采用Darknet-53作為特征提取器的骨干網(wǎng)絡(luò).該網(wǎng)絡(luò)模型在分類準(zhǔn)確度和效率的平衡上,比ResNet-101、ResNet-152和Darknet-19表現(xiàn)得更好.YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)使用3種尺寸的特征圖來檢測(cè)不同大小的目標(biāo),即在5倍下采樣、4倍下采樣和3倍下采樣處創(chuàng)建特征映射.由特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)思想可知,深層卷積網(wǎng)絡(luò)生成的特征圖雖然擁有較高的語義信息,但是在卷積過程中會(huì)丟失目標(biāo)的位置信息,不利于小型目標(biāo)的檢測(cè);而淺層卷積得到的特征圖雖然語義信息不夠豐富,但是卻保留了目標(biāo)較為精確的位置信息.
因此,為了提升對(duì)密集人群中小尺寸行人的檢測(cè)能力,我們?cè)谔卣魈崛【W(wǎng)絡(luò)中新增了一個(gè)特征輸出層,它通過兩倍下采樣得到,位于淺層網(wǎng)絡(luò).當(dāng)輸入圖像尺寸為416×416時(shí),它的特征圖尺寸為104×104.此時(shí)我們得到4個(gè)尺寸的特征圖:13×13,26×26,52×52,104×104.尺寸為52×52和104×104的特征圖位于網(wǎng)絡(luò)的較淺層,感受野較小,包含較強(qiáng)的目標(biāo)位置信息,可以捕獲低級(jí)特征,適用于小尺寸目標(biāo)檢測(cè);尺寸為26×26,13×13的特征圖位于網(wǎng)絡(luò)較深處,感受野較高,包含更為豐富的語義信息,適用于大中目標(biāo)的檢測(cè).本文特征提取網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.該網(wǎng)絡(luò)在一定程度上減輕了行人尺寸變化劇烈?guī)淼臋z測(cè)困難問題,使得對(duì)于不同密度的人群也能得到較好的檢測(cè)效果.
圖1 基于Darknet-53的特征提取器Fig.1 Feature extractor based on Darknet-53
對(duì)于多尺度特征提取,存在的問題是高分辨率特征圖由于缺乏上下文信息而在辨別人上表現(xiàn)受限.比如容易把行人所處環(huán)境中的四周與人具有相似特征的景或物錯(cuò)誤地檢測(cè)識(shí)別為行人.為了提升對(duì)高密度人群中行人的識(shí)別能力,我們把較高感受野和高感受野聯(lián)合起來以引入全局上下文信息到各個(gè)尺度分支中.整個(gè)行人檢測(cè)模塊如圖2所示.
分析圖2可以看出,對(duì)于特征提取網(wǎng)絡(luò)的4個(gè)不同尺寸的特征圖輸出,端口2為1/32的輸入尺寸連接,該層特征圖輸出由于位于網(wǎng)絡(luò)最深處,沒有接受來自其他層的反饋輸入,但它會(huì)生成反饋分支分別連接到1/16、1/8和1/4尺度分支上,然后通過6個(gè)DBL和最后一層卷積層得到相應(yīng)的預(yù)測(cè).而對(duì)于剩下3個(gè)尺度分支,都加入了多尺度反饋.多尺度反饋通過高分辨率分支接收來自較低分辨率尺度分支的反饋連接來實(shí)現(xiàn).例如,對(duì)于1/4尺度分支,它將接受來自1/8,1/16以及1/32這3個(gè)分支的反饋鏈接;對(duì)于1/8尺度分支,它將接受來自1/16以及1/32兩個(gè)尺度分支的反饋鏈接并生成反饋分支連接到1/4尺度分支上.從圖2中可以看出,在接收到不同尺寸的反饋分支后,將進(jìn)行反饋處理.對(duì)于反饋處理,是讓每個(gè)反饋輸入經(jīng)過一個(gè)轉(zhuǎn)置卷積層,以對(duì)反饋特征圖進(jìn)行上采樣從而使反饋特征尺寸與當(dāng)前特征尺度分支保持一致.然后將這些上采樣處理后的分支與當(dāng)前尺寸分支進(jìn)行張量拼接(concat)操作,最后經(jīng)過一系列DBL結(jié)構(gòu),再通過一層卷積層,做出相應(yīng)的預(yù)測(cè).最后得到4個(gè)不同尺寸的預(yù)測(cè)層y1,y2,y3,y4.
圖2 行人檢測(cè)整體框架圖Fig.2 Overall framework of pedestrian detection
通過多尺度反饋處理將全局上下文信息驅(qū)動(dòng)到其他尺寸分支不僅可以提升對(duì)行人的檢測(cè)識(shí)別能力,還有助于抑制虛假檢測(cè).
對(duì)于邊界框的預(yù)測(cè),采用直接預(yù)測(cè)相對(duì)位置的方法預(yù)測(cè)出邊界框相對(duì)于左上角的相對(duì)坐標(biāo).首先采用k-means聚類方法生成12個(gè)先驗(yàn)框(anchor box prior).YOLOv3中先驗(yàn)框?yàn)?個(gè).先驗(yàn)框與預(yù)測(cè)框的關(guān)系如圖3所示.
虛線框?yàn)橄闰?yàn)框,實(shí)線框?yàn)轭A(yù)測(cè)邊界框.預(yù)測(cè)框通過對(duì)先驗(yàn)框進(jìn)行平移縮放得到.在經(jīng)過特征提取器獲得4個(gè)不同尺寸的特征圖后,將輸入圖像根據(jù)特征圖尺寸劃分成相應(yīng)大小的s×s個(gè)網(wǎng)格單元(grid cell).當(dāng)某個(gè)目標(biāo)的中心坐標(biāo)落在某個(gè)grid cell中,則由該grid cell預(yù)測(cè)該目標(biāo).每個(gè)網(wǎng)格單元會(huì)預(yù)測(cè)3個(gè)邊界框,每個(gè)邊界框包含4個(gè)坐標(biāo)信息和1個(gè)置信度信息.
對(duì)于邊界框的坐標(biāo)預(yù)測(cè)計(jì)算公式具體如下.
bx=σ(tx)+cx
(1)
by=σ(ty)+cy
(2)
bw=pwetw
(3)
bh=pheth
(4)
Pr(object)×IOU(b,object)=σ(to)
(5)
網(wǎng)絡(luò)模型預(yù)測(cè)得到4個(gè)坐標(biāo)偏移輸出tx,ty,tw,th.σ為激活函數(shù)Sigmoid,將網(wǎng)絡(luò)預(yù)測(cè)值tx,ty映射到0-1區(qū)間內(nèi).cx,cy是特征圖中單元網(wǎng)格相對(duì)于圖像左上角的偏移量.pw,ph為先驗(yàn)框尺寸.最終通過上述坐標(biāo)偏移公式得到預(yù)測(cè)邊界框的中心坐標(biāo)為bx,by,寬高為bw,bh.σ(to)為預(yù)測(cè)框的置信度,它通過預(yù)測(cè)框的概率和預(yù)測(cè)框與真實(shí)框的IOU 值相乘計(jì)算得到.通過對(duì)σ(to)設(shè)定閾值,濾除掉低分預(yù)測(cè)框,再對(duì)剩下的預(yù)測(cè)框進(jìn)行非極大值抑制(NMS,Non-Maximum Suppression)[22]得到最終的預(yù)測(cè).對(duì)于目標(biāo)的類別預(yù)測(cè)采用邏輯回歸分類.當(dāng)圖像經(jīng)特征提取后的某一類輸出經(jīng)邏輯回歸分類器后若大于0.5,則表示屬于該類.
本文實(shí)驗(yàn)環(huán)境使用Ubuntu18.04操作系統(tǒng),中央處理器為Intel?CoreTM i7-7700K CPU @4.20GHz x 8,運(yùn)行內(nèi)存32G,顯卡使用NVIDIA GeForce GTX 1080Ti,顯存11G.使用的深度學(xué)習(xí)框架為Keras+Tensorflow.
本文使用WiderFace、INRIAPerson和PASCALVOC2012 3個(gè)數(shù)據(jù)集對(duì)提出的結(jié)合多尺度反饋的行人頭部檢測(cè)方法進(jìn)行行人檢測(cè)效果測(cè)試.又由于本文是基于行人頭部的檢測(cè),所以需要制作行人頭部數(shù)據(jù)集.本文采用標(biāo)注工具LabelImg對(duì)INRIAPerson,PASCALVOC2012和WiderFace數(shù)據(jù)集進(jìn)行標(biāo)注,生成.xml文件.
3個(gè)數(shù)據(jù)的具體參數(shù)特征如表1所示.WiderFace數(shù)據(jù)集由61種人群事件類別組成,如家庭聚會(huì)、辦公室會(huì)議等.PASCALVOC2012數(shù)據(jù)集有20個(gè)目標(biāo)類別,本實(shí)驗(yàn)抽取該數(shù)據(jù)集中的Person類別進(jìn)行實(shí)驗(yàn).3個(gè)各具特點(diǎn)的人群數(shù)據(jù)集包含了豐富的人群特征信息,使得本文模型具有較強(qiáng)的魯棒性.數(shù)據(jù)集中部分示例圖像如圖4所示.
表1 行人數(shù)據(jù)集參數(shù)描述Table 1 Pedestrian data set parameter description
為了驗(yàn)證本實(shí)驗(yàn)?zāi)P偷挠行裕瑢⒈疚乃惴ㄅcYOLOv3算法的行人檢測(cè)效果進(jìn)行對(duì)比.使用本文方法和YOLOv3算法訓(xùn)練得到的模型進(jìn)行實(shí)驗(yàn)得到的部分效果圖如圖5所示.從圖5(a)的幾幅圖對(duì)比分析可以看出,當(dāng)行人軀干被遮擋時(shí),基于全身的檢測(cè)方法存在明顯的漏檢現(xiàn)象,而本文建立的行人頭部檢測(cè)模型降低了軀干遮擋對(duì)檢測(cè)的影響,且在視覺上更容易定位行人;圖5(b)由于行人較密集,存在較多小尺寸行人,YOLOv3算法對(duì)小尺寸行人的檢測(cè)效果較差,本文采用的多尺度反饋結(jié)構(gòu)及四尺度檢測(cè)提升了對(duì)小尺度人群的檢測(cè)效果;圖5(c)對(duì)比可看出,YOLOv3算法將玻璃櫥窗中的行人倒影和路邊標(biāo)志牌誤識(shí)為了人,在復(fù)雜的背景環(huán)境中,本文算法改善了對(duì)于具有與行人相似特征的物體的誤檢現(xiàn)象,有效提升了對(duì)行人的識(shí)別能力,降低了誤檢率.綜上對(duì)不同條件下行人檢測(cè)結(jié)果的對(duì)比分析可知,本文的算法明顯改善了對(duì)小尺寸行人的檢測(cè)效果,降低了軀干遮擋帶來的漏檢影響以及相似特征環(huán)境帶來的行人識(shí)別干擾影響,降低了漏檢率,提升了算法的檢測(cè)精度.
圖5 YOLOv3模型與本文模型檢測(cè)效果對(duì)比圖Fig.5 Comparison of the YOLOv3 model and the model detection effect of this article
對(duì)于檢測(cè)性能的評(píng)估,本文選取平均準(zhǔn)確率(AP,Average Precision)和檢測(cè)速度作為評(píng)價(jià)指標(biāo),分別對(duì)在幾種數(shù)據(jù)集上的檢測(cè)結(jié)果進(jìn)行對(duì)比分析.平均準(zhǔn)確率的計(jì)算與準(zhǔn)確率(P,Precision)、召回率(R,Recall)有關(guān).準(zhǔn)確率是指預(yù)測(cè)出的所有目標(biāo)中正確的比例,召回率是指被正確定位識(shí)別的目標(biāo)占總的目標(biāo)數(shù)量的比例.對(duì)于行人檢測(cè),準(zhǔn)確率是指檢測(cè)出來的行人中確實(shí)是行人所占的百分比,召回率是指正確檢出的行人數(shù)量占行人總數(shù)的百分比.由于P和R常是一對(duì)矛盾,P高、R低,或者R高、P低,故使用AP作為來權(quán)衡模型的綜合效果.計(jì)算公式如下:
(6)
(7)
(8)
在INRIAPerson,PASCALVOC2012和WiderFace數(shù)據(jù)集上進(jìn)行了測(cè)試,把本文算法和Faster-RCNN、YOLOv2、YOLOv3、SSD-Head幾種算法進(jìn)行了比較,幾種檢測(cè)算法性能比較結(jié)果如表2所示.IPerson指代INRIAPerson數(shù)據(jù)集,VOC2012指代PASCALVOC2012數(shù)據(jù)集,WF-Meet、WF-F_G和WF-Sur分別指代WiderFace數(shù)據(jù)集中的Meeting、Family_Group、Surgeons類別.
表2 不同算法準(zhǔn)確率和速度對(duì)比Table 2 Comparison of accuracy and speed of different algorithms
表2展示了在不同數(shù)據(jù)集上采用不同方法的行人檢測(cè)精度和速度對(duì)比.Faster-RCNN、YOLOv2和YOLOv3算法是針對(duì)行人整體進(jìn)行檢測(cè),SSD-Head[12]算法是基于SSD改進(jìn)的行人頭部檢測(cè)方法.從檢測(cè)準(zhǔn)確率來看,本文算法最高,其次依次為SSD-Head、YOLOv3、Faster-RCNN、YOLOv2.從檢測(cè)速度來看,最快的是YOLOv2,其次依次為本文算法、YOLOv3、SSD-Head、Faster-RCNN.由于本文算法的網(wǎng)絡(luò)模型比YOLOv2更復(fù)雜,所以速度要慢一些,但綜合檢測(cè)精度和速度,本文算法是一個(gè)較好的行人檢測(cè)方法.由于不同數(shù)據(jù)集中人群密度、人群所處環(huán)境等有所差異,所以它們的檢測(cè)精度和速度也有所差異.從表2可以看出,本文檢測(cè)模型在INRIAPerson和VOC2012數(shù)據(jù)集上的準(zhǔn)確率略低于WiderFace數(shù)據(jù)集所選示例類別,這是因?yàn)榍皟烧邤?shù)據(jù)集中的圖片中行人與其相比,行人所處環(huán)境更為復(fù)雜,遮擋程度、拍攝距離、行人尺度等因素使得檢測(cè)難度有所上升,但總體上獲得了較高的檢測(cè)準(zhǔn)確率.對(duì)于WiderFace數(shù)據(jù)集,不同的類別檢測(cè)效果也不同.總體上來說,本文提出的算法在檢測(cè)精度和檢測(cè)速度上都得到了一定幅度的提升.
圖6展示了YOLOv3算法和本文檢測(cè)算法在數(shù)據(jù)集WiderFace中 Surgeons類上的P-R曲線.YOLOv3算法的AP值為82.20%,本文檢測(cè)算法的AP值為88.10%,提升了5.9%,在該類數(shù)據(jù)集上獲得了檢測(cè)準(zhǔn)確度的最大提升幅度.
圖6 WiderFace-Surgeons 上的P-R曲線Fig.6 P-R curve on WiderFace-Surgeons
針對(duì)密集人群對(duì)小尺寸行人檢測(cè)識(shí)別困難、遮擋的問題,本文提出基于行人頭部的檢測(cè)算法,以YOLOv3算法為網(wǎng)絡(luò)基礎(chǔ)模型,新增1/4尺寸的檢測(cè)層,建立多尺度反饋網(wǎng)絡(luò),制作豐富的訓(xùn)練集.實(shí)驗(yàn)結(jié)果表明,最終得到的目標(biāo)檢測(cè)模型與YOLOv3算法相比,在檢測(cè)精度和檢測(cè)速度上都得到了提升,在不同數(shù)據(jù)集上體現(xiàn)了較好的檢測(cè)性能和魯棒性.同時(shí)本文仍有許多地方需要改進(jìn),如在檢測(cè)拍攝距離較遠(yuǎn)的模糊小尺寸行人時(shí),檢測(cè)精度和速度明顯有所下降.如何提升復(fù)雜環(huán)境下行人的檢測(cè)精度和速度將是未來的主要研究方向.