何 成,馬思遠,周武杰
(1.浙江科技學院信息與電子工程學院,浙江 杭州 310023;2.浙江大學控制科學與工程學院,浙江 杭州 310027)
強反射金屬零件[1]的反光性較強,在其焊接或制造過程中受到不同方面因素的影響,導致其存在質(zhì)量不穩(wěn)定以及生產(chǎn)成本較高等問題。 為了有效解決上述問題,國內(nèi)相關專家針對強反射金屬表面缺陷檢測方面的內(nèi)容展開了大量研究。 例如Fang等[2]對二維和三維鋼、鋁、銅板和帶材等典型金屬表面缺陷檢測技術進行了分析。 根據(jù)算法特性以及圖像特征,將現(xiàn)有的二維方法分為統(tǒng)計方法、光譜方法、模型方法和基于機器學習的方法四類。 在三維數(shù)據(jù)采集的基礎上,三維技術分為立體視覺、光度立體、激光掃描儀和結構光測量方法。 但是該方法僅停留在研究綜述和理論分析上,其為本文金屬表面缺陷檢測技術的選取提供了參考。 袁野等[3]主要通過K均值聚類算法獲取符合數(shù)據(jù)特點的先驗框值,同時引入卷積神經(jīng)網(wǎng)絡完成金屬表面缺陷檢測。但是,該方法存在數(shù)據(jù)冗余的問題,在一定程度上會增加檢測耗時。 方鈞婷等[4]通過注意力級聯(lián)網(wǎng)絡實現(xiàn)金屬表面缺陷檢測,構建輕量級網(wǎng)絡模塊對金屬表面缺陷進行分類和定位,提高了檢測精度和魯棒性。 但是,該方法存在缺陷識別耗時較長的問題。Lin 等[5]通過直方圖的統(tǒng)計信息對紋理方向預處理,通過機器視覺方法對金屬表面的主要紋理簇和異常紋理簇展開搜索,最終實現(xiàn)金屬表面缺陷檢測。但是,該方法的魯棒性較差。 Bhandari 等[6]介紹了一種優(yōu)化亮度保持直方圖均衡化方法。 使用布谷鳥搜索算法來保持低對比度圖像的平均亮度并提高對比度。 該方法將直方圖劃分為兩個子直方圖,在兩個子直方圖上利用直方圖統(tǒng)計來獲得平臺極限。 基于通過布谷鳥搜索優(yōu)化技術獲得的計算平臺極限,實現(xiàn)子直方圖均衡和修改。 該方法提高了圖像均衡化處理的質(zhì)量,對本文圖像預處理具有較好的借鑒意義。
在充分研究以上幾種方法的基礎上,提出一種基于紅外光電傳感器的強反射金屬表面缺陷檢測方法。 經(jīng)實驗測試結果表明,所提方法可以有效提高金屬表明缺陷檢測準確性,降低檢測耗時,獲取強反射下的高精度金屬表面缺陷檢測結果,具備了應用性。
考慮到金屬具有一定的反射性,導致其表面缺陷檢測過程中出現(xiàn)錯檢以及誤檢的情況,為此將紅外光電傳感器作為強反射金屬缺陷檢測工具,以提升強反射金屬表面缺陷檢測效率。 具體步驟為:
Step 1:利用紅外光電傳感器采集強反射金屬缺陷紅外成像信息;
Step 2:通過紅外圖像直方圖轉換和均衡化處理,消除強反射帶來的光學干擾;
Step 3:最后利用灰度共生矩陣和卷積神經(jīng)網(wǎng)絡實現(xiàn)金屬表面特征缺陷檢測及分類。
紅外光電傳感器分為發(fā)送器、接收器和檢測電路。 發(fā)送器對準金屬表明發(fā)射光束,獲取紅外成像信息,有效提高光反射抗干擾性能。 在接收器轉換成像信息,輸出紅外成像。 利用檢測電路過濾有效信號,提高紅外成像效率。 紅外光電傳感器的工作流程如圖1 所示。
圖1 紅外光電傳感器的工作流程圖
通過紅外光光電傳感器采集強反射金屬表面紅外圖像,增強金屬表面圖像處理效果。
對采集到的紅外成像展開直方圖處理[7],獲取紅外圖像灰度級分布,增強圖像處理能力。
由于大部分紅外圖像為8 bit 位,所以將灰度值設定在固定區(qū)域間,則紅外圖像對應灰度級x出現(xiàn)次數(shù)可以表示為式(1)的形式:
式中:Hr(x)代表灰度級x出現(xiàn)的總次數(shù);mx代表灰度級為x的像素數(shù)量;強反射金屬表面紅外圖像灰度處理的數(shù)學公式bx為:
式中:m代表強反射金屬表面圖像的像素總數(shù)。
在原始直方圖中,假設部分灰度級對應的值高于設定的閾值Y,對應的約束條件如式(3)所示:
式中:PY(x)代表金屬表面加權直方圖;PB(x)代表原始直方圖。 為了提高紅外圖像像素識別效果,需要對金屬表面加權直方圖進行累加計算,進而獲取對應的累積函數(shù),如式(4)所示:
式中:GY(x)代表累積函數(shù)。 通過均衡化處理將原始圖像灰度值轉換為金屬表面加權直方圖的灰度值,具體的計算式為:
灰度變換的主要目的就是將強反射金屬表面圖像中的灰度值利用一種變換函數(shù)將全部像素灰度值轉換到另外一個灰度值,主要包含圖像的反轉以及對數(shù)轉換等相關操作。 對灰度級為l的金屬表面加權直方圖展開反轉操作,進而獲取以下形式的表達式:
式中:c代表圖像的反轉操作結果;t代表采樣周期。根據(jù)式(1)得到的灰度值設定的閾值,將金屬表面加權直方圖劃分為目標區(qū)域、背景區(qū)域以及過渡區(qū)域三個不同的部分。
其中,目標區(qū)域的灰度變換主要通過灰度拉伸的方法實現(xiàn),背景區(qū)域使用灰度壓縮,而過渡區(qū)域則使用灰度級位置。 其中,分段變換計算公式為:
式中:F(x,y)代表分段變換結果;a'、b'和c'分別代表取值不同的閾值;B(x,y)代表像素灰度壓縮結果;x'代表變換后的灰度級;y'代表像素灰度。 通過灰度級信息完成紅外圖像直方圖轉換。 轉換前后的紅外圖像直方圖如圖2 所示。
圖2 轉換前后的紅外圖像直方圖
通過分析轉換前的紅外圖像的直方圖可知,主要具有以下幾方面的特點:
①強反射金屬表面紅外圖像的像素分布十分密集,大部分區(qū)域的灰度級分布均為零且圖像反差比較低。
②采集圖像的動態(tài)范圍十分窄,大部分集中在比較灰暗的區(qū)域內(nèi)且圖像亮度偏低。
③在直方圖內(nèi)存在比較明顯的尖峰,集中區(qū)域十分小且圖像背景過大。
通過分析轉換后的紅外圖像的直方圖可知,將紅外成像頻率因子引入原有直方圖中,通過累積函數(shù)轉換為金屬表面加權直方圖,同時對集中分布的灰度級展開數(shù)值設定操作,提升了紅外圖像的對比度。
通過上述分析,需要對金屬表面紅外圖像進行均衡化處理,增強金屬表面缺陷識別能力。 引入紅外圖像像素信息,利用計算灰度值的方法改進平臺直方圖的圖像均衡處理效果。 通過調(diào)整紅外圖像像素,實現(xiàn)強反射金屬表面紅外圖像均衡化處理,詳細的操作步驟如下所示:①輸入強反射金屬表面紅外圖像;②判斷圖像的大小是否為m×n,假設是,則直接轉換為規(guī)格為m×n;反之,則跳轉至步驟④;③計算圖像中不同像素點的頻率信息;④通過分析計算,獲取不同缺陷類型的頻率因子;⑤將頻率因子和對應的紅外圖像像素點進行加權處理,形成不同等級的灰度級[8-9];⑥獲取金屬表面紅外圖像灰度級閾值以及改進后的平臺加權直方圖;⑦對金屬表面紅外圖像進行均衡化處理,將經(jīng)過處理的像素灰度值和頻率因子依次實行衰減操作,最終完成紅外圖像均衡化處理,實現(xiàn)紅外圖像增強。 為后續(xù)金屬表面缺陷檢測和分類提供支持。
在強反射金屬表面缺陷檢測過程中,缺陷特征提取是十分重要的步驟[10-11]。 當通過紅外圖像的邊緣特征展開分析處理時,圖像中光照不均勻對分析結果產(chǎn)生的影響是比較小的。 針對金屬目標物體而言,提取邊緣特征可以快速完成分析識別操作。
想要獲取比較滿意的邊緣定位,優(yōu)先需要標識出目標的邊緣輪廓,即對強反射金屬表面缺陷定位處理。 定位處理的主要目的是準確提取強反射金屬表面缺陷特征,同時設定各階導數(shù)的取值。在紅外圖像處理過程中,引入卷積神經(jīng)網(wǎng)絡識別缺陷特征,構建LeNet-5 網(wǎng)絡結構。 通過卷積層、連接層和池化層重復卷積和采樣操作[12],完成缺陷特征分類識別,并在輸出層輸出結果。 具體結構如圖3 所示。
圖3 卷積神經(jīng)網(wǎng)絡模型
根據(jù)圖3 的卷積神經(jīng)網(wǎng)絡模型結構可知,強反射金屬表面缺陷識別主要包括卷基層特征描述、池化層圖像特征提取兩部分:
①卷積層特征描述
根據(jù)紅外圖像均衡化特征信息,采用包含尺度因子的點擴散函數(shù)形式[13],對紅外圖像進行描述,描述公式為:
式中:δ代表目標圖像紋理的均勻程度;ui代表卷積層的第i個卷積核的權值;pm代表卷積層的第m個輸入塊;ei代表池化層第i個卷積核的偏置;γ代表池化區(qū)域寬度。
②池化層圖像特征提取
通過紅外圖像特征值描述,獲取紅外像素的分布空間及特征量,完成圖像邊緣輪廓處理,以此降低目標圖像的特征維度,提升檢測效率。 選擇一部分具有代表性的特征量展開分析,進而獲取紅外圖像中局部區(qū)域的灰度強度分布情況,如式(9)所示:
式中:Tp代表灰度強度的分布情況,φ代表紅外圖像像素值,以此完成缺陷檢測識別。
為了促使目標識別和定位結果準確性得到有效提升,需要對經(jīng)過連接層處理后的池化層中紅外圖像紋理信息進行加工處理,優(yōu)化魯棒性。 通過其取值大小可以準確反映不同目標紅外圖像紋理的均勻程度,以此完成缺陷分類。 目標圖像紋理的均勻程度計算式為:
式中:mt代表卷積層時間復雜度;μi代表池化層第i個卷積核的鄰域像素;n代表背景自適應標準差。根據(jù)目標圖像紋理均勻程度結果獲取紅外圖像特征信息,以此完成金屬表面特征缺陷檢測及分類。
上述過程完成了基于紅外光電傳感器的強反射金屬表面缺陷檢測方法的理論研究,下述將設計實驗對其進行驗證。
實驗采用的服務器為Intel Xeon(R)CPU E5-2650 v4@2.20 GHz X4S/12 GB 的GeForce GTX1080Ti GPU,運行內(nèi)存為64 GB,操作系統(tǒng)為Ubuntu Linux,深度學習框架為TensorFlow。
以KolektorSDD 數(shù)據(jù)庫(https:/ /www.vicos.si/Downloads/KolektorSDD)為實驗對象,從中選取200 px×200 px 的金屬零件表面缺陷紅外圖像500 張,其中包含夾雜、劃痕、裂縫、斑塊、凸起、孔洞、次品、折彎痕、摩擦痕、燒傷痕、電鍍花斑、水印、霧狀、腐蝕和修補15 種缺陷類型。 從500 張紅外圖像中選取70%的樣本作為訓練集,剩余30%的樣本作為測試集,訓練集與測試集均為獨立。
考慮到紅外傳感器一般情況下輸出的原始信號可達到14 位(或16 位)數(shù)據(jù)范圍,然而在一張圖像中人類肉眼只能大約分辨出128 個灰度級,因此將閾值設定為128。 設置學習率為0.005,權值的衰減系數(shù)為0.000 1,迭代次數(shù)為1 000 次,每迭代一次保存一次訓練結果。 選擇隨機梯度下降法對以端對端的聯(lián)合方式進行訓練,通過softmax loss 損失函數(shù)輸出訓練精度損失結果,如圖4 所示。
圖4 訓練損失結果
由圖4 可知,隨著迭代次數(shù)不斷增加,訓練集產(chǎn)生的精度損失逐漸降低,說明卷積神經(jīng)網(wǎng)絡模型訓練效果良好。 訓練損失基本收斂到穩(wěn)定值,表明達到預期訓練效果。
實驗過程為,Step1:人為加入強光干擾,使金屬零件表面具有一定的反光性。 Step 2:利用紅外光電傳感器采集成像數(shù)據(jù),生成強反射金屬表面紅外圖像。 Step 3:對其進行加權直方圖均衡化處理后,通過調(diào)整紅外圖像像素實現(xiàn)圖像增強處理。 Step 4:利用卷積神經(jīng)網(wǎng)絡模型提取強反射金屬表面的缺陷特征,實現(xiàn)強反射金屬表面缺陷檢測。 具體操作過程如圖5 所示。
圖5 強反射金屬表面缺陷檢過程
分析圖5 可知,所提方法可以準確識別強反射條件下的金屬表面缺陷,定位效果佳。
將金屬表面缺陷檢測準確率和耗時作為指標,采用所提方法、與文獻[3]方法和文獻[5]方法進行對比測試。 三種方法分別對同一強反射500 幅金屬零件表面缺陷紅外圖像展開缺陷檢測,選取準確率作為測試指標,表1 為實驗測試結果。
表1 不同方法的準確率測試結果對比分析
分析表1 中的實驗數(shù)據(jù)可知,在不同的金屬表面缺陷類型下,采用所提方法發(fā)生準確率較高,在腐蝕缺陷檢測時的準確率最高,為98.5%,其主要原因是金屬零件腐蝕缺陷紅外成像效果最為明顯,因此檢測準確率較高。 兩種對比方法的準確率整體相對降低,對于腐蝕缺陷檢測準確率同樣較高,準確率分別為96.5%和96.3%。 綜上可知,所提方法將紅外成像頻率因子引入原有直方圖中,均衡化處理紅外圖像像素,增強了紅外圖像效果,促使不同缺陷的準確率得到了明顯改進,進一步驗證了所提方法的優(yōu)越性。
為了驗證所提方法的強反射金屬表面缺陷檢測效率,實驗選取三種方法分別針對不同類型的缺陷展開檢測,具體的實驗測試結果如表2 所示。
表2 不同方法的檢測耗時測試結果對比分析
通過對表2 中實驗數(shù)據(jù)的分析可知,由于金屬表面缺陷類型不同,進而導致各個方法的檢測耗時也發(fā)生了比較明顯的變化。 在三種檢測方法中,所提方法的檢測耗時低于9.6 s,對比方法的檢測耗時分別低于10.2 s 和9.9 s。 對于同種類型缺陷的檢測耗時,所提方法的耗時更低。 主要是因為所提方法改進了平臺直方圖的圖像處理效果,將紅外圖像像素點進行加權處理,提升了圖像均衡處理效果,同時利用灰度共生矩陣和卷積神經(jīng)網(wǎng)絡的方法對金屬表面特征進行識別和分類,有效簡化了操作流程,進而降低檢測耗時。
強反射金屬在生產(chǎn)過程中經(jīng)常會出現(xiàn)凸起以及劃痕等缺陷,造成工程應用中金屬零件的使用壽命下降,同時存在安全隱患。 為了有效解決上述問題,提出基于紅外光電傳感器的強反射金屬表面缺陷檢測方法。 利用紅外光電傳感器獲取強反射金屬表面紅外圖像,并將紅外成像頻率因子引入原有直方圖中,對新的加權直方圖進行均衡化處理。 結合灰度共生矩陣和卷積神經(jīng)網(wǎng)絡實現(xiàn)缺陷特征分類檢測。經(jīng)實驗測試結果表明,所提方法可以有效提升強反射金屬表面缺陷檢測結果的準確性,同時還能夠減少檢測耗時。