曹 璐, 陳 明, 秦玉芳
(1.上海海洋大學(xué) 信息學(xué)院,上海 201306; 2.農(nóng)業(yè)部漁業(yè)信息重點(diǎn)實(shí)驗(yàn)室,上海 201306)
場(chǎng)景多變,人體形態(tài)的多樣及人與物體之間相互遮擋等因素的影響給行人檢測(cè)帶來了巨大的挑戰(zhàn)[1]。目前,行人檢測(cè)的常用方法包括基于統(tǒng)計(jì)學(xué)習(xí)和深度學(xué)習(xí)的方法。Dalal N[2]提出的方向梯度直方圖(histogram of oriented gradient,HOG)特征是行人檢測(cè)中最為經(jīng)典的特征,其很好地描述了行人的輪廓,但在復(fù)雜背景和遮擋情況下檢測(cè)效果較差。可變形部件模型(deformable part models,DPM)在HOG特征的基礎(chǔ)上考慮了多角度多姿態(tài),通過訓(xùn)練多模型提高了遮擋情況下的預(yù)測(cè)精度,但其結(jié)構(gòu)復(fù)雜,運(yùn)行速度較慢[3~5]。2012年,Hinton Krizhevsky A等人[6]將深度學(xué)習(xí)用于圖像識(shí)別,在當(dāng)年的國際視覺識(shí)別大賽中取得了最好的成績。鄭銳等人[7]利用高斯混合模型提取前景,使用傳統(tǒng)混合特征對(duì)目標(biāo)進(jìn)行分類,提升了速度。黃成都[8]將傳統(tǒng)分類器融入codebook背景建模中,解決了光照突變問題,降低行人檢測(cè)誤檢率。鄒沖等人[9]將檢測(cè)任務(wù)分為兩級(jí),通過HOG結(jié)合支持向量機(jī)(HOG—SVM)進(jìn)行一級(jí)粗檢測(cè),再利用LeNet神經(jīng)網(wǎng)絡(luò)進(jìn)行細(xì)檢測(cè),提升了檢測(cè)精度。然而上述方法直接輸入圖像信息,包含大量冗余信息,局部邊緣和紋理不明顯,且計(jì)算效率低。
為此,本文提取圖像的HOG特征作為卷積神經(jīng)網(wǎng)絡(luò)的一個(gè)輸入通道,充分利用HOG算子處理邊緣輪廓信息和紋理信息的優(yōu)勢(shì),同時(shí)為了降低來自卷積層的特征的噪點(diǎn)污染,利用稀疏自動(dòng)編碼器進(jìn)行特征稀疏化?;诖耍岢隽嘶诙嗤ǖ垒斎氲南∈杌矸e神經(jīng)網(wǎng)絡(luò)的方法(multi-channel-sparse—CNN,MCS—CNN),大幅提高了行人檢測(cè)的準(zhǔn)確度和檢測(cè)運(yùn)行速度。
MCS—CNN深度網(wǎng)絡(luò)結(jié)構(gòu)主要分為:多通道輸入層、卷積層、稀疏特征層、分類層,如圖1。
圖1 MCS-CNN結(jié)構(gòu)
受文獻(xiàn)[10]的啟發(fā),并結(jié)合HOG處理圖像輪廓和邊緣的特性,將圖像和HOG特征圖連接成3個(gè)通道:
1)原圖轉(zhuǎn)換到顏色空間YUV后,第1個(gè)通道為128×64的Y通道圖像;
2)第2個(gè)通道分為4個(gè)大小相等的塊(block),由3個(gè)64×32的YUV通道和64×32的全0矩陣組成。
3)第3個(gè)通道同樣由4個(gè)大小相等的block組成,前3個(gè)block分別由YUV 3個(gè)通道經(jīng)過HOG處理形成的特征圖[2]組成,最后一個(gè)block取前3個(gè)block的像素最大值。
多通道處理如圖2所示。
圖2 圖像多通道處理
考慮到第一通道使用的是Y通道信息,與其他通道信息數(shù)值差距較大,所以對(duì)3個(gè)通道的數(shù)據(jù)進(jìn)行歸一化處理。
上述3個(gè)通道的信息通過卷積層提取特征。本文通過構(gòu)建不同層數(shù)的結(jié)構(gòu)來構(gòu)建卷積層,CNN網(wǎng)絡(luò)結(jié)構(gòu)如圖3。
圖3 MCS-CNN卷積層結(jié)構(gòu)
第一層包含卷積層,激活層,可選層包括BN,Dropout,MaxPooling,該結(jié)構(gòu)可以重復(fù)疊加;第二層包含全連接層,同樣可選BN,Dropout,MaxPooling。卷積層包含M個(gè)第一層和N個(gè)第二層2個(gè)部分,采用3×3的濾波器對(duì)輸入信息進(jìn)行卷積運(yùn)算。具體層數(shù)選取參見實(shí)驗(yàn)與分析部分。
行人檢測(cè)最重要的就是學(xué)習(xí)到顯著有效的特征,稀疏自動(dòng)編碼器可以提高特征的表達(dá)能力,從而提升網(wǎng)絡(luò)的準(zhǔn)確率,因此本文采用稀疏層對(duì)來自卷積層的特征進(jìn)行稀疏編碼。訓(xùn)練稀疏自動(dòng)編碼器時(shí),將來自卷積層的輸出作為稀疏自動(dòng)編碼器的輸入(隱含層神經(jīng)元共200個(gè)),根據(jù)權(quán)重和輸入向量的加權(quán)組合加上偏置量得到輸出,前向過程為
(1)
定義目標(biāo)損失函數(shù)
(2)
(3)
式中zi為輸出層的神經(jīng)元i的輸出,xi為輸入層的神經(jīng)元i的輸入,n為神經(jīng)元個(gè)數(shù),β為用于控制稀疏性懲罰的權(quán)重,式(3)最后一項(xiàng)為KL距離。
根據(jù)前向計(jì)算和反向傳播來訓(xùn)練第一個(gè)隱含層的參數(shù)。同理,采用同樣的方法訓(xùn)練第二個(gè)隱含層的參數(shù)。模型不斷迭代更新權(quán)重,得到參數(shù)W,b。
輸入:圖像訓(xùn)練集和測(cè)試集。
1)多通道輸入;
2)對(duì)3個(gè)通道進(jìn)行歸一化處理,通過卷積層和池化層,得到特征圖;
3)將特征圖送入稀疏自動(dòng)編碼器,得到參數(shù)W,b;
4)將稀疏層的輸出連接全連接層,利用Softmax得到行人的分類結(jié)果;
5)根據(jù)反向傳播算法,不斷訓(xùn)練迭代更新網(wǎng)絡(luò)的參數(shù);
6)輸入測(cè)試集,進(jìn)行模型評(píng)估和模型更新。
本文使用的訓(xùn)練數(shù)據(jù)集選自MIT,PASCAL,共包含4 753張不同尺寸的圖像。其中,MIT的924張圖像全部作為正樣本,其他正樣本和負(fù)樣本來自PASCAL。為防止過擬合,本文采用調(diào)節(jié)圖像亮度、飽和度、對(duì)比度,隨機(jī)裁剪,旋轉(zhuǎn)和仿射變換,模糊處理等方法來進(jìn)一步擴(kuò)充數(shù)據(jù)量。
1)建立一個(gè)小型網(wǎng)絡(luò),卷積層數(shù)量為2。在第一個(gè)卷積層中用32個(gè)3×3的濾波器對(duì)圖像進(jìn)行步長為1的卷積;第二個(gè)卷積層中,采用64個(gè)3×3的濾波器進(jìn)行卷積,其他參數(shù)不變,Relu作為激活函數(shù)。全連接層中有512個(gè)神經(jīng)元,Softmax作為損失函數(shù)。
2)增加網(wǎng)絡(luò)深度,建立4層卷積網(wǎng)絡(luò)和2層全連接層,卷積層過濾器的個(gè)數(shù)分別取32,64,128,256個(gè),在全連接層中分別取256和512個(gè)神經(jīng)元。圖4為4層卷積的MCS-CNN正確率和收斂曲線,與2層卷積層情況對(duì)比圖像經(jīng)過多通道處理和特征稀疏化之后,收斂更快,測(cè)試集的準(zhǔn)確率更高,且不易過擬合。圖5為行人圖片經(jīng)過網(wǎng)絡(luò)時(shí)卷積層特征圖的可視化結(jié)果,表明隨著層數(shù)的增加,網(wǎng)絡(luò)忽略背景,更加關(guān)注行人輪廓。
圖4 4層卷積層MCS-CNN的正確率和收斂曲線
圖5 MCS-CNN部分層的可視化結(jié)果
由表1所示,隨著網(wǎng)絡(luò)層數(shù)的增加,準(zhǔn)確率呈現(xiàn)先增后降的趨勢(shì),整體變化不大,但檢測(cè)時(shí)間大幅增加。由于本身輸入通道的尺寸較小,不斷增加卷積層的層數(shù)在初期可以去除噪聲,提升提取特征的純度,但隨著層數(shù)的增加和池化等操作會(huì)損失圖片信息,從而影響特征的提取和識(shí)別結(jié)果。另一方面,MCS-CNN在檢測(cè)精度和速度上均優(yōu)于HOG-SVM算法。綜上,同時(shí)考慮準(zhǔn)確率,召回率和檢測(cè)時(shí)間,本文取4層卷積網(wǎng)絡(luò)對(duì)樣本集進(jìn)行特征提取,網(wǎng)絡(luò)模型結(jié)構(gòu)確定后,使用MCS-CNN模型與其他算法進(jìn)行對(duì)比實(shí)驗(yàn)。
表1 MCS-CNN不同卷積層數(shù)的實(shí)驗(yàn)結(jié)果
圖6對(duì)比了本文MCS-CNN和CNN的混合矩陣??梢钥闯?,MCS-CNN的查準(zhǔn)率為64.22 %,查全率為98.14 %,CNN的查準(zhǔn)率為75.8 %,查全率為87.58 %。CNN誤檢了91張圖像,而MCS-CNN誤檢了65張圖像,誤檢測(cè)率顯著降低。此外,對(duì)HOG-SVM、傳統(tǒng)CNN和MCS-CNN 3種檢測(cè)算法進(jìn)行對(duì)比分析,結(jié)果如表2所示。其中測(cè)試樣本分別來自Daimler的311張圖像、來自INRIA的172張圖像、來自PASCAL的178張圖像。
圖6 CNN和MCS-CNN的混合矩陣對(duì)比
算法準(zhǔn)確率/%DaimlerINRIAPSCAL平均檢測(cè)速度/(幀·s-1)HOG-SVM69.5273.1663.120.813CNN70.7381.9870.120.291MCS-CNN79.1090.1273.230.282
由表2分析可知,MCS-CNN模型對(duì)于Daimler,INRIA和PASCAL 3個(gè)數(shù)據(jù)集準(zhǔn)確率均最高的。MCS-CNN方法的檢測(cè)速度明顯快于HOGSVM方法,略快于CNN。相較于傳統(tǒng)人工提取特征HOG和單純使用原圖作為輸入的CNN來說,本文算法集成了HOG的優(yōu)點(diǎn),利用CNN自動(dòng)提取特征,同時(shí)通過稀疏自動(dòng)編碼器來優(yōu)化特征,在整體檢測(cè)性能上得到了有效提升。
本文在傳統(tǒng)CNN的基礎(chǔ)上,改變圖像作為網(wǎng)絡(luò)輸入的傳統(tǒng)形式,將圖像與HOG相結(jié)合的多通道信息作為輸入向量,然后利用稀疏自動(dòng)編碼器進(jìn)行特征稀疏化,降低來自卷積層特征的噪點(diǎn)污染。實(shí)驗(yàn)表明,MCS-CNN模型不但保證了傳統(tǒng)CNN的高效性,同時(shí)提高了檢測(cè)的準(zhǔn)確率。