1.一种基于机器视觉的表面瑕疵检测方法,其特征在于,具体包括如下步骤:
步骤1、利用工业相机采集图像,并把图像划分成多个不重叠的子图像;
步骤2、提取每个子图像的纹理特征;
步骤3、基于纹理特征对每个子图像进行瑕疵检测;
步骤4、判断子图像是否有瑕疵,如果是,利用支持向量机对瑕疵进行分类,得到最终的瑕疵具体信息并结束检测;如果否,直接结束检测。
2.根据权利要求1所述基于机器视觉的表面瑕疵检测方法,其特征在于:所述步骤1中,工业相机采集到的图像,利用一个固定的矩阵框,从图像的左上角滑动到右下角,将图像分割成多个不重叠的子图像。
3.根据权利要求1所述基于机器视觉的表面瑕疵检测方法,其特征在于,所述步骤2中,按照如下步骤提取每个子图像的纹理特征:
步骤21、利用两种各向异性滤波器和两个旋转对称的滤波器对子图像滤波,得到38幅滤波特征图,其中36幅滤波特征图由两种各向异性滤波器过滤得到,另外2幅滤波特征图由两个旋转对称的滤波器过滤得到;
步骤22、对其中由两种各向异性滤波器过滤得到的36幅滤波特征图进行融合,得到6幅融合后的特征图,减少特征向量的维度;
步骤23、由6幅融合的特征图和2幅旋转对称的滤波特征图,得到子图像纹理特征,每个像素点i对应一个8维的特征向量fi,其中fi∈R8。
4.根据权利要求3所述基于机器视觉的表面瑕疵检测方法,其特征在于,所述步骤22中,对两种各向异性滤波器过滤得到的36幅滤波特征图进行融合,每种尺寸有6个方向,对应6幅特征图,通过取其每个像素点对应的6个特征值的最大值,得到一幅融合后的图像,由于2种各向异性滤波器各有3种尺寸,因而得到6幅融合特征图。
5.根据权利要求4所述基于机器视觉的表面瑕疵检测方法,其特征在于,所述步骤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、提取二值图的连通区域,连通区域面积或者长度宽度较大的即可认为为瑕疵区域。
6.根据权利要求1所述基于机器视觉的表面瑕疵检测方法,其特征在于,所述步骤4中,判断子图像是否有瑕疵,具体步骤如下:
步骤41、如果子图像所对应的二值图有瑕疵区域,即可认为子图像有瑕疵,继续下面的步骤,如果没有,即结束;
步骤42、提取有瑕疵二值图连通区域的瑕疵特征值;
步骤43、利用瑕疵特征值离线训练支持向量机;
步骤44、训练好的支持向量机根据瑕疵特征值在线对瑕疵进行分类。
7.根据权利要求6所述基于机器视觉的表面瑕疵检测方法,其特征在于,所述步骤42中,提取有瑕疵二值图连通区域的瑕疵特征值,具体如下:计算瑕疵区域的长、长宽比、周长、面积和圆形度,以上述五个参数作为瑕疵特征值。
8.一种如权利要求5所述的基于机器视觉的表面瑕疵检测方法的检测装置,其特征在于,包括三大模块:
图像采集模块:利用机器视觉专用光源和工业相机采集表面图像;
图像处理模块:利用图像处理和机器视觉算法对采集的图像进行瑕疵检测和分类,并把瑕疵信息发送给控制执行单元;
控制执行模块:根据图像处理模块传送过来的瑕疵信息,采用可编程逻辑控制器PLC控制打标机对表面瑕疵进行标记或者报警器对表面瑕疵进行提示。
9.如权利要求8所述的装置,其特征在于,所述图像采集模块中的工业相机采用线阵CCD相机。
10.如权利要求8所述的装置,其特征在于,所述图像处理模块由工控机搭载图像处理模块的上位机软件组成,所述软件包括:图像处理交互界面,图像处理算法,数据库以及通信模块,其中图像处理交互界面提供接口让用户设置参数或者观察表面瑕疵检测的实时情况;数据库,用于对表面瑕疵检测结果进行存储和管理;通信模块,采用以太网TCP/IP协议,使得上位机软件与动作执行单元模块的下位机通信。