崔 鵬,趙莎莎,范志旭
哈爾濱理工大學 計算機科學與技術學院,哈爾濱 150080
目標檢測問題可看作一種分類問題,需要把目標從背景中識別出來并精準定位。行人檢測比檢測其他物體如汽車、人臉更加困難[1],因為人體是非剛性、高度的鏈接,不僅受到光照的變化、遮擋、視覺上的扭曲,還有不同的姿勢姿態。另外,由于人體穿著的多樣性,行人不能僅利用紋理和顏色信息特有的優勢去檢測。
特征提取對于檢測器的設計起著至關重要的作用,近年來,國內外研究人員設計出多種特征描述符。Dalal等人[2]提出梯度方向直方圖(histogram of oriented gradient,HOG)去提取人體形狀的輪廓信息,能對光照、尺度、方向有很好的適應性,因此得到廣泛的應用。隨后,一些研究者在HOG的基礎上設計新的檢測器[3-4]。Dollár等人[5]首先引入積分通道(integral channel features,ICF),結合6個梯度方向直方圖通道、梯度幅度通道等,得到有效的特征。為了提高魯棒性,相繼提出聚合通道特征如ACF(aggregate channel feature)[6]、LDCF(locally decorrelated channel features)和 Spatial Pooling[7]等,將通道分塊,并將每個塊中的像素求和作為特征值。還有矩形特征如ChnFtrs、Squares ChnFtrs[8]、Informed Haar、NNNF(nor-neighboring and neighboring features)[9]等考慮一階或更高階矩形特征。隨著強大的并行計算架構的出現,深度神經網絡正在迅速革新機器學習和人工智能的世界[10-11],文獻[12]設計的無監督深度學習方法,是第一個使用卷積網絡來檢測行人。深度堆棧網絡代替原始特征,提高系統的判別能力,同時保留可變形部分模型的優點,即對姿態和部分遮擋的魯棒性,Ouyang等人[13]構建一個能夠執行特征提取、部件變形處理和遮擋處理的可判別網絡。Hosang等人[14]使用有監督的深度學習方法,適應圖像分類設計的網絡來檢測行人。這種方法在檢測精度方面具有良好的結果,改進了基于手工特征提取的最新方法的性能。
以上研究中的深度網絡方法可以達到不錯的性能,但需要昂貴的設備如GPU及大量的訓練圖像。此外,直接對圖像進行學習,會消耗大量的時間,并影響分類器的性能。在文獻[15]中,作者將額外特征(包含前面提到的ICF通道、邊緣通道特征等)輸入到卷積神經網絡中,從而提升檢測性能,但是不同通道整合的特征維數大,訓練CNN(convolutional neural networks)的計算成本昂貴。自動編碼器作為常用的深度網絡結構,可以捕捉圖像的重要信息,學習到表示行人信息的主要特征,降低時間復雜度。在此啟發下,本文提出了一種基于深度稀疏自編碼網絡(deep sparse auto-encoder network,DSAEN)方法,將行人信息特征結合到深度學習的檢測框架中來學習行人圖像的主要特征。
本文的組織結構為:第2章講述自動編碼器的理論方法;第3章詳細描述了基于深度稀疏自編碼網絡的行人檢測方法;第4章介紹實驗應用的數據庫、性能評估指標以及各種算法的對比實驗;第5章對全文進行總結,并對下一步的研究方向加以展望。
常用的深度網絡結構有深度置信網絡(deep belief networks,DBN)、卷積神經網絡(convolutional neural networks,CNN)和自動編碼器(auto-encoders,AE)[16]。AE接受一些輸入x并嘗試將其復制到輸出y。它具有三層,一個大小為n的可見層,一個節點為d的隱含層和一個具有n個節點的重構層[17]。設x∈Rn為輸入向量,h∈Rn為隱含層的輸出,x?∈Rn為x的重構。當d

其中,f(?)是非線性激活函數,W和b是編碼過程中的權重矩陣和維度為d的偏置矢量,W′和b′是解碼的權重矩陣和n維偏置矢量。參數(W、W′、b和b′)可以通過反向傳播算法最小化目標函數來估計。
傳統的網絡以整幅圖像作為輸入[18],導致網絡學習時間長,并且目標函數不能使數據有效地收斂,從而影響檢測器的性能。本文提出的DSAEN在輸入層后加了一層感興趣層,提取出充分表示行人信息的混合特征。通過網絡得到的特征輸入到線性核函數的SVM分類器中進行訓練。檢測時,通過訓練好的檢測器對測試圖像進行判斷,最后采用非極大抑制算法(non-maximum suppression,NMS)[19]對行人的位置精確定位。
目前,大部分行人檢測技術是通過描述局部圖像區域特征而設計,沒有充分利用行人的固有屬性。事實上,行人的一些固有屬性可以進一步提高檢測器性能。NNNF利用行人圖像固有的外觀屬性,設計出側向內部差異特征(side-inner difference features,SIDF)和對稱相似性特征(symmetrical similarity features,SSF),充分表示了圖像信息。本節在NNNF的基礎上進行改進,并將跨通道特征融合到特征設計中。
如圖1所示,用矩形表示兩個目標,目標1(圖中第一行)中間有一條直線,而目標2(圖中第二行)沒有,如果用相鄰特征表示目標,得到的特征值相同,不能區分開目標,而圖中的非相鄰特征為不同的值,因此可以正確地區分這兩個目標。將這種非相鄰特征應用到行人圖像中,如圖2,圖像中標注的非相鄰區域可以觀察到行人與背景之間、行人輪廓與內部之間的差異以及行人的外觀對稱性。

Fig.1 Difference between nor-neighboring and neighboring features圖1 非相鄰特征與相鄰特征的區別

Fig.2 Application of nor-neighboring features in pedestrian images圖2 非相鄰特征在行人圖像中的應用
對于SIDF,非相鄰的兩個區域在同一水平位置,而尺寸、距離、比例關系可以呈現多樣性,圖3為SIDF可能存在的形式。假設圖3(a)為標準的矩形區域塊,圖3(b)~(e)為相對于圖3(a)做出的改變。

Fig.3 Different types of SIDF圖3 不同類型的SIDF
假設SIDFf(A,B)由兩個塊A和B組成。A和B的像素數目由NA和NB表示,每個通道中像素和由SA和SB表示。通過式(3)計算側向內部差異特征f(A,B)。

SSF是根據行人的對稱性而設計的,如圖2中的對稱區域,兩個區域有相似的特征,塊A和A′的對稱相似性特征f(A,A′)的表達式如式(4)。

其中,fA和fA′表示塊A和A′的特征,fA=SA/NA。
在文獻[9]中提出的對稱特征是單一的以90°為對稱軸,如圖2的對稱區域標注,而實際場景中,人的行為具有多樣性,本文增加兩種對稱軸線,分別為45°和135°,以滿足圖4的情況。為了消除行人形變的影響,引入隨機池來表示塊特征,對稱塊A和A′分別由四個子區域隨機組成,每個子區域的面積應大于塊的一半,塊的特征由子區域隨機池得到的特征表示。Stochastic pooling為基于概率的隨機池化,是對塊中元素值賦予權重概率,如果區域內只有一個非零元素,則概率為1,取不到元素為零的值,沒有考慮元素的順序。因此,增加元素排序影響因子,其計算過程如下:

Fig.4 Application of different symmetry axes in image symmetry information extraction圖4 不同對稱軸在圖像對稱性信息提取的應用
步驟1對池化區域的元素進行去重排序,確保相同元素具有相同的概率值。
步驟2加入排序影響因子,計算如下:

其中,α為超參數,ri代表xi在塊中排序的索引值,n為塊中元素個數。
步驟3計算元素權重概率。

步驟4從有關p的多項式分布取樣,得到xi。

圖5為本文改進的隨機池化方法的計算示意圖。對稱塊A和A′的尺寸允許在合理范圍內變化,其范圍從6×6個像素到10×10個像素,f(A,A′)轉化為式(8)計算。

在具有多通道類型的行人檢測器中,如HOG+LUV,不同的通道包含不同類型的信息。目前流行的聚合通道主要是分開捕獲各個通道中的信息特征,一次只在一個通道中接收矩形的響應,就會丟失一些信息。為了解決這個問題,本文提出一種跨通道的特征,通過比較同一矩形在不同通道中的響應來捕獲這些有價值的信息。這兩個矩形之間的響應差異被記為特征值,如式(9)。不同通道的特征應進行標準化處理以使其具有可比性。為了生成跨通道的矩形,首先在模型區域中隨機生成一個矩形,然后為它分配不同的通道索引。如圖6,對測試圖像,計算同一區域位置在不同通道下的特征。

其中,S(A)和Y(A)分別為塊A在不同通道下的特征值。

Fig.5 Schematic diagram of calculation of improved stochastic pooling method圖5 改進的隨機池化方法的計算示意圖

Fig.6 Feature representation of same region in same image under different channels圖6 同一圖像同一區域在不同通道下的特征表示
圖7 描述了本文的深度稀疏自編碼網絡的結構,上節得到的混合特征作為DSAEN網絡感興趣層的輸出,可以減少網絡學習的復雜度。隨后由四個自動編碼器的隱含層組成,在所提出的系統中,自編碼網絡用作特征學習。

Fig.7 Architecture of deep sparse auto-encoder圖7 深度稀疏自編碼網絡結構圖
給定混合特征樣本集{x1,x2,…,xn},其中xi∈Rn,第一層隱含層h1=δ(W1xi+b1),W1∈Rn×s為在第一層中學習的權重矩陣,s為第一層編碼器隱含層節點的數量,b1為偏置值。δ(?)是非線性激活函數,其經典的有ReLU、S形或正切型雙曲線函數。ReLU函數可以避免在使用S或正切雙曲線函數時遇到的梯度消失問題[20]。此外,即使不需要預訓練,使用ReLU函數也能有效地訓練深度自編碼網絡。但是,當x<0時,其值為0,易出現一些“死”節點。因此,使用改進的ReLU作為激活函數,定義如式(10)所示。

改進的ReLU函數增加一個很小的常數項α。從而解決無效節點的問題,適合利用數據中的稀疏性,生成稀疏表示。第一個自編碼器的輸出值為:

其中,y1為第一個解碼器的輸出,W1、b1分別為第一個編碼器(即第一層隱含層)與解碼器之間的權重矩陣與偏置值。第一層隱含層的輸出h1被用作第二層的輸入。以此類推,第四層隱含層的輸出為h4=δ(W4h3+b4)。其中W4∈Rm×q和b4分別是第四層的權重矩陣和偏置值。網絡最后的輸出為:

混合特征是相關的并且存在某種潛在結構,類似主成分分析算法,自動編碼網絡試圖學習較低維度的相關性數據。DSAEN的學習是通過更新其參數來實現的,即θ={W,b},其中,W為各層之間的權重矩陣,b為各層之間的偏置矢量,用于輸入特征最小化目標函數。以第1個自編碼器為例,描述其訓練與微調過程。傳統的損失函數以均方誤差為準則,該方法是在輸出為正態分布的假設條件下推導出的,存在一定的局限性。因此采用交叉熵為損失函數,其定義如式(13)所示。

由于DSAEN具有高靈活性,需要進行適當的設置,以確保其學習到數據的內在結構。考慮兩個問題:第一,不是所有的特征都同樣重要;第二,稀疏性迫使DSAEN通過選擇關鍵的特征來找到一個緊湊的、共享的和高層次的特征。因此,為了避免過度擬合和增強DSAEN的泛化能力,在訓練過程中加入權重衰減項J和稀疏正則化項S。大權值會導致高度的非平滑彎曲映射。權重衰減保持權重小,因此映射平滑,減少過度擬合。同樣,稀疏性有助于選擇最相關的特征以增強泛化。

γ和β分別為對權重衰減和稀疏化的參數調節。J懲罰傾向于減小權重W={W1,W1}的量級。





稀疏自編碼器試圖執行式(18)中的約束,其中ρ是近似為零的稀疏參數。每個隱含的神經元應有約為0.05的平均激活值。為了滿足這個約束,隱含單元的激活必須接近0。因此,優化目標添加一個額外的懲罰項,由式(19)所示,~ρj與ρ顯著偏離。利用式(20)中的Kullback-Leibler散度作為懲罰項,激活稀疏的隱含層單元。

因此,要解決式(21)中目標函數的優化問題。
隱含層單元數為表示行人信息的最佳特征數量。自動編碼器試圖通過使輸入節點等于輸出節點來學習最優參數。在每個輸入節點之后,根據目標函數的梯度下降法確定網絡的參數W和b,并通過反向傳播步驟來調整權重和偏置。繼續訓練,直至達到最大迭代次數的閾值或式(21)降低到最小代價值。
通過網絡第四層隱含的節點得到的特征即學習到的表示行人信息的主要特征。
在具有d層的CNN中,N個樣本的時間復雜度可以用式(22)計算。

其中,nl-1和nl分別是第l層中輸入映射數量和核數量,sl和ml分別是卷積核的空間大小和輸出特征映射的空間大小。

本文采用加州理工學院行人數據庫(Caltech)[21]和INRIA數據庫。Caltech是一個大規模,具有挑戰性的數據庫,已經成為衡量行人檢測器性能的標準。其包含大約10 h的車輛駕駛的街道視頻。視頻內容的分辨率和采樣率分別為640×480和30 frame/s。共分成11個子數據集,前6個為訓練集,后5個為測試集。為了避免使用非常相似的幀,對測試集進行重新采樣,使得每30幀一個圖像用于評估。每次實驗,從訓練樣本中選取2 000個正樣本,800個負樣本,從測試集選取3 500個正樣本,1 500個負樣本,共5 500個正樣本,2 300個負樣本。INRIA行人數據庫中的樣本在服裝、視角等因素變化大,環境比較復雜,更符合實際場景中的行人,包含正樣本3 552個(1 213個行人左右反射),負樣本1 218張,從所有正樣本中選取3 000張,負樣本選擇1 218張,共4 218張圖像進行實驗。這些圖像都被規范為128×64的尺寸。進行10次實驗,每次從正負樣本中隨機選取40%用于訓練,60%用于測試,最后取實驗結果的平均值。圖8為兩個數據庫的部分正樣本。實驗使用Intel Core i3-2310M處理器,8 GB內存,Intel HD Graphics 3000顯卡,在Matlab2016a環境下進行。

Fig.8 Pedestrian sample example圖8 行人數據庫部分樣本
在實驗中,每個樣本共選擇6 321個特征,其中包含2 553個非相鄰特征和3 768個HOG特征和局部紋理特征(local binary pattern,LBP)。在非相鄰特征中,包含1 085個SIDF,830個對稱特征,638個跨通道特征,通道選擇LUV顏色通道、梯度通道特征和LBP特征。所選特征比例約為17%、13%、10%、60%。將這種特征設計記為NNFHL(nor-neighboring feature and HOG and LBP)。
本文在感興趣層中的特征提取算法NNFHL及現有的其他特征提取算法檢測結果如表1所示。利用文獻[21]中提出的對數平均漏檢率來評估檢測器性能,其是通過對在10-2到100范圍內的對數空間中的9個誤檢率(false positive per image,FPPI)相對應的漏檢率進行平均計算得到。從表中可以看出,混合的多通道特征比單一通道特征更能充分描述圖像的重要信息,降低了檢測器的漏檢率。與流行的Checkerboards[22]、SpatialPooling等多通道特征相比,增加非相鄰特征能減少漏檢率,NNFHL特征旨在捕捉行人的一些特定特征,并為其他特征提供補充信息,與HOG和LBP特征相結合,能提升檢測器性能。為進一步評估算法的高效性,采用檢測錯誤權衡(detection error tradeoff,DET)線來衡量以上幾種算法的檢測性能。DET曲線的橫坐標代表誤報率,縱坐標代表漏檢率,能反映出檢測器的整體性能水平。從圖9可以觀察到,NNFHL算法在測試子集上都取得了最好的結果。

Table1 Statistics of detection results of different feature extraction algorithms表1 不同特征提取算法的檢測結果統計表
本節對網絡中的調節參數進行設置,在網絡的訓練過程中存在5個參數,分別為Relu函數中的α、β、γ、ρ以及實驗的迭代次數。分別從INRIA和Caltech數據庫中選取3組驗證集進行實驗,在求最小化目標函數的過程中,對實驗的迭代次數進行約束,一定的迭代數,會使總的誤差和減小,但迭代數過大,也會使誤差變大,誤差與迭代次數的變化過程如圖10所示。表2為DSAEN網絡中的調節參數設置值。

Fig.9 Comparison of DET curves of various feature extraction algorithms圖9 多種特征提取算法的DET曲線對比

Fig.10 Curves of iteration times and errors圖10 迭代次數與誤差的變化曲線圖

Table2 DSAEN network parameter setting表2DSAEN網絡參數設置
為了證明本文方法的有效性,與手工特征提取方法如HOG+LBP+PCA+SVM[23]、HOG+SVM、Checkerboards、SpatialPooling、ACF、NNNF 以及深度學習方法如四層卷積神經網絡、Deepparts進行實驗比較。通過圖11的結果所示,傳統的手工特征提取方法HOG+SVM在INRIA庫上漏檢率達到50%左右,對于更復雜的環境,如Caltech,漏檢率更高。對單一特征進行補充與擴展后,能有效地降低漏檢率,如ACF、DPM(deformable part model)。深度學習方法CNN漏檢率在INRIA與Caltech數據庫上分別降到21.6%和23.1%,DSAEN平均漏檢率在INRIA上僅為12.1%,在Caltech上為14.3%,除了結構復雜的深度網絡外,這是所有比較方法中效果最好的。
對圖12的曲線呈現情況進行分析,傳統的手工提取特征方法,如HOG+SVM,存在一些冗余特征,對分類器有一定的影響。在HOG+LBP+PCA方法中,PCA實現了對混合特征的降維,并保留主要的信息,提高了檢測率,但是PCA能有效地學習線性數據,而現實生活中的數據往往是非線性的。經典的深度學習方法CNN由于直接對整幅圖像進行卷積學習,圖像背景的復雜性導致部分行人沒有被檢測出來,其性能受到一定的影響。根據行人圖像特點設計出的更為復雜深度網絡[24]雖然學習了數據的潛在結構,一定程度上提高了精確率,但是時間復雜度高,需要GPU設備的支持。從表3可以看出,深度學習的方法與手工特征提取方法相比,運行時間(每幅圖像平均運行時間(second/figure,s/f))顯著增加。DSAEN在效率與時間上都達到了很好的效果。

Fig.11 Comparison of lb(average miss rate)between DSAEN and other advanced methods圖11 DSAEN和其他先進方法的對數平均漏檢率對比

Fig.12 Comparison of DET curves between DSAEN and other advanced methods圖12DSAEN和其他先進方法的DET曲線比較

Table3 Comparison of running time between DSAEN and other methods表3 DSAEN與其他方法運行時間的比較(s/f)
在INRIA和Caltech數據庫上進行測試,其檢測結果如圖13所示。

Fig.13 Pedestrian detection results on INRIAand Caltech databases圖13 在數據庫INRIA與Caltech上的行人檢測結果
本文將特征設計融入到深度網絡,提出了一種基于深度稀疏自編碼網絡的行人檢測方法,相對于傳統的對整幅圖像直接訓練,加入了一層感興趣層,根據行人圖像固有的屬性,通過改進的非相鄰和相鄰特征,捕捉行人與背景、行人內部差異的信息,作為其他特征的補充,從而得到具有判別性的特征,隨后通過基于交叉熵的損失函數與改進的ReLU函數來學習稀疏自編碼網絡,獲取少量的表示圖像內在結構的有效特征。與現有的方法在INRIA和Caltech數據庫上進行驗證,該方法的平均漏檢率在INRIA與Caltech上分別降低到12.1%和14.3%,相對于復雜的深度網絡方法,不需要GPU也可以快速達到同樣的效果。在接下來的研究中,以此為基礎,結合新的方法,研究如何處理更加復雜的環境比如行人被遮擋或者非站立的姿勢等難題。