張 卓 黃俊凱 徐曉龍 胡金鵬
(河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院 常州 213022)
目前,在現(xiàn)存太陽能電池板的缺陷檢測上,針對使用中電池板的檢測系統(tǒng)較為罕見,檢測大多依靠人工物理檢測手段,效率低且效果差。而在電池板無人化檢測的任務(wù)里,首要任務(wù)是從拍攝的原圖像中準(zhǔn)確分割出電池板區(qū)域。傳統(tǒng)的圖像分割算法一般根據(jù)圖像的相似性或不連續(xù)性等特點(diǎn)來實(shí)現(xiàn)分割任務(wù),主要分為基于邊緣的分割算法[1],例如梯度計(jì)算法[2]等;基于閾值的分割算法[3],例如OTSU算法[4]等;基于區(qū)域的分割算法[5],例如區(qū)域生長法[6]等;基于選擇性搜索算法,例如光譜聚類等。隨著深度學(xué)習(xí)算法的迅速發(fā)展,使用神經(jīng)網(wǎng)絡(luò)進(jìn)行語義分割的方式逐漸取代了傳統(tǒng)的方法,成為了當(dāng)下主流的方法[7]。圖像語義分割是將圖像中不同意義的區(qū)域進(jìn)行像素級區(qū)分,并對不同區(qū)域分配對應(yīng)標(biāo)簽。目前的難點(diǎn)主要在于兩個(gè)方面:一是如何將全局信息與局部信息進(jìn)行融合的問題;二是如何權(quán)衡分割的精度與速度問題。語義分割網(wǎng)絡(luò)常采用編碼器與解碼器的結(jié)構(gòu),該方法在下采樣以及池化的步驟中獲取較為高級的語義信息,同時(shí)以損失圖像特征圖分辨率作為代價(jià),因此在恢復(fù)語義圖的分辨率這項(xiàng)工作中出現(xiàn)了兩種主流的方案。
第一種方法是增加上采樣層,其最典型的代表為 全 卷 積 神 經(jīng) 網(wǎng) 絡(luò)[8](Fully Convolutional Neural Networks,F(xiàn)CN)。FCN使用反卷積層,使特征圖還原到源圖像的尺寸,解決低分辨率問題。例如Ronneberger等[9]設(shè)計(jì)的U-Net網(wǎng)絡(luò)模型,在FCN的基礎(chǔ)上將大量的特征通道用于解碼器,使上下文信息得到充分的解析。此外還有諸多FCN網(wǎng)絡(luò)的改進(jìn)方案,例如RefineNet[10]以及SegNet[11]等。
第二種方法是通過空洞卷積(Dilated Convolutions)的方式[12]??斩淳矸e利用系數(shù)濾波器,在計(jì)算量和參數(shù)量不變的情況下得到了更加豐富的全局信息。Chen等[13]使用空洞卷積構(gòu)建了DeepLab系列的網(wǎng)絡(luò)模型;Mehta等[14]提出ESPNet網(wǎng)絡(luò)模型,使用空間金字塔的結(jié)構(gòu),利用多個(gè)不同分辨率的特征圖融合全局信息;Zhao等[15]提出了PSPNet網(wǎng)絡(luò)模型,使用空洞卷積獲取了大量的上下文信息,利用多種分辨率的特征圖有效的融合了局部信息與全局信息。
在室外電池板分割任務(wù)中,傳統(tǒng)的圖像處理算法難以完成對復(fù)雜環(huán)境中電池板圖像準(zhǔn)確的定位;而深度學(xué)習(xí)語義分割存在邊界不清晰、不連續(xù)的問題。對此,本文提出一種聯(lián)合光譜聚類和多尺度神經(jīng)網(wǎng)絡(luò)的漸進(jìn)式圖像語義分割算法(Combined Spectral Clustering and Multiscale Neural Networks Image Semantic Segmentation Algorithm,CSCMISS),算法結(jié)構(gòu)如圖1所示。CSCM-ISS算法在語義分割網(wǎng)絡(luò)中引入長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory Network,LSTM),進(jìn)行由粗到細(xì)的多粒度分割,從而提高分割的準(zhǔn)確度;引入多尺度卷積塊,通過多尺度融合來提高算法的泛化能力;在傳統(tǒng)圖像分割模塊,使用光譜聚類算法對圖像進(jìn)行分割,最終通過對兩模塊的賈卡德系數(shù)進(jìn)行argmax運(yùn)算,將深度網(wǎng)絡(luò)中的語義信息送入光譜聚類的分割片段中進(jìn)行融合,實(shí)現(xiàn)對室外電池板區(qū)域圖像的精準(zhǔn)分割。
圖1 聯(lián)合光譜聚類與神經(jīng)網(wǎng)絡(luò)的語義分割算法結(jié)構(gòu)
現(xiàn)有語義分割網(wǎng)絡(luò)FCN、GrabCut等在實(shí)際的應(yīng)用中存在著各類問題,例如FCN的分割邊界不連續(xù),分割結(jié)果粗糙,Hu等[16]構(gòu)建了一種堆疊式FC網(wǎng)絡(luò),成功地將粗粒度構(gòu)建上下文指導(dǎo)引入到細(xì)粒度分割中。然而,堆疊式網(wǎng)絡(luò)不夠靈活,在修改分段層數(shù)時(shí)需要修改網(wǎng)絡(luò)結(jié)構(gòu);同時(shí)由于需要預(yù)先定義分割層次規(guī)則,使得分割過程更加復(fù)雜。
本文基礎(chǔ)網(wǎng)絡(luò)選擇使用RNN,該網(wǎng)絡(luò)具有遞歸處理歷史信息和建模歷史記憶的性質(zhì)。算法在堆疊網(wǎng)絡(luò)結(jié)構(gòu)中引入LSTM層,利用其輸出支持多粒度圖像分割,基于遞歸神經(jīng)網(wǎng)絡(luò)的圖像語義分割網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。與堆疊式相比,由于LSTM層環(huán)路數(shù)目不受限制,該結(jié)構(gòu)可以靈活地支持多粒度分段,不需要在分段粒度發(fā)生變化時(shí)重新設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu);利用粗成分的分割結(jié)果指導(dǎo)細(xì)粒度部分的分割,提高了分割精度。
圖2 本文融合LSTM的RNN圖像語義分割網(wǎng)絡(luò)結(jié)構(gòu)
算法使用ConvLSTM算法[17]實(shí)現(xiàn)LSTM層。其運(yùn)算基于LSTM單元的計(jì)算公式,如式(1)所示:
其中,“*”表示卷積運(yùn)算,“⊙”表示矩陣的Hadamard積。在首次循環(huán)中,是編碼器最后一層的輸出特征圖。當(dāng)t>1時(shí),為通道串行融合后的特征圖,該特征圖融合了最后一層編碼器的特征圖和t-1次循環(huán)中FC模塊的特征圖。CSCM-ISS算法在網(wǎng)絡(luò)中使用了兩個(gè)ConvLSTM層。
網(wǎng)絡(luò)除了使用堆疊網(wǎng)絡(luò)中預(yù)定義的三粒度(粗、中、細(xì))分割網(wǎng)絡(luò)訓(xùn)練策略外,還支持按粒度自動分割,在每次循環(huán)之后使用ConvLSTM層的輸出來對某類對象部分進(jìn)行分割,通過指定每個(gè)循環(huán)中需要分割的組件類別,可以逐步得到多粒度的分割結(jié)果。定義網(wǎng)絡(luò)總損失函數(shù)為所有循環(huán)過程分割結(jié)果損失的加權(quán)和,計(jì)算公式如式(2)所示:
其中,Lt是第t次循環(huán)中圖像分割結(jié)果的損失,λt是相應(yīng)的權(quán)重。在CSCM-ISS算法中,不同次循環(huán)分割的結(jié)果使用的是相同的權(quán)重。選擇像素級交叉熵?fù)p失作為每個(gè)環(huán)路的損失函數(shù)。
CSCM-ISS算法對圖像中多尺度目標(biāo)的編解碼結(jié)構(gòu)分割網(wǎng)絡(luò)進(jìn)行改進(jìn),將傳統(tǒng)卷積核大小不變的多層疊加法改為多尺度傳感場并行處理后拼接的方法。模型的總體框架如圖3所示。
圖3 引入多尺度卷積的網(wǎng)絡(luò)結(jié)構(gòu)
在特征提取階段,受DeepLab結(jié)構(gòu)的啟發(fā),使用不同大小的卷積核分別對特征圖進(jìn)行卷積,與其固定大小的空心卷積不同,本網(wǎng)絡(luò)中每行的卷積核大小不同,同時(shí)拼接后的每條路徑在特征圖中的深度也不同。
在空間信息恢復(fù)的過程中,采用非對稱設(shè)計(jì)的解碼結(jié)構(gòu)。針對對稱解碼結(jié)構(gòu)使網(wǎng)絡(luò)深度成倍增加,帶來梯度分散、訓(xùn)練速度慢的問題,CSCM-ISS算法改進(jìn)了卷積層的模型,其拓?fù)浣Y(jié)構(gòu)如圖4所示。相較于原始的單一尺度卷積層結(jié)構(gòu),該結(jié)構(gòu)各分支中卷積核大小不盡相同,并將處理后的特征圖拼接并傳輸?shù)侥┪驳南乱粋€(gè)卷積塊;在計(jì)算時(shí),每個(gè)分支的第一卷積核采用1*1的大小來降低特征圖的維數(shù);在分支中添加平均池化層,以盡可能多地保留空間信息;對拼接結(jié)果不進(jìn)行處理,使每個(gè)分支產(chǎn)生對齊的特征圖,該特征圖在進(jìn)一步的訓(xùn)練中將根據(jù)網(wǎng)絡(luò)的權(quán)重進(jìn)行調(diào)整。
圖4 多尺度卷積塊拓?fù)浣Y(jié)構(gòu)
在像素級分類問題中,CRF[18]將分類器的輸出與圖像的局部信息相關(guān)聯(lián),將標(biāo)注問題轉(zhuǎn)化為最大后驗(yàn)概率問題。后來一種基于平均場逼近理論的高效求解算法被提出,該方法很好地解決了CRF運(yùn)算速度慢的問題。平均場計(jì)算公式如式(3)所示:
其中Q(X)表示概率分布,和最初的CRF方法不同,平均場不直接計(jì)算概率分布P(X)。式中Qi表示第i個(gè)隨機(jī)變量的獨(dú)立邊際分布。對于分布Q(X)近似真實(shí)分布P(X),可以用Kullback-Leibler距離來度量分布之間的相似性,計(jì)算方式如式(4)所示:
本文使用超像素分割算法[19]以及光譜聚類算法[20]作為傳統(tǒng)圖像分割算法。首先,在超像素分割中,利用超像素表示圖像,使得在保持目標(biāo)邊界清晰的同時(shí)降低處理的復(fù)雜度;其次,構(gòu)造相似度矩陣,使用該矩陣對超像素圖像進(jìn)行處理,并用于光譜聚類。相似度矩陣由相鄰超像素之間的5維歐幾里得距離[19]構(gòu)成,其計(jì)算公式如式(5)所示:
其中l(wèi)、a和b是Lab顏色空間中超像素的顏色值,x和y是超像素的中心位置,p和q分別表示第p個(gè)和第q個(gè)超像素,γ為常量,用來控制緊湊度。在計(jì)算相似度矩陣后,利用相似度矩陣進(jìn)行光譜聚類,得到該輸入圖像通過傳統(tǒng)圖像處理方式后的分割圖像。在最后的邊界合并步驟中,具有最小顏色距離的兩個(gè)相鄰聚類被迭代合并,直到該距離大于閾值T。相鄰聚類之間的距離D(Ωi,Ωj),其計(jì)算公式如式(6)所示:
其中Ω表示簇域,i和j分別是第i簇和第j簇。p和q分別表示相鄰簇中的第p個(gè)和第q個(gè)超像素,Ep,q表示相鄰簇中相鄰超像素之間的色差,|E|表示相鄰簇中相鄰超像素對的個(gè)數(shù)。閾值T的計(jì)算公式如式(7)所示:
其中MaxEdges表示最大色差值。在最后的分割圖像融合模塊中,CSCM-ISS算法整合了前兩個(gè)模塊中的分割結(jié)果。設(shè)和…,Nn)分別表示由圖像處理和網(wǎng)絡(luò)模塊產(chǎn)生的分段區(qū)域,其中Nj和Nn表示從這兩個(gè)模塊獲得的分段數(shù)目。在開始的階段,每個(gè)段內(nèi)的像素都標(biāo)有段號,例如其中表示相應(yīng)的標(biāo)簽,而后圖像處理模塊每個(gè)段的標(biāo)簽將被更新,更新方式如式(8)所示:
其中J(A,B)表示兩個(gè)區(qū)域A和B之間的賈卡德系數(shù)。通過該運(yùn)算,在網(wǎng)絡(luò)模塊中獲得的圖像的語義信息被送入基于圖像處理的分割的片段中進(jìn)行融合。
針對文本應(yīng)用場景,使用自建數(shù)據(jù)集,包含400多張室外太陽能電池板圖像,采集于房頂、屋頂?shù)燃矣脠鼍芭c山坡、庭院外等戶外場景。
對數(shù)據(jù)集的電池板圖像進(jìn)行了粒度的標(biāo)記,包含電池板區(qū)域、植物、建筑、屋頂、行人等10個(gè)粒度信息。對于多粒度的訓(xùn)練,實(shí)驗(yàn)中采用三粒度分割策略,不同的粒度信息在分割的每個(gè)循環(huán)過程中被劃分到不同類別。在數(shù)據(jù)集中根據(jù)各組的比例,生成按類別進(jìn)行多粒度分割的真值標(biāo)簽圖,作為遞歸網(wǎng)絡(luò)每一環(huán)輸出的監(jiān)督數(shù)據(jù)。
本文主要從圖像語義分割精度的維度對算法進(jìn)行評判。使用像素分類準(zhǔn)確率(Pixel Accuracy,PA)、交并比(Intersection over Union,IoU)、平均交并比(Mean Intersection over Union,mIoU)作為評價(jià)指標(biāo)[21]。
假設(shè)圖像中有k個(gè)種類的像素點(diǎn),pij表示將第i類像素點(diǎn)判斷或預(yù)測為第j類像素點(diǎn)的個(gè)數(shù),pii表示將第i類像素點(diǎn)判斷或預(yù)測為第i類像素點(diǎn)的個(gè)數(shù)。各評價(jià)方法計(jì)算公式如下:
1)引入LSTM層的CSCM-ISS網(wǎng)絡(luò)與堆疊式網(wǎng)絡(luò)對比實(shí)驗(yàn)
網(wǎng)絡(luò)模型中首先使用預(yù)定義的三個(gè)粒度分割規(guī)則來訓(xùn)練網(wǎng)絡(luò),其次根據(jù)每個(gè)類別的比例生成構(gòu)件分割監(jiān)督,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。實(shí)驗(yàn)設(shè)置對照組,比較了RNN、使用堆疊網(wǎng)絡(luò)結(jié)構(gòu)、使用本文循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)的三種粒度分割方面的效果。對于堆疊網(wǎng)絡(luò)結(jié)構(gòu),實(shí)驗(yàn)中分別測試了無跳接模型和有跳接模型兩種方式,通過其mIoU值進(jìn)行定量評估,實(shí)驗(yàn)結(jié)果如表1所示。
表1 不同粒度下個(gè)網(wǎng)絡(luò)分割精度
可以看出,與基礎(chǔ)RNN網(wǎng)絡(luò)結(jié)構(gòu)相比,堆疊式和遞歸式網(wǎng)絡(luò)結(jié)構(gòu)在所有粒度上都有明顯的性能提升;堆疊網(wǎng)絡(luò)未添加跳接結(jié)構(gòu)時(shí),循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)性能更好;當(dāng)向堆疊網(wǎng)絡(luò)結(jié)構(gòu)添加跳接結(jié)構(gòu)時(shí),遞歸網(wǎng)絡(luò)結(jié)構(gòu)的分割精度同樣可以與其效果相當(dāng)。實(shí)驗(yàn)結(jié)果證明,本文設(shè)計(jì)的基于遞歸網(wǎng)絡(luò)層的圖像分割網(wǎng)絡(luò)能夠支持更細(xì)粒度的分割,提高了分割精度。圖5顯示了堆疊式網(wǎng)絡(luò)結(jié)構(gòu)和遞歸網(wǎng)絡(luò)結(jié)構(gòu)的電池板圖像分割結(jié)果的比較。
圖5 堆疊式和遞歸網(wǎng)絡(luò)結(jié)構(gòu)圖像分割結(jié)果對比
分割結(jié)果表明,有跳接的堆疊網(wǎng)絡(luò)可以準(zhǔn)確地分割電池板背景與前景等細(xì)節(jié),而沒有跳接的堆疊網(wǎng)絡(luò)和遞歸網(wǎng)絡(luò)對細(xì)節(jié)成分的分割效果較差,但后者效果仍然好于前者。在遞歸網(wǎng)絡(luò)中加入跳躍連接的難度較大,導(dǎo)致細(xì)節(jié)分量分割效果較差,如何進(jìn)一步設(shè)計(jì)策略來優(yōu)化細(xì)節(jié)部分的分割效果是一個(gè)重要改進(jìn)方向。
2)融合多尺度卷積的漸進(jìn)式CSCM-ISS與多網(wǎng)絡(luò)對比實(shí)驗(yàn)
在上述精細(xì)粒度分割的基礎(chǔ)上,實(shí)驗(yàn)加入多尺度卷積塊進(jìn)行對比,將SegNet、UresNet、DeepLabV3網(wǎng)絡(luò)與本文中提出的網(wǎng)絡(luò)進(jìn)行橫向?qū)Ρ?,?shí)驗(yàn)結(jié)果如表2所示。
表2 幾種指標(biāo)下的分割精度
在實(shí)驗(yàn)中選定的圖像具有小對象、大對象和邊緣不均勻的區(qū)域。如圖6所示,雖然UresNet等更深層次的網(wǎng)絡(luò)可以檢測到這些目標(biāo),但不能很好地切割邊界。兩者識別目標(biāo)的能力相近,邊界處理的CRF過程效果非常顯著。
圖6 UresNet網(wǎng)絡(luò)結(jié)構(gòu)和多尺度網(wǎng)絡(luò)結(jié)構(gòu)圖像分割結(jié)果對比
3)CSCM-ISS與RefineNet對比實(shí)驗(yàn)
最后將上述神經(jīng)網(wǎng)絡(luò)模塊與圖像處理模塊結(jié)合,使用RefineNet算法作為對照組,比較最終分割圖像的IoU,部分實(shí)驗(yàn)結(jié)果如表3所示。
表3 融合網(wǎng)絡(luò)與RefineNet網(wǎng)絡(luò)分割精度結(jié)果
圖7顯示了兩種算法的對比結(jié)果圖像。第一列和第二列分別為輸入圖像和真實(shí)分割圖像。第三列為RefineNet的結(jié)果,該算法語義對象提取成功,但邊界提取不準(zhǔn)確。通過綜合圖像處理的分割方式產(chǎn)生了邊界更精確的語義對象分割結(jié)果,如第四欄所示。通過對100張圖像的測試,RefineNet的平均交并比為0.8925,而本文所提出的方法將得分提高了3.5%。
圖7 RefineNet網(wǎng)絡(luò)結(jié)構(gòu)和本文網(wǎng)絡(luò)結(jié)構(gòu)圖像分割結(jié)果對比
本文研究并分析了室外太陽能電池板圖像語義分割的需求與任務(wù),針對分割圖像邊界不清晰、復(fù)雜背景分割效果差、網(wǎng)絡(luò)泛化能力與魯棒性不足的問題,提出一種聯(lián)合光譜聚類與多尺度神經(jīng)網(wǎng)絡(luò)的漸進(jìn)式圖像語義分割算法。CSCM-ISS算法基于層疊網(wǎng)絡(luò)結(jié)構(gòu),首先,通過引入遞歸處理層實(shí)現(xiàn)了粒度由粗到細(xì)的漸進(jìn)式、多粒度圖像語義分割。其次,引入多尺度卷積塊,提升了模型泛化能力。實(shí)驗(yàn)表明上下文相關(guān)的多尺度卷積對提高分割精度有很大的貢獻(xiàn)。最后針對邊界清晰的語義分割問題,提出了一種聯(lián)合光譜聚類和神經(jīng)網(wǎng)絡(luò)的圖像分割算法。實(shí)驗(yàn)結(jié)果表明,算法有效地對室外光伏電池板區(qū)域圖像進(jìn)行了高精度分割,為后續(xù)圖像增強(qiáng)以及電池板缺陷檢測提供了良好的條件。