李惠森,侯進,黨輝,周宇航
(1.西南交通大學 信息科學與技術學院 智能感知智慧運維實驗室,成都 611756;2.西南交通大學 綜合交通大數(shù)據(jù)應用技術國家工程實驗室,成都 611756)
目標檢測作為計算機視覺領域的重要任務之一,在生活中已得到廣泛應用,如自動駕駛[1]、視頻監(jiān)控[2]、機器人視覺[3]、交通檢測[4]等。得益于卷積神經網絡(Convolutional Neural Network,CNN)強大的特征提取能力,基于卷積神經網絡搭建的目標檢測模型在測試數(shù)據(jù)集上獲得了顯著的效果。然而基于深度學習方法的實現(xiàn)是以訓練數(shù)據(jù)集與測試數(shù)據(jù)集服從相同分布為前提,但是在真實場景中這一條件卻往往不能滿足。圖像的拍攝角度、背景、成像質量甚至是采集設備參數(shù)的設置等方面的變化都會導致數(shù)據(jù)分布的差異。域適應領域上將內容相似但數(shù)據(jù)分布不完全相同的兩個數(shù)據(jù)集稱為兩個不同的域,其差異則為域偏移。上述域偏移往往導致訓練好的模型在新數(shù)據(jù)集上的測試性能大幅下降[5]。收集更多訓練數(shù)據(jù),建立更全面的大型數(shù)據(jù)集或針對特定場景定制新的數(shù)據(jù)集可以在一定程度上緩解該問題。但是對新的數(shù)據(jù)集進行標注所需要的人力和時間成本十分昂貴。水下場景等特殊的檢測環(huán)境,也因為水下圖像顏色失真、對比度低、細節(jié)模糊等原因存在標注困難的問題[6]。
為了解決上述問題,基于無監(jiān)督的域適應方法被提出。無監(jiān)督域適應方法主要通過將源域數(shù)據(jù)集的信息遷移到缺乏標注信息的目標域,使模型能適應目標域數(shù)據(jù)集。如此,模型在沒有對目標域數(shù)據(jù)集進行標注的情況下也能較好地完成檢測任務。近年來,基于對抗的域適應方法取得了較好的成果,其主要借鑒了生成對抗網絡(Generative Adversarial Network,GAN)[7]中對抗訓練的思想:首先引入一個域判別器用來區(qū)分特征來自源域還是目標域。在提升域判別器分類能力的同時,通過梯度反轉層訓練主干網絡向增大判別器損失的方向更新參數(shù),以欺騙判別器。通過對抗訓練的方式得到的主干網絡所提取的特征難以區(qū)分所屬域,即具備域不變性。通過訓練網絡提取域不變特征可以減輕域偏移對性能造成的不利影響。真實場景下獲取的圖像數(shù)據(jù)通常為多模式分布結構,復雜性高,但目前基于對抗的域適應方法通常采用單判別器結構的域適應頭。單個判別器進行域分類時容易局限于單個模式結構而進入局部最優(yōu)解,進而導致域對齊的質量下降。此外,目前該領域的新方法大多從域對齊的角度進行改進,很少從整體層面考慮如何平衡目標檢測和域對齊任務之間的比重。
針對上述問題,本文設計一種基于漸進式訓練的多判別器域適應目標檢測方法,在不使用額外標注信息的情況下,適應新數(shù)據(jù)集并保持更高的檢測精度。針對單判別器結構域適應頭容易局限于單一數(shù)據(jù)模式的問題,引入多判別器結構域適應頭,使特征提取器在學習域不變信息時必須考慮數(shù)據(jù)的不同模式,同時降低判別器隨機誤差造成的影響,避免陷入局部最優(yōu)。提出基于Dropout 的多判別器結構,有效避免引入多判別器結構后網絡模型參數(shù)量增加的問題。此外,從平衡目標檢測任務和域對齊任務之間比重的角度考慮,設計漸進式訓練策略,隨著訓練過程的推進,逐步增大域對齊任務的比重和難度,使收斂更加平緩穩(wěn)定,提升模型的性能。
基于卷積神經網絡的目標檢測一般分為雙階段方法和單階段方法兩類。RCNN 系列模型[8-10]為典型的雙階段方法。此類算法的第1 階段一般由區(qū)域候選網絡(Region Proposal Network,RPN)生成粗略的候選區(qū)域,接著在第2 階段通過區(qū)域池化(Regionof-Interest Pooling,RoI Pooling)模塊結合候選區(qū)域在主干特征提取網絡所提取的特征上裁剪出目標區(qū)域特征,并送入全連接層(Fully Connected Layers)進行分類回歸,得到最終結果。兩階段方法一般檢測精度較高,但由于需要生成候選區(qū)域,其檢測速度通常相對較慢。
單階段方法舍棄了候選框提取的步驟,直接將物體分類和目標框的邊界預測統(tǒng)一為回歸問題,簡化了目標檢測的流程,大幅提升了檢測速度,真正意義上滿足了實時目標檢測的需求。典型的單階段方法有SSD 系列[11]和YOLO 系列[12-14]。尤其是YOLO系列經過近幾年的更新,彌補了單階段方法追求實時性所導致的精度損失,更好地兼顧了檢測精度和實時性能,使之更適用于工程實踐。
雖然單階段方法在近幾年的研究中取得了不錯的進展,但雙階段方法因其優(yōu)越的魯棒性和可擴展性,仍然受到學者們的青睞。本文的研究重點是提高模型的域適應能力和檢測精度,而不十分關注模型的實時性,所以本文所提方法選擇以雙階段模型Faster R-CNN[8]為基礎檢測模型。
基于無監(jiān)督的域適應方法旨在訓練一個具備知識遷移復用能力和適應性的模型,該模型能從具備豐富標簽信息的源域中學習有用信息,并遷移到新的沒有標注信息的目標域中,從而適應新的數(shù)據(jù)集。在模型遷移的過程中,兩個域之間的數(shù)據(jù)分布差異是導致模型性能下降的主要原因。因此,如何縮小域間分布差異或削弱該差異造成的影響是域適應研究領域的核心問題。在早期的研究中,比較經典的方法是將衡量域間分布差異大小的指標作為衡量模型訓練過程中損失的指標,并通過最小化該損失指導網絡提取域不變特征。如文獻[15]提出的深度適應網絡(Deep Adaptation Network,DAN)在假設條件概率分布保持不變的前提下,計算了AlexNet[16]網絡后3 層全連接層輸出的域間分布的最大均值差異(Maximum Mean Discrepancy,MMD),并結合最優(yōu)多核選擇的方法最小化MMD。文獻[17]則利用最大密度差異(Maximum Density Divergence,MDD)作為域間分布差異的度量。同時,文獻[17]還將最小化MDD 與對抗訓練結合,提出了對抗緊密匹配域適應方法,充分結合了兩種方法的優(yōu)勢。
目前域適應目標檢測領域比較主流的方法是基于對抗訓練的域適應方法,其基本思想是引入域鑒別器,在訓練鑒別器判別輸入特征所屬域的同時訓練特征提取網絡混淆域鑒別器,從而隱式地縮小特征的域間差異。CHEN等[18]提出的Domain Adaptive Faster(DA Faster)R-CNN 在Faster R-CNN 中引入圖像級別和目標實例級別的域鑒別器,分別在不同層次對齊特征,縮小特征的域間差異。文獻[19]結合對局部相似特征的強對齊和全局特征的弱對齊實現(xiàn)更加精準的特征域對齊。文獻[20]提出一種圖誘導原型對齊(Graph-induced Prototype Alignment,GPA)框架,通過原型表示尋求類別級別的域對齊,同時設計一個類別加權對比損失來調整訓練過程以緩解類別不平衡的負面影響。文獻[21]以熵信息衡量特征區(qū)域和實例樣本的不確定度,以此區(qū)分良好對齊的樣本和尚未完成對齊的樣本并據(jù)此采取不同的域對齊策略。
雖然機器學習領域的域適應研究很早就已經開始,但直到近幾年,在目標檢測領域才開始提出域適應方面的問題?,F(xiàn)有算法的性能普遍較低,該領域仍然有較大的發(fā)展空間和研究價值。
目標檢測的域適應問題涉及兩個域,具備完整標簽信息的源域和僅有數(shù)據(jù)圖像的目標域。將源域數(shù)據(jù)集形式化為:,其中為源域數(shù)據(jù)集NS個數(shù)據(jù)樣本中的第i個數(shù)據(jù),其相應的標簽信息包含圖像中k個目標實例中定位框的4 個坐標數(shù)據(jù)以及目標所屬類別。
假設目標域數(shù)據(jù)集有NT個樣本,則可形式化為:
本文的目標是利用兩個域的數(shù)據(jù)和源域的標簽信息訓練一個泛化性能良好的檢測器,并最終能在目標域數(shù)據(jù)中完成目標檢測任務。
本文算法是在DA Faster 的基礎上進行改進設計的,整體框架如圖1 所示。算法的任務主要可分為檢測任務和域對齊任務兩大部分。針對目標檢測任務,本文分別從源域和目標域中抽取一張圖像作為輸入,將ResNet-50[22]作為主干網絡提取兩張圖像的特征FS和FT,隨后送入RPN 網絡中生成候選區(qū)域。區(qū)域池化模塊根據(jù)RPN 網絡的輸出對特征FS和FT進行裁剪和池化操作得到尺寸相同的κS個源域的目標區(qū)域實例級特征f1,f2,…,fκS以及κT個目標域的實例級特征f1,f2,…,fκT。只將源域的實例級特征f1,f2,…,fκS送入到全連接層,得到最終的檢測結果。針對域適應任務,本文在主干網絡之后添加圖像級域適應頭模塊,同時在區(qū)域池化層后引入實例級域適應頭模塊??紤]訓練數(shù)據(jù)的復雜性和多模結構,設計了多判別器結構的域適應頭,以充分學習不同模式的特征分布。此外舍棄DA Faster 中對模型性能提升不大的一致性正則化模塊,進一步減少計算量。
圖1 本文算法的整體框架Fig.1 Overall framework of the algorithm in this paper
2.2.1 圖像級域適應頭
圖像級域適應頭以主干網絡的輸出FS和FT為輸入,從圖像層級進行域對齊。域適應頭由一個域判別器和梯度反轉層(Gradient Reverse Layer,GRL)[23]構成。域判別器對輸入的特征進行二分類,判別特征所屬域。若域判別器得到充分訓練,則其分類準確率可以作為域間特征數(shù)據(jù)分布差異的評估,準確率越低證明分布差異越小,即域不變性越強?;谠摾碚摚疚囊雽褂柧毜乃枷?,即在提升判別器分類準確率的同時訓練特征提取器“欺騙”判別器,兩者互相對抗優(yōu)化,最終達到平衡時,特征提取器從不同域中提取的數(shù)據(jù)特征分布便可足夠接近。具體操作是在域判別器之前連接一個梯度反轉層。在訓練網絡的梯度反向傳播過程中,計算域判別器損失的梯度并在判別器網絡中反向傳播,更新判別器參數(shù)以最小化損失。經過梯度反轉層后梯度方向取反,使特征提取器參數(shù)向最大化域判別器損失的方向更新。
因為圖像級域適應頭的輸入為卷積網絡低層次的提取特征,保留了更多紋理、顏色、輪廓等細節(jié)信息,所以本文采取逐個像素對齊的策略,減輕由細節(jié)差異導致域偏移的影響,同時不破壞特征的整體語義信息。以卷積核大小為1 的卷積層構造圖像級域適應頭的域判別器,輸出一張與輸入特征同尺寸的預測圖,使每個像素的值為輸入特征中對應區(qū)域所屬域的預測值。圖像級域適應頭的具體結構如圖2所示。假設輸入特征的尺寸為H×W,Di為第i張訓練圖像的域標簽,Di=0 表示圖像來自源域,Di=1 代表圖像來自目標域;χ(u,v)i表示圖像級域判別器第i張輸出預測圖中(u,v)位置的值,則圖像級域適應頭的域適應損失LDAimg可以定義為:
圖2 圖像級域適應頭Fig.2 Image level domain adaptive head
2.2.2 實例級域適應頭
區(qū)域池化層的輸出為網絡的高層次提取特征,包含更加豐富的語義信息。所以本文將區(qū)域池化層輸出的每個區(qū)域特征展開為1 個一維向量作為實例級域適應頭的輸入,以保留每個實例的完整語義信息。實例級域適應頭的結構與圖像級域適應頭相似,不同的是其域分類器由3 層全連接層構成,具體結構如圖3 所示。將每個實例特征向量作為域分類器的輸入,對應輸出一個1×1 的向量,表示對特征向量所屬域的預測。假設一個批次的訓練圖像經過區(qū)域池化層得到N個實例級特征,則域分類器將輸出N個預測結果ρ={p1,p2,…,pN},令Di為第i個實例特征的域標簽,則實例級域適應損失LDAins定義為:
圖3 實例級域分類器Fig.3 Instance level domain classifier
2.2.3 多判別器域適應結構
文獻[24]提出在圖像分類的域適應問題中,一般的基于對抗訓練的方法在使用單個域判別器完成域對齊任務時,往往沒有考慮訓練數(shù)據(jù)的復雜性和多模結構,導致特征提取器在訓練中無法充分學習數(shù)據(jù)中不同模式的分布,在進行域對齊時容易忽略更多細節(jié)。受文獻[25]的啟發(fā),本文在實例級域適應頭中引入基于Dropout 技術的多判別器域適應結構(Dropout based Multi-Discriminator architecture for Domain Adaptation,DMD2A)。如圖4 所示,本文對圖3 所示的實例級域分類器進行修改,在網絡的全連接層之間加入Dropout層。Dropout 層在每次數(shù)據(jù)的前向傳導過程中會進行一次Dropout 操作,即隨機隱蔽網絡層中部分神經元。由于每次Dropout 操作中所隱蔽的神經元是隨機的,因此不同的Dropout操作后可以得到不同權重的網絡。在單次迭代中,本文對實例級域分類器進行K次Dropout 操作,得到K個權重不同的分類網絡,如圖5 所示。本文重復地將上層網絡輸出的實例級特征輸入到這K個不同的網絡中,即可得到K個預測結果{ρ1,ρ2,…,ρK},則實例級域適應頭的損失函數(shù)重新定義為:
圖4 基于Dropout 的實例級域分類器Fig.4 Instance level domain classifier based on Dropout
圖5 基于Dropout 的多判別器域適應結構Fig.5 Multi-discriminator domain adaptation structure based on Dropout
圖像級域適應頭針對每個像素進行域對齊,圖像級域判別器對特征值的空間分布更為敏感,引入Dropout 層會降低分類器性能。因此圖像級域適應頭仍然采取單域判別器的結構。
一般的域適應目標檢測框架的損失函數(shù)都由檢測損失Ldet及域適應損失LDA兩部分組成,分別對應檢測任務和域對齊任務。其中檢測損失由RPN 網絡、最后全連接層的分類損失Lcls和回歸損失Lreg共同構成,而域適應損失則分為圖像級域適應損失和實例級域適應損失。網絡的損失函數(shù)如式(4)~式(6)所示,參數(shù)λ一般作為平衡權重的超參數(shù),控制目標檢測損失和域適應損失的比例,平衡檢測任務和域對齊任務。如何設置該參數(shù)的大小,將直接影響網絡的整體性能。若λ設置過小,則域適應模塊不能起到域對齊的效果,當λ減小到0時,就相當于傳統(tǒng)的目標檢測網絡;若λ設置過大,則會導致網絡過分注重域適應任務,所提取的特征表征能力和鑒別性太弱,從而使檢測精度降低。另外,在對抗訓練過程中,過大的λ參數(shù)也容易導致訓練不穩(wěn)定,甚至出現(xiàn)梯度爆炸或者梯度消失的問題。
針對以上問題,本文提出漸進式的訓練策略(Progressive Training Strategy,PTS),將固定的λ參數(shù)修改為漸進增大的動態(tài)權重,將網絡的損失重新定義為式(7)和式(8)。如式(7)所示,λ為隨迭代次數(shù)τ變化的動態(tài)參數(shù),在訓練過程的前期呈線性增長,當?shù)螖?shù)到達閾值τTH時λ不再增大。引入漸進式訓練策略后,網絡在訓練前期會更關注檢測任務,提高特征的表征能力;隨著訓練的推進,當網絡的鑒別能力增加到一定程度時,便可通過逐漸增加λ參數(shù),使網絡的重心逐漸向域對齊任務偏移。如此便可更加平緩地推動訓練的穩(wěn)定進行,同時解決檢測任務和域對齊任務難以平衡的問題。
另外,在DMD2A 集成判別器的數(shù)量上本文也采取漸進增加的策略。在DMD2A 中集成的判別器越多,對特征所屬域的判別能力越強。在訓練初期,網絡提取特征的能力還未得到充分訓練,所以網絡暫時不考慮數(shù)據(jù)的多模結構,集成較少數(shù)量的判別器。隨著訓練進程的推進,主干網絡的特征能力逐漸增強,其混淆域判別器的能力也不斷提高,訓練策略以此為依據(jù)動態(tài)增加判別器數(shù)量直至達到最大值Nmax,從而在不丟失多模結構的前提下獲取域不變特征,同時使訓練過程更加平緩穩(wěn)定。
本文實驗以深度學習框架PyTorch1.7 搭建實驗環(huán)境,程序運行的硬件環(huán)境為Intel Core I7,NVIDIA GeForce GTX1080Ti。為了適應計算機顯存,所有的輸入圖像都經過裁剪,裁剪后的圖像長邊尺寸不大于1 200 像素,短邊尺寸不小于600 像素。網絡中backbone 的初始權重首先使用ImageNet 進行預訓練,然后對整個網絡進行訓練,總共進行70 000 迭代。前50 000 次迭代設置網絡學習率為0.001,最后20 000 次迭代的學習率降為0.000 1。訓練過程中將batch_size 設置為2,分別從源域和目標域數(shù)據(jù)集中選取一張圖片作為輸入。另外,實驗中將動量設置為0.9,權重衰減設為0.000 5。針對漸進式訓練策略,設置λbase為0.25,τTH為50 000,DMD2A 的最大判別器數(shù)量Nmax為8。圖6 為訓練過程中λ參數(shù)隨迭代次數(shù)的變化曲線。
圖6 λ 參數(shù)隨迭代次數(shù)的變化曲線Fig.6 Variation curve of λ parameter with the iterations
本文實驗涉及3 個數(shù)據(jù)集,具體如下:
1)CityScapes[26]數(shù)據(jù)集。CityScapes 是一個城市場景的自動駕駛數(shù)據(jù)集,所有的數(shù)據(jù)圖像都由車載攝像頭拍攝。數(shù)據(jù)集包含50 個城市在春、夏、秋3 個季節(jié)不同時間段、不同場景、不同背景的街景圖,提供2 975 張訓練圖像和500 張測試圖像,其中具備實例標注信息的類別有行人、汽車、自行車等8類。
2)Foggy Cityscapes[27]數(shù)據(jù)集。Foggy Cityscapes數(shù)據(jù)集是一個合成霧化數(shù)據(jù)集,模擬真實的霧天情景。該數(shù)據(jù)集圖像是在CityScapes 的圖像基礎上添加霧噪聲合成,其標注信息也直接繼承CityScapes數(shù)據(jù)集得來。
3)KITTI[28]數(shù)據(jù)集。KITTI 數(shù)據(jù)集是由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯(lián)合制作的。數(shù)據(jù)集包含訓練集7 481 張圖像,測試集7 518 張圖像,目標所含類別8個。KITTI 數(shù)據(jù)集也是自動駕駛數(shù)據(jù)集,其圖像場景和天氣情況均與CityScapes 數(shù)據(jù)集相似。但兩個數(shù)據(jù)集收集圖像的攝像設備不同。
為驗證本文算法的有效性,實驗設置了兩個不同的域適應場景對網絡進行測試。每個場景涉及兩個數(shù)據(jù)集,分別作為源域數(shù)據(jù)集和目標域數(shù)據(jù)集。在訓練過程中,從源域數(shù)據(jù)集和目標域數(shù)據(jù)集的訓練圖片中各隨機抽取一張圖像作為每次迭代的輸入,同時只使用源域數(shù)據(jù)集的標注信息。在測試階段則使用目標域的圖像進行測試,并根據(jù)目標域數(shù)據(jù)集的標注信息計算模型的相關指標。兩個域適應場景分別如下:
1)場景A。CityScapes 到Foggy Cityscapes,設置CityScapes 數(shù)據(jù)集為源域,F(xiàn)oggy Cityscapes 數(shù)據(jù)集為目標域數(shù)據(jù)集。該場景用于模擬檢測模型從良好天氣到霧天的適應情況。在真實的自動駕駛應用中,目標檢測系統(tǒng)需要面對各種不同的復雜天氣情況,所以檢測模型具備適應不同天氣的能力至關重要。場景A 即針對不同天氣下圖像數(shù)據(jù)的域偏移進行測試。
2)場景B。CityScapes 到KITTI,在真實的應用場景中,兩個數(shù)據(jù)集的圖像即使拍攝的天氣情況和場景相似,也會因為采像設備的不同而導致成像質量、分辨率、曝光度等方面的差異,進而呈現(xiàn)數(shù)據(jù)分布的差異。CityScapes 數(shù)據(jù)集所使用的采像設備為COMS 2MP 傳感器(OnSemi AR0331 型號),圖片分辨率為1 024×2 048 像素,幀率設為17 Hz,相機設置的基線高度為22 cm。KITTI 數(shù)據(jù)集使用PointGrey Flea2 錄像機采集圖像,設備的分辨率為1 392×512 像素,幀率為10 Hz,設備的基線高度為54 cm。兩個數(shù)據(jù)集所使用的采像設備及其設置參數(shù)都有所差異,使用這兩個數(shù)據(jù)集設置場景B 可測試模型對不同成像設備差異的適應能力。
為了驗證本文提出的域適應目標檢測算法的有效性,本文在不同的場景中進行實驗,并與本領域其他優(yōu)秀的算法進行對比。實驗選取交并比(Intersection over Union,IoU)閾值為0.5 的情況下計算得到的平均精度均值(mean Average Precision,mAP)作為實驗的評價指標[29]。mAP 為各個類別平均精確度(Average Precision,AP)的均值,具體計算公式如式(9)~式(12)所示:
其中:N表示待檢測的類別個數(shù);P即模型的精確率(Precision);R表示召回率(Recall);TP指準確檢測的目標個數(shù);FP表示將背景誤判為目標的數(shù)目;FN則指未檢測出的目標或判別為目標但分類錯誤的實例個數(shù)。具體的實驗結果如下:
1)場景A。在該場景下,兩個數(shù)據(jù)集圖像中的目標位置以及目標類別都相同,但是Foggy Cityscapes 數(shù)據(jù)集圖像經過霧化處理后在視覺上有較大的差異,且部分目標變得模糊不清,造成模型性能嚴重下降。在源域數(shù)據(jù)集訓練好的Faster R-CNN[8]在Foggy Cityscapes 數(shù)據(jù)集中測試的mAP 僅為26.9%。表1 為場景A 的測試結果,表中加粗數(shù)字表示該組數(shù)據(jù)最大值。相較于沒有引入域適應方法而只使用源域數(shù)據(jù)集進行訓練的Faster R-CNN,本文提出的基于域適應的目測檢測算法的mAP 有很大幅度提升,超出Faster R-CNN 算法16 個百分點。為進一步證明本文算法的優(yōu)越性能,本文與該領域其他經典算法進行對比,包括DA Faster[18]、SWDA[19]、GPA[20]、UaDAN[21]、EPM[30]、SFA[31]、DDF[32]。在 場景A中,本文提出的算法測試的mAP 比其他算法高出至少0.5 個百分點;相較于其借鑒的DA Faster,本文算法提升了10.9 個百分點。由于場景A 中源域和目標域數(shù)據(jù)集具有相同的目標類別,為更全面地評估所提算法的綜合性能,實驗同時測試了數(shù)據(jù)集中各個類別的AP 并進行對比??梢钥吹匠藀erson、rider、car 和bicycle 類別以外,其他類別的AP 均達到了最高水平。
表1 CityScapes 到Foggy Cityscapes 的域適應結果Table1 Result of adaptation from Cityscapes to Foggy Cityscapes %
2)場景B。在該場景下,本文只考慮源域和目標域數(shù)據(jù)集都包含且具備標注信息的car 類別。同樣在場景B 設置下測試car 類別的AP,并與其他經典算法進行對比,量化結果如表2 所示。與場景A相比,該場景下設置的源域和目標域兩個數(shù)據(jù)集圖像的場景更相似,數(shù)據(jù)分布的域偏移更小,且只考慮單個類別的AP,故Faster R-CNN 測試結果更好。而本文算法在訓練的反饋階段,特征提取器的參數(shù)更新的同時受多個不同判別器的損失指導,很大程度上削弱了單個判別器的誤差和局限性造成的影響,可以更加穩(wěn)健地提取域不變特征。所以面對場景B中2 個數(shù)據(jù)集數(shù)據(jù)分布的微小差異時,本文算法的優(yōu)勢更為明顯,實驗測試的結果比對比算法高出至少0.8 個百分點。
表2 CityScapes 到KITTI 的域適應結果Table2 Result of domain adaptation from Cityscapes to KITTI %
在目標檢測任務中,精確率和召回率兩個指標往往是矛盾的存在:設置更高的置信度閾值,能提高模型的精確率,但也會增加目標被漏檢的風險,導致召回率降低;相反,如果降低置信度閾值,將會有更多目標被劃分為正例,召回率會相應提高,但也會損失精度。單獨以精確率或者召回率作為衡量指標都不能全面地評估模型的性能。P-R 曲線上的各點表示模型在不同置信度下精確率和召回率的關系,反映了模型對兩個指標的平衡。
本節(jié)給出了本文算法在場景A 下的P-R 曲線,更直觀地體現(xiàn)了算法改進的優(yōu)越性。如圖7 所示,沒有加入域適應結構的Faster RCNN 實驗得到的PR 曲線所展現(xiàn)的性能較差。DA Faster 引入了域適應頭,得到的P-R 曲線包含了更大的曲線下面積(Area Under Curve,AUC)。而本文算法相較于DA Faster算法,其P-R 曲線的AUC 顯著提升,完全包裹住了Faster R-CNN 和DA Faster 的曲線。
圖7 不同算法的P-R 曲線Fig.7 P-R curves of different algorithms
為更直觀地體現(xiàn)本文算法的性能,本文隨機抽取了圖像樣本進行測試,實驗的定性結果如圖8 所示(彩色效果見《計算機工程》官網HTML 版),其中每一行為一張樣本圖像的結果,圖8(e)為真實標簽在Foggy Cityscapes 數(shù)據(jù)集圖像上的實驗結果;圖8(a)為未引入域適應方法的Faster R-CNN 的實驗結果,實驗中僅使用源域數(shù)據(jù)集圖像和標注信息進行訓練并在同一數(shù)據(jù)集上進行測試??梢钥吹浇浀涞哪繕藱z測算法得到充分訓練后,在同一數(shù)據(jù)上進行檢測的結果已十分精確。圖8(b)圖像則是使用圖8(a)圖像實驗中訓練得到的相同模型在目標域數(shù)據(jù)集上測試的結果??梢钥吹?,把在源域數(shù)據(jù)集中訓練好的模型放到目標域數(shù)據(jù)集中進行測試,預測結果明顯下降,出現(xiàn)大量漏檢和誤檢的現(xiàn)象。如在圖8 第1 行的樣本圖像中,雖然在近處的行人和車輛仍然可以檢測到,但是道路遠處的車輛出現(xiàn)大量漏檢。而基于域適應方法的DA Faster 在沒有借助目標域標注信息的情況下,在很大程度上削減了域偏移帶來的負面影響,在源域數(shù)據(jù)集上訓練好的模型仍然能很好地遷移到目標域數(shù)據(jù)集,并在目標域數(shù)據(jù)集保持良好的檢測性能,其測試結果如圖8(c)所示。但是,針對霧天情況下道路遠處一些異常模糊的目標,DA Faster 仍存在漏檢和誤檢的情況,如第1 行樣本圖像中,雖然DA Faster 能檢測出部分道路遠端的模糊目標,但是在盡頭的小目標車輛依然無法檢測,且道路旁邊有部分重疊的行人目標也沒有完全檢測出來。圖8(d)為本文算法的預測結果,可以看到算法能準確檢測道路盡頭異常模糊的車輛目標以及重疊的行人小目標,表現(xiàn)出優(yōu)越的檢測性能。
圖8 不同算法的檢測結果對比Fig.8 Detection results comparison of differernt algorithms
為進一步驗證算法中各個模塊的作用,本文基于場景A 設計了消融實驗。本文將多判別器域適應結構(DMD2A)引入圖像級判別器中可得到圖像級多判別器結構域適應頭(MDDAimg),引入實例級判別器得到實例級多判別器結構域適應頭(MDDAins)。將MDDAimg、MDDAins以及漸進式訓練策略(PTS)3 個改進模塊組成不同的組合加入DA Faster中,同時去掉一致性正則化模塊,其他部分與DA Faster 保持一致,將DA Faster 作為對照組。實驗共設置5 組對照組合,結果如表3 所示,其中“√”表示使用該模塊,“—”表示不使用該模塊。對比DA Faster,單獨在模型的圖像級和實例級域適應頭中引入多判別器結構能較大程度地提高算法性能。在引入多判別器域適應結構的基礎上使用漸進式訓練策略可以進一步提升模型性能,mAP 均超過了40%。而同時引入實例級多判別器結構域適應頭和漸進式訓練策略可以得到5 個方案中的最佳結果,mAP 為42.9%。值得注意的是,如果將圖像級和實例級域適應模塊都引入多判別器結構,實驗結果反而有所降低。本文認為導致模型性能下降的原因是圖像級域分類器針對特征的每個像素進行分類,對特征的空間分布較為敏感,Dropout 操作會直接破壞分類結果,進而影響域對齊效果。
表3 消融實驗結果Table 3 Result of ablation experiment %
為進一步驗證多判別器域適應結構對模型性能的提升,本文設計了對比實驗探究判別器數(shù)量對模型性能的影響。實驗基于場景A 設置,改變域判別器的最大值Nmax進行對比實驗。同時,實驗設置了對照組。在對照組的模型訓練中不加入漸進式訓練策略,即每次實驗模型的判別器數(shù)量為固定值,實驗結果如圖9 所示。相較于單判別器結構的模型,多判別器結構模型性能有大幅提高,且隨著Nmax的增大而上升,當Nmax為8 時模型性能達到最佳,Nmax進一步增大會導致模型性能有所下降。而對照組也呈現(xiàn)相同趨勢,當判別器數(shù)量在整個訓練過程固定時,增加其數(shù)量同樣可以提升模型性能。兩組實驗充分驗證了多判別器結構對模型性能的提升,且實驗表明加入漸進式訓練的模型整體比對照組的更好,這進一步驗證了漸進式訓練策略能較好地提升模型性能。
圖9 判別器數(shù)量對模型性能的影響Fig.9 Influence of the number of discriminators on model performance
本節(jié)進一步探究參數(shù)λ對模型性能的影響。實驗基于場景A 設置,DMD2A 中的判別器數(shù)量固定為8個,改變參數(shù)λ的大小進行對比實驗。另外,設置對照組實驗,對照組在模型中加入漸進式訓練策略,將λbase設為0.25,DMD2A的最大判別器數(shù)量Nmax設為8,實驗結果如圖10 所示。當參數(shù)設置固定時,λ設為0.1 時實驗結果最好,mAP 為41.8%,當λ大于或者小于0.1時,模型的性能都會下降;當參數(shù)為1時,模型的性能驟降。而加入漸進式訓練策略后(即圖10 中“contrast group”對應的實驗數(shù)據(jù)),模型的性能超過了其他固定參數(shù)設置的模型,這進一步驗證了漸進式訓練策略的有效性。
圖10 λ 參數(shù)對模型性能的影響Fig.10 Influence of λ parameter on model performance
本節(jié)探究引入多判別器域適應結構對模型復雜度的影響。由于針對模型的改進只會改變實例級判別器的結構,所以本文將實例級判別器的參數(shù)量Nmax、模塊大小以及浮點運算數(shù)作為模型復雜度的衡量指標。同時,本文以傳統(tǒng)的方式使用多個不同參數(shù)的判別器組合成多判別器結構(Multi-Discriminator Domain Adaptation,MDDA),并 以MDDA 替換DMD2A 后得到的模型為對比模型,結果如表4 所示??梢钥吹?,引入DMD2A 結構后,衡量模型復雜度的各項指標不會隨著判別器數(shù)量的增加而上升;而使用MDDA 結構的模塊隨著判別器數(shù)量的增加,其參數(shù)量和模型大小會急劇上升。實驗結果表明,使用Dropout 技術進行改進的多判別域適應結構的引入在提升模型性能的同時不會增加模型的復雜度,相對于傳統(tǒng)的多個判別器簡單疊加的方法具備明顯的優(yōu)勢。
表4 實例級域適應頭模塊的復雜度Table 4 Complexity of instance level domain adaptation header module
本文提出一種基于漸進式訓練的多判別器域適應目標檢測算法。該算法在Faster R-CNN 模型的基礎上進行改進,分別針對圖像級別和實例級別采用不同的域對齊方法。針對一般的基于對抗的域適應方法無法充分考慮數(shù)據(jù)的復雜性和多模分布結構的問題,引入基于Dropout 的多判別器域適應頭結構,完成更細致、更全面的域對齊。另外,本文從如何平衡檢測任務和域對齊任務的角度出發(fā),創(chuàng)新性地提出漸進式訓練策略,即隨著訓練的推進逐漸增大域對齊任務的比重和難度,使模型的收斂更加平滑穩(wěn)定,進一步提高模型性能。但是,針對參數(shù)λ的設置,本文僅采用了簡單的線性增長方式,下一步將探究合適的增長策略,探索更高效的漸進式訓練策略。