VisDA-2020亚军技术方案分享
?作者|葛藝瀟
學(xué)校|香港中文大學(xué)博士生
研究方向|圖像檢索、圖像生成等
本文介紹我們在 ECCV 2020 的 Visual Domain Adaptation Challenge 中取得第二名的技術(shù)方案,該方案主要結(jié)合了兩個我們自己的工作:MMT [1] 和 SDA [2],并且在原始 MMT 的基礎(chǔ)上進行了升級,提出 MMT+,用以應(yīng)對更嘈雜的目標(biāo)域數(shù)據(jù)。比賽結(jié)束快三個月了,終于抽出空來總結(jié)一下,也方便以后的參賽者參考。代碼和模型均已公開。
比賽鏈接:
http://ai.bu.edu/visda-2020/
技術(shù)報告鏈接:
https://arxiv.org/abs/2008.10313
代碼鏈接:
https://github.com/yxgeee/MMT-plus
視頻介紹:
https://www.zhihu.com/zvideo/1300859379609722880
比賽
今年視覺領(lǐng)域自適應(yīng)的比賽關(guān)注于行人重識別問題,參見主辦方推文:
https://zhuanlan.zhihu.com/p/137644578
背景技術(shù)
目前針對領(lǐng)域自適應(yīng)行人重識別的算法主要分為兩類:
1)域轉(zhuǎn)換類,如:SPGAN、PTGAN、SDA等。算法主要分為兩步,第一步先訓(xùn)練一個 GAN 模型將源域圖像轉(zhuǎn)換為目標(biāo)域風(fēng)格,并保持原本 ID;第二步利用轉(zhuǎn)換后的源域圖像及其真實標(biāo)簽進行訓(xùn)練,獲得最終模型。優(yōu)勢在于可以充分利用源域圖像;劣勢在于目前來看單獨使用時性能不佳。
2)偽標(biāo)簽類,如:SSG、PAST、MMT 等。訓(xùn)練過程中在兩步之間交替進行,其中第一步是利用聚類算法(也有的算法不使用聚類,這里主要介紹基于聚類的算法)為目標(biāo)域圖像生成偽標(biāo)簽,第二步是利用偽標(biāo)簽與目標(biāo)域圖像進行訓(xùn)練。優(yōu)勢在于目前公共 benchmark 上一直保持 SoTA 的性能;劣勢在于當(dāng)偽標(biāo)簽噪聲較大時,訓(xùn)練不穩(wěn)定,甚至誤差放大。
挑戰(zhàn)
該比賽與公共 benchmark 相比,最大的兩項挑戰(zhàn)在于:
1)源域為合成行人圖像(PersonX [3]),目標(biāo)域為真實行人圖像,域差異較大。若直接使用源域圖像進行模型的預(yù)訓(xùn)練,預(yù)訓(xùn)練的模型在目標(biāo)域上表現(xiàn)非常差,從而生成的偽標(biāo)簽也不理想。解決方案為,先利用域轉(zhuǎn)換算法(SDA)將源域圖像的風(fēng)格遷移到目標(biāo)域,再做預(yù)訓(xùn)練,這樣可以較大程度上提升初始偽標(biāo)簽的質(zhì)量,從而有助于后續(xù)的偽標(biāo)簽法。
2)目標(biāo)域 ID 分布較為嘈雜,有的人可能有多張圖片,而有的人可能只有很少的圖片,為聚類型算法帶來挑戰(zhàn)。解決方案為,進一步改進偽標(biāo)簽算法(MMT+)以對抗較大的偽標(biāo)簽噪聲,保證模型魯棒性。
技術(shù)框架
我們的總體訓(xùn)練框架主要分為三步:利用 SDA 算法訓(xùn)練的 GAN 模型將源域圖像轉(zhuǎn)換到目標(biāo)域、利用轉(zhuǎn)換后的源域圖像進行預(yù)訓(xùn)練、在預(yù)訓(xùn)練后的模型基礎(chǔ)上利用 MMT+ 算法繼續(xù)訓(xùn)練。下面具體介紹每個步驟。
訓(xùn)練步驟一:SDA域轉(zhuǎn)換
Structured Domain Adaptation(SDA)是我們在 19 年下半年所做的一篇工作,很不幸的是一直還沒有被收錄,但是該方法在域轉(zhuǎn)換上還是很有效的,論文如下:https://arxiv.org/abs/2003.06650
該方法的 idea 很簡單,主要圍繞一個 loss,文中稱作關(guān)系一致性損失(relation-consistency loss)。Intuition 是,在訓(xùn)練域轉(zhuǎn)換 GAN 模型時,要求源域圖像風(fēng)格遷移后,圖像間的關(guān)系保持不變,這樣可以更好地維持源域圖像原有的信息和數(shù)據(jù)分布。
和經(jīng)典工作 SPGAN 相比時,SDA 遷移的源域圖像在目標(biāo)域仍保持良好的類內(nèi)關(guān)系,如下圖所示,藍色裙子的人在經(jīng)過 SPGAN 的域轉(zhuǎn)換后變成了藍裙子和白裙子,而 SDA 維持了藍色裙子。
具體訓(xùn)練細節(jié)在這里不展開了,感興趣的同學(xué)可以參閱 SDA 的原論文以及比賽的 technique report。
訓(xùn)練步驟二:轉(zhuǎn)換后的源域圖像預(yù)訓(xùn)練
對源域圖像進行域轉(zhuǎn)換的目的是,提供更好的預(yù)訓(xùn)練模型。所以,我們使用訓(xùn)練好的 SDA 將所有源域圖像轉(zhuǎn)移到目標(biāo)域,并用其進行網(wǎng)絡(luò)的預(yù)訓(xùn)練。如下圖所示,無論是 SPGAN 還是 SDA,用域轉(zhuǎn)換后的源域圖像進行預(yù)訓(xùn)練比原始源域圖像預(yù)訓(xùn)練所得到的的模型精度要明顯高出許多。
關(guān)于源域的預(yù)訓(xùn)練,我們總結(jié)了幾點有用的 training tricks:
使用 auto-augmentation 可以有效避免 overfit;
使用 GeM pooling 代替 average pooling;
一個在 MMT 開源代碼中涉及的 trick:雖然目標(biāo)域圖像無標(biāo)簽,但是也可以用于在訓(xùn)練過程中進行 forward computation,可以一定程度上有效地將 BN adapt 到目標(biāo)域,以下是偽代碼。
訓(xùn)練步驟三:MMT+目標(biāo)域訓(xùn)練
Mutual Mean-Teaching(MMT)是我們發(fā)表于 ICLR 2020 上的工作,框架非常有效,在公共 benchmark 上一直保持 SoTA 水平。
以下是以前寫的論文講解,
https://zhuanlan.zhihu.com/p/11607494zhuanlan.zhihu.com
我們將原始的 MMT 畫成以下示意圖:
之前提到,該比賽的目標(biāo)域數(shù)據(jù)集 ID 分布較為嘈雜,導(dǎo)致偽標(biāo)簽噪聲很大,為了進一步減輕偽標(biāo)簽噪聲對 MMT 訓(xùn)練帶來的影響,我們采取了以下兩個措施:
加入源域的圖像進行協(xié)同訓(xùn)練,等于是加入了有真實標(biāo)簽的干凈數(shù)據(jù),這里使用 Domain-specific BN [4] 來消除 domain gap 對訓(xùn)練的影響;
加入 MoCo [5] loss 進行實例區(qū)分任務(wù),一定程度上抵消錯誤的偽標(biāo)簽帶來的影響。值得注意的是,由于 MMT 中的 Mean-Net 和 MoCo 中的 momentum encoder 基本上一致,所以在 MMT 中加入 MoCo loss 很方便。
結(jié)合以上兩點后,我們將新的框架稱之為 MMT+:
這里還是送大家一點干貨,training tricks:
使用 ArcFace 或 CosFace 代替普通的 linear classification loss;
由于 ArcFace 或 CosFace 已經(jīng)很強了,所以 triplet loss 作用不大了;
使用 GeM pooling 代替 average pooling;
一個實驗性的結(jié)論,不要在這一步使用 auto-augmentation;
一個在 MMT 開源代碼中涉及的 trick:每次重新聚類后重置優(yōu)化器。
對比一下 MMT+ 與原始 MMT 的性能差異:
測試后處理:
模型融合
融合了四個 backbone,具體做法很簡單,就是提取特征 ->concate->L2-norm。
消除相機偏差 [6]:單獨訓(xùn)練一個相機分類模型,在原始 person similarity 的基礎(chǔ)上減去 camera similarity。
K-reciprocal re-ranking [7]
總結(jié)
我們主要在模型訓(xùn)練上進行了改進,充分利用了域轉(zhuǎn)換和偽標(biāo)簽兩類方法,每個模型單獨的性能都是不錯的。但是比賽小白,測試后處理上差了點意思,還是有很大提升空間的,再接再厲。感謝組委會,祝以后的參賽者好運。
參考文獻
[1] Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification. ICLR 2020.?
[2] Structured Domain Adaptation with Online Relation Regularization for Unsupervised Person Re-ID.?
[3] Dissecting Person Re-identification from the Viewpoint of Viewpoint. CVPR 2019.
[4] Domain-Specific Batch Normalization for Unsupervised Domain Adaptation. CVPR 2019.
[5] Momentum Contrast for Unsupervised Visual Representation Learning. CVPR 2020.
[6] Voc-reid: Vehicle re-identification based on vehicle orientation camera. CVPRW 2020.
[7] Re-ranking person re-identification with k-reciprocal encoding. CVPR 2017.
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的VisDA-2020亚军技术方案分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外地军人去本地部队医院挂急诊住院可以吗
- 下一篇: 百度工程师亲授CCF BDCI解题思路,