韩伟聪,鲍光海
(福州大学电气工程与自动化学院,福建 福州 350108)
基于机器视觉的竹材尺寸测量系统设计
韩伟聪,鲍光海
(福州大学电气工程与自动化学院,福建 福州 350108)
为适应竹材加工过程的竹材剖分自动化需求,该文提出将机器视觉技术应用到竹材图像实时处理与显示中,并设计一种新的算法来测量竹材的尺寸参数。首先,针对采集图像存在的噪声,采用选择式掩模平滑法进行去噪并保护边缘信息;然后利用Sobel算子提取竹子的内外轮廓,通过二值化分割图像的目标和背景,并按照新的算法获取竹材尺寸大小;最后通过VC++编写的软件界面显示采集和处理后的图像及测量数据,并存储在数据库里。试验结果表明:软件设计采取的数字图像处理算法能有效滤除噪声,保留感兴趣的目标,而新的测量算法能高效快速精确地计算竹材的尺寸参数,为竹材自动化剖分的实现提供有效途径。
尺寸测量;机器视觉;选择式掩模平滑法;Sobel算子
近年来,随着社会的不断发展与人民生活水平的逐步提高,人们对自然资源特别是木材的消耗量与日俱增。由于木材的生长周期长,使得木材急剧短缺。而将竹材作为替代品,具有生产周期短、材质优良等优点。因此,实现竹材尺寸自动化测量显得至关重要。
目前,国内外针对竹材的轮廓提取与尺寸测量做了较多的图像分析和研究。文献[1]采用Harris角点检测与边缘拟合算法对图像轮廓进行预处理。
文献[2]通过计算八连通区域的像素点数,数值较大的为外轮廓值,数值较小的内轮廓值。文献[3]提出基于弦中点Hough变换(CMHT)的椭圆检测算法,该算法对噪声具有较强的抵抗力。文献[4]利用圆的特性和梯度算法对圆进行判定,能够在复杂环境下准确识别圆。
在传统的竹材剖分过程中,对于竹材的剖分片数主要依靠人工经验进行。由于人工识别尺寸误差大、效率低且劳动强度大,所以本文旨在利用VC++设计一套基于数字图像处理理论的竹材尺寸自动化测量系统,快速实时显示处理前后的竹材图像,以及测算竹材的内外轮廓厚度与内周长,为自动化剖分提供依据。实验表明:该系统能够实时显示处理前后的竹材图像以及竹材参数,且处理速度快、准确度高。
本文设计一个采用VC++语言[5]编写的具有图像识别分析与参数计算功能的软件,该软件具有输入图像与处理后图像的用户界面,能够显示相应的参数,并将其记录到数据库,以便统计与分析用户需要的信息。图像处理流程如图1所示。
实物检测平台如图2所示。首先,通过触发与发送模块触发摄像机拍摄。然后,将图像数据传输到PC进行图像处理。最后,将处理结果显示在PC上以及无线传输到LED模块显示。
本文所有的图像采集[6-7]都是在自然光条件下进行的,而且固定摄像机与物体的距离为50 cm,竹子背后放置黑色挡板。
图1 图像处理流程图
图2 实物检测平台
2.1选择式掩模平滑
在数字图像采集与传输过程中,由于摄像机存在不稳定性、光线的不均匀性和拍摄范围内的非目标物体的杂质影响,图像存在噪声。平滑滤波可用于消除噪声,或者提取较大的目标前去除小的细节。空域中主要有中值滤波、选择式掩模平滑法等滤波效果较好的算法。由于中值滤波在开窗较大时,其数据计算量迅速增大,实时性受到影响。而选择式掩模平滑法既可以抑制噪声改善图像,又能尽量不模糊边缘轮廓。因此,该软件的设计采取选择式掩模平滑法作为滤波算法。
选择式掩模平滑法以模板运算为基础,本文采取5×5的模板窗口。设图像窗口中心像素坐标为(i,j),构造一个边长为3的正方形1个、五边形4个和六边形4个,共9种形状的窗口,分别计算每个窗口内的均值与方差。由于含有尖锐边沿的区域,方差必定较平缓区域大,因此采用方差最小的窗口进行平均化,这种方法在完成滤波操作的同时,又不会破坏边界的细节[5]。
均值的计算公式为
方差的计算公式为
式中k=1,2,3...,n,n为各窗口对应的像素个数。
求出最小的方差σi min,则将其对应的Mi作为像素点(i,j)的值输出。依次遍历整幅图像的所有像素点,可得到平滑后的图像,如图3所示。
从图中可知,选择式掩模平滑能够有效去除竹屑等细小的杂质,而且不会模糊竹子的内外轮廓边缘,有利于目标图像的特征提取,便于后续的图像处理。
图3 选择式掩模平滑图像
2.2边缘提取
为了获取竹材内外轮廓的尺寸参数,图像的边缘检测是图像处理中一个很重要的环节。目标物体的边缘是指像素灰度值剧烈变化(灰值图像的灰度值为0~255),即与周围像素的梯度较大的一系列像素点组成的轮廓。
边缘检测算子就是构造对灰度值变化敏感的微分算子来进行图像的边缘检测[8-9]。传统的边缘检测算子有Sobel算子、Robert算子、Prewitt算子和Laplacian算子等。通过对比试验发现,Sobel算子与其他算子相比,检测的轮廓清晰直观,便于后续的二值化处理。
Sobel算子包含两个3×3的模板,将其与图像上的每个像素点作卷积,分别得到横向和纵向的梯度值。这两个模板如图4所示。
图4 Sobel模板
采用Sobel算子提取边缘的图像如图5所示。
图5 Sobel算子提取边缘图像
从图中可知,Sobel算子能够较好地保留竹材内外轮廓的边缘,并且滤除大多数非轮廓的像素点。虽然还保留一些轮廓外显示的像素点,但是与目标轮廓相比并不明显,在后续图像处理中可以采用阈值二值法滤除这部分杂质。
2.3图像二值化
在利用选择式掩模平滑和Sobel算子提取边缘后,为了尽量使图像中有且仅有我们感兴趣的部位,需要对图像整体进行处理,而二值化在区分目标与背景起到了至关重要的作用。
灰度图像的像素亮度等级分为0~255,而图像二值化就是按照某一阈值θ,将图像整体分为两部分:像素大于θ的部分和小于θ的部分。阈值θ的选取是确保二值化处理能准确分离背景和目标的关键。如果阈值选得过大,容易把目标区域的一部分给滤除掉;若选得过小,则二值化后的图像包含一部分的背景。因此,需要通过合理的方法确定阈值,使其能够最大程度地去除背景获取目标。常用的二值化算法分为固定阈值和自适应阈值。为了更加快速地处理图像,本文采用固定阈值。
该固定阈值的确定是通过大津阈值法和实验相结合获取得到的。首先,通过大津阈值获取阈值初值。大津阈值的原理是将图像的直方图按照某一阈值分割成两组,当两组的方差最大时,该阈值即为我们所需要的。然后,将该阈值作为初值,通过多次小幅度改变该阈值,查看输出结果。在输出的结果中比较并寻找最理想的图像,即该图像基本只包含内外轮廓,而且内外轮廓清晰完整,此时则选取该阈值作为最终的分割阈值。
二值化处理后的图像如图6所示。
图6 二值化处理图像
从图中可知,所选取的阈值基本上能将目标与背景分离,且内外轮廓清晰可见。图像边缘的倾斜直线是因为平台与挡板没有放置好的原因,可以通过只处理指定区域的图像像素去除掉,对尺寸测量没有影响。
传统的数据计算与分析一般根据像素的点数来确定[10-12]。本文通过大量的实验分析得出,对于计算竹材的内外轮廓周长和厚度,该方法存在一定的缺陷。当处理后的轮廓图并非标准圆时,或者处理后的竹子轮廓面并非完整时,其存在较大的误差,无法满足竹材高精度剖分的需求。由于竹材的轮廓面一般都呈椭圆状,当采取快速Hough[13-14]圆变换算法计算内外轮廓参数时,其计算量大,耗时长且误差大。
本文采用基于距离而非像素的方法来判断竹材的内外轮廓以及参数。
参数计算流程如图7所示。
图7 参数计算流程图
具体的计算思路如下:
1)首先,将整个图像最左边和最右边的像素点选取存放在数组a里,然后分别求出这些点的横、纵坐标的平均值。若图像只有轮廓存在时,则两者分别为圆心的横纵坐标初值。
2)然后,求出存放在数组a里的像素点与初始圆心距离的平均值,将该距离设为初始外轮廓半径;接着,将小于该初始外半径一定距离(本文取小于该初始外半径10像素距离)的所有点存放在数组b里。求取这些点的横、纵坐标平均值,将其作为圆心的参考坐标。将其与初始圆心对比,若相差不大,则选取该坐标为圆心,否则选初始圆心坐标为圆心。该做法是为了提高圆心坐标的准确度。
3)求数组a里面的像素点与圆心的距离的平均值,将其设为外轮廓半径参考值;接着,将小于该外半径参考值一定距离(本文取小于该外半径参考值10像素距离)的所有点存放在数组c里。求数组c里面的像素点与圆心的距离的平均值,将其设为内轮廓半径的参考值。
4)求大于内半径参考值一定距离(本文取大于该内半径参考值10像素距离)的所有点距离圆心的平均值,将其与外轮廓半径参考值作比较,若相差不大,则选取该值作为外轮廓半径,否则选取后者作为外轮廓半径。同理可得内轮廓半径。
5)由于内周长与内轮廓半径成比例,厚度与内外轮廓半径距离之差成比例,根据实际测量数据计算出比例系数,则可得到相应的厚度与周长。
本文对竹子样本分别测出其在不同方向情况下,采用该算法获取数据的平均值与实际的绝对误差和相对误差,限于篇幅,这里仅列出6组数据。
表1 计算与实测的厚度对比
表2 计算与实测的内周长对比
从以上数据可知,最小厚度的绝对误差<0.5mm,相对误差<±5%;内周长的绝对误差<5 mm,相对误差<±2%。显然,内周长的测量精度高于厚度,这是由于竹子的内外轮廓面呈椭圆,导致不同位置的厚度大小不一。总体上,对于椭圆形的竹材轮廓而言,该算法具有较高的计算精确度。
软件设计的GUI如图8所示。
软件是采用VC++6.0 MFC对话框设计,数据显示界面的内容有:1)采集的图像与处理后的图像的实时显示;2)通信串口设计,目的是为了将处理结果通过串口通信传输到LED显示屏上显示,使数据呈现更加直观与简单;3)切片长度设置,根据需要确定竹材剖分的宽度,以便根据内周长获取竹材剖分的片数;4)查看历史数据,为了方便用户了解竹材的剖分情况。
软件的工作流程:当竹材放在装有压力传感器的平台时,触发摄像机拍摄,将图像数据传入计算机指定的图像文件夹中。软件一旦检测到有新的图像传进来,立即按照相应的图像处理算法处理图像并显示处理前后的图像与尺寸。计算机在存储数据的同时将数据传输到控制竹材剖分的机器上,确定竹材剖分数,实现了竹材自动化剖分。
图8 用户界面
本文通过对竹材图像进行选择式掩模平滑、Sobel算子边缘提取以及二值化等数字图像处理,获得了竹材内外轮廓边缘。由于现有基于像素点数测量算法的不足,本文设计一种基于像素点间距的算法来计算竹材内外轮廓的厚度与内周长,最终实现竹材的自动化剖分。实验表明,该算法能够实时在线检测、处理竹材的图像,运行可靠性高且测量准确度高。该尺寸测量系统可为竹材加工企业节约生产成本,提高生产效率,具有良好的经济和社会效益,能极大推动现有竹材加工自动化的发展,对当前竹材加工有重要意义。
[1]翟亚宇,潘晋孝,刘宾,等.基于运动目标检测的实时图像处理与显示[J].计算机测量与控制,2014(11):3794-3797.
[2]柴华,任洪娥,张俊卿.利用Sobel算子结合蚁群算法提取竹材的内外轮廓[J].哈尔滨理工大学学报,2014(1):54-58.
[3]屈稳太.基于弦中点Hough变换的椭圆检测方法[J].浙江大学学报(工学版),2005(8):1132-1135.
[4]周封,杨超,王晨光,等.基于随机Hough变换的复杂条件下圆检测与数目辨识[J].仪器仪表学报,2013(3):622-628.
[5]谢凤英,赵丹培,姜志国.Visual C++数字图像处理[M].北京:电子工业出版社,2008:21-39.
[6]祁晓玲,赵霞霞,靳伍银.基于机器视觉的轴类零件几何尺寸测量[J].组合机床与自动化加工技术,2013(1):65-67.
[7]李绍民,陈卫东.图像处理方法在自动化加工中的应用[J].组合机床与自动化加工技术,2004(9):94-95.
[8]LIAO C W,YU J H,TARN Y S.On-line full scan inspection of particle size and shape using digital image processing[J].Particuology,2010(3):286-292.
[9]柴华.基于图像识别的竹材横截面轮廓提取技术研究[D].哈尔滨:东北林业大学,2014.
[10]张华,展晓凯.基于VC++的数字图像处理系统的设计与实现[J].潍坊学院学报,2011(2):15-21.
[11]龙倩倩.剖竹加工工艺分析及其数控加工机床的设计[D].哈尔滨:东北林业大学,2014.
[12]龚聪.基于机器视觉的高准确度尺寸检测方法与实现[D].广州:广东工业大学,2014.
[13]程鹏,朱美琳,耿华.一种基于梯度Hough变换和SVM的圆检测算法[J].计算机与现代化,2013(2):22-25.
[14]蒋忠凌,廖俊必,黄玉波,等.基于机器视觉的化成箔缺陷在线检测系统设计[J].电子测量技术,2015(7):27-32.
(编辑:徐柳)
Design of measurement system of bamboo size based on machine vision
HAN Weicong,BAO Guanghai
(School of Electrical Engineering and Automation,Fuzhou University,Fuzhou 350108,China)
In order to cater to the demand for automated bamboo splitting technologies,this paper proposed to apply digital image processing technology to real-time processing and display of bamboo images.A new algorithm was designed to measure the size parameters of bamboo.Firstly,this paper focused on the noise of image collection,used selective masking smoothing method to weaken the noise and protect edge information;then used the Sobel operator to extract the internal and external contour of bamboo,separated the background,obtained the target of the image by binarization and attained the size of bamboo in accordance with the new algorithm;Finally,the software interface written in VC++displayed the collected images,processed images,measured data,and stored in the database.Experiment showed that the design of the software by adopting the digital image processing algorithms could effectively filter the noise,retain the targets of interest,and new measurement algorithm was fast,efficient and accurate on calculating the size parameters of bamboo,which provided an effective way to realize automation of bamboo splitting.
dimensional measurement;machine vision;selective masking smoothing method;Sobel operator
A
1674-5124(2016)07-0074-05
10.11857/j.issn.1674-5124.2016.07.015
2015-09-30;
2015-10-30
福建省教育厅JK项目(JK15005)
韩伟聪(1992-),男,福建漳州市人,硕士研究生,专业方向为机器视觉应用。