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

?

基于改進(jìn)型SSD算法的空瓶表面缺陷檢測(cè)

2020-04-23 11:18:46吳華運(yùn)任德均呂義昭
關(guān)鍵詞:空瓶特征提取尺度

吳華運(yùn),任德均,付 磊,郜 明,呂義昭,邱 呂

(四川大學(xué)機(jī)械工程學(xué)院,四川 成都 610065)

0 引 言

隨著現(xiàn)代工業(yè)技術(shù)的快速發(fā)展,注塑空瓶在生產(chǎn)效率上有了巨大的提升,然而效率的提高也帶來許多的產(chǎn)品質(zhì)量問題。注塑空瓶在生產(chǎn)制造過程中會(huì)出現(xiàn)諸如瓶身劃痕、缺料、孔洞、砂眼、污漬等缺陷,如圖1所示。這些缺陷不僅會(huì)影響產(chǎn)品外形包裝的美觀,而且還會(huì)影響產(chǎn)品的銷售和使用。因此,對(duì)瓶體表面進(jìn)行缺陷檢測(cè),有著重要的意義。傳統(tǒng)的檢測(cè)往往由人工來完成,工作量大、勞動(dòng)強(qiáng)度高,容易受到檢測(cè)人員主觀因素的影響,存在檢測(cè)效率和檢測(cè)精度低等缺點(diǎn)?;跈C(jī)器視覺的檢測(cè)技術(shù)由于檢測(cè)精度高、速度快等優(yōu)點(diǎn)已經(jīng)被應(yīng)用在瓶體表面缺陷檢測(cè)領(lǐng)域。

圖1 空瓶表面不同缺陷類型

在過去的幾年中,傳統(tǒng)的缺陷檢測(cè)算法已經(jīng)被廣泛應(yīng)用于工業(yè)產(chǎn)品質(zhì)量檢測(cè)。然而,傳統(tǒng)檢測(cè)算法多基于手工特征提取的方法,特征提取算子提取的特征通常處于較低水平,在針對(duì)復(fù)雜的場(chǎng)景變化,如光照變換、透視失真、遮擋、物體變形等情況下,所提取的特征通常很難用于缺陷分類和識(shí)別,因此許多算法在實(shí)際環(huán)境中并不適用。

深度學(xué)習(xí),特別是卷積神經(jīng)網(wǎng)絡(luò),其特征提取器和分類器可以從輸入圖片本身進(jìn)行端對(duì)端的訓(xùn)練。與傳統(tǒng)表面缺陷檢測(cè)算法相比,深度學(xué)習(xí)目標(biāo)檢測(cè)算法可以通過卷積神經(jīng)網(wǎng)絡(luò)對(duì)瓶體缺陷圖片進(jìn)行學(xué)習(xí),自動(dòng)地從圖像中提取缺陷的特征,具有學(xué)習(xí)能力強(qiáng)且識(shí)別精度高、速度快等眾多優(yōu)點(diǎn)。深度學(xué)習(xí)目標(biāo)檢測(cè)算法可以分為2類:1)基于區(qū)域的目標(biāo)檢測(cè)算法,如Faster R-CNN[1]、Mask R-CNN[2]等RCNN系列檢測(cè)算法,該類算法檢測(cè)精度高,但速度較慢,無法滿足實(shí)時(shí)檢測(cè)的需求;2)基于回歸的檢測(cè)算法,如YOLO[3]、SSD[4]等算法,這類算法檢測(cè)精度不如第一類,但檢測(cè)速度快,可以滿足實(shí)時(shí)檢測(cè)的需求。

本文以基于回歸的SSD算法為基礎(chǔ),將瓶體圖片中的缺陷作為檢測(cè)目標(biāo),在SSD算法的網(wǎng)絡(luò)模型中引入了注意力機(jī)制模塊,提高特征圖之間的通道依賴性,設(shè)計(jì)尺度特征融合模塊,增加特征魯棒性,擴(kuò)大特征圖的感受野,有效提高了檢測(cè)精度。本文研究主要包括:

1)首次將深度學(xué)習(xí)目標(biāo)檢測(cè)算法應(yīng)用于注塑空瓶表面缺陷檢測(cè)領(lǐng)域,并取得遠(yuǎn)高于傳統(tǒng)機(jī)器視覺算法的精度。

2)設(shè)計(jì)特征融合模塊。實(shí)現(xiàn)將高層語義特征和低層細(xì)節(jié)特征相融合,提高特征魯棒性;引入膨脹卷積操作,有效地?cái)U(kuò)大了特征圖的感受野。

3)在殘差網(wǎng)絡(luò)瓶頸模塊中引入注意力機(jī)制模塊,建立特征圖遠(yuǎn)程依賴關(guān)系,增強(qiáng)特征提取能力,從而提高檢測(cè)精度。

1 相關(guān)工作

卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被驗(yàn)證是有效的端對(duì)端的解決方案,可以解決各種視覺任務(wù),例如檢測(cè)[5]、分割[6]、目標(biāo)跟蹤[7]、風(fēng)格遷移[8]等。目前,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛地應(yīng)用于各種缺陷檢測(cè)算法中。文獻(xiàn)[9]提出了一種基于神經(jīng)網(wǎng)絡(luò)的工件缺陷檢測(cè)算法,作者結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn),仿照目標(biāo)檢測(cè)網(wǎng)絡(luò)YOLOv3[10]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的端到端檢測(cè)分類器,并完成連鑄方坯缺陷的識(shí)別與分類實(shí)驗(yàn)。文獻(xiàn)[11]提出了對(duì)Faster R-CNN網(wǎng)絡(luò)模型進(jìn)行優(yōu)化與改進(jìn),然后采用優(yōu)化與改進(jìn)后的網(wǎng)絡(luò)模型對(duì)鐵軌表面缺陷進(jìn)行檢測(cè)研究,最終能夠精確且高效地檢測(cè)到鐵軌表面缺陷。文獻(xiàn)[12]提出了一種基于正樣本訓(xùn)練的新型缺陷檢測(cè)框架,該框架將GAN[13]和自動(dòng)編碼器結(jié)合起來用于缺陷圖像重建,并使用LBP[14]進(jìn)行圖像局部對(duì)比以檢測(cè)缺陷。文獻(xiàn)[15]提出了結(jié)合選擇搜索和卷積神經(jīng)網(wǎng)絡(luò)的區(qū)域提出方法的兩階段算法,它可以檢測(cè)并識(shí)別感興趣區(qū)域,完成對(duì)膠囊表面缺陷檢測(cè)。這些文獻(xiàn)均使用深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)來解決工業(yè)產(chǎn)品表面缺陷檢測(cè)任務(wù),并取得了較好的檢測(cè)結(jié)果。針對(duì)空瓶檢測(cè)領(lǐng)域,本文使用深度學(xué)習(xí)目標(biāo)檢測(cè)算法對(duì)空瓶表面缺陷進(jìn)行檢測(cè)和識(shí)別。

2 基于SSD算法檢測(cè)原理及優(yōu)化

2.1 基于SSD算法的瓶體表面檢測(cè)算法原理

SSD算法是一種基于回歸的端對(duì)端的目標(biāo)檢測(cè)算法,它在YOLO的基礎(chǔ)上加入了Faster R-CNN的anchor機(jī)制,在檢測(cè)性能上高于YOLO的檢測(cè)精度和Faster R-CNN的檢測(cè)速度。在網(wǎng)絡(luò)結(jié)構(gòu)上SSD使用了VGG16[16]作為網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),用來對(duì)整幅圖片進(jìn)行特征提取,并在VGG16網(wǎng)絡(luò)后加入新的網(wǎng)絡(luò)層。每個(gè)特征層的尺度是不一樣的,以便后續(xù)做多尺度特征提取。

SSD算法網(wǎng)絡(luò)將經(jīng)過預(yù)處理后瓶體缺陷圖片縮放至512×512,然后送入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行推理,根據(jù)網(wǎng)絡(luò)模型的輸出結(jié)果對(duì)缺陷進(jìn)行分類和定位。相比于YOLO對(duì)原始圖片劃分柵格,SSD依次對(duì)特征圖上所有的點(diǎn)做處理,以每個(gè)特征圖上對(duì)應(yīng)坐標(biāo)的特征向量為預(yù)測(cè)目標(biāo)。針對(duì)不同尺度的特征圖,不同尺寸的目標(biāo),對(duì)于每個(gè)特征圖上的點(diǎn)重新設(shè)計(jì)了多重特征提取框。SSD在每個(gè)特征圖上的坐標(biāo)點(diǎn)設(shè)置了6個(gè)不同尺度的默認(rèn)框,然后根據(jù)這些默認(rèn)框來提取特征,并將這些特征用來預(yù)測(cè)目標(biāo)的類別和邊界框。SSD使用3×3的卷積核來提取每一個(gè)默認(rèn)框中的特征,每一種特征用到的卷積核為3×3×6×(class+4),其中,6為特征圖坐標(biāo)點(diǎn)上默認(rèn)框的個(gè)數(shù);class為檢測(cè)目標(biāo)的類別數(shù),在本文數(shù)據(jù)集中class=4;4為預(yù)測(cè)的目標(biāo)邊界框與真實(shí)邊界框之間的偏差。若特征圖尺寸為m×n,每個(gè)坐標(biāo)點(diǎn)有6個(gè)框,將產(chǎn)生m×n×6×(class+4)的輸出結(jié)果,最后將這些結(jié)果放入損失函數(shù)中計(jì)算損失。

模型損失函數(shù)由分類損失函數(shù)和回歸損失函數(shù)組成。分類損失為多類Softmax損失函數(shù),計(jì)算公式如下:

(1)

回歸損失為smooth L1 loss,計(jì)算公式如下:

(2)

(3)

模型總損失函數(shù)為:

(4)

其中,N為匹配成功的正樣本數(shù)量,如果N=0,則損失為0;α是定位損失和分類損失之間的比重;x是用來判斷默認(rèn)框中是否有對(duì)應(yīng)的目標(biāo)。

2.2 SDD網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化

為了提高SSD模型對(duì)瓶體缺陷的檢測(cè)能力,本文對(duì)SSD網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)由特征提取網(wǎng)絡(luò)、尺度特征融合模塊、分類和回歸網(wǎng)絡(luò)組成,如圖2所示。缺陷圖片經(jīng)特征提取網(wǎng)絡(luò)提取特征,然后尺度特征融合模塊對(duì)特征圖進(jìn)一步融合增強(qiáng),最后在分類和回歸層進(jìn)行預(yù)測(cè)。

優(yōu)化后的網(wǎng)絡(luò)使用Resnet50作為基礎(chǔ)網(wǎng)絡(luò),相較于原始的VGG16,Resnet50有著更高的分類準(zhǔn)確率和更少的參數(shù)量,為了保持原始算法的多尺度訓(xùn)練和預(yù)測(cè),在基礎(chǔ)網(wǎng)絡(luò)后增加了conv5_1、conv5_2、conv6_1、conv6_2、conv7_1、conv7_2等卷積層。因此,本文算法是在layer2、layer3、layer4、con5_2,conv6_2、conv7_2等6個(gè)不同尺度的特征圖上做預(yù)測(cè)。為保證預(yù)測(cè)層具有豐富的尺度特征,本文在f_1、f_2、f_3、f_4、f_5、f_6等特征圖上引入了尺度特征融合模塊,從而得到融合后的特征圖ef_1、ef_2、ef_3、ef_4、ef_5、ef_6。

圖2 改進(jìn)SSD算法模型結(jié)構(gòu)圖

改進(jìn)后的模型相較原始SSD算法有了很大的精度提升,但對(duì)于較小類缺陷檢測(cè)精度提升較小。為此,本文在Resnet[17]網(wǎng)絡(luò)的瓶頸模塊中插入全局上下文模塊(Global Context Block, GCBlock),用來獲取全局語義特征,GCBlock被插入在conv1×1卷積之后。通過在數(shù)據(jù)集上驗(yàn)證,GCBlock在一定程度上增強(qiáng)了網(wǎng)絡(luò)特征提取能力,提高了空瓶表面缺陷的檢測(cè)精度。

除此之外,本文損失函數(shù)采用FocalLoss[18]損失函數(shù),替代原始多類的Softmax損失函數(shù)。在預(yù)測(cè)過程中,通過采用Soft-NMS[19]策略在大量的預(yù)測(cè)結(jié)果中篩選出最優(yōu)框,以得到最佳的檢測(cè)結(jié)果。

2.3 注意力機(jī)制

在卷積神經(jīng)網(wǎng)絡(luò)中,卷積層建立像素關(guān)系通常處于局部領(lǐng)域,而遠(yuǎn)距離依賴關(guān)系卻需要深度堆疊卷積來實(shí)現(xiàn),然而這種簡單重復(fù)的堆疊卷積層的方法不僅效率低下,而且造成網(wǎng)絡(luò)難以優(yōu)化。近年來,為了解決這個(gè)問題,眾多的注意力機(jī)制網(wǎng)絡(luò)被提出,如SENet[20]、NLNet[21]、GCNet[22]。本文為了獲取全局語義特征,提高檢測(cè)精度,引入GCNet網(wǎng)絡(luò)中的全局上下文模塊。全局上下文模塊由上下文建模模塊、特征變換模塊和特征融合模塊構(gòu)成。上下文建模模塊主要包含一個(gè)1×1的卷積和一個(gè)Softmax函數(shù),該模塊通過權(quán)重αj的加權(quán)平均將所有位置的特征組合在一起,以獲得全局上下文特征。在特征變換模塊中,首先使用1×1的卷積對(duì)特征圖進(jìn)行降維,然后再用1×1的卷積對(duì)特征圖進(jìn)行升維。為了降低瓶頸變換帶來的優(yōu)化難度,在瓶頸變換內(nèi),即在ReLU之前添加了歸一化層,這樣一方面可以簡化模型優(yōu)化,另一方面對(duì)模型起正則化的作用。

詳細(xì)的GCBlock結(jié)構(gòu)如圖3所示,公式定義為:

(5)

圖3 全局上下文模塊

2.4 尺度特征融合模塊

SSD算法在檢測(cè)上同時(shí)利用低層特征和高層特征在不同特征層進(jìn)行預(yù)測(cè),但這種方式獲得的特征魯棒性不強(qiáng),都是一些弱特征。受SIFT[23]特征提取的啟發(fā),本文嘗試使用一種新穎的模塊來提取尺度、形狀和位置不變性的特征。尺度不變特征變換是計(jì)算機(jī)視覺中的特征檢測(cè)算法,用于檢測(cè)和描述圖像中的局部特征。該算法提出高斯拉普拉斯特征表示方法,可以將尺度空間特征和金字塔多分辨率特征融合在一起。與SIFT中的高斯函數(shù)相似,本文使用不同膨脹因子的膨脹卷積[24]來獲得具有相同比例但感受野不同的特征,提出一種新的特征融合方式尺度特征融合模塊(Scale Feature Fusion Module, SFFM),如圖4所示,通過將低層細(xì)節(jié)特征和高層語義特征相融合,增加特征的魯棒性;同時(shí)在融合的過程中使用不同膨脹因子的膨脹卷積,用來擴(kuò)大特征圖感受野。

圖4 尺度特征融合模塊詳細(xì)結(jié)構(gòu)

尺度特征融合模塊主要將第i層高層語義特征與第j層細(xì)節(jié)特征相融合,其過程如下:

1)將第i層的特征圖上采樣2倍后與第j層的特征圖相加。

2)將相加后的特征圖使用膨脹因子為3、5、7、9,核尺寸為3×3的卷積核對(duì)特征圖做卷積操作。

3)將產(chǎn)生的5個(gè)不同感受野的特征圖堆疊在一起,采用1×1的卷積形成最終融合后的特征圖。

定義ef_i∈RC×H×W表示第i層的特征圖,f_j∈RC×2H×2W表示第j層的特征圖,Z∈RC×2H×2W表示ef_i和f_j相加后的特征圖,ef_j∈RC×2H×2W表示融合后的特征圖,其中特征圖通道數(shù)C=256。則圖4的計(jì)算過程可用公式表示為:

Z=fsum(f_j,fup(ef_i) )

(6)

ef_i=fconcat(fdilation(Z) )

(7)

其中,fup表示上采樣,fsum表示加運(yùn)算,fdilation表示膨脹卷積操作,fconcat表示將融合后的特征圖連接起來。

3 實(shí) 驗(yàn)

3.1 實(shí)驗(yàn)設(shè)置

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

本文使用的數(shù)據(jù)集由在線采集的注塑空瓶表面帶有缺陷的圖片組成,圖片分辨率大小為1280×960,對(duì)采集的圖片缺陷使用LabelImg進(jìn)行標(biāo)注,數(shù)據(jù)標(biāo)注格式為PascalVOC格式,為了防止訓(xùn)練過程中產(chǎn)生過擬合現(xiàn)象,對(duì)標(biāo)注的7512幅圖片進(jìn)行旋轉(zhuǎn)、鏡像、顏色通道變化等數(shù)據(jù)增強(qiáng)技術(shù),最終得到30048幅圖像。對(duì)被標(biāo)注后的數(shù)據(jù)集進(jìn)行訓(xùn)練設(shè)置,如表1所示。

表1 訓(xùn)練測(cè)試數(shù)據(jù)設(shè)置詳細(xì)

3.1.2 實(shí)驗(yàn)環(huán)境

本文使用深度學(xué)習(xí)框架PyTorch搭建實(shí)驗(yàn)運(yùn)行環(huán)境來對(duì)瓶體缺陷圖片進(jìn)行研究,并在GeForce GTX 1080Ti顯卡環(huán)境下進(jìn)行GPU加速運(yùn)算。詳細(xì)軟件和硬件配置如表2所示。

表2 實(shí)驗(yàn)運(yùn)行環(huán)境

3.1.3 性能評(píng)價(jià)指標(biāo)

為了評(píng)估檢測(cè)的效果,本文采用準(zhǔn)確率(Accuracy)、漏檢率、誤檢率和均值平均精度(mAP)等性能評(píng)價(jià)指標(biāo)對(duì)檢測(cè)效果進(jìn)行評(píng)估。準(zhǔn)確率計(jì)算方法如式(8)所示,均值平均精度計(jì)算方法如式(9)所示:

(8)

(9)

其中,TP表示被正確預(yù)測(cè)為缺陷數(shù)目,F(xiàn)P表示為錯(cuò)誤預(yù)測(cè)為背景的數(shù)目,F(xiàn)N表示錯(cuò)誤預(yù)測(cè)為缺陷的數(shù)目,TN表示正確預(yù)測(cè)為背景的數(shù)目。

3.1.4 訓(xùn)練

本文實(shí)驗(yàn)均使用Xavier初始化方法對(duì)網(wǎng)絡(luò)模型進(jìn)行初始化。輸入圖像大小為512×512,訓(xùn)練過程使用隨機(jī)梯度下降算法對(duì)網(wǎng)絡(luò)進(jìn)行迭代優(yōu)化,設(shè)置動(dòng)量為momentum=0.9,權(quán)重退化率為weightdecay=0.0005,輸入批次為batchsize=16,初始學(xué)習(xí)率為learningrate=0.001,在迭代次數(shù)為75000次和90000次時(shí),學(xué)習(xí)率分別為0.0001和0.00001,總迭代次數(shù)為105000次。

3.2 SSD算法優(yōu)化前后結(jié)果對(duì)比

為了驗(yàn)證優(yōu)化后的SSD算法對(duì)空瓶表面缺陷檢測(cè)的有效性,本文分別對(duì)原始SSD算法,SSD+GC Block、SSD+SFFM以及本文方法等4種不同網(wǎng)絡(luò)結(jié)構(gòu)的SSD算法在測(cè)試集上的檢測(cè)效果進(jìn)行對(duì)比。同時(shí)為了驗(yàn)證全局上下文模塊和特征融合模塊對(duì)模型準(zhǔn)確率的影響,本文通過向SSD算法中分別加入圖3和圖4結(jié)構(gòu),在空瓶缺陷數(shù)據(jù)集上進(jìn)行訓(xùn)練和驗(yàn)證,得出的檢測(cè)結(jié)果如表3所示。對(duì)比結(jié)果可知,本文提出的算法較原始SSD算法在漏檢率、誤檢率、準(zhǔn)確率和均值平均精度上都有了較大的提升。在SSD網(wǎng)絡(luò)中加入尺度特征融合模塊和全局上下文模塊均可以提高模型的檢測(cè)精度。相較于全局上下文模塊,尺度特征融合模塊可以得到更高的檢測(cè)精度,同時(shí)也帶來檢測(cè)時(shí)間的消耗。

表3 不同算法在空瓶數(shù)據(jù)集上的檢測(cè)結(jié)果 單位:%

圖5展示了SSD算法和本文算法在不同缺陷類型上的檢測(cè)效果圖。由圖5可知,本文方法較SSD算法對(duì)空瓶缺陷有更好的檢測(cè)效果。尤其對(duì)于劃痕類缺陷,本文方法有更高的定位精度,更低的誤檢率和漏檢率。

(a) Ground Truths

(b) SSD檢測(cè)結(jié)果

(c) 本文算法檢測(cè)結(jié)果

4 結(jié)束語

本文采用深度學(xué)習(xí)目標(biāo)檢測(cè)SSD算法對(duì)空瓶表面缺陷進(jìn)行了檢測(cè)。為了滿足工業(yè)檢測(cè)所需要達(dá)到的檢測(cè)精度,本文在SSD算法的網(wǎng)絡(luò)模型中插入全局上下文模塊,提高特征提取的能力;在預(yù)測(cè)層引入尺度特征融合模塊,一方面使得低層特征和高層特征相融合,增強(qiáng)了特征的魯棒性,另一方面擴(kuò)大特征圖的感受野,提高檢測(cè)的精度。通過對(duì)SSD算法的優(yōu)化,在滿足工業(yè)檢測(cè)時(shí)間的條件下,檢測(cè)準(zhǔn)確率達(dá)到了98.3%,較原始算法提升了5.6個(gè)百分點(diǎn),漏檢率降低到0.74%,誤檢率降低到0.96%。相較于人工檢測(cè)方法,本文提出的方法有更高的優(yōu)勢(shì)。

猜你喜歡
空瓶特征提取尺度
一個(gè)空瓶
滿瓶不響空瓶響
財(cái)產(chǎn)的五大尺度和五重應(yīng)對(duì)
分批換VS一次換
買酒還瓶
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
Bagging RCSP腦電特征提取算法
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
基于MED和循環(huán)域解調(diào)的多故障特征提取
9
广州市| 杭州市| 新龙县| 塔城市| 疏勒县| 沾益县| 南靖县| 饶阳县| 仙桃市| 北票市| 色达县| 昌图县| 新化县| 鹤庆县| 杂多县| 辽阳县| 平远县| 平南县| 大竹县| 鹤庆县| 台江县| 浮山县| 丰原市| 腾冲县| 甘洛县| 衡山县| 玉环县| 武清区| 永胜县| 禹城市| 竹山县| 石楼县| 英德市| 府谷县| 东港市| 临桂县| 隆林| 桃园市| 西城区| 南投市| 五家渠市|