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

?

基于卷積神經(jīng)網(wǎng)絡的玻璃瓶口缺陷檢測

2022-06-28 17:46謝澤祺鄒光明
制造業(yè)自動化 2022年6期
關鍵詞:玻璃瓶灰度邊緣

謝澤祺,徐 巍*,鄒光明,姜 佳,閔 達

(1.武漢科技大學 冶金裝備及其控制教育部重點實驗室,武漢 430081;2.武漢科技大學 機械傳動與制造工程湖北省重點實驗室,武漢 430081)

0 引言

在日常生活中玻璃瓶是一種使用廣泛、實用性強的容器。在制造過程中,由于生產(chǎn)工藝、加工設備及人為因素會對玻璃瓶造成不同類型的缺陷。這些缺陷不僅會影響生產(chǎn)商的利潤水平,更會影響消費者的使用[1]。在玻璃瓶的生產(chǎn)制造過程中,對于其質量檢測環(huán)節(jié)來說顯得尤為重要。

機器視覺作為一種非接觸性檢測技術,用計算機來模擬人的視覺系統(tǒng),已經(jīng)成為檢測領域的一個重要發(fā)展方向。傳統(tǒng)表面缺陷檢測通常是由人工來辨識,為解決這類問題Raaffat等[2]在1996年提出一種基于機器視覺的玻璃和塑料檢測系統(tǒng)。湯勃等[3]提出Otsu閾值分割法對鋼板表面微小缺陷進行分割。呂明珠[4]提出基于K-means聚類的十字線分割法檢測印刷品表面缺陷。機器視覺檢測技術相比于傳統(tǒng)檢測技術效率更高、穩(wěn)定性更強,具有更高的檢測速度。隨著深度學習的快速發(fā)展,一些基于深度學習的方法在不斷運用于不同領域。近年來,深度學習的代表卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN),在圖像分類與識別[5]、自然語言識別、語音的識別與合成[6,7]、信號處理和人臉識別[8]等方面應用廣泛,且取得了較好的結果。頡潭成等[9]提出利用卷積神經(jīng)網(wǎng)絡識別軸承故障。王豪南等[10]提出基于交叉并行卷積神經(jīng)網(wǎng)絡對貨物列車車廂號識。韓林潔等[11]提出一維卷積神經(jīng)網(wǎng)絡對軸承壽命的預測。上述研究表明CNN具有良好的分類效率和質量。

本文通過對玻璃瓶口缺陷圖進行預處理,結合卷積神經(jīng)網(wǎng)絡,提出一種基于殘差卷積神經(jīng)網(wǎng)絡的玻璃瓶缺陷檢測方法,實現(xiàn)缺陷檢測及分類。最后通過玻璃瓶口的缺陷檢測驗證了該方法的有效性和可行性。

1 實驗系統(tǒng)及算法原理

1.1 實驗系統(tǒng)

圖1是玻璃瓶口缺陷檢測示意圖,分為兩個部分。圖1(a)是圖像獲取單元,從瓶口的主要形狀和光學角度進行分析,可以確定以無影LED 光照的原理通過光學照明的方式來使瓶口特征更加明顯的體現(xiàn),從而獲取整個瓶口的完整信息以便于后期的檢測。再由CCD相機獲取圖像,然后圖像采集卡對輸出的信號進行實時采集并將數(shù)字化處理后的圖像傳輸至計算機中。圖1(b)是圖像處理和缺陷識別模塊,用OpenCV對圖像進行預處理,將預處理后的圖片構建成實驗數(shù)據(jù)集,用TensorFlow設計出殘差卷積神經(jīng)網(wǎng)絡模型,對缺陷圖像進行訓練和分類,最終達到缺陷檢測的目的。

圖1 檢測系統(tǒng)示意圖

圖像算法主要分為三個模塊:圖像初步處理,深度學習網(wǎng)絡模型構建,測試數(shù)據(jù)得出實驗結果。算法流程圖如圖2所示。

圖2 圖像處理算法流程

1.2 卷積神經(jīng)網(wǎng)絡

卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN),屬于前饋神經(jīng)網(wǎng)絡。與傳統(tǒng)的BP神經(jīng)網(wǎng)絡最大的區(qū)別是加入了卷積層和池化層[12~14]。卷積神經(jīng)網(wǎng)絡結構示意圖如圖3所示。

圖3 CNN基本結構示意圖

在全連接中每個神經(jīng)元與前后相鄰層的神經(jīng)元相連,輸入是特征,輸出為預測結果。在實際項目中輸入神經(jīng)網(wǎng)絡時具有更高分辨率的圖片使得送入全連接網(wǎng)絡的輸入特征過多,隨著隱藏層層數(shù)的增加、網(wǎng)絡規(guī)模過大、待優(yōu)化參數(shù)過多、容易使模型過擬合。在實際應用時會對原始圖片進行特征提取來減少待訓練參數(shù)。把提取出來的特征送給全連接網(wǎng)絡,讓全連接網(wǎng)絡輸出識別結果。

卷積計算是一種有效的特征提取方法。對于圖片數(shù)據(jù),這種權值相乘累加的運算是在信號處理領域的一種標準運算:離散卷積運算。離散卷積運算在計算機視覺中有著廣泛的應用。在信號處理領域,1D連續(xù)信號的卷積運算被定義2個函數(shù)的積分:函數(shù),函數(shù),其中經(jīng)過了翻轉和平移后變成。卷積的“卷”是指翻轉平移操作,“積”是指積分運算,1D離散卷積積分如式(1)所示:

計算機視覺中,卷積運算基于2D圖片函數(shù)f(m,n)和2D卷積核g(m,n),其中f(m,n)和g(m,n)僅在各自窗口有效區(qū)域存在值,其他區(qū)域視為0。此時的2D離散卷積定義如式(2)所示:

卷積神經(jīng)網(wǎng)絡通常用局部連接,權值共享和降采樣使其具有圖像識別不變性來減少權值參數(shù)數(shù)量[15,16]。局部連接即局部相關性,節(jié)點與感受野窗口內(nèi)的所有像素連接,與窗口外的像素不連接。權值共享通過權值矩陣得到一個局部的信息,局部信息即為一個卷積核,用這個卷積核對全圖進行一個卷積運算。降采樣是為了減少卷積神經(jīng)網(wǎng)絡中的特征數(shù)據(jù)量通常采取池化操作,池化同樣基于局部相關性的思想,通過從局部相關的一組元素中進行采樣或信息聚合,從而得到新的元素值。

2 樣本數(shù)據(jù)預處理

在玻璃瓶的生產(chǎn)中,玻璃瓶口常見的缺陷有小缺口、斷口、裂紋和磨損這四種主要缺陷,如圖5所示。

圖5 玻璃瓶口常見缺陷

為了減少CNN的訓練量和訓練時和產(chǎn)生的多余窗口,本文將對原始圖像進行預處理操作。考慮到玻璃瓶口的大小不變且缺陷分布全在瓶口處,本文通過圖像預處理減少了背景干擾,提取圖像中缺陷邊緣的位置。得到高質量的玻璃圖像輸出,為接下來的操作提供必要條件。本文中的圖像預處理是指對獲得的圖像進行灰度化處理,包括有二值化處理、平滑處理、閾值檢測和邊緣檢等[17~19]多種操作。

2.1 灰度值轉變

為了更好得到圖像的梯度特征減少圖像后續(xù)處理的計算量和提高計算效率,我們通常將三通道的彩色圖轉變成單通道的灰度圖。一幅圖像是由許多像素點組成。而每個像素點的顏色都是由R、G、B三個顏色分量決定,每個分量的取值都在0~255之間。白色為255,黑色為0。圖像的灰度化處理將圖像的三通道轉換成單通道?;叶忍幚淼姆椒ㄍǔS蟹至糠?、平均值法、最大值法和加權平均法。本文采用加權平均法處理原始圖像。公式如式(3)所示:

式(3)中:R(x,y),G(x,y),B(x,y),分別是原始彩色圖像的紅、綠、藍三色分量。一般wR=0.299,wG=0.587,wB=0.114時[19],得到的灰度圖像效果最好。

2.2 閾值分割和邊緣提取

閾值分割是將圖像中的目標與背景區(qū)分開,分割法是以區(qū)域為基礎的圖像分割方法,它的理論是:根據(jù)設置不同的閾值,將圖片的像素點劃分成多個類別。設初始圖片為f(x,y),根據(jù)特定的規(guī)則在f(x,y)中查找到特征值T,把圖像根據(jù)閾值進行分割形成2個部分,處理后圖像的表達式如式(4)所示:

若b0=0為黑色,b1=1為白色,經(jīng)過閾值進行分割之后,圖像轉換為二值圖像,在二值圖像中只含有黑色和白色兩種顏色。

閾值分割的方法有:雙峰法、迭代法、OTSU法、最大熵分割法。假設將圖像分為背景和前景兩個部分。熵代表信息量,圖像信息量越大,熵就越大,最大熵算法就是找出一個最佳閾值使得背景與前景兩個部分熵之和最大。本文采用最大熵分割法對圖像進行分割。

Kapuret提出利用圖像熵為準則進行圖像分割,是現(xiàn)在仍然使用較廣的一種圖像熵分割方法。給定一個特定的閾值q(0≤q<K-1),對于該閾值所分割的兩個圖像區(qū)域C0,C1,其估算的概率密度函數(shù)可表示為:

式(6)中:P0(q)為q閾值下背景區(qū)域像素的累計概率,P1(q)為q閾值下目標區(qū)域像素的累計概率,兩者之和為1。背景和目標對應的熵表示為:

式(8)中:H0(q)、H1(q)分別表示圖像閾值后的黑、白像素相關的熵,也就是背景區(qū)域和目標區(qū)域的熵。最佳的閾值是H0(q)+H1(q)時得到的最大熵,最大熵如式(9)所示:

最大閾值分割法的結果如圖6所示。圖6分別顯示了小缺口、裂紋、斷口、磨損的灰度直方圖。由灰度直方圖選出閾值灰度級,從而得到缺陷圖的二值圖像。

圖6 缺陷圖像直方圖和二值圖像

邊緣檢測是圖像分割、識別圖像的邊緣的一個重要方法。根據(jù)上一步得到的二值圖像,本文采用Canny邊緣檢測對玻璃瓶口缺陷進行特征提取。Canny邊緣提取主要有四步:高斯濾波降噪、計算圖像梯度、非極大值抑制和閾值篩選,首先對圖像高斯濾波降噪處理,避免出現(xiàn)過多的偽邊緣。邊緣就是灰度值變化較大的像素點集合,在圖像中用梯度來表示灰度值的變化程度和方向綜合梯度,通過以下公式計算梯度值和梯度方向:

式(11)中:gy(m,n),gx(m,n)是不同方向梯度值。在高斯濾波過程中,邊緣有可能被放大了,通過非極大值抑制使邊緣的寬度盡可能為1個像素點。最后閾值篩選,在Canny中使用最大和最小兩個閾值篩選邊緣提高準確度。其中大于最大閾值的都被檢測為邊緣,而低于最小閾值的都被檢測為非邊緣。對于中間的像素點,如果與確定為邊緣的像素點鄰接,則判定為邊緣;否則為非邊緣。本文選取的最大閾值為150,最小閾值為50,圖7是邊緣檢測后的圖片。

圖7 不同缺陷的邊緣提取

3 網(wǎng)絡搭建

3.1 ResNet網(wǎng)絡介紹

卷積神經(jīng)網(wǎng)絡隨著網(wǎng)絡層數(shù)的不斷加深,其學習能力也會增強,人們在探索卷積實現(xiàn)特征提取中發(fā)現(xiàn)通過加深網(wǎng)絡層數(shù)取得了越來越好的效果。但是隨著網(wǎng)絡層數(shù)繼續(xù)堆疊增加,準確率反而下降,單純堆疊神經(jīng)網(wǎng)絡層數(shù)會使神經(jīng)網(wǎng)絡模型退化,以至于后面的特征丟失了前面特征的原本模樣。ResNet[20]網(wǎng)絡通過深度殘差框架解決了這個退化問題。

ResNet模型是由何凱明于2015年提出的一種CNN網(wǎng)絡結構。ResNet用了一根跳連線將前邊的特征直接連接到了后邊,使輸出結果H(x)包含了堆疊卷積的非線性輸出F(x)和跳過著兩層堆疊卷積,直接連接過來的恒等映射x,使得對應元素相加。這一操作有效緩解了神經(jīng)網(wǎng)絡模型堆疊導致的退化,使得神經(jīng)網(wǎng)絡可以向著更深層級發(fā)展。

輸入x通過兩個卷積層,得到特征變換后的輸出F(x),與輸入x進行對應元 素的相加運算,得到最終輸出F(x)=x+F(x)叫做殘差模塊。如圖8所示。由于被跳連線包圍的卷積神經(jīng)網(wǎng) 絡需要學習映射F(x)=H(x)-x,故稱為殘差網(wǎng)絡。

圖8 殘差模塊

ResNet中有兩種情況,一種情況如圖9中的實線所示,這種情況兩層堆疊卷積沒有改變特征圖的維度,也就是它們特征圖的個數(shù)、高、寬、深度都相同,直接將F(x)與x相加。另一種情況用圖中的虛線表示,這種情況中兩層堆疊卷積改變了特征圖的維度。需要借助1×1的卷積來調整x的維度。使H(x)與F(x)的維度一致。如圖9所示。

圖9 不同情況的殘差模塊

3.2 構建網(wǎng)絡模型

網(wǎng)絡加深會使得網(wǎng)絡訓練變得十分不穩(wěn)定,過深的網(wǎng)絡層數(shù)還會造成網(wǎng)絡不收斂和網(wǎng)絡不更新。同時網(wǎng)絡對超參數(shù)也比較敏感,超參數(shù)的變化會導致網(wǎng)絡訓練完全改變。2015年,Google研究人員Sergey Ioffe等提出了一種參數(shù)標準化(Normalize)的手段,并基于參數(shù)標準化設計了批標準化(Batch Nomalization,簡稱BN)。

神經(jīng)網(wǎng)絡對0附近的數(shù)據(jù)更加敏感,但是隨著網(wǎng)絡層數(shù)的增加,特征數(shù)據(jù)會出現(xiàn)偏離0均值的情況,標準化使數(shù)據(jù)符合以0為均值,1為標準差的正態(tài)分布,把偏移的特征數(shù)據(jù)重新拉回0附近。批標準化是一個batch的數(shù)據(jù)做標準化處理,使數(shù)據(jù)回歸標準正態(tài)分布。常用在卷積操作和激活操作之間??梢酝ㄟ^以下式子計算批標準化后得到輸出特征圖:

本文的卷積層和全連接層均采用線性整流函數(shù)(Relu函數(shù))作為激活函數(shù)。Relu函數(shù)是個分段函數(shù),符合激活函數(shù)具備近似恒等性。Relu函數(shù)在正區(qū)間解決了梯度消失的問題,并且只需要判斷輸入是否大于0,計算速度快。訓練參數(shù)時收斂速度遠快于Sigmoid函數(shù)和tanh函數(shù)。BN操作可以避免訓練中過多的負數(shù)特征進入Relu函數(shù)導致神經(jīng)元死亡。

在本文模型的構建中通過卷積層、批標準化層、激活函數(shù)層的堆疊構建出殘差神經(jīng)網(wǎng)絡的一個基本塊,每個基本塊有兩個卷積。整個模型第一層采用64個3×3的卷積核,步長為1,全零填充,采用BN操作,Relu激活。第一個塊是兩條實線跳連的維度相同的ResNet塊,接下來的第二,三,四塊先由虛線連接不同維度的ResNet塊,再由實線連接相同維度的ResNet塊,每條虛線的借助1×1的卷積調整使得維度一致。最后經(jīng)過平均全局池化和全連接得到殘差卷積神經(jīng)網(wǎng)絡結構,整個網(wǎng)路結構一共18層,如圖10所示。

圖10 殘差網(wǎng)絡模型結構圖

配置網(wǎng)絡模型的訓練方法,選擇Adam優(yōu)化器對算法進行優(yōu)化,用分類交叉熵函數(shù)作為損失函數(shù)。告知網(wǎng)絡評測指標。最后使用分類器對不同缺陷數(shù)據(jù)進行分類。

4 實驗結果分析

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

本文采用CCD相機和圖像采集卡獲取玻璃瓶口缺陷圖像,將圖像預處理后自制數(shù)據(jù)集。在深度學習的過程中數(shù)據(jù)集是十分重要的,當訓練集中的樣本數(shù)不夠多容易造成過擬合,為了使神經(jīng)網(wǎng)絡具有更好的泛化性,同時增加模型魯棒性。通過旋轉、鏡像等操作可以擴充樣本數(shù)據(jù)集,增加數(shù)據(jù)集的數(shù)量。

在本次實驗中,圖像處理采取旋轉和鏡像操作來擴充數(shù)據(jù)集,預處理得到的結果為訓練集圖像2000幅和測試集圖像200幅。如表2所示。

表2 訓練集和測試集分布

4.2 網(wǎng)絡訓練及結果分析

完成預處理的操作后將歸一化的圖像數(shù)據(jù)導入網(wǎng)絡模型,對玻璃瓶口缺陷分類。操作系統(tǒng)為Window10 X64,包含NVIDIA GeForce GTX 1660Ti GPU顯卡機器,內(nèi)存8G,該實驗在TensorFlow框架下進行訓練,本文的迭代輪為10000,動量為0.9,學習率為0.001。為了防止過擬合,提高模型的泛化能力,在模型訓練的過程中,將訓練集按照5∶1進一步地劃分為訓練集和驗證集。在本文中訓練集數(shù)量為2000,驗證集數(shù)量為400。

隨著網(wǎng)絡迭代次數(shù)的逐漸增加,ResNet網(wǎng)絡模型達到了非常好的收斂狀態(tài)。網(wǎng)絡模型的訓練集損失曲線和驗證集曲線呈逐步下降狀態(tài),網(wǎng)絡模型的識別率曲線呈逐步上升的狀態(tài),并在迭代8000次時達到了95.5%。網(wǎng)絡模型的訓練集損失曲線、驗證集損失曲線和識別率曲線如圖11所示。

圖11 缺陷圖像識別準確率及損失曲線

使用卷積神經(jīng)網(wǎng)絡模型對4類缺陷的檢測結果如表3所示。

表3 測試集缺陷檢測結果

從表3可以看出玻璃瓶口缺陷檢測網(wǎng)絡以95.50%的正檢率完成了共計200個樣本,其中小缺口和磨損存在漏檢和錯檢,裂紋存在漏檢,這是因為過小的缺口不易歸類。

為了進一步驗證卷積神經(jīng)網(wǎng)絡的性能,本文設計了對比實驗,分別使用BP神經(jīng)網(wǎng)絡、VGG-6網(wǎng)絡、SF兩層網(wǎng)絡、文獻[21]所提的閾值統(tǒng)一局部TULBP+BP神經(jīng)網(wǎng)絡缺陷檢測方法和文獻[22]所提的局部二值模式LBP陷檢測方法,與本文所提ResNet實驗結果進行比較,統(tǒng)計了以上6種方法的正檢率及漏檢率,結果如表4所示。

表4 ResNet與其他方法對比

實驗對比可知ResNet的漏檢率最低,且正檢率最高,具有較高的精度。

5 結語

針對玻璃瓶缺陷人工檢測復雜困難這一問題,本文提出基于卷積神經(jīng)網(wǎng)絡的玻璃瓶口缺陷檢測。本文將玻璃瓶口缺陷圖像進行閾值分割,使用Canny算子提取缺陷邊緣,將預處理的圖片自制數(shù)據(jù)集。再用ResNet卷積神經(jīng)網(wǎng)絡對玻璃瓶口缺陷處理圖像進行分類,驗證出卷積神經(jīng)網(wǎng)絡對檢測玻璃瓶口缺陷的可行性。為驗證ResNet的網(wǎng)絡性能,用ResNet網(wǎng)絡與其他網(wǎng)絡等自動分類方法做比較,得出ResNet具有較高的精度和準確性。隨著玻璃瓶產(chǎn)業(yè)的發(fā)展,該自動缺陷檢測方法對玻璃瓶質量檢測應用具有現(xiàn)實意義。

猜你喜歡
玻璃瓶灰度邊緣
兩個玻璃瓶
采用改進導重法的拓撲結構灰度單元過濾技術
Bp-MRI灰度直方圖在鑒別移行帶前列腺癌與良性前列腺增生中的應用價值
Arduino小車巡線程序的灰度閾值優(yōu)化方案
玻璃瓶中的妖怪
一張圖看懂邊緣計算
瓶子回收桶
基于熱區(qū)增強的分段線性變換提高室間隔缺損超聲圖像可懂度研究
在邊緣尋找自我
走在邊緣