?

基于語義分割的織物疵點檢測算法研究

2024-01-31 01:32趙浩銘張團善馬浩然任經琦
現代紡織技術 2024年1期
關鍵詞:疵點類別損失

趙浩銘,張團善,馬浩然,任經琦

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

織物疵點檢測在紡織領域中有著關鍵作用,缺陷較多的織物會對工廠生產效率產生負面影響,所以織物缺陷的快速檢測對提升織物質量、提高生產效率都有著重要意義。隨著計算機檢測技術的發展,機器視覺的應用使織物疵點檢測的準確率顯著提高。目前主要應用的織物疵點檢測方法有基于結構、統計、頻譜、網絡模型和機器學習的方法[1]?;诮Y構的方法雖然比較簡單,但是基于結構的方法過于局限,只能將疵點從織物紋理中分離出來;基于統計學的方法,灰度共生矩陣所需數據量大,計算量大,在分辨率較高的圖像中,其檢測效果不好;基于頻譜的方法,傅里葉變換只適用于全局檢測,在空間上的應用較差,實時性,通用性不佳。針對那些方法的缺點,所以出現了卷積神經網絡,基于卷積神經網絡的織物疵點檢測算法被廣泛用于疵點檢測[2]。

國內已有學者用卷積神經網絡進行織物疵點檢測。顧德英等[3]在ResNet50的基礎上融入了可變形卷積(Deformable convolutional networks,DCN)結構模型,模型對不規則疵點的檢出率得到了提高,使用了BFP-FPN模塊使網絡中不同層次存在的特征不均衡問題得到了解決。趙樹煊等[4]提出一種基于兩階段深度遷移學習的面料疵點檢測算法,使用聚類算法及先驗知識遷移的方法實現對面料通用特征提取能力的遷移,提高模型訓練效率。高敏等[5]在YOLOv5算法的基礎上,加入一種輕量注意力模塊(Convolutional block attention module,CBAM)和通道注意力機制模塊(Squeeze-and-Excitation,SE)增強了圖像在通道域和空間域上信息表達能力及特征的提取,使模型聚焦于圖像中的關鍵信息,提高了網絡的檢測精度。

基于對相關文獻的閱讀,發現數據集在深度學習中起到了尤為重要的作用,數據集的規模越大,類型越全,越能反映出實際狀態下的缺陷分布。但是數據集中難免有些細小疵點的像素占比少,檢出精度不高。通過對諸多網絡模型的學習,多分類Focal Loss損失函數可提高小疵點類型的權重,增大其比重。Resnet中的殘差連接可使網絡深度加深,獲得更深層次的圖片特征,U-net中的Encoder-decoder結構適用于分割問題,下采樣時的低分辨率信息和上采樣的高分辨率信息填補底層信息以提高分割精度[6]。對疵點中常出現的條帶狀疵點,模型在每個下采樣的過程中加入了多尺度卷積注意力機制(Multi-scale convolutional attention mechanism,MSCA),其條帶狀卷積可針對性地解決此問題?;谝陨?文章提出的CS model可有效解決數據分類不均及小疵點檢測精度問題。

1 研究方法

1.1 研究思路

本研究提出的織物疵點檢測算法主要工作流程:首先對數據集的圖像進行預處理,傳入圖片及標簽;然后進入網絡特征提取部分,為了使疵點特征提取更細節,將MSCA注意力機制放到每一個殘差連接中,增大其感受野,使小疵點特征及條帶狀疵點特征更易識別;特征提取完畢后進行上采樣,還原圖片大小,融合特征,訓練時使用Focal Loss損失函數為小疵點目標添加較大權重,使網絡注意到更多的小疵點目標;最后進行對比試驗,與U-Net、ResNet50、VGG16、DeepLabV3網絡模型對比訓練結果,得到Loss曲線,準確率曲線,反復調整Focal Loss參數匹配最優實驗結果。

1.2 CS model模型結構

網絡結構整體采用了類似U-Net網絡架構,Encoder-decoder結構,網絡的左半部分是卷積操作特征提取,右半部分是反卷積恢復圖像特征。Encoder[7]是由卷積層ResLayer ResBlock和MSCA注意力機制組成,逐層提取圖像特征,降低維度。Decoder[8]由反卷積和上采樣組成,用于還原圖像尺寸和分辨率,恢復圖像位置特征信息。上采樣過程中取6次尺寸不同的特征圖,用以評估網絡模型分割的效果優劣,將這6次特征圖相加,使不同層次的特征進行融合,可得到最終輸出圖片。模型結構如圖1所示。

圖1 CS model結構Fig.1 CS model structure diagram

1.2.1 ResLayer、ResBlock模塊

隨著神經網絡的發展,學者為了使網絡結構加大,一種深度殘差網絡ResNet被提出[9],其允許網絡可以盡可能地加深,其將一部分輸入數據不經過網絡訓練直接和輸出數據相加,保留一部分原始信息,這種結構有效防止了深層網絡的退化問題以及梯度消失或爆炸問題,使得網絡深度可以達到上百層,ResNet中的殘差塊對網絡更深層次的拼接起到了關鍵作用,其結構如圖2所示。

圖2 ResNet殘差塊結構Fig.2 ResNet residual block structure

ResNet網絡原理是在一個較淺的網絡架構[10]基礎上添加幾個恒等的映射層(Identity mapping,即y=x),其他層從學習的淺層模型復制,既增加了網絡的深度,又有效提高網絡的表達能力。殘差結構計算如式(1)、式(2)所示:

y1=h(xk)+F(xk,Wk)

(1)

xk+1=f(yk)

(2)

式中:x和y分別表示各層的輸入和輸出向量,F(xk,Wk)表示要學習的殘差映射,h(x)=xk表示恒等映射,f表示Relu[11]激活函數。式(2)表示通過一個捷徑連接和逐個元素相加,之后使用第2次線性修正,殘差結構需要殘差映射F(x)與恒等映射X的維度相同才能相加[12]。此網絡的殘差塊結構如圖3所示。

圖3 ResLayer結構Fig.3 ResLayer structure diagram

ResBlock結構和ResLayer結構相似,將5×5的卷積換為3×3卷積即為ResBlock結構,選取5×5卷積核可以使網絡提取不同的感受野以及不同的特征[13],有助于之后3×3的卷積核提取的特征相融合。

1.2.2 卷積模型架構

下采樣的卷積架構分為卷積層,批歸一化和激活函數三部分。卷積核大小為2×2,步長為2,每次卷積操作后,圖片長寬縮小為上一層的1/2,以保留更多的細微疵點特征。為了輸入網絡中的數據分布盡可能地規范化,采用Batch Normalization[14](批歸一化)使數據滿足均值為0,方差為1的分布規律,避免梯度消失,減少訓練時間。

上采樣卷積架構同下采樣卷積架構,分為反卷積層,批歸一化和激活函數三部分??椢锎命c圖像有較多細節特征,下采樣縮小圖片的同時導致圖像丟失較多細節,經過上采樣,反卷積過程使圖像恢復原始尺寸大小,還原圖像細節,避免圖像失真[15]。

1.3 MSCA注意力機制

MSCA為多尺度卷積注意力機制[16],其結構如圖4所示。

圖4 多尺度卷積注意力(MSCA)結構Fig.4 Multiscale convolution attention (MSCA) structure diagram

MSCA采用了大卷積核分解,多分支并行架構[17],使得MSCA注意力機制對不同尺度的目標具有很強的適應性,可聚合多尺度通道信息[18]。

MSCA主要包含3個部分:用于聚合局部信息的深度卷積、用于捕獲多尺度上下文的多分支深度條帶卷積、用于建模不同通道之間關系的1×1卷積。首先用5×5的卷積核對輸入的每一個通道進行卷積,然后將每一個通道的信息進行融合,深度卷積減少了網絡的參數量,并且先考慮了空間,再考慮了通道,實現了通道和空間的分離,此操作只是對特征圖進行了尺寸調整,通道數沒有發生變化,于是將前面的特征圖進行二次卷積,這時采取的卷積核都是1×1大小的,濾波器包含了和上一層通道數一樣數量的卷積核。深度卷積可提取各通道更充分的特征以及更輕量化的計算。

深度條帶卷積[19]是輕量級的為了模擬n×n的標準2D卷積,只需要一對1×n和n×1的卷積。疵點中有一些線條狀疵點,如斷經,斷緯等,因此,條帶狀卷積可以是網格狀卷積的補充,有助于提取條帶狀特征。卷積核在深層次時采用1×3、3×1以及1×5、5×1的組合,在尺寸較小的圖中,小尺寸卷積核可更準確細致地采集到圖片特征,使得疵點深度特征更清晰。

1×1卷積的輸出直接用作注意力權重來重新加權MSCA的輸入,更加關注數據集中微小疵點的分割。

2 多類別Focal Loss損失函數

織物疵點數據集中,缺陷樣本分類不均衡,且疵點有數量和大小的差距,存在有缺陷樣本和無缺陷樣本的不均衡性。疵點相對于整幅圖像為小樣本,像素占比小,上述存在的不均衡性導致像素占比較小的前景(即疵點)容易被背景稀釋,導致檢出準確率不高。Focal Loss是一種處理樣本分類不均衡的損失函數[20],根據樣本是否容易區分給樣本添加權重,即給易區分的樣本添加小權重α1,給難分辨樣本添加大權重α2。其數學表達式如式(3)所示:

FL(pt)=-(1-pt)γlog(pt)

(3)

式中:FL為圖像中每個像素點的Focal Loss損失函數值;-log(pt)為初始交叉熵函數值;pt表示模型對像素點的分類概率,γ是聚焦系數,取值范圍一般為正數。當γ為0時,Focal Loss就是傳統的交叉熵損失函數[21]。γ取值越大,它對多數類和少數類之間相平衡的效果就越好,但γ不可選擇得過大,過大會降低整個模型的準確率。

本文所用的多類別Focal Loss損失函數的數學表達式如式(4)、式(5):

FL(pt)=-αt(1-pt)γlog(pt)

(4)

(5)

通過αt可抑制正負樣本的數量失衡,freq(t)表示第t類疵點在數據集中的出現頻率,αt表示損失函數中第t類的初始權重大小,初始權重的大小由加權系數β控制,β越大,低頻率出現的類別初始權重越大[22]。γ可控制難/易區分樣本的數量失衡。調質因子(1-pt)γ用來減低易分類樣本的損失貢獻,無論前景還是背景,pt越大,說明該樣本越容易被區分,調質因子越小。αt用于調節正負樣本損失之間的比例,前景使用αt對應背景使用1-αt[23]。

3 試驗與分析

3.1 數據集的構建

實驗數據集由課題組根據不同疵點類型的布匹自主構建,約1400張圖片包含斷經、斷緯、結頭、跳紗、污漬、破洞6種疵點類型。由于大部分疵點較小,圖片中包含背景較多,即各疵點類別像素點占數據集中像素點總數較少,比率較低,通過像素點占比來衡量數據集中的類別不平衡問題,數據集中各疵點類別的出現頻率如圖5所示。

圖5 數據集中各類別像素所占比例Fig.5 Proportion of pixels in each category in the dataset

此數據集存在著嚴重的類別不平衡問題,背景占比過大,最小的破洞像素占比為0.009為斷經像素占比0.14的1/15。將數據集按8/1/1分為訓練集、驗證集和測試集,進行訓練和測試。

3.2 實驗設計

首先將劃分好的數據集分別用當前主流的U-Net 模型、ResNet50模型、VGG16模型、DeeplabV3模型進行訓練,訓練完成后在測試集上對Acc(準確率)和mIoU(交并比)指標進行測試對比;然后將CS model應用了Focal Loss損失函數進行數據集的訓練和測試,再將應用了MSCA注意力機制的CS model進行訓練比較,分別測試分析模型的準確率以及泛化性。

3.3 評價指標

Acc作為模型在訓練階段評價其分割能力是否優異的指標,準確率大小基于rIoU的大小變化。其數學表達式如式(6)。

(6)

式中:k表示疵點類別,k+1表示疵點和背景總類別,i表示真實值,j表示預測值,pij表示將i預測為j,pji表示將j預測為i,pii表示將i預測為i。rIoU為每個類別的真實值和預測值的平均交并比[24]。

將數據集取出一部分進行預測,結果可分為以下4種。若一張圖片語義標簽沒有疵點,模型預測其為無疵點,稱為真正類(True positive,TP),若一張圖片語義標簽沒有疵點,模型預測其為有疵點,稱為假負類(False negative,FN);若一張圖片語義標簽有疵點,模型預測其為無疵點,成為假正類(False Positive,FP),反之,若模型預測其為無疵點,稱為真負類(True Negative,TN)[25]。準確率A的計算如式(7)所示:

(7)

此外,訓練過程中的Loss(損失值)也是評價模型是否合理,性能是否優越的一個重要指標,Loss越小,說明其預測值和樣本真實值之間的差異程度越小,模型性能越好。

3.4 模型訓練

實驗室所用的環境配置為Windows 10、處理器為Inter(R)Core(TM)i9-9900K、64 GB內存、顯卡為NVIDIAGeForceRTX 2080Ti。程序中設置實驗過程每個Batch輸出Loss和平均準確率,最高準確率。當最高準確率改變便保存一次權重,訓練400次通過Loss值及準確率調整學習率大小,提高網絡的穩定性,以免出現過擬合現象,調整Batch-size(批次)大小,防止網絡陷入局部最優解或網絡難以收斂,增強網絡的魯棒性。為了得到足夠準確和泛化能力更好的模型,需要在訓練過程中記錄訓練集損失和驗證集損失,以及訓練集準確率和驗證集準確率。網絡訓練過程的準確率曲線如圖6所示,損失函數曲線如圖7所示。 訓練準確率和驗證準確率都平穩接近于91%;訓練損失曲線穩定趨近于0.02,驗證損失曲線穩定趨近于0.038,因此模型的泛化性和魯棒性滿足于實驗需求。

圖6 CS model準確率曲線Fig.6 CS model accuracy curve

圖7 CS model損失值曲線Fig.7 CS model loss value curve

3.5 實驗分析

針對所構建的網絡模型進行參數調整,對不同聚焦系數和加權系數組合下的多類別Focal Loss損失函數進行訓練,實驗中分別選取如下值進行訓練:

聚焦系數γ取2和5,比較像素占比大或小的樣本權重不同對訓練效果的影響。

加權系數β取0和1,比較各種初始化權值對訓練效果的影響。

訓練結果如表1所示。

表1 不同超參數下網絡mIoU值Tab.1 mIoU value of network under different hyperparameters

由表1可看出在所有超參數組合中,組合γ=5,β=1的訓練效果最好,說明給易區分樣本權重取小值,難分類樣本權重取較大值可使模型分割效果變優, 使網絡得到優化。

聚焦系數γ、加權系數β的不同取值對訓練結果的影響如下。

a)聚焦系數γ對訓練結果的影響。

從模型訓練結果rIoU來看,γ取值較大時網絡模型在難區分樣本中的表現優越,類別趨于平衡,根據rIoU指標可知在織物疵點檢測語義分割任務中,取γ=2最合適。

b)加權系數β對訓練結果的影響。

比較兩種β取值的訓練結果,可以看出在聚焦系數γ不變的情形下,取β=1時,模型的各種訓練性能指標都比β=0時的訓練指標好。說明對于小類別給予較大的初始權重效果較好,在損失函數中根據類型出現頻率賦予不同的初始權值可以提高模型的分割能力并且減少類別不均衡現象。

利用訓練好的模型及其他主流分割模型在分割好的數據集上分別進行實驗驗證,實驗結果如表2所示。

表2 其他主流分割模型與本研究模型在數據集上對比結果Tab.2 Comparative results of other mainstream segmentation models and this research model on data sets

由表2可知,CSmodel算法性能優異,較U-Net測試精度提高了2.98%,rIoU較DeepLabV3提高了6.04%,性能得到了大幅提高。

表3所示為不同網絡模型對6種類型疵點的分割結果。對比U-Net、ResNet50、VGG16和DeepLabV3網絡的分割結果,可發現CS model網絡模型分割結果的準確度和分割邊緣的平滑程度要優于其他4個網絡,可看出使用Focal Loss損失函數和MSCA注意力機制得到的分割效果優于其余網絡。小類別疵點類型不平衡現象得到了優化。

表3 6種疵點類型在不同網絡的對比效果Tab.3 Comparative effect of six defect types in different networks

4 結 論

針對織物缺陷檢測中的數據集每類樣本分布不均及分割精度問題,文章設計了CS model網絡模型,依照主流的ResNet網絡設計成模塊,組成網絡的基本模塊,將網絡設計成U-net架構,提取疵點特征。應用了多類別Focal Loss損失函數,該損失函數可在訓練過程中根據出現頻率分配相應的權值,出現頻率小的賦予大權值。通過Acc和mIoU指標衡量模型對小類別疵點分割的準確率,分析了多類別Focal Loss對模型數據集分類不均衡問題的影響,通過調節Focal Loss超參數對比分析對模型準確率的影響。實驗結果表明,CS model網絡應用多類別Focal Loss損失函數可將疵點分割準確率達到91%,對織物疵點檢測領域有實際的意義。

猜你喜歡
疵點類別損失
胖胖損失了多少元
噴絲板疵點檢測系統設計
基于FPGA的圖像疵點處理設計與實現
玉米抽穗前倒伏怎么辦?怎么減少損失?
家蠶品種單粒繭絲疵點差異及遺傳性研究初報
服務類別
一般自由碰撞的最大動能損失
損失
論類別股東會
中醫類別全科醫師培養模式的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合