• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Faster R-CNN的玻璃瓶缺陷檢測技術(shù)

      2021-08-04 11:55:16張師嘉
      關(guān)鍵詞:玻璃瓶特征提取殘差

      林 峰,張師嘉,傅 莉

      (沈陽航空航天大學(xué) a.電子信息工程學(xué)院;b.自動(dòng)化學(xué)院,沈陽 110136)

      玻璃瓶在日常生活中的廣泛應(yīng)用推動(dòng)了玻璃瓶生產(chǎn)需求,同時(shí)玻璃瓶質(zhì)量的檢測給生產(chǎn)廠家?guī)淼睦_也隨之而來,裂紋,氣泡等缺陷容易導(dǎo)致玻璃瓶包裝產(chǎn)品爆瓶,給玻璃瓶消費(fèi)者帶來的安全隱患也隨之而來。最初,在玻璃瓶的質(zhì)量檢測上使用較多的是人工檢測,大批量檢測工作強(qiáng)度、疲勞作業(yè)、操作不當(dāng)?shù)纫蛩貙?dǎo)致肉眼檢測準(zhǔn)確性不穩(wěn)定,并且在不同的光線背景下黑點(diǎn)、氣泡等這類小目標(biāo)缺陷,通過肉眼很難辨識(shí)出來,導(dǎo)致檢測結(jié)果不可靠,直接影響了生產(chǎn)質(zhì)量。相比之下,實(shí)現(xiàn)玻璃瓶的自動(dòng)化檢測具有更多優(yōu)勢(shì),而基于機(jī)器視覺的檢測技術(shù)已廣泛應(yīng)用于交通[1]、醫(yī)療[2]、農(nóng)業(yè)[3]、通信[4]、工業(yè)生產(chǎn)[5]等行業(yè)其在玻璃瓶質(zhì)量檢測中的應(yīng)用日漸普及。

      傳統(tǒng)的玻璃瓶缺陷檢測算法主要有3個(gè)步驟構(gòu)成[6]:(1)選出候選檢測區(qū)域;(2)提取待測目標(biāo)特征;(3)設(shè)計(jì)分類器分類。傳統(tǒng)的缺陷檢測方法[7]需要基于人類的先驗(yàn)知識(shí)實(shí)現(xiàn)提取缺陷特征,然后再進(jìn)行分類,可以達(dá)到一定程度的檢測效果。但是面對(duì)缺陷的多樣性,數(shù)據(jù)量劇增等情況仍有滑窗效率低下、特征不夠魯棒等不足之處存在,阻礙了在工業(yè)生產(chǎn)中的大規(guī)模應(yīng)用[8]。

      近幾年,深度學(xué)習(xí)在目標(biāo)檢測領(lǐng)域的優(yōu)勢(shì)逐漸顯現(xiàn)出來,然而深度學(xué)習(xí)并不是近幾年才誕生的全新技術(shù),早在2006年,Hinton[9]等人提出了深度學(xué)習(xí)這一概念,運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)從數(shù)據(jù)中學(xué)習(xí)特征。隨著GPU(Graphics Processing Unit)在矩陣計(jì)算領(lǐng)域的能力不斷提升,2012年,深度卷積神經(jīng)網(wǎng)絡(luò) AlexNet[10]的首次提出使人們把目光再一次聚集在了深度學(xué)習(xí)上。從R-CNN[11](Region-based Convolutional Neural Networks)到Fast R-CNN[12]再到Faster R-CNN[13],被稱為R-CNN系列,他們都是先提取候選框,再進(jìn)行分類與回歸的原理,被稱為two-stage方法。

      本文針對(duì)玻璃瓶缺陷目標(biāo)的檢測問題,將FasterR-CNN引入到玻璃瓶缺陷檢測的瓶身檢測任務(wù)中,根據(jù)玻璃瓶的缺陷特征以及實(shí)驗(yàn)環(huán)境對(duì)Kaming He等人在文獻(xiàn)[12]中提出的FasterR-CNN進(jìn)行了改進(jìn),選擇適用的特征提取網(wǎng)格并調(diào)整錨框的尺度和數(shù)量,最終對(duì)于小目標(biāo)的玻璃瓶缺陷也具有較好的檢測效果。

      1 網(wǎng)絡(luò)結(jié)構(gòu)模型

      本文使用改進(jìn)的FasterR-CNN進(jìn)行目標(biāo)檢測,首先將玻璃瓶缺陷數(shù)據(jù)集的圖片輸入Resnet101的特征提取網(wǎng)絡(luò),然后將提取的特征圖分成兩部分,一部分直接輸入RoI pooling層,另一部分先輸入RPN區(qū)域生成網(wǎng)絡(luò)之后再輸入RoI pooling層進(jìn)行池化。經(jīng)過若干層的卷積和池化操作后,將得到的特征圖依次按行展開,連接成向量,輸入全連接層,最后進(jìn)入到分類回歸網(wǎng)絡(luò)中實(shí)現(xiàn)目標(biāo)分類和目標(biāo)框的輸出,完成玻璃瓶缺陷檢測。圖1為基于Faster R-CNN的玻璃瓶缺陷檢測網(wǎng)絡(luò)結(jié)構(gòu)。

      圖1 基于Faster R-CNN的玻璃瓶缺陷檢測網(wǎng)絡(luò)結(jié)構(gòu)

      1.1 特征提取網(wǎng)絡(luò)

      FasterR-CNN檢測目標(biāo)時(shí)的特征提取網(wǎng)絡(luò)(backbone)使用VGGNet[14]時(shí),目標(biāo)檢測的準(zhǔn)確率受特征提取網(wǎng)絡(luò)的影響頗深,因此綜合玻璃瓶的缺陷微小、顏色單一、尺寸比例不一的特點(diǎn)以及訓(xùn)練的環(huán)境要求,本文選用Resnet101作為玻璃瓶缺陷檢測模型的特征提取網(wǎng)絡(luò),雖然網(wǎng)絡(luò)深度增加但是復(fù)雜度卻更低,同時(shí)準(zhǔn)確率得到明顯提升。

      ResNet[15]是由微軟研究院Kaming He等人提出的一種網(wǎng)絡(luò)結(jié)構(gòu),ResNet又名殘差神經(jīng)網(wǎng)絡(luò),受VGGNet的啟發(fā)在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中加入殘差學(xué)習(xí)的思想,圖2為殘差網(wǎng)絡(luò)的基本單元結(jié)構(gòu)。

      圖2 殘差網(wǎng)絡(luò)的基本單元結(jié)構(gòu)

      在殘差基礎(chǔ)單元中,如果把輸入的一部分按照原本的神經(jīng)網(wǎng)絡(luò)進(jìn)行輸出,另一部分直接連接到輸出,兩部分相加之后作為輸出結(jié)果,那么訓(xùn)練目標(biāo)就成為殘差。假定殘差表示為F(x),如式(1)所示。

      F(x)=H(x)-x

      (1)

      式中,x表示為某個(gè)堆疊層的第一層輸入,H(x)為要擬合的基礎(chǔ)映射,即期望輸出。ResNet解決了深層網(wǎng)絡(luò)中梯度彌散和精度下降的問題,使網(wǎng)絡(luò)能夠越來越深,既保證了精度,又控制了速度。

      1.2 RoI Pooling層

      為了解決R-CNN在輸入不同大小候選區(qū)域時(shí),將所有的區(qū)域縮放到同一尺寸而導(dǎo)致的目標(biāo)變形、信息丟失的問題,Fast R-CNN中設(shè)計(jì)了RoI Pooling層,其中anchor的本質(zhì)是借鑒SPP池化層[16]思想的逆向,SPP的本質(zhì)是將不同尺寸的輸入重新裁剪成為相同尺寸的輸出,所以SPP的逆向就是倒推相同尺寸的輸出以得到不同尺寸的輸入。RoI Pooling層實(shí)現(xiàn)將原始圖像中任意大小的RoI通過RoI Pooling層之后固定為特定的維度輸出,去掉了直接對(duì)原始圖像裁剪、縮放等操作的約束。

      然而Fast R-CNN并沒有解決R-CNN在selective search[17]方法上的過大計(jì)算量、過多冗余操作的問題。

      1.3 RPN網(wǎng)絡(luò)

      在Faster R-CNN中RPN網(wǎng)絡(luò)代替了selective search方法,RPN與主網(wǎng)絡(luò)共享部分特征提取網(wǎng)絡(luò),減少了過多冗余操作并保證了檢測精度。RPN網(wǎng)絡(luò)主要進(jìn)行了3個(gè)工作:預(yù)測anchor的類別及其位置;生成訓(xùn)練RPN網(wǎng)絡(luò)的標(biāo)簽信息;生成訓(xùn)練分類和回歸網(wǎng)絡(luò)的proposal layer以及對(duì)應(yīng)的標(biāo)簽信息。

      錨框3個(gè)參數(shù)為base_size,ratios和scales,錨框的基本尺度等于base_size和scales的乘積,Faster R-CNN初始設(shè)置base_size=16,scales={8,16,32},那么3個(gè)基本尺度分別是128,256和512。Faster R-CNN初始設(shè)置的3個(gè)基本尺度上有3個(gè)ratio,即長寬比為{0.5,1,2},那么最終生成9個(gè)錨框。Faster R-CNN中的初始設(shè)置最小尺寸的錨框?yàn)?28,不能較好完成玻璃缺陷中存在著許多尺寸較小的“黑點(diǎn)”類缺陷的檢測任務(wù),為了提高針對(duì)小目標(biāo)的玻璃缺陷的檢測能力,本文選擇將scales的數(shù)量改為4種,其中增加一組scales為64的anchor,長寬比不變,即RPN的anchor生成參數(shù)設(shè)置為base_size=16,scales={4,8,16,32},ratio={0.5,1,2},RPN的錨框最終改變?yōu)?2種。

      1.4 分類回歸網(wǎng)絡(luò)

      FasterR-CNN的損失主要分為RPN的損失和Fast R-CNN的損失,并且兩部分損失都包括分類損失和回歸損失,整體損失函數(shù)定義為

      (2)

      (3)

      在目標(biāo)檢測模型中,RPN的分類損失是二分類的交叉熵?fù)p失,而Fast R-CNN的分類損失是多分類的交叉熵?fù)p失。

      (4)

      式中,當(dāng)進(jìn)行RPN訓(xùn)練時(shí),R為smooth L1函數(shù)取σ=3時(shí)的值;當(dāng)進(jìn)行Fast R-CNN訓(xùn)練時(shí),R為smooth L1函數(shù)取σ=1時(shí)的值,smooth L1函數(shù)定義為

      (5)

      2 玻璃瓶缺陷數(shù)據(jù)集

      2.1 玻璃瓶缺陷樣本圖片采集

      為了建立玻璃瓶缺陷數(shù)據(jù)集,本文的圖像采集系統(tǒng)主要由LED照明光源、工業(yè)相機(jī)鏡頭、圖像采集卡以及其他機(jī)械硬件設(shè)備等合理結(jié)合,對(duì)帶有瑕疵的玻璃瓶進(jìn)行拍攝以采集圖像。由于玻璃瓶是近似透明的物體,為了更加明顯地拍攝出玻璃瓶上的瑕疵部分,將平板LED光源作為玻璃瓶的拍攝背景,目的是讓瓶體更加通透,瑕疵的細(xì)節(jié)更加明顯,使得LED平板光源、玻璃瓶、工業(yè)相機(jī)鏡頭3者中心位于一條直線上。采集到的100余張圖片中黑點(diǎn)17張,氣泡18張,冷斑34張,裂紋19張,??p13張。將圖片通過LabelImg進(jìn)行人工缺陷標(biāo)注轉(zhuǎn)換并保存為xml格式文件。

      2.2 數(shù)據(jù)集制作

      首先,由于玻璃瓶的數(shù)量有限,本文通過編寫Python程序?qū)υ紙D片進(jìn)行預(yù)處理,通過旋轉(zhuǎn)操作對(duì)采集的原圖進(jìn)行處理數(shù)據(jù)增強(qiáng),降低模型對(duì)目標(biāo)位置的敏感性;通過使用圖像的對(duì)數(shù)灰度變換操作對(duì)采集的原圖進(jìn)行數(shù)據(jù)增強(qiáng),降低模型對(duì)色彩的敏感性。

      圖3 數(shù)據(jù)集預(yù)處理前后對(duì)比

      對(duì)圖片進(jìn)行預(yù)處理的同時(shí)修改相應(yīng)的xml格式文件中的標(biāo)記坐標(biāo),使數(shù)據(jù)集內(nèi)包含了1010張帶有標(biāo)注信息的圖片,大大減少了煩冗的人工操作。在經(jīng)過離線數(shù)據(jù)增強(qiáng)所得到的數(shù)據(jù)集中,含有黑點(diǎn)170張,氣泡180張,冷斑340張,裂紋190張,??p130張。然后,將數(shù)據(jù)集處理成PASCAL VOC2007數(shù)據(jù)集格式,并且,通過Python中的random.sample()方法將數(shù)據(jù)集按照8∶1∶1的比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測試集。彼此相互獨(dú)立不重合,令實(shí)驗(yàn)結(jié)果更具有獨(dú)立性和信服力。

      3 模型訓(xùn)練結(jié)果與分析

      網(wǎng)絡(luò)訓(xùn)練平臺(tái)使用Tensorflow深度學(xué)習(xí)框架,在Python語言環(huán)境下,采用NVIDIA GTX1060Ti GPU進(jìn)行加速計(jì)算。本玻璃瓶缺陷檢測實(shí)驗(yàn)采用目標(biāo)檢測常用評(píng)價(jià)指標(biāo)mAP,表示所有類別目標(biāo)的檢測準(zhǔn)確率平均值,算法檢測精度越高,mAP數(shù)值就越高。

      本文選用VGG16、Resnet50和Resnet1013種網(wǎng)絡(luò)分別作為特征提取網(wǎng)絡(luò)并對(duì)三者的計(jì)算結(jié)果進(jìn)行對(duì)比,選擇準(zhǔn)確率高的作為玻璃瓶缺陷檢測網(wǎng)絡(luò)訓(xùn)練的特征提取網(wǎng)絡(luò)模型。由表1可以看出,在相同的條件下,Resnet101的mAP更高,該網(wǎng)絡(luò)對(duì)于玻璃瓶缺陷檢測的準(zhǔn)確度更高。因此本文提出改進(jìn) Faster R-CNN 玻璃瓶缺陷檢測網(wǎng)絡(luò)結(jié)構(gòu)模型,以Resnet101卷積神經(jīng)網(wǎng)絡(luò)為特征提取網(wǎng)絡(luò),其中 RPN 網(wǎng)絡(luò)與Resnet共享卷積層,下一步根據(jù)本文所要檢測的目標(biāo)修改anchor參數(shù)。

      表1 相同基本尺度下VGG16、Resnet50和Resnet101進(jìn)行缺陷檢測

      將3組不同尺寸的anchor全都使用Resnet101對(duì)本文建立的數(shù)據(jù)集進(jìn)行訓(xùn)練,由表2可以看出,當(dāng)scale設(shè)置為642,1282,2562,5122時(shí),mAP值最高,達(dá)到了0.837,相比 Faster R-CNN與VGG16的結(jié)合方式提升了5.2%。因此,玻璃瓶缺陷目標(biāo)在642,1282,2562,5122的基本尺度下的錨框覆蓋率最佳,保證大目標(biāo)缺陷檢測精度的同時(shí)也加強(qiáng)了小目標(biāo)缺陷的檢測精度。

      表2 不同基本尺度下Resnet101進(jìn)行缺陷檢測

      基于改進(jìn)后Faster R-CNN模型部分檢測效果圖如圖4所示。在圖中,方框標(biāo)定了模型所檢測出來的缺陷位置;方框上方左側(cè)英文代表模型對(duì)于缺陷定位得到的目標(biāo)的分類名稱,右側(cè)數(shù)字代表了模型計(jì)算出的屬于此玻璃瓶缺陷類別的概率值,其中圖4b下方的冷斑缺陷識(shí)別概率值達(dá)到最高精度值0.999。

      圖4 基于改進(jìn)后的Faster R-CNN模型的部分檢測結(jié)果圖

      4 結(jié)論

      實(shí)現(xiàn)玻璃瓶缺陷檢測技術(shù)與深度學(xué)習(xí)相結(jié)合能夠減少檢測環(huán)節(jié)中的人力物力消耗,并且能夠提高生產(chǎn)效率。本文實(shí)現(xiàn)了一種基于改進(jìn)的Faster R-CNN的玻璃瓶缺陷檢測方法,把深度學(xué)習(xí)應(yīng)用到玻璃瓶缺陷檢測技術(shù)的研究中,根據(jù)檢測目標(biāo)的特點(diǎn)進(jìn)行改進(jìn),能夠有效地檢測出形態(tài)各異的缺陷并識(shí)別出缺陷類型,本文所做主要貢獻(xiàn)如下:

      (1)針對(duì)目標(biāo)檢測數(shù)據(jù)不足的問題,在數(shù)據(jù)集的預(yù)處理階段引入了多種離線數(shù)據(jù)增強(qiáng)的方法;

      (2)為解決Faster R-CNN檢測小目標(biāo)的缺陷精確度不高的問題,使用Resnet101作為特征提取網(wǎng)絡(luò)并且調(diào)整anchor的尺度達(dá)到缺陷檢測的mAP值為83.73%,相比改進(jìn)前方法提高了5.19%。

      本文的研究為玻璃瓶缺陷識(shí)別技術(shù)的研究提供了思路和方法,同時(shí)為其他領(lǐng)域的圖像處理與識(shí)別技術(shù)提供了較好的借鑒。

      猜你喜歡
      玻璃瓶特征提取殘差
      為什么玻璃瓶裝的可樂更好喝?
      兩個(gè)玻璃瓶
      基于雙向GRU與殘差擬合的車輛跟馳建模
      基于殘差學(xué)習(xí)的自適應(yīng)無人機(jī)目標(biāo)跟蹤算法
      光影之玻璃瓶
      基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      玻璃瓶DIY迷你童話世界
      Bagging RCSP腦電特征提取算法
      平穩(wěn)自相關(guān)過程的殘差累積和控制圖
      河南科技(2015年8期)2015-03-11 16:23:52
      枞阳县| 凌云县| 玛沁县| 宕昌县| 茌平县| 抚州市| 屯昌县| 双江| 嘉善县| 台前县| 城固县| 伊宁县| 长垣县| 石河子市| 皋兰县| 沅陵县| 黄陵县| 襄樊市| 郯城县| 赣榆县| 三明市| 高尔夫| 黑水县| 珲春市| 五家渠市| 长治市| 宣威市| 高要市| 昌吉市| 青海省| 敦化市| 邯郸市| 新龙县| 仙游县| 霞浦县| 浦城县| 明星| 鄂托克前旗| 南丰县| 屏东市| 托里县|