?

基于語義生成與語義分割的機織物缺陷檢測方法

2023-03-01 14:46馬浩然張團善趙浩銘
輕工機械 2023年1期
關鍵詞:散度織物語義

馬浩然, 張團善, 王 峰, 趙浩銘

(西安工程大學 機電工程學院, 陜西 西安 710048)

紡織業的重要性上至航空航天、生物醫療,下至服裝家紡、包裝材料??椢锶毕菔怯绊懣椢锟捎眯缘年P鍵因素,具有較多缺陷的織物將被判定為次品,影響銷售甚至被銷毀,同時織物缺陷率的上升也能反映出紡織機械故障的出現。所以織物缺陷檢測是提升織物質量,監測紡機狀態的重要步驟,快速、準確地檢出缺陷對提升生產效率、提高產品質量都有重要意義[1]。

目前工廠中織物缺陷檢測主要依靠人工進行,這不僅需要工人具有豐富的工作經驗,且勞動強度大,對視力損傷嚴重。即使如此,人工也僅能達到70%的正確率,這意味著高質量的布匹不得不反復檢測,這極大地提高了生產成本。

近年來,計算機技術快速發展,深度學習因其較高的檢測正確率,已經逐漸成為織物缺陷檢測的常用方法,使用較多的任務模式有分類、目標檢測和語義分割[2-4]。分類任務僅能判別當前整張圖像是否含有缺陷,并對缺陷分類,這種方式檢測較為粗略,無法提供具體的缺陷位置;目標檢測可以提取缺陷的中心位置和外接矩形的大小,能夠更加精細地提供缺陷的信息,但無法提供缺陷的輪廓信息;語義分割可以提供織物缺陷的種類、位置、準確輪廓以及像素級精度的缺陷面積,對缺陷的描述較為全面[5]。因此語義分割任務在織物缺陷檢測中的使用頻率越來越高。

深度學習作為有監督學習,最為重要的是數據集的規模,數據集的規模越大、覆蓋越廣,越能反映出真實狀態下的缺陷分布。一個全面的數據集對于獲得一個泛用的、魯棒的模型十分重要。在織物缺陷檢測方面,現有的公共數據集數據量較少,且織物的種類也在日益增多,往往需要對擁有的有限的數據進行擴充[6]。傳統的擴充方式采用翻轉、旋轉和縮放等方式,但這些方式只是對現有圖像的處理,不能產生新的樣本圖像。

生成對抗網絡(generative adversarial networks,GAN)[7]常常被用來擴充數據集,傳統的GAN輸入服從某種分布的噪聲,輸出生成的圖像,這種方式可以產生新的圖像,但這些圖像仍需人手工標注,這增加了工作量。傳統的GAN存在難以訓練、模式崩潰等問題,作為數據擴充工具,傳統 GAN在使用上存在困難。

近年來,語義生成作為GAN新的研究方向,廣受關注,語義生成采用編碼-解碼器的方式,輸入語義標簽,輸出與之對應的真實圖像[8]。語義生成的提出使得語義分割的數據增強不再需要手工標注,僅需要隨機產生語義標簽,或對現有的語義標簽進行數據增強,即可獲得語義標簽與對應的真實圖像的一組數據,免去標注過程,可以在語義分割網絡訓練過程中實時增強。

傳統GAN、深度卷積生成對抗網絡(deep convolution generative adversarial networks,DCGAN)中[9],庫爾貝特-萊布勒散度(Kullback-Leibler divergence),簡稱KL散度,和杰森-香農散度(Jensen-Shannon divergence),簡稱JS散度,在生成分布與真實分布不重疊時會造成梯度消失,導致網絡無法收斂。瓦瑟斯坦生成對抗網絡(Wasserstein generative adversarial networks,WGAN)[10]使用推土機距離(earth mover′s distance,EM距離)替代KL散度和JS散度,EM距離在2分布無重疊時也能良好地衡量真實分布與生成分布的距離。邊界平衡生成對抗網絡(boundary equilibrium generative adversarial networks,BEGAN)將判別器設置為編碼-解碼器的形式,通過重構誤差的分布的逼近來代替真實分布的逼近,提升了訓練速度,并且通過設置生成器與判別器損失的反饋機制來避免判別器過強導致的訓練崩潰。

菲利普等[11]發現,在GAN的生成器訓練中加入一些傳統損失函數(L1損失函數)可以輔助訓練,僅使用判別器的輸出作為生成器的損失函數會導致生成的圖像缺乏真實,僅使用L1損失函數會導致生成的圖像十分模糊,2者融合可以更好地生成圖像。

課題組采用BEGAN的網絡結構[12],同時在生成器訓練時添加加權的L1損失函數作為輔助,L1損失函數使用尺寸自適應加權函數進行加權,減少大尺寸缺陷模糊的問題。BEGAN同樣采用EM距離評估生成分布和真實分布的差距,這可以避免KL散度和JS散度帶來的梯度消失。課題組選用多樣性比率γ(diversity ratio),用于控制生成網絡在多樣性和生成質量中的比例,同時比例控制原理(proportional control theory)的加入用于控制判別器對生成樣本和真實樣本重構誤差期望維持在γ附近,從而避免判別器對生成樣本過于嚴格而導致的訓練崩潰。

1 語義生成

生成網絡主要包括網絡原理的構造和網絡結構及參數的選擇。生成對抗網絡采用BEGAN的形式,生成器與判別器都采用編碼-解碼器的形式,判別器獲取生成樣本與真實樣本的重構誤差,損失函數采用EM距離,采用L1損失函數輔助生成器的訓練。

1.1 原理及損失函數設計

傳統GAN 的優化目標分為2部分:判別器D(xi)與生成器G(z)部分。

1) 判別器部分。

(1)

式中:xi為采樣樣本,Pr是真實圖像分布,PG是生成器生成的圖像分布。

對于判別器,在輸入真實圖像時,判別器D(xi)的期望輸出越大越好,即Exi~PrlnD(xi)越大越好;在輸入生成圖像時,判別器D(xi)的期望輸出越小越好,即Exi~PGln [1-D(xi)]越小越好。

2) 生成器部分。

Exi~PGln [1-D(xi)]。

(2)

對于生成器的優化目標,在對判別器輸入為生成圖像時,判別器的輸出期望越大越好,即Exi~PGln [1-D(xi)]越小越好。

定義V(D,G)為優化目標,則有:

(3)

式中:PG=G(z),z~N(μ,σ2);V(D,G)為關于判別器與生成器的優化函數;∏(Pr,PG)是真實樣Pr與生成樣本PG的聯合分布;z是符合某種分布的噪聲,往往是正態分布。

在固定生成器G(z)時,最優的判別器

(4)

當判別器最優時,生成器的優化目標為:

(5)

引入KL散度和JS散度:

divKL(P1‖P2)=Exi~P1ln (P1/P2)。

(6)

(7)

式中P1與P2為不同的樣本分布。

將生成器優化目標寫成JS散度的形式:

2divJS(Pr‖PG)-2ln 2。

(8)

JS散度存在弊端,當真實樣本分布Pr與生成樣本分布PG分布完全不重疊時,JS散度恒為ln 2。即無論Pr與PG的分布多近或多遠,JS散度為定值,這導致了梯度消失;而在實際情況中,Pr與PG的分布完全不重疊的情況十分常見,JS散度存在的弊端直接導致了原始的GAN難以訓練。

EM距離W(Pr,PG)可以更好地衡量2個分布的差距。

(9)

對于聯合分布樣本σ,從中采樣真實樣本xr和生成樣本xG,計算2者距離,取下界,定義為EM距離。

BEGAN將樣本分布的優化轉化為樣本重構誤差L的優化,即:

L(xi)=|xi-D(xi)|η。

(10)

式中η∈[1,2]。

除此之外,BEGAN還引入了多樣性比例γ和比例控制原理,使得網絡可以調節多樣性和生成質量。

(11)

式中:Rd為標簽中缺陷像素占比,yd為缺陷樣本,yb為背景樣本,μ為尺寸自適應權重,gd為生成缺陷樣本,gb為生成背景樣本,α為調節權重。

1.2 網絡結構

生成器與判別器均采用編碼-解碼器的形式。編碼器的網絡結構如圖1所示,輸入經過純卷積網絡進行下采樣,最終到15×15像素大小。傳統的最大池化下采樣不適用于語義生成任務,抑制低激活值不利于網絡推導織物紋理。下采樣部分采用卷積進行,卷積核4×4,步長為2。

解碼器的作用主要是還原圖像分辨率以及產生紋理。傳統網絡上采樣為避免訓練初期出現的周期性噪聲而回避使用反卷積,轉而采用雙線性插值進行上采樣。而在織物缺陷生成任務中,訓練初期反卷積的周期性噪聲的出現有利于織物底紋的推理,故采用反卷積進行上采樣,同時串聯一個3×3的卷積進一步產生紋理。解碼器網絡結構如圖2所示。

圖1 編碼器網絡結構Figure 1 Encoder structure

圖2 解碼器網絡結構Figure 2 Decoder structure

生成器與判別器采用相同的結構,唯一不同的是生成器的輸入維度m=6,而判別器的輸入維度m=3。模型添加了大跨度的特征融合,編碼器的特征與其尺寸匹配的解碼器特征相加。每個卷積層后添加BN層,使用ELU作為激活函數。整體采用大跨度的特征連接用于補充特征損失,輔助輪廓推導。圖3所示為整體網絡結構。

圖3 生成器/判別器網絡結構Figure 3 Generator/discriminator network structure

1.3 參數選擇

在BEGAN的訓練過程中,采用Adam優化器,β1=0.500,β2=0.999。為確保生成樣本的多樣性,在BEGAN的損失函數中,多樣性比例γ=1,λk=0.001。在生成器訓練過程中,圖4中展示了不同α下的生成結果。在α=10.0時,生成圖像清晰度低,真實性較差;在α=1.0時,清晰度提高;α=0.1時,生成圖像清晰,真實性好。過高的L1損失函數權重α將導致生成網絡多樣性降低,且生成的圖像較為模糊,故取α=0.1。

圖4 不同α的生成結果Figure 4 Generation results for different α

2 語義分割

語義分割網絡同樣采用編碼-解碼器的形式,采用帶空洞卷積的空間池化金字塔(atrous spatial pyramid pooling,ASPP)結構[13],最小下采樣尺寸為30×30像素,這是保持織物缺陷不被縮放的最小下采樣尺寸。設置尺寸自適應函數對Dice損失函數進行加權。

2.1 缺陷分析及損失函數設計

采樣得到的織物圖像分辨率為1 920×1 440像素,將整張圖像作為網絡輸入將導致過高的顯存占用,現有的深度學習框架在并行處理中能取得更高的處理效率,所以原圖像被分割張數為4×3子圖像,每張子圖像經過雙線性插值縮放到240×240像素。

織物疵點數據中,缺陷的分布并不均勻,有數量與大小的差距,語義分割中,每個像素點都被視為一個樣本,那么織物缺陷的樣本分布是十分不均勻的,呈現無缺陷樣本與有缺陷樣本的不均衡,缺陷的樣本種類間不均衡。這種不均衡的現象導致像素數量占比較低的缺陷種類容易被忽略,這部分的損失容易被背景稀釋,導致無法收斂或者滯后收斂。

Dice損失函數可以很好反映網絡輸出結果與目標的差距,這使得Dice損失函數在語義分割任務中被廣泛地使用。原始Dice損失函數無法解決樣本不均的問題,需要尺寸自適應函數解決樣本不均衡的問題,將尺寸自適應函數改變相位如下:

式中:pd為網絡預測輸出,td為標簽。

2.2 網絡結構

語義分割網絡同樣采用編碼-解碼器的結構,如圖5所示。殘差塊是編碼器網絡的基本組成,它可以更好地補充特征,同時還能防止網絡退化。編碼器將輸入下采樣至30×30像素的大小。240×240像素的圖像中,缺陷的最小跨度為8個像素,故30×30像素的大小是保證缺陷不被縮放的最小下采樣尺寸。在下采樣后,采用了ASPP以不同空洞率Dr對解碼器的底層特征進行采樣,這是為了能夠更好地提取到不同尺度的缺陷,同時也能擴大感受野,更好地檢測尺度較大的缺陷。解碼器中,使用了反卷積進行上采樣,相較于雙線性插值上采樣,反卷積可以更好地推理輪廓,同時可以減少特征張量的維度,減少計算量。

2.3 參數選擇

語義分割網絡訓練中,使用Adam優化器,Adam優化器參數β1=0.900,β2=0.999。訓練采用使用余弦退火學習率,參數為T0=12,Tmult=2。

圖5 語義分割網絡結構Figure 5 Semantic segmentation network structure

3 實驗結果

BEGAN在數據集上使用尺寸自適應L1損失函數與原始L1損失函數各訓練了1 800次,使用測試集并進行數據擴充,增加缺陷多樣性。語義分割網絡在原始數據集上,使用原始Dice損失函數與尺寸自適應Dice損失函數各訓練了1 000次。在使用BEGAN擴充的數據集上,使用尺寸自適應Dice損失函數訓練1 000次。將結果進行對比分析。

3.1 BEGAN實驗結果

圖6所示為不同訓練階段下的缺陷圖片生成圖像,可以明顯地觀察到:使用尺寸自適應損失函數的生成結果優于原始L1損失,使用尺寸自適應L1損失函數的圖像更加清晰,缺陷部分更加真實、清晰。

圖6 原始L1損失函數與尺寸自適應L1損失函數生成圖像對比Figure 6 Comparison of original L1 loss function and size-adaptive L1 loss function generated images

3.2 語義分割實驗結果

圖7所示為在原始Dice損失與尺寸自適應Dice損失下, 模型訓練中驗證集精度的對比。由圖7可以看出在使用原始Dice損失時,模型的收斂出現了明顯的滯后。這是因為在原始Dice損失下,小尺寸缺陷的損失被稀釋,模型難以訓練,負樣本優先于正樣本收斂,最終導致模型訓練時間過長。尺寸自適應Dice損失函數能很好地解決這一問題,正、負樣本損失分開計算可以減輕負樣本對正樣本的稀釋。尺寸自適應函數對不同尺寸缺陷進行自適應權重分配,提高小尺寸缺陷的損失占比,由此解決正樣本間不均衡問題。使用尺寸自適應Dice損失函數使得模型的檢測精度提高了11.1%。

圖7 Dice損失函數與尺寸自適應Dice損失函數模型準確率對比Figure 7 Accuracy comparison of Dice loss function and size-adaptive Dice loss function models

圖8所示為使用BEGAN擴充數據集并且適應尺寸自適應Dice損失函數訓練的模型的檢測結果。模型可檢測多種顏色及紋理的機織物,對缺陷的分割以及分類效果較好,能劃分復雜形狀缺陷輪廓,對于孔洞、斷紗等小尺寸缺陷的檢測效果優異。

圖8 語義分割網絡檢測結果Figure 8 Semantic segmentation network detection results

圖9所示為使用原始數據集訓練出的語義分割網絡與使用BEGAN擴充過的數據集訓練的語義分割網絡的性能對比。使用傳統數據增強相較于使用原始數據集的提升較小,因為傳統的數據增強只是對現有圖片進行旋轉、縮放、翻轉等操作,本質上并未產生新的樣本。使用BEGAN擴充的數據集更接近缺陷的真實分布,并且生成樣本經過判別器篩選,擴充的缺陷圖像皆是從隨機語義標簽重新生成的,缺陷圖像更加多樣,使得訓練出的模型魯棒性更好。

圖9 不同數據增強方法對比Figure 9 Comparison of different data enhancement methods

均交并比(mean intersection over union,MIoU)為語義分割的標準度量,計算所有類別交集和并集之比的平均值:

式中:n為預測類別數量;TP表示模型預測為正例,實際也為正例,預測正確;FN表示模型預測為反例,實際為正例,預測錯誤;FP表示模型預測為正例,實際為反例,預測錯誤。

表1所示為不同數據增強方法下,模型的檢測精度。使用BEGAN的語義生成方法獲得了最好的效果,在測試集上獲得90.8%的MIoU均值。

表1 數據增強方法對比

4 結語

課題組針對織物缺陷檢測中的數據集缺失設計了語義生成網絡,使用BEGAN平衡生成器與判別器,加入尺寸自適應的L1損失函數輔助訓練,提升缺陷圖像生成質量。語義生成的圖像經過判別器篩選后進入擴充數據集,使得缺陷圖像真實性更好。相較于傳統數據增強方法,語義生成的圖像更加真實,且能產出全新樣本;相較于傳統GAN進行的數據擴充,語義生成可以指定位置、形狀和類別進行針對性生成,免去標注過程。

在語義分割方面,提出了尺寸自適應Dice損失函數,該損失函數能夠解決樣本不均衡問題,使得網絡對小缺陷更加敏感, 提高檢出率。尺寸自適應Dice損失函數相較于原始的Dice損失函數收斂更快,且最終得到的模型檢測精度提高了11.1%。

使用BEGAN的免標注的數據集擴充,與傳統數據增強方法進行對比,使用尺寸自適應Dice損失函數對模型進行訓練,避免模型收斂滯后。最終在測試集上得到均交并比為90.8%,在GTX 1080Ti的運行速度可達到99幀/s。

猜你喜歡
散度織物語義
帶勢加權散度形式的Grushin型退化橢圓算子的Dirichlet特征值的上下界
無Sn-Pd活化法制備PANI/Cu導電織物
《紡織品織物折痕回復角的測定》正式發布
竹纖維織物抗菌研究進展
語言與語義
具有部分BMO系數的非散度型拋物方程的Lorentz估計
H型群上一類散度形算子的特征值估計
H?rmander 向量場上散度型拋物方程弱解的Orlicz估計
“上”與“下”語義的不對稱性及其認知闡釋
織物柔軟劑的香氣發展趨勢
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合