本发明涉及计算机视觉与图像处理技术领域,特别是一种复杂环境下的刹车盘识别与定位方法。
背景技术:
现如今,随着机械工业的发展,工业机器人在制造业中的应用越来越广泛。针对工业生产过程中常见的作业方式,已经开发出各种各样的特种机器人来完成相应工作。分工明确化、功能专一化的各类专用工业机器人在减轻工人工作量的同时,也在不断地提高生产效率以及准确率。
对工业加工零部件进行识别与定位是工业生产流程中比较常见的工作任务,通过计算机视觉技术对刹车盘进行识别与定位,为了优化工作流程,提高工作效率,需要为机械手精准的数据,以准确、高效地抓取刹车盘。
因此,对于上述问题有必要提出一种复杂环境下的刹车盘识别与定位方法。
技术实现要素:
本发明的目的是提出一种适用于复杂环境下的刹车盘识别与定位方法,涉及计算机视觉与图像处理技术,本方法能够对复杂环境下的刹车盘进行有效地识别与定位。
本发明的目的是通过以下技术方案来实现的:
本发明提供的适用于复杂环境下的刹车盘识别与定位方法可以分为图像预处理、定位、识别三大模块,具体包括以下步骤:
s1:获取刹车盘图像;
s2:利用图像预处理技术对图像进行初步处理,以便后续的定位与识别工作的顺利进行;
s3:利用canny算子对预处理之后的图像进行边缘检测与提取,并根据长度、面积、圆形度对提取到的轮廓进行进一步的筛选;
s4:根据最小二乘法拟合得到的圆求解工件重心位置以及工件旋转矢量,并根据椭圆与圆之间的关系,利用椭圆的长短轴得到工件的倾斜矢量;
s5:根据筛选后的得到的轮廓信息进行进一步处理,进而得到可抓取工件的识别以及工件种类信息的确定。
进一步,所述步骤s2中的图像预处理过程,具体包括以下步骤:
s21:采用加权平均法对获取的rgb彩色图像进行灰度化处理;
s22:采用直方图均衡化进一步加强图像的对比度;
s23:采用高通滤波的方式进一步加强边缘信息;
s24:采用otsu算法对图像进行二值化处理;
s25:采用形态学处理对图像进行进一步处理。
进一步,所述步骤s4中的旋转矢量与倾斜矢量的求解,具体包括以下步骤:
s41:利用最小二乘法对筛选之后的轮廓进行椭圆拟合;
s42:椭圆的重心坐标即为工件的重心坐标;
s43:椭圆的长轴与x轴正方向之间的夹角即为工件的旋转矢量;
s44:根据圆与椭圆的关系,利用椭圆的长轴与短轴为直角三角形的斜边与直角边,求解两者之间的夹角,则夹角为工件的倾斜矢量。
进一步,所述步骤s5中的可抓取工件识别与工件种类确定,具体包括以下步骤:
s51:设定固定阈值t,将长度小于t的轮廓边缘删除;
s52:针对上一步筛选之后的轮廓进行harris角点检测;
s53:将检测出的角点删除,进而达到边缘分段的目的;
s54:针对分段之后的轮廓进行长度求解,只取长度最长的一段轮廓;
s55:利用最小二乘法对轮廓进行椭圆拟合,并求解椭圆的重心坐标;
s56:将此处得到的重心坐标与s42得到的重心坐标进行对比,取差别最小的一个点,则此点即为可抓取的工件重心坐标;
s57:利用相似度对比,进而获得工件的种类信息。
由于采用了上述技术方案,本发明具有如下的优点:
本发明提供的复杂环境下的刹车盘识别与定位方法,利用筛选出的有用边缘信息进行拟合并进一步求解重心、旋转矢量、倾斜矢量,可以提高定位效率并提高定位准确度,结构简单,安全可靠。利用角点检测进行边缘分段,进而求解可抓取工件,并且利用相似度匹配进行工件种类识别,算法实现简单,运算效率高,准确率高。
附图说明
图1为本发明刹车盘识别与定位算法流程图;
图2为本发明图像预处理算法流程图;
图3为本发明定位算法流程图;
图4为本发明识别算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
结合图1所示,一种适用于复杂环境下的刹车盘识别与定位方法,包括以下步骤:
步骤一:图像采集;
步骤二:针对采集到的图像进行图像预处理操作,结合图2所示,主要分为以下几个方面:
1)采用加权平均法对获取的rgb彩色图像进行灰度化处理;
2)采用直方图均衡化进一步加强图像的对比度;
3)采用高通滤波的方式进一步加强边缘信息;
4)采用otsu算法对图像进行二值化处理;
5)采用形态学处理对图像进行进一步处理;
步骤3:采用双阈值的canny算子进行边缘检测与提取,并并根据边缘长度、轮廓面积、轮廓圆形度对边缘轮廓进行进一步的筛选,以消除干扰边缘;设定边缘长度阈值t1、t2(t1<t2),只保留边缘长度大于t1且小于t2的轮廓边缘;设定轮廓面积阈值t3、t4(t3<t4),只保留轮廓面积大于t3且小于t4的轮廓;设定轮廓圆形度阈值t5,只保留轮廓圆形度大于t5的轮廓;最终只保留同时符合上述三点的轮廓。
步骤4:通过最小二乘法拟合得到的圆求解工件重心位置以及工件旋转矢量,并根据椭圆与圆之间的关系,利用椭圆的长短轴得到工件的倾斜矢量;结合图3所示,主要包括以下几个方面:
1)将经过步骤三处理之后剩余的边缘轮廓进行最小二乘法拟合;
2)取拟合之后的椭圆的重心坐标为工件的重心坐标;
3)取椭圆的长轴与x轴正方向的夹角为工件的旋转矢量;
4)根据椭圆与圆之间的关系,利用椭圆的长轴与短轴进行工件倾斜矢量的求解;求解公式为:
其中a为椭圆的长轴,b为椭圆短轴,α为倾斜角度。
步骤5:根据筛选后的得到的轮廓信息进行进一步处理,进而得到可抓取工件的识别以及工件种类信息的确定。结合图4所示,主要包括以下几个方面:
1)针对步骤二得到的边缘图像进行边缘筛选,设定阈值t6将边缘长度小于t6的边缘删除;
2)因为环境的复杂性等原因,会出现两个工件的轮廓相连的现象,因此需要进行进一步的分段处理。首先使用harris角点检测算法对剩余轮廓进行角点检测。设图像像素点(x,y)的灰度值为i(x,y),则harris角点检测的方程如下:
其中:eu,v为窗口灰度值;ωu,v为高斯函数,且
角点响应函数为:
crf=det(m)-k(tr(m))2
det(m)为自相关矩阵m的行列式。tr(m)为自相关矩阵m的迹。k的取值一般为0.04~0.06;
其中自相关矩阵m为:
利用harris角点检测算法检测到角点之后,将这些角点删除,则可以实现边缘分段的目的。
3)针对分段之后的边缘,进行边缘长度求解,在此只取长度最长的边缘。
4)将剩余的唯一一条轮廓进行最小二乘法椭圆拟合,然后求取椭圆的圆心,将所求取的椭圆圆心与步骤四求解的重心坐标点进行比对,选取一个相似度最高的点,此点坐标即为我们需要抓取的工件的重心坐标。
5)将可抓取工件与模板进行相似度匹配,设置固定阈值t7,若相似度大于阈值,则与模板为同一工件。
以上所述仅为本发明的优选实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。