吳澤遠,朱 明
(中國科學技術大學 信息科學技術學院,合肥 230026)
目標檢測是計算機視覺領域最基礎的問題,對許多現實應用如自動駕駛[1],視頻監控[2]十分重要,其目標是對圖像中的物體進行定位并識別出類別.隨著卷積神經網絡的進展,基于卷積神經網絡的方法[3-8]在目標檢測標準數據集[9-11]上取得了明顯進步.盡管效果顯著,真實世界中目標檢測仍然面臨著數據的視角,外觀,背景,光照等方面的巨大差異,即訓練數據(源域)和測試數據(目標域)分布不同,導致訓練好的模型泛化性較差,這一問題稱為域偏移問題.為某個特定場景建立大型數據集是一個可行的辦法,但是收集數據并標注是一個非常耗費人力和時間的事.
為了處理這個問題,一個具有吸引力的辦法是無監督域適應[12],即將在源域上訓練的模型用于目標域,卻不需要對目標域進行數據標注.最近,基于對抗的域適應方法[13-21]取得了不錯的結果,這一類方法基于生成對抗網[22],基本思想是訓練一個判別器用來區分特征來自源域還是目標域,同時訓練生成器用來欺騙判別器,使其難以區分.
然而,上述基于對抗網絡的方法有幾點缺陷:1)這些方法通常對數據域的整體進行對齊,而忽略了每個類的語義信息,結果導致即便整個域可以完美地對齊,來自不同域的同一類別物體在特征空間中也可能相隔很遠;2)之前的檢測方法通常沒有考慮目標之間的關系,而上下文關系[23]對于目標的檢測具有重要幫助.
為了處理上述問題,本文設計了基于類別中心和關系感知的跨域檢測網絡.在該網絡中我們設計了3個機制,包括域級別對齊,關系感知和類別中心對齊.其中域級別對齊采用前面基于對抗方法的思路,對兩個域從整體進行對齊.關系感知采用圖卷積的方式,將檢測網絡提取出的目標作為節點,以目標之間的相似度作為邊,構建圖來更新特征.類別中心對齊中我們將每一類目標的均值作為類別中心,對兩個域的同一類別中心進行對齊.
本文設計的網絡同時考慮了域信息,類別信息,目標間的關系信息,在4個標準數據集上取得了相當甚至超過最佳方法的結果.
目標檢測通常分為兩類,包括兩階段方法和單階段方法.兩階段方法主要有文獻[3-5],這類方法通常采用區域候選網絡[3](RPN)和區域池化模塊[3](ROI Pooling)提取目標特征,然后送入后續的分類器和回歸器進行分類和位置回歸.與之相比,單階段網絡[6-8]更加簡單和快速,他們直接回歸輸出目標的類別和位置,當然,相比于兩階段方法,單階段在追求速度的同時也犧牲了精度.然而,這些方法通常用于常規檢測,無法處理域偏移問題.本文選取Faster R-CNN[3]作為基礎檢測器,并且改善其泛化性能.
文獻[13]在圖像級別和目標級別分別設計判別器達到域適應的目的.文獻[14]在圖像級層面設置多層判別器,以增強對齊效果.在文獻[17]中,Raj等人通過子空間對齊對檢測器進行域適應.文獻[18]通過CycleGAN[24]將源域圖像轉換為目標域圖像,并在轉換后的圖像上訓練檢測器.文獻[19]通過成對機制對目標域的樣本進行增強,并且在圖像級和目標級上分別對齊.文獻[20]在特征提取網絡的底層特征圖和高層特征圖分別對齊,并且對高層特征圖采用Focal Loss[25],專注于難分樣本.與上述方法相比,本文方法的不同之處在于將關系信息和類別信息考慮進來.
圖卷積神經網絡的目的是對圖結構數據應用卷積神經網絡.通??煞譃樽V域方法和空域方法.譜域方法[26,27]從信號處理的角度利用圖傅里葉變換在譜域執行卷積運算.空域圖卷積方法[28,29]從空間位置的角度出發更新節點,他們通過對中心節點和鄰居節點進行聚合完成節點更新,本文將目標作為節點,目標間的相似度作為邊,屬于空域方法.

本文設計的網絡架構如圖1所示.來自于源域和目標域的兩張圖像分別被送入網絡G中提取特征.與之前的許多工作一樣,我們在提取好的特征圖上添加判別器以期達到域整體對齊的目的.為了方便起見,我們在圖中畫了兩個RPN模塊,實際上,它們是同一個模塊.經過RPN和ROI Pooling模塊,獲得兩組目標特征,PS,PT∈RNxD分別來自源域和目標域,其中,N是目標的數量,D是每個目標的維度,然后,我們把這兩組目標分別送入關系感知模塊,目的是更新每個目標特征,使其注意到上下文關系.最后,利用Faster R-CNN中最后的分類器對更新后的目標進行分類,對屬于同一類的目標進行平均作為類別中心,并且送入類別中心對齊模塊.網絡總的損失包括類別中心對齊的損失和源域數據送入檢測器的檢測損失.

圖1 網絡結構圖
之前的檢測網絡通常對RPN輸出的目標單獨處理,進行分類和回歸,而目標間的關系信息對于理解目標至關重要.本文通過關系感知模塊對目標間的關系進行建模并更新目標.下面,本文將以一個數據域為例,另一個域實現同理.
具體而言,本文會使用目標候選區作為節點建立一個圖,G=(V,E),其中V∈RNxD是頂點集合,由目標P組成,E∈RNxD是邊的集合,本文定義邊為節點類別輸出的相似度,相似度采用點積計算,節點的類別輸出即檢測網絡中最后分類器的輸出.
此時,頂點集合V為二維矩陣,邊集合E也為二維矩陣,本文首先對E的對角線置零,然后對每一行歸一化,這樣做的目的是對節點周圍鄰居加權求和.最后,利用矩陣乘法操作更新目標特征.
PS=ESVS
(1)
PT=ETVT
(2)
其中,PS代表源域中每個節點對鄰居節點的加權求和結果,PT代表目標域中的結果.
更新目標特征后,需要計算當前批數據中每一類的類別中心,具體做法是根據分類器給出的類別進行分類,對每一類目標進行平均,平均結果作為該類的類別中心.
由于一批數據中不一定存在所有類別,即可能存在類別缺失,另一方面僅僅利用一批數據進行類別中心的計算很容易存在誤差,故對于類別中心本文采用滑動平均的方式,對當前得到的類別中心與歷史類別中心加權求和.
(3)
(4)

(5)
其中,k是類別數,φ是距離函數,這里采用L2損失.通過顯式地約束不同域中同樣類別中心的距離,本文可以使得屬于同一類的目標在高維空間中更加聚集.
總的來說,為了實現跨域目標檢測,我們同時把檢測損失,域對齊損失,類別中心對齊損失考慮在內,總的損失函數定義見公式(6):
L=Ldet+γLdα+σLC
(6)
其中,Ldet代表檢測損失,Ldα代表域對齊損失,LC代表類別中心對齊損失,γ與σ為平衡因子,檢測損失定義見公式(7):
Ldet=E(x,y)~Ds[J(x,y)]
(7)
J包括RPN網絡的損失,最終的分類損失和回歸損失.Ldα代表域對齊損失,如公式(8)所示:
Ldα=Ex~Ds[log(1-D°G(x))]+Ex~Dr[D°G(x)]
(8)
其中,D代表域分類器,G代表生成器,在域分類器前插入了梯度反轉層[30](GRL),可以簡化訓練,不需要分別訓練生成器和判別器.
在這一部分,首先闡述使用的數據集,評估場景,基線方法和實驗細節,然后給出實驗結果和相應分析.最后,給出消融實驗結果.
為了驗證所提出方法的有效性,我們利用下列數據集構建域適應場景并執行了實驗:1)PASCAL VOC[10]這個數據集包含20類物體和相應的標注框.參考之前的方法,本文將PASCAL VOC 2007和2012訓練集和驗證集用于訓練,總共15000張圖片;2)WaterColor[15]WaterColor包含水彩圖像,共2K張圖像,6類物體,包含于PASCAL VOC的20類物體.1K張用于訓練,1K張用于測試;3)Sim10K[31]這個數據集包含合成的駕駛場景圖像,共10K張圖像,全部收集于計算機游戲Grand Theft Auto.遵從文獻[20]的做法,只在汽車這一目標上進行檢測;4)CityScape& FoggyCityScape[32,33]CityScape中的圖像由車載相機捕捉而來,FoggyCityScape是利用CityScape添加霧噪聲合成得到.兩個數據集都有2975張訓練圖像和500張測試圖像.
本文建立的域適應場景包括:1)場景1:PASCAL VOC到WaterColor;2)場景2:CityScape到FoggyCityScape;3)場景3:Sim10K到CityScape.這里,場景1用于捕捉真實數據到藝術風格數據的偏移,場景2用于捕捉正常天氣到霧天的偏移,場景3用于捕捉合成圖像到真實數據的偏移.
本文的方法以兩階段檢測器Faster R-CNN為基礎,同時也與一些目前優秀的跨域檢測方法包括DA Faster[13],MAF[14],DTPL[15],ST[16],DM[18],FAFR-CNN[19],Strong-Weak[20],SCDA[21]進行比較,這些方法的結果引用于文獻[19-21].
在實驗中,設置圖像的短邊為600像素,batch size為1,初始學習率為0.001,每5個周期乘以0.1,共訓練20個周期.優化器采用隨機梯度下降(SGD),動量設置為0.9,權重衰減設為0.0001.采用一塊GeForce Titan XP用于訓練.對于所有實驗,采用PASCAL VOC的評估標準,意味著采用閾值為0.5的MAP來評估所有方法.關于超參數,α=0.9,σ=0.2,γ=1.0.
這一部分展示在3個場景的實驗結果并作出詳細分析.
場景1.本文展示真實圖像與藝術風格圖像的跨域檢測結果.具體地,采用PASCAL VOC作為源域.對于目標域,采用WaterColor.實驗過程中,采用在ImageNet[9]上預訓練好的ResNet101[34]作為基礎特征網絡.候選區目標的數目是128,維度是2304.根據表1,本文的方法超出所有方法至少4.0MAP,表明本文的方法在真實圖像到藝術風格圖像這種域偏移較大的場景上表現良好,本文認為關系信息和類別信息對于較大域偏移場景可以起到重要作用,可以看做對僅考慮圖像級對齊或實例級對齊方法的有效補充.DA Faster相比于Faster R-CNN提升有限,而DTPL和DM等基于圖像轉換的方法效果突出,表明對于域風格差異較大的場景,圖像轉換可以起到良好作用.

表1 PASCAL VOC到WaterColor的域適應結果
場景2.在這個場景中,本文的目的是分析本文的方法在正常天氣到霧天下的表現.用CityScape作為源域,FoggyCityScape作為目標域.參考Strong-Weak中的設置,本文采用VGG16[35]作為基礎特征網絡,候選區目標的數目設為256,維度設為4352.如表2所示,本文提出的方法超出所有方法.這一結果表明我們的方法在兩個域不相似和相似時都能表現良好.在這一設置中,DA Faster和FAFR-CNN相比于Faster R-CNN分別帶來7.3和11.0MAP.相比于MAF,Strong-Weak和DM,我們的增益分別是1.0MAP,0.7MAP和0.4MAP.這表明在域偏移較小時關系信息和類別信息只能帶來有限的增益,因為兩個域之間的唯一差異是天氣,關注全局對齊就能有效緩解域偏移.

表2 CityScape 到FoggyCityScape的域適應結果
場景3.這里,評估本文的方法在合成圖像到真實圖像上的域適應效果.采用Sim10K作為源域.至于目標域,采用Cityscape.兩個域都是駕駛場景,但是在光照,視角上有明顯不同.相比于場景2,域偏移更大.結果展示見表3.在這一場景中,本文的方法相比于Strong-Weak DA有1.3MAP的提升,與FAFR-CNN效果相當.但是低于SCDA 1.6MAP,本文認為在這一場景中,僅有汽車這一類目標需要考慮,如果利用關系感知模塊更新特征,極有可能收到假正例即背景的干擾,從而導致特征更差.但是相比于SCDA,我們的優勢是不需要額外的參數,前者需要兩個生成器和判別器,為訓練帶來負擔.

表3 Sim10k到CityScape的域適應結果
這一部分,本文執行一些消融試驗以分析一些超參數和模型中不同模塊的影響,所有實驗采用PASCAL VOC到WaterColor這一場景.
1)σ的影響.結果展示在表4中,采用場景2進行實驗.我們嘗試了不同的參數設置,發現最好的結果是0.2.

表4 不同σ對PASCAL VOC到WaterColor的影響實驗表
2)3個組件的影響.這里我們執行了幾個實驗以分析方法中不同組件的影響.結果展示見表5,可以觀察到域對齊可以為Faster RCNN帶來5.5MAP,關系感知模塊和類別中心對齊分別帶來2.9MAP和5.8MAP的增益,三者的結合可以帶來最好的結果.

表5 不同組件對PASCAL VOC到WaterColor的影響實驗表
在本文中,我們提出了一個新穎的方法,可以同時建模域信息,類別信息和關系信息在一個統一的框架中.為了魯棒地匹配源域和目標域的分布,我們設計了3種有效機制,包括域對齊,關系感知和類別中心對齊.3種機制互相補充并學習到域不變的特征表達.在標準數據集上的實驗驗證了所提出方法的有效性.