基于MATLAB图像处理的弯管检测方法
2017-06-01宋洪亮王宝仁
宋洪亮,王宝仁
(山东科技大学 机械电子工程学院,山东 青岛 266590)
基于MATLAB图像处理的弯管检测方法
宋洪亮,王宝仁
(山东科技大学 机械电子工程学院,山东 青岛 266590)
为了提高刚性弯管角度与尺寸检测的精度与效率,弥补传统测量方法与工具的不足,提出了一种基于机器视觉的非接触式弯管检测方法。该方法通过预先设定参照工件与待测弯管,利用CCD机摄取两者含有尺寸信息的特征图像,借助MATLAB的图像处理技术提取两者的坐标数据,求解图像上参照工件的尺寸缩放倍数,进行弯管尺寸值的求解;弯管的角度与弯角半径分别采用最小二乘法线性拟合与霍夫变换拟合圆求解。实验表明:本方法检测精度优于传统检测结果;其操作简单、高效,适用于尺寸不大的各类弯管检测。
MATLAB;非接触式;图像处理;弯管检测
随着工业化与自动化的发展,弯管加工多采用数控弯管机进行产品加工,由于机床的稳定性与弯管材料弹性复位的影响,及管材外径尺寸的差距,加工时会产生角度与尺寸误差,影响产品质量。为了实现工程中管道的较好对接,对弯管的精度要求更高,传统的测量方法越来越不能满足实际要求[1,2]。
较早的弯管检测方法是通过在白纸上描绘出弯管实际轮廓图,做辅助线的方法,用刻度尺进行管段长度与弯管圆弧半径检测以及角度仪进行弯角测量;现在传统的弯管检测方法是借助实测平台、角度仪与卡尺等工具进行角度与管段长度、弯管外径检测检测,由于这些工具精度不高,有时不能满足实际需要,而对于弯角圆弧半径只能通过绘图方式测量。上述测量方法存在一定的不足,且干扰因素多、测量操作不便、测量精度低。对于机器视觉的非接触式检测方法,仅需要采集弯管的平面轮廓图像,借助计算机软件对图像处理,提取出轮廓数据信息即可计算出弯管的尺寸、角度数据,具有精度高、操作方便、实时性的优点。机器视觉与基于图像的识别技术的迅速发展,使非接触式工件尺寸检测得以实现。现在的图像识别技术主要应用在人脸、指纹、车牌等方面,对于借助图像识别实现工件尺寸与角度等信息的非接触检测方式应用较少,还需要不断研发。
1 弯管检测原理
弯管检测原理:采用CCD摄像机采集弯管与尺寸参照工件的平面数字图像,通过MATLAB图像处理,依次经过灰度化(针对彩图)、二值化、滤波处理、轮廓提取、特征检测与拟合、轮廓坐标数据提取。求解弯管角度与圆弧半径,通过尺寸参照件的实际尺寸值与其图像尺寸值的比值,求解实物与图像的缩放倍数;利用图像中物体的缩放倍数相等的原理,求解弯管的实际尺寸值。其工作原理如图1所示。
图1 弯管检测原理图Fig. 1 Schematic diagram of bend measuring
2 图像采集与处理
2.1 图像信息的采集与传输
在弯管图像的采集中,使用摄像头和数据采集卡获取图像并存入PC机中等待处理[3,4]。CCD图像传感器具有体积小、分辨率高、灵敏度高、动态范围宽、抗干扰性好等一系列优点[5-7],用CCD摄像机摄取弯管与尺寸参照件的实体平面图像,对于较复杂的弯管只需采集其三视图进行检测;将摄像机安装在弯管机的弯管模上方的一定位置,摄取刚刚折弯完成的弯管图像,要保证摄像头与弯管面保持平行,摄像机镜头应位于弯管平面中心,减少后续角度与尺寸检测误差;采集的弯管图像通过无线传输网络发送给上位机电脑,并对图像进行编号命名,方便管理操作。
2.2 图像预处理
灰度化,是将彩色图像转化为灰度图的处理方法,主要有加权平均法、平均值法、最大值法。为提高图像的清晰程度选用加权平均法进行图像转化,将RGB图像按照R、G、B三个分量以不同的权值进行加权平均,得到较为合理的弯管图像的灰度图。其计算公式:
(1)
式中,F表示图像中各像素点的灰度值,其取值范围(0-255);AR、AG、AB分别代表图像中红色、绿色、蓝色的权重值;RR、RG、RB分别代表采集图像中各像素点红色、绿色、蓝色所占的比值大小。
二值化,是用灰度变换来研究灰度图的一种图像处理方法[8-9],是将像素的灰度值转换为0和1的处理方法,其中“0”代表白色,“1”代表黑色。图像二值化后,后续图像处理可以只针对为“1”的区域进行,能够提高图像处理的效率。由于图像中实物与背景的阈值不同,采用全局阈值法取灰度直方图中波谷处的阈值,将大于全局阈值的像素群赋值为“1”;反之,像素群赋值为“0”。在实物的边缘处,把图像中的像素群点集分离开,从而将实物与图片背景区分开,并以黑白图像进行显示。其图像二值化公式:
(2)
式中:GT为二值化阈值,即灰度直方图中波谷区域灰度值。I1(x,y)和I2(x,y)分别为二值化前后像素点(x,y)的像素值。
滤波处理,可以改善图像的质量,对目标物体的边界能够起到改善作用,中值滤波将邻域中的像素按灰度级排序,取其中间值作为当前像素的灰度值。中值滤波是一种非线性滤波,适用于滤波脉冲噪声或颗粒噪声,并能保护图像的边缘,避免线性滤波造成图像细节模糊的问题。通常,滤波模块窗口s取3×3或者5×5。滤波公式:
(3)
式中:med为取中值,S为滤波模块窗口;I1(x,y)和I2(x,y)分别为滤波前后像素点(x,y)的灰度值。
2.3 图像特征提取
轮廓提取,是借助边缘检测提取图像目标的外形轮廓操作,通过此方法对弯管的边缘轮廓提取。图像边缘作为图像分割的重要特征,由于CANNY算子具有低误码率、高定位精度和抑制虚假边缘等优点[10-11],可以用作弯管图像的边缘提取操作。
CANNY算子的边缘检测实现过程:
1) 利用高斯滤波器平滑图像,求解图像与高斯平滑滤波器卷积S:
S[i,j]=G[i,j;σ]*I[i,j];
2) 利用一阶偏导有限差分计算偏导数的两个阵列P与Q:
P[i,j]≈(S[i,j+1]-S[i,j]+S[i+1,j+1]-S[i+1,j])/2,
Q[i,j]≈(S[i,j]-S[i+1,j]+S[i,j+1]-S[i+1,j+1])/2;
3) 计算梯度幅值M和方向角θ:
θ[i,j]=arctan(Q[i,j]/P[i,j]);
4) 对梯度幅值进行非极大性抑制,细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点,缩小梯度角的变化范围,使其方向角与幅值分别为ε、N:
ε[i,j]=Sector(θ[i,j]),
N[i,j]=NMS(M[i,j],ε[i,j]);
5) 利用阈值检测和连接边缘:选取一定的阈值,将低于该阈值的像素点赋值为0;反之,赋值为1,从而显示弯管外形轮廓。
直线特征提取:采用最小二乘法提取直线,进行直线拟合。最小二乘法属于线性拟合方法,具有很好的实时性。本质是实现拟合直线与直线数据点集的误差平方和最小,求解直线表达式的过程。拟合直线的方程表达式:
(4)
其误差平方和最小的拟合直线表达式:
(5)
直线提取过程如下:
2) 利用公式(5)计算最小误差平方和E2,其E2对应的k与b值,即为直线的表达式参数。
圆弧特征提取:是基于霍夫变换(Hough)对圆的检测,即通过霍夫变换拟合圆,求解圆弧半径与圆心。霍夫变换的基本原理:利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测图像中的曲线段是否存在给定曲线的特性。霍夫变换提取圆特征,采用的圆的方程公式为:
(6)
式中:r为半径;(a,b)为圆心;(xi,yi)为圆弧上的坐标点。
霍夫变换提取圆过程为:
1) 将圆参数空间设置为(r,a,b),r、a和b的取值范围均为[0,L],L为图像对角线长度;
2) 在圆参数空间中,将r、a和b分别按照一定的取值间隔进行划分,形成用三维数组A(m,n,l)表示的参数空间,并对数组赋以初值0;
3) 由于同一个圆上的点,具有相同的圆参数(r,a,b)。将图像上的边缘点,以a和b的取值ai、bi分别从小到大变化,按公式(6)计算出对应的ri;
4) 将三维数组中以(ri,ai,bi)为地址的参数单元自增加1,变为A(ri+1,ai+1,bi+1),对所有边缘点进行上述处理,取值最大的参数单元的地址(rm,am,bm),即为圆方程的参数。
3 实验验证方法可行性
3.1 弯管图像的采集与处理
为保证测量方法的可行性与通用性,选取生活中常见的弯管进行多次试验。本实验选用一定尺寸的待测弯管,用CCD摄像机采集弯管的实物图像如图2所示,弯管的待检测参数如图3所示。
图2 弯管实物图Fig. 2 Physical image of bend
图3 弯管平面参数图Fig. 3 Scale drawing of bend
为了计算弯管的实际尺寸值,加设1个单位尺寸的棒料横截面与侧面作为尺寸参照件,并将两者的截面图与弯管平面图一起采集在同一张图片上。将图片导入MATLAB软件,借助软件采用上述的加权平均方法,对图像进行灰度化处理之后,编程绘制采集图像的灰度直方图,并对灰度值进行单位归一化处理,得到如图4所示灰度图的直方图。通过灰度直方图可知波谷处的灰度值在0.65~0.75之间,为保障滤波处理与二值化处理能够获得较好的图像,保留图像边缘特性,选取中间值为0.7进行图像二值化处理,经二值化处理后得到图像处理结果如图5所示。图中弯管内部的白色斑点是由于光照强度大,引起的图像曝光点,但不影响弯管尺寸检测。
轮廓提取与图像缩放倍数计算,其提取到的轮廓图像如图6所示。通过尺寸参照件棒料的半径与长度值进行真实值与提取图像值对比,求解图像缩放倍数M,为保证所求缩放比的精确性,对不同参数单独求解缩放比分别为M1、M2、M3。
图4 灰度图的直方图Fig. 4 Histogram of gray scale
图5 二值化图Fig. 5 Image of binarization
3.2 弯管角度检测
对于角度检测可以选取弯管上、下方的直线段,通过图像中采集的弯管管段L1与L1的轮廓线的坐标数据点,并分别绘制坐标值二维图,利用最小二乘法拟合直线与公式(4),求解各管段直线的斜率k1、k2,再通过斜率值求解弯管的角度。经过直线拟合后的图像如图7所示,其角度计算公式:
(7)
式中:α表示所求弯管角度值;k1、k2分别表示拟合的直线斜率值。
图6 轮廓线图Fig. 6 Profile scale
图7 管段拟合图像Fig. 7 Fitting image of bend
3.3 弯管外径与长度检测
弯管外径检测,需借助尺寸参照工件实体与图像的缩放比值求解,取弯管两头边界上下点的坐标值来计算。根据等式:
(8)
同理依据上述的推导过程,可得管段1、2的长度L1、L2的计算公式如下:
(9)
3.4 弯管圆弧半径的检测
对于弯管圆弧半径的检测,首先采用霍夫变换(Hough)的方法进行圆的拟合求解图像弯管圆弧半径,再借助缩放倍数M3;计算弯管的实际半径圆弧R1。弯管圆弧半径的计算公式为:
(10)
3.5 实验结果分析与评价
分别采用传统检测方法与非接触检测方法,进行多组实验,将平均值作为最终实测值,计算两种方法的最大相对误差值。表1、2分别为采用传统检测方法与非接触检测方法的实验结果。
表1 传统检测方法的实验结果
表2 非接触检测方法实验结果
通过实验得到非接触方法测定弯管的各参数平均值如下:α=60.01°、D1=32.00 mm、L1=100.05 mm、L2=120.08 mm、R1=29.98 mm;其采用传统方法测得参数值:αm=60.07°、D1m=32.01 mm、L1m=101.3 mm、L2m=120.5 mm、Rm=30.7 mm。通过实验结果的对比,此方法比传统方法的最大相对误差值更小,从而其测量精度更精确、可靠。
对弯管检测过程中的误差分析,产生原因主要来自以下方面:
1) 摄像机镜头没有与弯管平面保持平行,在尺寸求解中造成计算误差;
2) 手动点击鼠标获取线段上点的坐标值时也会产生误差[12],从而造成最终结果具有一定偏差;
3) 外界光强度在弯管轮廓分布不均匀,会在部分区域产生曝光斑点对弯管轮廓造成干涉(图5和6)。上述因素对总体检测影响较小,有些误差可以忽略。
此检测方法与传统手工检测方法对比的优点:
1) 不会对工件表面造成损伤。此检测方法为借助图像处理的非接触式测量,传统检测方法为手工接触式检测会造成接触损伤;
2) 检测的精度更高。通过两者的实验结果(表1和2)分析,即可得到此检测方法的精度等级高,相对误差值更小;
3) 具有方便、高效、实时性。传统检测方法不仅费时、费力,检测精度也会受检测仪器、设备和环境的影响;
4) 检测的尺寸参数类型多。对于传统检测方法会因测量工具的限制某些尺寸不能检测或检测不准确(如:管段1和2的长度L1、L2,弯管的圆弧半径R1),而基于图像可实现各种参数的检测。
4 结论
提出了一种基于MATLAB图像处理的非接触式弯管检测方法,提取弯管外形轮廓线与尺寸参照工件轮廓线,计算缩放倍数与数值拟合,求解出弯管的尺寸与角度值。相比于传统手工借助实测平台、角度尺与卡尺测量方法,摆脱了繁琐的测量工序与接触式测量对工件表面的损伤,具有精度高、效率高、可实时检测等优点,可用于尺寸值不大的各类管件的尺寸与角度检测,有一定实用性价值。
[1]王晓初,刘为文.弯管弯道角度测量方法的优化[J].机床与液压,2015,43(11):105-107. WANG Xiaochu,LIU Weiwen.Optimization of bending angle measurement method[J].Machine Tool & Hydraulics,2015,43 (11):105-107.
[2]王晓初,刘为文.大型弯管机弯管角度在线测量的研究与设计[J].制造技术与机床,2014(1):118-120. WANG Xiaochu,LIU Weiwen.Research and design of online measuring bend angle in the large-scale bending machine[J].Manufacturing Technology & Machine Tool,2014(1):118-120.
[3]张呈祥,邱德惠,耿国庆.基于CCD图像处理的角度测量系统[J].计算机测量与控制,2004,12(1):32-34. ZHANG Chengxiang,QIU Dehui,GENG Guoqing.Angle measuring system based on CCD image processing[J].Computer Automated Measurement & Control,2004,12(1):32-34.
[4]许学勇.CCD的工作原理及应用现状[J].视听界:广播电视技术,2009(5):81-85.
[5]秦晓慧,戴蓉,宋野.工件尺寸非接触在线检测方法与实验研究[J].测控技术,2015,34(4):5-8. QIN Xiaohui,DAI Rong,SONG Ye.Research on online method of non-contact measurement workpiece for dimension[J].Measurement & Control Technology,2015,34(4):5-8.
[6]郑洪,王一刚.基于激光准直瞄准的大直径测量系统的研究[J].仪器仪表学报,2007,28(4):760-764. ZHENG Hong,WANG Yigang.Study of large diameter measurement system with laser collimation[J].Chinese Journal of Scientific Instrument,2007,28(4):760-764.
[7] GAO W,TAKAYA Y,GAO Y S,et al.Advance in measurement technology and intelligent for production engineering[J].Measurement Science and Technology,2008,19(8):1-2.
[8]GONZALEZ R,WOODS R,EDDINS S.数字图像处理的MATLAB实现(第2版)[M].阮秋琦译.北京:清华大学出版社,2013.4.
[9]周品.Matlab图像处理与图形用户界面设计[M].北京:清华大学出版社,2013.
[10]肖露,崔晋龙.基于MATLAB的刀具角度测量[J].制造技术与机床,2014(10):127-129. XIAO Lu,CUI Jinlong.Cutting tool angle measurement based on MATLAB[J].Manufacturing Technology & Machine Tool,2014(10):127-129.
[11]张法全,路立平,沈满德,等.单目视觉目标距离测量方法研究[J].光子学报,2009(2):453-456. ZHANG Faquan,LU Liping,SHEN Mande,et al.Study on the measurement method of monocular vision object distance[J].Acta Photonica Sinica,2009(2):453-456.
[12]陈彦军,张学典.基于MATLAB图像处理的角度测量误差分析的研究[J].计算机科学,2015,42(6A):203-204,208. CHEN Yanjun,ZHANG Xuedian.Research on error analysis of angle measurement based on MATLAB image processing[J].Computer Science,2015,42 (6A):203-204,208.
(责任编辑:李 磊)
Bend Measuring Method Based on MATLAB Image Processing
SONG Hongliang,WANG Baoren
(College of Mechanical and Electronic Engineering, Shandong University of Science and Technology, Qingdao, Shandong 266590, China)
To improve the accuracy and efficiency of rigid bend angle and size measurement and to make up for the weaknesses of traditional measurement methods and tools, a non-contact bend measuring method based on machine vision was proposed. By presetting the reference workpiece and bend for measurement, feature images with the size information of both the workpiece and bend was taken by CCD. By using MATLAB image processing technology, their profile coordinate data was extracted. By solving the pantograph ratio of workpiece, the bend size value was solved. The bending angle and its radius were solved by using least squares method for linear fitting and Hough transform for circle fitting. Experiments show that with simple operation, high efficiency and better accuracy than traditional methods, the proposed method is suitable for measurement of small size bends.
MATLAB; non-contact; image processing; bend measuring
2016-07-27
宋洪亮(1991—),男,山东安丘人,硕士,研究方向为图像处理、现代数控加工技术等.E-mail:skdshl@163.com 王宝仁(1967—),男,山东安丘人,副教授,硕士生导师,主要研究方向:运动控制理论与应用、数控与伺服技术、嵌入式系统开发与应用、图像处理技术.
TG703
A
1672-3767(2017)03-0083-08