馮婷婷,葛華勇,孫家慧
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
行人檢測(cè)作為計(jì)算機(jī)視覺(jué)技術(shù)的重要分支和智能化產(chǎn)品的核心技術(shù),受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,其能夠從圖像或視頻中識(shí)別出行人,并給出其具體的位置,在車(chē)輛輔助駕駛和行人重識(shí)別技術(shù)等方面有巨大的研究?jī)r(jià)值和應(yīng)用前景。行人檢測(cè)作為車(chē)輛輔助駕駛技術(shù)中不可或缺的一部分,可以及時(shí)檢測(cè)出車(chē)輛前方的行人并針對(duì)實(shí)際狀況及時(shí)提醒司機(jī)或者緊急制動(dòng),從而避免交通事故的發(fā)生;在刑偵工作中,刑偵人員經(jīng)常要瀏覽多個(gè)攝像頭中的視頻,此時(shí)先進(jìn)行行人檢測(cè)判斷視頻中是否存在行人,把視頻中的行人篩選出來(lái),再利用行人重識(shí)別技術(shù)查找某個(gè)特定的行人在哪些攝像頭曾經(jīng)出現(xiàn)過(guò),可為刑偵工作帶來(lái)便利。
近十幾年間,基于深度學(xué)習(xí)的行人檢測(cè)技術(shù)取得了巨大進(jìn)步,能夠自動(dòng)學(xué)習(xí)從圖像像素中提取的基于邊緣的低級(jí)特征和基于語(yǔ)義信息的高級(jí)特征。其分為兩階段檢測(cè)算法和單階段檢測(cè)算法。在兩階段檢測(cè)算法中,文獻(xiàn)[1]提出了基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region based Convolutional Neural Network,R-CNN),文獻(xiàn)[2]提出了空間金字塔池化(Spatial Pyramid Pooling,SPP)網(wǎng)絡(luò),文獻(xiàn)[3]提出了快速基于區(qū)域的卷積網(wǎng)絡(luò)方法(Fast-RCNN),文獻(xiàn)[4-5]提出了Faster-RCNN。這些目標(biāo)檢測(cè)算法的訓(xùn)練過(guò)程步驟繁瑣,檢測(cè)速度慢,沒(méi)有達(dá)到實(shí)時(shí)的檢測(cè)標(biāo)準(zhǔn)?;诖?,以REDMON J[6]提出的統(tǒng)一實(shí)時(shí)目標(biāo)檢測(cè)框架(You only look once,Yolo)和以L(fǎng)iu Wei[7]提出的單階段多尺度檢測(cè)器(Single Shot MultiBox Detector,SSD) 框架為代表的單階段檢測(cè)算法由此產(chǎn)生。Yolo 存在定位精度、召回率等較低的問(wèn)題,泛化能力相對(duì)較弱,為了解決該算法的缺陷,2016 年Liu Wei等提出SSD 算法進(jìn)行多尺度檢測(cè),在保證速度的同時(shí)提高了檢測(cè)精度,但是其對(duì)于小目標(biāo)檢測(cè)不精準(zhǔn),加之在實(shí)際生活中,由于行人穿著、姿態(tài)、尺度、視角、光照和復(fù)雜背景等多方面原因,在檢測(cè)精度及速度方面的提高仍是研究重點(diǎn)。由此針對(duì)行人多尺度問(wèn)題,本文提出一種FRN 提升模型性能的密集連接的SSD 行人檢測(cè)算法,嘗試引入不依賴(lài)批尺寸大小的上下文語(yǔ)義信息的多層特征融合的密集連接網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合行人檢測(cè)任務(wù)特點(diǎn)進(jìn)行優(yōu)化與改進(jìn)。
SSD 采用VGG16 空洞卷積作為基礎(chǔ)模型,在其后添加額外的卷積層,通過(guò)在不同尺度的特征圖下對(duì)可能存在的目標(biāo)進(jìn)行預(yù)測(cè),包括邊框回歸和分類(lèi),最后通過(guò)非極大值抑制算法(Non-Maximum Suppression,NMS)從候選框中篩選出置信度最高、存在目標(biāo)的區(qū)域,從而降低預(yù)測(cè)框的冗余度[7]。SSD 網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1 所示。
圖1 SSD 算法框架
不同特征圖具有不同感受野,SSD 算法的核心之一就是利用特征金字塔結(jié)構(gòu)在不同特征層上設(shè)置不同的候選框以適應(yīng)不同大小的目標(biāo),從而進(jìn)行分類(lèi)和邊框回歸。在訓(xùn)練時(shí),為了使默認(rèn)框與真實(shí)框相匹配,SSD 采用困難樣本挖掘技術(shù),將正、負(fù)樣本比例設(shè)置為1:3 以得到更快的權(quán)值優(yōu)化和更穩(wěn)定的訓(xùn)練;在測(cè)試階段,直接預(yù)測(cè)每個(gè)默認(rèn)框的位置偏移量和屬于每種類(lèi)別的概率,再通過(guò)NMS 篩選出最佳默認(rèn)框,即最終的檢測(cè)結(jié)果。使用NMS 算法前后檢測(cè)框?qū)Ρ热鐖D2 所示,其步驟可總結(jié)為:首先對(duì)輸入集合E 中的窗口按照置信度由高到低排列,選擇置信度最高的窗口,計(jì)算它與剩余所有窗口的交并比(Intersection Over Union,IOU);其次刪除IOU 大于閾值的窗口;最后將E 中剩余檢測(cè)框再次排序,重復(fù)上述步驟,直至E 中的窗口都被處理后,得到輸出窗口集合F。
圖2 使用NMS 算法前后檢測(cè)框?qū)Ρ?/p>
由于卷積神經(jīng)網(wǎng)絡(luò)的池化操作,不同特征層具有不同特點(diǎn),低層特征分辨率高,包含更多位置、細(xì)節(jié)信息,其語(yǔ)義性低、噪聲多;高層特征具有更強(qiáng)的語(yǔ)義信息,但分辨率低,對(duì)細(xì)節(jié)的感知能力較差。因此本文針對(duì)多尺度檢測(cè)問(wèn)題,將串聯(lián)式的基礎(chǔ)網(wǎng)絡(luò)修改為引入上下文語(yǔ)義信息的多層特征融合的FRN 密集連接結(jié)構(gòu),需要對(duì)SSD 模型進(jìn)行雙線(xiàn)性插值之后添加FRN 歸一化層再進(jìn)行特征融合,從而實(shí)現(xiàn)不同特征圖的多尺度檢測(cè)。
因?yàn)樵?SSD 中對(duì) Conv4_3、Conv_7、Conv8_2、Conv9_2、Conv10_2、Conv11_2 這6 個(gè)不同大小的特征層進(jìn)行多尺度檢測(cè),它們每層卷積運(yùn)算輸入僅為與之相連的上一卷積層,并未考慮之前的卷積層,也并未考慮該卷積層之后的其他卷積層,喪失了大量的特征信息,因此進(jìn)行特征融合需要首先將卷積特征圖規(guī)范化,統(tǒng)一為相同尺寸大小,從而進(jìn)行不同特征層的相互融合,使其得到的特征圖包含更多的語(yǔ)義信息和空間位置信息。文獻(xiàn)[8]將SSD 中Conv4_3 與Conv5_3 反卷積得到的特征圖進(jìn)行融合,文獻(xiàn)[9]將Faster RCNN 中Conv3_3、Conv4_3 與Conv5_3三層特征圖相融合,本文采取不同的采樣策略融合不同層的特征,即將不相鄰的卷積層進(jìn)行融合,從而減少冗余。SSD 改進(jìn)模型結(jié)構(gòu)如圖3 所示,其步驟可總結(jié)為:首先將Conv4_3 特征層進(jìn)行雙線(xiàn)性插值再進(jìn)行FRN 歸一化,得到的特征圖分別與Conv8_2、Conv9_2、Conv10_2、Conv11_2 融合;其次將Conv11_2特征層采用相同的方法分別與Conv9_2、Conv8_2、Conv7、Conv4_3 融合;最后將經(jīng)過(guò)拼接得到的融合特征圖進(jìn)行檢測(cè),其低層特征層可增加更多的語(yǔ)義特征,高層特征層可包含更多空間信息,魯棒性更強(qiáng),更具有判別能力。
圖3 SSD 改進(jìn)模型結(jié)構(gòu)圖
FRN 歸一化層包括歸一化函數(shù)FRN 和激活函數(shù)TLU(Threshold Linear Normalize),其操作是在(H,W)維度上的,F(xiàn)RN 層結(jié)構(gòu)示意圖如圖4 所示,其中x 是一個(gè)N(H×W)維度向量,v2是x 的二次范數(shù)的平均值,ε 是一個(gè)極小的正常量,γ、β、τ 是可學(xué)習(xí)參量。其步驟可總結(jié)為:首先對(duì)每個(gè)樣本的每個(gè)通道單獨(dú)進(jìn)行歸一化,沒(méi)有對(duì)批尺寸batch 的依賴(lài),并且在batch 比較大的時(shí)候,其性能還優(yōu)于批處理歸一化(Batch Normalization,BN);其次在FRN 之后連接閾值化激活函數(shù)TLU,這樣做的原因是FRN 缺少去均值操作,在其后若連接激活函數(shù)ReLU,可能會(huì)使得歸一化后的結(jié)果任意地偏移0,對(duì)模型訓(xùn)練結(jié)果和性能不利。
圖4 FRN 層結(jié)構(gòu)示意圖
表1 SSD 各層特征圖寬高比r
SSD 中每層特征圖寬高比r 如表1 所示,但是對(duì)于行人檢測(cè)絕大多數(shù)情況下,行人圖像信息基本都是高度大于寬度,但由于部分?jǐn)?shù)據(jù)標(biāo)簽的制作錯(cuò)誤,則將融合數(shù)據(jù)集經(jīng)過(guò)聚類(lèi)后得到的候選框分布范圍示意圖如圖5 所示,其橫坐標(biāo)為行人高度,單位為像素,縱坐標(biāo)為行人寬高比。根據(jù)聚類(lèi)思想本文每層特征圖寬高比r 如表2 所示。另外在SSD 中對(duì)于r 取1′的時(shí)候,本文取不同的縮放因子r′={[0.8],[0.8],[0.8],[0.9],[1.0],[1.0]},對(duì)于行人檢測(cè),一共會(huì)產(chǎn)生48 490 個(gè)結(jié)果。
圖5 候選框分布范圍示意圖
表2 改進(jìn)SSD 各層特征圖寬高比r
為了驗(yàn)證改進(jìn)SSD 算法對(duì)行人檢測(cè)的有效性,通過(guò)融合數(shù)據(jù)集與VOC2007TEST 數(shù)據(jù)集進(jìn)行評(píng)估測(cè)試,并將測(cè)試結(jié)果與其他方法的結(jié)果進(jìn)行對(duì)比與分析。
分別在融合數(shù)據(jù)集(包括VOC2007、VOC2012、COCO、SYSU、PRW)與VOC2007TEST 數(shù)據(jù)集上評(píng)估了本文方法,其中融合數(shù)據(jù)集一共3 776 張行人圖片,SYSU 數(shù)據(jù)集包括公園、地鐵等地方的行人,PRW 數(shù)據(jù)集是中學(xué)、大學(xué)校內(nèi)的攝像頭連拍的一些行人圖片,VOC2007、VOC2012、COCO 中僅提取行人的部分照片;VOC2007TEST 中僅是行人的照片,共2 097 張。
模型訓(xùn)練結(jié)束后通過(guò)測(cè)試集評(píng)估模型性能。融合數(shù)據(jù)集與僅含行人的VOC2007TEST 數(shù)據(jù)集的查準(zhǔn)率-查全率 (Precision Recall,PR) 曲線(xiàn)分別如圖6和圖7 所示,其橫坐標(biāo)為查全率,縱坐標(biāo)為查準(zhǔn)率,曲線(xiàn)下方的面積值將作為行人檢測(cè)的最終指標(biāo)AP,AP 值越高表示算法的行人檢測(cè)性能越好,即PR 曲線(xiàn)越靠近右上角其模型性能越好。對(duì)于呈交叉狀態(tài)的曲線(xiàn)圖,往往不能直觀地反映算法性能,此時(shí)可通過(guò)平衡點(diǎn)即P=R(P 表示查準(zhǔn)率,R 表示查全率)時(shí)取值的大小來(lái)說(shuō)明學(xué)習(xí)器的性能,其值越大,性能越好。融合數(shù)據(jù)集與VOC2007TEST 數(shù)據(jù)集測(cè)試結(jié)果對(duì)比如圖8 所示。
圖6 融合數(shù)據(jù)集測(cè)試結(jié)果
圖7 VOC2007TEST 數(shù)據(jù)集測(cè)試結(jié)果
圖8 融合數(shù)據(jù)集與VOC2007TEST 數(shù)據(jù)集測(cè)試結(jié)果對(duì)比
在圖6 和圖7 中,由于各圖兩曲線(xiàn)呈明顯的交叉狀態(tài),同時(shí)改進(jìn)SSD 算法平衡點(diǎn)與SSD 算法的平衡點(diǎn)相比較而言較大,所以改進(jìn)SSD 算法性能較好。根據(jù)圖8 知,融合數(shù)據(jù)集在改進(jìn)SSD 算法的AP值高于SSD 算法5.8 個(gè)百分點(diǎn),VOC2007TEST 數(shù)據(jù)集在改進(jìn)SSD 算法的AP 值高于SSD 算法2.9 個(gè)百分點(diǎn)。
本文方法還與文獻(xiàn)[8]、[9]所示方法進(jìn)行對(duì)比,結(jié)果如表3 所示。
表3 不同檢測(cè)方法AP 對(duì)比(%)
文獻(xiàn)[8]中SSD 在KITTI 數(shù)據(jù)集上表現(xiàn)一般,而本文中融合數(shù)據(jù)集在SSD 上的表現(xiàn)也同樣如此;文獻(xiàn)[9]中Faster RCNN 在VOC2007TEST 數(shù)據(jù)集上AP為69.9%,其改進(jìn)方法在相同數(shù)據(jù)集上AP 達(dá)到72.8%,而由本文得到的VOC2007TEST 數(shù)據(jù)集PR 曲線(xiàn)輪廓能夠完全包住融合數(shù)據(jù)集PR 曲線(xiàn),體現(xiàn)了SSD 在復(fù)雜背景與小目標(biāo)檢測(cè)場(chǎng)景下的不足。本文在SSD 檢測(cè)框架基礎(chǔ)上,其網(wǎng)絡(luò)結(jié)構(gòu)由原來(lái)的串聯(lián)連接變換為引入上下文語(yǔ)義信息的提升模型性能的FRN 密集連接特征融合結(jié)構(gòu),使得各檢測(cè)層既包含了低層特征層所具有的更多輪廓、梯度的細(xì)節(jié)信息,同時(shí)又包含高層特征層所具有的更強(qiáng)的語(yǔ)義信息,并且消除了模型對(duì)批尺寸的依賴(lài),使其在融合數(shù)據(jù)集上的AP 由52.9%增加至58.7%,提高了5.8%,在僅含行人的VOC2007TEST 數(shù)據(jù)集上AP 由73.9%增加至76.8%,提高了2.9%。
不同于VOC2007TEST 數(shù)據(jù)集,融合數(shù)據(jù)集包含遮擋較嚴(yán)重的多尺度行人小目標(biāo),當(dāng)行人目標(biāo)較小、較模糊時(shí),SSD 算法會(huì)出現(xiàn)漏檢、錯(cuò)檢問(wèn)題,而本文的方法在這方面改進(jìn)很多。SSD 算法改進(jìn)前后測(cè)試對(duì)比圖如圖9 所示。
圖9 SSD 算法改進(jìn)前后測(cè)試對(duì)比圖
本文首先闡述了SSD 算法理論基礎(chǔ)及行人檢測(cè)算法,然后詳細(xì)介紹了改進(jìn)思路及成果:吸取了雙線(xiàn)性插值和特征融合的研究思路,將SSD 模型中串聯(lián)式的基礎(chǔ)網(wǎng)絡(luò)修改為引入上下文語(yǔ)義信息的多層特征融合的FRN 密集連接網(wǎng)絡(luò)結(jié)構(gòu),即將經(jīng)過(guò)雙線(xiàn)性插值和FRN 歸一化的特征層Conv4_3 分別與Conv8_2、Conv9_2、Conv10_2、Conv11_2 融合,同時(shí)Conv11_2 特征層也采用相同的方法分別與Conv9_2、Conv8_2、Conv7、Conv4_3 融合,這一改進(jìn)保證了提取特征的魯棒性及其精度;在FRN 歸一化層中添加TLU 激活函數(shù)而不是ReLU,不僅避免產(chǎn)生很多零值,而且消除了模型訓(xùn)練對(duì)批尺寸的依賴(lài),這對(duì)于模型性能提升是至關(guān)重要的;在行人候選框這一模塊中,根據(jù)聚類(lèi)思想設(shè)置了不同特征層不同的寬高比從而進(jìn)行行人檢測(cè)。通過(guò)實(shí)驗(yàn)表明,本文提出的檢測(cè)模型的精度相對(duì)于SSD 模型有很大的提升,其準(zhǔn)確率在融合數(shù)據(jù)集與僅含行人的VOC2007TEST 數(shù)據(jù)集上分別提升5.8%、2.9%。在未來(lái)的研究工作中,將繼續(xù)改進(jìn)網(wǎng)絡(luò)模型,增強(qiáng)特征信息的共享,提高計(jì)算效率,使得速度與精度達(dá)到優(yōu)異的平衡。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2020年12期