高忠文 于立國(guó)
(哈爾濱理工大學(xué),哈爾濱 150080)
主題詞:交通標(biāo)志檢測(cè) 更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò) 生成對(duì)抗網(wǎng)絡(luò) 超分辨重建
在實(shí)際道路環(huán)境中,檢測(cè)遠(yuǎn)距離標(biāo)志面臨檢測(cè)目標(biāo)小、分辨率低和交通標(biāo)志極易受到惡劣天氣影響的問(wèn)題。如今,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)如YOLO(You Only Look Once)[1]、單次多框檢測(cè)器(Single Shot multi-box Detector,SSD)[2]、更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster Regions with Convolutional Neural Network,F(xiàn)aster R-CNN)[3]等主要檢測(cè)框架被廣泛應(yīng)用,但小目標(biāo)的交通標(biāo)志檢測(cè)比普通目標(biāo)檢測(cè)面臨更大挑戰(zhàn)。
當(dāng)前,處理小目標(biāo)檢測(cè)任務(wù)的方法大致分為2 類。一是專注于開(kāi)發(fā)神經(jīng)網(wǎng)絡(luò)變體,如:Bell等人[4]在快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast Regions with Convolutional Neural Network,F(xiàn)ast R-CNN)[5]的背景下提出了小目標(biāo)的檢測(cè)方法,其考慮了感受野、對(duì)象大小和檢測(cè)性能之間的關(guān)系,對(duì)不同尺度的抽象特征進(jìn)行提取;Eggert等人[6]提出一種改進(jìn)的Faster R-CNN 檢測(cè)方法,提出了精確選擇錨點(diǎn)的標(biāo)準(zhǔn),并使用多尺度區(qū)域推薦網(wǎng)絡(luò)和多尺度分類網(wǎng)絡(luò)對(duì)小目標(biāo)進(jìn)行檢測(cè)。上述研究通過(guò)改變網(wǎng)絡(luò)來(lái)提取多尺度的低級(jí)特征而增加特征維度,但是小目標(biāo)的低級(jí)多尺度特征不能保證所構(gòu)造的特征檢測(cè)有效。二是通過(guò)提升輸入圖像的分辨率增加小目標(biāo)的特征信息。Xu等人[7]通過(guò)雙線性插值法對(duì)圖像進(jìn)行上采樣操作,但基于插值的算法較為簡(jiǎn)單,圖像容易模糊而且有鋸齒邊緣;Chen等人[8]通過(guò)增加輸入圖像的數(shù)量提高小目標(biāo)的分辨率,但這種方法的數(shù)據(jù)輸入量可能不足,還會(huì)在增加輸入數(shù)據(jù)時(shí)大幅增加訓(xùn)練時(shí)間。因此,單獨(dú)運(yùn)用某一類方法不能很好地解決問(wèn)題。
本文針對(duì)遠(yuǎn)距離交通標(biāo)志尺寸特征小、分辨率低而難以檢測(cè)的問(wèn)題,提出基于生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[9]與改進(jìn)的Faster R-CNN 檢測(cè)器相結(jié)合的模型。首先通過(guò)改進(jìn)Faster R-CNN 的錨點(diǎn)獲得精確的小目標(biāo)交通標(biāo)志候選區(qū),然后通過(guò)生成對(duì)抗網(wǎng)絡(luò)為小目標(biāo)生成超分辨形式,改進(jìn)以超分辨率生成對(duì)抗網(wǎng)絡(luò)(Super-Resolution Generative Adversarial Network,SRGAN)[10]為基礎(chǔ)的網(wǎng)絡(luò)結(jié)構(gòu),并在判別器網(wǎng)絡(luò)中增加分類與回歸分支,以細(xì)化邊界框,進(jìn)一步促進(jìn)生成網(wǎng)絡(luò)產(chǎn)生更精細(xì)的圖像。
當(dāng)前,對(duì)象檢測(cè)一般包含2 個(gè)階段,即從圖像中識(shí)別感興趣區(qū)域(Region Of Interest,ROI)和更仔細(xì)地檢查潛在的對(duì)象位置。Faster R-CNN 是一種端到端的目標(biāo)檢測(cè)框架,通過(guò)一系列的卷積學(xué)習(xí)提取圖像的特征,并映射構(gòu)成對(duì)象候選區(qū)域階段和分類階段的基礎(chǔ)。區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)以任意大小的圖像為輸入,輸出一系列的候選區(qū)域矩型框集合,但是直接將Faster R-CNN 基礎(chǔ)框架模型應(yīng)用于小目標(biāo)檢測(cè)任務(wù)可能會(huì)造成漏檢。區(qū)域建議網(wǎng)絡(luò)中的錨點(diǎn)數(shù)量能夠直接影響候選區(qū)域的生成,為了增強(qiáng)網(wǎng)絡(luò)對(duì)于小尺度目標(biāo)的檢測(cè)水平,在改進(jìn)Faster R-CNN 檢測(cè)小目標(biāo)時(shí),可以選擇適合大小與數(shù)量的錨點(diǎn)。Faster R-CNN 默認(rèn)的錨點(diǎn)是通過(guò)在conv5上構(gòu)建步長(zhǎng)為1的3×3滑動(dòng)窗口上輸入圖像取得的,同一個(gè)中心分別取3個(gè)尺度,3個(gè)比例共取9 個(gè)錨點(diǎn)。由于區(qū)域建議網(wǎng)絡(luò)設(shè)置的錨點(diǎn)參數(shù)無(wú)法識(shí)別區(qū)域內(nèi)較小的目標(biāo),所以在原有參數(shù)的基礎(chǔ)上,加入32×32和64×64兩組比初始設(shè)置更小的錨點(diǎn),使得網(wǎng)絡(luò)能夠檢測(cè)到更小的目標(biāo)。通過(guò)對(duì)增加到15個(gè)錨點(diǎn)的RPN 進(jìn)行訓(xùn)練,尺度大小為32×32、64×64、128×128、256×256、512×512,3個(gè)縱橫比分別為1∶1、1∶2、2∶1。感興趣區(qū)域池化層將RPN所標(biāo)記的感興趣區(qū)域坐標(biāo)投影到特征圖上,獲取ROI 圖像送入生成對(duì)抗網(wǎng)絡(luò)進(jìn)一步處理。
本文提出的網(wǎng)絡(luò)架構(gòu)如圖1 所示,該架構(gòu)易于構(gòu)建,整體網(wǎng)絡(luò)結(jié)構(gòu)主要包括Faster R-CNN 和GAN 兩部分,F(xiàn)aster R-CNN 檢測(cè)器用于初始檢測(cè)定位,為GAN提供感興趣區(qū)域。GAN 由生成器和判別器構(gòu)成,檢測(cè)到的低分辨率小目標(biāo)經(jīng)GAN的超分辨網(wǎng)絡(luò)重建為具有高分辨率的大目標(biāo)。

圖1 網(wǎng)絡(luò)架構(gòu)
生成式對(duì)抗網(wǎng)絡(luò)是一種強(qiáng)大的無(wú)監(jiān)督學(xué)習(xí)模型,無(wú)需廣泛注釋訓(xùn)練數(shù)據(jù)。GAN在圖像生成、圖像編輯、圖像標(biāo)注、樣式轉(zhuǎn)移、圖像超分辨等方面取得了豐富的成果[11],其基本結(jié)構(gòu)如圖2所示。

圖2 GAN的基本結(jié)構(gòu)
GAN 由生成器G和判別器D構(gòu)成,它們相互競(jìng)爭(zhēng),在訓(xùn)練過(guò)程中交替優(yōu)化生成器與判別器。訓(xùn)練生成器G產(chǎn)生樣本欺騙判別器D,同時(shí)訓(xùn)練判別器D將真實(shí)圖像與生成器生成的圖像分開(kāi)。G和D之間進(jìn)行最大最小值博弈,使生成樣本無(wú)限接近真實(shí)樣本,目標(biāo)函數(shù)為:

式中,LGAN(G,D)為GAN的損失函數(shù);E為數(shù)學(xué)期望值;pdate與pz分別為真實(shí)數(shù)據(jù)分布和隨機(jī)噪聲分布;z為采樣于輸入樣本的隨機(jī)噪聲;x為真實(shí)數(shù)據(jù)采樣;D(x)為x通過(guò)判別網(wǎng)絡(luò)判斷為真實(shí)樣本的概率;G(z)為生成器通過(guò)噪聲z生成的樣本;D(G(z))為生成樣本經(jīng)由判別器判斷為真實(shí)樣本的概率;θ和ω分別為D和G的參數(shù)。
本文將生成式對(duì)抗網(wǎng)絡(luò)的生成圖像功能應(yīng)用于小目標(biāo)圖像的超分辨率圖像重建工作。SRGAN在圖像超分辨方面已經(jīng)取得了不錯(cuò)的成果,但其對(duì)小目標(biāo)生成的超分辨率圖像模糊,缺乏細(xì)節(jié)。因此,本文提出改進(jìn)SRGAN以增強(qiáng)小目標(biāo)檢測(cè)能力,優(yōu)化生成器Gω、判別器Dθ,增加分類與回歸損失函數(shù),更好地提升重建的超分辨率圖像的清晰度,目標(biāo)函數(shù)為:

式中,ILR為具有低分辨率的小目標(biāo);IHR為具有高分辨率的大目標(biāo);Ptrain、PG分別為高分辨率圖像數(shù)據(jù)分布與生成圖像數(shù)據(jù)分布。
3.1.1 生成器網(wǎng)絡(luò)
本文的生成網(wǎng)絡(luò)以低分辨率圖像為輸入,而不是隨機(jī)噪聲,輸出的是超分辨圖像。本文采用深度CNN 架構(gòu),如圖3 所示,生成器首先通過(guò)去卷積層對(duì)ROI 圖像的低分辨率目標(biāo)進(jìn)行上采樣,生成器含有2個(gè)上采樣去卷積(De-Conv)層,然后執(zhí)行卷積以產(chǎn)生相應(yīng)的清晰圖像。為了進(jìn)一步增加非線性特征,本文將原生成網(wǎng)絡(luò)中的殘差塊[12]由16 個(gè)擴(kuò)展為24 個(gè),從而改進(jìn)生成器生成超分辨圖像。殘差塊內(nèi)使用2個(gè)卷積(Conv)層,每層卷積核大小為3×3,擁有64 個(gè)特征通道。此外,還有歸一化(Batch Normalization,BN)層和修正線性單元(Rectified Linear Unit,ReLU)激活函數(shù)。生成網(wǎng)絡(luò)輸出的超分辨圖像更容易使判別器判別并執(zhí)行小目標(biāo)的檢測(cè)。

圖3 生成器網(wǎng)絡(luò)
3.1.2 判別器網(wǎng)絡(luò)
本文采用VGG19 作為判別器的網(wǎng)絡(luò),判別器的結(jié)構(gòu)由卷積層、參數(shù)化修正線性單元(Leaky Rectified Linear Unit,Leaky ReLU)激活層、歸一化層構(gòu)成。使用平均池化層代替conv5的最大池化層,平均池化層后增加3個(gè)平行的全連接層:第1個(gè)分支的全連接層輸出的是輸入為真實(shí)圖像的概率;第2個(gè)分支輸出對(duì)象類別的概率;第3個(gè)全連接層分支輸出邊界框回歸偏移。判別器網(wǎng)絡(luò)如圖4所示。

圖4 判別器網(wǎng)絡(luò)
GAN 通過(guò)2 個(gè)高感知的對(duì)立網(wǎng)絡(luò)競(jìng)爭(zhēng)創(chuàng)建出逼真的圖像,本文采用像素?fù)p失與對(duì)抗損失來(lái)優(yōu)化生成器的同時(shí),對(duì)判別器網(wǎng)絡(luò)增加分類損失與回歸損失,促使生成的小目標(biāo)圖像產(chǎn)生更精細(xì)的細(xì)節(jié),同時(shí)便于檢測(cè)。本文的損失函數(shù)為:

式中,LMSE、Ladv、Lcls、Lreg分別為逐像素均方誤差損失、對(duì)抗損失、分類損失、回歸損失。
逐像素?fù)p失就是像素間的歐氏距離,它能夠有效地度量2 幅圖像的相似性,通過(guò)最小化逐像素均方差損失,使得生成器生成的超分辨圖像與原圖像更接近,逐像素的均方誤差(Mean Squared Error,MSE)損失為:

式中,N為輸入的樣本量。
對(duì)抗損失促使網(wǎng)絡(luò)產(chǎn)生更好的高頻細(xì)節(jié),促使生成器網(wǎng)絡(luò)為小對(duì)象產(chǎn)生類似于大對(duì)象的超分辨表示,以欺騙判別器網(wǎng)絡(luò),對(duì)抗損失為:

回歸損失不但使檢測(cè)器選取的候選目標(biāo)位置更準(zhǔn)確,同時(shí)促使生成器對(duì)小目標(biāo)生成更清晰的細(xì)節(jié),回歸損失為:

為了實(shí)現(xiàn)對(duì)象檢測(cè)的任務(wù)并使生成的圖像更容易分類,本文引入分類損失,低分辨圖像為,高分辨率圖像為,{ui,i=1,2,…,N}代表對(duì)應(yīng)的圖像類別標(biāo)簽,分類損失為:

本文使用中國(guó)交通標(biāo)志數(shù)據(jù)集(Chinese Traffic Sign Datasets,CTSD)進(jìn)行試驗(yàn),在CTSD 中選取高分辨率目標(biāo)圖片1 000張,并對(duì)選取的圖像進(jìn)行下采樣成為32像素×32像素的低分辨率圖像,用于訓(xùn)練生成器與判別器。因?yàn)閿?shù)據(jù)集中小目標(biāo)的比例很高,所以根據(jù)CTSD內(nèi)目標(biāo)的位置劃分2個(gè)子集,其中包含1 000張小目標(biāo)子集與1 000張中大型目標(biāo)子集作為測(cè)試集。計(jì)算機(jī)硬件采用CPU i7 和NVIDIA GTX1060 GPU,在TensorFlow框架下進(jìn)行試驗(yàn)。
本文的Faster R-CNN 檢測(cè)器首先在ImageNet 中進(jìn)行預(yù)訓(xùn)練。在訓(xùn)練期間,使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化器訓(xùn)練整個(gè)網(wǎng)絡(luò),設(shè)置初始學(xué)習(xí)率為0.01,學(xué)習(xí)衰減率為0.1,衰減步長(zhǎng)為50 000 且以速率0.1 倍的方式遞減,在80 000 次迭代后終止訓(xùn)練。首先,通過(guò)本文訓(xùn)練的生成對(duì)抗網(wǎng)絡(luò)模型與SRGAN 在生成圖像清晰度效果上進(jìn)行對(duì)比,然后將本文提出的方法與使用Faster R-CNN 的檢測(cè)效果進(jìn)行比較。
圖5所示為本文的超分辨網(wǎng)絡(luò)與SRGAN方法生成的超分辨圖像對(duì)比示例。由圖5可知,相較于SRGAN,本文生成的交通標(biāo)志圖像更加清晰。

圖5 不同算法的圖像超分辨示例
為了證明本文方法對(duì)于小目標(biāo)檢測(cè)的有效性,將其與Faster R-CNN 檢測(cè)器在交通標(biāo)志數(shù)據(jù)不同尺寸的子集上進(jìn)行比較,表1所示為2種方法在檢測(cè)中召回率與準(zhǔn)確率的比較結(jié)果。從表1中可以看出,對(duì)于小目標(biāo)尺寸子集,此方法得到了很大的改進(jìn)。

表1 本文方法與Faster R-CNN在CTSD中的檢測(cè)性能%
通過(guò)準(zhǔn)確率與召回率曲線對(duì)數(shù)據(jù)集中不同大小目標(biāo)的檢測(cè)性能進(jìn)行比較,結(jié)果如圖6所示。在中大型數(shù)據(jù)集中,兩者的檢測(cè)性能沒(méi)有很大差異,但對(duì)于小目標(biāo)集的檢測(cè),可以明顯看出本文改進(jìn)的方法在檢測(cè)性能上強(qiáng)于單獨(dú)使用Faster R-CNN。

圖6 驗(yàn)證集測(cè)試結(jié)果
為了進(jìn)一步可視化本文方法的檢測(cè)效果,在CTSD中隨機(jī)抽取具有小目標(biāo)的交通標(biāo)志圖,低分辨率的小目標(biāo)經(jīng)過(guò)GAN超分辨的效果如圖7所示。綜上所述,本文對(duì)于小目標(biāo)檢測(cè)具有極大的優(yōu)勢(shì)。

圖7 大目標(biāo)與小目標(biāo)檢測(cè)結(jié)果
本文針對(duì)小目標(biāo)交通標(biāo)志檢測(cè)過(guò)程中區(qū)域候選階段定位及分辨率低的問(wèn)題,將GAN 模型的超分辨率引入Faster R-CNN 中,首先根據(jù)區(qū)域候選階段調(diào)整錨點(diǎn)數(shù)量,然后通過(guò)對(duì)生成判別網(wǎng)絡(luò)優(yōu)化調(diào)整,提出在判別器中增加分類回歸與邊界回歸損失函數(shù),促使小目標(biāo)更精細(xì)定位及生成更清晰的圖像,最終用該算法在CTSD數(shù)據(jù)集上進(jìn)行了驗(yàn)證,結(jié)果表明,該方法能夠提高小目標(biāo)的檢測(cè)性能。
雖然本試驗(yàn)僅通過(guò)交通標(biāo)志數(shù)據(jù)集測(cè)試,但是提出的模型對(duì)于不同類別的小目標(biāo)具有很強(qiáng)的泛化能力,同時(shí),此方法也造成了訓(xùn)練過(guò)程中的復(fù)雜性,在檢測(cè)中得到了一些錯(cuò)誤的結(jié)果,這表明此方法在改善小目標(biāo)檢測(cè)性能方面仍然有很大的空間,需要在以后的工作中進(jìn)一步提高。