吳 濤, 王倫武, 王倫文, 朱敬成
(國(guó)防科技大學(xué)電子對(duì)抗學(xué)院,合肥,230037)
圖像分割一直是計(jì)算機(jī)視覺領(lǐng)域研究的重要內(nèi)容之一,通過對(duì)圖像中的像素根據(jù)其共有特征進(jìn)行分類,從而實(shí)現(xiàn)對(duì)不同的物體進(jìn)行分割,在無人駕駛、人機(jī)交互和醫(yī)學(xué)等領(lǐng)域[1-2]具有重要應(yīng)用。
對(duì)圖像的分割方法大多是基于深度神經(jīng)網(wǎng)絡(luò)的方法[3-5]進(jìn)行端到端的有監(jiān)督訓(xùn)練,能夠自動(dòng)學(xué)習(xí)圖像的特征,分割的精度很高,分割效果較為理想。與此同時(shí),其耗費(fèi)時(shí)間長(zhǎng),訓(xùn)練樣本標(biāo)記成本高,而且神經(jīng)網(wǎng)絡(luò)的訓(xùn)練往往需要大量的高質(zhì)量樣本作為輸入數(shù)據(jù)集,這些問題的存在成為分割技術(shù)在部分領(lǐng)域落地應(yīng)用的一大阻礙。
由此一些無監(jiān)督的圖像分割方法被提了出來[6]。文獻(xiàn)[7]提出了一種元學(xué)習(xí)的方式進(jìn)行圖像分割,通過探索特定視覺效果的網(wǎng)絡(luò)豐富圖像,以無監(jiān)督的方式學(xué)習(xí)視覺效果的內(nèi)部表征,并利用這一知識(shí)來區(qū)分出圖片中的不同含義。文獻(xiàn)[8]提出的深度模型,通過完全無監(jiān)督的方式,將兩個(gè)完全卷積網(wǎng)絡(luò)連接到自動(dòng)編碼和解碼器中,并進(jìn)行包括條件隨機(jī)場(chǎng)平滑和分層分割等后處理,在Berkeley分割數(shù)據(jù)集上取得了良好的分割結(jié)果。文獻(xiàn)[9]提出了一種基于深度圖像聚類的無監(jiān)督分割框架,由特征變換子網(wǎng)絡(luò)和可訓(xùn)練深度聚類子網(wǎng)絡(luò)組成,在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上,通過迭代更新簇與簇之間的關(guān)聯(lián)和簇中心來分配不同簇?cái)?shù)的像素。在Berkely數(shù)據(jù)集上同樣展現(xiàn)了良好的分割性能。文獻(xiàn)[10]提出了一種兩步自監(jiān)督域自適應(yīng)方法,使用基于熵的排序進(jìn)行模型的域間自適應(yīng),該方法在大量數(shù)據(jù)集上取得了較好的分割效果。文獻(xiàn)[11~13]則都是在形成超像素的基礎(chǔ)上對(duì)輸入的圖像進(jìn)行超像素分割,實(shí)驗(yàn)中都展現(xiàn)出了良好的分割性能。
本文針對(duì)數(shù)據(jù)集中目標(biāo)與背景高度融合的特點(diǎn),為了提高對(duì)一些偽裝特性的識(shí)別效果,在不同色域空間上對(duì)圖像分割進(jìn)行了實(shí)驗(yàn)。利用機(jī)器學(xué)習(xí)分割方法對(duì)圖片進(jìn)行預(yù)分割,形成空間上連續(xù)的超像素結(jié)構(gòu),并結(jié)合深度神經(jīng)網(wǎng)絡(luò)良好的特征提取能力,在預(yù)分割的基礎(chǔ)上,對(duì)像素進(jìn)行再次聚類,最終實(shí)現(xiàn)分割的效果。
顏色空間實(shí)際上是一個(gè)三維模型,在顏色的三維空間中,不同的坐標(biāo)對(duì)應(yīng)著不同顏色。
RGB顏色空間利用三基色紅綠藍(lán)作為基準(zhǔn)色,通過不同的比例進(jìn)行疊加混合而成,是根據(jù)人眼識(shí)別物體的顏色而定義,因此對(duì)人類感官的分辨比較友好,見圖1。
圖1 RGB顏色空間
在RGB顏色空間中,大部分顏色C都可以用rgb分量表示出來:
C[r,g,b]r,g,b∈[0,255]
(1)
HLS或HIS顏色空間是用色調(diào)、強(qiáng)度或明度、飽和度3個(gè)分量表示的顏色空間,能夠更好地對(duì)顏色進(jìn)行數(shù)字化處理,見圖2。
圖2 HIS顏色空間
HLS或HIS在空間上是一個(gè)圓錐模型,縱軸方向代表的是顏色亮度,RGB轉(zhuǎn)HIS公式如下:
(2)
(3)
s=1-3min(r,g,b)
(4)
i=(R+G+B)/3×255
(5)
上面將HIS進(jìn)行了歸一化處理。可以通過式(6)的變化將HIS轉(zhuǎn)化到正常的范圍。
H=180h/π,S=100s,I=255i
(6)
LAB空間是通過顏色的幾何度量來進(jìn)行顏色區(qū)分,RGB不能直接轉(zhuǎn)化到LAB空間,需要首先轉(zhuǎn)換到XYZ空間,轉(zhuǎn)換過程如下:
(7)
L=116f(Y/Yn)-16
(8)
A=500[f(X/Xn)-f(Y/Yn)]
(9)
B=200[f(Y/Yn)-f(Z/Zn)]
(10)
(11)
式中:Xn、Yn、Zn分別取0.950 456、1.0、1.088 754。
利用圖像的顏色、紋理和亮度等淺層特征,將圖像分割成在空間上連續(xù)的不規(guī)則像素塊,這種分類的方式是一種粗糙分類,形成的不規(guī)則像素塊也被稱為超像素。超像素是一類像素的集合,形成超像素的方式有slic,felzenszwalb和quickshift等方式。
slic是基于k均值聚類,利用一組帶有坐標(biāo)的五維特征向量,選擇顏色和空間的距離度量進(jìn)行迭代聚類的超像素圖像分割方式[14]。felzenszwalb[15]是一種最小生成樹的聚類算法,felzenswalb算法并不需要指定算法的聚類個(gè)數(shù),會(huì)在分割的過程中根據(jù)像素的均值不斷進(jìn)行迭代運(yùn)算,并不斷進(jìn)行合適的分割。quickshift[16]是一種基于尋模的聚類方法,該算法將所有的點(diǎn)連接成一棵樹,將每個(gè)點(diǎn)都移動(dòng)到距離最近的高密度鄰域,增加Parzen密度估計(jì)[17],從而實(shí)現(xiàn)鄰近區(qū)域的分割,具有很好的邊界黏附性[18]。
深度神經(jīng)網(wǎng)絡(luò)能夠挖掘圖像的深層次特征,捕捉到圖像的其他細(xì)節(jié)特征。結(jié)合神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)方式,將基于機(jī)器學(xué)習(xí)粗分類的結(jié)果作為標(biāo)簽值,輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行特征的進(jìn)一步劃分,能夠提高模型的分割精度。文獻(xiàn)[19]采用了slic算法進(jìn)行了區(qū)域的初步劃分,形成了超像素。本文實(shí)驗(yàn)采用了felzenswalb和quickshift超像素分割方法,并在圖片進(jìn)入網(wǎng)絡(luò)訓(xùn)練之前進(jìn)行顏色空間的轉(zhuǎn)換,在大量數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)后發(fā)現(xiàn),改進(jìn)的方法具有更高的精度和更少的平均用時(shí)。圖3為用于訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型。
圖3 深度神經(jīng)網(wǎng)絡(luò)模型
模型的輸入是維度為(3,256,256)的彩色圖像,分別經(jīng)過1×1、3×3、5×5的卷積進(jìn)行卷積運(yùn)算,利用不同尺度的卷積層進(jìn)行特征的提取,最后對(duì)提取到的特征進(jìn)行融合,得到模型的輸出結(jié)果。
算法流程如下:
輸入:input=I #輸入RGB圖片
輸出:output=O #輸出語義分割結(jié)果
labels=skimage.segmentation(img) #傳統(tǒng)的機(jī)器學(xué)習(xí)方法得到粗分類標(biāo)簽
model =Model() #神經(jīng)網(wǎng)絡(luò)初始化
for epoch in epochs:
output=model(image)
target=argmax(output) #根據(jù)神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果,去數(shù)值最大者為相應(yīng)元素的標(biāo)簽
loss=Cross_entropy(output, target) #交叉熵?fù)p失函數(shù)
optimizer.SGD(model.parameters) #優(yōu)化器進(jìn)行迭代計(jì)算
模型實(shí)施細(xì)節(jié)見圖4。在圖4中,原圖片在進(jìn)行了不同顏色空間轉(zhuǎn)換后,分為了2個(gè)步驟來實(shí)施。機(jī)器學(xué)習(xí)分割算法對(duì)輸入的數(shù)據(jù)形成初步分割結(jié)果,然后將圖片數(shù)據(jù)送入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,通過對(duì)不同通道索引出該像素點(diǎn)最大值,得到該像素點(diǎn)的數(shù)值標(biāo)簽,通過在預(yù)分割基礎(chǔ)上進(jìn)行比較,形成更加精細(xì)的微調(diào)結(jié)果,在設(shè)置的標(biāo)簽范圍內(nèi)進(jìn)行迭代循環(huán),并得到最終的訓(xùn)練結(jié)果。
圖4 無監(jiān)督分割模型
實(shí)驗(yàn)計(jì)算機(jī)配置如下:Inter(R) Core(TM) i7-9700 CPU @3.00 GHz, GeForce 1060Ti GPU(6 GB 顯存)的Windows操作系統(tǒng)。實(shí)驗(yàn)采用pytorch架構(gòu),在訓(xùn)練過程中,采用SGD優(yōu)化器進(jìn)行優(yōu)化,采用交叉熵?fù)p失函數(shù)進(jìn)行參數(shù)反向傳播。
本次實(shí)驗(yàn)采用公開的圖像數(shù)據(jù)集COD10K[20]、CHAMELEON[21]和CAMO[22]進(jìn)行無監(jiān)督實(shí)驗(yàn),該數(shù)據(jù)是包含了海洋、陸地、天空等空間,具有十分豐富的物種類別,圖像構(gòu)成復(fù)雜,背景元素較多,對(duì)分割來說具有很大挑戰(zhàn)。
實(shí)驗(yàn)采用交叉熵?fù)p失函數(shù),表達(dá)式如下:
(1-yi)log(1-pi)]
(12)
采用F1測(cè)量作為對(duì)單張圖片分割精度的衡量指標(biāo)。F1測(cè)量值是PR曲線的一個(gè)平衡點(diǎn),F(xiàn)1越大,訓(xùn)練模型的性能越好,計(jì)算表達(dá)式如下:
(13)
式中:P是準(zhǔn)確率;R是召回率。
3.3.1 傳統(tǒng)算法粗分類
傳統(tǒng)的分割算法可以根據(jù)圖片中物體的顏色、紋理和亮度等特征,對(duì)圖片中像素進(jìn)行初步聚類,形成大塊區(qū)域的超像素圖像,但簡(jiǎn)單通過淺層特征進(jìn)行分類十分容易產(chǎn)生像素分類錯(cuò)誤的現(xiàn)象。在slic、felz和quickshift經(jīng)典分割算法中,對(duì)圖像進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見圖5~7。
圖5 slic算法下的粗分類結(jié)果
圖6 felz算法下的粗分類結(jié)果
圖7 quickshift算法下的粗分類結(jié)果
slic是對(duì)包含了xy坐標(biāo)的五維特征的k-means聚類,算法包含有多個(gè)參數(shù),具體含義為:
1)n_segments:可選分段輸出圖像中標(biāo)簽的近似數(shù)量;
2)n_compactness(緊湊性):平衡色彩接近度和空間接近度,數(shù)值越高,空間接近度越重,使得超像素形狀更加平方。
felz算法是基于有效圖的圖像分割,基于圖像的網(wǎng)絡(luò)圖,通過最小生成樹聚類生成多通道的圖像區(qū)域。
1)scale是設(shè)置觀察級(jí)別,規(guī)模越大意味著分割的圖像越來越小;對(duì)于RGB圖像,該算法使用的是顏色空間的歐式距離進(jìn)行聚類;
2)min_size是最小分割單元的。
quickshift算法通過將初始數(shù)據(jù)向量移動(dòng)到具有更高能級(jí)的最近領(lǐng)域模態(tài)實(shí)現(xiàn)模式搜索。
1)ratio:介于0和1之間平衡色彩空間接近度和圖像空間接近度。較高的值會(huì)增加色彩空間的權(quán)重;
2)kernel_size:用于平滑樣本密度的高斯內(nèi)核寬度,越高以為這越少的集群;
3)max_dist:可選數(shù)據(jù)距離的切點(diǎn),越高意味著越少的群集。
在上述算法對(duì)比中,slic方法對(duì)與背景高度相似的圖像分割效果相對(duì)較差,許多相鄰像素都存在被錯(cuò)分和漏分的情況,且對(duì)數(shù)據(jù)的調(diào)整也很難對(duì)與背景高度的圖像做細(xì)致的分割,說明基于k-means方法的分類效果存在局限性,通過顏色進(jìn)行聚類,使得邊緣像素產(chǎn)生了較大偏差;felz算法能夠?qū)D像做一個(gè)較為精確的分割,但受參數(shù)影響較大,在參數(shù)選取不合理時(shí),并不能產(chǎn)生較為準(zhǔn)確的聚類標(biāo)簽,屬于不同物體的像素被歸為了同一類標(biāo)簽;相比slic算法和felz算法,quickshift具有分割結(jié)果相對(duì)較好,從圖7給出的結(jié)果可以看出,quickshift算法對(duì)物體的邊緣進(jìn)行了較為準(zhǔn)確地劃分,基本上將待分割物體完整的與周圍環(huán)境區(qū)分開來。
3.3.2 神經(jīng)網(wǎng)絡(luò)細(xì)分類
在經(jīng)過機(jī)器學(xué)習(xí)的方法粗分類之后,選取了較為準(zhǔn)確的分割結(jié)果,將其產(chǎn)生的標(biāo)簽作為聚類的標(biāo)準(zhǔn)。然后將圖像通過神經(jīng)網(wǎng)絡(luò),利用神經(jīng)網(wǎng)絡(luò)優(yōu)秀的特征提取能力,提取圖像更深層次的特征,對(duì)經(jīng)過傳統(tǒng)方法分類之后的結(jié)果進(jìn)行微調(diào),做出更精準(zhǔn)的分類。對(duì)相近且相似的元素進(jìn)行合并處理,得到更接近真實(shí)物體的分割效果。為了充分體現(xiàn)出結(jié)合了神經(jīng)網(wǎng)絡(luò)分類算法的分割性能,在3個(gè)算法上重復(fù)進(jìn)行了1 000次實(shí)驗(yàn),original方法是文獻(xiàn)[13]提出的基于slic超像素分割的方法,上述方法的基礎(chǔ)上,使用了felz方法和quickshift方法代替slic方法進(jìn)行超像素分割。實(shí)驗(yàn)效果見圖8~9和表1。
圖8 訓(xùn)練損失曲線
圖9 不同算法的f1_score和時(shí)間分布圖
表1 結(jié)合了神經(jīng)網(wǎng)絡(luò)的算法的訓(xùn)練耗時(shí)和f1_score
從圖9和表1中可以看出,original的效果相對(duì)穩(wěn)定,大部分實(shí)驗(yàn)結(jié)果比較集中分布在一定的區(qū)域,但總體性能與改進(jìn)后的算法相比,相對(duì)差一些?;趂elz的改進(jìn)算法的穩(wěn)定性最差,卻能達(dá)到最好的分割效果,且平均用時(shí)最短,說明能在較短的時(shí)間內(nèi)實(shí)現(xiàn)對(duì)物體的分割;基于quickshift的改進(jìn)算法穩(wěn)定性也相對(duì)較差,但對(duì)圖片的分割效果上顯得較為集中,大部分實(shí)驗(yàn)數(shù)據(jù)都集中到小提琴圖的上層區(qū)域,體現(xiàn)出其良好的分割性能。
為了進(jìn)一步探究無監(jiān)督分割的分割效果,在不同的顏色空間進(jìn)行了分割實(shí)驗(yàn)。不同的顏色空間之間存在矩陣的相互轉(zhuǎn)換,在一定程度上,不同的顏色空間對(duì)顏色的識(shí)別度存在不同的區(qū)分,不同色彩分布圖片的分割效果會(huì)有所不同。實(shí)驗(yàn)結(jié)果見圖10~12和表2~4。
圖10 結(jié)合神經(jīng)網(wǎng)絡(luò)的slic算法在不同色域模式下的性能對(duì)比
表2 結(jié)合神經(jīng)網(wǎng)絡(luò)的slic算法在不同的色域模式下耗時(shí)和f1_score
圖11 結(jié)合神經(jīng)網(wǎng)絡(luò)的felz算法在不同色域模式下的性能對(duì)比
表3 結(jié)合神經(jīng)網(wǎng)絡(luò)的felz算法在不同色域模式下的耗時(shí)和f1_score
圖12 結(jié)合神經(jīng)網(wǎng)絡(luò)的quickshift算法在不同色域模式下的性能對(duì)比
表4 結(jié)合神經(jīng)網(wǎng)絡(luò)的quickshift算法在不同的色域空間下耗時(shí)和f1_score
以上數(shù)據(jù)顯示,結(jié)合了神經(jīng)網(wǎng)絡(luò)提取特征的felz、slic和quickshift算法在不同色域空間表現(xiàn)出不同的性能。在luv空間中,改進(jìn)后的felz分割算法體現(xiàn)出較好的分割性能,而在slic算法中和quickshift算法中,則最佳的分割效果表現(xiàn)在不同的顏色空間。但不同的顏色空間,在不同算法中性能的體現(xiàn)并不具有偏向性,而是具有的不同的優(yōu)勢(shì),部分顏色空間能夠?qū)崿F(xiàn)快速分割,但分割精度不是很高,部分顏色空間分割精度較高,但分割時(shí)間不穩(wěn)定。
本文選取了部分圖片進(jìn)行了分割測(cè)試,從f1_score和訓(xùn)練消耗時(shí)間對(duì)算法分割性能進(jìn)行評(píng)判,實(shí)驗(yàn)結(jié)果見圖13~15。
圖13 不同顏色空間的測(cè)試集在基于slic上的性能對(duì)比
圖14 不同顏色空間的測(cè)試集在改進(jìn)的felz上的性能對(duì)比
圖15 不同顏色空間的測(cè)試集在改進(jìn)的quickshift上的性能對(duì)比
可以看出,提出的算法能夠進(jìn)行較好的分割,且在運(yùn)算時(shí)間上,大部分分割過程滿足分割實(shí)時(shí)性的要求。但由于圖片類型的不同和場(chǎng)景帶來的差異,仍還存在部分圖片分割時(shí)間過長(zhǎng)、分割效果不好的情況,見圖16。
圖16 部分顏色模式下的分割效果
本文針對(duì)圖像分割有監(jiān)督訓(xùn)練耗時(shí)長(zhǎng)、訓(xùn)練成本高的問題,提出了在不同色域空間下對(duì)圖像無監(jiān)督分割方法。由于不同圖像在不同顏色空間中其顏色、紋理和亮度表現(xiàn)出不同差異性。將圖像變換到不同顏色空間,利用felz,slic和quickshift 3種經(jīng)典的分割算法對(duì)圖像進(jìn)行粗分割,結(jié)合一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型對(duì)圖像特征進(jìn)行再融合、再提取,進(jìn)一步提高了模型的分割性能。在CAMO,CHAMELEON和COD10K提供的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果表明,所提出的方法能夠進(jìn)行很好地分割,對(duì)單張圖片的分割精度最高能達(dá)到97.31%。