吳澤遠(yuǎn),朱 明
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,合肥 230026)
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域最基礎(chǔ)也最重要的問(wèn)題,在現(xiàn)實(shí)生活中具有廣泛的應(yīng)用,如自動(dòng)駕駛[1],視頻監(jiān)控[2],人臉識(shí)別[3],所謂目標(biāo)檢測(cè),就是在圖像中檢測(cè)到物體的位置和類別.隨著深度學(xué)習(xí)的蓬勃發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的方法[4-9]在目標(biāo)檢測(cè)標(biāo)準(zhǔn)數(shù)據(jù)集[10-12]上取得了明顯進(jìn)步.盡管效果顯著,卻只是在標(biāo)注好的干凈的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),而真實(shí)世界中目標(biāo)檢測(cè)要面臨的情況要更加復(fù)雜,數(shù)據(jù)的視角,外觀,背景,光照等方面的差異導(dǎo)致訓(xùn)練好的模型難以落地使用,即訓(xùn)練數(shù)據(jù)稱為(源域) 和測(cè)試數(shù)據(jù)(稱為目標(biāo)域)分布不同,導(dǎo)致訓(xùn)練好的模型泛化性較差,這一問(wèn)題稱為域偏移問(wèn)題.
為了處理這個(gè)問(wèn)題,一個(gè)具有吸引力的辦法是無(wú)監(jiān)督域適應(yīng)[13],即將在源域上訓(xùn)練的模型用于目標(biāo)域,卻不需要對(duì)目標(biāo)域進(jìn)行數(shù)據(jù)標(biāo)注.最近,基于圖像風(fēng)格遷移的域適應(yīng)方法[14,15]取得了不錯(cuò)的結(jié)果,這一類方法基于圖像風(fēng)格遷移[16],基本思想是利用圖像風(fēng)格遷移技術(shù)將有標(biāo)簽的源域數(shù)據(jù)轉(zhuǎn)換為目標(biāo)域風(fēng)格,然后在轉(zhuǎn)換后的源域圖像上進(jìn)行訓(xùn)練,這樣便相當(dāng)于在有標(biāo)簽的目標(biāo)域數(shù)據(jù)集上訓(xùn)練模型,最后,將訓(xùn)練好的模型用于目標(biāo)域即可.
然而,上述基于圖像風(fēng)格遷移的方法有幾點(diǎn)缺陷:1)這些方法通常將先進(jìn)行圖像風(fēng)格遷移,然后再對(duì)遷移后的圖像進(jìn)行訓(xùn)練,流程繁瑣.2)圖像風(fēng)格遷移網(wǎng)絡(luò)和檢測(cè)網(wǎng)絡(luò)分開訓(xùn)練,訓(xùn)練速度慢,同時(shí)兩個(gè)網(wǎng)絡(luò)無(wú)法共享數(shù)據(jù),不能充分利用數(shù)據(jù).
為了處理上述問(wèn)題,本文設(shè)計(jì)了基于圖像風(fēng)格遷移的端到端跨域檢測(cè)網(wǎng)絡(luò).在該網(wǎng)絡(luò)中我們?cè)O(shè)計(jì)了兩個(gè)模塊,包括圖像風(fēng)格遷移模塊,和目標(biāo)檢測(cè)模塊.其中圖像風(fēng)格遷移模塊采用比較流行的風(fēng)格遷移方法,對(duì)源域圖像進(jìn)行風(fēng)格轉(zhuǎn)換.目標(biāo)檢測(cè)模塊采用通用的Faster R-CNN[4]網(wǎng)絡(luò)對(duì)轉(zhuǎn)換后的圖像進(jìn)行檢測(cè).
本文設(shè)計(jì)的網(wǎng)絡(luò)在4 個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上取得了相當(dāng)甚至超過(guò)最佳方法的結(jié)果.
目標(biāo)檢測(cè)網(wǎng)絡(luò)通常分為兩階段方法[4-6]和單階段方法[7-9].兩階段方法在第1 階段通常采用區(qū)域候選網(wǎng)絡(luò)[4](RPN)和區(qū)域池化模塊[4](ROI Pooling)提取目標(biāo)特征,然后在第2 階段采用全連接層對(duì)提取的目標(biāo)特征進(jìn)行分類和位置回歸.單階段網(wǎng)絡(luò)省去了第1 階段,直接回歸輸出目標(biāo)的類別和位置,網(wǎng)絡(luò)流程的簡(jiǎn)化加快了檢測(cè)速度,當(dāng)然,在追求速度的同時(shí)也犧牲了精度.然而,這些方法通常用于常規(guī)檢測(cè),即訓(xùn)練集和測(cè)試集來(lái)自于同一數(shù)據(jù)域,無(wú)法處理域偏移問(wèn)題.在本文中,我們選取Faster R-CNN 作為基礎(chǔ)檢測(cè)器,并且結(jié)合圖像風(fēng)格遷移技術(shù)改善其泛化性能.
DA Faster[17]是跨域目標(biāo)檢測(cè)的開山工作,該方法在圖像級(jí)別和目標(biāo)級(jí)別分別設(shè)計(jì)判別器達(dá)到域適應(yīng)的目的.DTPL[14]采用圖像風(fēng)格遷移技術(shù),通過(guò)CycleGAN[18]將源域圖像轉(zhuǎn)換為目標(biāo)域風(fēng)格的圖像,并在轉(zhuǎn)換后的帶標(biāo)簽圖像上訓(xùn)練檢測(cè)器.DM[15]對(duì)CycleGAN 損失函數(shù)進(jìn)行修改,生成多個(gè)中間域圖像,并訓(xùn)練多域判別器.在MAF[19]中,通過(guò)在圖像級(jí)特征層面設(shè)置多層判別器對(duì)檢測(cè)器達(dá)到域適應(yīng).FAFR-CNN[20]將少樣本與跨域目標(biāo)檢測(cè)相結(jié)合,專注于少樣本情況下的域遷移.與上述方法相比,本文方法的不同之處在于將圖像風(fēng)格遷移和目標(biāo)檢測(cè)放到一個(gè)端到端的框架中.
生成對(duì)抗網(wǎng)絡(luò)(GAN)[21]由GoodFellow 等人于2014年發(fā)明,并引發(fā)了無(wú)數(shù)的后續(xù)相關(guān)研究.主要的變體有條件生成對(duì)抗網(wǎng)絡(luò)[22](cGAN),DCGAN[23],WGAN[24]等.DCGAN 用卷積神經(jīng)網(wǎng)絡(luò)代替原始GAN 中的全連接層,能夠生成更清晰的圖像.cGAN 在網(wǎng)絡(luò)的輸入中加入條件,從而可以控制輸出的類別.WGAN 修改了原始GAN 的目標(biāo)函數(shù),使得訓(xùn)練更加穩(wěn)定.
基于深度學(xué)習(xí)的圖像風(fēng)格遷移算法可按照數(shù)據(jù)輸入分為兩類,一類是需要成對(duì)數(shù)據(jù)的算法,以Pix2Pix[25]為代表,這一系列還有Pix2PixHD[26],Vid2Vid[27].其中,Pix2Pix 利用成對(duì)數(shù)據(jù)作為輸入,即一一對(duì)應(yīng)的源域風(fēng)格數(shù)據(jù)和目標(biāo)域風(fēng)格數(shù)據(jù),利用生成器將源域數(shù)據(jù)進(jìn)行轉(zhuǎn)換,然后利用判別器對(duì)真實(shí)目標(biāo)域數(shù)據(jù)和虛假數(shù)據(jù)進(jìn)行判別.Pix2PixHD 是Pix2Pix 的高清版本,采用多層金字塔以生成高清圖像.而Vid2Vid 是Pix2Pix 的視頻版本,用以生成視頻.另一類是無(wú)需成對(duì)數(shù)據(jù)的算法,以CycleGAN 為代表,這一系列還有StarGAN[28].CycleGAN 無(wú)需成對(duì)數(shù)據(jù),輸入源域圖像和目標(biāo)域圖像,利用生成器GA 將源域圖像轉(zhuǎn)換為目標(biāo)域風(fēng)格,并利用判別器DA 進(jìn)行判別,同時(shí)將生成的虛假圖像利用生成器GB 轉(zhuǎn)換為原來(lái)風(fēng)格,并約束圖像盡可能還原.對(duì)于目標(biāo)域圖像,同樣存在上述循環(huán).StarGAN 相比于CycleGAN,可以解決多個(gè)域之間的風(fēng)格轉(zhuǎn)換,主要改進(jìn)在于判別器不光進(jìn)行真假判斷,同時(shí)也對(duì)數(shù)據(jù)所屬的域進(jìn)行分類.
如圖1所示,我們的網(wǎng)絡(luò)主要由兩個(gè)模塊組成,一個(gè)是圖像風(fēng)格遷移模塊,另一個(gè)是目標(biāo)檢測(cè)模塊.關(guān)于檢測(cè)模塊我們采用常見的Faster R-CNN 網(wǎng)絡(luò),下面重點(diǎn)闡述圖像風(fēng)格遷移模塊的設(shè)計(jì).
圖像風(fēng)格遷移模塊部分共有4 個(gè)組成部分,分別是源域到目標(biāo)域的生成器G-A2B,目標(biāo)域判別器DB,以及對(duì)稱的目標(biāo)域到源域的生成器G-B2A,源域圖像判別器DA.我們用A 指代源域圖像,B 指代目標(biāo)域圖像,fake_B 代表生成的虛假目標(biāo)域圖像,fake_A 代表生成的虛假源域圖像,其中,G-A2B 負(fù)責(zé)將A 轉(zhuǎn)換為fake_B,并由判別器DB 對(duì)真實(shí)的圖像B 與fake_B 進(jìn)行判別,同時(shí)為了保證fake_B 在圖像內(nèi)容上仍保留原圖像A 的內(nèi)容,對(duì)fake_B 再次轉(zhuǎn)換,并對(duì)轉(zhuǎn)換后的fake_A 與A 進(jìn)行內(nèi)容一致性約束.
上面是A 到B 的一次循環(huán),與之對(duì)稱,B 到A 也有相同的生成器轉(zhuǎn)換與判別器判別流程,這樣的循環(huán)生成網(wǎng)絡(luò)可以保證生成器在保證內(nèi)容不變的條件下對(duì)圖像風(fēng)格進(jìn)行改變,值得注意的是,由于空間有限,在圖1中并沒(méi)有畫出B 到A 的對(duì)稱流程.
圖1 基于圖像風(fēng)格遷移的跨域目標(biāo)檢測(cè)框架
兩個(gè)生成器具有相同的網(wǎng)絡(luò)結(jié)構(gòu),采用編碼器-解碼器網(wǎng)絡(luò),即對(duì)輸入圖像先壓縮縮小分辨率,再上采樣還原分辨率.具體地,編碼器網(wǎng)絡(luò)采用3 層卷積,每層卷積后有相應(yīng)的池化層,圖像分辨率縮小為1/8,解碼器部分,采用轉(zhuǎn)置卷積進(jìn)行上采樣,同樣有3 層轉(zhuǎn)置卷積,將圖像還原為輸入分辨率.所有卷積層采用3x3 卷積核,池化層步長(zhǎng)為2,采用max pooling 池化.判別器部分,采用3 層全連接網(wǎng)絡(luò),輸出為2 分類輸出,損失函數(shù)采用二值交叉熵?fù)p失.另外,為了保證轉(zhuǎn)換后的圖像仍保留原圖像的內(nèi)容,對(duì)轉(zhuǎn)換后的圖像輸入生成器進(jìn)行還原,還原后的圖像與原圖像間采用L1 損失進(jìn)行內(nèi)容一致性約束.所以,在圖像風(fēng)格遷移模塊,存在4 個(gè)損失,分別是兩個(gè)判別器的分類損失,以及兩個(gè)內(nèi)容一致性損失,損失函數(shù)如下:
對(duì)于轉(zhuǎn)換后的源域圖像,利用已有的檢測(cè)器進(jìn)行訓(xùn)練,由于源域圖像有標(biāo)簽,這樣便相當(dāng)于在有標(biāo)簽的目標(biāo)域圖像上進(jìn)行訓(xùn)練.目標(biāo)檢測(cè)模塊采用常見的Faster R-CNN 檢測(cè)器,檢測(cè)器采用兩階段設(shè)計(jì),第一階段采用RPN 網(wǎng)絡(luò)提取候選區(qū)域,第二階段提取候選區(qū)域特征并進(jìn)行分類和位置回歸.網(wǎng)絡(luò)基礎(chǔ)特征提取(backbone)部分采用ResNet[29].網(wǎng)絡(luò)的損失函數(shù)定義如下:
其中,J代表RPN 網(wǎng)絡(luò)的分類和回歸損失,以及檢測(cè)器最后分類器和回歸器的損失,x和y代表輸入和標(biāo)簽.
網(wǎng)絡(luò)的總目標(biāo)函數(shù)即包括圖像風(fēng)格遷移部分的損失和檢測(cè)器損失:
其中,α是判別器損失和內(nèi)容一致性損失的權(quán)重因子.
在實(shí)驗(yàn)部分我們會(huì)詳細(xì)說(shuō)明網(wǎng)絡(luò)的訓(xùn)練細(xì)節(jié).
在這一部分,我們闡述使用的數(shù)據(jù)集,評(píng)估場(chǎng)景,基線方法和實(shí)驗(yàn)細(xì)節(jié),然后給出實(shí)驗(yàn)結(jié)果分析.
我們利用下列幾個(gè)數(shù)據(jù)集構(gòu)建域適應(yīng)場(chǎng)景并執(zhí)行了實(shí)驗(yàn).(1)PASCAL VOC[11].這個(gè)數(shù)據(jù)集包含20 類常見物體,我們將PASCAL VOC 2007 和2012 的訓(xùn)練集和驗(yàn)證集用于訓(xùn)練,作為源域,總共15 000 張圖片.(2)WaterColor[30].WaterColor 包含2K 張水彩風(fēng)格圖像,6 類物體,屬于PASCAL VOC 的20 類物體的子集.1K 張用于訓(xùn)練,1K 張用于測(cè)試.(3)Sim10K[31].這個(gè)數(shù)據(jù)集由合成的駕駛場(chǎng)景圖像組成,共10K 張圖像,我們將其作為目標(biāo)域,并只對(duì)汽車目標(biāo)進(jìn)行檢測(cè).(4)City-Scape & FoggyCityScape[32,33].CityScape 中的圖像由車載相機(jī)捕捉而來(lái),FoggyCityScape 是利用CityScape 添加霧噪聲得到.兩個(gè)數(shù)據(jù)集規(guī)模相同,包含2975 張訓(xùn)練集,500 張測(cè)試集.
本文共建立3 個(gè)域適應(yīng)場(chǎng)景,包括:(1)場(chǎng)景1.PASCAL VOC 到WaterColor,用于捕捉真實(shí)數(shù)據(jù)到藝術(shù)風(fēng)格數(shù)據(jù)的偏移.(2)場(chǎng)景2.CityScape 到FoggyCityScape,用于捕捉正常天氣到霧天的偏移.(3)場(chǎng)景3.Sim10K 到CityScape,用于捕捉合成圖像到真實(shí)數(shù)據(jù)的偏移.
我們的方法以兩階段檢測(cè)器Faster R-CNN 為基礎(chǔ),同時(shí)也與一些目前的跨域檢測(cè)方法包括DA Faster[17],DTPL[14],DM[15],MAF[19],FAFR-CNN[20],ST[34],Strong-Weak[35],SCDA[36]進(jìn)行比較,這些方法的結(jié)果引用于文獻(xiàn)[35,36].
在實(shí)驗(yàn)中,我們?cè)O(shè)置batch size 為1,初始學(xué)習(xí)率為0.001,每5 個(gè)周期乘以0.1,共訓(xùn)練20 個(gè)周期.優(yōu)化器采用隨機(jī)梯度下降(SGD),動(dòng)量設(shè)置為0.9,權(quán)重衰減設(shè)為0.0001.對(duì)于所有實(shí)驗(yàn),我們采用PASCAL VOC的閾值0.5 作為評(píng)估標(biāo)準(zhǔn).關(guān)于超參數(shù),設(shè)置 α=0.2.所有場(chǎng)景基礎(chǔ)網(wǎng)絡(luò)部分都采用ResNet.
在這一部分,我們展示在3 個(gè)場(chǎng)景的實(shí)驗(yàn)結(jié)果并作出詳細(xì)分析.
場(chǎng)景1.考察真實(shí)圖像與藝術(shù)風(fēng)格圖像的域適應(yīng).采用PASCAL VOC 作為源域,WaterColor 作為目標(biāo)域?qū)嶒?yàn)過(guò)程中,將ResNet 在ImageNet[10]上預(yù)訓(xùn)練,然后作為基礎(chǔ)特征網(wǎng)絡(luò).候選區(qū)目標(biāo)的數(shù)目是128,每個(gè)維度是2304.表1表明我們的方法超出所有方法至少1.0 MAP,表明該方法在真實(shí)圖像到藝術(shù)風(fēng)格圖像這種域偏移較大的場(chǎng)景上表現(xiàn)良好,尤其相比于DTPL 和DM 這兩個(gè)同樣采用風(fēng)格遷移技術(shù)的方法,我們的方法流程更簡(jiǎn)單,效果更好.同時(shí)可以看到,DA Faster 相比于Faster R-CNN 提升有限,而DTPL 和DM 等基于圖像轉(zhuǎn)換的方法效果突出,表明對(duì)于域風(fēng)格差異較大的場(chǎng)景,圖像轉(zhuǎn)換可以起到良好作用.
表1 PASCAL VOC 到WaterColor 的域適應(yīng)結(jié)果
場(chǎng)景2.這個(gè)場(chǎng)景中考察正常天氣到霧天下的表現(xiàn).我們用CityScape 作為源域,FoggyCityScape 作為目標(biāo)域.如表2所示,我們提出的方法與表現(xiàn)最佳的DM 相差無(wú)幾.這一結(jié)果表明我們的方法在兩個(gè)域不相似和相似時(shí)都能表現(xiàn)良好.在這一設(shè)置中,DA Faster和FAFR-CNN 相比于Faster R-CNN 分別帶來(lái)7.3 和11.0MAP.相比于Strong-Weak,我們的方法在這一場(chǎng)景下表現(xiàn)不如場(chǎng)景1,這表明在域偏移較小時(shí)關(guān)注全局對(duì)齊就能有效緩解域偏移.
表2 CityScape 到FoggyCityScape 的域適應(yīng)結(jié)果
場(chǎng)景3.這里,我們?cè)u(píng)估我們的方法在合成圖像到真實(shí)圖像上的域適應(yīng)效果.我們采用Sim10K 作為源域.至于目標(biāo)域,我們采用Cityscape.兩個(gè)域都是駕駛場(chǎng)景,但是在光照,視角上有明顯不同.相比于場(chǎng)景2,域偏移更大.結(jié)果展示在表3.在這一場(chǎng)景中,我們的方法相比于Strong-Weak DA 有1.4MAP 的提升,與FAFR-CNN 效果相當(dāng).僅低于最好的方法SCDA.
表3 CityScape 到SIM10K 的域適應(yīng)結(jié)果
這一部分,我們執(zhí)行一些消融試驗(yàn)以分析一些超參數(shù)和模型中不同模塊的影響,所有實(shí)驗(yàn)采用PASCAL VOC 到WaterColor 這一場(chǎng)景.
α的影響結(jié)果展示在表4中,我們采用場(chǎng)景2 進(jìn)行實(shí)驗(yàn).我們嘗試了不同的參數(shù)設(shè)置,發(fā)現(xiàn)最好的結(jié)果是0.2.
表4 權(quán)重因子α 的影響
在本文中,我們提出來(lái)一個(gè)新穎的方法,可以將圖像風(fēng)格遷移與目標(biāo)檢測(cè)放在一個(gè)統(tǒng)一的框架中,并進(jìn)行端到端的訓(xùn)練,簡(jiǎn)化了訓(xùn)練流程.在標(biāo)準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)驗(yàn)證了所提出方法的有效性.后面的工作中我們會(huì)把重點(diǎn)放在圖像風(fēng)格遷移模塊的改進(jìn)以及尋求風(fēng)格遷移模塊與檢測(cè)模塊如何更好地融合,更好地提高在目標(biāo)域上的泛化性能.