国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SVDD與VGG的紐扣表面缺陷檢測

2024-03-21 02:00:22樊鑫江楊大利侯凌燕
計算機工程與設(shè)計 2024年3期
關(guān)鍵詞:球體紐扣卷積

樊鑫江,佟 強,楊大利,侯凌燕,梁 旭

(北京信息科技大學 計算機學院,北京 100101)

0 引 言

紐扣作為紡織品中重要的組成部分,其質(zhì)量直接影響到服裝的銷售。紐扣生產(chǎn)過程會在其表面出現(xiàn)多種瑕疵,檢測這些瑕疵是紐扣生產(chǎn)工廠在使用人工檢測紐扣表面缺陷的主要部分,如何高效檢測紐扣表面缺陷成為當下紐扣生產(chǎn)工廠的一個難題。目前已有多種基于圖像處理的方法來解決該難題,已有方法[1-3]在檢測紐扣表面某些缺陷上均取得了不錯的效果,但其無法檢測紐扣表面所有的缺陷類型,不具實用性。近年來,深度學習及卷積神經(jīng)網(wǎng)絡(luò)已廣泛應(yīng)用在表面檢測[4-7],已有方法[8,9]雖然均可對表面缺陷進行檢測分類,但工廠并不需要對缺陷進行分類、定位或提取。

結(jié)合以上所述,本文提出一種基于DEEP SVDD[10]模型,以改進VGG16為其特征提取網(wǎng)絡(luò)的方法,比起傳統(tǒng)的圖像處理方法及新興的深度學習方法,本文方法可同時檢測出多種紐扣表面缺陷,且無需對缺陷進行分類、定位、提取。

本文的主要創(chuàng)新點如下:

(1)為滿足紐扣表面檢測的實時性要求,在每一層卷積層后引入BN層來加快網(wǎng)絡(luò)收斂;

(2)針對使用原始VGG16作為模型特征提取網(wǎng)絡(luò)時,模型對紐扣表面缺陷檢測的性能不夠高,在每一個卷積塊后引入SE注意力模塊提升網(wǎng)絡(luò)的特征提取能力;

(3)針對模型太大參數(shù)過多,不適用于實際紐扣檢測的問題,將VGG16三層全連接層替換為全局平均池化層(global average pooling,GAP),減少模型參數(shù)量,使模型更加健壯。

1 模型簡介

1.1 DEEP SVDD模型簡介

DEEP SVDD模型由一個深度自編碼器及一個DEEP SVDD超球體組成,其中超球體使用改進VGG16訓(xùn)練而成。

1.1.1 深度自編碼器

深度自編碼器是目前主流的無監(jiān)督方法之一,包括編碼器(encoder)和解碼器(decoder)兩部分。其功能是通過將輸入信息作為學習目標,對輸入信息進行表征學習,常用于數(shù)據(jù)降維及異常檢測。

圖1 深度自編碼器原理

1.1.2 DEEP SVDD超球體

DEEP SVDD模型從輸入空間學習帶有權(quán)重W的神經(jīng)網(wǎng)絡(luò)φ(·;W),繼而輸出空間F,試圖將大多數(shù)數(shù)據(jù)網(wǎng)絡(luò)表示映射到一個以中心c和最小體積半徑R為特征的超球體中。正常樣本位于球內(nèi),而異常樣本位于球外,以此判斷數(shù)據(jù)是否為正常樣本或異常樣本。DEEP SVDD的原理如圖2所示。

圖2 DEEP SVDD原理

DEEP SVDD模型根據(jù)數(shù)據(jù)的分布不同,可分為兩種方法:①當訓(xùn)練數(shù)據(jù)存在極少量或沒有異常樣本時,方法為Soft-boundary DEEP SVDD(軟邊界DEEP SVDD);當訓(xùn)練數(shù)據(jù)全部為正常樣本時,方法為One-class DEEP SVDD(一類DEEP SVDD)。

(1)

式中:c是超球體的圓心,R是超球體的半徑;v是懲罰參數(shù),n是樣本數(shù)量,x1,…,xn代表樣本數(shù)據(jù);W為神經(jīng)網(wǎng)絡(luò)權(quán)重,φ(·;W) 為神經(jīng)網(wǎng)絡(luò)權(quán)重W的特征表示;λ控制正則化的權(quán)重;L為神經(jīng)網(wǎng)絡(luò)總層數(shù),且∈{1,…,L},W為每一層的權(quán)重。

式(1),第一項最小化超球體的體積;第二項懲罰超球體外的數(shù)據(jù);第三項防止網(wǎng)絡(luò)過擬合。式(1)可得優(yōu)化出的權(quán)重W*和超球半徑R*,同時使得樣本數(shù)據(jù)映射在超球體的球心附近,并允許一些點存在于邊界之外。

就軟邊界DEEP SVDD算法來說,對于數(shù)據(jù)集X中的每一個待測樣本x,將該樣本映射到高維空間中,得到該樣本在超球體空間的映射后,再計算該點到超球體球心的距離與球體半徑之間的大小,以此作為該點的異常分數(shù)值s(x),如式(2)所示

(2)

一類DEEP SVDD:當所有的樣本均為正常樣本,DEEP SVDD 目標函數(shù)可簡化為下式

(3)

式中:c是超球體的球心;n是樣本數(shù)量;x1,…,xn代表樣本數(shù)據(jù);W為神經(jīng)網(wǎng)絡(luò)權(quán)重,φ(·;W) 為神經(jīng)網(wǎng)絡(luò)權(quán)重W的特征表示;λ控制正則化的權(quán)重;L為神經(jīng)網(wǎng)絡(luò)總層數(shù),且∈{1,…,L},W為每一層的權(quán)重。

式(3)中第一項懲罰每個網(wǎng)絡(luò)數(shù)據(jù)表示到超球體球心的距離;第二項防止網(wǎng)絡(luò)過擬合。

就一類DEEP SVDD算法來說,對于數(shù)據(jù)集X中的每一個待測樣本x,將該樣本映射到高維空間中,得到該樣本在超球體空間的映射后,再計算該點到超球球心的距離,作為該點的異常分數(shù)值s(x)

(4)

DEEP SVDD模型通過聯(lián)合訓(xùn)練得出異常分數(shù)值,繼而判斷樣本屬于正常或異常樣本。

1.2 VGG16簡介

VGG由牛津大學在2014年提出,其中VGG16被廣泛應(yīng)用在圖像分類與目標識別領(lǐng)域,因而本文中使用VGG16進行訓(xùn)練。VGG16采用3×3的卷積核來提取特征,與之前使用一個卷積核較大的卷積層的網(wǎng)絡(luò)模型相比,VGG16使用多個較小卷積核的卷積層,不僅減少了參數(shù),還增加了非線性映射,增強了網(wǎng)絡(luò)的擬合能力。VGG16由13層卷積層和3層全連接層組成,每個卷積塊之間由最大池化層相連。VGG16網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 VGG16網(wǎng)絡(luò)結(jié)構(gòu)

2 改進VGG16

針對原始VGG16模型復(fù)雜,網(wǎng)絡(luò)參數(shù)量過多,訓(xùn)練時長過久,結(jié)合紐扣表面存在細小弱瑕疵難以檢測等問題,如左側(cè)中間有一處小劃痕右側(cè)字母R印成P等,紐扣表面細小弱瑕疵示例如圖4所示。

圖4 紐扣表面細小弱瑕疵

作出的改進見第2.1節(jié)、第2.2節(jié)、第2.3節(jié)。

2.1 卷積后引入BN層

卷積神經(jīng)網(wǎng)絡(luò)學習過程本質(zhì)就是為了學習數(shù)據(jù)分布,隨著網(wǎng)絡(luò)層數(shù)加深,能夠提取到的信息也越來越多,分類結(jié)果也越來越精準,但也伴隨著風險,卷積層數(shù)的增加,訓(xùn)練時長也隨著變長,過擬合風險隨之增大,造成模型識別效果不好,網(wǎng)絡(luò)泛化能力也隨之降低;且模型訓(xùn)練時是將數(shù)據(jù)集分為多個批次(batch)進行訓(xùn)練,并非一次性全部訓(xùn)練完,每個batch輸入一定數(shù)目的數(shù)據(jù),當每批訓(xùn)練數(shù)據(jù)的分布差異較大時,網(wǎng)絡(luò)就要在每次訓(xùn)練時去適應(yīng)不同的分布,這樣就會降低網(wǎng)絡(luò)的訓(xùn)練速度,而實際生產(chǎn)檢測中紐扣檢測需要達到每秒幾十個紐扣的速度,模型學習速度過慢會導(dǎo)致無法實時化,即無法投入實際使用。

為解決以上問題,對每一個卷積層輸出的值進行規(guī)范化,使相鄰兩個卷積層的輸入數(shù)據(jù)的分布相對穩(wěn)定,使網(wǎng)絡(luò)訓(xùn)練過程更加穩(wěn)定,提高網(wǎng)絡(luò)泛化能力[11],提高訓(xùn)練速度,達到紐扣檢測的實時性要求。

2.2 引入SE注意力模塊

SE注意力模塊由Hu等[12]提出的注意力機制,且是目前主流的注意力機制之一。SE注意力模塊是一種通道注意力,通過網(wǎng)絡(luò)計算出輸入圖像各個特征通道的權(quán)重,從而實現(xiàn)對特征通道的校正,強調(diào)有用信息,剔除無價值的信息,提高特征表示能力,且該模塊是一種輕量級的模塊,可輕易地加入模型中,一般加在卷積塊后,在模型上只增加少量的模型復(fù)雜度及計算量。SE模塊的原理如圖5所示。

圖5 SE注意力模塊原理

SE注意力模塊主要包含Squeeze和Excitation兩部分。

圖5中,F(xiàn)tr表示卷積操作;X表示Ftr的輸入;U為Ftr的輸出;C、W、H分別表示圖像的通道數(shù)、寬度和高度;C′、W′、H′為Ftr之前的圖像通道數(shù)、寬度和高度。

Ftr卷積公式如式(5)所示

(5)

將生成的特征圖U經(jīng)過全局池化層Fsq壓縮操作成C個維度為1×1的實數(shù),F(xiàn)sq操作如式(6)所示

(6)

為捕獲通道之間的相關(guān)性,將壓縮后的c個實數(shù)進行Fex激勵操作,以W為參數(shù)為所有的通道生成權(quán)值,F(xiàn)ex激勵操作如式(7)所示

Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))

(7)

最后將激勵層的輸出作為衡量每個通道的重要性的參數(shù),通過Fscale操作將該參數(shù)添加到各個通道的原始特征中,實現(xiàn)對原始特征權(quán)重的重新標定。Fscale的公式如式(8)所示

(8)

簡而言之,Squeeze,即圖中Fsq,通過在Feature Map層上執(zhí)行全局池化,得到當前Feature Map的全局壓縮特征量,1×1×C;Excitation,即圖中Fex,通過兩層全連接得到Feature Map中每個通道的權(quán)值,并將加權(quán)后的Feature Map作為下一層網(wǎng)絡(luò)的輸入。

在圖像分類任務(wù)中,網(wǎng)絡(luò)經(jīng)常會因為對細小弱目標的漏檢而造成整體正確率的下降,在紐扣檢測中,有些瑕疵相較于紐扣本身,過于細小,肉眼難辨,結(jié)合其種類不同產(chǎn)生瑕疵也不同,造成模型檢測精度不理想。

為解決上述問題,本文通過在網(wǎng)絡(luò)中嵌入SE注意力模塊,一方面對模型整體參數(shù)量影響不大,相對于原模型,加入SE注意力模塊后的參數(shù)量及模型大小僅提升0.05%,另一方面提升網(wǎng)絡(luò)的特征提取能力,使網(wǎng)絡(luò)對紐扣表面的細小弱瑕疵更加注重,提高網(wǎng)絡(luò)對這些細小弱瑕疵的檢測能力,從而提高分類的正確率。VGG16改進前后參數(shù)及模型大小情況見表1。

表1 VGG16改進前后參數(shù)及模型大小

2.3 替換全局平局池化層

VGG16模型由13層卷積層和3層全連接層組成,總參數(shù)量為136 349 440,其中三層全連接層的參數(shù)量占總量89.21%,參數(shù)量過大,占用大量計算資源,降低模型學習速度,易過擬合,降低模型泛化能力。在紐扣實際生產(chǎn)檢測環(huán)境中,工廠應(yīng)用于紐扣檢測的硬件設(shè)施往往不夠好,此時若模型太大,不利于紐扣檢測,影響檢測的實時性和準確率。

為解決全連接層帶來的負面影響,提高紐扣檢測的速度,引入全局平均池化層,使用全局平均池化層代替VGG16中三層全連接層,大幅減少參數(shù)量,使得模型更加健壯,降低過擬合風險[13],同時也節(jié)省了硬件開支。由表1可知,將全連接層替換為全局平均池化層后,參數(shù)量和模型大小均下降了87.51%。

3 實 驗

本文實驗的硬件環(huán)境為CPUE5-26502.20 GHz,GPUTESLA P100,16 G,軟件環(huán)境為Python 3.8.8,Pytorch 1.8.1,Cuda 11.1。

3.1 數(shù)據(jù)集

分別采集5種紐扣的正負樣本作為實驗數(shù)據(jù)集。其中訓(xùn)練集全部由正樣本組成,測試集由剩余的正樣本及負樣本組成,其中測試集由300張正品及100張次品組成。負樣本中包括劃痕、內(nèi)孔缺少/多、輪廓凸起、輪廓缺陷、字母漏印等。數(shù)據(jù)集分布見表2。

表2 數(shù)據(jù)集分布

其中Blue紐扣次品分別為內(nèi)孔缺失、輪廓缺失;Gray紐扣次品分別為字母漏印、輪廓瑕疵;White1紐扣次品分別為內(nèi)孔缺失、邊緣缺失;White2紐扣次品分別為劃痕、內(nèi)孔缺失;White3紐扣次品分別為邊緣瑕疵、內(nèi)孔增多。正負樣本例圖見表3。

表3 紐扣正負樣本示例

3.2 評價指標

本文引入ROC_AUC(receiver operating characteristic-area under the curve)作為模型的性能評價指標。AUC即ROC曲線下的面積,而ROC曲線的橫軸是FPR,縱軸是TPR。真正率(True Positive Rate,TPR):所有真實類別為正的樣本中,預(yù)測類別為正的比例,混淆矩陣見表4。

表4 混淆矩陣

結(jié)合表4可得式(9)

(9)

假正率(False Positive Rate,F(xiàn)PR):所有真實類別為負的樣本中,預(yù)測類別為正的比例,結(jié)合表4混淆矩陣可得式(10)

(10)

AUC越大,越趨近于1,模型性能越好。

3.3 實驗方案與流程

3.3.1 實驗方案

本文對VGG16進行了3處改進,設(shè)計了3組實驗分別驗證改進的有效性。

(1)實驗一:對比VGG16加入BN層前后AUC值及程序時長,檢驗BN層是否具有加快收斂,提高模型速度的功能;

(2)實驗二:對比VGG16_BN在引入SE注意力模塊前后的AUC值,驗證SE注意力模塊的有效性及對原模型參數(shù)量及大小的影響;

(3)實驗三:將VGG16_BN_SE在替換全局平局池化層后,與替換前及傳統(tǒng)單分類/異常檢測方法IF、OCSVM、SVDD等對比其結(jié)果的AUC值及模型大小,檢驗?zāi)P褪欠衲茉诒WCAUC的前提下,降低模型大小。

3.3.2 實驗流程

首先,使用正樣本組成的數(shù)據(jù)集作為訓(xùn)練集進行訓(xùn)練,通過深度自編碼器降維并求解出DEEP SVDD超球體的圓心及網(wǎng)絡(luò)權(quán)重,再配合改進VGG16進行訓(xùn)練,將正樣本緊縮在一個超球體中,測試時,使用正負樣本組成的測試集,并通過訓(xùn)練出的模型測試得出每個樣本的分數(shù),不同類別的紐扣得出的圓心及半徑各不相同,因此每個類別正次判斷的標準并不一致,根據(jù)每個類別訓(xùn)練得出的圓心及半徑數(shù)據(jù),由異常分數(shù)判斷紐扣是否合格。實驗流程如圖6所示。

圖6 實驗流程

3.4 本文方法與其它單分類/異常檢測方法比較

3.4.1 孤立森林(Isolation Forests,IF)

孤立森林是一種經(jīng)典的異常檢測算法,無需標簽,屬于無監(jiān)督方法。孤立森林認為異常樣本比正常樣本少,特征差異較大,因此異常樣本容易被孤立,孤立森林通過構(gòu)建二叉樹的方式孤立每一個異常樣本,以此來判斷樣本正次。該算法具有線性時間復(fù)雜度和計算率高的特點[14]。

3.4.2 單類支持向量機(oneclass support vector machine,OCSVM)

OCSVM的基本思想是建立一個超平面,將兩個類別以最大間隔分開,在正常數(shù)據(jù)點和原點之間具有最大間隔的方式來構(gòu)造分離的超平面,一個新的數(shù)據(jù)樣本如果位于邊界之內(nèi),則將被分類為正常樣本;反之,當其位于邊界之外時被視為異常[15]。

3.4.3 支持向量數(shù)據(jù)描述(support vector data description,SVDD)

SVDD的基本思想是建立一個盡可能小的超球體,利用這個超球體去包含所有的數(shù)據(jù),當要測試一個新的數(shù)據(jù)時,只需判斷數(shù)據(jù)是在超球體內(nèi)還是超球體外即可實現(xiàn)分類,與本文中DEEP SVDD方法原理類似,但SVDD為淺層方法。當SVDD使用高斯核時,SVDD與OCSVM等價,因此本文將OCSVM與SVDD視為一種方法。

3.5 結(jié)果與分析

VGG16改進前后程序運行時間,包括訓(xùn)練、測試時長、總時長,及平均每幅圖像測試時間。由表5可知,在DEEP SVDD的兩種方法ONECLASS及SOFT-BOUNDARY(以下簡稱SOFT)中,VGG16的訓(xùn)練時長最久,加入BN層后訓(xùn)練時長明顯下降,引入SE注意力模塊后,訓(xùn)練時長略微有所下降,替換全局平均池化層后,即本文方法,訓(xùn)練時長相較以上方法均有下降;平均每幅圖像測試時間方面,表5各方法差距不大,均在4.5 ms/幅。VGG16改進前后程序運行時長分布見表5。VGG改進前后在DEEP SVDD兩種方法的AUC值見表6。

表5 VGG16改進前后程序時長對比

表6 VGG16改進前后AUC值

由表6可知,VGG16的平均AUC值分別為88.48%及90.83%;引入BN層后,5種紐扣的AUC值各有升降,平均AUC值變化不大;引入SE注意力模塊后,5種紐扣的AUC值均有上升;本文改進VGG16在5種紐扣的AUC值相較于以上方法均有上升,其中SOFT方法平均AUC值在所有方法中最高。

3.5.1 實驗結(jié)果

(1)實驗一結(jié)果

由表5及表6可知,在網(wǎng)絡(luò)中加入BN層,可以提高訓(xùn)練速度,加快收斂,但在AUC值上影響不大。

(2)實驗二結(jié)果

由表6可知,在加入SE注意力模塊后,模型對5種紐扣的AUC值均有不同程度的提升,平均AUC值分別提升7.28%、4.89%。結(jié)合表1、表5和表6可知,實驗二驗證了引入SE注意力模塊一方面提高了AUC值,一方面只增加了少量了參數(shù)量及模型大小,僅為原模型的0.05%。

(3)實驗三結(jié)果

由表5可知,將全連接層替換為全局平均池化層,降低了參數(shù)量,對模型訓(xùn)練速度有一定提升。單分類/異常檢測方法AUC值見表7。

表7 單分類/異常檢測方法AUC值

由表7可看出,IF、OCSVM、SVDD等淺層方法對紐扣的檢測精度都不夠高,其中IF平均AUC可達到89.72%。

結(jié)合表5、表6可知,使用DEEP SVDD模型時,5種紐扣的AUC值明顯增加,其中改進VGG16在Blue紐扣上可達到100%的AUC,ONECLASS方法在White3類型紐扣上的AUC值超過了SOFT方法,在Gray、White1、White2這3種紐扣類型上,SOFT方法勝過了ONECLASS方法。且兩種方法在5種紐扣均達到了96%以上的AUC,在平均AUC值方面,使用改進VGG16時的軟邊界DEEP SVDD算法效果最好,達到了96.73%,平均每幅圖像測試時間僅需4.5 ms。

3.5.2 分析

結(jié)合表5~表7及實驗一、實驗二、實驗三可得出結(jié)論,本文對于VGG16的3處改進,相較于原模型,收斂速度加快,程序運行時長減少,平均AUC值提高,參數(shù)量減少,模型大小降低。此外,本文方法在紐扣表面缺陷檢測上的性能表現(xiàn)比單分類/異常檢測方法要好。

通過對檢測失敗的紐扣圖像進行觀察發(fā)現(xiàn),由于采集圖像時沒有使用固定光源,自然光源下中午及傍晚采集效果相差較大,導(dǎo)致部分正品紐扣圖像被誤檢為次品,由此可知,工廠在使用機器檢測紐扣表面缺陷時,需安裝固定光源,保證采集到的圖像不會因為光源問題影響檢測結(jié)果。

4 結(jié)束語

本文針對人工檢測紐扣效率低且無需對瑕疵分類的現(xiàn)狀,提出一種基于DEEP SVDD與改進VGG16的紐扣表面缺陷檢測模型。在VGG16模型基礎(chǔ)上,為加快模型訓(xùn)練及收斂速度引入BN層;為增強網(wǎng)絡(luò)特征提取能力引入SE注意力模塊;為減少模型參數(shù)量,降低過擬合風險,替換VGG16的全連接為全局平均池化層。相較于VGG16,本文方法提升了模型的分類能力,此外,與傳統(tǒng)單分類方法相比,本文方法的平均AUC值高于這些方法,在本文中實驗平均AUC可達到96%以上,單張紐扣圖像的檢測時間為4.5 ms,滿足實時性及精確度要求。

猜你喜歡
球體紐扣卷積
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
計算機生成均值隨機點推理三、四維球體公式和表面積公式
消費電子(2020年5期)2020-12-28 06:58:27
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于傅里葉域卷積表示的目標跟蹤算法
閃閃亮亮紐扣畫
學生天地(2017年36期)2018-01-31 02:05:44
廣告創(chuàng)意新方法——球體思維兩極法
紐扣變變變
紐扣
玩轉(zhuǎn)紐扣
Optimization of rice wine fermentation process based on the simultaneous saccharification and fermentation kinetic model☆
泽普县| 报价| 乌恰县| 酒泉市| 临西县| 旺苍县| 枣强县| 监利县| 明星| 祁门县| 元阳县| 汉沽区| 吴江市| 泰顺县| 崇仁县| 独山县| 永昌县| 赞皇县| 右玉县| 东城区| 邮箱| 定西市| 元阳县| 宁安市| 河北省| 英德市| 满洲里市| 商南县| 宁津县| 科技| 新化县| 巴林左旗| 弥渡县| 磴口县| 龙山县| 黄骅市| 姜堰市| 吉安县| 英德市| 江口县| 屯昌县|