版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、缺陷检测的分类方法 瑕疵缺陷检测 划痕检测 焊点检测与分类方法 第6章 缺陷检测技术主要内容第6章 缺陷检测技术缺陷检测在现代工业连续、大批量自动化生产中起着重要的作用,它涉及到各种各样的工件检查、测量和分类等应用,如检测工件的表面是否有划痕、印刷品形体是否有缺陷,IC字符印刷是否完整、电路板焊点是否完善、饮料瓶盖的画面是否完整等。6.1 缺陷检测的分类方法产品缺陷的检测方法可以分为三种:传统的人工检测方法,显然这种方法的效率和精度都是比较低的,无法达到“零缺陷”的要求采用机械仪器装置与产品接触性的检测方法,此类方法虽然能满足产品检验需要,但存在检测设备的制造代价高、灵活性差、速度慢等缺点基于
2、机器视觉的缺陷检测方法,即利用图像处理和分析来进行产品的缺陷检测 6.1 缺陷检测的分类方法 缺陷检测系统的核心是缺陷检测分类软件,它对摄像机捕捉到的材料表面图像进行分类整理,找到存在的缺陷,定位、识别和判断,进而进行分级分类。6.1 缺陷检测的分类方法 1)Naive Bayes(朴素贝叶斯)方法前提假设 :在给定样本的情况下,样本的属性是相互独立的。 假设 为一任意测试样本,属于 中的某一类 。根据NB分类法有: 6.1 缺陷检测的分类方法 对 进行分类就是按照上式计算样本类在给定情况下的概率,概率值最大的那个类就是 所在的类,也就是: 如果 对于给定分类样本和测试样本,用NB法分类的关键
3、就是计算 和 ,也就是建立分类模型。 根据 计算方式的不同,可以将NB法分为最大似然模型,多项式模型,泊松模型等。 6.1 缺陷检测的分类方法 2)kNN方法 ( k-Nearest Neighbor)对于某一给定的测试样本d,在训练样本集中,通过相似度找到与之最相似的k个训练样本,如果在这k个样本中,有多个样本属于同一个类,则该类的分值为这些样本与测试样本之间的相似度之和。对这k个样本所属类的分值统计完毕后,即按分值进行排序,只有分值超过阈值的类才予以考虑。6.1 缺陷检测的分类方法 形式化表示为: 其中, , 为阈值, 为 d 和 的相似度, 为测试样本 d 属于 类的分值。 6.1 缺陷
4、检测的分类方法 3)支持向量机(SVM)方法支持向量机基于结构风险最小化原理,将原始数据集合压缩到支持向量集合,学习得到分类决策函数。基本思想是构造一个超平面作为决策平面,使正负模式之间的空白最大。 6.2 瑕疵缺陷检测从瑕疵缺陷图像的特点开始,介绍图像差分法、瑕疵缺陷图像的特征提取与选择、灰度形态学的瑕疵缺陷检测等缺陷检测的基本算法,以及这些算法在实际生产中的应用实例。6.2.1 瑕疵缺陷图像特点检测产品存在缺陷时,其图像表现为缺陷处的灰度值与标准图像在此处的灰度值有差异。将瑕疵缺陷图像的灰度值同标准图像的灰度值进行比较,判断其差值(两幅图灰度值的相差程度)是否超出已预先设定的阈值范围,就能
5、判断出待检测产品缺陷是否存在。 6.2.1 瑕疵缺陷图像特点瑕疵缺陷检测流程6.2.2 瑕疵缺陷检测算法1. 缺陷图像的差分算法 图像差分法就是图像的相减运算,实际上就是将同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减,差分后得到的结果图像提供了图像间的差异信息。图像差分法能用于视频监控、运动目标检测和跟踪、图像背景消除以及目标识别等领域。 设模板图像为T( i, j),待检图像为S( i, j),匹配相减后的图 像(称之为差分图像)为D(i , j),则有:基于图像差分法的缺陷检测流程1)有效检测区域的设定 2)图像配准与剪裁 3)设定差分阈值 4)缺陷位置的判别 6.2.2 瑕
6、疵缺陷检测算法2. 缺陷图像的特征提取与选择 特征提取 灰度值特征 灰度差特征 直方图特征 变换系数特征 线条和角点的特征 灰度边缘特征 纹理特征 6.2.2 瑕疵缺陷检测算法(1)主成分分析(PCA)主成分分析方法应用线性代数中的KL变换将原始特征空间映射到一个低维的正交空间,设 为训练样本的n个p维特征向量,这时得到协方差矩阵: 它的前 个最大的特征值及其对应的特征向量分别为 和 。 e为新特征空间的基向量,维数为q。训练集的 映射到新特征空间以后,得到q维特征向量集 ,实现了特征降维, , 。 特征选择 6.2.2 瑕疵缺陷检测算法对于给定的 矩阵X,其数据维数可以通过将其映射到一个低维
7、(r维,rn)的子空间而减少,这个映射由一组随机向量确定: (2)随机映射(RP) 对于任意 与整数n,设r为正整数,且使得: 6.2.2 瑕疵缺陷检测算法则对于 中的n个点的集合W,存在一个映射 ,使得对所有的 :引理说明高维欧式空间可以映射到一个 维子空间,使得点间距离对于任意 能近似保留。而且,这个映射可以在多项式时间内找到。 (3)非负矩阵分解(NMF)非负矩阵分解方法将一个非负的矩阵 分解成左右两个非负矩阵 和 的乘积,使得: 其中r通常比m和n都要小得多。这样, 就可以看作是对V进行线性估计而优化了的基向量。用相对少的(r个)基表示许多(m个)观测数据(rm)。如果这些基 能揭示出
8、隐藏在 中的数据结构,就可获得对观测数据 好的估计 。 6.2.2 瑕疵缺陷检测算法6.2.2 瑕疵缺陷检测算法 灰度形态学的缺陷检测方法 数学形态学是非线性图像处理中的一种重要方法,二值图像和灰度图像处理。和二值形态学一样,灰度数学形态学的基本运算也有膨胀、腐蚀、开启和闭合,其中利用膨胀和腐蚀的组合可构成开启和闭合,而利用开启和闭合又可构成形态滤波器。 在灰度图像的形态分析中,结构元素可以是任何的三维结构,常用的有圆锥、圆柱、半球或抛物线。模板尺寸总是奇数,这样模板中心正好对应一个像素。 6.2.2 瑕疵缺陷检测算法膨胀灰度图像的结果是,比背景亮的部分得到扩张,而比背景暗的部分受到收缩。 腐
9、蚀灰度图像的结果是,比背景暗的部分得到扩张,而比背景亮的部分受到收缩。开启一幅图像可消除图中的孤岛或尖峰等过亮的点。闭合可将比背景暗且尺寸比结构元素小的结构除掉。 形态滤波器是非线性信号滤波器,它通过变换来局部地修改信号的几何特征。将开启和闭合结合起来可以消除噪声。如果用一个小的结构元素先开启再闭合一幅图像,就有可能将图像中小于结构元素的类似噪声结构除去。6.2.3 应用实例饮料瓶盖的缺陷检测最终要实现生产流水作业上的高速质量判定,要求速度快,并且无须确定缺陷位置。采用基于灰度直方图的特征提取方法,对两幅待对比的RGB图像(标准图与检测图)灰度转换后进行灰度直方图统计,运用统计方法进行对比,得
10、到两幅图像的特征差异值,阈值法判定合格与否。在统计法对比过程中,利用灰度均值截断的技巧放大可能由缺陷引起的灰度差异,提高了缺陷判定的准确度。6.2.3 应用实例TimerBegin(time_begin);/计时开始Readimage(bottle02.bmp,rgbimage_std);/读取图像ConvertDepth24to8(rgbimage_std,rgb2grayimage_std);/24位图转成8位灰度图Readimage(bottle11.bmp,rgbimage_defect);ConvertDepth24to8(rgbimage_defect,rgb2grayimage_
11、defect);GraystatDefect(rgb2grayimage_std, rgb2grayimage_defect,10,result);showimage(rgbimage_defect);if(result=1);GenText(5,5,50,合格,black); endif();if(result=0);GenText(5,5,50, 不合格,black); endif();TimerEnd(time_begin,time_result);/计时结束XAVIS程序代码如下:6.2.3 应用实例电路板布线缺陷检测 对于一幅大小为1100870、灰度级为256的电路板灰度图像,其布
12、线缺陷分为断线和毛刺,利用灰度形态学检测这些缺陷。取结构元素为55的半球模板,首先对原图灰度开启,消除比邻域亮且尺寸比结构元素小的区域;然后对原图灰度闭合,消除比邻域暗且尺寸比结构元素小的区域,两次结果差异即为缺陷。 6.2.3 应用实例XAVIS程序代码如下:Readimage(pcb.bmp,image);/读取图像showimage(image);gray_erosion(image,5,image1);/灰度腐蚀gray_dilation(image1,5,image2); /灰度膨胀showimage(image2);gray_dilation(image,5,image3); /灰
13、度膨胀gray_erosion(image3,5,image4); /灰度腐蚀showimage(image4);dyn_threshold(image2,image4,75,image5,not_equal); /动态阈值showimage(image);show_result(image,3,green,image5);/结果输出6.2.3 应用实例灰度膨胀:gray_dilation(Image, Size, ImageDilation);参数说明:Image:输入灰度图Size:半圆模板尺寸(1-211之间的奇数)ImageDilation:输出膨胀结果图灰度腐蚀:gray_erosi
14、on(Image, Size, ImageErosion);参数说明:Image:输入灰度图Size:半圆模板尺寸(1-211之间的奇数)ImageErosion:输出腐蚀结果图6.2.3 应用实例动态阈值函数功能:比较输入的两幅灰度图的不同,输出其比较结果调用格式:dyn_threshold(CDib Image,CDib ImageMean,int Offset,CDib ImageOutput,CString LightDark);参数说明:Image:输入灰度图1(假设其灰度值为g_o)ImageMean:输入灰度图2(假设其灰度值为g_t)Offset:偏移量ImageOutput:
15、输出结果图LightDark:比较模式选择dark:满足g_og_o) | (g_og_t+offset) 的输出为白,否则为黑equal; 满足(g_t-offset)=g_o) & (g_o=g_t+offset的输出为白,否则为黑6.2.3 应用实例结果输出函数功能:限制图中为白的地方,在对应位置处的输入图中标示出来调用格式:show_result(CDib Image,int PenWidth,CString PenColor,CDib ImageResult);参数说明:Image:输入灰度图PenWidth:线宽(1-3)PenColor:颜色(6种:white,black,gra
16、y,red,blue,green)ImageResult:输入限制图6.3 划痕检测 划痕检测是工业生产中经常遇到的问题,工业中许多设备的零部件是在高温、高压的环境中工作的,所受载荷复杂,使用环境恶劣,故障频率高,造成的后果非常严重,因此,对有关部件的缺陷、疲劳裂纹的产生、扩展进行检测就尤为必要。划痕检测的基本分析过程分为两步:首先,确定检测产品表面是否有划痕,其次,在确定被分析图像上存在划痕之后,对划痕进行提取。6.3.1 划痕图像的特点由于在工业检测中图像的多样性,对于每一种图像,都要经过分析综合考虑各种手段来进行处理达到效果。一般来说,划痕部分的灰度值和周围正常部分相比要暗,也就是划痕部
17、分灰度值偏小;而且,大多都是在光滑表面,所以整幅图的灰度变化总体来说非常均匀,缺乏纹理特征。因此,划痕的检测一般使用基于统计的灰度特征或者阈值分割的方法将划痕部分标出。 6.3.1 划痕图像的特点划痕的检测一般使用基于统计的灰度特征或者阈值分割的方法将划痕部分标出6.3.2 划痕检测算法 图像中目标的标记 1)逐个点进行扫描。从左到右,如果该点的左上,正上和右上及左前方四个点的像素都不是目标,则把它们标为1 2)若邻域X3,X5被分配了同一标号,或者只有其中之一 被分配标号,则把标号分配给X0 3)如果X3,X5分配了不同的标号,则把较小的标号分配给X04)利用等价表,把图像中的标号替换成等价
18、标号中的最小标号像素点的编号顺序,X0是被运算点6.3.2 划痕检测算法 划痕特征提取与识别分类对于工业采集图像划痕提取的特征可分为两类:灰度值特征和形状特征。 分类:首先计算图像的最低灰度值和灰度分布情况,然后分析图像的灰度密度,如果图像灰度偏低,并且靠近最低灰度值的点数目比较多,可以认为这属于一幅缺陷很明显的图像,属于第一类划痕,用较低的阈值来标记。如果灰度分布很均匀,同时有几个灰度偏低的点,而这些点的位置又比较集中,可以认为是第二类缺陷,如果点的数目比较多,则属于第三类图像。 6.3.2 划痕检测算法 for(i=1,8,1);CStringFormat(scratch%d.bmp,i,
19、image_path);/字符串初始化Readimage(image_path,image);showimage(image);sleep(2000);mean_image(image,7,image_mean);/均值滤波dyn_threshold(image,image_mean,5,image_dark,dark);/动态阈值select_area(image_dark,10,1000,image_area);/面积选择dilation_circle(image_area,3,image_dilated);/圆模板膨胀showimage(image_dilated);sleep(3000
20、);endfor();XAVIS程序代码如下:6.3.2 划痕检测算法 面积选择函数功能:选择满足面积要求的目标输出(针对黑色背景白色目标的二值图)调用格式:select_area(CDib Image,int MinArea,int MaxArea,CDib ImageSeclected);参数说明:Image:输入二值图(黑色背景白色目标)MinArea:最小面积MaxArea:最大面积ImageOutput:输出选择后的结果图6.3.2 划痕检测算法 圆模板膨胀函数功能:采用圆模板膨胀输入图调用格式:dilation_circle(CDib Image,int Size,CDib Ima
21、geDilation);参数说明:Image:输入二值图Size:圆模板大小(0-211之间的奇数)ImageDilation:膨胀后的输出二值图对于第一类划痕,这种划痕从外观上较易辨认,同时灰度变化跟周围区域对比也比较明显。可以选择较小的阈值H0,将缺陷部分直接标记。 第一类图像缺陷标记(a)原图 (b)标记出的划痕(c)原图 (d)标记出的划痕(a)原图 (b)标记的划痕(c)原图 (d)标记的划痕第二类图像缺陷标记对于第二类划痕,部分灰度值变化并不明显,整幅图像灰度比较平均,划痕面积也比较小,只有几个像素点,灰度也只比周围图像稍低,很难分辨。可以对原图像进行均值滤波,得到较平滑的图像,并
22、与原图像相减,当其差的绝对值大于阈值时就将其置为目标,并对所有的目标进行标记,计算其面积,将面积过小的目标去掉,剩下的就标记为划痕。 对于第三类划痕,各部分灰度差异较大,形状通常呈长条形,如果在一幅图像上采取固定阈值分割,则标记的缺陷部分会小于实际部分。由于这类图像的划痕狭长,单纯依靠灰度检测会将缺陷延伸部分漏掉。对于这类图像,根据其特点选择双阈值和缺陷形状特征相结合的方法,具体如下:1)选取一个较大的阈值H1将划痕和背景分割开来2)根据分割出的缺陷来计算整幅图像上划痕的走向3)选取缺陷中处于两端的部分,可通过利用方向模板来计算图像上划痕区域的边缘,然后对边缘追踪到其端点处4)根据追踪的轨迹得
23、到边缘的走向5)沿着划痕部分的角度作延伸,并将延伸部分灰度低于一定阈值H2的点也标记为待选划痕6.3.3 应用实例 6.3.3 应用实例 7) 检查连线上灰度较低的点是否大于一定数量N,若是则表面待选划痕点可以被认为是在划痕上,可被标记为划痕6) 在待选划痕点(x1, y1)和划痕的端点(x2, y2)之间做连线 。 (a)原图 (b)标记的划痕第三类图像缺陷标记6.4 焊点检测与分类方法PCB焊点通常分为两类:合格焊点(good)和不合格焊点(bad)。而不合格焊点又分为9类:桥接焊点(bridge)、焊料过量焊点(too-much)、焊料不足焊点(too-less)、无引脚焊点(no-le
24、ad)、空焊盘焊点(no-operation)、漏焊焊点(no-solder)、冷焊焊点(pull-off)、拉尖焊点(horn)、不湿润焊点(no-wet)。 6.4.1 PCB焊点的分类焊点的俯视图与侧视图 焊点类型焊点特征合格焊点呈圆锥状;底部焊锡饱满,上面焊锡紧裹引脚;在焊盘处,与旁边的焊点有明显的间隔(没有连接)拉尖焊点在顶部或者底部有明显的拉尖现象,部分焊锡不存在,球形拉尖比较多桥接桥接焊点是拉尖焊点的一种特殊情况,就是由于焊锡过多或者拉尖过大,焊点与旁边的焊点有连接焊料过量焊点的形状近似球状,这是由于焊锡过多引起,和其他焊点没有桥接焊料不足焊料不足是由于焊锡过少引起的,引脚或者焊
25、盘处焊锡太少,底部形状跟合格焊点比起来比较瘪甚至是平的,或者焊锡不能完全覆盖引脚无引脚焊点没有引脚,但是有焊锡空焊盘没有任何操作的焊点,就是既没有引脚又没有焊锡漏焊焊点有引脚,焊盘处没有焊锡,引脚有极少量或者没有焊锡冷焊焊点焊锡形状不对称,焊锡偏向某一侧,焊球上一般有孔洞,局部有拉尖现象不湿润焊点的引脚处焊锡没有完全包裹引脚或者与引脚分离,焊盘处焊锡没有接触焊盘或者没有完全覆盖焊盘焊点种类特征6.4.2 焊点检测与分类算法 算法描述 对于一幅焊点图像,首先要将目标焊点从背景中分离出来,然后提取特征,再分析每个特征的均值、标准方差、最大值和最小值,选择特征,最后根据所选特征选择分类器。 6.4.
26、2 焊点检测与分类算法 焊点图像处理 对焊点的图像处理主要有色彩空间转换、图像滤波和图像分割等步骤(a)原图 (b)裁切图 (c)中值滤波 (d)二值化 6.4.2 焊点检测与分类算法 焊点特征提取与选择 1)亮度归一化和尺寸归一化用三个变量表示一幅灰度图像: k为(i , j)点的灰度值,f 为两个变量的函数。 亮度归一化也就是把一幅图像所有像素点的灰度值除以 ,其中 , 。这样归一化后的图像的灰度值分布在 内。 6.4.2 焊点检测与分类算法 尺寸归一化就是让一幅图像所有的像素值落在-0.5,+0.5 -0.5,+0.5之间。像素值大小取决于 和 ,调整公式: 2)灰度调整和中值滤波(1)
27、 灰度值特征(2) 高斯特征(4)对称连接特征通过观察焊点图像,可以发现一些焊点的形状比较对称,比如good焊点、too-much焊点,而其他焊点的形状则不对称,比如pull-off焊点、bridge焊点、horn焊点,因此,焊点形状的对称性也可以作为焊点的一个特征。 (5)二值特征二值图像非常直观,处理速度也较快,但是丢失了灰度信息,所以,如果两个焊点形状相似但是亮度不同的话,就很难分开了。可以用二值图像配合灰度图像,提高分类的准确率和运算速度。 6.4.2 焊点检测与分类算法 (3) 惯性特征综上所述,一共提取27个特征, ,特征的顺序可以随意排列,没有什么影响。 特征选择检验一个特征的好
28、坏,首先计算每类焊点在这个特征上的均值、标准方差、最大值和最小值,然后画矩形,其中矩形的高度为标准方差的倒数,矩形的宽度为最大值与最小值的差,矩形宽的中点x坐标为均值。理想特征的表现是矩形很高而且没有交叉。 6.4.2 焊点检测与分类算法 , , 焊点分类 6.4.2 焊点检测与分类算法 SVM方法 对a求解下列函数的最大值 存在约束条件 分类函数 如何将10类焊点分开,要考虑每类焊点的特征,在这里,先把焊点分成三类,第一类为good焊点,第二类为no-operation,no-solder和no-lead,剩下的为第三类。因为第二类焊点要么没有焊锡,要么没有引脚,或者两个都没有,它们与其他两类焊点在亮度上有明显区别,因此首先将第二类分离出来,然后用阈值分割的办法将第二类中的三种焊点分开。接下来,使用SVM将第一类和第三类焊点分开,最后用6个SVM将第三类中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度养殖场废弃物资源化利用技术承包合同范本4篇
- 2022版义务教育阶段英语课程标准模拟测试卷
- 2025年度整栋医疗设施出租经营合同4篇
- 2025年度存量房交易资金监管服务合同范本2篇
- 2024智能健康监测设备研发与生产合同
- 2025别墅庭院园艺景观植物租赁与养护合同3篇
- 2025年度新能源汽车动力电池回收利用技术合作合同范本3篇
- 2024美容院员工劳动合同及保密协议
- 2025年度医院儿科病房改造与承包运营协议4篇
- 2025年度床上用品行业环保公益活动合作合同3篇
- 教师培训课件信息技术与数字素养教育
- 外观专利授权协议书
- 全套消防管理记录本
- 项目管理实施规划-无锡万象城
- 浙大一院之江院区就诊指南
- 离婚协议书电子版下载
- 完整版供应商质量审核检查评分表(供应商审核表)
- 项目日程表模板
- 质量评估报告(光伏)
- 农村个人房屋抵押借款合同
- 公卫执业医师述职报告
评论
0/150
提交评论