基于高斯线检测的橡胶密封圈表面缺陷检测方法
文献发布时间:2024-01-17 01:27:33
技术领域
本发明属于机器视觉技术领域,尤其涉及一种基于高斯线检测的橡胶密封圈表面缺陷检测方法。
背景技术
现今,橡胶圈及相关产品都是采取人工检测,但橡胶密封圈产品的人工检测速度远远不能适应产品的生产速度,往往需要数以百计的工人来检测。对于价格低廉的橡胶圈来说,这么多的劳动力来检测,无疑是一种巨大的人力资源浪费。
随着人工成本的提高及市场对工业产品质量控制的要求的增高,必然转向高度生产自动化,因而推动视觉检测技术的发展。利用计算机视觉、模式识别及人工智能技术代替人工进行产品质量检测能与自动生产线的生产速度很好配合,可以避免人工检测中由于疲劳造成的误检和漏检现象,并且能克服人的主观因素对于产品标准掌握的不良影响,还能有效解放劳动力,因此,橡胶密封圈产品的自动检测势在必行。
目前,一些密封橡胶圈生产企业已经采用机器视觉技术来对橡胶密封圈的缺陷进行检测。但是市面上对于橡胶密封圈表面裂痕、划痕缺陷分类的方法却少之又少。
发明内容
本发明就是针对现有技术存在的缺陷,提供一种基于高斯线检测的橡胶密封圈表面缺陷检测方法。
为实现上述目的,本发明采用如下技术方案,包括准备工作、训练阶段、检测阶段。
准备工作:采集橡胶密封圈图像作为训练数据。
训练阶段:制作训练样本,再进行数据降维,最后把降维处理后的训练样本集送入以径向基函数RBF为核函数的支持向量机SVM进行有监督训练。
检测阶段:制作检测样本,输出检测结果。
进一步地,训练阶段中,所述制作训练样本包括:
标注缺陷所在位置,形成标注文件;然后读取标注文件,裁剪ROI区域;对裁剪下来的ROI区域先做灰度化处理,然后进行空间域线性灰度变换来缩放图像的灰度值;
使用高斯线检测算法来提取图像缺陷:首先对图像进行高斯滤波,对高斯函数进行离散化后,得到高斯滤波器的模板,得到的高斯函数值作为模板的系数;Steger算法得到任意一点的方向向量和二阶方向导数,最后根据Steger算法中参数的设定来实现线条的提取。
对提取出来的缺陷计算特征值(包括长度、凹凸度、致密性、圆度、等价椭圆参数、面积、最远点的距离、椭圆参数的形状系数、左线宽、右线宽、对比度、线宽均值、轮廓线到回归直线的标准差、线宽与最远点距离的比值、对比度平均值),将特征值和图像标签(即缺陷种类和无缺陷)串列起来,成为训练样本。
进一步地,训练阶段中,所述再进行数据降维包括对训练样本采用主成分分析法PCA进行数据降维,筛选并记录样本主成分(该样本主成分为占比超过设定的阈值x的成分,优选x=85%)。
进一步地,训练阶段中,所述最后把降维处理后的训练样本集送入以径向基函数RBF为核函数的支持向量机SVM进行有监督训练包括在训练中采用一对一策略:即将有n个可能分类结果的问题转化为n*(n-1)/2个二分类问题,即训练样本中有n种类型,等于是将每种类别和其余(n-1)种类别相比对,需要创建n(n-1)/2个分类器,进一步求解出每个二分类器的最优决策超平面,最终得到的训练结果即为保存的每个二分类器的训练参数。
进一步地,检测阶段中,所述制作检测样本,输出检测结果包括工业相机采集到图像并传回计算机后,进行处理,处理过程包括:
灰度化图片,然后用最大类间方差阈值分割(OTSU)法分离橡胶圈和背景图像,减小图像处理面积,提高处理速度。
进行空间域线性灰度变换来缩放图像的灰度值。
基于上一阶段的降维结果,计算图像的特征,制作检测样本。
将上一步的检测样本送入已经训练好的支持向量机模型,模型输出就是检测结果。
进一步地,所述采集橡胶密封圈图像包括有缺陷的橡胶密封圈图像及无缺陷橡胶密封圈图像;其中,橡胶密封圈的俯视图像应完全出现在视野中,显示一个完整的,表面纹路清晰的圆环。
与现有技术相比本发明有益效果。
本发明基于高斯线检测的表面缺陷检测方法来对橡胶密封圈进行缺陷检测,对于表面划痕和裂痕缺陷有更好的识别效果。
附图说明
下面结合附图和具体实施方式对本发明做进一步说明。本发明保护范围不仅局限于以下内容的表述。
图1、橡胶密封圈示意图;
图2、线性灰度变换后示意图;
图3、高斯线检测示意图;
图4、缺陷标注示意图;
图5、训练阶段流程图;
图6、检测阶段流程图。
具体实施方式
如图1-6所示,基于高斯线检测的橡胶密封圈表面缺陷检测方法包括:
一、图像预处理。
1.1提取橡胶圈区域。
为减少处理面积,加快运行速度,先要选取图像中橡胶密封圈所在的区域(如图1所示)。本发明使用最大类间方差阈值分割(OTSU)法分离橡胶圈和背景图像,该方法是经典的非参数、无监督自适应滤波方法,对图像直方图为单峰或双峰时,处理效果非常好。本发明中使用的橡胶密封圈图像的灰度直方图为双峰式,因此选用该方法。
OTSU法的基本思想是:将图像的直方图以某一灰度为阈值将图像分成两组并计算其方差,当被分成的两组之间的方差最大时,就以这个灰度值作为阈值分割图像。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。
算法过程为:设图像像素为M,灰度范围为[0,N-1],对应灰度级I的像素数为m
α=μ
类间方差定义为:
x
让T在[0,N-1]范围内依次取值,使得x
1.2运用形态学闭运算结合填充空洞处理,选取待检测区域。
1.3图像增强。
密封橡胶圈在拍摄过程中会受到外界环境、光照条件等带来的干扰,导致图片出现噪声干扰。在进行表面缺陷检测前,先要对工业相机采集到的图像进行一些处理,去除噪声,并使得密封圈边缘更清晰、表面纹理更明显,缺陷部位与周边区域的对比度更高。本发明采用的空间域线性灰度变换来缩放图像的灰度值,公式如下:
其中:GMin为图像的最大灰度值,GMax为图像的最小灰度值。通过设定Mult和Add的参数来实现图像灰度值的缩放,达到突出缺陷纹理的目的(如图2所示)。
二、高斯线检测提取缺陷并计算特征。
2.1高斯线检测。
经典的Steger算法是基于Hessian矩阵的一种线检测方法,它能够实现光条中心亚像素的精度定位。第一步通过图像与一个高斯模板的卷积的偏导数来确定图像中的每个点在x方向和y方向的泰勒二次多项式的参数,进而来获得该点的线条方向和二阶导数极大值,然后再根据双阈值的限定来提取需要的像素点(如图3所示)。
首先对图像进行高斯滤波,高斯滤波广泛应用于图像处理的减噪过程,用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。对图像来说,常用二维离散高斯函数作平滑滤波器,函数表达式如下。
式中σ为高斯分布的标准差,x,y使当前点到对应目标点的距离,常用二维零均值离散高斯函数作平滑滤波器。
对高斯函数进行离散化后,就可以得到一个高斯滤波器的模板,得到的高斯函数值作为模板的系数。图像与高斯模板函数进行卷积后得到偏导数r
由偏导数得到的图像的二次泰勒展开式为:
对于图像中任意一点(x,y),Hessian矩阵可表示为。
Hessian矩阵最大特征值所对应的特征向量对应于线条的法线方向,用(n
若(tn
Steger算法可以得到任意一点的的方向向量和二阶方向导数,最后根据算法中参数的设定来实现线条的提取。高斯线检测算法的参数包含:σ、Low、Hight,其中σ确定了高斯卷积的参数(平滑程度),Low和Hight是算法的高低阈值参数。若被标记点的二阶偏导数大于参数Hight,则会被判定为是线条上的一点而被立即接受,若低于参数Low,则会被认为非线条上的点而被立即舍弃,如果其介于Low和Hight之间,则仅在此点能够通过某一路径与已经被接受的点相连时这些点才会被接受。关于参数的选择,σ越大,图像就越平滑,二阶导数的值就越小,因此在选择高低阈值时,平滑程度越大,所选择的Hight和Low值就要越小。
2.2特征提取和计算。
本发明共使用特征值15种,其中12种为描述线条的常用特征(长度,凹凸度,致密性等),以及3种契合本发明提取的线条特点而计算出的三种特征,分别是:轮廓线到回归直线欧氏距离的标准差、线宽与最远点距离的比值、线条对比度的平均值。其中,轮廓线到回归直线欧氏距离的标准差是为了表示线
条的曲折程度,线宽与最远点距离的比值是为了区分长划痕与裂痕,线条对比度的平均值是一条区分明显的特征。
欧几里得距离公式为:
欧氏距离的标准差公式为:
三、特征降维技术。
提取出的特征维度较高,如果直接送入分类器中进行训练和分类,计算的复杂程度可想而知。冗余的特征既增加训练时间也会对检测的实时性造成影响,而且检测效果不一定比纬度低时要好。我们既要尽量保留特征的主要内容,又要尽量降低特征的维度,由此,本发明引入了主成分分析法(principal component analysis,PCA)。主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。
主成分分析法的计算步骤。
1.将原始数据按列组成n行m列矩阵X。
2.将X的每一行进行零均值化,即减去这一行的均值。
3.求出协方差矩阵:
4.计算协方差矩阵的特征值和特征向量:|C-λE|。
5.将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。
6.Y=PX即为降维到k维后的数据。
四、支持向量机(Support Vector Machine,SVM)。
获得经降维处理的特征后,就可以根据这些特征来判断是否存在缺陷,以及何种缺陷。本发明使用支持向量机(SVM)对图像特征进行分类。
支持向量机(support vector machines,SVM)是一种二分类模型,其将实例的特征向量映射为空间中的一些点,SVM的目的就是想要画出一条线,以“最好地”区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。SVM适合中小型数据样本、非线性、高维的分类问题。
支持向量机是解决二分类问题最有效的手段,为找到最优决策超平面,令ω·x+b=0为最优决策超平面,把处于ω·x+b>0区域的点归为Ⅰ类,把处于ω·x+b<0区域的点归为Ⅱ类。最优解决策超平面两侧距离最大化的数学表达式为:
约束条件如式:
对于多样本分类的问题,最常采用的策略是通过一对一的投票方式,构建支持向量机的多类分类器。训练样本中有n种类型,等于是将每种类别和其余(n-1)种类别相比对,需要创建n(n-1)/2个分类器,进一步求解出每个二分类器的最优决策超平面,最终得到的训练结果即为保存的每个二分类器的训练参数。
为了实现非线性映射,本发明选用高斯核函数(径向基核函数,Radial BasisFunction,RBF),表达式为:
其中σ为函数的宽度参数,xc为核函数中心,控制了函数的径向作用范围。
具体地,(1)准备工作。
硬件环境:橡胶密封圈实时监测系统,应满足以下硬件要求:计算机、高精度工业相机、传送平台、环形LED光源。为了尽量减少外界光源对拍摄环境造成的影响,应设置一个暗室。相机和光源应处于传送平台上方,当橡胶圈运送至相机和光源正下方时,外触发机制给相机一个信号,相机收到外触发机制给予的信号后立即拍照,成功采集橡胶密封圈的图像后传输至计算机,由计算机进行下一步的图像处理算法。
数据准备:本方法需要提前训练支持向量机,所以要预先准备好各种缺陷的橡胶密封圈图片若干。
(2)方法流程。
本发明分为训练和检测两个阶段。
2.1训练阶段。
2.1.1首先利用标注工具标注缺陷所在的矩形区域(如图4所示),形成标注文件。读取标注文件,读取标注文件字典信息,根据字典信息中的矩形坐标信息在原图上框选ROI区域,并将ROI区域裁剪下来,为处理图像做准备。
2.1.2对裁剪下来的ROI区域先做灰度化处理,然后进行空间域线性灰度变换来缩放图像的灰度值,用来突出缺陷。使用高斯线检测算法来提取缺陷:首先对图像进行高斯滤波,高斯滤波广泛应用于图像处理的减噪过程。对高斯函数进行离散化后,就可以得到一个高斯滤波器的模板,得到的高斯函数值作为模板的系数。Steger算法可以得到任意一点的的方向向量和二阶方向导数,最后根据算法中参数的设定来实现线条的提取。
在选在参数High和参数Low时,需要注意,二阶偏导数受线条幅度和宽度影响的同时,也受参数σ的影响。二阶偏导数对线条幅度呈近似线性响应(即幅度值越大,二阶偏导数越大)。而对线条宽度的响应却差不多呈逆指数关系(即线条的宽度越宽,二阶偏导数越小),这跟对参数σ值的大小响应差不多(即σ值越大,得到的二阶偏导数越小)。这就意味着对于一个大的σ值,应该选择一个比较小的High值和Low值。
2.1.3对提取出来的缺陷计算特征值,本发明共提取特征15种。将这些特征值和图像标签(即缺陷种类和无缺陷)串列起来,成为一个训练样本。
2.1.4训练样本制作完毕,对样本用主成分分析法(PCA)进行数据降维,筛选并记录能够成为样本主成分(占比超过设定的85%)的那一部分。
2.1.5最后,把降维处理后的训练样本集送入以径向基函数(RBF)为核函数的支持向量机(SVM)进行有监督训练。在训练中采用“一对一”策略,训练样本中有n种类型,等于是将每种类别和其余(n-1)种类别相比对,需要创建n(n-1)/2个分类器,进一步求解出每个二分类器的最优决策超平面,最终得到的训练结果即为保存的每个二分类器的训练参数。
2.2检测阶段。
工业相机采集到图像并传回计算机后,进行如下流程。
2.2.1首先灰度化图片,然后用最大类间方差阈值分割(0TSU)法分离橡胶圈和背景图像,减小图像处理面积,提高处理速度。
2.2.2进行空间域线性灰度变换来缩放图像的灰度值。
2.2.3基于上一阶段的降维结果,计算图像的特征,制作检测样本。
2.2.4将检测样本送入已经训练好的支持向量机模型,模型输出就是检测结果——无缺陷或缺陷的具体名称,并将图片保存至相应的地址,以待后续查阅。
可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。
- 一种基于机器视觉的橡胶密封圈表面缺陷检测方法
- 一种基于反向高斯差分的钢轨表面缺陷检测方法