楊歡,胡彪
(西南民族大學電氣信息工程學院,成都610041)
現如今,人工智能已經應用于各個領域,和傳統的一些方法相比,深度學習方法具有更好的魯棒性和更快速度以及更高的準確率。在計算機視覺領域中,目標檢測一直是一個研究熱點和難點,然行人檢測在很多安防領域和自動駕駛方面都有很高的需求,這引起了人們廣泛的關注。行人檢測的主要任務是對于輸入的圖像序列或者視頻幀通過檢測系統輸出包含行人的矩形框。
在傳統的行人檢測方法中,其主要是先提取梯度方向直方圖[1](Histogram of Oriented Gradient,HOG)特征,然后訓練支持向量機[2](Support Vector Machine,SVM)分類器,最后利用滑動窗口鎖定目標區域對其進行分類判斷。這種方法使用人工構造特征進行檢測時,存在耗時、魯棒性差等問題,其特征表征能力不足,很難適應復雜的環境。曲昭偉[3]等采用聚類的方法,并用HOG提取特征,最后使用SVM進行分類,達到了對行人的實時監測。2012年,Krizhecsky[4]等人提出了AlexNet,在ImageNet的圖像分類競賽中證明了其實力。隨后,深度卷積神經網絡(Deep Convolutional Neu?ral Networks,DCNN)走上人工智能最前端,應用于圖像識別和其他應用領域,開啟機器視覺新領域。主要分為兩類:一類是以R-CNN[5]、SPPNet[6]、Fast R-CNN[7]和Faster R-CNN[8]系列為主,該類方法是一個“由粗到精”的過程,首先產生目標候選框,也就是目標位置,然后再對候選區域進行分類和回歸,該方法雖檢測的精度較高,但因其存在區域建議網絡(Region Proposal Networks,RPN),導致檢測速度不高;另一類是以YOLO[9]、SSD[10]為代表的基于回歸的方法,被視為“一步完成”,通過CNN直接預測出目標的類別及位置坐標,與兩階段檢測器相比,其特點是檢測速度快,但精度不高。在基于深度學習的行人檢測方面,Park[11]等人設計了一種卷積神經網絡框架實現行人檢測任務,并以端到端的方式訓練整個模型;Zhang[12]等為了實現對遠程行人的檢測,通過Faster R-CNN進行快速選框,然后采用殘差網絡(ResNet)提取候選區域的特征。郭愛心[13]等人在Faster R-CNN的基礎上,提出行人建議區域網絡,并采用特征融合方法證明其合理性與有效性。Liu[14]等人提出了一種將檢測對象作為高級語義特征任務的新視覺,將行人檢測簡化成一個簡單的中心點和尺度預測任務。
以上這些方法大多都基于anchor進行檢測的,使用anchor時,(1)需要在不同尺度的特征層上平鋪,每個特征點對應了多個anchor-box,增加了計算耗時,在大量無用樣本上花費算力;(2)需要預定義兩個超參數:anchor size和aspect ratio,這些預定義的超參數影響模型的性能。本文提出的MRFP模型是一種用于行人檢測的anchor-free的設計方法,其主要考慮到感受野和有效感受野的重要性,感受野根據其大小的不同將其看作是不同大小的anchor-box,淺層的特征圖映射回原圖的感受野范圍較小,可以用于檢測小尺度行人,越往深層的特征圖映射回原圖的感受野范圍越大,用于檢測大尺度行人。整個網絡框架都是使用3×3和1×1的卷積核,總共僅20個卷積層,181萬的參數量,相比于ResNet[15]、SSD等模型,其速度要快得多。
Anchor-based的檢測方法最大的特點就是預先設定好anchor,為了檢測不同大小和形狀的目標,anchor的設定也是多種多樣的。本文MRFP方法把感受野當做一種天然的anchor,在搭建好神經網絡的時候,不同特征層的神經元映射到原圖的感受野大小和數目便被固定下來了。通過這樣的方式便可以根據不同大小的感受野檢測不同大小的行人。
在卷積神經網絡中,感受野是圖像通過卷積神經網絡得到的特征圖上的每一個像素點映射到輸入圖像上的某個區域大小。感受野區域越大,則意味著特征圖上這個像素點能夠接觸到原始圖像更大的范圍,也就是包含著更大的輸入圖像的信息量,包含著更高層次的語義信息。若感受野越小,則表示像素點映射回輸入圖像所包含的信息量更少,更多的是趨于局部和細節的特征。因此,如果被檢測的行人,能被某個感受野包括,或者剛好結合,那么這個行人就能很好地被檢測出來。圖1為感受野示意圖,感受野的計算公式由式(1)所示。
圖1中,kn表示第n層的卷積核大小,sn表示第n層卷積的步長。rn表示經過第n次卷積得到的感受野大小。大小為9×9原始圖像在經過三次卷積之后到的特征圖每個像素點映射回原始圖像的感受野大小為7×7。

圖1 感受野示意圖
感受野有一個重要屬性,即每一像素點對神經元的激活所做的貢獻都是不一樣的,總的來說,感受野中心點的像素,做的貢獻是最大的,如圖1中input image的小紅色框,,稱為有效感受野,該像素點對feature map3粗黑色的像素點的貢獻最大,離中心點越遠,則貢獻越小;有效感受野在網絡中的存在類似于高斯分布。

式1中,當n=1時,每個像素點的感受野是1×1,當n≥2時,感受野通過式(1)計算得來。由式(1)可以看出,前面卷積層的卷積核大小及步長都會影響到后面卷積層的感受野大小。卷積越深,其特征圖映射回原圖的感受野區域越大;反之,層數越淺,其特征圖映射回原圖的感受野區域越小。
該網絡結構總共有20層,有4個loss分支,每個分支負責不同大小行人的檢測任務,對于小目標而言,需要更多的細節信息,所以感受野和行人的平均尺寸的比例是較大的;隨著卷積越深,檢測的目標越大,不需要較多的背景信息就很容易檢測到,其比例也逐步減小。該網絡框架的具體信息見表1。

表1 MRFP網絡框架的具體信息

圖2 MRFP的網絡結構
該網絡結構全部使用3×3的卷積核,表一中,藍色的卷積層表示采用2×2的步長大小,特征圖隨著卷積的加深逐步變小;網絡中的殘差連接只是簡單的通道融合。紅色部分表示4個不同的loss分支。對于每個loss分支,其又有兩個小的分支,一個用于分類,判斷是否為行人,一個用于回歸box的位置坐標。
和感受野匹配的是正樣本,否則認為是負樣本。在訓練過程中,如果感受野匹配到了多個行人,直接被忽略。本文中,對于每個變換的尺度,設定了灰色區域。灰色區域為[[SLi*0.9],SLi]和[SUi,[SUi*0.1]],其中SLi和SUi分別表示第i層的連續尺寸的下限和上限,比如分支2,檢測的目標是[50-100],那么該區域的灰色區域為[50,55]和[90,100],如果目標落在灰色區域,就會被忽略掉。
對于box回歸,本文使用L2 loss,回歸的groundtruth定義如下:

其中RFx和RFy表示感受野中心點的坐標,和表示box的左上角坐標,和表示box的右下角坐標。RFS表示感受野的大小。當感受野與box進行匹配時被激活,否則忽略,在計算loss的時候,他們具有相同的權重,這樣能保證兩邊平衡,使左上角和右下角的坐標到groundtruth box中心的距離是相等。
構建對應尺度的feature map,一個尺度的feature map分為兩種:
(1)一種記錄了原圖box歸一化后的數值,包含了六個通道,前兩個用1和0分別標注正負樣本,后四個表示左上角和右下角的坐標。
(2)另一種為mask map,包含六個通道,前兩個標記正負樣本,后四個是一樣重復的mask,有box的數值為0,沒有的區域數值為1,灰色區域為0~1。在訓練過程中,將得到的預測結果和mask相乘,可以把映射到原圖上負樣本點的預測值歸0,正樣本點保持不變。因此,只有映射到box的特征圖上的點才會進行loss計算。

圖3 mask map示意圖
Calthch[16]行人檢測數據集,取自在城市環境中正常行駛的車輛,是一系列視頻數據,總共包含了2300個行人,是行人檢測中常用的數據庫,規模較大。該數據集主要包含set00~set10這11個數據集以及整個數據集的注釋。本文實驗由set00~set05六個數據集訓練,由set06~set10五個數據集做測試。
硬件方面,訓練機器配置Intel i7-4790K CPU;兩塊GeForce GTX 1080 GPU;8G內存。軟件方面,系統采用發行版本為16.04正式版的Linux環境。搭建的實驗平臺所使用的計算機軟件配置為MXnet 1.5.0深度學習框架,CUDA10.2英偉達運算平臺。實驗中深度網絡模型的訓練和測試采用Python編程,使用3.7的版本編譯,模型的性能評估采用MATLAB編程。
本文方法訓練時的參數設置如下:
(1)初始學習率為0.1,分別在300000,600000,900000次迭代的時候乘以0.1降低學習率;
(2)最大迭代次數1000000;
(3)Moment為0.9,使用SGD算法對損失函數進行優化;
(4)batch size設置為32;
(5)NMS[17]閾值設置為0.5。
本文采用MR(Miss Rate)-FPPI(False Positive Per Image)來衡量MRFP模型的性能,式(3)和式(4)分別表示MR和FPPI的含義,在MR-FPPI曲線中兩坐標都是基于對數取得。最終得到的數值越低,表明其檢測效果越好。

本 文 選 擇 了FPDW[18]、ACF[19]、MultiSDP[20]、DBNMut[21]等算法與本文的算法MRFP做對比。圖4是MRFP方法在Caltech測試數據集上的檢測示例,圖5展示了不同算法在Caltech測試數據集上的檢測結果,MRFP檢測精度高于其他幾個算法。

圖4 MRFP方法在Caltech測試數據集上的檢測示例

圖5 不同行人檢測算法與MRFP在Caltech數據集上的比較結果
本文提出的MRFP模型是一種基于anchor-free深度學習的行人檢測方法。合理設計感受野和行人大小的占比關系,根據不同尺度感受野和不同尺度的行人比例,合理設計四個檢測分支,分別用于檢測不同尺度的行人。在行人檢測數據集Caltech上取得了較好的效果,表明了其合理性,但是該模型在復雜情況下以及人群密集的場景中依然存在誤檢漏檢情況,下一步將在該問題上進行進一步研究,以提高行人檢測的精度。