吳堅(jiān)
摘要:本文主要介紹圖像處理中的半監(jiān)督的語(yǔ)義分割的主要算法。包括全卷積網(wǎng)絡(luò),分類激活匹配,多擴(kuò)張卷積定位,對(duì)抗網(wǎng)絡(luò)的半監(jiān)督的語(yǔ)義分割,交叉一致性訓(xùn)練的半監(jiān)督的語(yǔ)義分割等算法。這些算法從不同的角度描述半監(jiān)督語(yǔ)義分割的研究?jī)?nèi)容。
關(guān)鍵詞:語(yǔ)義分割;半監(jiān)督;損失函數(shù)
中圖分類號(hào):TP18 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)32-0131-03
1 語(yǔ)義分割概述
語(yǔ)義分割是圖像處理研究的一個(gè)分支,語(yǔ)義分割的目標(biāo)主要是給圖像指定語(yǔ)義標(biāo)簽,例如人,狗,路,鳥,飛機(jī),等等,并且將其按語(yǔ)義標(biāo)簽進(jìn)行圖像的劃分。語(yǔ)義分割有著廣泛的應(yīng)用,如自主驅(qū)動(dòng)和圖像編輯等等。目前語(yǔ)義分割是研究熱點(diǎn)問(wèn)題,語(yǔ)義分割有很多的研究方法,其中一種研究方法是根據(jù)監(jiān)督類型對(duì)語(yǔ)義分割進(jìn)行分類,如監(jiān)督的語(yǔ)義分割、半監(jiān)督的語(yǔ)義分割、弱監(jiān)督的語(yǔ)義分割以及無(wú)監(jiān)督的語(yǔ)義分割等[1,3,5,6]。本文主要介紹半監(jiān)督的語(yǔ)義分割。
2 全卷積網(wǎng)絡(luò)FCN(Fully Convolutional Networks)
2.1 FCN原理
隨著卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)運(yùn)用,使得語(yǔ)義分割的技術(shù)得以極大的發(fā)展。在CNN的基礎(chǔ)上Long提出了全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,簡(jiǎn)稱FCN)。FCN基于CNN的,而且依賴于空間坐標(biāo)。卷積網(wǎng)絡(luò)的每一層數(shù)據(jù)是三維序列h×w×d,其中h和w是空間的維度,即h是高度,w是寬度。d是特征或色彩通道的維數(shù)。在較高層的位置相應(yīng)于在圖像中被路徑連接的位置,稱作接收域。FCN具有卷積網(wǎng)絡(luò)的特征如卷積,池化和激活函數(shù)等組成部分,并依賴于相對(duì)的空間坐標(biāo)。假定[xij]是某一個(gè)特定的層在位置為[(i,j)]的數(shù)據(jù)向量,[yij]為下一層的數(shù)據(jù)輸出向量,該輸出向量由下式計(jì)算:,其中k是核的大小,s是步長(zhǎng),[fks]定義為層的類型:如卷積或者池化的矩陣乘積、最大池化的空間最大值、或者激活函數(shù)的逐元的非線性的激活函數(shù),以及其他的非線性層的函數(shù)。這個(gè)函數(shù)的形式由復(fù)合函數(shù)維護(hù),并服從帶有核的大小和步長(zhǎng)的傳輸規(guī)則:[fks°gk's'=(f°g)k'+(k-1)s',ss']。同時(shí),一個(gè)通常的深度網(wǎng)絡(luò)計(jì)算一個(gè)非線性函數(shù),一個(gè)網(wǎng)絡(luò)帶有唯一的層可以計(jì)算一個(gè)非線性濾波器,我們稱之為深度濾波器或全卷積網(wǎng)絡(luò)FCN[2]。
2.2損失函數(shù)
損失函數(shù)與優(yōu)化有關(guān)。優(yōu)化是指改變自變量x以最小化或最大化某個(gè)函數(shù)的任務(wù)。把最小化的函數(shù)稱作損失函數(shù)。一個(gè)實(shí)值的損失函數(shù)由FCN定義的任務(wù)組成。如果損失函數(shù)是關(guān)于最后一層的空間維數(shù)的損失的總和,[l(x;θ)=ijl'(xij;θ)],那么它的梯度是每一個(gè)空間組成部分的梯度的總和。這樣,在整個(gè)圖像上的隨機(jī)梯度下降[l]的計(jì)算和在[l']上的隨機(jī)梯度下降的計(jì)算是相同的,將所有最后一層的接收域用小批量來(lái)計(jì)算。當(dāng)這些接收域產(chǎn)生極大的重疊時(shí),前饋計(jì)算和反向傳播非常得有效,此時(shí)在整個(gè)圖像上逐層計(jì)算而不是非獨(dú)立的逐塊計(jì)算[2]。
2.3 FCN的優(yōu)勢(shì)
FCN比起CNN的優(yōu)勢(shì)是可以使輸入為任何的尺寸,并產(chǎn)生相應(yīng)的空間維數(shù)的輸出。全卷積網(wǎng)絡(luò)是現(xiàn)代卷積網(wǎng)絡(luò)分類的一種特殊而豐富的類的模型。通過(guò)它,可以將分類拓展到語(yǔ)義分割,并改善多個(gè)解決層組合起來(lái)動(dòng)態(tài)的結(jié)構(gòu)。可以簡(jiǎn)化并加速學(xué)習(xí)和推理的過(guò)程[2]。
3 分類激活匹配(Class Activation Mapping,簡(jiǎn)稱CAM)
3.1 CAM原理
Zhou提出了分類激活匹配CAM。該網(wǎng)絡(luò)由大量的卷積層和最終的一個(gè)輸出層組成。在卷積特征匹配中使用全局平均池化,并使用全連接層以產(chǎn)生期望的輸出。根據(jù)這個(gè)簡(jiǎn)單的連接結(jié)構(gòu),識(shí)別出圖像的重要的區(qū)域,這主要是通過(guò)向后投影輸出層的權(quán)值到卷積特征匹配,這項(xiàng)技術(shù)就是CAM。全局平均池化輸出在最后一個(gè)卷積層的每個(gè)單元的特征匹空間平均值。這些值帶權(quán)重的總和用于生成最后的輸出。類似的,通過(guò)計(jì)算最后一個(gè)卷積層的特征匹配的權(quán)值的總和來(lái)獲取類的激活匹配[4]。
如果給定一個(gè)圖像,如果令[fk(x,y)]表示在空間位置為(x,y)的最后一個(gè)卷積層的激活單元。對(duì)于單元k,全局平均池化的結(jié)果[Fk]定義為[x,yfk(x,y)]。給定一個(gè)類c,輸入轉(zhuǎn)化的softmax函數(shù)為[Sc],[Sc=kωckFk]其中[ωck]為單元k的相當(dāng)于類c的權(quán)重。最后計(jì)算類c的softmax函數(shù),[Pc]由下式給定:[exp(Sc)cexp(Sc)],通過(guò)將[Fk=x,yfk(x,y)]嵌入分類分?jǐn)?shù)[Sc]中 ,得到[Sc=kωckx,yfk(x,y)=x,ykωckf(x,y)],定義[Mc]為類c的激活匹配函數(shù),[Mc(x,y)=kωckfk(x,y)]直接指示了空間位置(x,y)的激活的力度以導(dǎo)出圖像的類c的分類?;谇懊娴臄⑹觯谕總€(gè)單元以某種可視化的方式在它的接收域內(nèi)被激活。[fk]是這種可視化的方式的存在的匹配。CAM是不同的空間位置的可視化方式所表示的帶權(quán)的線性和。對(duì)于輸入圖像的尺寸,通過(guò)采用簡(jiǎn)單的增采樣的分類激活匹配,可以識(shí)別出特殊區(qū)域的分類最相關(guān)區(qū)域[4]。
3.2 CAM優(yōu)勢(shì)
Zhou提出的CAM算法是對(duì)于CNN使用全局平均池化的技術(shù),它確保了用分類訓(xùn)練的CNN技術(shù)學(xué)習(xí)并執(zhí)行相應(yīng)的對(duì)象的定位,而不使用邊界盒子的注記。CAM在任何給定的圖像可視化預(yù)測(cè)的分類得分,突出顯示被CNN檢測(cè)出來(lái)的區(qū)分于對(duì)象的部分。此外,CAM位置技術(shù)產(chǎn)生其他的可視化識(shí)別任務(wù),例如產(chǎn)生類的局部深度特征,可以有助于通過(guò)CNN的其他領(lǐng)域的研究來(lái)理解并區(qū)分圖像的問(wèn)題[4]。
4 多擴(kuò)張卷積定位(Multi-dilated Convolution for Localization,簡(jiǎn)稱為MDCL)
4.1 MDCL基本概念
在CAM 的基礎(chǔ)上,Wei[5]提出了多擴(kuò)張卷積定位MDCL。使用兩類卷積操作。一類是使用標(biāo)準(zhǔn)卷積例如d=1,這種匹配下,可以獲得準(zhǔn)確的定位匹配,以這種方式,某些目標(biāo)對(duì)象的區(qū)分部分被突出的顯示,圖像相關(guān)的區(qū)域被忽略。另一類是轉(zhuǎn)移稀疏的突出的區(qū)域的可區(qū)別的知識(shí)為其他對(duì)象區(qū)域,改變擴(kuò)張率以擴(kuò)大核的接收域。以這種方式,從近鄰的突出顯示的可區(qū)別的特征可以被轉(zhuǎn)換為和對(duì)象關(guān)聯(lián)的區(qū)域,而這些區(qū)域是原來(lái)沒(méi)有被找出的。由于大的擴(kuò)張率會(huì)產(chǎn)生不關(guān)聯(lián)的區(qū)域,因此,使用小的擴(kuò)張率(例如d=3,6,9)。注意到真實(shí)的正的關(guān)聯(lián)對(duì)象區(qū)域通常被兩個(gè)或者多個(gè)局部區(qū)域匹配,而真實(shí)的負(fù)的區(qū)域在不同的擴(kuò)張區(qū)域產(chǎn)生分支。為了降低錯(cuò)誤的區(qū)域,通過(guò)采用由不同的擴(kuò)張卷積區(qū)域生成的定位匹配的平均操作(例如d=3,6,9)。使用[H0]和[Hi](其中[i=1,...nd],[nd]是擴(kuò)張卷積區(qū)塊的數(shù)量)表示由標(biāo)準(zhǔn)的和擴(kuò)張的卷積區(qū)域所生成的定位匹配。最終的用來(lái)生成對(duì)象區(qū)域的定位匹配由下式產(chǎn)生:[H=H0+1ndi=1ndHi][5]。
4.2弱監(jiān)督學(xué)習(xí)
用[Iω]表示來(lái)自弱監(jiān)督訓(xùn)練集[Γω],[Mω]是由密集的極限匹配產(chǎn)生的相應(yīng)的偽分割掩碼。C是背景分類標(biāo)簽集。目標(biāo)是訓(xùn)練一個(gè)帶有可學(xué)習(xí)的參數(shù)θ的語(yǔ)義分割模型[f(Iω;θ)](例如全卷積網(wǎng)絡(luò)FCN),F(xiàn)CN模型中任何標(biāo)簽c在任何位置u的條件概率是特殊分類信念匹配[fu,c(Iω;θ)],使用[Mω]表示的在線已預(yù)測(cè)的分割掩碼[Iω],它與[Mω]它與共同用來(lái)優(yōu)化弱監(jiān)督的FCN,其損失函數(shù)由下式定義[5]:
[minθIω∈ΓωJω(f(Iω;θ))]
其中:
[Jω(f(Iω;θ))=-1c∈CMcωc∈Cu∈Mcωlogfu,c(Iω;θ)-1c∈CMcωc∈Cu∈Mcωlogfu,c(Iω;θ)]
并且|.|像素的個(gè)數(shù)。
4.3半監(jiān)督學(xué)習(xí)
隨著大量的圖像帶有圖像層的注記,本算法關(guān)注實(shí)現(xiàn)像素層的注記,通過(guò)小數(shù)量的圖像使圖像分割具有更好的性能,強(qiáng)的和弱的注記圖像可以通過(guò)共享參數(shù)被組合成學(xué)習(xí)語(yǔ)義分割網(wǎng)絡(luò),令[Is]表示來(lái)源于強(qiáng)監(jiān)督訓(xùn)練集[Γs]和[Ms],是被標(biāo)記的語(yǔ)義分割掩碼。用于優(yōu)化半監(jiān)督的FCN,其損失函數(shù)定義為[5]。
[minθIω∈ΓωJω(f(Iω;θ))+Is∈ΓsJs(f(Is;θ))]
其中:[Js(f(Iω;θ))=-1c∈CMcsc∈Cu∈Mcslogfu,c(Iω;θ)]
4.4 多擴(kuò)張卷積優(yōu)勢(shì)
Wei提出了不同擴(kuò)張率的多卷積區(qū)塊的杠桿原理以生成密集度對(duì)象定位匹配。這種方法容易實(shí)現(xiàn),并且生成的密集的定位匹配可以用來(lái)學(xué)習(xí)語(yǔ)義分割網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),并用弱監(jiān)督或半監(jiān)督的方式來(lái)學(xué)習(xí)。這是一個(gè)僅僅通過(guò)分類網(wǎng)絡(luò)并以簡(jiǎn)單而全新的方式挖掘出了密集度對(duì)象區(qū)域[5]。
5 對(duì)抗學(xué)習(xí)的半監(jiān)督語(yǔ)義分割(Adversarial Learning for Semi-Supervised Semantic Segmentation)
5.1 對(duì)抗網(wǎng)絡(luò)基本思想
Hung提出了一種對(duì)抗網(wǎng)絡(luò)的半監(jiān)督的語(yǔ)義分割。模型由兩個(gè)模塊組成:分割網(wǎng)絡(luò)和鑒別網(wǎng)絡(luò)組成。分割網(wǎng)絡(luò)用任何的語(yǔ)義分割網(wǎng)絡(luò),假定輸入圖像的維數(shù)是H×W×3,語(yǔ)義分割網(wǎng)絡(luò)的輸出是具有H×W×C的類的概率匹配,C為語(yǔ)義分類的數(shù)量。鑒別網(wǎng)絡(luò)是基于FCN的,它把類的匹配作為輸入,或者來(lái)源于分割網(wǎng)絡(luò)或者基于真實(shí)的標(biāo)簽匹配,或者輸出的空間概率匹配H×W×1,如果像素p來(lái)源于真實(shí)圖像標(biāo)簽的樣本,則p=1,如果來(lái)源于語(yǔ)義分割網(wǎng)絡(luò)那么p=0。典型的生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets 簡(jiǎn)稱為GAN)只有固定地輸入圖像,并輸出單一的概率值,將變?yōu)槿矸e網(wǎng)絡(luò)可以輸入任意的尺寸,更重要的是,這個(gè)變換是提出的對(duì)抗學(xué)習(xí)策略的基礎(chǔ)[1]。
5.2對(duì)抗網(wǎng)絡(luò)損失
Hung提出了對(duì)抗學(xué)習(xí)策略。在半監(jiān)督的訓(xùn)練過(guò)程中使用有標(biāo)簽的和無(wú)標(biāo)簽圖像。當(dāng)使用標(biāo)簽圖像,分割網(wǎng)絡(luò)的損失函數(shù)同時(shí)被真實(shí)標(biāo)簽匹配的標(biāo)準(zhǔn)交叉熵?fù)p失[Lce]計(jì)算和鑒別網(wǎng)絡(luò)的對(duì)抗損失[Ladv]計(jì)算。該算法只運(yùn)用標(biāo)簽數(shù)據(jù)訓(xùn)練鑒別網(wǎng)絡(luò)。對(duì)于沒(méi)有標(biāo)簽的圖像,運(yùn)用半監(jiān)督的方法訓(xùn)練分割網(wǎng)絡(luò),在從分割網(wǎng)絡(luò)中獲取無(wú)標(biāo)簽圖像的初始化的分割預(yù)測(cè)之后,通過(guò)鑒別網(wǎng)絡(luò)的分割預(yù)測(cè)計(jì)算信度匹配。輪流地處理這種信度匹配作為監(jiān)督的信號(hào),并使用掩碼交叉熵?fù)p失[Lsemi]的自主學(xué)習(xí)的策略來(lái)訓(xùn)練分割網(wǎng)絡(luò)。這種置信匹配指示了預(yù)測(cè)段區(qū)域的質(zhì)量。損失函數(shù)就是最小化的目標(biāo)函數(shù)。通過(guò)使用最小化語(yǔ)義網(wǎng)絡(luò)的損失函數(shù)定義為:[Lseg=Lce+λadvLadv+λsemiLsemi],其中[Lce]定義為空間的多類交叉熵?fù)p失,[Ladv]對(duì)抗損失,[Lsemi]定義為半監(jiān)督損失。[λadv,λsemi]定義為是最小化所提出的多任務(wù)損失函數(shù)的兩個(gè)權(quán)重。
和已有的實(shí)現(xiàn)弱監(jiān)督的圖像的算法相比可以對(duì)無(wú)標(biāo)簽的圖像的杠桿原理以加強(qiáng)語(yǔ)義分割模型,該算法有更有效的性能[1]。
5.3對(duì)抗學(xué)習(xí)的特點(diǎn)
通過(guò)訓(xùn)練鑒別網(wǎng)絡(luò),以增強(qiáng)帶有標(biāo)簽和沒(méi)有標(biāo)簽的圖像的分割網(wǎng)絡(luò)。對(duì)于帶標(biāo)簽的圖像,分割網(wǎng)絡(luò)的對(duì)抗損失被設(shè)計(jì)為學(xué)習(xí)更高的次序結(jié)構(gòu)信息而不需要標(biāo)注的過(guò)程。對(duì)于沒(méi)有標(biāo)簽的圖像,鑒別網(wǎng)絡(luò)產(chǎn)生置性度圖,用自主示教的方式以精煉分割網(wǎng)絡(luò)[1]。
6交叉一致性訓(xùn)練(Cross-Consistency Training,簡(jiǎn)稱為CCT)的半監(jiān)督語(yǔ)義分割
6.1聚類假設(shè)
Ouali根據(jù)基于語(yǔ)義分割的聚類算法,提出了交叉一致性訓(xùn)練的方法。通過(guò)測(cè)量每個(gè)像素和它的局部臨近點(diǎn)來(lái)確定局部的變化來(lái)估計(jì)局部的平滑度??梢酝ㄟ^(guò)計(jì)算每個(gè)空間位置和它的八個(gè)臨近點(diǎn)的平均的歐幾里得距離。對(duì)于輸入,計(jì)算某一塊的平均距離。對(duì)于隱藏表示層,計(jì)算與輸入尺寸增采樣的特征匹配,然后計(jì)算激活的臨近區(qū)域的平均距離。對(duì)于編碼的輸出,在類的邊界有高的平均距離的地方維護(hù)聚類假定[3]。
6.2交叉一致性訓(xùn)練(CCT)原理
在使用半監(jiān)督的學(xué)習(xí)過(guò)程中,使用小量的帶有標(biāo)簽的數(shù)據(jù)集的訓(xùn)練的實(shí)例,和大量的無(wú)標(biāo)簽的數(shù)據(jù)集的實(shí)例。令[Dl={(xl1,y1),...,(xln,yn)}]表示n個(gè)標(biāo)簽實(shí)例,[Du={xu1,...,xum}]表示m個(gè)沒(méi)有標(biāo)簽的實(shí)例。[xui]表示第i層的沒(méi)有標(biāo)簽的輸入圖像,[xli]表示第i層帶標(biāo)簽的輸入圖像,[yi]為相應(yīng)的像素層的標(biāo)簽。該算法使用的結(jié)構(gòu)是由共享的編碼h和主要的解碼g組成,并組成了語(yǔ)義網(wǎng)絡(luò)[f=g°h]。同時(shí)引入附加K個(gè)的解碼集[gka]。同時(shí),分割網(wǎng)絡(luò)f用傳統(tǒng)的監(jiān)督方式訓(xùn)練標(biāo)簽集[Dl],附加的網(wǎng)絡(luò)[gka°h]被沒(méi)有標(biāo)簽的數(shù)據(jù)集[Du]訓(xùn)練,是通過(guò)加強(qiáng)在主要解碼和附加解碼間的一致性預(yù)測(cè)的。為了從沒(méi)有標(biāo)簽的數(shù)據(jù)集[Du]中提取出額外的訓(xùn)練信號(hào),主要依靠在主要的解碼[gm]和附加的解碼[gka]加強(qiáng)一致性檢測(cè),對(duì)于一個(gè)標(biāo)簽訓(xùn)練實(shí)例[xli]及其像素標(biāo)簽[yi],語(yǔ)義網(wǎng)絡(luò)f通過(guò)基于監(jiān)督損失的交叉熵(Cross-Entropy)[Ls=1Dlxli,yi∈DlH(yi,fxli)]來(lái)訓(xùn)練。公式中H為交叉熵。對(duì)于沒(méi)有標(biāo)簽的實(shí)例[xui],一個(gè)輸入 的中間表示是計(jì)算共享的編碼[zi=h(xui)*],考慮R個(gè)隨機(jī)擾動(dòng)函數(shù),用[pr]表示,其中一個(gè)擾動(dòng)函數(shù)可以被指定為多個(gè)附加解碼。將擾動(dòng)函數(shù)作為附加解碼的一部分,例如[gka]可以看作是[gka°pr]訓(xùn)練的目標(biāo)是最小化無(wú)監(jiān)督損失[Lu],它用來(lái)衡量主要編碼輸出和附加編碼輸出的差異。[Lu=1Du1Kxui∈Dud(g(zi),gka(zi))],其中[d]表示表示兩個(gè)輸出的概率分布的距離測(cè)度。選擇均方差函數(shù)作為距離的測(cè)度[3]。
6.3 損失的計(jì)算
綜合損失由下式計(jì)算:[Lu=Ls+ωuLu]其中[ωu]是無(wú)監(jiān)督的權(quán)重?fù)p失函數(shù)。Ouali提出的使用交叉一致性訓(xùn)練是一種簡(jiǎn)單,有效而靈活的方法。它也能適應(yīng)并在其他的視覺任務(wù)和學(xué)習(xí)設(shè)置中檢測(cè)CCT的有效性[3]。
7 結(jié)束語(yǔ)
本文總結(jié)了近年來(lái)半監(jiān)督的語(yǔ)義分割的研究方法及這些方法的研究基礎(chǔ),這些方法從不同角度解決了語(yǔ)義分割中的一些實(shí)際問(wèn)題,使語(yǔ)義分割有了較快和較好的發(fā)展。
參考文獻(xiàn):
[1] Wei-Chih Hung,Yi-Hsuan Tsai,Yan-Ting Tsai,et al. Adversarial Learning for Semi-Supervised Semantic Segmentation.arXiv .preprint arXiv:1802.07934,2018.
[2] Long J,Shelhamer E,Darrell T.Fully convolutional networks for semantic segmentation[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 7-12,2015,Boston,MA,USA.IEEE,2015:3431-3440.
[3] Ouali Y,Hudelot C,Tami M.Semi-supervised semantic segmentation with cross-consistency training[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June 13-19,2020,Seattle,WA,USA.IEEE,2020:12671-12681.
[4] Zhou B L,Khosla A,Lapedriza A,et al.Learning deep features for discriminative localization[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:2921-2929.
[5] Wei Y C,Xiao H X,Shi H H,et al.Revisiting dilated convolution:a simple approach for weakly- and semi-supervised semantic segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.June 18-23,2018,Salt Lake City,UT,USA.IEEE,2018:7268-7277.
[6] Song C F,Huang Y,Ouyang W L,et al.Box-driven class-wise region masking and filling rate guided loss for weakly supervised semantic segmentation[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June 15-20,2019,Long Beach,CA,USA.IEEE,2019:3131-3140.
【通聯(lián)編輯:唐一東】