肖蘇華,王志勇,張順鈞,羅文斌,曹應斌
(1.廣東技術師范大學 機電學院,廣州 510632;2.湖南恒岳重鋼鋼結構工程有限公司,衡陽 421300)
機器視覺(Machine vision)是一種新型技術,能夠替代操作工人對工件進行精確測量[1]。機器視覺系統(Machine vision system)是指采集圖像后將圖像轉換成數字信號,傳給計算機系統,使用圖像處理算法對這些數字化信號進行處理,根據處理的結果來控制執行機構[2]。機器視覺主要應用于工業生產、產品檢測、表面檢測、汽車零件及電子工業等領域[3]。
激光打標技術(Laser marking technology)的主要目的是在物件的表面留有永久性標記[4]。目前,激光打標技術已成為一種精密加工方法,廣泛應用于各行各業[5]。由于激光打標過程中,工件上油脂形成的蒸氣易冷凝在防護罩的激光過濾鏡上,阻礙激光的穿透從而使得激光打標失效[6],因此如何對激光打標產品進行缺陷檢測,從而改進激光打標產品的質量至關重要。現價段我國的激光加工技術發展飛速,在采用校企合作模式以推動激光加工技術發展的同時,也為企業培養了大批的激光先進技術人才[7]。
目前,工件表面缺陷檢測的方法主要是對缺陷的灰度特征和圖像的信號特征進行研究。通常,基于機器視覺的缺陷檢測開發都針對的是特定產品,一旦待檢產品發生更換,甚至不同規格產品發生更換的時候,就需要重新編程和調試步驟,因而提高了時間成本和財務成本。針對上述問題,基于OpenCV/C++軟件,筆者編寫并優化了缺陷檢測算法,提供了缺陷區域面積像素值的自定義功能,提高了系統的適用范圍,革新了當前檢測不同產品,甚至不同規格產品必須重新定制開發程序的方法,擴大了系統的使用范圍,提高了檢測速度、檢測效率和檢測準確性。
以手機適配器激光打標缺陷檢測為例進行系統設計,加工精度高達0.001 mm。智能缺陷檢測系統由硬件和軟件兩大部分等組成。硬件部分由工業網口相機、工業鏡頭、相機支架、光源控制器和光源等組成;軟件部分主要采用OpenCV平臺研發了一套機器視覺系統,該系統采用C++優化算法,改進了圖像預處理和識別的算法,結合了快速傅里葉變換、高斯濾波、亞像素邊緣閾值分割、數學形態學運算、頻域處理和最小二乘法等檢測算法。
工業相機采用德國Basler(巴斯勒)的互補金屬氧化物半導體(CMOS)相機,其圖像采集的最大分辨率為2 000萬像素,精度可識別市面上主流手機適配器激光打標缺陷。相機鏡頭選取定焦距海康威視鏡頭,焦距為28 mm,鏡頭高度應適應產品大小,以保證需要檢測的零件在光源和采集范圍內。光源選擇了碗形光源產品,利用碗形光的垂直光線對激光打標表面的反射光進行處理,效果最佳。光源控制器的用途是給光源供電,并控制光源的亮度。缺陷檢測智能系統總體結構如圖1所示。

圖1 缺陷檢測智能系統總體結構示意
模板匹配是軟件的核心功能之一,對檢測結果起到至關重要的作用,根據模板在圖像上找出對應位置,裁剪圖像的定位精確度將直接影響缺陷的檢測效果,模板越多,匹配精度和檢測效果越好,但是模板過多,運行速度會變慢。模板匹配流程如圖2所示。

圖2 模板匹配流程圖
因為相機采集到的圖像存在角度偏差,OpenCV的模板匹配算子并不具有角度的功能,所以單純調用模板匹配不可行,采用多模板匹配可以有效解決這個問題,為了保證匹配速度,設定了3種模板,分別以負角度、零度、正角度進行創建。
在進行模板匹配前,需要創建3種模板,首先要設定if語句判斷是否有足夠的模板用于匹配,若沒有,則報錯提示“請確認是否創建3種模板”。創建足夠的模板后進行模板匹配操作,獲取用于匹配的圖像,判斷源圖像是來自于打開的圖像還是相機采集的圖像,確認好圖像后,用3種模板分別進行一次匹配,匹配的數值將記錄在特定的圖像中,該圖像每一個像素存放相應的匹配值。匹配完成后,獲取最大匹配值和最小匹配值,復制源圖像,用于后期繪制矩形框顯示,根據OpenCV模板匹配算子的參數設定,匹配精度最高的可以是最大值和最小值,程序選用最小值為精度最高。
獲取3種模板匹配的最小值后,得出全部匹配值的最小值,獲取該值的坐標位置,以該最小值的匹配模板為最符合模板圖,獲取最符合模板圖的寬度和高度,從源圖像中定位裁剪出待檢測的圖像,并繪制出矩形框顯示裁剪部位。當窗口中沒有合適的零件時,匹配值都會相同,并且為精度最低的數值,此時程序出錯,要應對這種情況,需要設定一個else判斷,提示“沒有合適模板”,最后顯示最符合模板圖和裁剪的圖像,以便于觀察并為后續的缺陷檢測提供圖像。
軟件系統通過預留缺陷面積最小值參數、二值化最小值調整和灰度值補償參數,以滿足不同產品的檢測需求,通過預留像素差最小值設置,實現不同產品、不同精度、不同檢測速度的優化設置功能,以滿足客戶的自定義檢測要求,該功能是軟件系統的核心。缺陷檢測軟件界面設計如圖3所示。

圖3 缺陷檢測軟件界面設計
選用求像素差的方法,獲取模板圖像和待檢測產品圖像存在差異的區域,按照系統預設的區域像素值進行比對,超過該值即判定為不合格,并在圖像里繪制紅色圓形輪廓。軟件系統能適應靜態檢測和動態高速檢測,即目標物體的離線和在線實時缺陷檢測。缺陷檢測流程如圖4所示。

圖4 智能缺陷檢測流程圖
1.3.1 離線缺陷檢測
離線缺陷檢測是指計算機在不連接工業相機的情況下,應用開發的軟件系統對存儲在本地磁盤的目標物體圖像進行缺陷檢測。離線缺陷檢測流程如圖5所示。

圖5 離線缺陷檢測流程圖
所研發的軟件在離線缺陷檢測時:① 在計算機本地磁盤存儲與待檢測產品一致的無缺陷標準產品圖像和待檢測目標產品圖像;② 點擊軟件界面的“打開圖片”按鈕,選定存儲在計算機本地磁盤的標準產品圖像;③ 點擊軟件界面的“繪制區域”按鈕,框選出需要檢測的區域用于創建模板,再點擊“創建模板”按鈕,框選出的區域在模板顯示區域出現,并且軟件提示模板創建完成,模板創建完成之后點擊“保存模板”按鈕,可以將創建完成的模板保存到本地磁盤,也可直接在內存里運行。通過對不同產品,甚至不同規格產品完成模板的創建及保存,可以保證客戶對不同產品的缺陷檢測要求。
完成模板創建之后,可以直接點擊“打開圖片”,選擇待檢測圖片,調節二值化閾值的最大值和最小值,獲取待檢測區域特點,最后點擊“缺陷檢測”按鈕,實現檢測結果的顯示,或者在創建完成模板之后,點擊“清空界面”按鈕,清空界面之后,點擊“打開圖片”按鈕,選擇本地磁盤的待檢測產品圖像,待檢測目標產品圖像會出現在采集圖像顯示區域中,然后點擊“讀取模板”按鈕,選擇與待檢測目標產品一致的模板,其會出現在顯示區域。通過調節二值化閾值的最大值和最小值來獲取待檢測區域。點擊“缺陷檢測”按鈕,其判斷結果會顯示在結果顯示區域中,若待檢測產品檢測區域無缺陷,則顯示綠色“OK”字符,若該區域有缺陷,則顯示紅色“NG”字符。
為了滿足產品的個性化定制需求,系統設計了缺陷像素面積的自定義功能設置。通過點擊“系統設置”中的“缺陷面積最小值設置”按鈕,自定義產品缺陷檢測面積的最小值,如果待檢測產品的檢測值超過該值,即判斷為缺陷。由用戶更換產品時根據實際要求填入,默認值為10,以滿足客戶對不同產品、不同精度的檢測要求。
1.3.2 實時檢測
在工業檢測行業中,往往需要具有在線實時檢測功能。實時檢測一般在自動化生產線中,工件經過傳送帶傳輸到檢測位置后,觸發相機(外部觸發或者內部觸發)進行采集圖像和缺陷檢測,并將檢測結果傳送給相應的執行機構,如機器人、線性模組等,以執行良品或不良品的分揀、統計等流程。實時檢測流程如圖6所示。

圖6 產品實時檢測流程圖
將智能缺陷系統運用于3C產品激光打標的缺陷檢測中,系統兼容主流工業相機進行缺陷檢測,可根據客戶實際精度要求進行像素差最小值設置和缺陷面積最小值設置,其極限識別精度達到亞像素級別(0.01像素)。經過測試,以不同手機適配器產品為例進行缺陷檢測,實現系統對不同產品或者不同規格產品缺陷檢測的共用性。
(1) 對HUAWEI激光打標產品進行缺陷檢測,檢測結果如圖7所示。

圖7 缺陷檢測結果(HUAWEI激光打標產品)
(2) 對VIVO手機適配器激光打標產品進行缺陷檢測時,創建了一種模板:白色背景下黑色打標字符。系統讀取模板對產品進行缺陷檢測,讀取白色背景下黑色打標字符模板對產品的缺陷檢測結果如圖8所示。

圖8 缺陷檢測結果(VIVO手機適配器激光打標產品)
開發了一種創新性的、可重構的、開放性的,且具備通用視覺檢測功能的智能缺陷檢測系統。該系統通過預留缺陷面積最小值參數、二值化、最小值調整、灰度值補償參數來滿足不同產品的檢測需求;通過預留像素差最小值設置,實現了不同產品、不同精度、不同檢測速度的優化設置功能。經過測試,系統可以對不同規格、不同型號手機適配器激光打標產品進行缺陷檢測,且具有速度快、精度高、穩定性強等特點,具有良好的應用價值,對于提高激光打標缺陷的檢測水平具有較好的促進作用。