潘穎輝
摘要:傳統(tǒng)的基于pc機的金屬板材表面缺陷檢測系統(tǒng)不夠靈活方便,因此以金屬板材常見的劃痕、麻點、夾雜、錕印、銹蝕5種較為常見的表面缺陷作為研究對象,研究并設計了一個基于Android的便攜式金屬板材表面缺陷檢測系統(tǒng)。該文闡述了設計該系統(tǒng)所使用的圖像灰度化、二值化、去噪和邊沿提取等算法,實現(xiàn)了圖像的預處理操作。并提取圖像的六個能夠全面地反映缺陷信息的特征參數(shù):形狀、寬高比、面積比、歪度、峭度及HU不變矩Ф2,然后將提取出的特征值建立特征樣本庫,一部分樣本用于K-近鄰分類器的訓練,一部分用于測試分類器對缺陷的分類效果。實驗結果表明,該系統(tǒng)具有可行性,并具有一定的實用性。
關鍵詞:圖像處理;表面缺陷;分類識別;金屬板材;K-近鄰算法
中圖分類號:TP311 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)28-0187-02
隨著經濟的快速發(fā)展,方便、快捷的獲取金屬板材產品的缺陷圖像并對缺陷類型進行識別是保證安全生產的重要前提。目前,多數(shù)識別方法是基于PC(personal computer)機實現(xiàn)的,不但成本高,而且攜帶不方便。綜合考慮性價比、便攜性以及Android系統(tǒng)的自身優(yōu)勢,本文以Android為實驗平臺,利用Java語言編寫程序,設計并實現(xiàn)一個金屬板材表面缺陷檢測系統(tǒng)。該系統(tǒng)具有獲取圖像、圖像預處理和對圖像進行分類識別的功能。
1系統(tǒng)的總體框架
本文所設計的金屬板材表面缺陷檢測系統(tǒng)主要有三個功能模塊,分別是圖像獲取模塊、圖像預處理模塊和圖像的分類識別模塊,如圖1所示。
圖像獲取模塊的功能是使用Android移動終端自帶的圖像采集設備在包鋼集團不合格產品庫對目標板材進行圖像采集,將采集完成后的圖像保存為JPG格式。圖像預處理模塊的主要功能是對圖像進行灰度變換、去噪、提取邊沿、提取特征樣式。圖像識別模塊的主要功能是根據提取的特征樣式計算出特征值,并根據特征值對缺陷進行分類。
2系統(tǒng)的設計與實現(xiàn)
2.1圖像的獲取與保存
圖像的獲取既可以使用Android移動設備自帶的攝像頭進行采集,也可以打開本地事先保存好的圖像文件。所需要的圖像確定后,還可以鎖定該圖像的某一目標區(qū)域,并將其保存,如果是第一張圖片,系統(tǒng)會自動生成一個文件夾,圖像以當時采集的時間加上“.jpg”命名。
2.2 灰度變換
灰度變換是將彩色圖像進行灰度化處理,一般有三種方法:最大值法、平均值法和加權平均值法[1]。本文選擇加權平均法,該方法是根據3個分量的重要性以不同的權值進行加權運算,計算公式為:
2.3圖像增強
由于拍攝到的缺陷圖片不可避免的含有噪聲,所以要先對圖像進行去噪處理,一方面使圖像更清晰,另一方面可以使感興趣的區(qū)域更加突出。
中值濾波法比較容易實現(xiàn),在去除噪聲時不會使圖像的邊界出現(xiàn)模糊現(xiàn)象[2],因此本文選擇中值濾波對圖像去噪。選擇不同的模板進行均值濾波的效果是不同的,隨著模板的增大,圖像越來越模糊,本文選擇3×3中值濾波對圖像進行去噪。不同模板下的中值濾波效果如圖2所示。
2.4提取邊沿
灰度變換、去噪完成后,需要將缺陷所在的目標區(qū)域從背景中分離出來,因此要進行提取邊沿操作。常見的邊沿檢測算法有:Roberts、Sobel、Canny、Prewitt和Log算子[3]。為了選取適合本文的邊緣提取方法,在MATLAB進行仿真,其結果如圖3所示:
從圖3可以看出,Canny算子所檢測到的邊緣效果最連續(xù)、最清晰,能夠檢測到真正的缺陷區(qū)域的邊緣。所以選擇Cany邊緣檢測算法來檢測金屬板材表面缺陷區(qū)域的邊緣。
2.5特征提取
對缺陷進行分類識別的一個非常重要的步驟是特征提取。為了減少計算量,特征值的個數(shù)要盡可能的少,但又要選擇出能夠全面反應缺陷特征的特征值。本文的研究對象是金屬板材常見的輥印、劃痕、銹蝕、麻點、夾雜5 種缺陷,考慮不同缺陷的特征,如劃痕一般為細長形,其寬高比和面積比較大。麻點較為接近圓形,寬高比比其他缺陷小;夾雜的歪度和峭度較多出現(xiàn)負值,熵值較小。輥印的峭度最大,熵值較大,而能量較小。銹蝕的 Hu 不變矩 Ф2普遍比其他缺陷大[4]。綜合考慮提取特征值的可行性和運算量,本文選擇以下6個特征參數(shù):
本人實地深入板材車間,采集大量板材缺陷圖像樣本,每類缺陷選取30張用于k-近鄰分類器的學習和訓練,10張用于缺陷分類系統(tǒng)的測試,并構建相應的缺陷圖像特征值的樣本庫。
2.6分類算法的設計與實現(xiàn)
K-近鄰算法簡單有效,重新訓練的代價較低[5],選用K-近鄰算法對金屬板材表面缺陷進行分類。選取不同的K值,分類的結果也不相同,為了選取最佳k值,在MATLAB下進行仿真實驗。選取2.5節(jié)提取的特征值250組,其中200組用于訓練k-近鄰分類器,另外50組用于測試,結果表明k=31時分類效果最佳。
3系統(tǒng)測試及分析
3.1系統(tǒng)程序的運行
將編寫完成的Android工程導出生成安卓安裝包,命名為Dip.apk文件,導入并安裝到華為NXT-AL10手機的 SD卡上運行該系統(tǒng)程序。其運行結果如圖4所示。
3.2系統(tǒng)性能分析
最后對系統(tǒng)的性能進行測試,以檢測該系統(tǒng)是否具有可行性和實用性。將前期生成的缺陷特征樣本庫中的300組特征值用于K-近鄰算法的學習和訓練。剩余每種類型缺陷樣本各20組用于測試,測試結果如表1所示:
4 結束語
本文在Android平臺上實現(xiàn)圖像的二值化、去噪、邊沿檢測算法,并提取出缺陷的特征值,根據特征值來訓練k-近鄰分類器。通過100組特征數(shù)據對系統(tǒng)的性能進行測試,其中87組測試結果正確,正確率為87%。本系統(tǒng)可以滿足檢測人員方便、快捷地對板材表面缺陷的類型進行檢測。
參考文獻:
[1] 王成營,羅輝.水下機器人所攝圖像的預處理[J].上海船舶運輸科學研究所學報,2015,38(1):78-82.
[2] 龔聲蓉,劉純平,趙勛杰.數(shù)字圖像處理與分析[M].2版.北京:清華大學出版社,2014.
[3] 李鈺,孟祥萍.基于Gabor濾波器的圖像紋理特征提取[J].長春工業(yè)大學學報(自然科學版),2008,29(1):78-81.
[4] 郭聯(lián)金,羅炳軍.PNN與BP神經網絡在鋼板表面缺陷分類中的應用研究[J].機電工程,2015,32(3):352-357.
[5] Mitchell H B,Schaefer P A.A “soft” K-nearest neighbor voting scheme[J].International Journal of Intelligent Systems,2001,16(4):459-468.
【通聯(lián)編輯:代影】