Domain Adaptive Faster R-CNN:經典域自適應目標檢測算法,解決現實中痛點,代碼開源 | CVPR2018

論文從理論的角度出發,對目標檢測的域自適應問題進行了深入的研究,基于H-divergence的對抗訓練提出了DA Faster R-CNN,從圖片級和實例級兩種角度進行域對齊,并且加入一致性正則化來學習域不變的RPN。從實驗來看,論文的方法十分有效,這是一個很符合實際需求的研究,能解決現實中場景多樣,訓練數據標注有限的情況。
?
來源:曉飛的算法工程筆記 公眾號

論文: Domain Adaptive Faster R-CNN for Object Detection in the Wild

Introduction


? 目前,目標檢測算法在公開數據上有很好的表現,但在現實世界環境中通常會有許多特殊的挑戰,比如視角、物體外觀、背景、光照以及圖片質量的不同,使得測試數據和訓練數據存在較大的跨偏移問題。

? 以自動駕駛為例,不同的公開數據集里的圖片存在較大的差異,域偏移問題會導致明顯的檢測器性能下降。盡管收集更多的訓練圖片能解決域偏移的影響,但顯然這不是最好的方案。
? 為了解決上面的問題,論文提出Domain Adaptive Faster R-CNN,最小化圖片級別域偏移(圖片尺寸、圖片風格、光照等)以及實例級域偏移(目標外表、目標尺寸等),每個模塊學習一個域分類器并且通過對抗訓練學習域不變的特征,并且加入分類器的一致性正則化來保證RPN學習到域不變的proposal。
? 論文的主要貢獻如下:

  • 從概率角度對跨域目標檢測中的域偏移問題進行理論分析。
  • 設計了兩個域自適應模塊來消除圖片級別和實例級別的域差異。
  • 提出一致性正則化來學習域不變RPN。
  • 將提出的模塊集成到Faster R-CNN中,進行端到端的訓練。

Distribution Alignment with H-divergence


? 論文設計了H-divergence度量兩個不同分布的樣本集,定義$x$為特征向量,$x_{\mathcal{S}}$為源域樣本$x_{\mathcal{T}}$為目標域樣本,$h:x\to {0,1}$為域分類器,預測源域樣本$x_{\mathcal{S}}$為0,預測目標域樣本$x_{\mathcal{T}}$為1。假設$\mathcal{H}$為一組域分類器,則H-divergence的定義為:

? $err_{\mathcal{S}}$和$err_{\mathcal{T}}$為$h(x)$在源域和目標域樣本的預測誤差,上述的公式意味著域距離$d_{\mathcal{H}}(\mathcal{S},\mathcal{T})$與域分類器的錯誤率成反比,若最好的域分類器的錯誤率越高,則源域和目標域的距離越近。
? 在神經網絡中,定義網絡$f$產生特征向量$x$,為了進行域對齊,需要網絡$f$產生能夠減小域距離$d_{\mathcal{H}}(\mathcal{S},\mathcal{T})$的特征向量,即最小化公式:

? 上述的公式可以通過對抗訓練進行優化,論文采用gradient reverse
layer(GRL)進行實現,訓練主干特征最大化域分類誤差并且訓練域分類器最小域分類誤差進行對抗訓練,最終得出魯棒的特征。

Domain Adaptation for Object Detection


A Probabilistic Perspective

? 目標檢測問題可表示為后驗概率$P(C, B|I)$,$I$為圖片,$B$為目標的bbox,$C\in {1,\cdots,K}$為目標類別。定義目標檢測的樣本的聯合分布為$P(C,B,I)$,其中源域和目標域的分布是不一樣的$P_{\mathcal{S}}(C,B,I) \neq P_{\mathcal{T}}(C,B,I)$

  • Image-Level Adaptation

? 根據貝葉斯公式,目標檢測的聯合分布可定義為

? 定義目標檢測為covariate shift假設,設定域間的條件概率$P(C, B|I)$是一樣的,域分布偏移主要來自于$P(I)$分布的不同。在Faster R-CNN中,$P(I)$即從圖片提取的特征,所以要解決域偏移問題,就要控制$P_{\mathcal{S}}(I)=P_{\mathcal{T}}(I)$,保證不同域的圖片提取的特征一致。

  • Instance-Level Adaptation

? 另一方面,目標檢測的聯合分布也可以定義為

? 基于covariate shift假設,設定域間的條件概率$P(C|B,I)$是一樣的,域分布偏移主要來自于$P(B,I)$分布的不同,而$P(B,I)$即圖像中bbox區域特征,所以為了解決域偏移問題,需要控制$P_{\mathcal{S}}(B,I)=P_{\mathcal{T}}(B,I)$,保證不同域的圖片提取的相同目標的bbox特征不變。
? 需要注意的是,目標域是沒有標注信息的,只能通過$P(B,I)=P(B|I)P(I)$獲取,$P(B|I)$為bbox預測器,這樣就需要RPN具備域不變性,為此,論文再添加了Joint Adaptation。

  • Joint Adaptation

? 考慮到$P(B,I)=P(B|I)P(I)$,而分布$P(B|I)$是域不變且非零的,因此有

? 若域間的圖片級特征的分布是一樣的,實例級特征的分布也應該是一樣的。但實際中很難達到完美的$P(B|I)$,首先$P(I)$分布很難完美地對齊,導致$P(B|I)$的輸入有偏,其次bbox是從源域學習而來的,會存在一定地偏差。
? 為此,論文使用一致性正則化來消除$P(B|I)$的偏置,使用域分類器$h(x)$來進行源域和目標域的判斷。定義域標簽為$D$,圖像級分類器可看為預測$P(D|I)$,實例級的分類器可看為預測$P(D|B,I)$。根據貝葉斯理論,得到

? 其中,$P(B|I)$是域不變的bbox預測器,而$P(B|D,I)$為域相關的bbox預測器。由于目標域沒有標注的bbox,所以實際僅學習到域相關的bbox預測器$P(B|D,I)$。但可以通過強制兩種分類器的一致性$P(D|B,I)=P(D|I)$,使得$P(B|D,I)$逼近$P(B|I)$。

Domain Adaptation Components

? DA Faster R-CNN的架構如圖2所示,包含兩個域自適應模塊以及一致性正則化模塊,自適應模塊加入GRL(gradient reverse layer)進行對抗訓練,每個模塊包含一個域分類器,最終的損失函數為

  • Image-Level Adaptation

? 為了消除圖片級域分布不匹配,使用patch-based域分類器對特征圖的每個特征點進行分類,每個特征點實際對應原圖的一片區域$I_i$,這樣特征點域分類器就等同于預測了每個圖像中每個patch的域標簽,這樣的好處在于:

  • 圖片級表達的對齊通常能有助于消除整圖帶來的偏移。
  • 由于目標檢測算法的batch size通常很小,path-based能夠提高域分類器的訓練樣本數。

? 定義$D_i$為第$i$個訓練圖片的域標簽,$\phi_{u,v}(I_i)$為特征圖上的一個激活值,$p^{(u,v)}_i$為域分類器的一個輸出,則圖片級自適應損失為

? 為了對齊域分布,需要同時優化域分類器最小化域分類損失以及優化主干網絡的參數最大化域分類損失進行對抗訓練,論文采用GRL進行實現,使用梯度下降來訓練域分類器,回傳梯度給主干時將梯度置為反符號。

  • Instance-Level Adaptation

? 實例級特征對齊有助于減少實例的局部差異,比如外表,大小,視角等。跟圖片級特征對齊類似,定義$p_{i,j}$為第$i$個圖片的第$j$個proposal,實例級的自適應損失為

? 同樣的,在域分類器前添加GRL模塊進行對抗訓練。

  • Consistency Regularization

? 如前面的分析,強制域分類器的一致性有助于學習魯棒的跨域bbox預測器,加入一致性正則化。由于圖片級域分類器是對特征值進行分類的,取平均輸出作為圖片級概率,一致性正則化為

? 其中$|I|$為特征圖的點數,$||\cdot||$為$\mathcal{l}_2$距離。

Experiments


Learning from Synthetic Data

? SIM 10k是從GTAV中截取畫面進行標注的數據集,Cityscapes為真實圖片,這里對比從生成圖片到真實圖片的域轉移。

Driving in Adverse Weather

? Foggy Cityscapes通過生成霧來模擬真實場景,這里對比天氣帶來的域轉移。

Cross Camera Adaptation

? 這里對比兩個不同的訓練數據集的域對齊。

Error Analysis on Top Ranked Detections

? 每個模塊都能提升一定的準確率,而圖片級對齊的背景錯誤率較高,這可能由于圖片級對齊對RPN的提升更直接。

Image-level v.s. Instance-level Alignment

Consistency Regularization

CONCLUSION


? 論文從理論的角度出發,對目標檢測的域自適應問題進行了深入的研究,基于H-divergence的對抗訓練提出了DA Faster R-CNN,從圖片級和實例級兩種角度進行域對齊,并且加入一致性正則化來學習域不變的RPN。從實驗來看,論文的方法十分有效,這是一個很符合實際需求的研究,能解決現實中場景多樣,訓練數據標注有限的情況。

?
?
?

如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】

work-life balance.

posted @ 2020-06-22 10:22  曉飛的算法工程筆記  閱讀(122)  評論(0編輯  收藏
最新chease0ldman老人