Bidirectional Learning for Domain Adaptation of Semantic Segmentation
來源:CVPR 2019
作者:Yunsheng Li,Lu Yuan雷逆,Nuno Vasconcelos
機(jī)構(gòu):加州大學(xué)圣地亞哥分校(UC San Diego)盾剩,微軟
數(shù)據(jù)集:GTA5和SYNTHIA是原域筷登,Cityscapes是目標(biāo)域呻疹。
網(wǎng)絡(luò):translation model(F) is CycleGAN适贸, DeepLab V2? with the backbone ResNet101? and FCN-8s with VGG16 as our segmentation model.
代碼:https://github.com/liyunsheng13/BDL
本篇論文是基于Cycle-consistent adversarialdomain adaptation(CyCADA)提出的子網(wǎng)絡(luò)框架戈钢,一個(gè)子網(wǎng)絡(luò)是F馆蠕,一個(gè)是M期升。
貢獻(xiàn):
1.雙向?qū)W習(xí)(之前是單向的)
2.訓(xùn)練M時(shí)惊奇,提出用SSL(自監(jiān)督訓(xùn)練)
3.訓(xùn)練F時(shí),提出了一個(gè)peceptual loss
作者通過消融實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)播赁,單獨(dú)使用雙向?qū)W習(xí)時(shí)不用SSL颂郎,效果并沒有使用雙向?qū)W習(xí)并使用SSL效果好。
1.動(dòng)機(jī)
目前行拢,語義分割的域適配分成兩步祖秒,第一步是用圖片到圖片的翻譯模型(比如cycleGAN)把圖片從原域轉(zhuǎn)到目標(biāo)域,第二步是在分割模型中加入一個(gè)判別器舟奠,來進(jìn)一步減小域差異。這兩步是順序進(jìn)行的房维。
該方法的不足:
第二步嚴(yán)重依賴第一步沼瘫,第一步效果好,則第二步效果也好咙俩。第一步效果不好耿戚,第二步就無能為力。
解決方法:
仍然用圖片到圖片的翻譯模型以及分割模型阿趁,但是改變訓(xùn)練的方法膜蛔,變成“translation-to-segmentation”以及“segmentation-to-translation”。同時(shí)脖阵,作者說皂股,如何讓其中一個(gè)模塊給另一個(gè)模塊提供正向反饋是關(guān)鍵。
1.1本文方法的詳細(xì)介紹:
本文方法由正向和反向兩個(gè)方向組成:
正向命黔,也就是translation-to-segmentation,作者提出用自監(jiān)督訓(xùn)練(self-supervised training,SSL)來訓(xùn)練分割適配模型呜呐,也就是更新網(wǎng)絡(luò)M。
反向悍募,也就是segmentation-to-translation蘑辑,作者提出一個(gè)新的perceptual loss來讓分割適配模型來更新translation模型,也就是更新網(wǎng)絡(luò)F(這個(gè)更新在之前的順序?qū)W習(xí)中是沒有的)坠宴。
自監(jiān)督學(xué)習(xí):自監(jiān)督學(xué)習(xí)是監(jiān)督學(xué)習(xí)的一個(gè)特例洋魂,它與眾不同,值得單獨(dú)分為一類喜鼓。自監(jiān)督學(xué)習(xí)是沒有人工標(biāo)注標(biāo)簽的監(jiān)督學(xué)習(xí)副砍,可以將它看作沒有人類參與的監(jiān)督學(xué)習(xí)。標(biāo)簽仍然存在(因?yàn)榭傄惺裁礀|西來監(jiān)督學(xué)習(xí)過程)颠通,但它們是從輸入數(shù)據(jù)中生成的址晕,通常使用啟發(fā)式算法生成的。
自監(jiān)督學(xué)習(xí) 參考博客https://blog.csdn.net/gdengden/article/details/84196883
2.訓(xùn)練過程
F和M是兩個(gè)子網(wǎng)絡(luò)顿锰,在參考論文Cycle-consistent adversarialdomain adaptation中提出的谨垃。F用于把一幅圖片從原域翻譯到目標(biāo)域启搂。而M則用翻譯的結(jié)果F(S)來訓(xùn)練網(wǎng)絡(luò),F(xiàn)(S)的標(biāo)簽和原域的標(biāo)簽相同刘陶。
S'=F(S)胳赌,S’是原域數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)F后的輸出。
該算法由兩個(gè)循環(huán)匙隔,外層循環(huán)主要用于通過前向和反向來學(xué)習(xí)翻譯模型F和分割模型M疑苫。
內(nèi)層循環(huán)則用于實(shí)現(xiàn)SSL過程。
訓(xùn)練F的損失函數(shù)分成三對(duì)兒纷责,一對(duì)兒是對(duì)抗損失捍掺,用來使得S'和T的分布相近,一對(duì)兒是重構(gòu)損失再膳,用來衡量經(jīng)過F翻譯后再翻譯回來的原域數(shù)據(jù)和未經(jīng)過翻譯的原域數(shù)據(jù)之間的差異挺勿,還有一對(duì)兒是本文提出的認(rèn)知損失,用于保持S和S'之間的語義一致性喂柒,即S和S'有相同的標(biāo)簽不瓶。
這是最初訓(xùn)練M的損失函數(shù),包括兩項(xiàng)灾杰,一項(xiàng)是對(duì)抗損失蚊丐,用來使得S‘和T輸入M后的特征表示相近,該項(xiàng)損失用于讓目標(biāo)域中沒有和原域?qū)R的數(shù)據(jù)進(jìn)行對(duì)齊,另一項(xiàng)就是常規(guī)的分割損失艳吠。
這是后來訓(xùn)練M的損失函數(shù)麦备,除了最初的那兩項(xiàng),還加了一項(xiàng)用帶偽標(biāo)簽的目標(biāo)域數(shù)據(jù)的分割損失讲竿。目標(biāo)域數(shù)據(jù)的偽標(biāo)簽是分割網(wǎng)絡(luò)給出的泥兰。
本文的貢獻(xiàn)之一就是為網(wǎng)絡(luò)M提出一種自監(jiān)督學(xué)習(xí)算法,圖二中(a)是初始時(shí)用等式1對(duì)分割網(wǎng)絡(luò)M進(jìn)行訓(xùn)練后的結(jié)果题禀,可以看出鞋诗,訓(xùn)練后,一些目標(biāo)域的數(shù)據(jù)和原域的數(shù)據(jù)進(jìn)行了對(duì)齊迈嘹,然后選擇這些對(duì)齊的目標(biāo)域數(shù)據(jù)作為集合Tssl的元素削彬,這樣就用等式3去訓(xùn)練M,然后再往集合Tssl中增加元素秀仲,這樣融痛,目標(biāo)域中不帶標(biāo)簽的樣本就越來越少了,直到目標(biāo)域樣本都被標(biāo)記了標(biāo)簽神僵。
3.網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)
注意:網(wǎng)絡(luò)中是有判別器的雁刷,只不過沒有畫出來。
3.1訓(xùn)練F的損失函數(shù)(等式2)
3.2訓(xùn)練M的損失函數(shù)(等式3)
4.實(shí)驗(yàn)結(jié)果
We compare the results? between our method and the state-of-the-art method with? two different backbone networks: ResNet101 and VGG16?? respectively. We perform the comparison on two tasks: “GTA5 to Cityscapes” and “SYNTHIA to Cityscapes”
原文總結(jié)部分
Traditional methods for domain adaptation involve minimizing? some measure of distance between the source and the target distributions. Two commonly used measures are? the first and second order moment [2], and learning the distance metrics using Adversarial approaches保礼。
單詞
vise verse:相反亦然