发明名称 生产线上大尺寸LCD玻璃基板的多视觉缺陷检测设备及方法
摘要 本发明公开了一种生产线上大尺寸LCD玻璃基板的多视觉缺陷检测设备及方法,该设备使用线扫描成像检测系统获得待检测的LCD玻璃基板的高清灰度图像,设备结构简单,操作方便;本发明方法通过对所获取图像进行处理,采用kmeans聚类方法对预处理后的LCD玻璃基板图像进行缺陷存在性判断,通过对缺陷区域进行标记,选用支持向量机SVM的分类方法,判断缺陷类别,并统计缺陷数目。通过现场总线控制系统将处理后的图像和检测结果实时地传送到工作室供值班人员查看,同时传输现场生产参数,实现系统的远程监测。
申请公布号 CN103913468B 申请公布日期 2016.05.04
申请号 CN201410125777.0 申请日期 2014.03.31
申请人 湖南大学 发明人 王耀南;李力;段峰;陈铁健;吴成中
分类号 G01N21/896(2006.01)I;G01N35/00(2006.01)I;H04L29/06(2006.01)I 主分类号 G01N21/896(2006.01)I
代理机构 长沙市融智专利事务所 43114 代理人 黄美成
主权项 一种生产线上大尺寸LCD玻璃基板的多视觉缺陷检测方法,其特征在于,采用一种生产线上大尺寸LCD玻璃基板的多视觉缺陷检测设备,该设备包括成像检测系统和总线控制系统;其中,所述成像检测系统至少包括一套成像检测装置,所述成像检测装置至少包括两个并排安装的线扫描相机(11)、一个或多个LED线光源(12)、传动控制装置(13)和检测计算机(14);所述传动控制装置(13)包括传送带(131)、接触传感器(132)、PLC(133)及PLC交互显示单元(134);所述接触传感器(132)、PLC(133)及PLC交互显示单元(134)依次相连;所述传送带受控于PLC;所述接触传感器安装于传送带一侧的固定框架上,当LCD玻璃基板随传送带到达预设位置时,接触传感器发送信号至PLC;所述线扫描相机(11)与所述检测计算机相连,并受控于PLC(133);所述线扫描相机(11)在PLC的触发控制下,获得LCD玻璃基板的灰度图像,线扫描相机的光轴垂直于LCD玻璃基板的运动平面安装,LED线光源发出的光线平面与传送带的法平面的夹角θ为5°‑10°;所述总线控制系统包括监控计算机(21)、工业以太网总线系统(23)和PROFIBUS现场总线系统(22);所述检测计算机(14)输出的图像处理结果通过工业以太网总线系统传送到位于工作站的监控计算机(21);所述用于控制传送带运动的PLC(133)通过PROFIBUS现场总线系统(22)将传送带的运行速度以及被检测玻璃基板所在位置参数传送到工作站的监控计算机(21);包括如下步骤:步骤1:实时采集生产线上LCD玻璃基板的图像;接触传感器接收到的玻璃基板达到预设位置的信号传送至PLC(133),PLC(133)触发线扫描相机进行图像采集;步骤2:对采集的生产线上的LCD玻璃基板图像进行去噪和锐化的预处理;步骤3:采用kmeans聚类方法对预处理后的LCD玻璃基板图像进行缺陷存在性判断,若当前图像存在缺陷区域,则进入步骤4,否则,结束本次缺陷检测,返回步骤1对下一幅图像进行缺陷检测;步骤4:对缺陷区域进行标记,并提取缺陷特征;步骤5:采用支持向量机SVM的分类方法,依据提取的缺陷特征进行缺陷类别识别,完成缺陷检测;所述步骤3采用kmeans聚类方法对预处理后的LCD玻璃基板图像进行缺陷存在性判断的过程包括以下具体步骤:1)首先对预处理后的LCD玻璃基板图像分成若干个8*8矩形子块g(x,y),按以下二维DCT变换公式分别对每个矩形子块g(x,y)进行离散余弦变换DCT,得到每个矩形子块g(x,y)的DCT系数C(u,v);<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>C</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mi>a</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mi>a</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><munderover><mo>&Sigma;</mo><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mi>c</mi><mi>o</mi><mi>s</mi><mo>&lsqb;</mo><mfrac><mrow><mo>(</mo><mn>2</mn><mi>x</mi><mo>+</mo><mn>1</mn><mo>)</mo><mi>u</mi><mi>&pi;</mi></mrow><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><mo>&rsqb;</mo><mi>c</mi><mi>o</mi><mi>s</mi><mo>&lsqb;</mo><mfrac><mrow><mo>(</mo><mn>2</mn><mi>y</mi><mo>+</mo><mn>1</mn><mo>)</mo><mi>v</mi><mi>&pi;</mi></mrow><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000868058570000021.GIF" wi="1430" he="150" /></maths>其中,(x,y)表示每个矩形子块中的像素点坐标,N=8,u和v均取[0,7]之间的整数,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>a</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msqrt><mrow><mn>1</mn><mo>/</mo><mi>N</mi></mrow></msqrt><mo>,</mo><mrow><mo>(</mo><mi>u</mi><mo>=</mo><mn>0</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msqrt><mrow><mn>2</mn><mo>/</mo><mi>N</mi></mrow></msqrt><mo>,</mo><mrow><mo>(</mo><mi>u</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>,</mo></mrow><mi>a</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mo>{</mo><mrow><mtable><mtr><mtd><mrow><msqrt><mrow><mn>1</mn><mo>/</mo><mi>N</mi></mrow></msqrt><mo>,</mo><mrow><mo>(</mo><mi>u</mi><mo>=</mo><mn>0</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msqrt><mrow><mn>2</mn><mo>/</mo><mi>N</mi></mrow></msqrt><mo>,</mo><mrow><mo>(</mo><mi>v</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>...</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>;</mo></mrow></mrow>]]></math><img file="FDA0000868058570000022.GIF" wi="1262" he="142" /></maths>2)计算每个矩形子块的高频系数平均值mean_high和低频系数平均值mean_low;mean_high=avg{C(u<sub>h</sub>,v<sub>h</sub>)|u<sub>h</sub>,v<sub>h</sub>∈[0,2]},mean_low=avg{C(u<sub>l</sub>,v<sub>l</sub>)|u<sub>l</sub>,v<sub>l</sub>∈[3,7]},其中,avg表示求平均值运算;3)计算出每个矩形子块在DCT域中的高频系数平均值和低频系数平均值比值ratio:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mo>=</mo><mfrac><mrow><mi>m</mi><mi>e</mi><mi>a</mi><mi>n</mi><mo>_</mo><mi>h</mi><mi>i</mi><mi>g</mi><mi>h</mi></mrow><mrow><mi>m</mi><mi>e</mi><mi>a</mi><mi>n</mi><mo>_</mo><mi>l</mi><mi>o</mi><mi>w</mi></mrow></mfrac><mo>&times;</mo><mn>100</mn><mo>;</mo></mrow>]]></math><img file="FDA0000868058570000023.GIF" wi="565" he="158" /></maths>4)利用kmeans聚类方法对每个矩形子块高频系数平均值mean_high和低频系数平均值mean_low以及二者的比值ratio所组成的三维特征量进行分类,具体步骤如下:步骤a:对每个矩形子块高频系数平均值mean_high和低频系数平均值mean_low以及二者的比值ratio分别进行归一化处理,得到每个矩形子块归一化后的三维特征向量;步骤b:按从左至右、从上到下的顺序构建所有矩形子块的归一化后的ratio直方图序列,并对直方图序列进行一阶差分计算,以小于第一设定阈值T1的差分值对应的ratio值作为直方图峰值,计算归一化后的ratio直方图峰值个数hist_peak;T1取15‑25之间的整数;步骤c:设置聚类类别数cluster=hist_peak,并随机选取一个矩形子块归一化后的三维特征向量作为聚类中心的初始值;步骤d:利用k‑means聚类方法将所有矩形子块分为cluster类,同时得到cluster个聚类中心;步骤e:从cluster个聚类中心中,删除ratio值最大和最小的两个聚类中心,将剩余的聚类中心所表示的类别作为缺陷类别;步骤f:计算所有属于各缺陷类别的矩形子块总个数count;若count小于第二阈值T2,则判定当前图像中不存在缺陷,否则,判定当前图像中存在缺陷;T2的取值为50到200之间的整数;所述步骤4中对缺陷区域进行标记,并提取缺陷特征,具体过程如下:1)依据步骤3的聚类结果,将被判断为缺陷的矩形子块中的每个像素点的像素值均置为255,将被判为非缺陷的矩形子块中每个像素点的像素值均置为0,得到二值图像;2)利用opencv轮廓查找算法提取缺陷矩形区域轮廓,并以每个缺陷区域的最小外接矩形标记缺陷区域;3)获取每个缺陷区域的轮廓位置(Px,Py),面积S,平均灰度L以及圆形度E;其中,缺陷的轮廓位置(Px,Py)是缺陷部分外接矩形的左下角点坐标;面积S为以缺陷区域最小外接矩形中不为零的像素数目;平均灰度L为缺陷区域的最小外接矩形区域中所有像素点的灰度平均值;圆形度E,<img file="FDA0000868058570000031.GIF" wi="220" he="135" />P为缺陷区域最小外接矩形的周长。
地址 410082 湖南省长沙市岳麓区麓山南路2号