司徒偉明+鄒湘軍++王成琳++莫宇達++李錦慧++羅少鋒



摘 要: 為了解決木材加工過程中人工檢測木材表面缺陷效率低、檢測質量差異大等問題,運用計算機視覺技術,設計一種實時在線自動檢測木材表面缺陷的檢測系統。系統能夠檢測木材表面是否存在缺陷,并準確檢測出木材表面缺陷的大小以及位置,將這些信息存儲起來,以便后續指導木材加工設備對木材進行加工作業。該系統具有檢測準確、速度快等特點。通過大量實驗,得出檢測的準確率達到92.33%,平均檢測時間為2 ms,實驗結果表明該系統具有可行性。
關鍵詞: 木材表面缺陷; 計算機視覺; 檢測系統; 木材加工
中圖分類號: TN911?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2017)12?0148?04
Abstract: Since the manual detection for wood surface defect in the process of wood processing exists the problems of low efficiency and large quality difference, a real?time on?line automatic detection system of wood surface defect was designed by means of computer vision technology. The system can find out whether the wood surface has defect, detect the size and location of the wood surface defect accurately, and store the information to guide the wood processing equipment for wood processing. The system has the characteristic of accurate and fast detection speed. The conclusion from various experiments indicates that the system′s recognition accuracy rate can reach up to 92.33%, and the average detection time is 2 ms, which shows that the system is feasible.
Keywords: wood surface defect; computer vision; detection system; wood processing
0 引 言
木材表面缺陷是指降低木材商品價值和使用價值的各種特征的總稱,這些缺陷不但會影響木材強度,還嚴重影響木材加工和木制裝飾的質量及外觀[1?3]。常用的木材表面缺陷檢測的方法有:人工檢測、超聲波檢測、X射線檢測、激光掃描、計算機視覺技術檢測[4]。
目前,計算機視覺技術已在許多領域得到了廣泛的應用,在木材表面缺陷的檢測中也取得了顯著的成果[5?10]。文獻[11]中,提出一種改進Sobel算子提取木材表面缺陷邊緣的算法,并使用神經網絡模式識別檢測木材表面缺陷,該文獻介紹的方法能夠提高木材表面缺陷邊緣的檢測精度,識別的準確率較高,但需要大量具有代表性的木材圖像作為訓練樣本,算法的復雜性也導致檢測效率不高。文獻[12]提出一種基于數學形態學分割木材表面缺陷的方法,并使用最小二乘支持向量機分類器檢測木材表面缺陷,缺陷分割算法能夠有效避免木材紋理對分割結果的影響,但在實際處理分割時,需要根據應用背景選擇不同的參數值來得到分割的種子點,通用性有待提高。文獻[13]介紹了一種基于HIS空間二維最大信息熵的分割方法,它對木材表面缺陷圖像的分割結果較好,但是分割的處理時間較長,實時性不強。雖然對木材表面缺陷檢測的研究有很多,然而,應用計算機視覺技術,實時在線檢測并定位木材表面缺陷卻未見報道。
木材加工過程中木材表面缺陷的檢測大多仍依賴人工完成,檢測的效率會隨著檢測人員的疲勞加重而有所下降,并且不同操作員的經驗差異導致同一塊木材的檢測結果也會有所不同[13]。因此,研究一種能夠代替人工進行木材表面缺陷檢測的方法對木材加工行業非常重要。
本文利用計算機視覺技術,開發了一套木材表面缺陷在線實時檢測系統,為木材加工行業提供了一個有效的方案。該系統可以檢測出木材表面缺陷的大小以及位置信息,通過串口通信模塊與下位機進行雙向數據傳遞,進而指導木材加工設備對已檢測木材進行作業。
1 系統設計方案
系統結構如圖1所示,主要包括木材表面缺陷檢測平臺和木材表面缺陷軟件檢測系統。檢測平臺主要包括傳送機構、結構光源、CCD工業相機、接近開關等。CCD工業相機為維視MV?VD120SC,分辨率為1 280× 960,焦距為8 mm,幀率為15 f/s,像素尺寸為4.65 μm ×4.65 μm,傳感器光學尺寸為,信噪比大于54 dB,數據位數輸出 8 b,輸出方式為USB 2.0,供電要求為5 V(USB接口或外接電源供電),外形尺寸為56 mm×50.6 mm×50.6 mm。機架使用歐標型3030鋁型材,由3030角碼、M5不銹鋼內六角圓柱頭螺釘、M5配3030鋁型材的T型螺母、M8尼龍腳墊、12W?T8?LED燈管、UCP208立式軸承座、寬450 mm PVC輸送帶和滬工DC 5 V接近開關等構成。
軟件檢測系統通過數據線與相機相連,實時獲取傳送帶送來的木材圖像,并快速地進行缺陷檢測,最后將相關木材表面缺陷的信息傳遞給木材加工設備。木材經傳送帶進入相機拍攝區域時,安裝在機架一側的接近開關檢測到木材的接近并將信號傳給檢測系統,檢測系統控制下位機使得傳送帶電機失電,傳送帶停止。下位機的計時器開始計時,隨之檢測系統控制相機獲取木材圖像,并檢測木材表面缺陷,并向下位機傳遞檢測結果,下位機再控制木材加工設備對木材進行后續的加工。當計時器計時到達設定的時間后,下位機使傳送帶電機得電,傳送帶移動一個單位距離(確保與上一張檢測圖像無過多重復,并無檢測區域丟失),然后電機失電,傳送帶停止,重復前面的步驟。當木材完全離開相機拍攝區域,接近開關將信號傳給檢測系統,檢測系統進入待機狀態。整個系統的工作流程如圖2所示。
2 系統軟件設計
本軟件使用Microsoft Visual Studio 2013 作為開發平臺,采用C++作為主要開發語言,操作界面使用MFC/C++開發。通過調用OpenCV和CameraDS相關函數來實現實驗圖像的獲取,具有獲取速度快,兼容大部分數字攝像機等優點。
2.1 系統安全設計
如圖3所示,本軟件根據用戶不同的實際需求提供了自動檢測和手動檢測兩種模式。手動模式下,用戶才可以對檢測系統的參數進行設置,設置好參數后,按下“獲取圖片”按鈕,然后再按下“缺陷檢測”按鈕,信息提示窗口將顯示木材表面缺陷的中心坐標、缺陷大小、缺陷檢測所用的時間等。按下“繼續”按鈕,傳送帶帶動木材運動一個單位距離,傳送帶停止運動,重復上述操作便可實現再一次的缺陷檢測。自動模式下,系統會根據手動模式下設置的參數進行自動檢測。
為了提高本系統的穩定性與安全性,在安全操作方面做了一些設置。自動模式和手動模式兩種模式只能在一個檢測循環結束后進行切換。例如,當要從手動模式切換到自動模式,自動模式的選擇只能在缺陷檢測完成后,“繼續”按鈕彈起后才起作用。而從自動模式切換到手動模式需要在缺陷檢測完成后,即信息提示框中顯示缺陷信息后方可實現。這樣的設置可防止傳送帶傳送時間出現差異,導致部分木材表面缺陷部位未能被檢測到,也可防止缺陷檢測中途遭到中斷。
2.2 參數設定
為了得到準確的檢測結果,用戶首次使用本系統需要手動設置與檢測有關的參數,點擊“參數設定”按鈕,彈出對話框如圖4所示。
2.2.1 分割閾值設定
本軟件使用二值化函數對木材表面缺陷圖像進行閾值分割,閾值的設定將直接影響檢測的結果。二值化函數的作用是將圖像中灰度值大于設定閾值(圖4中設為90)的像素點的灰度值修改為255(白色),小于或等于設定閾值的則被修改為0(黑色)。使得木材表面缺陷的部分變為黑色,木材正常的部分變為白色。
2.2.2 時間間隔設定
“時間間隔”測試前先打開相機,在木材表面位于拍攝區域的下邊緣處作個小標記,準備好秒表,按下“測試”按鈕的同時按下秒表計時,眼睛觀察拍攝區域,當小標記到達拍攝區域的上邊緣時停止計時,將秒表上顯示的時間輸入到相應的編輯框中。
2.2.3 最大舍棄面積設定
“最大舍棄面積”表示面積小于該值的區域將不被定為缺陷而舍棄,因為木材表面可能存在灰塵、污點、木屑等,它們的面積相對于缺陷的面積小的多,應該被舍棄。
2.2.4 像素標定設定
“像素標定”的含義為尋找圖像中像素點的距離與實際物理距離的轉換關系。例如:假設長度為1 mm的小線段,在圖像中的像素距離為10,那么在圖像中像素距離為100的線段,實際長度則為10 mm。根據這個轉換關系,只需統計缺陷部分區域的像素面積和中心位置即可知道木材表面缺陷的實際大小與位置。按下“測量”按鈕,在彈出對話框,按下“打開相機”,如圖5所示。按照右側的標定操作說明示意圖,在待測的木材上面放一把尺子,將尺子與參考線對齊,讀出參考線在尺子上的長度。點擊“確定”退出當前對話框,然后把參考線的長度輸入到編輯框中。最后點擊“保存”退出“參數設定”對話框。
2.3 缺陷檢測
“參數設定”完成后,按下“打開相機”按鈕,左側的框中將會動態顯示圖像,再按下“獲取圖片”按鈕,框中顯示按下按鈕時獲取的那幀圖像。調節顯示框下的滑動條可調節圖片的對比度,再按下后面的“保存”按鈕,可作為下次操作的參考數值。按下“缺陷檢測”按鈕,圖中的木材表面缺陷將會被框出來,而且框中左上角顯示的編號與右側的提示框的序號對應,可方便查看檢測是否準確。檢測的結果如圖6所示。缺陷大小的計算是通過統計缺陷輪廓的像素點的個數,再根據像素標定得到的轉換關系來轉換為實際面積的大小。而缺陷的中心默認為矩形框的中心。
2.4 檢測結果的修改與保存
軟件界面的右上角的兩個按鈕可查看檢測結果的歷史記錄。本軟件還能夠對檢測的結果進行修改和保存。點擊“保存結果”按鈕,軟件會將右側的信息提示框中的信息保存到Excel文檔中,點擊“修改結果”,將打開Excel文檔,用戶可根據歷史記錄來修改或刪除軟件誤檢測的結果。
3 系統測試
3.1 系統測試環境
PC主機為CPU Intel Xeon E3?1230 v5 340 GHz;內存為8 GB;操作系統為Window 10 專業版;主板為Gigabyte X150M?PLUS WS?CF;開發平臺為Microsoft Visual Studio 2013;版本為12.0.21005.1;應用程序框架為MFC;本地編譯工具為VC++;開發語言為C++。
3.2 系統整體測試
測試方法:使用相機拍攝木材圖片,其中包含無缺陷、有污點、有缺陷、有劃痕、有灰塵的各種不一樣的木材圖片。分別統計每個樣本的準確率Ai和檢測木材表面缺陷的準確率A如下:
式中:Si為每個樣本檢測結果的總數;Ei為每個樣本中誤檢測和漏檢測的數量總和;n為樣本總數。
部分木材表面缺陷檢測結果如圖7所示。假設下面9張木材照片為測試的總樣本,第1張照片有一個缺陷,且被正確檢測出來,則S1=1,E1=0,A1=1,第2張照片有一個缺陷,且被檢測出來,但有兩個誤檢測結果,則S2=3,E2=2,A2=0.33,同理,A3=1,A4=1,A5=1,A6=0.5,A7=1,A8=1,A9=1。最后算出檢測的準確率:A=(A1+A2+…+ A9×100%=87%。
使用前面講述的測試方法對300張木材圖片進行檢測,統計出本軟件檢測木材表面缺陷的準確率為92.33%,平均檢測時間為2 ms,能夠基本滿足木材加工企業的加工要求。
4 結 論
本文提出了一種基于OpenCV的木材表面缺陷檢測系統,經實驗有如下結論:本系統能夠快速準確地檢測定位木材表面的缺陷,檢測的準確率達到92.33%,平均檢測的時間為2 ms;系統軟件操作界面簡單易用,穩定可靠,具有一定的實用性;該系統能夠靈活應用到多種木材加工生產線上,具有較好的通用性。它為木材加工流水線實時自動檢測木材表面缺陷提供了一種可實現的方法。
注:本文通訊作者為鄒湘軍。
參考文獻
[1] 王林,白雪冰.基于Gabor變換的木材表面缺陷圖像分割方法[J].計算機工程與設計,2010(5):1066?1069.
[2] 金仁蓮.關于木材缺陷及木材檢驗技術要點探討[J].農民致富之友,2016(2):140.
[3] 戴天虹,吳以.基于OTSU算法與數學形態學的木材缺陷圖像分割[J].森林工程,2014(2):52?55.
[4] 牟洪波.基于人工神經網絡的木材缺陷檢測研究[D].哈爾濱:東北林業大學,2006.
[5] TSAI D M, HUANG T Y. Automated surface inspection for statistical textures [J]. Image and vision computing, 2003, 21(4): 307?323.
[6] 王海濤,甄理,楊春霞,等.基于計算機視覺的鐵軌表面缺陷檢測系統[J].無損檢測,2011(11):38?41.
[7] 趙紅穎,于微波.計算機視覺技術在發動機缺陷檢測系統中的應用[J].光學精密工程,2000,8(3):283?286.
[8] 胡亮,段發階,丁克勤,等.帶鋼表面缺陷計算機視覺在線檢測系統的設計[J].無損檢測,2003(6):287?290.
[9] 熊建平.基于計算機視覺的墻地磚表面缺陷檢測[J].電子測量技術,2015(5):53?55.
[10] FUNCK J W, ZHONG Y, BUTLER D A, et al. Image segmentation algorithms applied to wood defect detection [J]. Computers and electronics in agriculture, 2003, 41(1/3): 157?179.
[11] 尹建新.基于計算機視覺木材表面缺陷檢測方法研究[D].杭州:浙江工業大學,2007.
[12] 蘇暢.基于計算機視覺的木材表面缺陷檢測研究[D].株洲:中南林業科技大學,2008.
[13] 馬曉明.基于二維熵的木材表面缺陷圖像分割[D].哈爾濱:東北林業大學,2014.