APP下载

基于Opencv2的零件轮廓图像自动检测法研究

2022-11-23姜淑凤柯寅峰张然何鑫林

关键词:像素点算子图像识别

姜淑凤,柯寅峰,张然,何鑫林

基于Opencv2的零件轮廓图像自动检测法研究

姜淑凤,柯寅峰*,张然,何鑫林

(齐齐哈尔大学 机电工程学院,黑龙江 齐齐哈尔 161006)

主要针对轴承类零件内外直径等圆形零件的拍照图片进行边缘检测与拟合,通过设定图片上正方形对照因子的实验的方法完成尺寸检测,利用Opencv2库中的Canny算子对零件的外直径尺寸进行标定,通过计算像素点的梯度值对内外轮廓进行拟合并测量。该技术可以在零件加工过程中实时检测零件加工切削尺寸是否合理,监测轮廓加工误差,提高工件的加工精度,并为改进加工方法提供数据支持。

图像处理;零件外轮廓识别;双阈值检测;最小二乘法拟合

人类获取外部信息主要是依靠视觉,而机器视觉技术是替代人类视觉不足的有效手段,将图片进行数字化处理,以一定的方式存储,根据人们的需求对其进行分析和预测,完成精确的在线监测与对人、动物和植物等复杂事物进行个体识别。

Opencv2是针对图像处理的一种开源库,用户可以通过编程的方式扩展应用领域,例如从简单的图像缩放到比较热门的动物脸识别[1-2],到动态的粮虫检测,到将图像识别技术应用于火灾实时监控领域,都是基于Opencv中的图像处理方式从而实现的。在运动康复与智能数据库建设方面利用计算机视觉采图片形成大数据库,利用图像识别进行分类管理和记录,进行交互的平台建设与应用[1-6]。

可编程的计算机视觉中的图像识别技术也逐步渗透进各行各业,工厂在批量生产零件的时候,会产生误差和表面损伤,如果在零件检测的环节中采用人工质检,检测效率较低,增加工厂成本。因此,研究利用Opencv库与图像识别技术,实现零件外边缘轮廓监测[7],为零件加工与检测提供了一种简便快速的方法,同时对机床的智能监测与智能加工提供了理论基础和技术支持。

1 基于Canny算子的边缘检测

1.1 实验基本条件设定

常见的图片类型分为两种,分别是黑色与彩色。图片是由一个个像素点所构成,其本质是矩阵,因此,可以将图片转完成所对应的矩阵,其每个像素点所对应的矩阵中的数值都是介于[0,255]之间。因此,可以对图片所转换的矩阵进行操作,从而达到对图像进行处理的目的[8]。为了用本文所提及的算法去检测轴承的外圈直径,实验是在Pycharm 2018环境下进行,实验标本选取四种轴承,分别是608zz轴承、6204轴承、6205轴承和KOYO6311轴承,标准尺寸(d×D×B)分别是8mm×22mm×7mm、20mm×47mm×14mm、25mm×52mm×15mm和55mm×120mm×29mm,轴承编号分别为Z1、Z2、Z3、Z4。拍照设备选取Nikon D3400,像素为2000~3000万,白色柔和日光作为光源。实验总共分为两组进行,一组的拍摄高度为18cm,另外一组的拍摄高度为20cm,两组实验结果分别与手工测量的结果进行对比来验证算法的可靠性。

1.2 二值化处理

利用Opencv2中的函数Canny算子对零件的边缘进行提取,要求对象必须是二值图片,也就是黑白图片。仅仅只有一位深度的图像,用0和1来表示,0代表纯黑,1代表纯白,图1(a)为拍摄原图,图1(b)为二值化后的图片。使用Canny算子对黑白图片的边缘进行提取的第一步是应用高斯滤波器,高斯滤波器考虑了噪声点周围的权重,离得越近的点的权重越大。

图1 轴承原图与二值化后的轴承

1.3 计算各像素点的梯度值

Canny算子的第二步是梯度运算和求取方向,梯度运算的目的是为了提取目标的轮廓。这里进行梯度运算使用的是sobel算子,sobel算子与梯度运算略微不同,但本质还是梯度运算。在二值图像中,利用卷积核对图片进行遍历,如图2(a)所示,当卷积核处于黑白相接的位置时,也就是边缘位置时,就会产生梯度,梯度值越大,边缘效应就越明显。当卷积核遍历原图像时,卷积核始终处于红色区域内,如图2(b)所示。

图2 梯度算子模型

计算某点的、方向的梯度,原理图如图3所示。

P5点方向的梯度,原理图如图4所示。

图3 梯度计算原理图

图4 x方向梯度计算原理图

P5点方向的梯度,原理同方向一样:

计算P5点方向的梯度值实际就是右边的像素点减左边的像素点,当目标(P5点)右左两列的差值特别大的时候,目标点的梯度值就会很大,就可以判定此点为边界,计算方向的梯度值也是如此。

利用式(1)和(2)计算总梯度:

求出G和G之后,就可以求出各个像素点的方向,总的方向大致分为8个方向,上、下、左、右、左上、左下、右上、右下,求方向的公式:

即:

1.4 非极大值抑制

Canny算子的第三步是非极大值抑制,遍历图像中所有的像素点并且判断当前像素点是否是周围像素点中具有相同方向梯度的最大值,如果是则保留,周围其他的像素点都归为0,也就是都归为黑色,如图5所示。

图5 极大值抑制原理图

1.5 双阈值检测

Canny算子的第四步是应用双阈值检测确定真实和潜在的边缘,双阈值由我们指定,双阈值检测包括最大阈值(maxVal)和最小阈值(minVal)。当梯度值小于minVal,则把这一部分图像舍弃;当梯度值大于maxVal,则处理为边界。最重要的就是介于maxVal和minVal之间的部分,当梯度值大于minVal并且小于maxVal时,如和边界相连则保留,否则舍弃。如图6所示,图中共有三条曲线,分别是A、C、D。A分为三部分,其中A(a1)、A(a3)处于maxVal的上方,所以被保留,定为边界。A(a2)处于maxVal的下方,且与A(a1)、A(a3)有相连,所以也被保留,定为边界。C和D低于maxVal且没有与A相连,所以全部舍弃。双阈值检测可以找出真实的边缘和潜在的边缘,或消除掉不需要的边缘[9]。提取结果如图7所示。

图6 原理图

图7 Canny算法提取结果

2 利用最小二乘法对边界进行拟合

利用Canny边缘检测所得到的结果都是断断续续的点和曲线,不能直接进行零件尺寸的测量,要对得到的结果进行数学形态化处理。拟合的方法主要有3种:Lagrange多项式、三阶样条、最小二乘法[10]。其中Lagrange多项式和三阶样条的经过每一个数据点,而且三阶样条考虑拟合曲线凹凸性和单调性,但缺点是容易造成过拟合,在数据边界会形成震荡,很难看出数据未来的趋势。而最小二乘法虽然不经过每一个数据点,但是可以反应综合趋势,具有强几何意义。因此选择利用最小二乘法拟合圆周曲线。

图8 线性拟合

因此需要构建评价函数:

再对a, b, c求偏导,求出a, b, c的最优解,根据所得的一般方程式构建圆并对直径进行测量,拟合圆如图9所示。与图7相比,将图7外轮廓缺口进行了补齐,且噪点没有增多。补齐之后对直径进行测量,将测量的直径与标准直径进行对比,达到检测是否合格的目的。

3 检测实验过程及实验结果分析

3.1 实验目标

为了验证此检测方法的有效性,首先将Nikon D3400相机固定到支架上,尽量保证相机平稳且与轴承保持水平。分别对Z1、Z2、Z3和Z4轴承进行拍照,利用Canny算子对轴承进行识别和提取边界,由于内切圆的直径和正方形的边长相等,因此对正方形的边长进行测量。其次利用游标卡尺对4个轴承进行手工测量,将两组数据进行对比。

3.2 实验过程

利用本文所提及到的算法,以Pycharm软件为实验平台,对4种轴承进行直径检测,因拍照高度不同,所以分为两组,共计测量8次,实验过程如图9~16所示,其中图9~12为轴承距离拍摄镜头180mm,图13~16为轴承距离拍摄镜头200mm。

图10 608zz轴承测量结果

图11 6204轴承测量结果

图12 6205轴承测量结果

图13 KOYO6311轴承测量结果

图14 608zz轴承测量结果

图15 6204轴承测量结果

图16 6205轴承距测量结果

图17 KOYO6311轴承测量结果

3.3 实验结果及分析

经过上述几组实验取得了监测数据,如表1所示,根据表中数据进行了实验结果对比分析来说明本方法的优劣。

表1 多组监测结果

由表1可以看出系统检测尺寸比手工测量尺寸略小,其中6205轴承距离拍摄镜头为180mm时测量准确。其他测量存在误差,经分析有以下几点原因:

(1)硬件因素:一方面是相机的像素会影响提取边缘的质量,另外一方面相机与轴承非保持垂直状态,拍摄角度与轴承存在一定角度,使轴承直径增大。

(2)环境因素:拍摄环境的亮度不均匀,对提取边界造成一定的误差。

(3)软件因素:算法的参数选择会影响测量的精度。

4 结论

本文对轴承样本进行图像采集,利用图像识技术进行图像预处理,对预处理后的二维图片进行目标图像边缘检测,精确的对轴承提取内外轮廓,再利用最小二乘法对内外轮廓进行拟合,并计算出了轴承的外圈直径。将算法检测出的直径与手工测量的直径进行对比,验证本算法的准确性。验证了基于Opencv2库Canny算子的零件外直径尺寸检测算法的可行性,验证了最小二乘法进行边界拟合的准确性。本文研究的算法能够为测量类似物体的二位图片的边缘测量提供了借鉴与参考。

[1] 卢瑞祥,牟轩沁,纪震. 火灾的图像识别方法与应用[J]. 计算机应用研究,1998(01): 108-110.

[2] 张红涛,毛罕平,邱道尹. 储粮害虫图像识别中的特征提取[J]. 农业工程学报,2009, 25(02): 126-130.

[3] 赵丽梦,朱冰,白涛,等. 基于图像识别技术的人体行为识别[J]. 工业控制计算机,2021, 34(02): 107-108, 111.

[4] 陈壮炼,林晓乐,陈银菊,等. 基于计算机视觉的手势识别康复系统研究与应用[J]. 计算机测量与控制,2021, 29(07): 203-207.

[5] 何屿彤,李斌,张锋,等. 基于改进YOLOv3的猪脸识别[J]. 中国农业大学学报,2021, 26(03): 53-62.

[6] 王彪,王筠,屈军乐. 雉鸡亚种种群的图像识别研究[J]. 野生动物学报,2021, 42(02): 452-459.

[7] 张燎,马鈺. 图像识别技术在机械零件质量检测中的运用[J]. 内燃机与配件,2020(14): 186-187.

[8] 章康明,曹新. 基于深度学习的交通图像识别的研究与应用[J]. 软件工程,2021, 24(06): 32-36, 27.

[9] 张清,崔卓贤,徐越,等. 基于图像识别的玉米种子初步分拣机器人[J]. 河北农机,2020(12): 22-23.

[10] 徐国旺,廖明潮. 拟合圆的几种方法[J]. 武汉工业学院学报,2002(04): 104-106.

[11] WADA N, SHINYA M, SHIRAISHI M. Pig face recognition using eigenspace method[J]. ITE Transactions on Media Technology and Applications, 2013, 1(4): 328–332.

[12] 陈宇斌. 基于改进核判别算法的视频运动人脸图像相似表情识别研究[J]. 齐齐哈尔大学学报(自然科学版),2021, 37(01): 36-40, 46.

Research on automatic detection method of part contour image based on Opencv2

JIANG Shu-feng,KE Yin-feng*,ZHANG Ran,HE Xin-lin

(School of Mechanics and Electronics Engineering, Qiqihar University, Heilongjiang Qiqihar 161006, China)

In this paper, edge detection and fitting are carried out for the photos of circular parts such as the inner and outer diameters of bearing parts. The size detection is completed by setting the square contrast factor on the photos. The Canny operator in Opencv2 library is used to calibrate the outer diameter of the parts. The inner and outer contours are fitted and measured by calculating the gradient value of the pixels, this technology can real-time detect whether the cutting size is reasonable, monitor the contour machining error, improve the machining accuracy of the workpiece, and provide data support for improving the machining method.

image recognition;contour detection;double threshold detection;least square method

2021-06-24

黑龙江省省属本科高校基本科研业务费科研创新团队项目(135409102);黑龙江省省属本科高校基本科研业务费青年创新人才项目(135409225);齐齐哈尔大学学位与研究生教育教学改革研究项目(JGXM_QUG_2020010)

姜淑凤(1979-),女,黑龙江齐齐哈尔人,副教授,博士,主要从事工业设计相关技术及逆向工程应用技术研究,474118867@qq.com。

TP391.41

A

1007-984X(2022)01-0039-05

猜你喜欢

像素点算子图像识别
支持向量机的舰船图像识别与分类技术
基于计算机视觉的图像识别技术研究
有界线性算子及其函数的(R)性质
基于局部相似性的特征匹配筛选算法
Domestication or Foreignization:A Cultural Choice
人工智能背景下图像识别技术浅析
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
QK空间上的叠加算子
图像采集过程中基于肤色理论的采集框自动定位