机器视觉技术及应用- 课件.ppt

上传人(卖家):三亚风情 文档编号:2441362 上传时间:2022-04-18 格式:PPT 页数:54 大小:2.08MB
下载 相关 举报
机器视觉技术及应用- 课件.ppt_第1页
第1页 / 共54页
机器视觉技术及应用- 课件.ppt_第2页
第2页 / 共54页
机器视觉技术及应用- 课件.ppt_第3页
第3页 / 共54页
机器视觉技术及应用- 课件.ppt_第4页
第4页 / 共54页
机器视觉技术及应用- 课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、p缺陷检测的分类方法缺陷检测的分类方法 p瑕疵缺陷检测瑕疵缺陷检测 p划痕检测划痕检测 p焊点检测与分类方法焊点检测与分类方法 第第6章章 缺陷检测技术缺陷检测技术第第6章章 缺陷检测技术缺陷检测技术缺陷检测在现代工业连续、大批量自动化生产缺陷检测在现代工业连续、大批量自动化生产中起着重要的作用,它涉及到各种各样的工件中起着重要的作用,它涉及到各种各样的工件检查、测量和分类等应用,如检测工件的表面检查、测量和分类等应用,如检测工件的表面是否有划痕、印刷品形体是否有缺陷,是否有划痕、印刷品形体是否有缺陷,IC字符字符印刷是否完整、电路板焊点是否完善、饮料瓶印刷是否完整、电路板焊点是否完善、饮料瓶

2、盖的画面是否完整等。盖的画面是否完整等。6.1 缺陷检测的分类方法缺陷检测的分类方法产品缺陷的检测方法可以分为三种:产品缺陷的检测方法可以分为三种:传统的人工检测方法,显然这种方法的效率和精度都传统的人工检测方法,显然这种方法的效率和精度都是比较低的,无法达到是比较低的,无法达到“零缺陷零缺陷”的要求的要求采用机械仪器装置与产品接触性的检测方法,此类方采用机械仪器装置与产品接触性的检测方法,此类方法虽然能满足产品检验需要,但存在检测设备的制造法虽然能满足产品检验需要,但存在检测设备的制造代价高、灵活性差、速度慢等缺点代价高、灵活性差、速度慢等缺点基于机器视觉的缺陷检测方法,即利用图像处理和分基

3、于机器视觉的缺陷检测方法,即利用图像处理和分析来进行产品的缺陷检测析来进行产品的缺陷检测 6.1 缺陷检测的分类方法缺陷检测的分类方法 缺陷检测系统的核心缺陷检测系统的核心是缺陷检测分类软件,是缺陷检测分类软件,它对摄像机捕捉到的它对摄像机捕捉到的材料表面图像进行分材料表面图像进行分类整理,找到存在的类整理,找到存在的缺陷,定位、识别和缺陷,定位、识别和判断,进而进行分级判断,进而进行分级分类。分类。6.1 缺陷检测的分类方法缺陷检测的分类方法 1)Naive Bayes(朴素贝叶斯)方法(朴素贝叶斯)方法前提假设前提假设 :在给定样本的情况下,样本的属性是相:在给定样本的情况下,样本的属性是

4、相互独立的。互独立的。 假设假设 为一任意测试样本,属于为一任意测试样本,属于 中的中的某一类某一类 。根据。根据NB分类法有:分类法有: idk,21j ijijijdpdppdp kjjijidppdp16.1 缺陷检测的分类方法缺陷检测的分类方法 对对 进行分类就是按照上式计算样本类在给定情况下进行分类就是按照上式计算样本类在给定情况下的概率,的概率,概率值最大概率值最大的那个类就是的那个类就是 所在的类,也所在的类,也就是:就是: ididjid如果如果 ijijdpdPmax对于给定分类样本和测试样本,用对于给定分类样本和测试样本,用NB法分类的关键就法分类的关键就是计算是计算 和和

5、 ,也就是建立分类模型。,也就是建立分类模型。 jpjidp根据根据 计算方式的不同,可以将计算方式的不同,可以将NB法分为最大似然法分为最大似然模型,多项式模型,泊松模型等。模型,多项式模型,泊松模型等。 jidp6.1 缺陷检测的分类方法缺陷检测的分类方法 2)kNN方法方法 ( k-Nearest Neighbor)对于某一给定的测试样本对于某一给定的测试样本d,在训练样本集中,通过,在训练样本集中,通过相似度相似度找到与之最相似的找到与之最相似的k个训练样本,如果在这个训练样本,如果在这k个样本中,有个样本中,有多个样本属于同一个类,则该类的分值为这些样本与测试多个样本属于同一个类,则

6、该类的分值为这些样本与测试样本之间的相似度之和。对这样本之间的相似度之和。对这k个样本所属类的分值统计完个样本所属类的分值统计完毕后,即按分值进行排序,只有分值超过阈值的类才予以毕后,即按分值进行排序,只有分值超过阈值的类才予以考虑。考虑。6.1 缺陷检测的分类方法缺陷检测的分类方法 nDObdyddsimdscoreiijjdikNNi,形式化表示为:形式化表示为: 其中,其中, , 为阈值,为阈值, 为为 d 和和 的相似度,的相似度, 为测试样本为测试样本 d 属于属于 类的分值。类的分值。 ibjddsim,ijijijdddy, 0, 1,ijdidscore,6.1 缺陷检测的分类

7、方法缺陷检测的分类方法 3)支持向量机()支持向量机(SVM)方法)方法支持向量机基于结构风支持向量机基于结构风险最小化原理,将原始险最小化原理,将原始数据集合压缩到支持向数据集合压缩到支持向量集合,学习得到分类量集合,学习得到分类决策函数。基本思想是决策函数。基本思想是构造一个超平面作为决构造一个超平面作为决策平面,使正负模式之策平面,使正负模式之间的空白最大。间的空白最大。 6.2 瑕疵缺陷检测瑕疵缺陷检测从瑕疵缺陷图像的特点开始,介绍图像差分法、瑕疵从瑕疵缺陷图像的特点开始,介绍图像差分法、瑕疵缺陷图像的特征提取与选择、灰度形态学的瑕疵缺陷缺陷图像的特征提取与选择、灰度形态学的瑕疵缺陷检

8、测等缺陷检测的基本算法,以及这些算法在实际生检测等缺陷检测的基本算法,以及这些算法在实际生产中的应用实例。产中的应用实例。6.2.1 瑕疵缺陷图像特点瑕疵缺陷图像特点检测产品存在缺陷时,其图像表现为缺陷处的灰度值检测产品存在缺陷时,其图像表现为缺陷处的灰度值与标准图像在此处的灰度值有差异。将瑕疵缺陷图像与标准图像在此处的灰度值有差异。将瑕疵缺陷图像的灰度值同标准图像的灰度值进行比较,判断其差值的灰度值同标准图像的灰度值进行比较,判断其差值(两幅图灰度值的相差程度)是否超出已预先设定的(两幅图灰度值的相差程度)是否超出已预先设定的阈值范围,就能判断出待检测产品缺陷是否存在。阈值范围,就能判断出待

9、检测产品缺陷是否存在。 6.2.1 瑕疵缺陷图像特点瑕疵缺陷图像特点瑕疵缺陷检测流程瑕疵缺陷检测流程6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法1. 缺陷图像的差分算法缺陷图像的差分算法 图像差分法就是图像的相减运算,实际上就是将同一景物图像差分法就是图像的相减运算,实际上就是将同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减在不同时间拍摄的图像或同一景物在不同波段的图像相减,差分后得到的结果图像提供了图像间的差异信息。图像,差分后得到的结果图像提供了图像间的差异信息。图像差分法能用于差分法能用于视频监控、运动目标检测和跟踪、图像背景视频监控、运动目标检测和跟踪、图像背景消除以及目标

10、识别消除以及目标识别等领域。等领域。 设模板图像为设模板图像为T( i, j),待检图像为,待检图像为S( i, j),匹配相减后的图,匹配相减后的图 像(称之为差分图像)为像(称之为差分图像)为D(i , j),则有:,则有:jiTjiSjiD,基于图像差分法的缺陷检测流程基于图像差分法的缺陷检测流程1)有效检测区域的设定)有效检测区域的设定 2)图像配准与剪裁)图像配准与剪裁 3)设定差分阈值)设定差分阈值 4)缺陷位置的判别)缺陷位置的判别 缺陷非缺陷 , , , ,ThjiDThjiD6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法2. 缺陷图像的特征提取与选择缺陷图像的特征提取与选择 特

11、征提取特征提取 灰度值特征灰度值特征 灰度差特征灰度差特征 直方图特征直方图特征 变换系数特征变换系数特征 线条和角点的特征线条和角点的特征 灰度边缘特征灰度边缘特征 纹理特征纹理特征 6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法(1)主成分分析()主成分分析(PCA)主成分分析方法应用线性代数中的主成分分析方法应用线性代数中的KL变换将原始特征空间映射到一变换将原始特征空间映射到一个低维的正交空间,设个低维的正交空间,设 为训练样本的为训练样本的n个个p维特征向量,这维特征向量,这时得到协方差矩阵:时得到协方差矩阵: ndd,1 1,1njiTjiddn它的前它的前 个最大的特征值及其对应的

12、特征向量分别为个最大的特征值及其对应的特征向量分别为 和和 。 e为新特征空间的基向量,维数为为新特征空间的基向量,维数为q。训练集的。训练集的 映射到新特征空间以后,得到映射到新特征空间以后,得到q维特征向量集维特征向量集 ,实,实现了特征降维,现了特征降维, , 。pqqq,1qeee,1ndd,1q,1kTkde), 1(nk 特征选择特征选择 6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法对于给定的对于给定的 矩阵矩阵X,其数据维数可以通过将其映射到一个低维,其数据维数可以通过将其映射到一个低维(r维,维,rn)的子空间而减少,这个映射由一组随机向量确定:)的子空间而减少,这个映射由一组

13、随机向量确定: (2)随机映射()随机映射(RP) nmrnnmrmRXS对于任意对于任意 与整数与整数n,设,设r为正整数,且使得:为正整数,且使得: 10nrrln324326.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法则对于则对于 中的中的n个点的集合个点的集合W,存在一个映射,存在一个映射 ,使,使得对所有的得对所有的 :dRrdRRf:Wvu, 22211vuvfufvu引理说明高维欧式空间可以映射到一个引理说明高维欧式空间可以映射到一个 维子空间,使得点维子空间,使得点间距离对于任意间距离对于任意 能近似保留。而且,这个映射可以在多能近似保留。而且,这个映射可以在多项式时间内找到。项

14、式时间内找到。 2lgnO10(3)非负矩阵分解()非负矩阵分解(NMF)非负矩阵分解方法将一个非负的矩阵非负矩阵分解方法将一个非负的矩阵 分解成左右两个非负矩分解成左右两个非负矩阵阵 和和 的乘积,使得:的乘积,使得: nmijvVrmijwW nrijhHWHV 其中其中r通常比通常比m和和n都要小得多。这样,都要小得多。这样, 就可以看作是就可以看作是对对V进行线性估计而优化了的基向量。用相对少的(进行线性估计而优化了的基向量。用相对少的(r个)基表示许个)基表示许多(多(m个)观测数据(个)观测数据(rm)。如果这些基)。如果这些基 能揭示出能揭示出隐藏在隐藏在 中的数据结构,就可获得

15、对观测数据中的数据结构,就可获得对观测数据 好的好的估计估计 。 rwwwW,21rwww,21rvvv,21iviWh6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法 灰度形态学的缺陷检测方法灰度形态学的缺陷检测方法 数学形态学是非线性图像处理中的一种重要方法,二值图数学形态学是非线性图像处理中的一种重要方法,二值图像和灰度图像处理。和二值形态学一样,灰度数学形态学像和灰度图像处理。和二值形态学一样,灰度数学形态学的基本运算也有的基本运算也有膨胀、腐蚀膨胀、腐蚀、开启和闭合,其中利用膨胀、开启和闭合,其中利用膨胀和腐蚀的组合可构成和腐蚀的组合可构成开启

16、和闭合开启和闭合,而利用开启和闭合又可,而利用开启和闭合又可构成构成形态滤波器形态滤波器。 在灰度图像的形态分析中,结构元素可以是任何的三维结在灰度图像的形态分析中,结构元素可以是任何的三维结构,构,常用的有圆锥、圆柱、半球或抛物线。模板尺寸总是常用的有圆锥、圆柱、半球或抛物线。模板尺寸总是奇数,这样模板中心正好对应一个像素。奇数,这样模板中心正好对应一个像素。 6.2.2 瑕疵缺陷检测算法瑕疵缺陷检测算法膨胀灰度图像的结果是,比背景亮的部分得到扩张,而比膨胀灰度图像的结果是,比背景亮的部分得到扩张,而比背景暗的部分受到收缩。背景暗的部分受到收缩。 腐蚀灰度图像的结果是,比背景暗的部分得到扩张

17、,而比腐蚀灰度图像的结果是,比背景暗的部分得到扩张,而比背景亮的部分受到收缩。背景亮的部分受到收缩。开启一幅图像可开启一幅图像可消除图中的孤岛或尖峰消除图中的孤岛或尖峰等过亮的点。闭合等过亮的点。闭合可将比背景暗且尺寸比结构元素小的结构除掉。可将比背景暗且尺寸比结构元素小的结构除掉。 形态滤波器是非线性信号滤波器,它通过变换来局部地修形态滤波器是非线性信号滤波器,它通过变换来局部地修改信号的几何特征。将开启和闭合结合起来可以改信号的几何特征。将开启和闭合结合起来可以消除噪声消除噪声。如果用一个小的结构元素先开启再闭合一幅图像,就有。如果用一个小的结构元素先开启再闭合一幅图像,就有可能将图像中小

18、于结构元素的类似噪声结构除去。可能将图像中小于结构元素的类似噪声结构除去。6.2.3 应用实例应用实例饮料瓶盖的缺陷检测最终要实现生产流饮料瓶盖的缺陷检测最终要实现生产流水作业上的高速质量判定,要求速度快水作业上的高速质量判定,要求速度快,并且无须确定缺陷位置。采用基于,并且无须确定缺陷位置。采用基于灰灰度直方图的特征提取度直方图的特征提取方法,对两幅待对方法,对两幅待对比的比的RGB图像(标准图与检测图)灰图像(标准图与检测图)灰度转换后进行灰度直方图统计,运用统度转换后进行灰度直方图统计,运用统计方法进行对比,得到两幅图像的特征计方法进行对比,得到两幅图像的特征差异值,阈值法判定合格与否。

19、在统计差异值,阈值法判定合格与否。在统计法对比过程中,利用灰度均值截断的技法对比过程中,利用灰度均值截断的技巧放大可能由缺陷引起的灰度差异,提巧放大可能由缺陷引起的灰度差异,提高了缺陷判定的准确度。高了缺陷判定的准确度。6.2.3 应用实例应用实例TimerBegin(time_begin);/计时开始计时开始Readimage(bottle02.bmp,rgbimage_std);/读取图像读取图像ConvertDepth24to8(rgbimage_std,rgb2grayimage_std);/24位图转成位图转成8位灰度图位灰度图Readimage(bottle11.bmp,rgbim

20、age_defect);ConvertDepth24to8(rgbimage_defect,rgb2grayimage_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);/计时结束

21、计时结束XAVIS程序代码如下:程序代码如下:6.2.3 应用实例应用实例电路板布线缺陷检测电路板布线缺陷检测 对于一幅大小为对于一幅大小为1100870、灰、灰度级为度级为256的电路板灰度图像,的电路板灰度图像,其布线缺陷分为断线和毛刺,其布线缺陷分为断线和毛刺,利用利用灰度形态学灰度形态学检测这些缺陷检测这些缺陷。取结构元素为。取结构元素为55的半球模的半球模板,首先对原图灰度开启,消板,首先对原图灰度开启,消除比邻域亮且尺寸比结构元素除比邻域亮且尺寸比结构元素小的区域;然后对原图灰度闭小的区域;然后对原图灰度闭合,消除比邻域暗且尺寸比结合,消除比邻域暗且尺寸比结构元素小的区域,两次结果

22、差构元素小的区域,两次结果差异即为缺陷。异即为缺陷。 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); /灰度膨胀灰度膨胀gray_erosion(image3,5,image4); /灰度腐蚀灰度腐蚀showimage(im

23、age4);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_e

24、rosion(Image, Size, ImageErosion);参数说明:参数说明:Image:输入灰度图:输入灰度图Size:半圆模板尺寸(:半圆模板尺寸(1-211之间的奇数)之间的奇数)ImageErosion:输出腐蚀结果图:输出腐蚀结果图6.2.3 应用实例应用实例动态阈值动态阈值函数功能:比较输入的两幅灰度图的不同,输出其比较结果函数功能:比较输入的两幅灰度图的不同,输出其比较结果调用格式:调用格式:dyn_threshold(CDib Image,CDib ImageMean,int Offset,CDib ImageOutput,CString LightDark);参数说

25、明:参数说明:Image:输入灰度图:输入灰度图1(假设其灰度值为(假设其灰度值为g_o)ImageMean:输入灰度图:输入灰度图2(假设其灰度值为(假设其灰度值为g_t)Offset:偏移量:偏移量ImageOutput:输出结果图:输出结果图LightDark:比较模式选择:比较模式选择dark:满足:满足g_og_o) | (g_og_t+offset) 的输出为白,否则为黑的输出为白,否则为黑equal; 满足满足(g_t-offset)=g_o) & (g_o=g_t+offset的输出为白,否则为黑的输出为白,否则为黑6.2.3 应用实例应用实例结果输出结果输出函数功能:限制图中

26、为白的地方,在对应位置处的输入函数功能:限制图中为白的地方,在对应位置处的输入图中标示出来图中标示出来调用格式:调用格式:show_result(CDib Image,int PenWidth,CString PenColor,CDib ImageResult);参数说明:参数说明:Image:输入灰度图:输入灰度图PenWidth:线宽(:线宽(1-3)PenColor:颜色(:颜色(6种:种:white,black,gray,red,blue,green)ImageResult:输入限制图:输入限制图6.3 划痕检测划痕检测 划痕检测是工业生产中经常遇到的问题,工业中许多设备划痕检测是工业

27、生产中经常遇到的问题,工业中许多设备的零部件是在高温、高压的环境中工作的,所受载荷复杂的零部件是在高温、高压的环境中工作的,所受载荷复杂,使用环境恶劣,故障频率高,造成的后果非常严重,因,使用环境恶劣,故障频率高,造成的后果非常严重,因此,对有关部件的缺陷、疲劳裂纹的产生、扩展进行检测此,对有关部件的缺陷、疲劳裂纹的产生、扩展进行检测就尤为必要。就尤为必要。划痕检测的基本分析过程分为两步:首先,确定检测产品划痕检测的基本分析过程分为两步:首先,确定检测产品表面是否有划痕,其次,在确定被分析图像上存在划痕之表面是否有划痕,其次,在确定被分析图像上存在划痕之后,对划痕进行提取。后,对划痕进行提取。

28、6.3.1 划痕图像的特点划痕图像的特点由于在工业检测中图像的多样性,对于每一种图像,都要由于在工业检测中图像的多样性,对于每一种图像,都要经过分析综合考虑各种手段来进行处理达到效果。一般来经过分析综合考虑各种手段来进行处理达到效果。一般来说,划痕部分的灰度值和周围正常部分相比要暗,也就是说,划痕部分的灰度值和周围正常部分相比要暗,也就是划痕部分灰度值偏小;而且,大多都是在光滑表面,所以划痕部分灰度值偏小;而且,大多都是在光滑表面,所以整幅图的灰度变化总体来说非常均匀,缺乏纹理特征。因整幅图的灰度变化总体来说非常均匀,缺乏纹理特征。因此,划痕的检测一般使用此,划痕的检测一般使用基于统计的灰度特

29、征或者阈值分基于统计的灰度特征或者阈值分割的方法割的方法将划痕部分标出。将划痕部分标出。 6.3.1 划痕图像的特点划痕图像的特点划痕的检测一般使用划痕的检测一般使用基于统计的灰度特征基于统计的灰度特征或者阈值分割的方法或者阈值分割的方法将划痕部分标出将划痕部分标出6.3.2 划痕检测算法划痕检测算法 图像中目标的标记图像中目标的标记 1)逐个点进行扫描。从左到右,如果该点的左)逐个点进行扫描。从左到右,如果该点的左上,正上和右上及左前方四个点的像素都不是上,正上和右上及左前方四个点的像素都不是目标,则把它们标为目标,则把它们标为1 2)若邻域)若邻域X3,X5被分配了同一标号,或者只被分配了

30、同一标号,或者只有其中之一有其中之一 被分配标号,则把标号分配给被分配标号,则把标号分配给X0 3)如果)如果X3,X5分配了不同的标号,则把较小的标号分配给分配了不同的标号,则把较小的标号分配给X04)利用等价表,把图像中的标号替换成等价标号中的最小标号)利用等价表,把图像中的标号替换成等价标号中的最小标号像素点的编号顺序像素点的编号顺序,X0是被运算点是被运算点6.3.2 划痕检测算法划痕检测算法 划痕特征提取与识别分类划痕特征提取与识别分类对于工业采集图像划痕提取的特征可分为两类:灰度值特征和形状对于工业采集图像划痕提取的特征可分为两类:灰度值特征和形状特征。特征。 分类:首先计算图像的

31、最低灰度值和灰度分布情况,然后分析图像分类:首先计算图像的最低灰度值和灰度分布情况,然后分析图像的灰度密度,如果图像灰度偏低,并且靠近最低灰度值的点数目比的灰度密度,如果图像灰度偏低,并且靠近最低灰度值的点数目比较多,可以认为这属于一幅缺陷很明显的图像,属于第一类划痕,较多,可以认为这属于一幅缺陷很明显的图像,属于第一类划痕,用较低的阈值来标记。如果灰度分布很均匀,同时有几个灰度偏低用较低的阈值来标记。如果灰度分布很均匀,同时有几个灰度偏低的点,而这些点的位置又比较集中,可以认为是第二类缺陷,如果的点,而这些点的位置又比较集中,可以认为是第二类缺陷,如果点的数目比较多,则属于第三类图像。点的数

32、目比较多,则属于第三类图像。 6.3.2 划痕检测算法划痕检测算法 for(i=1,8,1);CStringFormat(scratch%d.bmp,i,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)

33、;/面积选择面积选择dilation_circle(image_area,3,image_dilated);/圆模板膨胀圆模板膨胀showimage(image_dilated);sleep(3000);endfor();XAVIS程序代码如下:程序代码如下:6.3.2 划痕检测算法划痕检测算法 面积选择面积选择函数功能:选择满足面积要求的目标输出(针对黑函数功能:选择满足面积要求的目标输出(针对黑色背景白色目标的二值图)色背景白色目标的二值图)调用格式:调用格式:select_area(CDib Image,int MinArea,int MaxArea,CDib ImageSeclecte

34、d);参数说明:参数说明:Image:输入二值图(黑色背景白色目标):输入二值图(黑色背景白色目标)MinArea:最小面积:最小面积MaxArea:最大面积:最大面积ImageOutput:输出选择后的结果图:输出选择后的结果图6.3.2 划痕检测算法划痕检测算法 圆模板膨胀圆模板膨胀函数功能:采用圆模板膨胀输入图函数功能:采用圆模板膨胀输入图调用格式:调用格式:dilation_circle(CDib Image,int Size,CDib ImageDilation);参数说明:参数说明:Image:输入二值图:输入二值图Size:圆模板大小(:圆模板大小(0-211之间的奇数)之间的奇

35、数)ImageDilation:膨胀后的输出二值图:膨胀后的输出二值图对于第一类划痕,这对于第一类划痕,这种划痕从外观上较易种划痕从外观上较易辨认,同时辨认,同时灰度变化灰度变化跟周围区域对比也比跟周围区域对比也比较明显较明显。可以选择较。可以选择较小的阈值小的阈值H0,将缺陷,将缺陷部分直接标记。部分直接标记。 第一类图像缺陷标记第一类图像缺陷标记(a)原图)原图 (b)标记出的划痕)标记出的划痕(c)原图)原图 (d)标记出的划痕)标记出的划痕(a)原图)原图 (b)标记的划痕)标记的划痕(c)原图)原图 (d)标记的划痕)标记的划痕第二类图像缺陷标记第二类图像缺陷标记对于第二类划痕,部分

36、灰对于第二类划痕,部分灰度值变化并不明显,整幅度值变化并不明显,整幅图像灰度比较平均,图像灰度比较平均,划痕划痕面积也比较小面积也比较小,只有几个,只有几个像素点,灰度也只比周围像素点,灰度也只比周围图像稍低,很难分辨。可图像稍低,很难分辨。可以对原图像进行均值滤波以对原图像进行均值滤波,得到较平滑的图像,并,得到较平滑的图像,并与原图像相减,当其差的与原图像相减,当其差的绝对值大于阈值时就将其绝对值大于阈值时就将其置为目标,并对所有的目置为目标,并对所有的目标进行标记,计算其面积标进行标记,计算其面积,将面积过小的目标去掉,将面积过小的目标去掉,剩下的就标记为划痕。,剩下的就标记为划痕。 对

37、于第三类划痕,对于第三类划痕,各部分灰度差异较大各部分灰度差异较大,形状通常呈长条形,如,形状通常呈长条形,如果在一幅图像上采取固定阈值分割,则标记的缺陷部分会小于实果在一幅图像上采取固定阈值分割,则标记的缺陷部分会小于实际部分。由于这类图像的划痕狭长,单纯依靠灰度检测会将缺陷际部分。由于这类图像的划痕狭长,单纯依靠灰度检测会将缺陷延伸部分漏掉。对于这类图像,根据其特点选择双阈值和缺陷形延伸部分漏掉。对于这类图像,根据其特点选择双阈值和缺陷形状特征相结合的方法,具体如下:状特征相结合的方法,具体如下:1)选取一个较大的阈值)选取一个较大的阈值H1将划痕和背景分割开来将划痕和背景分割开来2)根据

38、分割出的缺陷来计算整幅图像上划痕的走向)根据分割出的缺陷来计算整幅图像上划痕的走向3)选取缺陷中处于两端的部分,可通过利用方向模板来计算图像上)选取缺陷中处于两端的部分,可通过利用方向模板来计算图像上划痕区域的边缘,然后对边缘追踪到其端点处划痕区域的边缘,然后对边缘追踪到其端点处4)根据追踪的轨迹得到边缘的走向)根据追踪的轨迹得到边缘的走向5)沿着划痕部分的角度作延伸,并将延伸部分灰度低于一定阈值)沿着划痕部分的角度作延伸,并将延伸部分灰度低于一定阈值H2的点也标记为待选划痕的点也标记为待选划痕6.3.3 应用实例应用实例 6.3.3 应用实例应用实例 7) 检查连线上灰度较低的点是否大于一定

39、数量检查连线上灰度较低的点是否大于一定数量N,若是则表面待,若是则表面待选划痕点可以被认为是在划痕上,可被标记为划痕选划痕点可以被认为是在划痕上,可被标记为划痕6) 在待选划痕点(在待选划痕点(x1, y1)和划痕的端点()和划痕的端点(x2, y2)之间做连线)之间做连线 。 211111xxyyxxyy (a)原图)原图 (b)标记的划痕)标记的划痕第三类图像第三类图像缺陷标记缺陷标记6.4 焊点检测与分类方法焊点检测与分类方法PCB焊点通常分为两类:合格焊点(焊点通常分为两类:合格焊点(good)和不合格焊点)和不合格焊点(bad)。而不合格焊点又分为)。而不合格焊点又分为9类:桥接焊点

40、(类:桥接焊点(bridge)、焊料过量焊点(、焊料过量焊点(too-much)、焊料不足焊点()、焊料不足焊点(too-less)、无引脚焊点(、无引脚焊点(no-lead)、空焊盘焊点()、空焊盘焊点(no-operation)、)、漏焊焊点(漏焊焊点(no-solder)、冷焊焊点()、冷焊焊点(pull-off)、拉尖焊点)、拉尖焊点(horn)、不湿润焊点()、不湿润焊点(no-wet)。)。 6.4.1 PCB焊点的分类焊点的分类焊点的俯视图与侧视图焊点的俯视图与侧视图 焊点类型焊点类型焊点特征焊点特征合格合格焊点呈圆锥状;底部焊锡饱满,上面焊锡紧裹引脚;在焊盘处,与旁边的焊点有明

41、显焊点呈圆锥状;底部焊锡饱满,上面焊锡紧裹引脚;在焊盘处,与旁边的焊点有明显的间隔(没有连接)的间隔(没有连接)拉尖拉尖焊点在顶部或者底部有明显的拉尖现象,部分焊锡不存在,球形拉尖比较多焊点在顶部或者底部有明显的拉尖现象,部分焊锡不存在,球形拉尖比较多桥接桥接桥接焊点是拉尖焊点的一种特殊情况,就是由于焊锡过多或者拉尖过大,焊点与旁边桥接焊点是拉尖焊点的一种特殊情况,就是由于焊锡过多或者拉尖过大,焊点与旁边的焊点有连接的焊点有连接焊料过量焊料过量焊点的形状近似球状,这是由于焊锡过多引起,和其他焊点没有桥接焊点的形状近似球状,这是由于焊锡过多引起,和其他焊点没有桥接焊料不足焊料不足焊料不足是由于焊

42、锡过少引起的,引脚或者焊盘处焊锡太少,底部形状跟合格焊点比焊料不足是由于焊锡过少引起的,引脚或者焊盘处焊锡太少,底部形状跟合格焊点比起来比较瘪甚至是平的,或者焊锡不能完全覆盖引脚起来比较瘪甚至是平的,或者焊锡不能完全覆盖引脚无引脚无引脚焊点没有引脚,但是有焊锡焊点没有引脚,但是有焊锡空焊盘空焊盘没有任何操作的焊点,就是既没有引脚又没有焊锡没有任何操作的焊点,就是既没有引脚又没有焊锡漏焊漏焊焊点有引脚,焊盘处没有焊锡,引脚有极少量或者没有焊锡焊点有引脚,焊盘处没有焊锡,引脚有极少量或者没有焊锡冷焊冷焊焊点焊锡形状不对称,焊锡偏向某一侧,焊球上一般有孔洞,局部有拉尖现象焊点焊锡形状不对称,焊锡偏向

43、某一侧,焊球上一般有孔洞,局部有拉尖现象不湿润不湿润焊点的引脚处焊锡没有完全包裹引脚或者与引脚分离,焊盘处焊锡没有接触焊盘或者焊点的引脚处焊锡没有完全包裹引脚或者与引脚分离,焊盘处焊锡没有接触焊盘或者没有完全覆盖焊盘没有完全覆盖焊盘焊点种类特征焊点种类特征6.4.2 焊点检测与分类算法焊点检测与分类算法 算法描述算法描述 对于一幅焊点图像,首先要将目标焊点从背景中分离对于一幅焊点图像,首先要将目标焊点从背景中分离出来,然后提取特征,再分析每个特征的均值、标准出来,然后提取特征,再分析每个特征的均值、标准方差、最大值和最小值,选择特征,最后根据所选特方差、最大值和最小值,选择特征,最后根据所选特

44、征选择分类器。征选择分类器。 6.4.2 焊点检测与分类算法焊点检测与分类算法 焊点图像处理焊点图像处理 对焊点的图像处理主要有色彩空间转换、图像滤波和图对焊点的图像处理主要有色彩空间转换、图像滤波和图像分割等步骤像分割等步骤(a)原图)原图 (b)裁切图)裁切图 (c)中值滤波)中值滤波 (d)二值化)二值化 6.4.2 焊点检测与分类算法焊点检测与分类算法 焊点特征提取与选择焊点特征提取与选择 1)亮度归一化和尺寸归一化)亮度归一化和尺寸归一化用三个变量表示一幅灰度图像:用三个变量表示一幅灰度图像: 12 , 1 , 0,1, 1 , 0,1, 1 , 0;,:,Imnbityxknjni

45、jifkkjiagek为为(i , j)点的灰度值,点的灰度值,f 为两个变量的函数。为两个变量的函数。 亮度归一化也就是把一幅图像所有像素点的灰度值除以亮度归一化也就是把一幅图像所有像素点的灰度值除以 ,其中,其中 , 。这样归一化后的图像。这样归一化后的图像的灰度值分布在的灰度值分布在 内。内。 maxmaxkfjiffji,max,max12maxnbitkmax, 0 k6.4.2 焊点检测与分类算法焊点检测与分类算法 尺寸归一化就是让一幅图像所有的像素值落在尺寸归一化就是让一幅图像所有的像素值落在-0.5,+0.5 -0.5,+0.5之间。像素值大小取决于之间。像素值大小取决于 和和

46、 ,调整公式:,调整公式: xnyn xxnniix221 yynnjjy2212)灰度调整和中值滤波)灰度调整和中值滤波(1) 灰度值特征灰度值特征1010max,1xyninjyxjiffnnMB10102maxmax,111xyninjyxfMBjifnnfVB(2) 高斯特征高斯特征yxnnjiKjinump0,:,yxnnjiKjinump0,:,1010,1xyninjyxavgjiKnnK1010,1xyninjyxavgjiHnnH1010,1xyninjyxavgjignng(4)对称连接特征)对称连接特征通过观察焊点图像,可以发现一些焊点的形状比较对称,比如通过观察焊点图像

47、,可以发现一些焊点的形状比较对称,比如good焊点、焊点、too-much焊点,而其他焊点的形状则不对称,比如焊点,而其他焊点的形状则不对称,比如pull-off焊点、焊点、bridge焊点、焊点、horn焊点,因此,焊点形状的对称焊点,因此,焊点形状的对称性也可以作为焊点的一个特征。性也可以作为焊点的一个特征。 (5)二值特征)二值特征二值图像非常直观,处理速度也较快,但是丢失了灰度信息,二值图像非常直观,处理速度也较快,但是丢失了灰度信息,所以,如果两个焊点形状相似但是亮度不同的话,就很难分开所以,如果两个焊点形状相似但是亮度不同的话,就很难分开了。可以用二值图像配合灰度图像,提高分类的准

48、确率和运算了。可以用二值图像配合灰度图像,提高分类的准确率和运算速度。速度。 6.4.2 焊点检测与分类算法焊点检测与分类算法 (3) 惯性特征惯性特征综上所述,一共提取综上所述,一共提取27个特征,个特征, ,特征的顺序可以随意排列,没有什么影响。特征的顺序可以随意排列,没有什么影响。 110,ImnFIIIFeatures特征选择特征选择检验一个特征的好坏,首先计算每类焊检验一个特征的好坏,首先计算每类焊点在这个特征上的均值、标准方差、最点在这个特征上的均值、标准方差、最大值和最小值,然后画矩形,其中矩形大值和最小值,然后画矩形,其中矩形的高度为标准方差的倒数,矩形的宽度的高度为标准方差的

49、倒数,矩形的宽度为最大值与最小值的差,矩形宽的中点为最大值与最小值的差,矩形宽的中点x坐标为均值。理想特征的表现是矩形坐标为均值。理想特征的表现是矩形很高而且没有交叉。很高而且没有交叉。 6.4.2 焊点检测与分类算法焊点检测与分类算法 , , 焊点分类焊点分类 6.4.2 焊点检测与分类算法焊点检测与分类算法 SVM方法方法 01niiiay0iani, 1 niiiiibxxKyaxf1*,sgn njijijijiniixxKyyaaaaQ1,1,21对对a求解下列函数的最大值求解下列函数的最大值 存在约束条件存在约束条件 分类函数分类函数 如何将如何将10类焊点分开,要考虑每类焊点的特

50、征,在这里,先类焊点分开,要考虑每类焊点的特征,在这里,先把焊点分成三类,第一类为把焊点分成三类,第一类为good焊点,第二类为焊点,第二类为no-operation,no-solder和和no-lead,剩下的为第三类。因为第二类焊点要,剩下的为第三类。因为第二类焊点要么没有焊锡,要么没有引脚,或者两个都没有,它们与其他么没有焊锡,要么没有引脚,或者两个都没有,它们与其他两类焊点在亮度上有明显区别,因此首先将第二类分离出来两类焊点在亮度上有明显区别,因此首先将第二类分离出来,然后用阈值分割的办法将第二类中的三种焊点分开。接下,然后用阈值分割的办法将第二类中的三种焊点分开。接下来,使用来,使用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(机器视觉技术及应用- 课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|