物件偵測的領域自適應 (Domain Adaptation)

張家銘
6 min readJun 24, 2022
在不同場景下的物件偵測結果 [1]

Background

領域自適應 (Domain Adaptation) 是遷移學習中很重要的一部分內容,目的是把不同分佈的 Source data 和 Target data 映射到一個特徵空間,使得同類別的資料在該空間中儘可能接近,不同類別的資料在該空間中儘可能分開,如 圖一 所示:

圖一,兩種不同分佈同化成同一分佈

實務上我們會有大量在 source domain 上的 synthetic data 的 label,而 Target domain 的 real data 則只有少量的 label,甚至是沒有 label,如 圖二 所示。

圖二,Source domain v.s. Target domain

因此我們可以在 Source domain 中訓練一個模型並且在 Source domain 上有不錯的表現,而我們期望在分佈同化後,能夠在 Target domain 上有不錯的表現。

Classification

  1. Deep Domain Confusion [1]

這個模型架構 (圖三) 的左邊的輸入是本身有 label 的 source domain data,而右邊的輸入則是本身沒有 label 的 target domain data,它們兩個輸入都會經過一個共享的網路,進而得到各自的低維度 feature:fc_adapt,其中有 label 的 fc_adapt 則可以用來訓練 classification loss,而 source domain 和 target domain 的低維度 feature 則可以用來訓練 domain loss,

圖三、Deep Domain Confusion

而 domain loss 則用 Maximum Mean Discrepancy (MMD) 這個度量方法來計算,目的是為了減小兩個 DNN 學到的 feature 之間的距離,進而減少 source 和 target 之間的分佈差距。

最終的目標函數就是 classification loss 和 domain loss (MMD) 的加權損失:

2. Domain-Adversarial Training of Neural Networks (DANN) [2]

使用 Adversarial learning (gradient reversal layer) 來讓兩個 domain 間的分類分的不好,進而讓 source 和 target 的分佈儘可能接近。

圖四、Domain-Adversarial Training of Neural Networks

Object Detection

Cross-Domain Adaptive Teacher for Object Detection [3]

這個方法是比較新的方法 (2022),也有用到 Adversarial learning 來讓兩個分佈儘可能接近。主要是使用 two-stage 的模型來訓練,訓練步驟如下:

  1. 使用有 label 的 source data 訓練一個 teacher model (綠底)
  2. 使用 teacher model 預測經過 weak augmentation (調亮暗顏色等)的 target data 進而得到 pseudo-label
  3. 使用 student model (藍底) 訓練經過 strong augmentation (隨機裁切、翻轉等) 後的 source (有實際 label) 和 target (使用 pseudo-label)
  4. 使用 discriminator 讓模型分不出 source 和 target 的差異,進而讓兩個 domain 間的分佈儘可能接近
  5. 使用 Exponentially Moving Average (EMA) 讓 teacher 和 student 進行權重融合進而獲得最終的模型

整個模型訓練架構圖如 圖五 所示:

圖五、Cross-Domain Adaptive Teacher for Object Detection

有關 Domain Adaptation 的其他教學可以參考李宏毅老師和課程助教在 youtube 上的影片

【機器學習2021】概述領域自適應 (Domain Adaptation)
[TA 補充課] More about Domain Adaptation (1/2) (由助教趙崇皓同學講授)
[TA 補充課] More about Domain Adaptation (2/2) (由助教楊晟甫同學講授)

Reference

[1] Unsupervised Domain Adaptation of Object Detectors: A Survey (Oza et al., 2021) [Paper]
[2] Deep Domain Confusion: Maximizing for Domain Invariance (Eric et al., 2014)[Paper]
[3] Domain-Adversarial Training of Neural Networks (Yaroslav et al., 2015) [Paper]
[4] Cross-Domain Adaptive Teacher for Object Detection (Yu-Jhe et al., 2022) [Paper] [Code]

--

--