胡杰,徐博遠(yuǎn),熊宗權(quán),昌敏杰,郭迪,謝禮浩
(1.武漢理工大學(xué),現(xiàn)代汽車零部件技術(shù)湖北省重點實驗室,武漢430070;2.武漢理工大學(xué),汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,武漢430070;3.武漢理工大學(xué),湖北省新能源與智能網(wǎng)聯(lián)車工程技術(shù)研究中心,武漢430070)
目標(biāo)檢測是計算機視覺中一項基本且具有挑戰(zhàn)性的任務(wù),可應(yīng)用在許多領(lǐng)域,例如自動駕駛、機器人視覺和人機交互。深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展促進了目標(biāo)檢測算法性能的提升。YOLO、Faster-RCNN等基于深度學(xué)習(xí)的目標(biāo)檢測算法通常假設(shè)訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)來自相同分布,這些檢測模型依賴于大量帶注釋的訓(xùn)練樣本,而在實際中,標(biāo)注大量數(shù)據(jù)所耗費的人力成本較高。針對深度學(xué)習(xí)目標(biāo)檢測算法對標(biāo)注數(shù)據(jù)的依賴問題,無監(jiān)督域自適應(yīng)目標(biāo)檢測作為解決這個問題的有效方法,最近越來越受到學(xué)術(shù)界、工業(yè)界的關(guān)注。
域自適應(yīng)(domain adaptation)是轉(zhuǎn)導(dǎo)遷移學(xué)習(xí)的一個子問題。遷移學(xué)習(xí)是指兩個不同領(lǐng)域的知識遷移過程,利用源領(lǐng)域中學(xué)習(xí)到的知識來幫助目標(biāo)領(lǐng)域上的學(xué)習(xí)任務(wù)。遷移學(xué)習(xí)根據(jù)遷移方式不同可以分為歸納遷移學(xué)習(xí)和轉(zhuǎn)導(dǎo)遷移學(xué)習(xí)。轉(zhuǎn)導(dǎo)遷移學(xué)習(xí)是一種從樣本到樣本的遷移,直接利用源領(lǐng)域和目標(biāo)領(lǐng)域的樣本進行遷移學(xué)習(xí)。在域自適應(yīng)問題中,一般假設(shè)源領(lǐng)域和目標(biāo)領(lǐng)域有相同的樣本空間,但是數(shù)據(jù)分布不同。目前大多數(shù)域自適應(yīng)問題聚焦于由協(xié)變量偏移造成的數(shù)據(jù)分布不同,即源領(lǐng)域和目標(biāo)領(lǐng)域的輸入邊際分布不同,但后驗分布也即學(xué)習(xí)任務(wù)相同。
目前,一些無監(jiān)督域自適應(yīng)(unsupervised domain adaptation,UDA)方法被用于解決數(shù)據(jù)集偏差問題,這些方法中大部分是基于特征或者圖像分布的域不變對齊。最近的方法有使用比如對抗學(xué)習(xí)來對齊源域和目標(biāo)域分布。這些方法根據(jù)已有的理論結(jié)果,指出可通過限制域之間的差異大小來部分地限制泛化誤差。因此,傳統(tǒng)觀點認(rèn)為必須完全對齊域之間分布。但是在目標(biāo)檢測領(lǐng)域,由于目標(biāo)檢測中各域的目標(biāo)類別、位置、大小和數(shù)量等不盡相同,完全對齊域的分布可能會損害檢測器檢測目標(biāo)的性能,產(chǎn)生域的負(fù)遷移現(xiàn)象。
在之前的一些方法中,例如,DA-FasterRCNN,它在圖像級上和實例級上分別使用域分類器進行域之間的分布對齊,其中圖像級上的域?qū)R在全局圖像尺度上進行對齊。雖然它可能適用于僅影響對象外觀或者紋理的域偏移(比如天氣上的偏移),但在目標(biāo)檢測領(lǐng)域,在全局圖像尺度上對目標(biāo)數(shù)量、類別、位置等域偏移強制進行域?qū)R可能會損害檢測器檢測目標(biāo)信息的性能。比如源域中,圖像可能包含的是單個較大對象,位于圖像某個位置,而在目標(biāo)域中,圖像可能包含多個較小對象,分布在圖像各個位置。在這種情況下進行整個圖像上的域?qū)R會影響檢測器的性能。但同時,對對象外觀或者紋理的域偏移影響較小,在大多數(shù)情況下會提高檢測器的檢測性能。這就是域可辨性與不變性之間的矛盾所在。文獻[20]中提出了區(qū)域級域自適應(yīng)框架,為了解決“看哪里”和“如何對齊”的問題,設(shè)計了兩個關(guān)鍵組件,區(qū)域挖掘和可調(diào)整的區(qū)域級域適應(yīng)。文獻[21]中提出了一種自我培訓(xùn)框架,該框架在相互學(xué)習(xí)過程中利用對抗學(xué)習(xí)和弱-強數(shù)據(jù)增強來解決領(lǐng)域轉(zhuǎn)移問題。文獻[22]中證明經(jīng)過對抗訓(xùn)練的目標(biāo)檢測器在顯著偏離源域的目標(biāo)域中可實現(xiàn)更好的檢測性能,同時提出了一種結(jié)合對抗性訓(xùn)練和特征對齊的方法,以確保源域和目標(biāo)域的更好對齊。上述方法都沒有聚焦于域可辨性和不變性之間的矛盾問題。而文獻[23]中提出將類別信息引入實例級域分類器進行域?qū)R,其對每個實例特征在實例級各個域分類器中損失函數(shù)的權(quán)重取為預(yù)測器預(yù)測實例特征在對應(yīng)各個類別上的概率值。但預(yù)測器對實例特征非最終預(yù)測類別的其他類別的預(yù)測概率沒有進行直接約束,這種權(quán)重取值方法可能導(dǎo)致最后并沒有緩解域可辨性與不變性之間的矛盾。
在DA-FasterRCNN中,在全局特征上僅僅只對網(wǎng)絡(luò)某一層所提取的特征進行域?qū)R,而并沒有在多個尺度上對特征進行域?qū)R。這樣可能會錯過其他中間層包含的豐富域信息,例如不同尺度的域位移。
為解決上述多尺度問題與域可辨性和不變性之間的矛盾問題,本文中提出了一種多尺度掩碼分類域自適應(yīng)網(wǎng)絡(luò)(multi-scale mask and clas-sification network,MMCN)。該網(wǎng)絡(luò)在保持域的可辨性的前提下,充分利用多層次的信息,并使網(wǎng)絡(luò)盡可能地提取出域不變信息,創(chuàng)新點如下。
(1)提出多尺度模塊,在多個網(wǎng)絡(luò)層上進行全局圖像尺度上的域?qū)R,旨在對不同尺度的目標(biāo)進行域分布對齊,減少域偏移。
(2)提出區(qū)域提議掩碼模塊,在中間特征層上插入掩碼來保持域的可辨性,之后再對加入掩碼后的中間特征層進行域?qū)R,即可在保持域的可辨性前提下,使網(wǎng)絡(luò)提取出域不變信息,從而緩解完全對齊域分布對檢測器性能的損害。
(3)提出補充信息模塊,在中間特征層經(jīng)過區(qū)域提議掩碼模塊后,對中間特征層進行卷積操作,提取出全局圖像上的域不變信息(例如圖像風(fēng)格、光照、紋理),補充給實例特征。使實例級上的域分類器聚焦于實例間的域偏移。
(4)提出實例分類域?qū)R模塊,對每個類別的實例單獨進行域?qū)R,并將非此類別實例特征以一定的固定權(quán)值作為補充樣本進行補充。旨在緩解域的可辨性和不變性之間的矛盾。
假設(shè)一個深度學(xué)習(xí)的樣本空間為×,其中為輸入空間,為輸出空間也即標(biāo)簽空間。其中是一個有限集即標(biāo)簽有限,∈為輸入樣本,為標(biāo)簽空間中的一些標(biāo)簽。假設(shè)在×中存在(,)和(,)兩種分布,其中(,)為源分布,(,)為目標(biāo)分布。定義域標(biāo)簽為,源域標(biāo)簽為0,目標(biāo)域標(biāo)簽為1,下標(biāo)表示第個輸入樣本,則當(dāng)d=0時x∈(),當(dāng)d=1時x∈()。則深度學(xué)習(xí)模型目標(biāo)是對于目標(biāo)域樣本,能夠預(yù)測出相應(yīng)標(biāo)簽。
定義一個深度前饋網(wǎng)絡(luò),此網(wǎng)絡(luò)對輸入預(yù)測其類別標(biāo)簽∈和域標(biāo)簽={0,1},網(wǎng)絡(luò)可分為3部分即特征提取器、標(biāo)簽預(yù)測器和域分類器。特征提取器通過映射函數(shù)G將輸入映射為即=G(;θ),其中θ為映射函數(shù)G的參數(shù)。標(biāo)簽預(yù)測器通過映射函數(shù)G將特征映射為標(biāo)簽即=G(;θ),其中θ為映射函數(shù)G的參數(shù)。域分類器通過映射函數(shù)G將特征映射為域標(biāo)簽即=G(;θ),其中θ為映射函數(shù)G的參數(shù)。
在網(wǎng)絡(luò)訓(xùn)練期間,需學(xué)習(xí)參數(shù)θ使得域分類器損失最大化,即使網(wǎng)絡(luò)學(xué)習(xí)到源域和目標(biāo)域之間的域不變特征;同時需要學(xué)習(xí)參數(shù)θ使得域分類器的損失最小化,保證域分類器的分類性能,這與前者形成了對抗;并學(xué)習(xí)參數(shù)θ和θ使得標(biāo)簽預(yù)測器損失最小化。因此最終損失函數(shù)如下:
式中:為總損失函數(shù);L為標(biāo)簽預(yù)測器損失函數(shù);L為域分類器損失函數(shù);為平衡預(yù)測器損失和域分類器損失的超參數(shù)。
網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1所示,本文以Faster RCNN為基礎(chǔ)框架,所提出的網(wǎng)絡(luò)包含了多尺度、區(qū)域提議掩碼、補充信息和實例分類域?qū)R4個模塊。多尺度模塊在主干網(wǎng)絡(luò)中多個網(wǎng)絡(luò)層進行域?qū)褂?xùn)練,充分利用中間層的域信息,區(qū)域提議掩碼模塊加入?yún)^(qū)域提議網(wǎng)絡(luò)(region proposal network,RPN)提取出的區(qū)域提議作為掩碼,以保持域的可辨性,在此前提下做域自適應(yīng)。補充信息模塊將進行域自適應(yīng)的各個中間層進行前向傳播與實例特征進行結(jié)合,使實例級的域分類器聚焦于分辨實例之間的域遷移。實例分類域?qū)R模塊將Faster R-CNN的類別預(yù)測信息引入實例域分類器中,對每個類別分別進行域自適應(yīng)以緩解域的可辨性和不變性之間的矛盾。
圖1 MMCN算法框架圖
無監(jiān)督域自適應(yīng)目標(biāo)檢測一般定義源域為,目標(biāo)域為。在源域中,目標(biāo)類別和目標(biāo)位置信息已知,而在目標(biāo)域中,標(biāo)注信息是未知的。={(,y)},其中∈R代指圖像,y則代指圖像對應(yīng)的邊界框信息和類別信息,為圖像索引。每個標(biāo)簽y=(,),為類別標(biāo)簽,c指代類別?!蔙為一個4維的邊界框信息。對于目標(biāo)域僅有圖像即={},其中t指代目標(biāo)域。
首先在主干網(wǎng)絡(luò)的多個中間層構(gòu)建一個分層的域分類器庫,定義以為目標(biāo)檢測器的主干網(wǎng)絡(luò),本文 中 采 用 梯 度 反 轉(zhuǎn) 層(gradient reversal layer,GRL)來進行對抗訓(xùn)練,梯度反轉(zhuǎn)層位于主干網(wǎng)絡(luò)和域分類器之間。在神經(jīng)網(wǎng)絡(luò)進行反向傳播時,梯度反轉(zhuǎn)層會將域分類器通往主干網(wǎng)絡(luò)的梯度反轉(zhuǎn)。將第個中間層的特征圖B∈R送入梯度反轉(zhuǎn)層,然后送入域分類器中進行源域和目標(biāo)域的分類。域分類器采用全卷積結(jié)構(gòu),網(wǎng)絡(luò)層全為卷積層。源域的標(biāo)簽為0,目標(biāo)域的標(biāo)簽為1。
與DA-FasterRCNN只在主干網(wǎng)絡(luò)的最后一層進行全局圖像尺度上的域自適應(yīng)不同,本文中提出在主干網(wǎng)絡(luò)的多個中間層進行域?qū)褂?xùn)練,在多個尺度上減少實例的域偏移,并采用VGG-16的主干網(wǎng)絡(luò),見圖2,使用第6、9、13個卷積層后的特征圖作為進行域?qū)褂?xùn)練的中間層。
圖2 多尺度模塊
另外為了緩解域的不變性與可辨性之間的矛盾,在RPN提取出區(qū)域提議之后,在做域自適應(yīng)的中間特征圖上加入?yún)^(qū)域提議掩碼,如圖3所示,每個掩碼與對應(yīng)的特征圖大小一致,區(qū)域提議在中間特征圖上對應(yīng)的映射區(qū)域值為0,中間特征圖上其他區(qū)域值為1。得到區(qū)域提議掩碼之后,將掩碼與對應(yīng)的中間特征圖進行點乘,即保持了域的可辨性(目標(biāo)信息)。然后再對加入掩碼后的中間特征圖進行域?qū)褂?xùn)練,提取出域不變信息。
圖3 區(qū)域提議掩碼模塊
為能在多個尺度上對實例進行域?qū)褂?xùn)練,提 取出實例的域不變信息。MMCN網(wǎng)格不在所有中間特征層上都加入?yún)^(qū)域提議掩碼。本文中,在第2個中間層上加入掩碼,具體實驗細(xì)節(jié)見第2部分實驗與分析。
在中間特征層上加入?yún)^(qū)域提議掩碼之后,域自適應(yīng)中間特征層整體更偏向于提取出全局圖像上的域不變特征(例如圖像風(fēng)格、光照、紋理),因此,如圖4所示,將這些特征進行前向傳播,然后與全連接層之后的實例特征進行拼接操作,讓實例級的域分類器能夠更專注于實例之間的域偏移(大小、遮擋等)。
圖4 補充信息模塊
在主干網(wǎng)絡(luò)提取出全局圖像上的域不變特征后,在實例級上對實例特征進行域?qū)褂?xùn)練,減小實例間的域偏移(大小、遮擋等)。在目標(biāo)檢測中,目標(biāo)通常有多個類別數(shù)。在進行實例級上的域?qū)R時,以往的模型是在對RPN提取出的所有區(qū)域提議在一個實例域分類器上進行域?qū)褂?xùn)練,也即將所有類別的實例特征在一個實例域分類器上進行域自適應(yīng)。這樣將不同類別的實例特征強制進行域?qū)R,不能保證目標(biāo)檢測中域的可辨性,產(chǎn)生域負(fù)遷移現(xiàn)象,損害目標(biāo)檢測器性能。
因此,本文中提出實例分類域?qū)R模塊,如圖5所示,在實例級上訓(xùn)練多個域分類器,每個域分類器單獨對一個類別的實例特征進行域?qū)褂?xùn)練。在RCNN預(yù)測出每個實例特征的類別信息后,利用類別信息,將實例特征分類并送入相應(yīng)類別的域分類器中進行訓(xùn)練,同時為了避免實例級域分類器的訓(xùn)練樣本不足,將同一圖像的所有實例特征除了送入某一實例級域分類器的實例特征之外的實例特征以一定權(quán)重作為負(fù)樣本補充給域分類器,具體實驗見下一節(jié)。這樣在保證域可辨性的前提下,使得網(wǎng)絡(luò)盡可能學(xué)習(xí)到域不變特征,緩解了兩者之間的矛盾。
圖5 實例分類域?qū)R模塊
因此這里訓(xùn)練了與類別相關(guān)的域分類器,針對每個類別單獨進行域?qū)褂?xùn)練,以實例特征的類別預(yù)測信息作為輔助信息,盡可能地保證了域的可辨性,減少了域的負(fù)遷移現(xiàn)象。同時為了使域?qū)褂?xùn)練有充足的樣本,將非此類實例特征作為負(fù)樣本進行補充,并對負(fù)樣本進行適當(dāng)?shù)臋?quán)值分配,使域分類器能提取出有效的域不變信息。
MMCN網(wǎng)絡(luò)各域分類器損失函數(shù)的采用如下所述。
圖2中特征圖1處的域分類器損失函數(shù)遵循文獻[26],采用均方誤差損失。這個損失函數(shù)穩(wěn)定了域分類器的訓(xùn)練,且能夠促進對齊低級特征:
式中:(,)為區(qū)域提議掩碼上點的坐標(biāo),忽略了深度;A為RPN網(wǎng)絡(luò)在第張圖像上提取出的區(qū)域提議在第個中間層上的映射的集合。
圖2中特征圖2處的域分類器損失函數(shù)采用交叉熵?fù)p失函數(shù),交叉熵?fù)p失衡量一個分類模型的性能,該模型的輸出是一個概率值,它隨著預(yù)測概率偏離實際標(biāo)簽而增加,公式如下:
圖2中特征圖3處的域分類器損失函數(shù)采用Focal Loss。Focal Loss使分類器在訓(xùn)練過程中能比簡單樣本更聚焦于分類困難樣本,以提高分類器性能,其公式如下:
式中為Focal Loss中聚焦參數(shù),以控制困難樣本在損失中所占的比例。
本文所提網(wǎng)絡(luò)的基礎(chǔ)框架是Faster R-CNN。目前大多數(shù)域自適應(yīng)目標(biāo)檢測工作用的都是這個檢測框架。整個目標(biāo)檢測的損失可總結(jié)為
式中:為RPN網(wǎng)絡(luò)的損失;為Faster R-CNN中分類損失;為Faster R-CNN中邊界框回歸損失。
式中:p為錨框預(yù)測為真實標(biāo)簽的概率;t為預(yù)測錨框的邊界框回歸參數(shù);為錨框?qū)?yīng)真實目標(biāo)的邊界框回歸參數(shù)。
式中:為類別預(yù)測概率;為真實類別;p為類別的預(yù)測概率;t為對應(yīng)邊界框回歸器預(yù)測的對應(yīng)類別的回歸參數(shù);為對應(yīng)真實目標(biāo)的邊界框回歸參數(shù)。
整個網(wǎng)絡(luò)的損失函數(shù)為
式中:為平衡Faster R-CNN損失和域分類器損失的超參數(shù);為區(qū)域提議網(wǎng)絡(luò)和Faster R-CNN預(yù)測器模塊。整個網(wǎng)絡(luò)可以用標(biāo)準(zhǔn)的隨機梯度下降(stochastic gradient descent,SGD)來進行端到端的訓(xùn)練,網(wǎng)絡(luò)的域自適應(yīng)的對抗訓(xùn)練部分則通過GRL層來實現(xiàn),GRL層可以在反向傳播過程中自動反轉(zhuǎn)梯度,而在推理過程中,域自適應(yīng)組件可以移除,只采用原始的目標(biāo)檢測部分即Faster R-CNN框架進行檢測即可。
為便于比較,根據(jù)最近對域自適應(yīng)目標(biāo)檢測的研究,在良好天氣到霧天情況的域自適應(yīng)場景下對本文提出的方法進行評估。訓(xùn)練數(shù)據(jù)在良好天氣下采集,測試數(shù)據(jù)為合成的霧天數(shù)據(jù)。
在本文所有的實驗中,參照文獻[2],輸入圖片的寬度調(diào)整為600像素。采用SGD優(yōu)化器訓(xùn)練模型,初始學(xué)習(xí)率設(shè)置為0.001,每經(jīng)過50 000次迭代之后就將學(xué)習(xí)率降低10倍。本文中設(shè)置=2.0,=5.0。epoch=25,batchsize=1。參照文獻[26],所有消融實驗和對照實驗均在相同實驗條件下完成。
在目標(biāo)檢測領(lǐng)域中,以常用各類別平均精度的平均值(mean average precision,mAP)作為算法性能的評價指標(biāo),計算公式如下:
式中:為各類別單獨的平均精度(average precision);為檢測的類別數(shù)量。在某一類別下,根據(jù)模型檢測結(jié)果和數(shù)據(jù)集標(biāo)注計算出各個點在以類別精度(Presion)為縱坐標(biāo),類別召回率(Recall)為橫坐標(biāo)所形成的坐標(biāo)系中的坐標(biāo),并根據(jù)坐標(biāo)繪制出PR曲線。再對PR曲線進行平滑處理,即存在召回率為的點,其精度值為。取所有召回率大于的點中精度最大值為,并將值換成。PR曲線經(jīng)過平滑處理后,通過計算PR曲線下的面積得到這一類別AP。的計算公式如下:
式中:為圖片中各個類別的正確檢測(true positive)數(shù)量;為誤檢(false positive)數(shù)量;為漏檢(false negative)數(shù)量。
本文從Cityscapes到FoggyCityscapes來驗證所提出模型的有效性。Cityscapes作為本文的源域數(shù)據(jù)集,其數(shù)據(jù)符合良好天氣采集。該大型數(shù)據(jù)集包含來自50個不同城市場景中記錄的多種立體視頻序列,有20 000個弱注釋幀和5 000幀高質(zhì)量像素級注釋。在本文實驗中,采用數(shù)據(jù)集中具有以下類別標(biāo)注的實例作為模型訓(xùn)練和評估的樣本:人、騎手、汽車、貨車、公共汽車、火車、摩托車和自行車。
對于目標(biāo)域,本文采用FoggyCityscapes。它是一個合成的霧天場景數(shù)據(jù)集,模擬了真實場景中的霧。圖像使用來自Cityscapes的圖像和深度圖來進行渲染。FoggyCityscapes的語義標(biāo)注和數(shù)據(jù)拆分繼承自Cityscapes,適合對由天氣條件引起的主要變化進行研究。兩者都共有8個類別的3 475張圖片,其中2 975張圖片用于訓(xùn)練,剩下的500張圖片用來驗證。
在本實驗中,源域和目標(biāo)域分別為Cityscapes和FoggyCityscapes的訓(xùn)練集,然后將FoggyCityscaps的驗證集作為測試集來評估模型效果,數(shù)據(jù)集圖片如圖6所示。表1展示了本文和其他一些方法結(jié)果的對比,本文所提出方法的mAP最高,達(dá)40.8%,比Faster RCNN模型 高20.5個百分點,比DA-FasterRCNN高13.2個百分點,比Strong-Weak等其他域自適應(yīng)目標(biāo)檢測結(jié)果也較優(yōu),證明了算法改進的有效性。
表1 Cityscapes→FoggyCityscapes域自適應(yīng)目標(biāo)檢測結(jié)果
圖6 Cityscapes與FoggyCityscapes數(shù)據(jù)集圖片
為驗證MMCN網(wǎng)絡(luò)各個模塊的有效性,對各個模塊在Cityscapes到FoggyCityscapes數(shù)據(jù)集上進行消融實驗,實驗相關(guān)數(shù)據(jù)見表2~表4。
表2 非此類別負(fù)樣本損失所占權(quán)重消融實驗
當(dāng)不采用任何模塊時,網(wǎng)絡(luò)只在主干網(wǎng)絡(luò)輸出的特征層上和實例特征上進行域?qū)褂?xùn)練,網(wǎng)絡(luò)在數(shù)據(jù)集上測試結(jié)果mAP為31.7%。在此基礎(chǔ)上加入實例分類域?qū)R模塊后,mAP為34.7%,提高了3個百分點。而換上多尺度模塊后,mAP為36.5%,提高了4.8個百分點。由于區(qū)域提議模塊對中間特征層加入?yún)^(qū)域提議掩碼后,再從中間特征層提取出全局圖像上的域不變特征作為補充信息對實例特征進行補充,使實例級域分類器更聚焦于實例之間的域偏移,所以將區(qū)域提議模塊和補充信息模塊作為一個模塊進行消融實驗。根據(jù)表4區(qū)域提議掩碼位置消融實驗可知,在所有層上做區(qū)域提議掩碼時效果較差,因此選擇在多尺度模塊的基礎(chǔ)上加入?yún)^(qū)域提議掩碼模塊和補充信息模塊來驗證其有效性,測試結(jié)果如表5所示。由表可見,在多尺度模塊的基礎(chǔ)上加入?yún)^(qū)域提議掩碼模塊和補充信息模塊后mAP為39.9%,相較于只加多尺度模塊,提高了3.4個百分點。而在多尺度模塊的基礎(chǔ)上加入實例分類域?qū)R模塊后mAP為39.3%,比只加多尺度模塊,提高了2.8個百分點。由上述分析可以看出各個模塊的貢獻度。
表4 區(qū)域提議掩碼位置消融實驗
表5 各模塊消融實驗
對于實例級上的每個域分類器,非此類別的負(fù)樣本的損失所占權(quán)重的取值會對實驗結(jié)果產(chǎn)生影響。表2展示了不同權(quán)值對模型的影響,非此類別的負(fù)樣本的損失所占權(quán)重以0.1為間隔,從0.1升到0.9,同時網(wǎng)絡(luò)結(jié)構(gòu)不采用區(qū)域提議掩碼模塊和補充信息模塊。從表2和圖7中可以看出,當(dāng)權(quán)重取0.5時,網(wǎng)絡(luò)檢測精度最高。根據(jù)文獻[27]中所提出的檢測分類器的訓(xùn)練效果與訓(xùn)練損失有很大的關(guān)系,對于包含信息量少的負(fù)樣本不應(yīng)支配訓(xùn)練損失,否則無法得出一個對模型訓(xùn)練提供正確指導(dǎo)的損失。因此所取權(quán)重也不可過大,使得負(fù)樣本來占據(jù)損失的主要部分。最終本實驗其他類別的實例特征權(quán)值均采用0.5。
圖7 非此類別負(fù)樣本損失所占權(quán)重實驗結(jié)果
在實例分類域?qū)R模塊中,文獻[23]中對每個實例特征在實例級各個域分類器中損失函數(shù)的權(quán)重取為預(yù)測器預(yù)測實例特征在對應(yīng)各個類別上的概率值。其實例級域分類器損失函數(shù)采用交叉熵?fù)p失函數(shù)(見式(8))。根據(jù)文獻[32],交叉熵主要利用真實類別的信息來最大化似然性,而忽略了來自除真實類別外其他類別的信息。對其他類別并沒有直接約束。因此在訓(xùn)練過程中,預(yù)測器對實例特征預(yù)測類別概率,除真實類別概率外的其他類別概率可能較高甚至接近真實類別概率。那么在文獻[23]中某一類別的實例域分類器中屬于這一類別實例特征所占權(quán)重與不屬于這一類別實例特征所占權(quán)重可能相近,其結(jié)果并未緩解域可辨性與不變性之間的矛盾。因此本文對非此類別實例特征權(quán)重采取一定固定值,既能作為補充樣本對實例級域分類器進行補充,又不使得補充樣本占據(jù)損失主導(dǎo)地位,而未能緩解域可辨性與不變性之間的矛盾。在相同實驗條件下將表2中權(quán)值改為預(yù)測器的類別預(yù)測概率后進行對比實驗,實驗結(jié)果如表6所示。表明本文的權(quán)重取值方法更優(yōu)。
表6 對比實驗
在多尺度模塊中,主干網(wǎng)絡(luò)選擇的是VGG-16網(wǎng)絡(luò)。第13層為主干網(wǎng)絡(luò)的最后一層即輸出層,在此層上做全局尺度上的域?qū)R。對于前兩個中間層,為使所選取的中間層具有一定的語義信息,本文分別在VGG-16網(wǎng)絡(luò)的第2個到第3個maxpool之間即網(wǎng)絡(luò)的第5、6、7層和第3個到第4個maxpool之間即網(wǎng)絡(luò)的第8、9、10層中選擇前兩個中間層。實驗結(jié)果如表3所示,表明網(wǎng)絡(luò)的第6、9、13層做域?qū)R時網(wǎng)絡(luò)在數(shù)據(jù)集上測試精度最高。
表3 中間層位置消融實驗
在區(qū)域提議掩碼模塊中,所取掩碼在主干網(wǎng)絡(luò)上的位置會對實驗結(jié)果產(chǎn)生影響。表4展示了在不同位置加上掩碼后模型的測試結(jié)果。此時模型不采用實例分類域?qū)R模塊。由表4可見,僅僅在實例級上對目標(biāo)進行域?qū)褂?xùn)練還不夠,需要同時在主干網(wǎng)絡(luò)的某一合適的尺度也對目標(biāo)特征進行域自適應(yīng),以更好地提取出目標(biāo)物的域不變信息。另外,在第1、2、3個中間層上同時加上掩碼時效果最差。在第2個中間層上加上掩碼時的mAP最高。
圖8展示了網(wǎng)絡(luò)檢測結(jié)果對于式(26)中的參數(shù)和式(12)中的的敏感性。為檢測器損失和域分類器損失之間的平衡超參數(shù),為在Focal Loss中困難樣本所占損失的權(quán)重。在Cityscapes到FoggyCityscapes的跨域檢測場景中對這兩個超參數(shù)進行實驗。結(jié)果表明為2.0、為5.0時,算法的表現(xiàn)最好,mAP達(dá)40.8%。
圖8 模型對參數(shù)λ和γ值的靈敏度
圖9顯示了檢測算法在FoggyCityscapes的驗證集上的一些圖片的可視化測試效果,對比了Faster R-CNN、DA-FasterRCNN和本文的模型MMCN 3種檢測算法。由圖可見,與傳統(tǒng)的目標(biāo)檢測算法Faster R-CNN和域自適應(yīng)目標(biāo)檢測算法DA-FasterRCNN相比,本文的模型MMCN能夠在霧天的場景下檢測出更多小目標(biāo)和模糊不清的目標(biāo),并且對邊界框位置預(yù)測得更加準(zhǔn)確。顯示了本文算法在跨域目標(biāo)檢測的有效性。
圖9 Fast er R-CNN、DA-FasterRCNN、MMCN在FoggyCityscapes上的檢測示例
本文中提出多尺度模塊,充分利用多尺度的信息,經(jīng)過實驗后模型在第6、9、13層上在FoggyCityscape數(shù)據(jù)集上表現(xiàn)最優(yōu);在區(qū)域提議掩碼模塊中,MMCN以區(qū)域提議在特征圖上的映射作為掩碼,保證了域的可辨性。并在此基礎(chǔ)上對經(jīng)過區(qū)域提議掩碼模塊處理后的特征圖進行域?qū)褂?xùn)練,使網(wǎng)絡(luò)能夠提取出域不變信息,緩解了域可辨性與不變性之間的矛盾。在對特征圖經(jīng)過區(qū)域提議掩碼模塊處理時,本文將區(qū)域提議在原圖上對應(yīng)的位置根據(jù)降采樣映射在相應(yīng)的中間特征層上,但實際上此時特征圖上映射的區(qū)域提議對應(yīng)的感受野可能并不等同于原圖上區(qū)域提議的所在區(qū)域,如何精準(zhǔn)地將原圖區(qū)域提議映射在中間特征層上是有待后續(xù)研究的問題;在補充信息模塊中,中間特征層經(jīng)過區(qū)域提議掩碼模塊后,整體更傾向于提取出全局圖像上的域不變特征(例如圖像風(fēng)格、光照、紋理),將這些特征與實例特征進行拼接,能使實例級域分類器聚焦于實例之間域偏移;在實例分類域?qū)R模塊中,MMCN在實例級上為每一個類別單獨訓(xùn)練一個域分類器,增強域的可辨性,并進行域?qū)褂?xùn)練使網(wǎng)絡(luò)能夠提取出域的不變信息,緩解了域可辨性與不變性之間的矛盾。
在模型的速度上,MMCN是基于域自適應(yīng)所提出的網(wǎng)絡(luò)。在網(wǎng)絡(luò)中增加的域自適應(yīng)組件為可拆卸組件,其只在網(wǎng)絡(luò)訓(xùn)練時起作用,能夠為檢測網(wǎng)絡(luò)訓(xùn)練出更好的網(wǎng)絡(luò)參數(shù)。而在檢測網(wǎng)絡(luò)進行推理時可將域自適應(yīng)組件移除,保留原始的檢測網(wǎng)絡(luò)例如Faster R-CNN。因此MMCN能夠在不增加網(wǎng)絡(luò)推理成本即不影響檢測速度的前提下,提高網(wǎng)絡(luò)的泛化能力。
本文中提出了一種新的無監(jiān)督域自適應(yīng)目標(biāo)檢測網(wǎng)絡(luò)MMCN,用來解決目標(biāo)檢測對大型標(biāo)注數(shù)據(jù)集的依賴問題,其在多個中間特征層上進行域?qū)褂?xùn)練,充分利用多尺度的信息。并加入?yún)^(qū)域提議掩碼模塊和實例域分類對齊模塊,增強域的可辨性,使網(wǎng)絡(luò)盡可能地提取出域的不變信息,緩解域自適應(yīng)在目標(biāo)檢測領(lǐng)域中域的不變性和可辨性之間的矛盾。同時加入補充信息模塊,使得實例級域分類器聚焦于實例之間的域偏移,提高了網(wǎng)絡(luò)的泛化能力。MMCN網(wǎng)絡(luò)的域自適應(yīng)方法的有效性在Cityscapes到FoggyCityscapes的場景變換中得到了驗證,精度優(yōu)于基線Faster R-CNN和DA-FasterRCNN等域自適應(yīng)網(wǎng)絡(luò),從而證明了其跨域目標(biāo)檢測的有效性。在區(qū)域提議模塊中,如何精準(zhǔn)地將原圖區(qū)域提議映射在中間特征層上是有待后續(xù)研究的問題。