[0025] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于计算机视觉的齿轮缺陷检测方法和系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
[0026] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0027] 下面结合附图具体的说明本发明所提供的一种基于计算机视觉的齿轮缺陷检测方法的具体方案。
[0028] 本发明的主要应用场景为:机械齿轮齿槽检测场景,通过可调节光源和高分辨相机对齿槽进行图像采集,通过自适应调节光源角度,获取单个齿槽图像序列,相机视角为正视视角拍摄。本发明仅针对齿间齿槽区域中齿根处的裂纹缺陷进行研究说明,不考虑齿轮上存在油污的情况
[0029] 实施例1
[0030] 下面结合附图具体的说明本发明所提供的一种基于计算机视觉的齿轮缺陷检测方法的具体方案。
[0031] 请参阅图1,其示出了本发明一个实施例提供的一种基于计算机视觉的齿轮缺陷检测方法流程图,该方法包括以下步骤:
[0032] 步骤一:获得齿槽灰度图像以及图像中齿槽区域面积,图像包括齿轮和齿根处阴影区域;根据预设灰度阈值,将齿槽灰度图像的像素点划分为高亮像素点和阴影像素点;对高亮像素点进行聚类,获得多个高亮区域及其面积,不属于高亮区域的高亮像素点为疑似裂纹像素点。
[0033] 在进行上述的操作之前需要采集齿轮齿槽的图像并进行预处理,具体为:获取齿槽RGB 图像,并进行去噪处理,去噪后得到齿槽图像在进行裂纹检测的时候能够避免影响后续齿槽缺陷检测。通过相机采集齿轮齿槽(齿间)RGB图像,对齿槽图像进行灰度化,灰度化采用平均灰度化,得到齿槽灰度图像,对灰度图像进行中值滤波去噪,去除图像中可能存在的椒盐噪声。
[0034] 获取齿槽灰度图像中的高亮像素点:对齿槽灰度图像进行阈值分割,由于不存在噪声和油污干扰,将齿槽灰度图像上像素点的灰度特征值视为亮度特征,预设的灰度阈值N=200,将齿槽灰度图像中齿槽区域中灰度值Gi>N的像素点均视为高亮像素点,小于预设灰度阈值的为阴影像素点。
[0035] 对齿槽区域高亮像素点进行聚类,聚类算法采用DBSCAN算法,以齿槽灰度图像的中心点为初始聚类中心点,因为齿槽灰度图像中心区域受光面最大,设定聚类半径,优选地,预设聚类半径r=3,以初始聚类中心点为圆心,将半径为3的圆内所有的高亮像素点聚在一起形成一个高亮区域,在聚类的过程中聚类圆内需要保证不包含其他像素点,设定聚类圆内的聚类密度,优选地,预设的聚类密度为1;然后,选取聚类圆区域的边缘像素点作为聚类中心点进行后续聚类,直到聚类半径内不再出现高亮像素点为止,得到一个高亮像素点的簇对应一个高亮区域;若齿槽灰度图像中仍存在高亮像素点未参与聚类,则选择任意高亮像素点作为聚类中心点继续进行聚类半径为3的DBSCAN聚类,直到所有聚类中心下进行的聚类,聚类半径内不再出现高亮像素点为止,剩下的不属于高亮区域的高亮像素点作为疑似裂纹像素点,用于裂纹检测,至此,得到多个高亮区域;获得齿槽灰度图像中齿槽区域的面积S和高亮区域的面积Sk,k表示第k个高亮区域。
[0036] 步骤二:获得阴影区域的边缘线,其中一条边缘线为齿轮的齿线;获得齿线和阴影区域另一条边缘线的像素点之间的最短距离,以最短距离的均值作为阴影区域的平均宽度,同时得到其宽度的方差;根据齿槽区域面积、各高亮区域的面积、阴影区域的平均宽度和方差获得光源角度调节目标函数;根据光源角度调节目标函数调节光源,当目标函数取得最小值时获得最优齿槽灰度图像;选取预定数量的与邻域像素点的差异程度大的最优齿槽灰度图像中的疑似裂纹像素点。
[0037] 获取齿槽灰度图像中齿根齿线处的阴影区域,并获得阴影区域相应的特征,具体过程如下:通过Canny边缘检测算法对齿槽灰度图像进行边缘检测,获取齿槽灰度图像中齿根处阴影区域边缘线,其中一条边缘线为齿轮的齿线,由于光源角度的原因,导致齿根处部分区域可能存在阴影,其中齿线和阴影区域的另一条边缘线为阴影区域的两条边缘线;由于光源角度是不确定的,造成齿线和阴影区域的另一条边缘线构成的连通域的形状可能是不规则的,即阴影区域的形状可能是不规则的;通过齿线和阴影区域的另一条边缘线上处于相同水平面像素点的距离,即齿线和阴影区域另一条边缘线的像素点最短距离得到阴影区域不同位置的宽度W,获得阴影区域在每个边缘像素点处的宽度Wj,表示第j个边缘像素点处的宽度,将连通域,即阴影区域的宽度均值μW和方差 作为阴影区域特征评价指标,均值表示阴影区域的平均宽度,方差用来表征阴影区域整体的形状是否规则。
[0038] 通过上述齿槽灰度图像中齿槽区域的特征和阴影区域的特征设定光源角度调节目标函数,用于调节光源的角度,对于用于检测齿间齿槽处的裂纹的齿槽灰度图像,相机拍摄时光源角度最优解为:齿槽区域中高亮区域尽可能大,齿根处的阴影区域的宽度尽可能小,其边缘的形状尽可能接近规则,即接近矩形的边缘,尽可能与图像垂直方向一致;光源角度调节目标函数具体为:
[0039]
[0040] 其中,F表示光源角度调节目标函数,S′表示齿槽区域整体面积,Sk表示第k个高亮区域面积,μW阴影区域的平均宽度, 表示阴影区域的宽度方差。
[0041] 调节动态光源的角度,使光源角度调节目标函数得到最优解,即取得最小值,获得此时光源下的齿槽图像,并得到最优的齿槽灰度图像用于后续的齿线处的裂纹检测。
[0042] 利用最优的齿槽灰度图像进行裂纹检测,能够实现齿线处阴影区域的裂纹精准检测。产生疑似裂纹像素点的原因是因为阴影区域存在裂纹,裂纹一般的生长分布规则是不规律的,所以,可能会产生多个随机方向的裂纹生长方向,裂纹生长的不规律导致齿线处阴影区域与高亮区域相交的边缘可能是不平滑的,造成在聚类的过程中,部分高亮像素点未能满足聚类条件,没有参与聚类,作为了疑似裂纹像素点。且当取得最优的齿槽灰度图像时,齿线处阴影区域的面积足够小,结合裂纹生长的不规律性,若在阴影区域存在裂纹,则高亮区域与阴影区域的边界处必有疑似裂纹像素点存在。
[0043] 根据最优齿槽灰度图像中的疑似裂纹像素点与邻域内像素点的差异程度对疑似裂纹像素点进行筛选,具体如下:获取疑似裂纹像素点与其邻域内其他像素点的灰度梯度,并得到与邻域像素点的灰度梯度均值H,优选的,本实施例设置邻域的大小为8邻域,根据灰度梯度均值对疑似裂纹像素点进行排序,选取其中最大的K个灰度梯度均值对应的疑似裂纹像素点进行检测,若疑似裂纹像素点是由阴影区域的裂纹造成的,则疑似裂纹像素点与其邻域内的其他像素点的灰度值相差很大,灰度梯度会很大。
[0044] 步骤三:设定初始灰度梯度阈值并不断更新得到不同的灰度梯度阈值;利用预定数量的疑似裂纹像素点和不同的灰度梯度阈值将阴影区域的像素点进行分类;根据灰度梯度阈值对该灰度梯度阈值对应的阴影区域同类的像素点和其他像素点进行不同程度的增强;获得增强后各类阴影区域中像素点与阴影区域其他像素点的对比度,判断其是否为裂纹像素点。
[0045] 首先,设定初始灰度梯度阈值,根据阴影区域的像素点与疑似裂纹像素点的灰度梯度值的对初始灰度梯度阈值进行更新;将初始灰度梯度阈值和更新得到的灰度梯度阈值按照升序的顺序排列;依次得到初始灰度梯度阈值为第一阈值,第二个更新得到的灰度梯度阈值为第二阈值,直至阴影区域所有像素点都参与灰度梯度的分类,初始灰度梯度阈值停止更新
[0046] 进一步的,选取最优灰度图像中筛选的灰度梯度均值最大的疑似裂纹像素点作为初始点,其中最优灰度图像中的疑似裂纹像素点记为Qq,所述疑似裂纹像素点可能是由于齿线处阴影区域的裂纹生长延伸到齿槽灰度图像的高亮区域造成的。将初始点Q0的灰度值与邻域内的像素点进行灰度梯度计算,设定初始灰度梯度阈值Y1=3,具体根据疑似裂纹像素点与齿根阴影区域像素点灰度值的差异程度的进行更新,选取灰度梯度小于第一阈值的像素点作为相同灰度类别的像素点,归为第一类像素点。所述邻域像素点是指:从疑似裂纹像素点向齿根处阴影区域像素点进行聚类,目的是得到齿线处阴影区域属于裂纹的像素点位置。
[0047] 然后,继续让初始点Q0与下一个8邻域范围内的像素点进行灰度梯度计算,因疑似裂纹像素点就在齿线处阴影区域边缘处,此时的8邻域范围的像素点位于阴影区域内,当出现不满足灰度梯度第一阈值Y1的邻域像素点时,此类像素点作为未分类像素点继续参与后续灰度梯度计算,已经归为灰度梯度第一阈值的像素点不再参与后续聚类,再选取满足第一阈值的邻域像素点作为中心像素点,选取对应8邻域范围内的像素点继续进行灰度梯度判断,这里阴影区域像素点的灰度梯度都是基于初始点Q0计算的,将满足灰度梯度第一阈值的像素点归为第一类,直至将阴影区域中位置邻近且像素点灰度值相近满足第一阈值的像素点完全找出,停止利用第一阈值对阴影区域的像素点进行分类。
[0048] 在使用第一阈值Y1选取阴影区域中属于第一类的像素点的过程中,若存在不满足灰度梯度第一阈值的像素点,对初始灰度梯度阈值进行更新,获得第二阈值Y2=5,根据灰度梯度第二阈值,从初始点Q0的各邻域中像素点选取不满足灰度梯度第一阈值的像素点进行灰度梯度计算,获得齿线处阴影区域满足灰度梯度第二阈值的像素点位置。
[0049] 接着,对齿线处阴影区域中满足灰度梯度第二阈值的初始点Q0的邻域像素点进行8邻域像素点的灰度梯度判断,将满足灰度梯度第二阈值的像素点归为第二类。持续进行判断,直到遍历完齿线处阴影区域所有像素点为止,完成空间相邻且灰度值相近的像素点区域划分。
[0050] 在利用第二阈值遍历的过程中,若仍存在不满足灰度梯度第一阈值和灰度梯度第二阈值的像素点,继续对初始灰度梯度进行更新,获得第三阈值Y3=8,对不满足第一阈值和第二阈值的阴影区域像素点进行判断,直到阴影区域内所有像素点都参与灰度梯度分类为止;灰度梯度阈值的数量是可以看作进行分类的次数,正常情况下,齿线处阴影区域的灰度像素点类型只有正常区域像素点和裂纹区域像素点,所以,初始灰度梯度阈值更新次数不会很大,一般为2,即只需要两个梯度阈值即可;在对齿线处阴影区域的像素点进行分类,然后划分区域的过程中,可能会出现分布零散的与划分的像素点类别同类或不同类像素点,因其分布的较为零散,可以将其忽略。阴影区域的像素点完成分类后,将空间相邻且灰度值相近属于同类的像素点区域划分出来。
[0051] 由于疑似裂纹像素点的位置处于高亮区域与齿线处阴影区域边界处,所以也属于高亮区域。疑似裂纹像素点的灰度值必然与阴影区域上裂纹像素点存在明显的梯度差异,同理阴影区域参与分类的像素点与阴影区域其他像素点的灰度值也会存在差异,但由于同在阴影区域差异可能不太明显需要对进行分类的像素点和未进行分类的像素点进行不同程度的增强;通过暗通道先验增强算法的思想,构建图像增强模型为:
[0052] Z=MvI+(1‑Mv)I′
[0053] 其中,Z表示增强后的齿槽灰度图像;MV表示各灰度梯度阈值进行归一化后第V个灰度梯度阈值对应的增强系数;I表示第V个灰度梯度阈值对应的阴影区域中同一类像素点;I′表示除第V个灰度梯度阈值对应的阴影区域中同一类像素点外其他像素点。根据各个灰度梯度阈值进行增强,每利用一个灰度梯度阈值分类后对阴影区域类别内像素点和未分类的进行一次不同程度的增强,获得一幅增强后的齿槽灰度图像,获取对于阴影区域每类像素点对应有不同的增强后的齿槽灰度图像,增强后的图像序列[Z1,Z2,…,Zn]。
[0054] 然后,根据增强后的图像序列进行齿根处阴影区域图像检测,通过灰度共生矩阵获取增强图像阴影区域的对比度C,其取值范围为(0,1),对比度反应了图像中阴影区域像素点的局部变化,得到纹理沟纹深浅信息,纹理沟纹越深,对比度越大,反之越小。根据对比度C 信息获取对比度较大的像素点标记为裂纹像素点,设定对比度阈值B=0.8,将对比度C>B的像素点,标记为裂纹像素点,同时,利用主成分分析算法对裂纹的像素点位置进行Top 2的主成分进行分析,主成分分析算法可利用PCA算法完成,至此,完成齿线区域裂纹检测。
[0055] 实施例2
[0056] 本实施例提供了一种系统实施例。一种基于计算机视觉的齿轮缺陷检测系统,该系统包括:似裂纹像素点获取模块,用于获得齿槽区域的齿槽灰度图像,所述齿槽灰度图像包括齿轮和齿根处阴影区域;根据预设灰度阈值,将齿槽灰度图像的像素点划分为高亮像素点和阴影像素点;对高亮像素点进行聚类,获得多个高亮区域及其面积;
[0057] 最优齿槽灰度图像获取模块,用于对齿槽灰度图像进行边缘检测得到齿轮的齿线和阴影区域的边缘线;获得所述齿线和阴影区域边缘线的像素点之间的最短距离,以最短距离的均值作为阴影区域的平均宽度,同时得到其宽度的方差;根据齿槽灰度图像中齿槽区域的面积、各高亮区域的面积、阴影区域的平均宽度和方差获得光源角度调节目标函数;根据光源角度调节目标函数调节光源,当目标函数取得最小值时获得最优齿槽灰度图像;
基于最优齿槽灰度图像中的不属于高亮区域的高亮像素点,选取预定数量的与邻域像素点的差异程度大的像素点为疑似裂纹像素点;
[0058] 裂纹检测模块,用于利用预定数量的疑似裂纹像素点和不同的灰度梯度阈值将阴影区域的像素点进行分类;根据灰度梯度阈值对该灰度梯度阈值对应的同类像素点和其他像素点进行不同程度的增强;获得增强后阴影区域中各类像素点与其他像素点的对比度,判断相应类别的像素点是否为裂纹像素点。
[0059] 其中,疑似裂纹像素点获取模块,还用于以齿槽灰度图像的中心点为初始聚类中心点,其中聚类半径为预设半径,聚类密度为预设密度,聚类过程中聚类圆内只有高亮像素点;后续聚类过程中,直至所有聚类中心对应的聚类半径内不再出现高亮像素点时,停止聚类获得多个高亮区域;由于阴影区域可能存在裂纹造成阴影区域边界处部分高亮像素点不满足聚类条件,此部分高亮像素点为疑似裂纹像素点。
[0060] 其中,优齿槽灰度图像获取模块,还用于获取光源角度调节目标函数的获取,具体为:对齿槽区域面积和多个高亮区域面积之和的差值、阴影区域的宽度均值和方差求和获得光源角度调节目标函数。
[0061] 需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0062] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0063] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。