基于OpenCV的木材表面缺陷检测系统

司徒伟明+邹湘军++王成琳++莫宇达++李锦慧++罗少锋



摘 要: 为了解决木材加工过程中人工检测木材表面缺陷效率低、检测质量差异大等问题,运用计算机视觉技术,设计一种实时在线自动检测木材表面缺陷的检测系统。系统能够检测木材表面是否存在缺陷,并准确检测出木材表面缺陷的大小以及位置,将这些信息存储起来,以便后续指导木材加工设备对木材进行加工作业。该系统具有检测准确、速度快等特点。通过大量实验,得出检测的准确率达到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.