基于机器视觉的镜片表面缺陷智能检测系统及其实现方法

文档序号:10532836阅读:746来源:国知局
基于机器视觉的镜片表面缺陷智能检测系统及其实现方法
【专利摘要】本发明涉及一种基于机器视觉的镜片表面缺陷智能检测系统及其实现方法,该包括图像采集单元、PC机、数据处理单元、机械手单元以及传送单元;所述图像采集单元的输出端与所述PC机的输入端相连,用以将采集到的镜片缺损图像传输至所述PC机;所述PC机的输出端与所述数据处理单元的输入端相连,所述数据处理单元的输出端与所述机械手单元以及所述传送单元相连。本发明中的PC机利用 Matlab 进行缺陷识别算法的开发,判断镜片是否存在缺陷,将数据传送至单片机,通过单片机与机械手将缺陷镜片剔除,并在人机可视化界面上显示缺陷,从而实现机器视觉在线检测。
【专利说明】
基于机器视觉的镜片表面缺陷智能检测系统及其实现方法
技术领域
[0001] 本发明涉及镜片检测领域,特别是涉及一种基于机器视觉的镜片表面缺陷智能检 测系统及其实现方法。
【背景技术】
[0002] 当前国内大多数镜片生产企业采用的人工抽样进行质量检测,这种方法质检过程 效率低,质检的结果精度差,更有下列几个严重的缺陷:(1)容易出现漏检的情况,长时间的 重复劳动,人眼极易疲劳,常导致废品漏检,给镜片厂家及使用单位带来严重损失,造成极 坏的社会影响;(2)无法保证统一的质量标准,人工检查时,合格与否是检查者根据感觉主 观判断的,不同的人甚至同一人在不同的状态下的判断标准很难做到统一;(3)人工检测的 数据记录存储非数字化,无法实现检测结果的数据实时共享。
[0003] 所以设计一种镜片表面缺损自动检测系统,克服传统检测的弊端,基于机器视觉 开发缺陷识别算法,能够大幅提高检测效率、精确度及自动化程度,同时还能够减少大量劳 动力,降低检测工作对工人眼睛的伤害,是十分有意义的。

【发明内容】

[0004] 有鉴于此,本发明的目的是提供一种基于机器视觉的镜片表面缺陷智能检测系统 及其实现方法,利用Matlab进行缺陷识别算法的开发,判断是否有缺陷,将数据传送至单片 机,通过单片机与机械手将缺陷镜片剔除,并在人机可视化界面上显示缺陷,从而实现机器 视觉在线检测。
[0005] 本发明采用以下方案实现:一种基于机器视觉的镜片表面缺陷智能检测系统,包 括图像采集单元、PC机、数据处理单元、机械手单元以及传送单元;所述图像采集单元的输 出端与所述PC机的输入端相连,用以将采集到的镜片缺损图像传输至所述PC机;所述PC机 的输出端与所述数据处理单元的输入端相连,所述数据处理单元的输出端与所述机械手单 元以及所述传送单元相连。
[0006] 进一步地,所述图像采集单元包括工业摄像头,所述工业摄像头通过USB接口与所 述PC机相连,所述工业摄像头设置于传送带上方。
[0007] 进一步地,所述数据处理单元包括一 Arduino单片机模块以及与其相连的一用以 检测镜片的光电传感器以及一继电器模块,所述Ar du i no单片机模块与所述PC机的输出端 相连,所述光电传感器设置于传送带的一侧。
[0008] 进一步地,所述传送单元包括一用以输送镜片移动的传送带、一用以控制传送带 转到的电机以及一电机控制器;所述电机控制器的输入端与继电器模块的输出端相连,所 述电机控制器的输出端与所述电机相连,所述电机与所述传送带相连。
[0009] 进一步地,所述机械手单元包括相互相连的一舵机与一舵机杆,所述舵机与 Arduino单片机模块相连,所述舵机与舵机杆均设置于传送带的一侧。
[0010] 特别地,所述舵机杆可采用吸盘吸起存在缺陷的镜片,移动到传送带的一侧的回 收盒上方,吸盘放气后镜片掉落到回收盒内。
[0011] 本发明还采用以下方法实现:一种基于机器视觉的镜片表面缺陷智能检测系统的 实现方法,包括以下步骤:
[0012] 步骤SI:所述数据处理单元中的光电传感器检测到镜片到达工业摄像头的镜头底 下时,向所述Arduino单片机的第一数字口输入高电平;
[0013] 步骤S2:所述Arduino单片机得到所述光电传感器的信号后,通过第二数字口输出 低电平至舵机,并控制传送带停止工作;
[0014] 步骤S3:所述Arduino单片机发送信号"Γ至PC机,所述PC机对接收到的镜片图像 进行处理,若镜片图像检测出缺陷,则所述PC机发送信号"2"至所述Arduino单片机,所述 Arduino单片机控制舵机运动,舵机带动舵机杆转动,将存在缺陷的镜片从传送带上移出; 若镜片图像未检测出缺陷,则所述PC机发送信号"3"至所述Arduino单片机,所述Arduino单 片机读取到信号"3",控制传送带继续运动。
[0015] 进一步地,所述PC机包括MATLAB图像处理程序及其人机交互界面;所述MATLAB图 像处理程序将采集到的镜片图像采用滤波与二值化进行预处理去除图像噪声,并采用 Canny算法进行镜片边缘检测,再采用图像相减法对镜片表面边界区域进行消除,后续提取 边界内部的几何特征,最后进行镜片缺陷识别与缺陷标记。
[0016] 进一步地,所述预处理中,采用均值滤波对采集到的图像先进行均值滤波以及中 值滤波处理,用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一 个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前 像素点(x,y),作为处理后图像在该点上的灰度;再采用二值形态学消除图像噪声,对于二 值图像采用结构元素对集合进行开启操作将目标周围的噪声块消除掉,采用结构元素对集 合进行闭合操作将内部的噪声孔消除掉。
[0017] 进一步地,所述Canny算法具体包括以下步骤:
[0018] 步骤S21:用二维高斯函数的一阶导数对图像进行平滑,设二维高斯函数为:
[0019]
[0020]
[0021]
[0022] 用分解的方法提高速度,将提付矢量分解为2个一维的行滤波器:
[0023]
[0024]
[0025] 其中,k为常数,〇为高斯滤波器参数,用以控制平滑程度;
[0026] 步骤S22:采用2X2邻域一阶偏导的有限差分计算平滑后的数据阵列I(x,y)的梯 度幅值和梯度方向,其中,X和y方向偏导数的2个阵列和分别为
[0027] Px(i,j) = (I(i,j+l)-I(i,j)+I(i+l,j+l)-I(i+l,j))/2
[0028] Py(i,j) = (I(i,j)-I(i+l,j)+I(i,j+l)-I(i+l,j+l))/2
[0029] 梯度和幅值方向如下式:
[0030]
[0031] θ(?, j)=arctan(Py(i, j)/Px(i, j));
[0032] 步骤S23:对梯度幅值进行极大值抑制:细化梯度幅值图像M( i,j)中的屋脊带,只 保留幅值局部变化最大的点,用以精确定位边缘;
[0033] 步骤S24:检测和连接边缘:使用双阀值算法,将图像进行分割,分成两个高、低阀 值边缘图像Th(i,j) J1(Lj),利用递归跟踪的算法不断在低阀值边缘图中搜集 边缘,补充高阀值边缘Th(i,j)形成的轮廓的空隙。
[0034] 进一步地,所述镜片缺陷识别与缺陷标记中,所述镜片缺陷目标包括颗粒物、划伤 以及气泡,提取镜片缺陷区域的形状特征参数,包括面积和周长,并计算镜片缺陷的圆形度 和长宽比;根据镜片缺陷的圆形度值和长宽比区分气泡与划伤,根据镜片缺陷的面积和周 长区分颗粒物。
[0035] 与现有技术相比,本发明具有如下优点:
[0036] (1)将工业相机、Matlab和单片机结合使用,通过对缺损图像的分析来判断镜片表 面是否有缺陷,克服传统检测的弊端,能够大幅提高检测效率、精确度及自动化程度有利 于;
[0037] (2)通过单片机进行数据处理,控制传送带运送镜片,通过光电传感器检测镜片的 位置,能够减少大量劳动力,降低检测工作对工人眼睛的伤害。
[0038] (3)在能满足设计要求条件下选用市面最常用元件,并采用自动采集自动处理方 式,减少人工操作按键,具有制造成本低、操作简便、体积小等优点。
【附图说明】
[0039]图1是本发明的系统原理框图。
[0040] 图2是本发明的电路原理图。
[0041] 图3是本发明的系统结构示意图。
[0042] 图中:1一工业摄像头,2-舵机,3-传送带,4一Arduino单片机,5-PC机。
【具体实施方式】
[0043] 下面结合附图及实施例对本发明做进一步说明。
[0044] 本实施例提供一种基于机器视觉的镜片表面缺陷智能检测系统,如图1所示,包括 图像采集单元、PC机、数据处理单元、机械手单元以及传送单元;所述图像采集单元的输出 端与所述PC机的输入端相连,用以将采集到的镜片缺损图像传输至所述PC机;所述PC机的 输出端与所述数据处理单元的输入端相连,所述数据处理单元的输出端与所述机械手单元 以及所述传送单元相连。
[0045] 在本实施例中,所述图像采集单元包括工业摄像头,所述工业摄像头通过USB接口 与所述PC机相连,所述工业摄像头设置于传送带上方。
[0046]在本实施例中,如图2所示,所述数据处理单元包括一Arduino单片机模块以及与 其相连的一用以检测镜片的光电传感器以及一继电器模块,所述Arduino单片机模块与所 述PC机的输出端相连,所述光电传感器设置于传送带的一侧。
[0047]在本实施例中,所述传送单元包括一用以输送镜片移动的传送带、一用以控制传 送带转到的电机以及一电机控制器;所述电机控制器的输入端与继电器模块的输出端相 连,所述电机控制器的输出端与所述电机相连,所述电机与所述传送带相连。
[0048]在本实施例中,所述机械手单元包括相互相连的一舵机与一舵机杆,所述舵机与 Arduino单片机模块相连,所述舵机与舵机杆均设置于传送带的一侧。
[0049] 在本实施例中,特别地,所述舵机杆可采用吸盘吸起存在缺陷的镜片,移动到传送 带的一侧的回收盒上方,吸盘放气后镜片掉落到回收盒内。
[0050] 在本实施例中,如图3所示,一种基于机器视觉的镜片表面缺陷智能检测系统的 实现方法,包括以下步骤:
[0051]步骤SI:所述数据处理单元中的光电传感器检测到镜片到达工业摄像头的镜头底 下时,向所述Arduino单片机的第一数字口输入高电平;
[0052]步骤S2:所述Arduino单片机得到所述光电传感器的信号后,通过第二数字口输出 低电平至舵机,并控制传送带停止工作;
[0053]步骤S3:所述Arduino单片机发送信号"Γ至PC机,所述PC机对接收到的镜片图像 进行处理,若镜片图像检测出缺陷,则所述PC机发送信号"2"至所述Arduino单片机,所述 Arduino单片机控制舵机运动,舵机带动舵机杆转动,将存在缺陷的镜片从传送带上移出; 若镜片图像未检测出缺陷,则所述PC机发送信号"3"至所述Arduino单片机,所述Arduino单 片机读取到信号"3",控制传送带继续运动。
[0054]在本实施例中,所述PC机包括MATLAB图像处理程序及其人机交互界面;所述 MATLAB图像处理程序将采集到的镜片图像采用滤波与二值化进行预处理去除图像噪声,并 采用Canny算法进行镜片边缘检测,再采用图像相减法对镜片表面边界区域进行消除,后续 提取边界内部的几何特征,最后进行镜片缺陷识别与缺陷标记。
[0055] 在本实施例中,所述预处理中,采用均值滤波对采集到的图像先进行均值滤波以 及中值滤波处理,用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选 择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋 予当前像素点(x,y),作为处理后图像在该点上的灰度;再采用二值形态学消除图像噪声, 对于二值图像采用结构元素对集合进行开启操作将目标周围的噪声块消除掉,采用结构元 素对集合进行闭合操作将内部的噪声孔消除掉。
[0056] 在本实施例中,所述Canny算法具体包括以下步骤:
[0057] 步骤S21:用二维高斯函数的一阶导数对图像进行平滑,设二维高斯函数为:
[0061] 用分解的方法提高速度,将提付矢量分解为2个一维的行滤波器:
[0058]
[0059]
[0060]
[0062]
[0063]
[0064] 其中,k为常数,〇为高斯滤波器参数,用以控制平滑程度;
[0065] 步骤S22:采用2X2邻域一阶偏导的有限差分计算平滑后的数据阵列I(x,y)的梯 度幅值和梯度方向,其中,X和y方向偏导数的2个阵列和分别为
[0066] Px(i,j) = (I(i,j+l)-I(i,j)+I(i+l,j+l)-I(i+l,j))/2
[0067] Py(i,j) = (I(i,j)-I(i+l,j)+I(i,j+l)-I(i+l,j+l))/2
[0068] 梯度和幅值方向如下式:
[0069]
[0070] θ(?, j)=arctan(Py(i, j)/Px(i, j));
[0071 ]步骤S23:对梯度幅值进行极大值抑制:细化梯度幅值图像M( i,j)中的屋脊带,只 保留幅值局部变化最大的点,用以精确定位边缘;
[0072] 步骤S24:检测和连接边缘:使用双阀值算法,将图像进行分割,分成两个高、低阀 值边缘图像Th(i,j) J1(Lj),利用递归跟踪的算法不断在低阀值边缘图中搜集 边缘,补充高阀值边缘Th(i,j)形成的轮廓的空隙。
[0073] 在本实施例中,所述镜片缺陷识别与缺陷标记中,基于镜片图像分割的结果,根据 镜片主要缺陷目标(颗粒物、划伤、气泡)的二值图像和边缘图像,提取出用来描述树脂镜片 外观质量缺陷的形状特征参数(面积和周长),然后计算出镜片缺陷的圆形度和长宽比这两 个主要特征参数,组成特征矢量,对于不同形状的缺陷区域,这些特征参数各不相同。其中, 镜片表面缺陷提取特征的因为颗粒物缺陷表现为狄度突变点,而划伤缺陷则表现为比较细 长,气泡缺陷一般表现为圆型或椭圆型。因此,对于镜片气泡缺陷而言,其圆形度的值比划 伤的圆形度值要大的多,而长宽比值则较划伤的长宽比值小,划伤的特征参数值恰恰与此 相反,颗粒物的面积相比较而言比较小,灰度梯度大,因此基于镜片缺陷的圆形度值和长宽 比值就可以将缺陷中的气泡与划伤区分开来,而基于镜片缺陷的面积周长则可以区分颗粒 物。
[0074] 在本实施中,所述人机交互界面为matlab GUI界面,其在Matlab程序开发中起着 举足轻重的作用,它有别于传统的VC、JAVA或者Delphi的界面开发方式,作为一个数学运算 能力很强的软件,Matlab的运算结果通常是用图形来表示的,GUI的使用更易于图形表现的 多元化,在数字图像处理中更加的方便、直观。
[0075]因此镜片缺陷检测的图像处理基于⑶I的平台进行操作的,可看到⑶I的界面以及 算法最终运行的结果。
[0076]在本实施例中,该系统以机器视觉和图像处理技术为基础,针对缺陷不同的灰度 特征,采用缺陷识别算法进行镜片表面缺损检测。通过USB工业摄像头采集缺损图像,并通 过MATLAB程序滤波得到灰度增强图像,然后分割图像与背景,进而提取和识别缺陷特征,开 发了人机交互界面,结合了缺陷剔除机构和传送装置,提供信息统计功能,达到了代替人工 检测识别镜片表面缺损的目的。
[0077]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与 修饰,皆应属本发明的涵盖范围。
【主权项】
1. 一种基于机器视觉的镜片表面缺陷智能检测系统,其特征在于:包括图像采集单元、 PC机、数据处理单元、机械手单元以及传送单元;所述图像采集单元的输出端与所述PC机的 输入端相连,用以将采集到的镜片缺损图像传输至所述PC机;所述PC机的输出端与所述数 据处理单元的输入端相连,所述数据处理单元的输出端与所述机械手单元以及所述传送单 元相连。2. 根据权利要求1所述的一种基于机器视觉的镜片表面缺陷智能检测系统,其特征在 于:所述图像采集单元包括工业摄像头,所述工业摄像头通过USB接口与所述PC机相连,所 述工业摄像头设置于传送带上方。3. 根据权利要求1所述的一种基于机器视觉的镜片表面缺陷智能检测系统,其特征在 于:所述数据处理单元包括一 Arduino单片机模块以及与其相连的一用以检测镜片的光电 传感器以及一继电器模块,所述Ar du ino单片机模块与所述PC机的输出端相连,所述光电传 感器设置于传送带的一侧。4. 根据权利要求1所述的一种基于机器视觉的镜片表面缺陷智能检测系统,其特征在 于:所述传送单元包括一用以输送镜片移动的传送带、一用以控制传送带转到的电机以及 一电机控制器;所述电机控制器的输入端与继电器模块的输出端相连,所述电机控制器的 输出端与所述电机相连,所述电机与所述传送带相连。5. 根据权利要求1所述的一种基于机器视觉的镜片表面缺陷智能检测系统,其特征在 于:所述机械手单元包括相互相连的一舵机与一舵机杆,所述舵机与Arduino单片机模块相 连,所述舵机与舵机杆均设置于传送带的一侧。6. -种根据权利要求3所述的基于机器视觉的镜片表面缺陷智能检测系统的实现方 法,其特征在于:包括以下步骤: 步骤Sll:所述数据处理单元中的光电传感器检测到镜片到达工业摄像头的镜头底下 时,向所述Arduino单片机的第一数字口输入高电平; 步骤S21:所述Arduino单片机得到所述光电传感器的信号后,通过第二数字口输出低 电平至舵机,并控制传送带停止工作; 步骤S31:所述Arduino单片机发送信号"Γ至PC机,所述PC机对接收到的镜片图像进行 处理,若镜片图像检测出缺陷,则所述PC机发送信号"2"至所述Arduino单片机,所述 Arduino单片机控制舵机运动,舵机带动舵机杆转动,将存在缺陷的镜片从传送带上移出; 若镜片图像未检测出缺陷,则所述PC机发送信号"3"至所述Arduino单片机,所述Arduino单 片机读取到信号"3",控制传送带继续运动。7. 根据权利要求6所述的一种基于机器视觉的镜片表面缺陷智能检测系统的实现方 法,其特征在于:所述PC机包括MATLAB图像处理程序及其人机交互界面;所述MATLAB图像处 理程序将采集到的镜片图像采用滤波与二值化进行预处理去除图像噪声,并采用Canny算 法进行镜片边缘检测,再采用图像相减法对镜片表面边界区域进行消除,后续提取边界内 部的几何特征,最后进行镜片缺陷识别与缺陷标记。8. 根据权利要求7所述的一种基于机器视觉的镜片表面缺陷智能检测系统的实现方 法,其特征在于:所述预处理中,采用均值滤波对采集到的图像先进行均值滤波以及中值滤 波处理,用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模 板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素 点(x,y),作为处理后图像在该点上的灰度;再采用二值形态学消除图像噪声,对于二值图 像采用结构元素对集合进行开启操作将目标周围的噪声块消除掉,采用结构元素对集合进 行闭合操作将内部的噪声孔消除掉。9. 根据权利要求7所述的一种基于机器视觉的镜片表面缺陷智能检测系统的实现方 法,其特征在于:所述Canny算法具体包括以下步骤: 步骤S21:用二维高斯函数的一阶导数对图像进行平滑,设二维高斯函数为: 其梯度矢量为:用分解的方法提高速度,将提付矢量分解为2个一维的行滤波器:其中,k为常数,〇为高斯滤波器参数,用以控制平滑程度; 步骤S22:采用2Χ 2邻域一阶偏导的有限差分计算平滑后的数据阵列I(x,y)的梯度幅 值和梯度方向,其中,X和y方向偏导数的2个阵列和分别为θ(? , j)=arctan(Py(i, j)/Px(i, j)); 步骤S23:对梯度幅值进行极大值抑制:细化梯度幅值图像M( i,j)中的屋脊带,只保留 幅值局部变化最大的点,用以精确定位边缘; 步骤S24:检测和连接边缘:使用双阀值算法,将图像进行分割,分成两个高、低阀值边 缘图像Th(i,j) J1(Lj),利用递归跟踪的算法不断在低阀值边缘图中搜集边缘, 补充高阀值边缘Th(i,j)形成的轮廓的空隙。10. 根据权利要求7所述的一种基于机器视觉的镜片表面缺陷智能检测系统的实现方 法,其特征在于:所述镜片缺陷识别与缺陷标记中,所述镜片缺陷目标包括颗粒物、划伤以 及气泡,提取镜片缺陷区域的形状特征参数,包括面积和周长,并计算镜片缺陷的圆形度和 长宽比;根据镜片缺陷的圆形度值和长宽比区分气泡与划伤,根据镜片缺陷的面积和周长 区分颗粒物。
【文档编号】G01N21/01GK105891233SQ201610357279
【公开日】2016年8月24日
【申请日】2016年5月26日
【发明人】任志英, 张志忠, 陈炳兴, 郭毅强, 黄艺坤
【申请人】福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1