郭韜遠(yuǎn) 任明武
(1.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
(2.南京理工大學(xué)高維信息智能感知與系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室 南京 210094)
汽車的普及提高了國民的生活水平,但同時以柴油為動力的車輛排放了大量污染環(huán)境的尾氣。這些車輛的尾氣通常呈黑煙狀,含有多種有毒污染物,是我國近年來空氣污染的最大源頭。過去一般使用人工方法對黑煙車輛進(jìn)行檢測,耗時耗力,研究如何高效地檢測黑煙車輛對國家相關(guān)部門的環(huán)保工作十分有幫助。監(jiān)控?cái)z像機(jī)在交通道路中已經(jīng)普遍應(yīng)用,隨著近幾年AI 技術(shù)的發(fā)展,開發(fā)智能監(jiān)控系統(tǒng)、自動化從海量視頻圖像中提取有用的信息已成為可能。目前在道路監(jiān)控視頻中主要使用傳統(tǒng)的目標(biāo)檢測技術(shù)對黑煙車輛進(jìn)行檢測。針對黑煙車輛使用的傳統(tǒng)目標(biāo)檢測方法多數(shù)基于背景建模法,文獻(xiàn)[1]~[2]通過使用高斯模型法或ViBe法將圖像中的前景目標(biāo)分離出來,接著對前景目標(biāo)中的車輛尾部進(jìn)行粗定位得到感興趣區(qū)域,然后在感興趣區(qū)域使用手工設(shè)計(jì)的特征,如黑煙的顏色、紋理、小波變換特征[3]等進(jìn)行特征提取,最后通過訓(xùn)練SVM 分類器、Adaboost 分類器、BP 神經(jīng)網(wǎng)絡(luò)等進(jìn)行特征分類,識別出圖像中的目標(biāo)。然而車輛尾部信息復(fù)雜,且黑煙自身的低級視覺特征容易受到外界環(huán)境因素的影響而發(fā)生變化,而手工設(shè)計(jì)的特征提取器依賴于目標(biāo)的先驗(yàn)知識,因此傳統(tǒng)方法無法滿足復(fù)雜交通場景下的黑煙車輛檢測。
近年來隨著硬件計(jì)算性能和深度學(xué)習(xí)技術(shù)的快速發(fā)展,出現(xiàn)了許多基于卷積神經(jīng)網(wǎng)絡(luò)的通用目標(biāo)檢測算法,應(yīng)用于人臉識別、車輛檢測、行人檢測等領(lǐng)域都取得了非常好的效果,相對于傳統(tǒng)的機(jī)器學(xué)習(xí)方法在準(zhǔn)確性上有了很大提高[4]。典型的基于深度學(xué)習(xí)的目標(biāo)檢測算法大致可以分為兩類:基于框的目標(biāo)檢測算法和基于關(guān)鍵點(diǎn)的目標(biāo)檢測算法。區(qū)別于傳統(tǒng)的基于框的目標(biāo)檢測算法,最近以CenterNet[5]為代表的基于關(guān)鍵點(diǎn)的一系列目標(biāo)檢測算法開拓了目標(biāo)檢測新方向。目標(biāo)檢測本質(zhì)是對目標(biāo)的建模,以使用中心和尺寸來對目標(biāo)建模為例,基于框的目標(biāo)檢測算法本質(zhì)上是在候選區(qū)域或Anchor 空間中回歸中心和尺寸的偏差,如兩階段的Faster RCNN[6]系列和一階段的YOLO[7]系列,區(qū)別在于候選區(qū)域需要通過RPN 等單獨(dú)一個階段來實(shí)現(xiàn),而Anchor 則可以預(yù)先設(shè)置;而基于關(guān)鍵點(diǎn)的目標(biāo)檢測算法則是直接在像素級水平上直接定位中心,再使用中心處的特征直接回歸尺寸,無需候選區(qū)域或Anchor 空間。無需候選區(qū)域則可以避免二階段檢測速度過慢,無需anchor空間可避免負(fù)樣本數(shù)量過大引起正負(fù)樣本失衡繼而導(dǎo)致難以訓(xùn)練?;陉P(guān)鍵點(diǎn)的目標(biāo)檢測算法雖然早在Dense-Box[8]中就初見端倪,但直到CornerNet[9]才具體成型,這得益于人體姿態(tài)估計(jì)領(lǐng)域關(guān)鍵點(diǎn)定位技術(shù)(基于熱力圖的關(guān)鍵點(diǎn)定位)的日益成熟。在CornerNet 提 出 后,涌 現(xiàn) 出ExtremeNet[10],CenterNet,CSP[11]等一系列基于關(guān)鍵點(diǎn)的目標(biāo)檢測算法。本文目標(biāo)是設(shè)計(jì)一個用于視頻監(jiān)控場景下的快速黑煙車輛檢測的算法,鑒于CenterNet 在檢測速度和效果上都要勝過YOLOv3[12],所以初步選擇Center-Net 作為基礎(chǔ)方案。另一個選擇CenterNet 的關(guān)鍵原因是黑煙沒有固定形態(tài),故其尺寸比例分布廣泛,難以設(shè)計(jì)Anchor 的尺寸和比例來覆蓋。本文分別統(tǒng)計(jì)可視化了黑煙車輛數(shù)據(jù)集中黑煙和車輛的尺寸散點(diǎn)圖,如圖1黑煙車輛數(shù)據(jù)集中的黑煙尺寸散點(diǎn)圖、圖2黑煙車輛數(shù)據(jù)集中的車輛尺寸散點(diǎn)圖所示,黑煙尺寸散點(diǎn)圖分布的角度范圍更大且不如車輛尺寸散點(diǎn)圖凝聚。
圖1 黑煙車輛數(shù)據(jù)集中的黑煙尺寸散點(diǎn)圖
圖2 黑煙車輛數(shù)據(jù)集中的車輛尺寸散點(diǎn)圖
基本思想是用中心點(diǎn)(即目標(biāo)框的中心點(diǎn))表示目標(biāo),尺寸作為目標(biāo)性質(zhì)可以使用圖像在中心點(diǎn)處的特征直接回歸。關(guān)鍵在于中心點(diǎn)估計(jì),而CenterNet采用全卷積編解碼網(wǎng)絡(luò)架構(gòu)生成圖像的熱力圖,其峰值點(diǎn)即對應(yīng)于目標(biāo)中心點(diǎn)。如圖3 所示,整體架構(gòu)有三部分組成:編碼器,解碼器,任務(wù)組件。其中編碼器為常見主干網(wǎng)絡(luò),如ResNet[13],DLA[14],Hourglass[15]等,解碼器為連續(xù)的上采樣操作(或者編碼完成后解碼,或者編解碼交互),任務(wù)組件包含三部分:熱力圖定位,偏差回歸,尺寸回歸。整體網(wǎng)絡(luò)采用稠密的熱力圖監(jiān)督信號學(xué)習(xí),其推斷無需NMS。
圖3 CenterNet整體網(wǎng)絡(luò)架構(gòu)
最后,整體檢測任務(wù)損失如下:
其中λoff,λsize分別權(quán)衡偏差回歸和尺寸回歸的重要性,后面所有實(shí)驗(yàn)采用λoff=1,λsize=0.1。
針對CenterNet 在黑煙車輛檢測任務(wù)上存在的缺陷,本文在其基礎(chǔ)上設(shè)計(jì)了一個基于注意機(jī)制的雙主干黑煙車輛檢測網(wǎng)絡(luò)。首先黑煙車輛數(shù)據(jù)集規(guī)模過小,無法發(fā)揮深度復(fù)雜網(wǎng)絡(luò)的優(yōu)勢。其次,雖然沒有公開的黑煙檢測數(shù)據(jù)集,但是公開的車輛檢測數(shù)據(jù)集卻很多。針對這一現(xiàn)狀,本文決定針對黑煙和車輛目標(biāo)分別使用一個主干網(wǎng)絡(luò)提取針對性的特征表示。因?yàn)樾枰獧z測的黑煙是車輛排出的尾氣,所以黑煙一定在車輛周圍。首先黑煙遠(yuǎn)離車輛必會稀薄,其次其他類型的黑煙(如燃燒產(chǎn)生的黑煙)也非本文需要檢測的目標(biāo),所以靠近車輛的黑煙才是關(guān)鍵。針對黑煙車輛目標(biāo)檢測的關(guān)系:黑煙必定在車輛尾部,車輛尾部不一定有黑煙,本文引入注意機(jī)制對這種關(guān)系進(jìn)行建模。
基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)架構(gòu)如圖4所示。
圖4 基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)架構(gòu)
基于CenterNet 在黑煙車輛檢測上的速度和效果,同時考慮實(shí)際應(yīng)用需求,黑煙編碼器和車輛編碼器都選取ResNet18,但黑煙編碼器中的正常卷積改為可形變卷積(針對黑煙是氣態(tài)這種特征)。如圖4 所示,設(shè)黑煙編碼器生成的特征圖為F1,車輛生成的特征圖為F2,則融合后的特征圖如下:
其中K為1×1 的卷積和,*表示卷積運(yùn)算,?表示逐元素相乘。其意義是使用車輛特征圖F2生成注意機(jī)制來指導(dǎo)黑煙特征圖,使得黑煙特征圖在同時出現(xiàn)黑煙和車輛的區(qū)域響應(yīng)最大,這樣可以抑制類似黑煙的背景區(qū)域(如陰影,道路上輪胎留下的痕跡等)的響應(yīng),可以提升黑煙的檢測精度。
因目前沒有公開的監(jiān)控場景下的黑煙車輛數(shù)據(jù)集,所以人工采集并標(biāo)注了9965 張分辨率為360×640的黑煙車輛圖片(共25820個框,其中9070個黑煙框,16750 個車輛框),隨機(jī)選取其中80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測試集。
為比較各種編碼器和解碼器在黑煙車輛數(shù)據(jù)集上的檢測效果和速度,本實(shí)驗(yàn)嘗試了輕量級ShuffleNet V2[16],ResNet 系列,DLA 系列以及Hourglass,其中ShuffleNet V2 和ResNet系列只是作為編碼器,解碼部分采用如圖4所示的常規(guī)反卷積上采樣,而DLA 系列以及Hourglass 則是編解碼交互的架構(gòu)。訓(xùn)練細(xì)節(jié):統(tǒng)一輸入圖像大小為512×512,選取隨機(jī)翻轉(zhuǎn),伸縮(0.6~1.3),裁剪和色彩抖動來增強(qiáng)數(shù)據(jù),使用Adam來優(yōu)化整體損失。推斷細(xì)節(jié):為進(jìn)一步提速,沒有在測試時做翻轉(zhuǎn)和多尺度;另外,為增加推斷速度,將部分前處理運(yùn)算放入GPU中。
詳細(xì)的對比實(shí)驗(yàn)結(jié)果如表1 所示,不僅給出了黑煙、車輛的檢測AP及整體的mAP,還測試了檢測的速度(包括前后處理)和占用顯存。
表1 基于CenterNet的黑煙車輛測試集實(shí)驗(yàn)結(jié)果
對提出的基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)進(jìn)行了一系列對比試驗(yàn)并進(jìn)行分析,實(shí)驗(yàn)結(jié)果見表2。
表2 基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)果
從表1 來看:基于ResNet18 的CenterNet 在黑煙、車輛及整體數(shù)據(jù)集上都取得了最好的檢測效果,且在檢測速度及顯存占用上與輕量級主干網(wǎng)絡(luò)ShuffleNetV2 相當(dāng)。從ResNet34 與DLA34 的結(jié)果對比來看,不同深度及分辨率的特征融合確實(shí)能提升效果,且只對推斷速度造成微弱降低。從ResNet系列及Hourglass 的實(shí)驗(yàn)結(jié)果來看,增加網(wǎng)絡(luò)的深度并沒有提升檢測效果,甚至還不如ResNet18。
此外,車輛的檢測效果確實(shí)要比黑煙好,這與前面所說的黑煙沒有固定形態(tài)有關(guān)。據(jù)此,本文認(rèn)為增加網(wǎng)絡(luò)深度卻沒有提升的原因有兩方面:一是黑煙車輛數(shù)據(jù)集規(guī)模過小,無法發(fā)揮復(fù)雜網(wǎng)絡(luò)的表示能力;二是沒有在其他類似黑煙車輛的大規(guī)模數(shù)據(jù)集上做預(yù)訓(xùn)練以進(jìn)行遷移。鑒于實(shí)際應(yīng)用需求和上述實(shí)驗(yàn)結(jié)果,本文選擇基于ResNet18 的CenterNet作為監(jiān)控場景下黑煙車輛檢測的基本解決方案,并基于上述分析進(jìn)一步改進(jìn)基于ResNet18 的CenterNet 網(wǎng)絡(luò)架構(gòu),提出基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)。
從表2 對比結(jié)果來看,與預(yù)期的一樣,基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)對比基于ResNet18 的CenterNet 有了明顯提升。其中車輛AP 的提升證明了使用公開車輛檢測數(shù)據(jù)集做遷移學(xué)習(xí)確實(shí)有效,黑煙AP 的提升證明了基于注意機(jī)制的特征融合確實(shí)能提升黑煙的檢測精度。
本文將基于深度學(xué)習(xí)的CenterNet 模型應(yīng)用于黑煙車輛檢測問題,并針對黑煙車輛檢測任務(wù)做了以下方面的改進(jìn):1)本文嘗試了多種類型的編碼器和解碼器,以得出最適合黑煙車輛檢測任務(wù)的主干網(wǎng)絡(luò);2)對于黑煙數(shù)據(jù)集規(guī)模過小導(dǎo)致增加網(wǎng)絡(luò)深度精度卻沒有提升的問題,使用雙主干網(wǎng)絡(luò)分別提前針對性的特征表示;3)針對黑煙車輛檢測的關(guān)系,提出基于注意機(jī)制的特征融合,使用車輛特征圖生成注意機(jī)制來指導(dǎo)黑煙特征圖的訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,基于注意機(jī)制的雙分支黑煙車輛檢測網(wǎng)絡(luò)相較于CenterNet 在黑煙、車輛AP 及整體數(shù)據(jù)集上的mAP 都有明顯的提升,但是該算法的檢測速度降低了不少。