金蘭英,路錦正,2
1(西南科技大學 信息工程學院,四川 綿陽 621010) 2(特殊環境機器人技術四川省重點實驗室,四川 綿陽 621010) E-mail:1351877395@qq.com
隨著深度學習的發展,基于深度學習的行人檢測技術研究逐漸成為研究熱點并得到了快速發展.當前行人檢測技術廣泛應用于智能視頻監控跟蹤、人臉識別、人群計數等諸多領域,對城市商業建設規劃、人流量或交通流量管控、公共區域安全維護等具有重要的現實意義.
當前基于深度學習的目標檢測方法主要分為以R-CNN系列[1-3]、SPPNet[4]、R-FCN[5]等為代表的Two-Stage目標檢測算法和以SSD[6]、YOLO系列[7-9]、DenseBox[10]等為代表的One-Stage目標檢測算法兩類.Two-Stage目標檢測算法將物體定位和識別分為兩步完成,識別錯誤率低,漏檢率較低,但速度較慢,在實時檢測場景下效果較差.隨之產生的One-Stage目標檢測算法將物體定位和物體分類在一個步驟中完成,實現了對圖像端到端的檢測,整體流程較為簡單,檢測速度快,但檢測準確率相比于Two-Stage模型略低.
基于以上討論可知,當前的目標檢測技術無論是在檢測精度上還是檢測速度上都具有較大的進步空間,目標檢測算法研究依然是一項非常具有挑戰性的課題.當下行人檢測面臨的困難主要包括如下幾個方面:1)檢測目標體態的多樣性:行人由于運動造成身體姿態的多樣性和拍攝角度造成的人體形態多樣性最終導致的行人遮擋等;2)檢測目標尺度的多樣性:密集人群的小尺度行人檢測和稀疏人群的大尺寸行人檢測;3)目標檢測場景的多樣性:天氣、光照、地理位置等使監控視頻采集的數據具有多樣性,如場景中的具有與行人相似特征的物體易被錯誤地識別為人.
針對以上幾點困難,Li Y等人[11]提出Trident網絡,采用尺度感知規則訓練網絡,Li H等人[12]提出使用SSD進行行人頭部檢測,但在對小尺度目標的檢測識別上仍有許多進步空間.Chen K等人[13]以Faster R-CNN為網絡原型提出新增錨點框來實現對不同尺度目標的檢測,Ji等人[14]針對性地對錨點框進行尺度修改以降低漏檢率.為有效提升對行人的檢測精度和檢測速度,受文獻[15]啟發,本文提出基于YOLOv3改進的行人頭部檢測方法來實現對行人的檢測.通過新增尺寸為輸入圖像尺寸四分之一的特征圖以提升對小尺度行人的識別;采用多尺度反饋以引入全局上下文信息來提升對高密度人群的識別能力;最后,對INRIAPerson[16]、PASCALVOC2012[17]、WiderFace[18]等數據集進行行人頭部標注,制作頭部數據集進行訓練測試,驗證了該算法的有效性.
2016年,Redmon等人提出的YOLO算法率先實現了網絡端到端的學習.該算法中只有單個網絡[19],不需要提取候選區域,計算量大量減少,極大地提高了檢測速度,從而引領了目標檢測網絡框架的新風潮.2017年提出的YOLOv2算法創新性地使用了Darknet-19作為骨干網絡,引入了Batch Normalization(BN)[20]模塊,該模塊加速了網絡收斂并能防止過擬合,最終在檢測速度上得到了極大的提升.2018年,YOLOv3正式被提出.
相比于YOLOv2,YOLOv3首先調整了它的網絡結構,由YOLOv2的Darknet-19擴展至Darknet-53,即包含有53個卷積層,加深了網絡的深度.Darknet-53網絡借鑒了ResNet[21]的殘差結構,該種結構使訓練深層網絡的難度大大減小,使之可以具有更深的網絡結構,從而提升了檢測精度.其次,為了增強網絡對小目標的檢測效果,YOLOv3在YOLOv2的一個尺度預測上新增兩個尺度成為三尺度特征預測,結合特征金字塔的思想,利用特征提取器生成的3個不同尺寸的特征圖進行目標預測.在對目標的分類預測上,YOLOv3用logistic分類取代softmax分類,這樣能夠支持對同一目標的多標簽分類,有利于處理更復雜的情況.
在基于卷積神經網絡的目標檢測中,特征提取骨干網絡的選取往往決定著提取出的特征質量,從而直接影響目標檢測的效果.本文采用Darknet-53作為特征提取器的骨干網絡.該網絡模型在分類準確度和效率的平衡上,比ResNet-101、ResNet-152和Darknet-19表現得更好.YOLOv3網絡結構使用3種尺寸的特征圖來檢測不同大小的目標,即在5倍下采樣、4倍下采樣和3倍下采樣處創建特征映射.由特征金字塔網絡(Feature Pyramid Networks,FPN)思想可知,深層卷積網絡生成的特征圖雖然擁有較高的語義信息,但是在卷積過程中會丟失目標的位置信息,不利于小型目標的檢測;而淺層卷積得到的特征圖雖然語義信息不夠豐富,但是卻保留了目標較為精確的位置信息.
因此,為了提升對密集人群中小尺寸行人的檢測能力,我們在特征提取網絡中新增了一個特征輸出層,它通過兩倍下采樣得到,位于淺層網絡.當輸入圖像尺寸為416×416時,它的特征圖尺寸為104×104.此時我們得到4個尺寸的特征圖:13×13,26×26,52×52,104×104.尺寸為52×52和104×104的特征圖位于網絡的較淺層,感受野較小,包含較強的目標位置信息,可以捕獲低級特征,適用于小尺寸目標檢測;尺寸為26×26,13×13的特征圖位于網絡較深處,感受野較高,包含更為豐富的語義信息,適用于大中目標的檢測.本文特征提取網絡結構如圖1所示.該網絡在一定程度上減輕了行人尺寸變化劇烈帶來的檢測困難問題,使得對于不同密度的人群也能得到較好的檢測效果.

圖1 基于Darknet-53的特征提取器Fig.1 Feature extractor based on Darknet-53
對于多尺度特征提取,存在的問題是高分辨率特征圖由于缺乏上下文信息而在辨別人上表現受限.比如容易把行人所處環境中的四周與人具有相似特征的景或物錯誤地檢測識別為行人.為了提升對高密度人群中行人的識別能力,我們把較高感受野和高感受野聯合起來以引入全局上下文信息到各個尺度分支中.整個行人檢測模塊如圖2所示.
分析圖2可以看出,對于特征提取網絡的4個不同尺寸的特征圖輸出,端口2為1/32的輸入尺寸連接,該層特征圖輸出由于位于網絡最深處,沒有接受來自其他層的反饋輸入,但它會生成反饋分支分別連接到1/16、1/8和1/4尺度分支上,然后通過6個DBL和最后一層卷積層得到相應的預測.而對于剩下3個尺度分支,都加入了多尺度反饋.多尺度反饋通過高分辨率分支接收來自較低分辨率尺度分支的反饋連接來實現.例如,對于1/4尺度分支,它將接受來自1/8,1/16以及1/32這3個分支的反饋鏈接;對于1/8尺度分支,它將接受來自1/16以及1/32兩個尺度分支的反饋鏈接并生成反饋分支連接到1/4尺度分支上.從圖2中可以看出,在接收到不同尺寸的反饋分支后,將進行反饋處理.對于反饋處理,是讓每個反饋輸入經過一個轉置卷積層,以對反饋特征圖進行上采樣從而使反饋特征尺寸與當前特征尺度分支保持一致.然后將這些上采樣處理后的分支與當前尺寸分支進行張量拼接(concat)操作,最后經過一系列DBL結構,再通過一層卷積層,做出相應的預測.最后得到4個不同尺寸的預測層y1,y2,y3,y4.

圖2 行人檢測整體框架圖Fig.2 Overall framework of pedestrian detection
通過多尺度反饋處理將全局上下文信息驅動到其他尺寸分支不僅可以提升對行人的檢測識別能力,還有助于抑制虛假檢測.
對于邊界框的預測,采用直接預測相對位置的方法預測出邊界框相對于左上角的相對坐標.首先采用k-means聚類方法生成12個先驗框(anchor box prior).YOLOv3中先驗框為9個.先驗框與預測框的關系如圖3所示.
虛線框為先驗框,實線框為預測邊界框.預測框通過對先驗框進行平移縮放得到.在經過特征提取器獲得4個不同尺寸的特征圖后,將輸入圖像根據特征圖尺寸劃分成相應大小的s×s個網格單元(grid cell).當某個目標的中心坐標落在某個grid cell中,則由該grid cell預測該目標.每個網格單元會預測3個邊界框,每個邊界框包含4個坐標信息和1個置信度信息.
對于邊界框的坐標預測計算公式具體如下.
bx=σ(tx)+cx
(1)
by=σ(ty)+cy
(2)
bw=pwetw
(3)
bh=pheth
(4)
Pr(object)×IOU(b,object)=σ(to)
(5)
網絡模型預測得到4個坐標偏移輸出tx,ty,tw,th.σ為激活函數Sigmoid,將網絡預測值tx,ty映射到0-1區間內.cx,cy是特征圖中單元網格相對于圖像左上角的偏移量.pw,ph為先驗框尺寸.最終通過上述坐標偏移公式得到預測邊界框的中心坐標為bx,by,寬高為bw,bh.σ(to)為預測框的置信度,它通過預測框的概率和預測框與真實框的IOU 值相乘計算得到.通過對σ(to)設定閾值,濾除掉低分預測框,再對剩下的預測框進行非極大值抑制(NMS,Non-Maximum Suppression)[22]得到最終的預測.對于目標的類別預測采用邏輯回歸分類.當圖像經特征提取后的某一類輸出經邏輯回歸分類器后若大于0.5,則表示屬于該類.
本文實驗環境使用Ubuntu18.04操作系統,中央處理器為Intel?CoreTM i7-7700K CPU @4.20GHz x 8,運行內存32G,顯卡使用NVIDIA GeForce GTX 1080Ti,顯存11G.使用的深度學習框架為Keras+Tensorflow.
本文使用WiderFace、INRIAPerson和PASCALVOC2012 3個數據集對提出的結合多尺度反饋的行人頭部檢測方法進行行人檢測效果測試.又由于本文是基于行人頭部的檢測,所以需要制作行人頭部數據集.本文采用標注工具LabelImg對INRIAPerson,PASCALVOC2012和WiderFace數據集進行標注,生成.xml文件.
3個數據的具體參數特征如表1所示.WiderFace數據集由61種人群事件類別組成,如家庭聚會、辦公室會議等.PASCALVOC2012數據集有20個目標類別,本實驗抽取該數據集中的Person類別進行實驗.3個各具特點的人群數據集包含了豐富的人群特征信息,使得本文模型具有較強的魯棒性.數據集中部分示例圖像如圖4所示.

表1 行人數據集參數描述Table 1 Pedestrian data set parameter description
為了驗證本實驗模型的有效性,將本文算法與YOLOv3算法的行人檢測效果進行對比.使用本文方法和YOLOv3算法訓練得到的模型進行實驗得到的部分效果圖如圖5所示.從圖5(a)的幾幅圖對比分析可以看出,當行人軀干被遮擋時,基于全身的檢測方法存在明顯的漏檢現象,而本文建立的行人頭部檢測模型降低了軀干遮擋對檢測的影響,且在視覺上更容易定位行人;圖5(b)由于行人較密集,存在較多小尺寸行人,YOLOv3算法對小尺寸行人的檢測效果較差,本文采用的多尺度反饋結構及四尺度檢測提升了對小尺度人群的檢測效果;圖5(c)對比可看出,YOLOv3算法將玻璃櫥窗中的行人倒影和路邊標志牌誤識為了人,在復雜的背景環境中,本文算法改善了對于具有與行人相似特征的物體的誤檢現象,有效提升了對行人的識別能力,降低了誤檢率.綜上對不同條件下行人檢測結果的對比分析可知,本文的算法明顯改善了對小尺寸行人的檢測效果,降低了軀干遮擋帶來的漏檢影響以及相似特征環境帶來的行人識別干擾影響,降低了漏檢率,提升了算法的檢測精度.

圖5 YOLOv3模型與本文模型檢測效果對比圖Fig.5 Comparison of the YOLOv3 model and the model detection effect of this article
對于檢測性能的評估,本文選取平均準確率(AP,Average Precision)和檢測速度作為評價指標,分別對在幾種數據集上的檢測結果進行對比分析.平均準確率的計算與準確率(P,Precision)、召回率(R,Recall)有關.準確率是指預測出的所有目標中正確的比例,召回率是指被正確定位識別的目標占總的目標數量的比例.對于行人檢測,準確率是指檢測出來的行人中確實是行人所占的百分比,召回率是指正確檢出的行人數量占行人總數的百分比.由于P和R常是一對矛盾,P高、R低,或者R高、P低,故使用AP作為來權衡模型的綜合效果.計算公式如下:
(6)
(7)
(8)
在INRIAPerson,PASCALVOC2012和WiderFace數據集上進行了測試,把本文算法和Faster-RCNN、YOLOv2、YOLOv3、SSD-Head幾種算法進行了比較,幾種檢測算法性能比較結果如表2所示.IPerson指代INRIAPerson數據集,VOC2012指代PASCALVOC2012數據集,WF-Meet、WF-F_G和WF-Sur分別指代WiderFace數據集中的Meeting、Family_Group、Surgeons類別.

表2 不同算法準確率和速度對比Table 2 Comparison of accuracy and speed of different algorithms
表2展示了在不同數據集上采用不同方法的行人檢測精度和速度對比.Faster-RCNN、YOLOv2和YOLOv3算法是針對行人整體進行檢測,SSD-Head[12]算法是基于SSD改進的行人頭部檢測方法.從檢測準確率來看,本文算法最高,其次依次為SSD-Head、YOLOv3、Faster-RCNN、YOLOv2.從檢測速度來看,最快的是YOLOv2,其次依次為本文算法、YOLOv3、SSD-Head、Faster-RCNN.由于本文算法的網絡模型比YOLOv2更復雜,所以速度要慢一些,但綜合檢測精度和速度,本文算法是一個較好的行人檢測方法.由于不同數據集中人群密度、人群所處環境等有所差異,所以它們的檢測精度和速度也有所差異.從表2可以看出,本文檢測模型在INRIAPerson和VOC2012數據集上的準確率略低于WiderFace數據集所選示例類別,這是因為前兩者數據集中的圖片中行人與其相比,行人所處環境更為復雜,遮擋程度、拍攝距離、行人尺度等因素使得檢測難度有所上升,但總體上獲得了較高的檢測準確率.對于WiderFace數據集,不同的類別檢測效果也不同.總體上來說,本文提出的算法在檢測精度和檢測速度上都得到了一定幅度的提升.
圖6展示了YOLOv3算法和本文檢測算法在數據集WiderFace中 Surgeons類上的P-R曲線.YOLOv3算法的AP值為82.20%,本文檢測算法的AP值為88.10%,提升了5.9%,在該類數據集上獲得了檢測準確度的最大提升幅度.

圖6 WiderFace-Surgeons 上的P-R曲線Fig.6 P-R curve on WiderFace-Surgeons
針對密集人群對小尺寸行人檢測識別困難、遮擋的問題,本文提出基于行人頭部的檢測算法,以YOLOv3算法為網絡基礎模型,新增1/4尺寸的檢測層,建立多尺度反饋網絡,制作豐富的訓練集.實驗結果表明,最終得到的目標檢測模型與YOLOv3算法相比,在檢測精度和檢測速度上都得到了提升,在不同數據集上體現了較好的檢測性能和魯棒性.同時本文仍有許多地方需要改進,如在檢測拍攝距離較遠的模糊小尺寸行人時,檢測精度和速度明顯有所下降.如何提升復雜環境下行人的檢測精度和速度將是未來的主要研究方向.