基于机器视觉的玻璃表面缺陷检测装置及方法与流程

文档序号:12466253阅读:588来源:国知局
基于机器视觉的玻璃表面缺陷检测装置及方法与流程
本发明涉及机器视觉装置,具体涉及基于机器视觉的玻璃表面缺陷检测装置及方法。
背景技术
:传统的玻璃表面检测主要采用人工检测的方法。人工检测不仅工作量大,而且易受检测人员主观因素的影响,容易对玻璃表面缺陷造成漏检,尤其是变形较小、畸变不大的夹杂缺陷漏检,极大降低了玻璃的表面质量,从而不能够保证检测的效率与精度。目前,玻璃缺陷检测系统主要是利用激光检测和摩尔干涉原理的方法。激光检测易受到外界干扰,影响检测精度。摩尔干涉原理由于光栅内的莫尔条纹比较细,为保证莫尔条纹有很强的对比度,便于计算机进行分析处理,就必须要求光栅有很高的明暗对比度,通过复杂计算机图形处理技术对干涉图形进行处理,占用大量的检测时间,检测周期非常缓慢而在实际检验中并无实用效果。近年来,迅速发展的以图像处理技术为基础的机器视觉技术恰恰可以解决这一问题。机器视觉主要是采用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。专利“基于WIFI网络的玻璃缺陷检测平台”[CN105243656A]提出搭建玻璃检测流水线和玻璃特征提取设备的结构,将检测结果通过WIFI网络传送到远端,其检测装置使用红外线检测器检测玻璃的红外折射特性,并以此判断玻璃类型;使用高清摄像头拍摄玻璃图片,使用边缘检测算法实现缺陷检测。专利“基于相位图像处理的玻璃缺陷检测方法”[CN103344651A]通过光栅获取待检测玻璃表面光强呈现余弦分布的云纹图像,高速线阵摄像机采集玻璃表面的云纹图像,通过缺陷检测软件对云纹图像进行处理;该发明使用待检测玻璃的云纹相位与参考云纹相位之差是否为零来判断玻璃缺陷的存在,对光线环境要求极高,不适用于外部光线变化频繁的生产环境。专利“平面玻璃表面缺陷自动检测系统和检测方法”[CN104568977A]提出使用光源装置对玻璃进行光照补偿,然后使用摄像装置对补偿后的玻璃进行图像采集,最后使用计算机对图像进行分析处理,选取出有缺陷的玻璃。该方案并没有使用运动控制对摄像装置进行控制,也没有考虑到玻璃运行过程中的运动补偿,不适用于高速的玻璃检测过程。专利“一种玻璃表面缺陷增强装置及其检测方法”[CN104897693A]提出使用明场线光源和暗场线光源交替成像,再由智能统计系统分析其图像的表面缺陷,该方法主要用于解决传统线扫描成像系统无法检测垂直于扫描线的刮痕这一问题。上述的图像采集过程均是假定在拍摄过程中,玻璃是静止不动的。而在实际生产中,由于玻璃是装载在运动带上,而机器运动并非完全的理想化,尤其是一些像玻璃表面缺陷检测这种对精度要求比较高的工艺,其拍摄过程往往会出现不可接受的误差,需要在检测算法精度方面进行进一步的细化。其次,上述发明均没有考虑图像采集过程的自动控制方案,然而实际生产中,图像采集模块必须由运动控制模块加以控制,方可实现玻璃表面缺陷的自动检测。最后,上述公开文献均没有提出一种可行的玻璃表面缺陷检测装置结构。技术实现要素:本发明目的在于克服现有技术的不足,尤其解决现有的玻璃表面检测技术的图像采集过程没有运动控制,且检测精度不高的问题。提供一种基于机器视觉的玻璃表面检测装置,该检测装置通过运动控制来实现图像的自动采集,保证了采集过程的自动完成,使得检测结果更加智能。本发明的另一个目的在于提供一种应用上述玻璃表面缺陷检测的机器视觉方法,该方法实现了检测算法精度的进一步细化,使得检测结果更为准确。为解决上述问题,本发明采用如下的技术方案:一种基于机器视觉的玻璃表面缺陷检测装置,其特征在于,该检测装置包括检测台和检测系统,其中:所述检测台包括用于装夹待检测玻璃的工作台、支承在所述工作台上的支柱、在所述立柱上方的安装板、设在工作台上的运动机构、设在工作台底部的LED光源和CCD相机,其中,所述的运动机构由分别支撑在工作台两侧的两个同步带、与同步带相连的驱动电机组成;所述的CCD相机悬吊于所述的安装板上,且CCD相机镜面朝所述工作台的台面;所述检测系统包括图像采集模块、运动控制模块以及上位计算机,其中:所述的图像采集模块包括图像采集卡和所述的CCD相机,其中,所述图像采集卡控制CCD相机采集装夹在工作台上的待检测玻璃的图像,并将所采集到的图像上传至上位计算机;所述的运动控制模块包括运动控制卡,该运动控制卡收到上位计算机的指令后,控制所述的驱动装置驱动工作台上的同步带运动;所述的上位计算机不断地扫描与所述运动控制卡连接的端口,当检测到所述的工作台有玻璃经过时,向图像采集卡发送采集待检测玻璃图像的指令;然后,所述的上位计算机对采集到的图像进行处理和识别,并算出待检测玻璃的表面缺陷及相关参数。本发明的基于机器视觉的玻璃表面缺陷检测装置,所述的驱动装置包括驱动电机和同步带传动机构,其中,所述的驱动电机与所述的运动控制卡连接,该驱动电机主轴与同步带传动机构中的主动带轮连接。进一步地,所述工作台的一侧设有立柱,立柱上方设有安装板;所述CCD相机设置于安装板上。进一步地,所述CCD相机与工作台之间设有检测模块,该检测模块包括设在CCD相机上的红外线感应装置和设在工作台上的红外线发射装置,所述红外线发射装置和红外感应装置通过RS485串口与运动控制卡相连接。本发明的一种基于机器视觉的玻璃表面缺陷检测方法,包括以下步骤:(1)图像采集:当玻璃经过红外线发射装置时,红外感应装置发射信号至运动控制卡,运动控制卡发送信号至上位计算机,上位计算机向图像采集卡发送采集待检测玻璃图像的指令;CCD相机在图像采集卡的驱动下进行图像采集,图像采集卡将图像传输到上位计算机进行图像处理;(2)图像处理:由上位计算机中的图像处理模块对图像进行处理,以提取玻璃图像中的边缘信息,供图像识别模块使用;(3)图像识别:上位计算机中的图像识别模块对图像处理得到的边缘图像进行识别,并算出待检测玻璃的表面缺陷及相关参数。本发明的基于机器视觉的玻璃表面缺陷检测方法中,在步骤(2)中,所述图像处理包括、图像二值化、图像去噪声、图像像素级边缘检测以及图像亚像素边缘检测,其中:图像标定:将CCD相机生成的图像还原为真实比例;图像二值化:将图像的前景与背景进行分割;图像去噪声:去除图像中目标零件周围的噪声;图像像素级边缘检测:检测出图像中目标零件的边缘;图像亚像素边缘检测:在图像像素级边缘检测的基础上,进一步将边缘定位到像素内部。进一步地,所述图像亚像素边缘检测使用基于三次样条插值的矩形透镜法进行。本发明的基于机器视觉的玻璃表面缺陷检测方法中,在步骤(3)中,所述图像识别包括缺陷面积计算、缺陷周长计算、缺陷类别识别,其中:缺陷面积计算:计算每个缺陷区域的面积;缺陷周长计算:计算缺陷区域的外边缘周长;缺陷类别识别:识别缺陷的种类,如杂质、气泡、裂纹等。附图说明图1是本发明的基于机器视觉的玻璃表面缺陷检测装置的一个具体实施例的结构示意图。图2是本发明的一个具体实施例的检测系统的结构框图。图3为本发明的一个具体实施方式中运动控制模块的工作流程图。图4为本发明的一个具体实施方式中图像处理模块的工作流程图。具体实施方式下面结合附图及具体实施例对本发明进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。参见图1,本发明的基于机器视觉的玻璃表面缺陷检测装置由检测台和检测系统构成,其中:所述检测台包括用于装夹待检测玻璃的工作台10、支承在所述工作台上的支柱7、在所述立柱上方的安装板8、设在工作台上的运动机构和设在工作台底部的LED光源13、CCD相机9,其中,所述的运动机构由在工作台两侧的同步带传动机构、与同步带相连的驱动电机4组成;所述的CCD相机9悬吊于所述的安装板8上,且CCD相机镜面朝所述工作台10的台面;所述检测系统包括图像采集模块、运动控制模块以及上位计算机1,其中:所述的图像采集模块包括图像采集卡2和所述的CCD相机9,其中,所述图像采集卡2控制CCD相机9采集装夹在工作台10上的待检测玻璃的图像,并将经过设在工作台底部的LED光源13所采集到的图像上传至上位计算机1。工作时,在图像采集卡2上预设好曝光时间,扫描过程中将CCD相机9产生的数据进行采集,扫描完成后将图像传输到上位计算机1进行图像处理。参见图3,所述的运动控制模块包括运动控制卡3、红外线发射装置5和红外感应装置11,该运动控制卡3收到上位计算机1的指令后控制所述的驱动装置驱动电机4进行运动。参见图1,所述的上位计算机1不断地扫描与所述运动控制卡3连接的端口,当玻璃经过红外线发射装置5时,安装在CCD相机9旁的红外感应装置11发射信号至运动控制卡3,运动控制卡3发送信号至上位计算机1,上位计算机1向图像采集卡2发送采集待检测玻璃图像的指令。参见图1,所述的驱动装置包括驱动电机4和同步带传动机构,其中,所述的驱动电机4与所述的运动控制卡3连接,该驱动电机4主轴与同步带传动机构中的主动带轮6连接;所述驱动电机4采用步进电机。上述驱动装置中,由驱动电机4驱动同步带传动机构运动,同步带12带动装夹在工作台10上的待检测玻璃在直线方向上运动,使得CCD相机9能够实现图像采集。如图1-4所示,本发明的一种基于机器视觉的玻璃表面缺陷检测方法,具体包括以下步骤:(1)图像采集:如图3所示,当玻璃经过红外线发射装置5时,安装在CCD相机9旁的红外感应装置11发射信号至运动控制卡3,运动控制卡3发送信号至上位计算机1,上位计算机1向图像采集卡2发送采集待检测玻璃图像的指令;CCD相机9在图像采集卡2的驱动下进行图像采集,图像采集卡2将图像传输到上位计算机1进行图像处理;(2)图像处理:参见图4,由于CCD相机9的特性,其产生的图像与实际图像的比例可能存在偏差,需要对图片进行预处理,具体包括以下过程:(2.1)图像标定:将CCD相机9生成的图像还原为真实比例,过程为:1)计算标准件图像的X向长度ΔDx与Y向长度ΔDy,进一步计算出标定系数Ccal:Ccal=ΔDyΔDx---(1)]]>2)根据标定系数Ccal对需要标定的线扫描图像的Y向像素点灰度值进行双线性插值,即可得到以X向的像素点间距为基准的标定图像。(2.2)图像二值化:标定完成后,用最大类间方差法进行图像二值化,将图像的前景与背景进行分割,过程为:1)设图像共有L个灰度级,灰度值为i的像素点共有ni个,图像共有N个像素点,归一化灰度直方图,令2)设定一个阈值t,根据灰度值将像素点分成c0和c1两类。c0的概率ω0、均值μ0:ω0=Σi=0tPi=ω(t)---(2)]]>μ0=Σi=0ti×Piω0=μ(t)ω(t)---(3)]]>c1的概率ω1、均值μ1:ω1=Σi=t+1L-1Pi=1-ω(t)---(4)]]>μ1=Σi=t+1L-1i×Piω1=μ-μ(t)1-ω(t)---(5)]]>其中,由此可知c0和c1的类间方差σ2(t)为:σ2(t)=ω0(μ-μ0)2+ω1(μ1-μ)2(6)于是将t从0到i进行取值,当σ取最大值时t为最佳阈值,即可得到最佳的二值化图像。(2.3)图像去噪声:使用团块面积阈值法进行图像滤波去噪声,去除图像中目标零件周围的噪声,过程为:采用二值数学形态学中的连通组元提取算法来求取团块的面积,小于阈值的团块为噪声,将该团块的像素点灰度值都设成255即可去除噪声。(2.4)图像像素级边缘检测:对二值图像用数学形态学方法进行边缘检测,检测出图像中目标零件的边缘,过程为:1)腐蚀的算符为Θ,集合A被集合B腐蚀定义为:AΘB={x|(B)x⊆A}---(7)]]>2)膨胀的算符为集合A被集合B膨胀定义为:采用膨胀腐蚀型梯度算子,即用膨胀后的图像减去腐蚀后的图像,即可得到图像中的边缘。由于此时的边缘不是单像素宽连通的,还需要再用区域骨架提取算法对边缘进行细化。3)设B是图像,S(A)代表A的骨架,B是结构元素,则:S(A)=∪k=0KSk(A)---(9)]]>其中,K表示将A腐蚀成空集前的迭代次数,即:Sk(A)称为骨架子集,可写为:AΘkB表示连续k次用B对A进行腐蚀。(2.5)图像亚像素边缘检测:在图像像素级边缘检测的基础上,进一步将边缘定位到像素内部,具体是使用基于三次样条插值的矩形透镜法进行亚像素边缘检测,过程为:1)使用9X9pixel的矩形透镜,定义矩形透镜内过中心点的垂直方向为0方向,过中心点的45°方向为1方向,过中心点的水平方向为2方向,过中心点的-45°方向为3方向。像素点灰度值差值的绝对值之和Ei的计算公式为:Ei=Σj=08|Pj+1-Pj|,(i=0,1,2,3)---(12)]]>分别计算0、1、2、3方向的像素点灰度值差值的绝对值之和,Ei值最小的方向为边缘方向,与边缘方向垂直的方向即为灰度值梯度方向,提取灰度值梯度方向上各像素点的灰度值和坐标值。2)使用构造好的三次样条函数S(x),以像素点在矩形透镜内灰度值梯度。方向上的坐标为自变量x′j=j(j=0,1,...8),像素点灰度值为函数值f(x′j)=pj(j=0,1,...8)进行三次样条插值,可求得三次样条函数的二阶导数S″(x′),S″(x′)=0处一阶导数取极值,因此求得S″(x′)的零值点x′jmax,x′jmax=x′jmaxpixel+x′jmaxsubpixel(13)其中x′jmaxpixel为x′jmax的整数部分,灰度值梯度方向亚像素坐标x′jmaxsubpixel为x′jmax的小数部分。由此可求出图像坐标系中的坐标(x,y),其亚像素坐标(xsubpixel,ysubpixel)计算公式为:0方向:xsubpixel=xysubpixel=y+xjmax′subpixel---(14)]]>1、3方向:2方向:{xsubpixel=x+xjmax′subpixelysubpixel=y---(16)]]>使用传统的边缘检测方法,检测出来的图像边缘点的坐标(x,y)属图像坐标系中的整点,即x和y的精度最高都只能达到像素级,对应于图像中的单个像素。这样的检测结果只能显示图像的边缘点存在于那些像素点内,而不能更精确地检测出边缘到底位于该像素点的哪个位置,检测精度只能达到像素级。但图像边缘可以存在于像素点的任何位置,像素级边缘检测方法的误差最大可达到0.5个像素。而使用上述基于三次样条插值的矩形透镜法进行计算后所得的亚像素坐标(xsubpixel,ysubpixel),x和y的精度能达到小数点后一位甚至两位。亚像素相当于将原本的单个像素进行细分,拆分成比像素还小的多个单位。算法计算所得亚像素的坐标,能更精确的检测到图像边缘位于单个像素的哪个位置,将图像检测精度从像素级提升到亚像素级。在摄像系统硬件条件不变的情况下,用软件算法提高边缘检测精度。(3)图像识别:上位计算机中的图像识别模块对图像处理得到的边缘图像进行识别,并算出待检测玻璃的表面缺陷及相关参数。具体包括以下过程:(3.1)缺陷参数计算:包括计算每个缺陷区域的面积、高度、宽度,过程为:根据二值化后的玻璃图像,统计所有缺陷区域内白色的像素点个数,其中某个缺陷区域S1的白色像素点累计个数为NS1,则其缺陷区域的面积AS1的计算公式为:AS1=NS1N×A---(14)]]>A表示图像的面积,N表示图像的像素点总数。对图像使用横向扫描,获取到的最大边界即为缺陷区域的高度H;对图像使用纵向扫描,获取到的最大边界即为缺陷区域的宽度W。(3.3)缺陷类别识别:识别缺陷的种类,如杂质、气泡、裂纹等,过程为:其中一种优选方案为通过所得到的缺陷区域参数进行统计,分别使用亮度、长宽比两个参数实现缺陷类别的识别,首先使用亮度进行判断,杂质的亮度较低、而气泡的亮度较高,裂纹的亮度则介于两者之间,通过统计大量缺陷的亮度设定两个阈值a1和a2,当缺陷区域平均亮度<a1时,该缺陷区域为杂质;当缺陷区域平均亮度位于[a1,a2]时,该缺陷区域为裂纹;当缺陷区域平均亮度>a2时,该缺陷区域为气泡。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1