毛 威,高宏力
(西南交通大學(xué)機(jī)械工程學(xué)院,四川 成都610031)
語(yǔ)義分割是視覺(jué)研究的核心問(wèn)題,相關(guān)實(shí)際應(yīng)用如自動(dòng)駕駛[1]、故障診斷[2-3]、車輛檢測(cè)[4]對(duì)其需求不斷增長(zhǎng)。語(yǔ)義分割的目標(biāo)是為圖像的每個(gè)像素分配語(yǔ)義標(biāo)簽?,F(xiàn)有基于深度神經(jīng)網(wǎng)絡(luò)的圖像語(yǔ)義分割方法的訓(xùn)練需要大量標(biāo)記數(shù)據(jù),這些數(shù)據(jù)的收集和標(biāo)記成本高昂,這很大程度上限制了此類方法的實(shí)際應(yīng)用。為解決此問(wèn)題,這里使用成本較低的計(jì)算機(jī)生成并標(biāo)記的逼真的合成數(shù)據(jù)訓(xùn)練深度網(wǎng)絡(luò)。但真實(shí)圖像與合成圖像在分布域上存在的差異會(huì)降低模型性能,因此這里使用一種對(duì)抗學(xué)習(xí)方法來(lái)實(shí)現(xiàn)域自適應(yīng),以解決上述問(wèn)題。
又由于語(yǔ)義分割輸出空間包含空間信息和局部信息(如空間布局和局部環(huán)境)。且即使在不同域的輸入圖像外觀迥異的情況下,語(yǔ)義分割輸出仍可能存在許多相似性。因此,這里采用在輸出空間上進(jìn)行像素級(jí)域自適應(yīng)的方法。在此基礎(chǔ)上,這里于不同級(jí)別的輸出空間構(gòu)建多級(jí)域自適應(yīng)網(wǎng)絡(luò)以提升模型性能。
具體來(lái)說(shuō),這里采用的域自適應(yīng)方法是基于卷積神經(jīng)網(wǎng)絡(luò)的端到端算法。在輸入空間上,通過(guò)對(duì)抗學(xué)習(xí)實(shí)現(xiàn)源域與目標(biāo)域所預(yù)測(cè)的標(biāo)簽分布的近似?;趯?duì)抗生成網(wǎng)絡(luò)[5],這里使用的模型由兩部分組成,一部分是語(yǔ)義分割模型用以預(yù)測(cè)分割結(jié)果,另一部分是判別器網(wǎng)絡(luò)用以判斷其輸入是源自目標(biāo)域還是源域的語(yǔ)義分割輸出。對(duì)抗學(xué)習(xí)的目標(biāo)是利用損失函數(shù),使語(yǔ)義分割模型能夠欺騙判別器,進(jìn)而使源圖像與目標(biāo)圖像在輸出空間生成相似分布。
概括地說(shuō),這里所使用的模型主要由兩部分組成,分別是用于語(yǔ)義分割的網(wǎng)絡(luò)G與判別器Di。其中當(dāng)使用多級(jí)對(duì)抗學(xué)習(xí)時(shí),i表示判別器所在的級(jí)別。將合成圖像集視為來(lái)自源域,用{}Is表示,相對(duì)的真實(shí)圖像集來(lái)自目標(biāo)域,表示為{It}。兩個(gè)圖像集都∈RH×W×3,且只有源域圖像已被標(biāo)記。
具體的方法是首先通過(guò)使用源域圖像訓(xùn)練G以優(yōu)化該網(wǎng)絡(luò)。再將目標(biāo)圖像集輸入優(yōu)化后的G,預(yù)測(cè)It的語(yǔ)義分割輸出Pt。然后根據(jù)對(duì)抗生成網(wǎng)絡(luò)的原理,將兩種預(yù)測(cè)輸出作為判別器的輸入,目的是判別輸入是否出自源域或目標(biāo)域。由于任務(wù)的目標(biāo)是使源圖像與目標(biāo)圖像的語(yǔ)義分割預(yù)測(cè)相互近似,通過(guò)對(duì)目標(biāo)域的預(yù)測(cè)計(jì)算對(duì)抗學(xué)習(xí)損失,經(jīng)由Di向G的網(wǎng)絡(luò)梯度傳播,促進(jìn)G在目標(biāo)域生成與源域預(yù)測(cè)更相似的分割分布。
盡管分割輸出位于低維空間,但其仍包含如場(chǎng)景布局等在內(nèi)的豐富信息。即使源域與目標(biāo)域的圖像不同,它們的分割輸出仍可能具有程度很高的空間和局部相似性。因此,在輸出空間上進(jìn)行域自適應(yīng)是更合適的選擇。這里利用這一特點(diǎn),結(jié)合對(duì)抗學(xué)習(xí)方法來(lái)改進(jìn)圖像的域自適應(yīng)方法。
根據(jù)所提出的模型,這里使用構(gòu)成模型的兩個(gè)網(wǎng)絡(luò)的損失函數(shù)構(gòu)建域自適應(yīng)方法的目標(biāo)函數(shù):
式中:Lseg-源域圖像輸入語(yǔ)義分割網(wǎng)絡(luò)的損失,使用交叉熵?fù)p失函數(shù);Ladv-使目標(biāo)域圖像的預(yù)測(cè)分割輸出近似于源域的輸出分布產(chǎn)生的對(duì)抗損失;λadv-平衡兩種損失的權(quán)值。
結(jié)合WassersteinGAN(W-GAN)[6]來(lái)定義判別器目標(biāo)函數(shù)與對(duì)抗損失函數(shù)。WGAN與原始GAN算法的不同之處包括基于Wasserstein距離確定損失函數(shù),且不使用log對(duì)數(shù)函數(shù)等。WGAN相較于原始GAN的優(yōu)點(diǎn)體現(xiàn)于確保了GAN訓(xùn)練的穩(wěn)定性,降低對(duì)抗學(xué)習(xí)訓(xùn)練的難度。
給定語(yǔ)義分割輸出為P=G(I)∈RH×W×C,其中C表示類別數(shù)目。將P輸入判別器D,通過(guò)訓(xùn)練判別器的參數(shù)最大化源域與目標(biāo)域圖像分割輸出的絕對(duì)差異。其損失函數(shù)可表示為:
對(duì)于分割網(wǎng)絡(luò)的訓(xùn)練,這里使用源域圖像的交叉熵?fù)p失定義分割損失:
利用該損失函數(shù)訓(xùn)練分割網(wǎng)絡(luò),并通過(guò)促進(jìn)Pt分布與Ps近似,最大化判別器將目標(biāo)域的預(yù)測(cè)結(jié)果誤判為源域結(jié)果的概率。
與預(yù)測(cè)結(jié)果不同,由于距離輸出較遠(yuǎn),在輸出空間應(yīng)用單級(jí)對(duì)抗學(xué)習(xí)時(shí),低階特征所產(chǎn)生的改變不能達(dá)到要求。根據(jù)為語(yǔ)義分割算法添加附加損失函數(shù)的方法[8],這里于單級(jí)對(duì)抗學(xué)習(xí)模型基礎(chǔ)上,在低階特征空間增加另外的對(duì)抗模塊構(gòu)成多級(jí)對(duì)抗學(xué)習(xí)模型,以提高自適應(yīng)方法。這樣便可將分割網(wǎng)絡(luò)的訓(xùn)練目標(biāo)函數(shù)擴(kuò)展為:
式中:i-對(duì)抗模型所在級(jí)別。注意到在輸入各判別器進(jìn)行對(duì)抗學(xué)習(xí)之前,分割輸出是在各特征空間中產(chǎn)生的。因此與的形式仍和單級(jí)對(duì)抗學(xué)習(xí)中的相同。然后根據(jù)訓(xùn)練對(duì)抗學(xué)習(xí)所常用的min-max準(zhǔn)則,對(duì)式(5)進(jìn)行優(yōu)化:
訓(xùn)練優(yōu)化的最終目標(biāo)是最小化源域圖像在G的分割損失,同時(shí)使目標(biāo)域預(yù)測(cè)被判斷為源域預(yù)測(cè)的概率最大。
為保證G的分割結(jié)果符合需求,采用以在ImageNet上預(yù)訓(xùn)練的ResNet-101[9]為基礎(chǔ)的DeepLab-v2[10]的殘差網(wǎng)絡(luò)變體作為語(yǔ)義分割G的基本模型。參照近期語(yǔ)義分割工作的方法[10][11],這里將最后兩個(gè)卷積層的步幅改為1,并移除了最后的全連接層。為了擴(kuò)大感受野,在conv4與conv5層使用孔卷積方法[10],且步幅分別為2和4。在網(wǎng)絡(luò)最后,分類器使用孔空間金字塔池化(ASPP)[10]方法,并添加一個(gè)上采樣層使生成的softmax輸出的尺寸與輸入圖像相同。
判別器的結(jié)構(gòu)與[12]相似,但為保存空間信息,只使用全卷積層。具體的,網(wǎng)絡(luò)由五個(gè)卷積層構(gòu)成,使用步幅為2的4×4卷積核,每層的通道數(shù)分別為{64,128,256,512,1}。這里不使用批歸一化層,而以小批訓(xùn)練,且在除最后層外的每一卷積層后都連接一個(gè)leaky ReLU層,并在最后的卷積層添加一個(gè)上采樣層以將輸出縮放至與輸入相同的尺寸。
根據(jù)上述分割網(wǎng)絡(luò)與判別器即可構(gòu)建單級(jí)自適應(yīng)模型。更進(jìn)一步,這里從conv4層提取特征圖,并以ASPP模塊作為附加分類器,之后再連接用于對(duì)抗學(xué)習(xí)的判別器,這樣就生成了單級(jí)的自適應(yīng)模塊。如此在不同卷積層應(yīng)用該方法就能構(gòu)建出多級(jí)自適應(yīng)模型,而出于對(duì)效率與精度的權(quán)衡,這里只使用兩級(jí)自適應(yīng)模型。網(wǎng)絡(luò)結(jié)構(gòu)與域自適應(yīng)模塊結(jié)構(gòu)分別如圖1、圖2所示。
圖1 網(wǎng)絡(luò)結(jié)構(gòu),其中DA表示域自適應(yīng)模塊Fig.1 Network Architecture,Domain Adaptation Module(DA)
圖2 (DA)域自適應(yīng)模塊,包含判別器網(wǎng)絡(luò)Fig.2(DA)Domain Adaptation Module
這里通過(guò)聯(lián)合訓(xùn)練分割網(wǎng)絡(luò)與判別器的方法來(lái)有效訓(xùn)練提出的模型。在每一訓(xùn)練批次中,源域圖像Is首先被輸入進(jìn)分割網(wǎng)絡(luò)以優(yōu)化式(3)中的Lseg,并生成輸出Ps。緊接著,分割網(wǎng)絡(luò)對(duì)目標(biāo)域圖像It的輸出Pt將與Ps共同被用于判別器,進(jìn)而實(shí)現(xiàn)對(duì)式(2)中Ld的優(yōu)化。最后再計(jì)算式(4)中的Ladv,以促進(jìn)Pt與Ps分布的近似。對(duì)于多級(jí)模型的訓(xùn)練,只需在每個(gè)自適應(yīng)模塊中重復(fù)相同的步驟。為訓(xùn)練分割網(wǎng)絡(luò),這里采用隨機(jī)梯度下降優(yōu)化(SGD)算法,其中權(quán)值衰減、動(dòng)量等參數(shù)被設(shè)置為10-4和0.9,且初始學(xué)習(xí)率設(shè)為2.5×10-4并以指數(shù)為0.9進(jìn)行多項(xiàng)式衰減。又由于WGAN訓(xùn)練方法的特性,這里不選擇基于動(dòng)量的優(yōu)化方法,而使用隨機(jī)梯度下降優(yōu)化算法訓(xùn)練判別器,并設(shè)學(xué)習(xí)率為10-4。這里在GPU計(jì)算機(jī)上,使用PyTorch庫(kù)實(shí)現(xiàn)所用網(wǎng)絡(luò)。
GTA5數(shù)據(jù)集是計(jì)算機(jī)合成圖像數(shù)據(jù)集,圖像總數(shù)為24966,且圖像分辨率為1912×1052,包含19個(gè)類別。在訓(xùn)練過(guò)程中,這里先使用整個(gè)GTA5數(shù)據(jù)集訓(xùn)練模型,再將CityScapes的訓(xùn)練數(shù)據(jù)集的2975個(gè)圖像數(shù)據(jù)應(yīng)用于該模型。當(dāng)測(cè)試模型時(shí),使用CityScapes的含有500個(gè)圖像的驗(yàn)證集評(píng)估模型性能。所有的實(shí)驗(yàn)都使用IoU測(cè)度評(píng)估結(jié)果。如圖3所示為實(shí)驗(yàn)實(shí)例結(jié)果。
圖3 實(shí)驗(yàn)實(shí)例結(jié)果Fig.3 Experiment Result
表1 的內(nèi)容是這里所使用方法的結(jié)果與其他域自適應(yīng)方法的比較。對(duì)于使用基于VGG-16結(jié)構(gòu)的方法,這里采用與之相同的基本網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練所提出的單級(jí)自適應(yīng)模型,以準(zhǔn)確評(píng)估比較不同方法。從表1可看出,這里所用方法取得了相對(duì)不錯(cuò)的結(jié)果。并且與這里方法不同,其他方法皆擁有特征自適應(yīng)模塊,而結(jié)果則表明在輸出空間實(shí)現(xiàn)自適應(yīng)的方法是更合適的選擇。
利用高性能的模型作為基準(zhǔn)與用自適應(yīng)方法改進(jìn)過(guò)的模型進(jìn)行比較也是理解自適應(yīng)方法重要性的手段。因此,這里在基于ResNet-101的網(wǎng)絡(luò)的基礎(chǔ)上訓(xùn)練自適應(yīng)模型。表1中表現(xiàn)了基準(zhǔn)模型只使用源域圖像訓(xùn)練且不結(jié)合自適應(yīng)方法與不同自適應(yīng)模型的結(jié)果比較。另外,監(jiān)督模型與自適應(yīng)模型間的差異的縮小程度也是評(píng)價(jià)自適應(yīng)方法的重要因素。因此,這里使用CityScapes數(shù)據(jù)集的標(biāo)記真值訓(xùn)練得到監(jiān)督模型,作為參照結(jié)果。通過(guò)表2的比較結(jié)果可發(fā)現(xiàn),基于VGG-16網(wǎng)絡(luò)的模型與參照結(jié)果的差異更大,因此基于ResNet網(wǎng)絡(luò)的方法更為適用。
表1 基于VGG-16的方法及基于ResNet-101的方法實(shí)驗(yàn)結(jié)果Tab.1 Experiment Result Based on VGG-16 and ResNet-101
在訓(xùn)練優(yōu)化分割網(wǎng)絡(luò)G時(shí),確保分割損失與對(duì)抗損失的權(quán)值的相對(duì)平衡非常重要?;趩渭?jí)自適應(yīng)模型,這里通過(guò)比較改變?chǔ)薬dv所取得的不同結(jié)果尋找合適的λadv值。實(shí)驗(yàn)結(jié)果表明較大的λadv值可能致使網(wǎng)絡(luò)傳播錯(cuò)誤的梯度,所以這里選取0.001作為λadv值。同樣在單級(jí)自適應(yīng)模型的基礎(chǔ)上,這里比較了基于特征的域自適應(yīng)與在輸出空間上的域自適應(yīng)方法的結(jié)果,其中基于特征的方法使用判別器判別不同域的圖像的特征??梢钥吹皆谳敵隹臻g的自適應(yīng)方法的優(yōu)點(diǎn)體現(xiàn)在兩點(diǎn):一是其實(shí)驗(yàn)結(jié)果更好;二是在特征空間的自適應(yīng)對(duì)λadv參數(shù)的改變更為敏感,這增加了訓(xùn)練的難度。對(duì)于多級(jí)對(duì)抗學(xué)習(xí)的訓(xùn)練,位于高階輸出空間的模塊的參數(shù)設(shè)置與單級(jí)對(duì)抗學(xué)習(xí)的參數(shù)相同(即0.001)。而由于低階輸出用于分割預(yù)測(cè)的信息較少,故這里賦予其分割與對(duì)抗損失較小的權(quán)值(即
總結(jié)來(lái)說(shuō),由表3的實(shí)驗(yàn)結(jié)果可看到,相較于基于特征的自適應(yīng)方法,在輸出空間上的自適應(yīng)方法結(jié)果更好,并對(duì)參數(shù)改變更不敏感,從而降低了訓(xùn)練的難度,所以這里選用在輸出空間的自適應(yīng)方法。通過(guò)表1的實(shí)驗(yàn)結(jié)果可看到這里所用域自適應(yīng)方法取得了與其他一些方法相比較較為良好的結(jié)果準(zhǔn)確度。表2通過(guò)對(duì)不同自適應(yīng)模型與監(jiān)督模型的精度差的比較可以看到這里所使用的基于ResNet的多級(jí)自適應(yīng)方法對(duì)精度提高的作用更為顯著。
表2 自適應(yīng)模型與監(jiān)督模型的精度差Tab.2 mIoU of Adaptation Model and Supervised Model
表3 不同空間的域自適應(yīng)方法對(duì)λadv參數(shù)改變的敏感度Tab.3 Sensitivity for Domain Adaptation Method to λadv in Different Space
這里采用域自適應(yīng)方法將通過(guò)合成圖像訓(xùn)練的模型應(yīng)用于真實(shí)圖像的語(yǔ)義分割,以解決大量有標(biāo)記真實(shí)圖像獲取成本高昂的問(wèn)題,其中域自適應(yīng)方法通過(guò)在輸出空間上的對(duì)抗學(xué)習(xí)實(shí)現(xiàn)。根據(jù)WGAN對(duì)對(duì)抗學(xué)習(xí)損失函數(shù)進(jìn)行了改進(jìn)。另外,還通過(guò)構(gòu)建多級(jí)對(duì)抗學(xué)習(xí)網(wǎng)絡(luò)來(lái)利用不同級(jí)別特征信息以提升模型性能。實(shí)驗(yàn)結(jié)果表明這里所提出方法相較于其他方法取得較好的結(jié)果。