APP下载

基于改进图像结构算法的钣金件特征点识别*

2023-08-02邹媛媛郑家俊

组合机床与自动化加工技术 2023年7期
关键词:图元钣金件切点

徐 杰,邹媛媛,郑家俊

(1.沈阳建筑大学机械工程学院,沈阳 110168;2.高档石材数控加工装备与技术国家地方联合工程实验室,沈阳 110168)

0 引言

现代制造业越来越趋于“多品种、小批量”的特点,而钣金加工领域对生产的柔性要求也越来越高,生产过程中对钣金件加工质量进行自动化检测非常重要。机器视觉检测技术由于具有非接触、速度快、精度高、抗干扰能力强等优点,被广泛应用于钣金件加工质量检测。钣金件上轮廓边缘是表征钣金件外形质量的重要信息,其边缘轮廓由图元组成,主要包括线段、圆、圆弧等图元,而图元与图元之间的连接点被称为特征点,特征点主要为角点和切点。在对钣金件加工质量检测的过程中,首先,需要准确识别特征点,进而依据特征点分割识别各图元,其次,测量各图元的形位信息,最后将图元形位信息和设计图纸进行比较,实现钣金件加工质量的检测。因此,轮廓上特征点的准确识别是检测过程中关键的一步,其识别的精度和效率将决定钣金件加工质量的检测精度以及实时性[1-3]。

特征点是图像轮廓上重要的特征信息,国内外研究人员针对图像轮廓上特征点的识别算法研究开展了广泛的工作。ALBERT等[4]针对手绘草图轮廓特征点的识别,提出了一种基于三次曲线近似拟合的特征点识别算法,通过计算半径函数,从而完成特征点的识别。贺双喜等[5]提出了一种基于弧长的特征点识别方法,使用模板匹配先粗提取候选特征点,再依据约束条件进行特征点的精确提取。伍济钢等[6]提出了基于曲率与Hough变换的平面轮廓特征点识别和图元分割方法,在理想轮廓上开展了实验研究。张小洪等[7]构造反映轮廓曲线局部几何特征的梯度相关矩阵(GCMs),通过求矩阵的局部最大值来检测角点。黄凌霄[8]针对塑料薄板零件图像轮廓,提出了基于图像结构的特征点识别方法,首先判断轮廓点相邻的图元类型信息,再依据图元类型信息,对特征点进行精确提取。

上述方法多是针对平滑图像轮廓开展的特征点识别方法研究,而平面钣金件加工边缘容易出现毛刺,在特征点识别中易出现伪特征点、切点难识别以及特征点识别精度低等问题,因此,本文为了提高平面钣金件轮廓特征点的识别精度,在图像结构算法的思想上,提出了一种基于改进图像结构算法的平面钣金件轮廓特征点识别方法。

1 基于图像结构的特征点识别

采用图像边缘检测算法检测得到图像轮廓边缘Q,边缘上的轮廓点为Pi,则轮廓Q可以表示为:

Q={Pi(xi,yi)|i=1,2,3,…,n}

式中:n为边缘轮廓像素点总数量,(xi,yi)为轮廓点Pi的图像坐标。点Pi-t和Pi+t分别为和点Pi相隔t个像素的轮廓点,则点Pi-t的图像坐标为(xi-t,yi-t),点Pi+t的图像坐标为(xi+t,yi+t)。如图1所示,为一条曲线轮廓段y=g(x),di1为轮廓点Pi和Pi-t间弦中点Ni1(xi1,yi1)和弧中点Ni2(xi2,yi2)的距离,可以表示为:

图1 相邻4个像素点坐标示意图

(1)

图1中所示,di2为轮廓点Pi和Pi+t间弦中点和弧中点的距离。

在基于图像结构的特征点识别中[8],通过对轮廓点所在的轮廓结构进行分析,进而识别特征点,主要识别角点和切点两种特征点。首先需要对轮廓点两侧的轮廓段类型进行判断,该轮廓段弦中点和轮廓中点的距离大于0,表示该轮廓段为圆弧或圆,若等于0,则表示该轮廓段为线段。其次,依据轮廓点两侧轮廓的类型判断轮廓点的类型。如图1所示,若di1=0且di2=0,则Pi是角点或者是线段轮廓上的普通轮廓点;若di1>0且di2=0,(或di1=0且di2>0),则Pi是切点或者是角点。以上提取出的轮廓点作为候选特征点。再次,分别计算候选特征点和其间隔t个像素的两个轮廓点连线的斜率值,并计算斜率值差的绝对值,依据设定的阈值识别出特征点。最后,将位置相邻特征点进行融合,识别出轮廓上的角点和切点。

2 改进图像结构算法的特征点识别方法

2.1 钣金件特征点类型

常见的平面钣金件轮廓上的特征点类型主要包括:切点与角点,如图2所示。

图2 常见钣金件轮廓上的特征点类型

图2a和图2b特征点Pa,Pb为角点;图2c特征点Pc为切点。角点的两侧图元为线段与线段,或者线段与圆弧;切点的两侧图元为线段与圆弧。

2.2 改进的基于图像结构的特征点识别算法

平面钣金件由于加工误差,边缘易出现毛刺,边缘轮廓不够平滑,采用上述图像结构的方法在进行平面钣金件轮廓特征点识别时,易在线段轮廓上出现较多的伪特征点,同时对于特征点位置识别精度也需要进一步提高。因此,本文改进了基于图像结构的特征点识别算法,改进算法主要包括粗提取候选特征点和精确识别特征点两部分。

粗提取主要实现对于包括角点和切点等候选特征点的提取。计算轮廓点Pi点对应的距离di1与di2,并计算轮廓点Pi(xi,yi)与其相邻t个像素点的轮廓点Pi-t,Pi+t间的斜率差的绝对值H,计算表达式为:

对两组患者进行为期4周的治疗,之后进行C14检查,对患者治疗后的C14检出率进行统计,详细记录幽门螺杆菌转阴时间、溃疡消失时间与症状的缓解时间。对患者的胃镜检查效果进行评估,按照痊愈、显效、有效和无效进行表达[6]。其中痊愈:溃疡于周围炎症全部消失,显效:溃疡面消失,炎症存在,有效:溃疡面积缩小一半以上,无效:溃疡面积缩小在一半以下。

H=|ki1-ki2|

(2)

式中:ki1,ki2表达式分别为:

(3)

理想情况下,角点的H值不为0,切点与线段上的点的H值为0。通过设定阈值T1和T2,分别判断di1与di2和阈值T1的关系,H与阈值T2的关系,完成特征点粗提取。若di1≤T1且di2≤T1,H>T2时,则该轮廓点为候选角点;若di1≤T1且di2>T1,或者,若di1>T1且di2≤T1,H≤T2时,为候选切点,得到候选特征点集,表示为:

J={Jj(xj,yj)|j=1,2,3…,k}

针对钣金工件特征点易出现局部聚集以及在线段轮廓上易出现伪特征点的问题,如图3所示,需要在提取候选特征点后,对特征点进行精确识别。

在特征点精确识别中,首先计算候选特征点集合中的任意两特征点之间的欧式距离ds,若该距离值小于距离阈值T3,则将此两候选特征点分为一组,分组后,取每组的坐标均值作为该组最终提取的候选特征点的新坐标,均值坐标为Jjavg(xjavg,yjavg)计算为:

(4)

式中:k为该组候选特征点的数量。

对于线段轮廓段上出现的伪特征点,采用直线度[9]对线段轮廓段上的伪特征点进行剔除。

如图4所示,设点J(j-1)avg,Jjavg,J(j+1)avg为相邻的3个候选特征点,候选特征点J(j-1)avgJjavg。JjavgJ(j+1)avg,J(j-1)avgJ(j+1)avg之间的距离分别为dj1,dj2,dj,则有:

图4 直线上伪特征点剔除过程

(5)

式中:rd为距离的比值,rm为阈值,通过判断上述3个候选特征点是否在一条直线上,若rd趋向于1,则Jiavg为伪特征点,滤除掉,反之为特征点,进而将线段轮廓上的伪特征点全部滤除掉。

综上所述,基于改进图像结构的钣金件特征点识别算法具体流程如下:

步骤1:对采集获取的钣金件图像采用均值滤波进行预处理,滤除掉图像噪声[10],再通过Canny边缘检测算子提取钣金件轮廓边缘,得到轮廓点坐标集合Q;

步骤2:计算轮廓点集合Q中的点Pi对应的距离di1与di2,以及斜率差的绝对值H;

步骤3:通过距离值di1与di2以及H同对应的阈值的比较,来进行候选角点和候选切点的粗提取;

步骤4:分别对提取的候选角点集合和候选切点集合中的任意两点进行欧式距离的判断,实现角点和切点的分组。分组后,取每组内候选角点和切点的坐标均值作为该位置角点和切点对应的坐标值;

步骤5:基于直线度指标,对步骤4中角点、切点集合中的伪特征点进行滤除,滤除掉线段轮廓上的伪特征点,实现特征点的准确识别。

3 实验与分析

为了验证本文的算法,分别对理想轮廓与平面钣金件进行特征点识别实验。本实验中采用德国某公司生产的型号为acA4112-8gm相机和日本某公司的V1628-MPY2镜头,采集获取钣金件原始图像。算法采用Python3.10编制实现。其中,步长t通过实验比较设定为4。

图5为平面钣金件实物图,轮廓中包含有角点和切点两种特征点,通过局部放大图可以看出钣金件边缘带有毛刺。

(a) 实物图 (b) 局部放大图图5 平面钣金件实物图

实验结果主要从特征点识别数量的准确度与识别定位误差进行评价。定位误差[11]LE通过计算定位误差平均值的平方根作为评价标准,定义为:

(6)

式中:(xgi,ygi),(xti,yti)分别为特征点的真实坐标与识别出的坐标,h为特征点总数。

3.1 理想轮廓实验

理想轮廓选用矩形轮廓和圆角矩形轮廓,其中,矩形轮廓包括4个角点,圆角矩形轮廓包括8个切点。分别采用图像结构算法和本文提出的改进算法识别两个理想轮廓的特征点。识别结果如图6和图7所示。

(a) 本文改进方法 (b) 图像结构方法图6 矩形轮廓特征点识别结果

(a) 本文改进方法 (b) 图像结构方法图7 圆角矩形轮廓识别结果

由实验结果可知,在理想轮廓上,本文改进的算法和图像结构算法均可以准确识别角点和切点两种特征点。

3.2 平面钣金件实验

为了解决钣金件轮廓特征点识别准确性与定位精度问题,分别采用图像结构算法和本文提出的改进算法对实际钣金件上的轮廓及常见的形状轮廓进行轮廓特征点识别实验。

图8为钣金件上的六边形轮廓,其包括6个角点;图9为钣金件上的长孔轮廓包括4个切点;图10为钣金件上的复杂轮廓,包括2个角点和12个切点。

(a) 本文改进方法 (b) 图像结构方法图8 六边形轮廓检测结果

(a) 本文改进方法

(b) 图像结构方法图9 长孔轮廓检测结果

(a) 本文改进方法 (b) 图像结构方法图10 复杂轮廓检测结果

由上述实验结果可以看出,采用图像结构算法进行钣金件上特征点识别时,线段轮廓上受加工毛刺影响易出现伪特征点,无法准确识别特征点。而本文改进的方法,考虑了线段轮廓上伪特征点的滤除,因此,可以准确识别特征点。

对图10中识别出的特征点数量进行对比,如表1所示,本文改进方法可以准确识别出所有特征点。

表1 图10轮廓上特征点识别数量准确度对比

对图10中识别出的特征点定位误差进行计算和统计分析,如表2所示,本文改进算法的定位误差优于图像结构算法。

表2 钣金件轮廓特征点定位误差对比

由以上实验结果可以看出,本文改进方法和图像结构算法对于钣金件轮廓的特征点识别定位误差分别为2.35 pixel和3.04 pixel,本文提出的改进方法准确性更高。

4 结论

本文针对平面钣金件轮廓特征点识别中易出现伪特征点及特征点识别定位精度低等问题,提出了一种基于改进图像结构算法的平面钣金件轮廓特征点识别方法,包括粗提取和精确识别两部分,并引入直线度指标进行线段轮廓上伪特征点的滤除,以此提高特征点识别精度。通过实验验证了本文方法的有效性,本文的改进方法可以滤除掉钣金工件线段轮廓上的所有伪特征点,提高了特征点的定位精度。

猜你喜欢

图元钣金件切点
飞机钣金件冲压成型工艺研究
一种组态控件技术在电力监控系统中的运用
抛物线的切点弦方程的求法及性质应用
汽车车身钣金件防错技术
汽车钣金件自动化生产线转台夹具的防错类型及应用
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
飞机铝合金大型钣金件的精确成形
一种伪内切圆切点的刻画办法
椭圆的三类切点弦的包络