一种基于视觉的表面瑕疵检测方法及装置与流程

文档序号:12713093阅读:345来源:国知局
一种基于视觉的表面瑕疵检测方法及装置与流程

本发明涉及视觉检测技术领域,具体涉及一种基于视觉的表面瑕疵检测方法及装置。



背景技术:

在工业生产中,产品表面的瑕疵检测在质量控制方面是尤为重要,而有些产品,例如毛毯、瓷砖、木材和布匹等,通常有复杂的纹理,并且瑕疵的种类多,包括脏污斑点、裂痕和破洞等等,因此对有纹理表面的瑕疵进行检测是很困难的。

长期以来,表面的瑕疵检测一般由人工完成。人工检测速度一般都比较慢。人工检测依赖人员的经验和熟练程度,评价标准不稳定不一致,因而经常会产生误检和漏检,熟练的验布人员也只能发现约70%的疵点。

近年来,机器视觉技术也有应用于有纹理表面瑕疵检测的案例,例如:公开号为CN104458766A的中国专利申请公开了“一种布匹瑕疵的在线视觉检测方法”,该检测方法采用基于总变差法的布匹表面瑕疵处理方法,对于纹理较强的布匹能够较好的分割出纹理部分与瑕疵部分,较大程度的降低了背景纹理对瑕疵检测的干扰,准确性高,提高检测效率,对于带图案花纹的布匹也有很好的检测效果。但此检测方法通用性不强,只针对某一种特定纹理的表面瑕疵检测有效,不能检测不同纹理的表面瑕疵,应用价值不大。现有的技术中,还没有存在一种具有通用性的有纹理表面瑕疵检测技术方案。



技术实现要素:

本发明的目的在于通过一种基于机器视觉的表面瑕疵检测方法和系统,来解决以上背景技术部分提到的问题。该发明能在不同纹理的表面高精度的检测出瑕疵,并且识别瑕疵的类型,该视觉系统的图像处理算法鲁棒性强,速度快,能满足工业应用的实时性要求。

为实现上述技术方案,本发明提供了一种基于视觉的表面瑕疵检测方法,具体包括如下步骤:

步骤1、利用工业相机采集图像,并把图像划分成多个不重叠的子图像;

步骤2、提取每个子图像的纹理特征;

步骤3、基于纹理特征对每个子图像进行瑕疵检测;

步骤4、判断子图像是否有瑕疵,如果是,利用支持向量机对瑕疵进行分类,得到最终的瑕疵具体信息并结束检测;如果否,直接结束检测。

优选地,所述步骤1中,工业相机采集到的图像,利用一个固定的矩阵框,从图像的左上角滑动到右下角,将图像分割成多个不重叠的子图像。

优选的,所述步骤2中,按照如下步骤提取每个子图像的纹理特征:

步骤21、利用两种各向异性滤波器和两个旋转对称的滤波器对子图像滤波,得到38幅滤波特征图,其中36幅滤波特征图由两种各向异性滤波器过滤得到,另外2幅滤波特征图由两个旋转对称的滤波器过滤得到;

步骤22、对其中由两种各向异性滤波器过滤得到的36幅滤波特征图进行融合,得到6幅融合后的特征图,减少特征向量的维度;

步骤23、由6幅融合的特征图和2幅旋转对称的滤波特征图,得到子图像纹理特征,每个像素点i对应一个8维的特征向量fi,其中fi∈R8

优选的,所述步骤22中,对两种各向异性滤波器过滤得到的36幅滤波特征图进行融合,每种尺寸有6个方向,对应6幅特征图,通过取其每个像素点对应的6个特征值的最大值,得到一幅融合后的图像,由于2种各向异性滤波器各有3种尺寸,因而得到6幅融合特征图。

优选的,所述步骤3中,基于纹理特征对每个子图像进行瑕疵检测,具体步骤如下:

步骤31、把子图像I分割成M个大小为k×k的子块B,其中B={B1,B2,...,Bm,...,BM},按照以下的公式,计算每个子块的特征向量的均值fm

其中,fi为子块Bm每个像素点i所对应的8维特征向量,得到子块的特征矩阵F={f1,f2,...,fm,...,fM},M为子块的总数;

步骤32、根据子块的特征矩阵F,提取参照特征向量r,具体操作如下:

步骤321、随机从特征矩阵F中选取t(t>5)个特征向量,计算这t个特征向量的平均值ft

步骤322、计算这t个特征向量与ft的模距离,然后去掉这t个特征向量中与ft的模距离最大的前5个特征向量;

步骤323、再对这t-5个特征向量求平均值得到最后的参照特征向量r;

步骤33、计算每个子块特征向量fm与参照特征向量r的距离,可以按照如下公式计算

dm=||fm-t||1 (公式2)

根据公式2得到子块的距离向量d,其中d={d1,d2,...,dm,...,dM};

步骤34、设定一个阈值t,当dm>t时,dm所对用的子块像素点全设置为1,否则设置为0;

步骤35、由这M个设置为0或者1的子块重构成一副与子图像相对应的二值图;

步骤36、提取二值图的连通区域,连通区域面积或者长度宽度较大的即可认为为瑕疵区域。

优选的,所述步骤4中,判断子图像是否有瑕疵,具体步骤如下:

步骤41、如果子图像所对应的二值图有瑕疵区域,即可认为子图像有瑕疵,继续下面的步骤,如果没有,即结束;

步骤42、提取有瑕疵二值图连通区域的瑕疵特征值;

步骤43、利用瑕疵特征值离线训练支持向量机;

步骤44、训练好的支持向量机根据瑕疵特征值在线对瑕疵进行分类。

优选的,所述步骤42中,提取有瑕疵二值图连通区域的瑕疵特征值,具体如下:计算瑕疵区域的长、长宽比、周长、面积和圆形度,以上述五个参数作为瑕疵特征值。

本发明还提供了一种基于机器视觉的表面瑕疵检测装置,包括三大模块:

图像采集模块:利用机器视觉专用光源和工业相机采集表面图像;

图像处理模块:利用图像处理和机器视觉算法对采集的图像进行瑕疵检测和分类,并把瑕疵信息发送给控制执行单元;

控制执行模块:根据图像处理模块传送过来的瑕疵信息,采用可编程逻辑控制器PLC控制打标机对表面瑕疵进行标记或者报警器对表面瑕疵进行提示。

优选的,所述图像采集模块中的工业相机采用线阵CCD相机。

优选的,所述图像处理模块由工控机搭载图像处理模块的上位机软件组成,所述软件包括:图像处理交互界面,图像处理算法,数据库以及通信模块,其中图像处理交互界面提供接口让用户设置参数或者观察表面瑕疵检测的实时情况;数据库,用于对表面瑕疵检测结果进行存储和管理;通信模块,采用以太网TCP/IP协议,使得上位机软件与动作执行单元模块的下位机通信。

本发明提供的一种基于视觉的表面瑕疵检测方法及装置的有益效果在于:

1)本基于视觉的表面瑕疵检测方法,通过工业相机采集图像,并把图像划分成各个不重叠的子图像;然后提取每个子图像的纹理特征,接着基于纹理特征对每个子图像进行瑕疵检测;最后,判断子图像是否有瑕疵,如果是,利用支持向量机对瑕疵进行分类,得到最终的瑕疵具体信息。本发明利用两种各向异性滤波器和两个旋转对称的滤波器对子图像滤波,得到多幅滤波特征图,然后进行图像融合,可以减少特征向量的维度,利于瑕疵的快速识别;同时本发明采用自设的子图像分割算法,不仅鲁棒性强,速度快,而且能对不同复杂纹理的表面(例如毛毯、瓷砖、木材和布料等产品)都能高精度的检测出瑕疵,并且识别瑕疵的类型,以满足工业应用的要求。

2)本基于视觉的表面瑕疵检测装置通过图像采集模块、图像处理模块和控制执行模块之间的配合可以高效实现对不同复杂纹理的表面的检测,不仅检测精度高,适应性广泛,而且鲁棒性强,速度快。

附图说明

图1为本发明中表面瑕疵检测方法的流程图。

图2为本发明中提取子图像的纹理特征示意图。

图3为本发明中瑕疵检测结果示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明的保护范围。

实施例1:一种基于视觉的表面瑕疵检测方法。

参照图1至图3所示,一种基于视觉的表面瑕疵检测方法,具体包括如下步骤:

步骤1、利用工业相机采集图像,并把图像划分成多个不重叠的子图像,其中当工业相机采集到图像后,系统会自动利用一个固定的矩阵框,从图像的左上角滑动到右下角,将图像分割成多个不重叠的子图像;

步骤2、提取每个子图像的纹理特征,具体包括如下步骤,

步骤21、利用两种各向异性滤波器(一种边缘滤波器,一种条形滤波器,每种包括6个方向,3种尺寸的滤波器,总共36个滤波器)和两个旋转对称的滤波器(一个高斯滤波器和一个拉普拉斯滤波器)对子图像滤波,得到38幅滤波特征图,其中36幅滤波特征图由两种各向异性滤波器过滤得到,另外2幅滤波特征图由两个旋转对称的滤波器过滤得到;

步骤22、对其中由两种各向异性滤波器过滤得到的36幅滤波特征图进行融合,得到6幅融合后的特征图,减少特征向量的维度;

步骤23、由6幅融合的特征图和2幅旋转对称的滤波特征图,得到子图像纹理特征,每个像素点i对应一个8维的特征向量fi,其中fi∈R8

经过两种各向异性滤波器和两个旋转对称的滤波器对子图像滤波后,可以得到多幅滤波特征图,然后进行图像融合,如此可以减少特征向量的维度,利于瑕疵的快速识别;

步骤3、基于纹理特征对每个子图像进行瑕疵检测,具体包括如下步骤,

步骤31、把子图像I分割成M个大小为k×k的子块B,其中B={B1,B2,...,Bm,...,BM},按照以下的公式,计算每个子块的特征向量的均值fm:

其中,fi为子块Bm每个像素点i所对应的8维特征向量,得到子块的特征矩阵F={f1,f2,...,fm,...,fM},M为子块的总数;

步骤32、根据子块的特征矩阵F,提取参照特征向量r,具体操作如下:

步骤321、随机从特征矩阵F中选取t(t>5)个特征向量,计算这t个特征向量的平均值ft

步骤322、计算这t个特征向量与ft的模距离,然后去掉这t个特征向量中与ft的模距离最大的前5个特征向量;

步骤323、再对这t-5个特征向量求平均值得到最后的参照特征向量r;

步骤33、计算每个子块特征向量fm与参照特征向量r的距离,可以按照如下公式计算

dm=||fm-t||1 (公式2)

根据公式2得到子块的距离向量d,其中d={d1,d2,...,dm,...,dM};

步骤34、设定一个阈值t,当dm>t时,dm所对用的子块像素点全设置为1,否则设置为0;

步骤35、由这M个设置为0或者1的子块重构成一副与子图像相对应的二值图;

步骤36、提取二值图的连通区域,连通区域面积或者长度宽度较大的即可认为为瑕疵区域;

通过本子图像分割算法,不仅鲁棒性强,计算速度快,而且能对不同复杂纹理的表面(例如毛毯、瓷砖、木材和布料等产品)都能高精度的检测出瑕疵;

步骤4、判断子图像是否有瑕疵,如果是,利用支持向量机对瑕疵进行分类,得到最终的瑕疵具体信息并结束检测;如果否,直接结束检测,具体步骤如下,

步骤41、如果子图像所对应的二值图有瑕疵区域,即可认为子图像有瑕疵,继续下面的步

骤,如果没有,即结束;

步骤42、提取有瑕疵二值图连通区域的瑕疵特征值,提取有瑕疵二值图连通区域的瑕疵特征值,具体计算瑕疵区域的长、长宽比、周长、面积和圆形度,以上述五个参数作为瑕疵特征值;

步骤43、利用瑕疵特征值离线训练支持向量机;

步骤44、训练好的支持向量机根据瑕疵特征值在线对瑕疵进行分类;

由于采用瑕疵区域的长、长宽比、周长、面积和圆形度,以上述五个参数作为瑕疵特征值,如此一来,可以扩大对瑕疵识别类型的适应性,不同复杂纹理的表面瑕疵均可以精确识别。

本基于视觉的表面瑕疵检测方法,通过工业相机采集图像,并把图像划分成各个不重叠的子图像;然后提取每个子图像的纹理特征,接着基于纹理特征对每个子图像进行瑕疵检测;最后,判断子图像是否有瑕疵,如果是,利用支持向量机对瑕疵进行分类,得到最终的瑕疵具体信息。本发明利用两种各向异性滤波器和两个旋转对称的滤波器对子图像滤波,得到多幅滤波特征图,然后进行图像融合,可以减少特征向量的维度,利于瑕疵的快速识别;同时本发明采用自设的子图像分割算法,不仅鲁棒性强,速度快,而且能对不同复杂纹理的表面(例如毛毯、瓷砖、木材和布料等产品)都能高精度的检测出瑕疵,并且识别瑕疵的类型,以满足工业应用的要求。

实施例2:一种基于视觉的表面瑕疵检测装置。

参照图1至图3所示,一种基于实施例1中基于视觉的表面瑕疵检测方法的检测装置,包括三大模块:

图像采集模块:利用机器视觉专用光源和工业相机采集表面图像,其中所述图像采集模块中的工业相机采用线阵CCD相机;

图像处理模块:利用图像处理和机器视觉算法对采集的图像进行瑕疵检测和分类,并把瑕疵信息发送给控制执行单元,所述图像处理模块由工控机搭载图像处理模块的上位机软件组成,所述软件包括:图像处理交互界面,图像处理算法,数据库以及通信模块,其中图像处理交互界面提供接口让用户设置参数或者观察表面瑕疵检测的实时情况;数据库,用于对表面瑕疵检测结果进行存储和管理;通信模块,采用以太网TCP/IP协议,使得上位机软件与动作执行单元模块的下位机通信;

控制执行模块:根据图像处理模块传送过来的瑕疵信息,采用可编程逻辑控制器PLC控制打标机对表面瑕疵进行标记或者报警器对表面瑕疵进行提示。

本基于视觉的表面瑕疵检测装置通过图像采集模块、图像处理模块和控制执行模块之间的配合可以高效实现对不同复杂纹理的表面的检测,不仅检测精度高,适应性广泛,而且鲁棒性强,速度快。

以上所述为本发明的较佳实施例而已,但本发明不应局限于该实施例和附图所公开的内容,所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

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