基于机器视觉的齿轮检测方法、系统及存储介质与流程

文档序号:21323992发布日期:2020-06-30 20:57阅读:410来源:国知局
基于机器视觉的齿轮检测方法、系统及存储介质与流程

本发明涉及计算机视觉技术领域,尤其是基于机器视觉的齿轮检测方法、系统及存储介质。



背景技术:

机器视觉采用工业摄像机实时抓取流水线上的工件图像,通过图像处理及分析,获得工件的外形信息及所在位置,反馈到机械臂进行下一步操作。机器视觉应用广泛,于零件检测、工件识别等领域都有着不可替代的作用,能够弥补工人检测劳动强度大且效率低和传统示教型工业机器人的环境依赖性强、功能单一、自动化程度低的缺点。

工件检测及定位技术仍是工业生产中的重要部分,很多制造行业都需要对产品进行识别与分类,特别是在生产环境多样的企业中,车间的自动化程度和智能水平直接决定了工业生产的效率。现有技术中,流水线需要进行长期的人工监视以及对特殊情况的调试与校正,不够智能高效,仍旧无法避免人工检测的缺点。

特别是在齿轮的加工工艺中,主要是对加工得到的齿轮的齿数、齿间距、词根深度和齿形态等进行筛选,确定出合格齿轮。但是,现有技术的人工检测中,齿轮面存在的污渍、刮痕等信息会影响人为判断,误以为存在污渍的齿轮是不合格齿轮,导致检测效率低下且检测准确率低。



技术实现要素:

有鉴于此,本发明实施例提供一种高效且准确的基于机器视觉的齿轮检测方法、系统及存储介质。

本发明的第一方面提供了一种基于机器视觉的齿轮检测方法,包括:

获取传送带上运动的齿轮的图像信息;

从所述图像信息上确定齿轮轮廓;

对所述齿轮轮廓进行凸包检测,确定每个齿轮的齿尖位置以及齿轮齿数;

根据所述齿尖位置计算齿间距离以及齿根深度;

计算每个齿轮的面积和颜色参数;以及

根据所述齿轮齿数、齿间距离、齿根深度、齿轮面积和颜色参数,确定合格齿轮。

进一步,还包括对图像信息的预处理步骤,该步骤具体包括:

采用加权平均法对所述图像信息进行灰度化处理;

采用空域滤波法中的高斯滤波对灰度话处理后的图像进行过滤;

对过滤后的图像进行二值化处理,得到二值化图像;

对二值化处理后的图像进行膨胀运算,连接二值化图像中存在的断裂点;

将膨胀运算后的二值化图像进行腐蚀运算。

进一步,所述从所述图像信息上确定齿轮轮廓,包括:

根据图像中像素点的灰度值变化情况,计算图像中灰度强度变化最强的位置和梯度方向,得到初步检测结果;

通过findcontours方法确定轮廓的上极限位置和下极限位置;

根据所述上极限位置和下极限位置,对所述初步检测结果进行筛选,确定齿轮轮廓。

进一步,所述对所述齿轮轮廓进行凸包检测,确定每个齿轮的齿尖位置以及齿轮齿数,包括:

采用convexhull算法和convexitydefects算法对轮廓数组进行计算,获取到凸包数据;

通过勾股定理计算每个凸包的纵深数据;

根据所述纵深数据对凸包数据进行筛选,确定凸包检测结果;

通过比较凸包检测结果与标准的齿轮齿数,确定检测中的齿轮齿数是否合格;

根据所述凸包检测结果,确定齿尖的像素位置点,进而确定齿尖位置。

进一步,所述根据所述齿尖位置计算齿间距离以及齿根深度,包括:

根据相邻两个齿尖的位置,计算两个齿尖之间的齿间距离;

计算齿尖与齿根之间的距离;

根据所述齿尖与齿根之间的距离来计算齿根深度。

进一步,所述计算每个齿轮的面积和颜色参数,包括:

根据齿根深度,确定目标齿根;

根据所述目标齿根,计算每个齿轮的面积;

根据目标齿根,计算每个齿轮的颜色参数的加权平均值。

进一步,还包括:

根据图像中的像素信息与传送带中各个齿轮实际距离之间的比例关系,计算各个齿轮的实际位置。

第二方面,本发明实施例还提供了一种基于机器视觉的齿轮检测系统,包括:

图像获取模块,用于获取传送带上运动的齿轮的图像信息;

轮廓提取模块,用于从所述图像信息上确定齿轮轮廓;

凸包检测模块,用于对所述齿轮轮廓进行凸包检测,确定每个齿轮的齿尖位置以及齿轮齿数;

齿深计算模块,用于根据所述齿尖位置计算齿间距离以及齿根深度;

面积颜色计算模块,用于计算每个齿轮的面积和颜色参数;以及

筛选模块,用于根据所述齿轮齿数、齿间距离、齿根深度、齿轮面积和颜色参数,确定合格齿轮。

根据本发明的第三方面,还提供了一种基于机器视觉的齿轮检测系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面所述的方法。

根据本发明的第四方面,还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如第一方面所述的方法。

上述本发明实施例中的一个或多个技术方案具有如下优点:本发明的实施例在获取传送带上运动的齿轮的图像信息后,能够确定齿轮齿数、齿间距离、齿根深度、齿轮面积和颜色参数,进而能够筛选出合格的齿轮,无需进行人工检测,提高了检测效率和准确度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例的整体步骤流程图;

图2为本申请实施例的对图像信息的预处理过程示意图。

具体实施方式

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

为了提高流水线上齿轮检测的效率和准确度,本发明针对工人检测劳动强度大且效率低和传统示教型工业机器人的环境依赖性强、功能单一、自动化程度低的缺点,提出了具有实现简单、效率高、通用性好的特点的齿轮检测瑕疵检测分类方法。如图1所示,本申请实施例提供的一种基于机器视觉的齿轮检测方法,包括以下步骤:

s1、通过搭建检测黑箱,运用ccd抓拍传送带上运动的齿轮图像。

具体的,本申请首先启动检测系统、传感器系统,初始化摄像头。当齿轮经过小黑屋时,触发传感器,ccd获取原始图像。

s2、对原始图像进行灰度化、滤波、二值化、形态学处理去除背景。

图像采集过程中,由于传送带上的污渍,齿轮上的刮痕等因数会产生不利于结果的噪点。因此,参照图2,本申请实施例获取原始图像后,采用加权平均法对图像进行灰度化处理,所述灰度化处理的计算公式为:

f(x,y)=0.299r+0.587g+0.114b

其中,f(x,y)为像素点为坐标为(x,y)的灰度结果,r为红色通道数据,g为绿色通道数据,b为蓝色通道数据。

在灰度化后对图像进行滤波,采用空域滤波法中的高斯滤波对图像进行过滤,所述高斯滤波除噪的计算公式为:

f(x,y)=(1/2πσ2)exp(-(x2+y2)/σ2))

其中,σ表示方差。

在滤波后根据主题图像与背景图像占据不同灰度等级范围,设定阈值进行二值化处理,把齿轮与背景分割。

在二值化后进行形态学运算,先进行膨胀运算,对二值化图像中存在的细小断裂点进行连接,再进行腐蚀运算,消除图像边界,去除图像中细小的连接点。

其中,所述膨胀运算的计算公式为:

所述腐蚀运算的计算公式为:

其中,结构b是用来膨胀a,s是用来腐蚀x,结构b和s为矩阵结构

本申请通过滤波运算对图像卷积处理,消除影响信息。对图像rgb加权求和得出最终灰度值。调用canny算子进行边缘检测,得出错误率低、高定位性和最小响应的轮廓。

s3、计算齿轮轮廓,获取单个轮廓为感兴趣区域;

具体的,本申请实施例在计算后图像的基础上,采用canny算子进行轮廓检测以及提取。

其中,轮廓检测的步骤为:

利用像素点领域内灰度值变化检测图像,计算图像中灰度强度变化最强的位置和梯度方向。计算梯度大小gx及gy分别代表经横向及纵向边缘检测的图像。计算梯度方向:θ=arctan(gx/gy)。

轮廓获取的步骤为:

采用findcontours方法进行轮廓获取,轮廓经检测后,边缘计算由计算出极大值点,根据edge={x|x=argmax(f′(x))}过零点信息和图像梯度计算出上下极限位置,构成frame等信息,根据这些信息把轮廓检测后得到的数据进行筛选,去除零散不符合要求的轮廓后,把计算后的轮廓保存在构建的多维数组中稍待后面进行计算处理。

s4、对获取轮廓进行凸包检测。

具体的,假设一个点集对点集中任意两个点p和q,以p和q为端点的线段被包在这个子集中,则s是凸包。一个点集s的凸包是包含s的最小凸集。

本申请实施例运用convexhull算法和convexitydefects算法对轮廓数组进行计算,获取到凸包数据保存在凸包数组中,对计算后的凸包数据进行计算,根据勾股定理计算每个凸包的纵深,计算公式为其中a为突起点,b为凹点,根据纵深对凸包进行再次筛选,把筛选的结果保存。

s5、通过凸包得出每个齿尖的位置以及每个齿轮的齿数。

具体的,根据上述计算保存的凸包数据进行检测,生产齿轮的齿数为m,凸包数据中有n组数据,每组数据中一个齿轮的所有轮廓凸包当b>m时,当前齿轮的齿数多于生产标准,当b<m时,当前齿轮的齿数少于生产标准,只有当b=m时,齿数为生产标准。

获取b中最外层轮廓像素位置点l,并获取l两边最内层轮廓像素位置点p、q,则l、p、q所构成的三角形为齿轮的一个齿尖。根据l、p、q可获取到每个齿尖的位置。

s6、通过齿尖的位置信息,计算齿轮齿间距离以及齿根深度。

具体的,本申请实施例根据齿尖的位置信息,任意相邻齿尖a1(a1.x,a1.y)与齿尖a2(a2.x,a2.y)间的距离其中x,y为齿尖对应的横纵坐标。

在计算齿根深度前,需要计算齿尖到齿根的距离其中a为齿尖位置,q为相邻齿根位置,根据勾股定理,则齿深

s7、计算每个齿轮的面积,颜色参数。

具体的,本申请实施例根据计算的齿根数据,计算获得相对于坐标系横纵轴的最外层齿根q1,q2,q3,q4,其中q1和q2在纵坐标上,q3和q4在横坐标上。则每个齿轮的面积s=(q1-q2)2+(q3-q4)2;

根据q1,q2,q3,q4计算位置获取原图像的齿轮位置,计算当前齿轮的rgb的加权平均值。

s8、排除齿数不合格,齿间距超过阈值的齿轮。

因为在齿轮的加工过程中,机器的损耗和加工的不当操作会导致齿轮出现,缺齿,齿尖不齐,裂齿等现象。会给工业生产过程中带来不必要的影响。本申请根据获取的齿轮的轮廓。在凸包运算后,可以得出每个齿尖尖点的坐标,以及整个齿轮轮廓的最小外接圆。通过最小外接圆与轮廓相减,可以得出每个齿根的深度。当齿根深度过深和过浅时,可以认定加工的过程中出现了裂痕或加工不充分。通过齿数的选择,可以避免出现缺齿的情况。

s9、根据所需大小以及颜色,进一步筛选出合格的齿轮。

s10、求出齿轮的坐标位置信息,并通过像素与距离比例的转换得出实际坐标位置

具体的,本申请实施例根据s7中的齿根位置q1,q2,q3,q4,计算出齿轮中心坐标为c(x,y),其中,x=|q1.x–q2.x|,y=|q1.y-q2.y|。相机拍摄图片像素与实际拍摄位置大小比例为ε,则齿轮在现实的实际位置为p(x*ε,y*ε).

通过本申请的s10,当该齿轮出现参数高于或低于阈值时,获取该齿轮的中心位置。通过比例转化为现实坐标,并通过串口传输至机械臂,取出不合格的齿轮,,比例是指的像素值和现实长度的比例。

本发明实施例还提供了一种基于机器视觉的齿轮检测系统,包括:

图像获取模块,用于获取传送带上运动的齿轮的图像信息;

轮廓提取模块,用于从所述图像信息上确定齿轮轮廓;

凸包检测模块,用于对所述齿轮轮廓进行凸包检测,确定每个齿轮的齿尖位置以及齿轮齿数;

齿深计算模块,用于根据所述齿尖位置计算齿间距离以及齿根深度;

面积颜色计算模块,用于计算每个齿轮的面积和颜色参数;以及

筛选模块,用于根据所述齿轮齿数、齿间距离、齿根深度、齿轮面积和颜色参数,确定合格齿轮。

根据本发明的实施例还提供了一种基于机器视觉的齿轮检测系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面所述的方法。

根据本发明的实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如第一方面所述的方法。

综上所述,本发明具有以下优点:

1、仅通过齿轮轮廓进行判断,排除齿面加工痕迹对检测的干扰。

2、通过对图像进行预处理,得到清晰的齿轮轮廓图。

3、由于齿轮的加工工艺导致,齿轮表面存有污渍,刮痕等影响判断的信息。本发明主要通过检查其轮廓。对齿数,齿间距,词根深度,齿形态进行筛选。避免了其他干扰条件导致误判的情况,在不影响筛选质量的情况下,提升了检测的速度。以适应,高速流水线工作下的工作状态。

4、本发明通过侧向打光以及黑盒的搭建,重点突出了齿轮的形状与轮廓信息,提高了筛选的准确度。

5、本发明能够同时对多个齿轮进行检测,提高的单位时间内的检测个数,提高了工作效率,更加适合与工厂大量零件的检测。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1