基于机器视觉的铝型材表面缺陷检测方法转让专利

申请号 : CN201310442167.9

文献号 : CN104458748B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周晓锋张宜弛吴阳史海波

申请人 : 中国科学院沈阳自动化研究所

摘要 :

本发明提供了一种基于机器视觉的铝型材表面缺陷检测方法,包括铝型材区域划分以及铝型材表面缺陷检测并上传缺陷信息及图片,划分的铝型材区域包括纹理区域和非纹理区域。本发明方法基于机器视觉和计算机技术,实现了铝型材表面缺陷的实时检测,与现有的人工缺陷检测相比,能更方便、快速、准确的定位缺陷部位,提高检测效率,大大减少人力投入,降低企业在生产过程中的成本;同时避免人的主观因素造成的干扰,维护企业信誉。

权利要求 :

1.一种基于机器视觉的铝型材表面缺陷检测方法,其特征在于,包括以下步骤:

通过相机采集待检测铝型材的若干帧图像,并对采集到的每一帧图像进行预处理;

提取预处理后的图像的边缘特征,根据所述边缘特征对铝型材进行区域划分,确定铝型材的纹理区域和非纹理区域;

对所述纹理区域和非纹理区域的铝型材表面缺陷分别进行检测;

上传图像和缺陷信息;

所述提取预处理后的图像的边缘特征,包括以下步骤:

用canny算子检测边缘得到二值化图像,对二值化图像各像素点进行hough变换,保留倾斜角在-2.5度到2.5度之间且直线上边缘点数目大于阈值的直线,并把直线按中心点纵坐标从小到大排序;

根据所述直线对第一帧图像进行区域划分:把排序后第一条直线的中心点纵坐标作为第一个纹理区域的起始和终止位置,如果第二条直线的中心点纵坐标与第一条直线的中心点纵坐标的距离不大于阈值,则扩充第一个纹理区域,即把第二条直线的中心点纵坐标做为第一个纹理区域的终止位置;如果距离大于阈值,则认为第二条直线和第一条直线不在同一个纹理区域,把第二条直线的中心点纵坐标作为第二个纹理区域的起始和终止位置;

如果所述直线数量大于2,则按照上述步骤依次对剩余直线执行相应操作;标记各纹理区域出现的次数为1;

根据所述直线对除第一帧以外的图像进行区域划分:从第二帧开始将检测到的直线与已划分的纹理区域比较,如果直线的中心点纵坐标与已划分的某纹理区域的距离不大于阈值,则合并到此纹理区域,纹理区域出现的次数加1;如果直线的中心点纵坐标与已划分的所有纹理区域的距离都大于阈值,认为直线在一个新的纹理区域,把直线的中心点纵坐标作为新的纹理区域的起始和终止位置,标记纹理区域出现的次数为1;当为最后一帧图像时,根据已划分的纹理区域,合并重叠区域并去掉出现次数少于划分区域所用帧数一半的纹理区域,对纹理区域进行扩充,确定铝型材的纹理区域和非纹理区域。

2.根据权利要求1所述的基于机器视觉的铝型材表面缺陷检测方法,其特征在于,所述对采集到的图像进行预处理包括图像平滑处理和对比度增强处理。

3.根据权利要求1所述的基于机器视觉的铝型材表面缺陷检测方法,其特征在于,所述对所述纹理区域和非纹理区域的铝型材表面缺陷分别进行检测,包括以下步骤:对纹理区域采用水平sobel边缘检测算子检测缺陷,得到二值化图像;非纹理区域采用全局sobel边缘检测算子检测缺陷,得到二值化图像;

对所述二值化图像进行形态学操作,去除小物体及干扰信息并突出缺陷部分,即首先进行先腐蚀后膨胀的开运算,用来消除小物体、在纤细点处分离物体;然后进行先膨胀后腐蚀的闭运算,用来填充物体内细小空洞、连接邻近物体;之后进行连通区域标记,得到大于阈值的缺陷区域的位置和面积信息。

4.根据权利要求3所述的基于机器视觉的铝型材表面缺陷检测方法,其特征在于,所述连通区域标记,是把仅由“1”值像素,即前景点,和“0”值像素,即背景点,组成的二值图像中相互邻接的“1”值像素组合成区域,并用边界信息来描述每个连通区域。

5.根据权利要求1所述的基于机器视觉的铝型材表面缺陷检测方法,其特征在于,所述缺陷信息包括检测到的缺陷数量和每个缺陷所在的位置。

说明书 :

基于机器视觉的铝型材表面缺陷检测方法

技术领域

[0001] 本发明涉及缺陷检测领域,特别涉及一种基于机器视觉的铝型材表面缺陷检测方法。

背景技术

[0002] 铝型材在加工过程中,往往会由于生产环境或者工艺的原因造成各种表面缺陷,如鼓泡、划痕、水印、擦伤、污渍等。要保证产品质量,维护企业声誉,必须在铝型材出厂包装前对其表面质量进行检测,对于存在表面缺陷的型材将进行回收处理。当前的质量检测工作全部由人工完成,检测工人通过用肉眼观察铝型材表面来进行缺陷查找,并对存在缺陷的铝材进行手工标记。
[0003] 人工检测受工人的经验、情绪、劳累强度等因素干扰,质量检测结果会出现不稳定因素,另外人工检测也很难对产品的缺陷率、质量趋势等进行精确的统计。随着生产速度和能力的提高和对铝型材质量的要求越来越严格,传统的使用人工对铝型材进行质量检测的方法已很难保质保量的完成生产检测任务。

发明内容

[0004] 针对传统的使用人工对铝型材缺陷进行检测存在的诸多问题,本发明提出了一种基于机器视觉的铝型材表面缺陷检测方法。
[0005] 本发明为实现上述目的所采用的技术方案是:一种基于机器视觉的铝型材表面缺陷检测方法,包括以下步骤:
[0006] 通过相机采集待检测铝型材的若干帧图像,并对采集到的每一帧图像进行预处理;
[0007] 提取预处理后的图像的边缘特征,根据所述边缘特征对铝型材进行区域划分,确定铝型材的纹理区域和非纹理区域;
[0008] 对所述纹理区域和非纹理区域的铝型材表面缺陷分别进行检测;
[0009] 上传图像和缺陷信息。
[0010] 所述对采集到的图像进行预处理包括图像平滑处理和对比度增强处理。
[0011] 所述提取预处理后的图像的边缘特征,包括以下步骤:
[0012] 用canny算子检测边缘得到二值化图像,对二值化图像各像素点进行hough变换,保留倾斜角在-2.5度到2.5度之间且直线上边缘点数目大于阈值的直线,并把直线按中心点纵坐标从小到大排序;
[0013] 根据所述直线对第一帧图像进行区域划分:把排序后第一条直线的中心点纵坐标作为第一个纹理区域的起始和终止位置,如果第二条直线的中心点纵坐标与第一条直线的中心点纵坐标的距离不大于阈值,则扩充第一个纹理区域,即把第二条直线的中心点纵坐标做为第一个纹理区域的终止位置;如果距离大于阈值,则认为第二条直线和第一条直线不在同一个纹理区域,把第二条直线的中心点纵坐标作为第二个纹理区域的起始和终止位置;如果所述直线数量大于2,则按照上述步骤依次对剩余直线执行相应操作;标记各纹理区域出现的次数为1;
[0014] 根据所述直线对除第一帧以外的图像进行区域划分:从第二帧开始将检测到的直线与已划分的纹理区域比较,如果直线的中心点纵坐标与已划分的某纹理区域的距离不大于阈值,则合并到此纹理区域,纹理区域出现的次数加1;如果直线的中心点纵坐标与已划分的所有纹理区域的距离都大于阈值,认为直线在一个新的纹理区域,把直线的中心点纵坐标作为新的纹理区域的起始和终止位置,标记纹理区域出现的次数为1;当为最后一帧图像时,根据已划分的纹理区域,合并重叠区域并去掉出现次数少于划分区域所用帧数一半的纹理区域,对纹理区域进行扩充,确定铝型材的纹理区域和非纹理区域。
[0015] 所述对所述纹理区域和非纹理区域的铝型材表面缺陷分别进行检测,包括以下步骤:
[0016] 对纹理区域采用水平sobel边缘检测算子检测缺陷,得到二值化图像;非纹理区域采用全局sobel边缘检测算子检测缺陷,得到二值化图像;
[0017] 对所述二值化图像进行形态学操作,去除小物体及干扰信息并突出缺陷部分,即首先进行先腐蚀后膨胀的开运算,用来消除小物体、在纤细点处分离物体;然后进行先膨胀后腐蚀的闭运算,用来填充物体内细小空洞、连接邻近物体;之后进行连通区域标记,得到大于阈值的缺陷区域的位置和面积信息。
[0018] 所述连通区域标记,是把仅由“1”值像素,即前景点,和“0”值像素,即背景点,组成的二值图像中相互邻接的“1”值像素组合成区域,并用边界信息来描述每个连通区域。
[0019] 所述缺陷信息包括检测到的缺陷数量和每个缺陷所在的位置。
[0020] 本发明具有以下优点及有益效果:
[0021] 1.本发明实现了铝型材区域的划分以及表面缺陷的检测和定位,能更方便、快速、准确的定位缺陷部位,提高检测效率;
[0022] 2.对缺陷信息上传,记录检测信息到数据库,为用户提供直观的统计信息,方便用户查询,并为喷涂标记做记录。
[0023] 3.上传图像以帮助改进方法并协助管理者及时发现存在的问题;比如方便管理者判断是何种缺陷,包括鼓泡、划痕、水印、擦伤、污渍等。
[0024] 4.避免人的主观因素造成的干扰,提高准确率,维护企业信誉,降低企业在生产过程中的成本。
[0025] 5.定时监测网络状态,并包含超时复位机制,提高了检测鲁棒性以及通信的稳定性。

附图说明

[0026] 图1为本发明的整体流程图;
[0027] 图2为铝型材的区域划分流程图;
[0028] 图3为铝型材的区域划分示意图;
[0029] 图4为铝型材的表面缺陷检测流程图;
[0030] 图5为连通区域标记示意图;
[0031] 图6为无通信时定时发送UDP心跳包流程图;
[0032] 图7为上传图像流程图。

具体实施方式

[0033] 下面结合附图对本发明做进一步的详细说明。
[0034] 图1为本发明的整体流程图,包括采集铝型材图片、铝型材的区域划分以及表面缺陷检测并上传缺陷信息及图片。本发明的方法由VC4018相机实现。相机可能收到的来自上位机的四种命令,包括通过参数配置命令包、铝材分区命令包、缺陷检测命令包和连接请求四种。参数包括Sobel参数、Canny参数、分区参数、纹理参数和快门时间。当收到上位机发送的参数设置命令包时,先判断是设置何种参数,然后分别执行相应的设置工作把参数保存为系统变量;如果是快门设置,则需要调用快门时间设置函数;之后设置UDP应答包,包括相机ID、是否设置成功等并发送UDP应答包给上位机。如果上位机在一段时间内没收到应答包,则应该重新进行参数设置。
[0035] 图2为铝型材的区域划分流程图,其中包含有超时复位机制,使用事件定时器实现;区域可以划分为纹理区域和非纹理区域。每种铝型材只需要进行一次区域划分即可。由于整个区域划分过程需要耗时几秒钟,当收到上位机发送的区域划分命令包时,要首先发送应答包1,表示已经收到此命令,然后进行相应的操作。当计数器小于10时,执行采集图片并对其进行预处理,然后采用canny算子检测边缘信息,对边缘进行hough变换以检测直线,提取满足条件的边缘直线并合并到初步区域划分结果中;当等于10时,表示有10帧参与区域划分,此时综合区域划分结果并做一些相应的区域调整,得到最终区域划分结果;并完成对图像的区域定位,获得待检测铝型材所在图像区域。执行完毕后发送应答包2为区域划分成功状态并上传,表示已经执行完铝型材区域划分工作。如果在执行过程中时间过长,导致超过预设时间,则把算法复位并设置UDP应答包2为区域划分失败状态并上传,上位机收到命令后执行相应操作。
[0036] 图3为铝型材的区域划分示意图,如图所示,图3(a)为铝型材表面图像原图;图3(b)为用canny算子检测边缘得到二值化图像,图中白点为检测得到的边缘,黑点为背景点。图3(c)中红色直线为对二值化图像3(b)进行hough变换后得到的符合条件的直线,其中的绿点为直线中心点;图3(d)为区域划分的结果,把整个检测范围划分为三个区域,依次为区域1(黄色纹理区域),区域2(绿色非纹理区域)和区域3(黄色纹理区域)。
[0037] 图4为铝型材的表面缺陷检测流程图,其中包含有超时复位机制,使用事件定时器实现。当收到上位机发送的缺陷检测命令包时,首先设定检测参数,包括检测范围等;然后采集图片并对其进行预处理,之后根据已经划分好的铝型材区域对不同的区域用不同的缺陷检测方法检测,为了提高检测速度,非纹理区域用sobel算子进行缺陷检测,纹理区域用水平sobel算子与二进制小波相结合的缺陷检测算法,然后对图像进行形态学处理以去除干扰并用连通区域分析保留大于面积阈值的缺陷。检测完毕后设置UDP应答包,包括缺陷数量和位置信息。同时超时复位机制监控算法运行时间,如果算法运行时间过长达不到实时检测的目的,此时应当把算法复位并退出,等待下次检测命令的到来,并设置UDP应答包为失败,表示此帧检测时间过长而主动复位,减少对后面各帧检测的影响。
[0038] 图5为连通区域标记示意图,如图所示,图5(a)为待标记的二值图,其各坐标对应像素值如图5(e)所示,图中1表示前景点,0表示背景点。采用8邻域连通,从上往下、从左往右扫描图像,图像中的每个像素点需要考虑以下几种情况:
[0039] 1、如图5(b)所示,点A为未作标记的前景点,且A的左边是背景点或者禁止访问点,上面也是背景点或者禁止访问点,说明当前点A在某连通域的外边界上,分配一个新的标号给像素点A(连通区域标号从2开始),然后调用8邻域搜寻算法对经过像素点A的区域外轮廓进行顺时针跟踪并标记为与像素点A相同的标号,所有与外轮廓相邻的背景点都被标记为-1,表示为禁止访问点,如图(f)所示;
[0040] 2、如图5(c)所示,点B为未作标记的前景点,且B的左边是已标记前景点,把左边前景点的标号复制给当前前景点B,如图(g)所示;
[0041] 3、如图5(d)所示,已标记前景点C的右侧为一个背景点,说明像素点C在某连通域的内边界上,调用8邻域搜寻算法对经过像素点C的区域内轮廓进行逆时针跟踪并标记为与像素点C相同的标号,所有与内轮廓相邻的背景点都被标记为-1,表示为禁止访问点;
[0042] 图5(d)中点D按照上述步骤2处理,标记为左边已标记前景点的标号2,如图5(h)所示,即为标记结束的整个连通区域,标号为2。
[0043] 图6为无通信时定时发送UDP心跳包流程图,用以监测网络状态。当网络中超过一定时间没有通信时,此时设置并发送UDP心跳包,如果上位机一定时间内未监测到心跳包则表示网络异常,及时提醒用户查看状态。
[0044] 图7为上传图像流程图,当收到上位机连接请求时,采用TCP协议上传图像。