一种缺陷检测方法及系统的制作方法

文档序号:6438777阅读:180来源:国知局
专利名称:一种缺陷检测方法及系统的制作方法
技术领域
本发明属于检测领域,尤其涉及一种缺陷检测方法及系统。
背景技术
缺陷检测是机器视觉应用的一个重要领域,缺陷检测通常是指对物品表面缺陷的检测,表面缺陷检测是采用先进的机器视觉检测技术,对工件表面的斑点、凹坑、划痕、色差、缺损等缺陷进行检测。模板匹配算法作为机器视觉领域的常用算法,在缺陷检测中也得到广泛应用。模板匹配算法的好坏会直接影响到检测的结果。一般的模板匹配算法则是保存一幅模板,然后直接进行差值运算,得到缺陷图像。但是,由于现场检测环境的多样性,很难找到一种模板匹配算法能适应大部分的要求。一般的模板匹配算法,易受灯光变化,人影窜动,机械手动作等造成的光照变化的影响,从而造成误检。以模具保护器应用为例,通过传统的基于灰度的模板匹配算法进行缺陷检测时,对待检测模具进行图像采集时,采集图像与标准图像的光线总会有所差异,图1为仅通过灰度模板匹配算法得到的差值图像,图1明显留下部分冗余图像的边缘信息,这样,当所需的检测精度较高时,这些边缘信息较容易带来误检。综上,现有技术通过传统的模板匹配算法进行缺陷检测时,由于存在以下两个不足,容易造成误检第一,易受光线明暗变化的干扰;第二,对于复杂的图像容易产生噪点。

发明内容
本发明的目的在于提供一种缺陷检测方法,旨在解决现有技术在进行缺陷检测时,易受光线变化干扰、复杂图像易造成误检的问题。本发明是这样实现的,一种缺陷检测方法,包括以下步骤对待检测设备进行图像采集,对采集的图像进行预处理;将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像;对所述灰度模板差值图像进行二值化处理,得到差值二值化图像;将预存的二值模板与所述差值二值化图像进行差值运算,得到二值模板差值图像;对所述二值模板差值图像进行轮廓查找,根据查找轮廓的结果对所述待检测设备判定是否有缺陷。本发明的另一目的在于提供一种缺陷检测系统,系统包括图像采集和预处理单元,用于对待检测设备进行图像采集,对采集的图像进行预处理;灰度模板差值图像获取单元,用于将预存的灰度模板与所述图像采集和预处理单元预处理后的采集图像进行差值运算,得到灰度模板差值图像;差值二值化图像获取单元,用于对所述灰度模板差值图像获取单元获取的灰度模板差值图像进行二值化处理,得到差值二值化图像;二值模板差值图像获取单元,用于将预存的二值模板与所述差值二值化图像获取单元获取的差值二值化图像进行差值运算,得到二值模板差值图像;缺陷检测单元,用于对所述二值模板差值图像获取单元获取的二值模板差值图进行轮廓查找,根据查找轮廓的结果对所述待检测设备判定是否有缺陷。在本发明中,在本发明实施例中,对待检测设备进行图像采集并预处理,将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像;对灰度模板差值图像进行二值化处理,得到差值二值化图像;将预存的二值模板与差值二值化图像进行差值运算,得到二值模板差值图像;对二值模板差值图进行轮廓查找,根据查找轮廓的结果对待检测设备判定是否有缺陷。本发明能够有效降低了光线变化带来的图像边缘干扰,对于表面较为复杂的检测设备具有更高的表面缺陷检测精度,具有检测速度快,误检率低的优点ο


图1是现有技术提供的模具保护器缺陷检测方法对应的差值图像;图2是本发明实施例提供的缺陷检测方法的流程图;图3是本发明一个示例提供的基于FPGA缺陷检测方法的流程图;图4是本发明实施例提供的缺陷检测系统的结构图。
具体实施例方式为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,对待检测设备进行图像采集并预处理,将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像;对灰度模板差值图像进行二值化处理,得到差值二值化图像;将预存的二值模板与差值二值化图像进行差值运算,得到二值模板差值图像;对二值模板差值图进行轮廓查找,根据查找轮廓的结果对待检测设备判定是否有缺陷。图2示出了本发明实施例提供的缺陷检测的处理流程。在步骤S201中,对待检测设备进行图像采集,对采集的图像进行预处理;具体应用时,采集的图像可以是灰度图像,也可以是彩色图像,如果是彩色图像, 需要对彩色图像进行灰度转换,例如,当采集的图像为RGB图像时,对采集的图像进行预处理具体包括灰度转换处理和高斯滤波处理。其中,高斯滤波处理,是为了去除杂波干扰。在步骤S201之前,本发明缺陷检测方法还包括对标准设备进行图像采集,得到标准图像;对标准图像进行学习,得到灰度模板和二值模板并保存。其中,标准设备可视为无缺陷的设备,通常作为样板设备,为待检测设备提供生产标准。在步骤S202中,将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像。在步骤S203中,对灰度模板差值图像进行二值化处理,得到差值二值化图像。在本发明实施例中,对灰度模板差值图像进行二值化处理的步骤具体为找出灰度模板差值图像的直方图的波峰;根据波峰计算出二值化阈值,然后对灰度模板差值图像进行二值化。在步骤S204中,将预存的二值模板与差值二值化图像进行差值运算,得到二值模板差值图像。为了进一步消除图像噪音的干扰,具体应用中,在步骤S204之前,缺陷检测方法还包括对二值模板差值图像进行膨胀腐蚀。在步骤S205中,对二值模板差值图像进行轮廓查找,根据查找轮廓的结果对待检测设备判定是否有缺陷。在本发明实施例中,步骤S205具体为当查找轮廓的结果为无轮廓时,则待检测目标不存在缺陷;当查找轮廓的结果为有轮廓时,根据轮廓确定轮廓大小,当轮廓大小超过预设范围时,轮廓对应的待检测设备该区域存在缺陷。值得一提的是,灰度模板和二值模板的学习是本发明实施例能够实现的基础,在本发明实施例中,灰度模板学习的具体步骤为对标准图像进行转灰度和高斯滤波处理后,得到灰度模板图像,然后保存在同步动态随机存储器(Synchronous Dynamic Random Access Memory, SDRAM)存储器中。二值模板学习的具体步骤为在输入标准图像,保存好灰度模板后,再次采集标准图像,经过转灰度和高斯滤波处理后,与之前保存的灰度模板进行差值运算,得到灰度模板差值图像,然后对灰度模板差值图像进行二值化处理,得到差值二值图像,最后将差值二值图像保存为二值模板图像,存入SDRAM存储器中。本发明提出了一种基于二重模板匹配的缺陷检测方法,在对标准图像学习保存一幅灰度模板的同时,还学习保存了一幅基于灰度差值的二值模板,在光线明暗变化不大时, 每个像素的灰度值近似线性变换,第一重的灰度模板匹配能够有效地减少光线明暗变化带来的影响,但仅仅通过灰度模板差值运算,在图像轮廓的边缘部分,仍会有较大的误差,通过第二重的二值模板的匹配处理有效消除第一重的灰度模板匹配对边缘信息的处理不足, 减少图像边缘带来的干扰,对于表面较为复杂的检测设备,能有效降低误检率。图3是本发明一个示例提供的基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的缺陷检测方法的流程图;在步骤S301中,待检测设备RGB图像采集;在步骤S302中,灰度转换;
在步骤S303中,高斯滤波在步骤S304中,从SDRAM中读取灰度模板读取;在步骤S305中,对步骤S303得到的灰度图像和步骤S304得到灰度模板进行差值
运算;
在步骤S306中,自适应阈值二值化;在步骤S307中,从SDRAM中二值模板读取;在步骤S308中,对步骤S306得到的二值图像和步骤S307得到二值模板进行差值
运算;在步骤S309中,膨胀腐蚀;在步骤S310中,轮廓查找;在步骤S311中,缺陷判定,若找不到轮廓,则说明无缺陷,若有轮廓,判定缺陷区域大小,根据预设范围确定是否为缺陷。在本示例中,在步骤S301之前,需要对标准图像进行学习,得到灰度模板和二值模板并保存在SDRAM中,步骤S309后得到的图像保存在静态随机存储器(Static Random Access Memory, SRAM)中。具体地,步骤S302中将RGB图像转换为灰度图像采用如下方式实现R,G,B和灰度(Gray)都采用8位二进制(范围0 255)表示,RGB灰度转换公式为Gray = R*0. 299+G*0. 587+Β*0· 114当通过FPGA完成运算时,整数处理更加方便,为避免浮点运算,方程两边同时乘以 1024Gray*1024 = (R*0. 299+G*0. 587+Β*0· 114)*1024= R*306+G*601+B*116将最终结果除以10M(即右移10位)得到灰度值Gray。具体地,步骤S303高斯滤波的实现方式如下用3*3高斯模板对输入图像进行卷积运算,对图像进行平滑滤波处理。3*3 高斯模板可以是[1,2,1 ;2,4,2 ;1,2,1]像素点(i,j)的灰度值P(i,j)的高斯滤波公式如下,Suml = P(i_l,j_l)+2*P(i,j_l)+P(i+l,j-1);Sum2 = 2*P(i_l,j)+4*P(i,j)+2*P(i+l,j);Sum3 = P(i_l,j+l)+2*P(i,j+l)+P(i+l, j+1);P(i, j) = (Suml+Sum2+Sum3)/16具体地,步骤S305中的灰度差值的算法为
H-IW-I j=0 i=0其中,H、W分别是图像的高和宽,Y为差值后的灰度图像,P为当前输入的灰度图像,S为标准的模板灰度图像具体地,步骤S306灰度差值图像进行自适应阈值二值化的实现方法如下统计灰度差值图像的直方图;找到直方图的波峰,然后计算出二值化阈值,根据该二值化阈值对差值灰度图像
进行二值化。具体地,步骤S308的二值差值算法为由于二值图像的值只有0和1两种,两幅二值图像差值运算公式如下
M(i,j) = 0 ;当 P(i,j) = V(i, j);M(i, j) = 1 ;当 P(i,j) Φ V(i, j);其中,M为二值差值图像,P为当前输入的二值图像,V为标准的二值模板图像。步骤S309中膨胀腐蚀处理是为了简化图像数据,保持其基本形状特性,并除去不相干的结构具体地,步骤S310中轮廓查找的实现方式如下采用8领域搜索查找的方法计算缺陷的轮廓的大小,如下图,在像素点P(i,j)周围按照下方的0、1、2、3、4、5、6、7顺序进行轮廓搜索。本示例可以在Xilinx的XC3Sd3400a FPGA上实现并取得较好的效果,能大幅提高检测结果对光线明暗变化的抗干扰能力,同时具有更高的表面缺陷检测精度。另外,由于采用全流水线操作,大大提高了系统检测的速度,比传统软件实现时所用的模板匹配要快很
^^ ο图4示出了本发明实施例提供的缺陷检测系统的结构图。为了便于说明,仅示出了与本发明实施例相关的部分。该缺陷检测系统可以用于计算机等终端设备,也可以用于 ARM,DSP或FPGA等芯片组成的终端设备。可以是运行于这些终端设备内的软件单元,也可以作为独立的挂件集成到这些终端设备中或者运行于这些终端设备的应用系统中。该缺陷检测系统包括图像采集和预处理单元41、灰度模板差值图像获取单元42、 差值二值化图像获取单元43、二值模板差值图像获取单元44和缺陷检测单元45。其中图像采集和预处理单元41,用于对待检测设备进行图像采集,对采集的图像进行预处理;灰度模板差值图像获取单元42,用于将预存的灰度模板与图像采集和预处理单元 41预处理后的采集图像进行差值运算,得到灰度模板差值图像;差值二值化图像获取单元43,用于对灰度模板差值图像获取单元42获取的灰度模板差值图像进行二值化处理,得到差值二值化图像;二值模板差值图像获取单元44,用于将预存的二值模板与差值二值化图像获取单元43获取的差值二值化图像进行差值运算,得到二值模板差值图像;缺陷检测单元45,用于对二值模板差值图像获取单元44获取的二值模板差值图进行轮廓查找,根据查找轮廓的结果对待检测设备判定是否有缺陷。在本发明实施例中,需要对标准图像进行学习,保存两个匹配模板,缺陷检测系统还包括标准图像学习单元,用于对标准设备进行图像采集,得到标准图像,对标准图像进行学习,得到灰度模板和二值模板并保存。为了进一步消除二值模板差值图像获取单元44获取的图像噪音的干扰,缺陷检测系统还包括膨胀腐蚀单元,用于对二值模板差值图像获取单元44获取的二值模板差值图像进行膨胀腐蚀。在本发明实施例中,当采集图像为RGB图像时,图像采集和预处理单元41的预处理包括灰度转换处理和高斯滤波处理。其具体实施方式
如上所述,具体不再赘述。以模具保护应用为例,该缺陷检测系统可以作为模具保护器的一部分,当检测到待检测模具存在缺陷时进行报警。本发明实施例通过采用基于二重模板匹配的缺陷检测方法降低了光线变化带来的图像边缘干扰,提高检测精度,特别对于表面较为复杂的检测设备,能有效降低误检率, 具有较强的实用性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质,如ROM/RAM、磁盘、光盘等。另外也可以存储于ARM,DSP和FPGA的程序存储芯片flash中。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种缺陷检测方法,其特征在于,所述方法包括以下步骤 对待检测设备进行图像采集,对采集的图像进行预处理;将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像; 对所述灰度模板差值图像进行二值化处理,得到差值二值化图像; 将预存的二值模板与所述差值二值化图像进行差值运算,得到二值模板差值图像; 对所述二值模板差值图进行轮廓查找,根据查找轮廓的结果对所述待检测设备判定是否有缺陷。
2.如权利要求1所述的方法,其特征在于,所述将预存的灰度模板与预处理后的采集图像进行差值运算步骤之前,所述方法还包括对标准设备进行图像采集,得到标准图像;对所述标准图像进行学习,得到灰度模板和二值模板并保存。
3.如权利要求1所述的方法,其特征在于,所述根据查找轮廓的结果对所述待检测目标判定是否有缺陷的步骤具体为当所述查找轮廓的结果为无轮廓时,则所述待检测目标不存在缺陷; 当所述查找轮廓的结果为有轮廓时,根据轮廓确定轮廓大小,当所述轮廓大小超过预设范围时,所述轮廓对应的待检测设备该区域存在缺陷。
4.如权利要求1或2或3所述的方法,其特征在于,当所述采集图像为RGB图像时,所述预处理包括灰度转换处理和高斯滤波处理。
5.如权利要求1或2或3所述的方法,其特征在于,所述对所述二值模板差值图进行轮廓查找步骤之前,所述方法还包括对所述二值模板差值图像进行膨胀腐蚀。
6.如权利要求1或2或3所述的方法,其特征在于,所述对所述灰度模板差值图像进行二值化处理的步骤具体为找出所述灰度模板差值图像的直方图的波峰;根据所述波峰计算出二值化阈值,根据所述二值化阈值对所述灰度模板差值图像进行二值化。
7.一种缺陷检测系统,其特征在于,所述系统包括图像采集和预处理单元,用于对待检测设备进行图像采集,对采集的图像进行预处理;灰度模板差值图像获取单元,用于将预存的灰度模板与所述图像采集和预处理单元预处理后的采集图像进行差值运算,得到灰度模板差值图像;差值二值化图像获取单元,用于对所述灰度模板差值图像获取单元获取的灰度模板差值图像进行二值化处理,得到差值二值化图像;二值模板差值图像获取单元,用于将预存的二值模板与所述差值二值化图像获取单元获取的差值二值化图像进行差值运算,得到二值模板差值图像;缺陷检测单元,用于对所述二值模板差值图像获取单元获取的二值模板差值图进行轮廓查找,根据查找轮廓的结果对所述待检测设备判定是否有缺陷。
8.如权利要求7所述的系统,其特征在于,所述系统还包括标准图像学习单元,用于对标准设备进行图像采集,得到标准图像,对所述标准图像进行学习,得到灰度模板和二值模板并保存。
9.如权利要求7所述的系统,其特征在于,所述系统还包括膨胀腐蚀单元,用于对所述二值模板差值图像获取单元获取的二值模板差值图像进行膨胀腐蚀。
10.如权利要求7或8或9所述的方法,其特征在于,当所述采集图像为RGB图像时,所述预处理包括灰度转换处理和高斯滤波处理。
全文摘要
本发明适用于检测领域,提供了一种缺陷检测方法及系统,所述方法包括以下步骤对待检测设备进行图像采集,对采集的图像进行预处理;将预存的灰度模板与预处理后的采集图像进行差值运算,得到灰度模板差值图像;对所述灰度模板差值图像进行二值化处理,得到差值二值化图像;将预存的二值模板与所述差值二值化图像进行差值运算,得到二值模板差值图像;对所述二值模板差值图进行轮廓查找,根据查找轮廓的结果对所述待检测设备判定是否有缺陷。本发明通过采用基于二重模板匹配的缺陷检测方法降低了光线变化带来的图像边缘干扰,特别对于表面较为复杂的检测设备,能有效降低误检率,提高检测精度,具有较强的实用性。
文档编号G06T7/00GK102509300SQ20111036761
公开日2012年6月20日 申请日期2011年11月18日 优先权日2011年11月18日
发明者余加波, 廖家亮, 张俊, 李佐广, 李耀华, 李运秀, 杨江华, 梁日雄 申请人:深圳市宝捷信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1