蔣 勝,黃 敏,朱啟兵,王正來
江南大學 輕工業過程先進控制教育部重點實驗室,江蘇 無錫 214122
隨著模式識別和機器視覺的發展,基于計算機視覺的目標檢測技術得到了廣泛的應用。行人檢測作為目標檢測的一種,在車輛輔助駕駛[1-4]、智能視頻監控和人體行為分析[5]等領域有著廣泛的運用。傳統的行人檢測依賴于圖像特征的提取。為了實現行人的準確檢測,各種各樣的圖像特征被應用到行人檢測中,例如:HOG[6](Histogram of Oriented Gradient)特征、LBP[7-8](Local Binary Pattern)特征、CENTRIST[9](Census Transform Histogram)特征等。自然環境中背景的復雜性,拍攝角度和距離,人體姿態多樣性,遮擋等因素,往往導致提取特征的有效性難以保證,從而使得檢測的精度無法滿足實際應用需要。如何提高復雜場景下行人檢測的精度,是目前目標檢測領域的一個難點問題。

圖1 R-FCN目標檢測框圖
近年來,基于深度學習的卷積神經網絡在目標檢測領域的應用得到了廣泛的重視。深度卷積神經網絡依靠卷積等的線性變化和激活函數的非線性映射把圖片中像素級的信息映射到高維空間,使得某些任務,例如手寫字體識別[10]、行人檢測等,可以在高維空間輕易地實現。卷積神經網絡不需要手動設計特征,其通過對圖像的卷積操作,可自動實現特征的提取,已成為國內外研究和應用的熱點。
本文把R-FCN[11](Region-based Fully Convolutional Networks)通用目標檢測引入到復雜場景下的行人檢測中。針對自然條件下,廣泛存在的小目標、前景和背景遮擋、背景混淆干擾等因素;通過對R-FCN訓練和搜索機制的修改,顯著地減少了由于上述原因導致的漏報和誤報現象。
基于區域的全卷積網絡[9]的目標檢測分為兩個步驟,先定位目標,再進行目標具體類別的分類。R-FCN目標檢測框圖如圖1所示,首先利用ResNet[12]網絡生成特征映射圖,并利用區域建議網絡(Region Proposal Networks,RPN[13])對生成的特征映射圖進行全圖的前后景目標搜索和篩選,以確定目標框;在此基礎上,利用分類網絡對目標框進行分類識別。
R-FCN網絡使用ResNet-50網絡對圖片進行卷積池化等操作。ResNet-50網絡的輸出層為res5c,res5c為一個1×2 048×63×38的張量。RPN在res5c上完成候選區域的搜索。具體的形式是在res5c輸出層利用512個,尺寸為3×3的卷積核進行卷積操作,獲得一個512×63×38的張量;將該張量作為兩個獨立卷積層的輸入,從而將特征映射圖里的信息轉換為候選區域的位置信息和其為前后景的概率信息。如圖2所示,圖中紅色區域即為搜索區域,圖中只畫出了部分搜索的目標框。

圖2 RPN網絡示意圖
RPN默認用9個搜索框來搜索一塊區域,尺度為642、1282、2562,長寬比為1∶1、1∶2、2∶1,以上搜索框的默認屬性是針對ImageNet,VOC數據集中的通用目標的。考慮到小目標行人檢測的需要,本文將搜索區域的尺度設置為162、322、642,長寬比不變。
對于原始的輸入圖片,RPN網絡會得到約兩萬個搜索框。在實際應用時,一些超出圖片邊界的搜索框會被剔除;同時,對于同一目標重疊覆蓋的搜索框,采用非極大值抑制[14](Non-Maximum Suppression,NMS)方法來處理,以達到去除重疊搜索框的目的。上述策略可顯著提高候選目標框的搜索效率。
R-FCN的分類網絡基于ResNet-50網絡生成的特征映射圖,利用卷積操作在整幅圖像上為每類生成k×k個位置敏感分數圖,用于描述對應位置的空間網格;每個位置敏感圖有C個通道輸出(代表C-1類物體外加一個背景)。對于一個w×h大小的候選目標框(由RPN網絡獲得),將目標框劃分為k×k個子區域,則每個子區域為w×h/k2大小,對于任意一個子區域bin(i,j),0≤i,j≤k-1,定義一個位置敏感池化操作:

傳統R-FCN行人檢測把自然場景下的行人都歸為一類,由于訓練集中的完整行人樣本占的比例較大,R-FCN形成的判別準則對這一類行人有明顯的偏向,從而導致對于遮擋或背景混淆干擾的行人目標的漏檢率偏高。為了提高遮擋或背景混淆干擾的行人目標檢測精度,本文從訓練樣本構造、分類器設計角度對R-FCN網絡進行了改進。
在利用R-FCN網絡進行行人檢測時,通常都是將行人作為一個整體的待識別目標。當行人被部分遮擋時,R-FCN網絡往往難以充分地學習到遮擋行人的特征。本文把可形變模型的思想[15]引入卷積神經網絡中,利用R-FCN網絡分別對人體的上下半身進行檢測,以改善對遮擋行人的特征學習能力,減少對行人整體檢測的困難。本文將訓練樣本中的行人按照上下半身進行劃分,并作為檢測目標進行識別。具體操作如下:(1)若行人未被遮擋(完整行人),則按照1∶1的比例切分行人為上下半身,并賦予相應的標簽;(2)若行人被遮擋,就根據可見的行人部位賦予相應的標簽。
圖3、圖4分別為遮擋引起的誤報示例圖和上下半身訓練樣本實例圖,圖3的紅框是漏報的目標。

圖3 R-FCN小目標遮擋漏報示例圖

圖4 上下半身監督信號制作示例圖
當存在背景混淆干擾時,由于背景和前景中的目標行人較為相似,R-FCN網絡往往難以實現有效識別(如圖5所示)。產生這一問題的原因在于:卷積神經網絡在訓練集上批量讀入圖片集對網絡參數做出更新的時候對這類樣本的關注較少,沒有對這部分樣本形成類內很鮮明的判別準則。為了解決這一問題,本文將存在背景混淆干擾條件下的目標行人賦予新的類別標簽,以加強行人樣本差異性的學習。實施此步驟之后,明顯地提升了這一類目標的檢出率。

圖5 前景和背景相似的樣本示例圖
此時R-FCN價值函數表達式如下所示:

式(2)中的L(s ,tx,y,w,h)是R-FCN的價值函數,s是Softmax輸出的為每一類(包括背景)的概率集合,Lcls(sC*)是分類的交叉熵價值函數,判斷為類別C的概率。tx,y,w,h是目標框的頂點坐標以及長和寬,以下都是的形式,λ1、λ2是超參數,是對行人目標框位置信息的回歸,具體定義如式(3)、式(4)所示,L1指 L1范數。tperson是目標框的位置信息是行人真實的位置信息,是對前景和背景相似的行人目標框位置信息的回歸,r是此類行人的目標框位置信息,是此類行人真實目標框信息。
上述改進策略在加強了對復雜樣本學習的同時,也帶來了誤報率增高的問題。為了進一步改善網絡的性能,本文引入二次分類思想,利用ResNet-50網絡對R-FCN檢測輸出的結果進行二次分類。二次分類網絡(ResNet50)的輸入為R-FCN的目標檢測框的圖片信息,輸出為相應的類別信息。在訓練二次分類器時,為了增大負樣本(R-FCN目標檢測網絡的誤報樣本)的數量,本文采用了復制擴充訓練集的方法,加強二次分類網絡(ResNet50)對原始R-FCN網絡中誤報樣本特征的學習,從而降低誤報率。
訓練樣本是1 280×720大小的圖片集,具體為2016年12月7日在監控視頻下的行人小目標樣本,樣本數為9 025,時間段為10:00到11:30,以及14:30到15:00這兩個時間段。實驗機器CPU型號為I7-5930k,內存為32 GB,顯卡為TITANX 12GD。本文所采用的R-FCN網絡和ResNet50二次分類網絡都是基于深度學習框架caffe(https://github.com/BVLC/caffe)。兩種網絡參數更新方法均為隨機梯度下降法,學習率均為0.001。R-FCN訓練模型的最大迭代次數為40 000次,ResNet50二次分類網絡的最大迭代次數為1 000次。R-FCN測試一張圖片約為0.1 s,改進后的R-FCN測試一張圖片約為0.2 s。在把行人樣本(包括上下半身和背景混淆干擾的行人樣本)放入R-FCN中訓練之前,對行人樣本進行了1.2倍的擴邊操作,其目的是為了學習到帶有更多不同背景的正樣本特征,增加樣本的復雜程度,加強模型從復雜的背景中分辨出行人的能力。測試集為2016年12月7日時間段為12:00—13:00采集的910張監控視頻下的圖片(大小為1 280×720)集,其中有3 298個正樣本。實驗結果如表1所示。

表1 R-FCN行人檢測結果
表1記錄了本文三種對R-FCN小目標行人檢測方法改進后的結果,從表1中可以看出,深度卷積神經網絡可以對類內的差別進行學習。R-FCN(1)、R-FCN(2)是對行人標簽樣本的改進結果,較傳統R-FCN的14.22%漏報率,R-FCN(1)漏報率下降為7.97%,R-FCN(2)漏報率下降為9.61%,綜合兩種改動的R-FCN(1)(2)漏報率下降為5.52%。與此同時,相比于原始的RFCN網絡的7.22%的誤報率,R-FCN(1)、R-FCN(2)和R-FCN(1)(2)的誤報率分別增加到 8.43%、7.67%和11.70%。這一結果表明當利用改進的樣本構造策略后,R-FCN網絡可以提高對于遮擋和背景混淆干擾條件下的目標行人樣本學習能力,從而改善漏報率。但同時,由于背景的復雜性,也會帶來學習模型的誤報率的提高。當采用二次分類后,誤報率均有顯著的下降。RFCN(1)從最初的8.43%下降為4.97%,R-FCN(2)則從7.67%下降為3.82%,R-FCN(1)(2)從11.70%下降為2.49%。
圖6、7為部分檢測結果,左邊為R-FCN(1)(2)(3),右邊為R-FCN。從圖6中可以看出,傳統的R-FCN對遮擋有一定的檢測能力,改進后的R-FCN(1)(2)(3)對遮擋的檢測效果要優于傳統R-FCN,被白色汽車遮擋的行人可以被R-FCN(1)(2)(3)檢測到,傳統的R-FCN則會漏報。從圖7中可以看出,傳統的R-FCN對背景混淆干擾這一類行人檢測效果不理想,而且對于站位較近的行人粗略地只用一個框標出,綠色的框為漏報。圖7左圖為R-FCN(1)(2)(3)的行人檢測效果,背景混淆干擾的行人,以及站位比較接近的行人都被檢測到并區分開來,檢測效果明顯優于傳統R-FCN。其中,在R-FCN(1)(2)(3)的結果中紅色框為上半身,藍色框為下半身,紫色框為混淆背景干擾的行人,綠色框為漏報;在R-FCN的結果中紅色框為行人,綠色框為漏報。
深度學習已成為機器學習領域新的研究熱點,并在圖像分類、語音識別等領域取得了巨大的成功。本文在基于區域的全卷積神經網絡上做了改進,避免了復雜的人工特征提取的過程,完成了復雜場景下的行人檢測。針對基于區域的全卷積神經網絡的行人檢測漏報誤報問題,提出了改進方法,提高了復雜場景下的行人檢測在遮擋和背景混淆干擾兩類樣本上的檢出率,并用二次分類的方法在一定程度上抑制了行人的誤報。最后,實驗證明,改進的R-FCN對行人檢測具有較好的表現,漏報率降為5.52%,誤報率為2.49%,速度約為0.2 s一張圖片,驗證了此方法的可行性和實時性。