首页> 中国专利> 基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置

基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置

摘要

本申请提供了一种基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置,应用于采用CCD摄像机获取图像数据的缺陷检测;所述方法包括:利用人工智能的自学习能力,建立检测目标的检测图像特征与检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;通过所述对应关系,确定与所述当前图像特征对应的当前质量分类。通过提取出检测区域,删除图像中的无关区域,将只含有检测区域的图像输入到人工神经网络中进行缺陷检测,减少计算机的计算负担的同时加快检测速度。

著录项

  • 公开/公告号CN112750113A

    专利类型发明专利

  • 公开/公告日2021-05-04

    原文格式PDF

  • 申请/专利权人 深圳信息职业技术学院;

    申请/专利号CN202110050012.5

  • 发明设计人 彭保;郑添屹;杜美萱;吴卓宇;

    申请日2021-01-14

  • 分类号G06T7/00(20170101);G06K9/62(20060101);G06N3/08(20060101);

  • 代理机构44368 深圳市智胜联合知识产权代理有限公司;

  • 代理人齐文剑

  • 地址 518000 广东省深圳市龙岗区龙翔大道2188号科技楼1603B

  • 入库时间 2023-06-19 10:51:07

说明书

技术领域

本申请涉及工业检测领域,特别是一种基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置。

背景技术

随着人工智能技术的不断进步和产品车间流水线规模的不断升级,在低端制造业和流水线检测车间用人工智能的方式替代工人已经成为大势所趋。在产品检测车间中,工人日复一日的重复着机械性的动作,完成相差无几的工作内容。这种情况尤其出现在产品缺陷检测流水线车间中,例如玻璃缺陷检测车间、手机壳缺陷检测车间、工业零件缺陷检测车间等。

除此之外,愈发扩大的生产车间规模也给至关重要的缺陷检测环节带来了巨大的工作量。面对日益增长的缺陷检测工作量,按照传统方法需要雇佣更多的检测线工人,这必然导致更高的生产成本。

近年来在工业领域将机器视觉应用于产品缺陷检测的案例层出不穷,在产品缺陷检测过程中,将使用高清彩色摄像机将产品拍到的图像直接输入计算机中进行缺陷检测,与产品无关的背景区域也会被输入到计算机中参与计算,诸如此类方法的操作增加了计算机的计算负担,延长了缺陷检测的时间。

针对无关背景所导致的计算负担,Jinjiang Wang等人提出在待检测透明玻璃瓶后面放置高度宽度均大于玻璃瓶的矩形灯板,并且使用霍夫变换进行直线检测,检测出灯板的矩形轮廓,将摄影机拍到的彩色图像中矩形轮廓内的区域标记为兴趣区域,将兴趣区域输入到级联倒残差网络中进行缺陷检测。将删除无关背景后的兴趣区域进行缺陷检测,降低了计算机的计算负担。但是该方法中的用于直线检测的霍夫变换方法,使其检测直线的时间过长。

发明内容

鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置,包括:

一种基于深度学习和直线检测的玻璃瓶缺陷检测方法,所述方法应用于采用CCD摄像机获取图像数据的缺陷检测;

所述方法包括:

利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;

获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;

依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;

通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。

进一步地,所述获取当前检测目标的原始图像,并确定所述原始图像中的检测区域的步骤,包括:

生成对应于所述原始图像的开运算图像;

确定所述开运算图像中线段尺寸大于所述检测目标对应位置尺寸的线段区域;

依据所述线段区域生成所述检测区域。

进一步地,所述确定所述开运算图像中线段尺寸大于所述检测目标对应位置尺寸的线段区域的步骤,包括:

当所获取的所述原始图像为彩色图像时,生成所述开运算图像对应的灰度图像;

确定所述灰度图像中大于所述检测目标对应位置尺寸的线段区域;

或;

当所获取的所述原始图像为黑白图像时,确定所述开运算图像中大于所述检测目标对应位置尺寸的线段区域。

进一步地,所述依据所述线段区域生成所述检测区域的步骤,包括:

将所述线段区域所包围的区域设置为所述检测区域。

进一步地,所述依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像的步骤,包括:

确定所述原始图像中与所述检测区域相对应的区域坐标;

依据所述原始图像中所述区域坐标以内的图像数据生成所述当前检测图像。

进一步地,所述依据所述原始图像中所述区域坐标以内的图像数据生成所述当前检测图像的步骤,包括:

依据所述原始图像中所述区域坐标以内的图像数据生成裁切图像;

依据所述裁切图像生成预设分辨率的所述当前检测图像。

进一步地,所述建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系的步骤,包括:

获取用于建立所述图像特征与所述质量分类之间的对应关系的样本数据;

分析所述图像特征的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;

使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述图像特征与所述质量分类的所述对应关系。

进一步地,所述获取用于建立所述图像特征与所述质量分类之间的对应关系的样本数据的步骤,包括:

收集不同样品的所述图像特征与所述质量分类;

对所述图像特征进行分析、并结合预存的专家经验信息,选取与所述质量分类相关的数据作为所述图像特征;

将所述质量分类、以及选取的所述图像特征构成的数据对,作为样本数据。

进一步地,

对所述网络结构和所述网络参数进行训练,包括:

选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述图像特征输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;

确定所述实际训练结果与所述训练样本中的相应质量分类之间的实际训练误差是否满足预设训练误差;

当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;

和/或,

对所述网络结构和所述网络参数进行测试,包括:

选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述图像特征输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完成的所述网络参数进行测试,得到实际测试结果;

确定所述实际测试结果与所述测试样本中的相应质量分类之间的实际测试误差是否满足设定测试误差;

当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。

进一步地,

对所述网络结构和所述网络参数进行训练,还包括:

当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;

通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;

和/或,

对所述网络结构和所述网络参数进行测试,还包括:

当所述实际测试误差不满足所述设定测试误差时,对所述网络结构和所述网络参数进行重新训练,直至所述重新训练后的实际测试误差满足所述设定测试误差。

一种基于深度学习和直线检测的玻璃瓶缺陷检测装置,所述装置应用于采用CCD摄像机获取图像数据的缺陷检测;

具体包括:

对应关系建立模块,用于利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;

检测区域确定模块,用于获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;

当前检测图像生成模块,用于依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;

当前质量分类确定模块,用于通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。

一种设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的基于深度学习和直线检测的玻璃瓶缺陷检测方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的基于深度学习和直线检测的玻璃瓶缺陷检测方法的步骤。

本申请具有以下优点:

在本申请的实施例中,通过利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。通过机器视觉的方式代替检测工人对透明玻璃瓶产品进行缺陷检测,降低生产成本;通过提取出检测区域,删除图像中的无关区域,将只含有检测区域的图像输入到人工神经网络中进行缺陷检测,减少计算机的计算负担的同时加快检测速度。

附图说明

为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的步骤流程图;

图2是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的开运算效果对比示意图;

图3是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的待处理图像中的像素点区域示意图;

图4是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的3×3核矩阵示意图;

图5是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的腐蚀运算过程示意图;

图6是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的重复腐蚀运算过程示意图;

图7是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的腐蚀运算结果示意图;

图8是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的膨胀运算过程示意图;

图9是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的开运算结果示意图;

图10是本申请一示例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的经典的LeNet5神经网络的结构示意图;

图11是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的改进的LeNet5神经网络的结构框示意图;

图12是本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的经典的LeNet5神经网络的结构框示意图;

图13是本申请一具体实现提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的执行流程示意图;

图14是本申请一具体实现提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的长方形灯板背光源照射下的无缺陷玻璃瓶的原始图像示意图;

图15是本申请一具体实现提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的长方形灯板背光源照射下的有裂痕玻璃瓶的原始图像示意示意图;

图16是本申请一具体实现提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的长方形灯板背光源照射下的有污染玻璃瓶的原始图像示意示意图;

图17是本申请一具体实现提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法的长方形灯板背光源照射下的有异物玻璃瓶的原始图像示意示意图;

图18本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测装置的结构框图。

具体实施方式

为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本发明任一实施例中,所述方法应用于采用CCD摄像机获取图像数据的缺陷检测,其中CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高、抗强光、畸变小、体积小、寿命长、抗震动等优点。

在工作时被摄物体的图像经过镜头聚焦至CCD芯片上,CCD根据光的强弱积累相应比例的电荷,各个像素积累的电荷在视频时序的控制下,逐点外移,经滤波、放大处理后,形成视频信号输出。视频信号连接到监视器或电视机的视频输入端便可以看到与原始图像相同的视频图像。它是一种半导体成像器件,为简化CCD摄像机的供电,一般从外部只输入一种电源(12V),而机内其他各种电压值的电源都由电源变换获得。

参照图1,示出了本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测方法;

所述方法包括:

S110、利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;

S120、获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;

S130、依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;

S140、通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。

在本申请的实施例中,通过利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。通过机器视觉的方式代替检测工人对透明玻璃瓶产品进行缺陷检测,降低生产成本;通过提取出检测区域,删除图像中的无关区域,将只含有检测区域的图像输入到人工神经网络中进行缺陷检测,减少计算机的计算负担的同时加快检测速度。

下面,将对本示例性实施例中基于深度学习和直线检测的玻璃瓶缺陷检测方法作进一步地说明。

如所述步骤S110所述,利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物。

例如:利用人工神经网络算法来分析不同质量分类对应的检测目标的外观状态规律,通过人工神经网络的自学习、自适应特性找到检测目标对应的检测图像的图像特征与所述检测目标的质量分类间的映射规律。

例如:可以利用人工神经网络算法,通过对大量不同状况(包括但不限于如下的一种或多种:颜色,尺寸,透明度等)的检测目标对应的检测图像的图像特征汇总收集,选取若干状况的检测目标对应的检测图像的图像特征及质量分类作为样本数据,对神经网络进行学习和训练,通过调整网络结构及网络节点间的权值,使神经网络拟合检测目标对应的检测图像的图像特征及质量分类之间的关系,最终使神经网络能准确拟合出不同状况的检测目标对应的检测图像的图像特征及质量分类的对应关系。

在一实施例中,所述对应关系,包括:函数关系。

优选地,所述图像特征为所述函数关系的输入参数,所述质量分类为所述函数关系的输出参数;

确定与所述当前图像特征对应的当前质量分类,还包括:

当所述对应关系包括函数关系时,将所述当前图像特征输入所述函数关系中,确定所述函数关系的输出参数为当前质量分类。

由此,通过多种形式的对应关系,可以提升对当前图像特征确定的灵活性和便捷性。

参照图2,作为一种示例,所采用的人工神经网络可以为基于经典的LeNet5神经网络进行修改的改进的LeNet5神经网络,

需要说明的是,经典的LeNet5神经网络的层数为七层,其优势在于信息处理的复杂度较低,因此带来的数据处理速度较快,但其劣势在于七层网络的数据处理精度低于当下最新的GhostNet(Ghostnet是华为诺亚方舟实验室在IEEE的CVPR2020上新发表的文章《GhostNet:More Features from Cheap Operations》中提出的一种新型的网络结构,核心是通过线性操作来创造更丰富的特征图,从而实现轻量级网络的目的,便于在手机设备上部署)等网络。

而在本申请的实施例中,神经网络所需处理的数据集的目标为透明玻璃瓶,而无缺陷的透明玻璃瓶瓶身圆润、颜色单一、细节较少,对神经网络的层数和处理数据的精度要求不高;有缺陷的透明玻璃瓶,瓶身会出现大面积裂痕(如图15)、污染(如图16)、异物(如图17)等情况,其缺陷的细节和缺陷的分类并不复杂,并且在本实施例中将一块矩形的灯板放在待测玻璃瓶后面,灯板的光线穿透玻璃瓶身,使得瓶身缺陷部分的对比度增加,即灰度图像中缺陷部分的灰度比其他地方的灰度更高,能让计算机更好的识别出瓶身的缺陷。

图10为经典的LeNet5神经网络的网络结构和连接结构。

其中,图10中展示的结构总共有八层,但是LeNet5神经网络一共有七层,第一层标有“A”的是输入层imput,其余七层为LeNet5神经网络的各网络层。

具体地图中的LeNet5神经网络的网络层别为:第一层C1卷积层、第二层S2池化层、第三层C3卷积层、第四层S4池化层、第五层C5卷积层、第六层F6全连接层、第七层输出层。其中,C1、C3、C5卷积层的目的均为提取特征;S2、S4池化层的目的均为降低数据维度、压缩数据、提升计算速度、减少计算耗时;F6全连接层是为了将得到的所有特征图以特征向量的形式连接并储存起来;输出层是将经过神经网络处理后的结果进行分类并输出。

下面将逐一介绍以上七层网络层的工作过程:

第一层C1卷积层:从输入层输入一张大小为32×32像素的灰度图像,灰度图像通过6个5×5的卷积核进行卷积操作进行特征提取,提取到六个通道的28×28像素的特征图。

第二层S2池化层:在S2池化层中使用6个2×2的选择框对六个通道的特征图进行池化操作得到14×14像素的特征图。在S2池化层中,池化后的特征数据输入到激活函数中。本示例所使用的激活函数为sigmoid函数。

第三层C3卷积层:在C3卷积层中,使用16个5×5的卷积核对从sigmoid函数输出的特征图进行卷积操作,得到16张得到10×10像素的特征图。

第四层S4池化层:在S4池化层中使用6个2×2的选择框对16个通道的特征图进行池化操作得到5×5像素的特征图。在S2池化层中,池化后的特征数据输入到激活函数中。本示例所使用的激活函数为sigmoid函数。

第五层C5卷积层:在C5层中,使用120个5×5的卷积核对S4层中PReLu的输出特征图进行卷积,得到120个1×1的特征图。将120个1×1的特征向量首尾相相连形成特征向量输入到第六层F6全连接层中。

第六层F6全连接层:F6层有84个节点,每个节点与F5层的全部120个单元之间进行全连接,计算输入的特征向量和权重向量之间的点积运算。

第七层输出层:在输出层中一共有十个节点(LeNet5最初用来进行手写体识别,目的在于将输入的图像分成十类,所以输出层有十个节点。节点数目可以根据发明所需进行设定。)使用径向基函数进行连接和计算,计算公式如下:

式中,y

在本示例中,通过对经典的LeNet5进行改进,以得出本示例中所采用的改进的LeNet5神经网络。

本示例中提出的改进的LeNet5神经网络(如图11)相比于经典的LeNet5神经网络(如图12),在网络层数、卷积核的大小进行了改进,使得改进后的改进的LeNet5神经网络更适于本示例中所涉及的情况,即输入到神经网络的原始灰度图像为矩形。并且,更深的网络层数,更小的卷积核为神经网络带来更高的识别准确率,弥补了LeNet5神经网络准确度欠佳的问题。

在本发明一实施例中,可以结合下列描述进一步说明步骤S110所述“利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物”的具体过程。

如下列步骤所述:获取用于建立所述图像特征与所述质量分类之间的对应关系的样本数据;

在一进阶实施例中,可以结合下列描述进一步说明“获取用于建立所述图像特征与所述质量分类之间的对应关系的样本数据”的具体过程。

如下列步骤所述:收集不同样品的所述图像特征与所述质量分类;

例如:数据搜集:搜集不同颜色的检测目标对应的检测图像的图像特征及对应的质量分类;以及,搜集不同尺寸的检测目标对应的检测图像的图像特征及对应的质量分类;以及,搜集不同透明度的检测目标对应的检测图像的图像特征及对应的质量分类。

由此,通过多种途径收集运行数据,有利于增加运行数据的量,提升人工神经网络的学习能力,进而提升确定的对应关系的精准性和可靠性。

如下列步骤所述:对所述图像特征进行分析、并结合预存的专家经验信息,选取与所述质量分类相关的数据作为所述图像特征(例如:选取对质量分类有影响的图像特征作为输入参数,将指定参数作为输出参数);

例如:通过将已确定了质量分类后的检测目标的相关数据中的图像特征作为输入参数,将其相关数据中的质量分类作为输出参数。

如下列步骤所述:将所述质量分类、以及选取的所述图像特征构成的数据对,作为样本数据。

例如:将得到的输入、输出参数对,一部分用作训练本样数据,一部分用作测试样本数据。

由此,通过对收集到的图像特征进行分析及处理,进而得到样本数据,操作过程简单,操作结果可靠性高。

如下列步骤所述:分析所述图像特征的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;

例如:分析检测目标对应的检测图像的图像特征与所述检测目标的质量分类,可初步确定网络的基本结构、网络的输入、输出节点数、网络隐层数、隐节点数、网络初始权值等。

作为一种示例,本实施例所采用的人工神经网络的为前述的改进的LeNet5神经网络其网络结构具体内容如下:

第一层C1卷积层:输入大小为128×64的矩形灰度图像,灰度图像通过6个69×5的矩形卷积核进行卷积操作进行特征提取,提取到六个通道的60×60像素的特征图。

具体地,选用69×5的矩形卷积核目的在于:通过使用69×5的矩形卷积核可以使得输入大小为128×64的矩形的灰度图像,在C1卷积层的卷积结果中得到60×60的特征图。即,使用了特定参数的矩形卷积核可以对矩形的输入图像进行卷积计算得出正方形的特征图。

具体地,得到正方形特征图的目的在于:矩形的特征图由于其长宽不一致,导致在进行卷积运算时需要分别对矩形特征图的长宽进行计算,增加了计算量,增加了计算时间。

具体地,C1层使用大小为69×5的卷积核的目的在于:经过计算发现使用69×5大小的卷积核可以得到60×60的特征图,60×60的特征图大小相比输入的128×64的灰度图没有过度压缩,从而不会导致细节的过度丢失。

第二层S2池化层:在S2池化层中使用2×2的选择框对六个通道的特征图进行池化操作得到六张30×30像素的特征图。在S2池化层中,池化后的特征数据输入到激活函数中。本示例所使用的激活函数PReLu(参数化修正线性单元)。

第三层C3卷积层:在C3卷积层中,使用16个5×5的卷积核对从激活函数PReLu输出的特征图进行卷积操作,得到16张得到26×26像素的特征图。

第四层S4池化层:在S4池化层中使用2×2的选择框对16个通道的26×26特征图进行池化操作得到13×13像素的特征图。在S2池化层中,池化后的特征数据输入到激活函数中。本示例所使用的激活函数PReLu(参数化修正线性单元)。

第五层C5卷积层:在C5卷积层中,使用16个13×13的卷积核对从激活函数PReLu输出的特征图进行卷积操作,得到16张得到10×10像素的特征图。

第六层S6池化层:在S6池化层中使用2×2的选择框对16个通道的特征图进行池化操作得到5×5像素的特征图。在S2池化层中,池化后的特征数据输入到激活函数中。本发明所使用的激活函数PReLu(参数化修正线性单元)。

第七层C7卷积层:在C7层中,使用120个5×5的卷积核对S4层中PReLu的输出特征图进行卷积,得到120个1×1的特征图。将120个1×1的特征向量首尾相相连形成特征向量输入到第六层F8全连接层中。

第八层F8全连接层:F8层有84个节点,每个节点与F5层的全部120个单元之间进行全连接,计算输入的特征向量和权重向量之间的点积运算。

第九层输出层:在输出层中一共有4个节点。四个节点用作分类,分别为“无缺陷”(如图14),“裂痕”(如图15),“污染”(如图16),以及“异物”(如图17),使用径向基函数进行连接和计算,计算公式如下:

式中,y

可选地,可以结合下列描述进一步说明步骤“使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述图像特征与所述质量分类的所述对应关系”中对所述网络结构和所述网络参数进行训练的具体过程。

如下列步骤所述:选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述图像特征输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;

具体地,通过梯度下降算法最小化损失函数,更新网络参数,训练当前神经网络模型,得到实际训练结果;

确定所述实际训练结果与所述训练样本中的相应质量分类之间的实际训练误差是否满足预设训练误差;当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;

具体地,当所述实际训练误差满足所述预设训练误差时,且在当前训练的模型收敛,确定对所述网络结构和所述网络参数的所述训练完成。

更可选地,对所述网络结构和所述网络参数进行训练,还包括:

当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;

例如:若测试误差满足要求,则网络训练测试完成。

由此,通过将测试样本用于训练得到的网络结构和网络参数进行测试,以进一步验证网络结构及网络参数的可靠性。

可选地,可以结合下列描述进一步说明步骤“使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述图像特征与所述质量分类的所述对应关系”中对所述网络结构和所述网络参数进行测试的具体过程。

如下列步骤所述:选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述图像特征输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完成的所述网络参数进行测试,得到实际测试结果;确定所述实际测试结果与所述测试样本中的相应质量分类之间的实际测试误差是否满足设定测试误差;当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。

如所述步骤S120所述,获取当前检测目标的原始图像,并确定所述原始图像中的检测区域。

在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“获取当前检测目标的原始图像,并确定所述原始图像中的检测区域”的具体过程。

如下列步骤所述:生成对应于所述原始图像的开运算图像;

需要说明的是,使用开运算法对原始图像进行预处理,目的在于减少由于CCD摄像机内部光传感器由于温度升高而产生的杂讯号,具体表现为在图像中不该出现红点蓝点的区域(图像中的红点蓝点属于噪声点,由于CCD摄像机长时间工作而产生的杂讯号,杂信号的出现是随机的,不规律的)出现密集的红点蓝点;开运算是图像降噪预处理的一种常用方法,通过除去图像中孤立的小点、毛刺和两个部分之间的细连接线,并且保证总的位置和形状不变,效果如图2所示。

在本实施例中开运算目的在于减少由于CCD摄像机内部光传感器由于温度升高而产生的杂讯号和图像中图形边缘的毛刺点和细连接线。

具体地,开运算由“腐蚀”和“膨胀”两种运算组成,具体表现为先对图像进行腐蚀运算,再对图像进行膨胀运算(其中,先膨胀运算再腐蚀运算为闭运算)。

参照图3,本示例的待处理图像中的像素点区域如图3灰色部分所示,本示例中所使用的3×3核矩阵如图4所示,其中,本示例中使用3×3核矩阵。

需要说明的是,核矩阵越大带来的开运算降噪效果越明显,被消除的孤立噪声点、毛刺和细连接线也越多,但过大的核矩阵在本发明中会消除图像中一些必要的细节,导致缺陷检测产生不准确的结果;而核矩阵越小带来的开运算降噪效果越微弱,被消除的孤立噪声点、毛刺和细连接线也越少,会保留图像更多的细节,但是过小的核矩阵会使得很多缺陷点和毛刺被当作细节保留下来,导致预处理不充分,为后续的计算带来负担和影响。

参照图3-9,作为一种示例,所述开运算的具体过程可以为:

首先,对图3灰色部分进行腐蚀运算:在图3中寻找能够容纳核矩阵的区域,保留核矩阵中心所对应的灰色图像的像素点,如图5所示保留图像中的O点;

在图3整个图像中重复以上操作,操作过程如图6所示,三个核矩阵中心点O点被保留,除中心点之外的区域被删除;

得到如图7所示的三个核矩阵的中心点所对应的灰色图像的像素点,图7为对图3进行开运算的第一步“腐蚀运算”的结果图;

得到图7后对其进行开运算的第二步“膨胀运算”。将图7中的每个灰色点对准核矩阵的中心点,保留核矩阵的全部区域如图8所示的浅灰色区域,删除未被核矩阵覆盖的像素点,如图8的深灰色区域所示。

得到的最终图形为膨胀运算后的结果,也是对图3进行开运算(先腐蚀运算后膨胀运算)的结果,如图9所示。

通过图9对比图3可以看出,进行开运算后,图3中的两块大面积区域附近的毛刺和细连接线被删除,得到一个相对圆润的且没有过多噪声点的图像,达到了通过开运算进行图像预处理的目的。

如下列步骤所述:确定所述开运算图像中线段尺寸大于所述检测目标对应位置尺寸的线段区域;

在本发明一进阶实施例中,可以结合下列描述进一步说明步骤“确定所述开运算图像中线段尺寸大于所述检测目标对应位置尺寸的线段区域”的具体过程。

可选地:

如下列步骤所述:当所获取的所述原始图像为彩色图像时,生成所述开运算图像对应的灰度图像;

如下列步骤所述:确定所述灰度图像中大于所述检测目标对应位置尺寸的线段区域;

可选地:

如下列步骤所述:当所获取的所述原始图像为黑白图像时,确定所述开运算图像中大于所述检测目标对应位置尺寸的线段区域。

需要说明的是,由于CCD摄像机能够获取黑白或彩色图像数据,而本实施例中在进行线段区域的确定时,采用LSD检测算法(Line Segment Detector,直线检测算法)进行线段区域的检测,而该算法所适配的图像数据仅为黑白图像,因此,当本实施例获取的图像数据为彩色时,则进行对彩色图像数据的灰度化处理。

作为一种示例,将彩色图像转化成为灰度图像的过程,即图像的灰度化处理可以为。彩色图像中的每个像素的颜色有Red、Green、Blue(R、G、B)三个分量决定,而每个分量有255种数值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。

而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像(R=G=B),其一个灰色像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。

灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用三种不同的方法来实现,包括:

1、最大值法:

Gray=max(R,G,B)

此方法中的灰度值由彩色图像中R、G、B三个分量的最大值来决定。如公式所示,灰度值为R、G、B三分量的最大值。此方法是最简单的灰度灰度化方法,它对于灰度值的确定方式及其简便。

最大值法灰度化后图像过于亮,丢失的图像细节较多,常用于对原本色调较暗的图像进行处理,本发明中的彩色图像是由CCD摄像机在暗室中拍照获得的,不需要将图像亮度提高,所以在本发明中放弃使用最大值法。

2、加权均值法:

Gray=(ω

此方法中的灰度值由彩色图像中R、G、B三个分量通过乘上一个权重值来确定。如公式所示,ω

3、平均值法:

Gray=(R+G+B)÷3

此方法中的灰度值由彩色图像中R、G、B三个分量的和的平均值来决定。如公式所示,灰度值为R、G、B三分量和的平均值。此方法在对图像进行灰度化时不会产生过亮或过暗的效果,获得的灰度图像效果高于最大值法和加权均值法。同时,此方法的计算过程较为便捷,在满足图像质量的同时减少了计算机计算的时间,符合本发明的目的,所以选用此方法作为灰度化的方法。

如下列步骤所述:依据所述线段区域生成所述检测区域。

在本发明一进阶实施例中,可以结合下列描述进一步说明步骤“依据所述线段区域生成所述检测区域”的具体过程。

如下列步骤所述:将所述线段区域所包围的区域设置为所述检测区域。

需要说明的是,由于本实施例在通过CCD摄像机获取检测目标的图像数据时,需要在所述检测目标的背后添加一尺寸大于所述检测目标的灯板作为背光源,因此,所获取的图像数据中会包含有明显的背光源形状痕迹,而确认检测区域的目的在于降低后续神经网络对图像的处理难度。其中,由于背光源为矩形灯板,因此,所述检测区域的形状亦为矩形。

如所述步骤S130所述,依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像。

在本发明一实施例中,可以结合下列描述进一步说明步骤S130所述“依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像”的具体过程。

如下列步骤所述:确定所述原始图像中与所述检测区域相对应的区域坐标;

需要说明的是,在将所述线段区域围成的设置为所述检测区域后,通过所述检测区域在所述原始图像的位置得出所述检测区域对应的区域坐标,其中,由于所述检测区域的形状为矩形,因此,该区域坐标可以为四个顶角所对应的坐标点的连线所围成的区域;也可以为原始图像对应的坐标系中所述检测区域的四条边界所对应的直线函数图像所围成的矩形区域。

如下列步骤所述:依据所述原始图像中所述区域坐标以内的图像数据生成所述当前检测图像。

在本发明一进阶实施例中,可以结合下列描述进一步说明步骤“依据所述原始图像中所述区域坐标以内的图像数据生成所述当前检测图像”的具体过程。

如下列步骤所述:依据所述原始图像中所述区域坐标以内的图像数据生成裁切图像;

需要说明的是,在获取所述区域坐标后,裁切掉所述原始图像中对应于所述区域坐标以外的图像部分,以减少在识别过程中对于与透明玻璃瓶无关的背景的计算负担。

如下列步骤所述:依据所述裁切图像生成预设分辨率的所述当前检测图像。

需要说明的是,将裁切后的只保留有所述原始图像中检测区域中的内容的所述裁切图像进行压缩,压缩至尺寸为128×64像素的矩形图像;再将压缩后的该矩形图像通过最大值法转化为灰度图像,该灰度图像则为最终的所述检测图像。将所述检测图像输入到本实施例采用的改进的LeNet5神经网络中进行特征提取和特征分类。

如所述步骤S140所述,通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。

参照图13-17在一具体实现中,在实际生产线的传送带的预设位置制作暗房,例如:将黑布铺在矩形框架上,保证框架内部空间折光性良好。

在暗房的框架上安装CCD摄像机,在平行于传送带的框架上安装长宽大于待测透明玻璃瓶的矩形灯板,其中,灯板放置的位置要使从传送带缓慢平移至暗室的待测玻璃瓶被矩形灯板完全包含(如图14);CCD摄像机放置的位置正对灯板,角度要满足拍摄出完整的矩形灯板。

待测透明玻璃瓶在传送带上缓慢移动到暗室中时,当玻璃瓶位置在矩形灯板正中央使,CCD摄像机拍摄此时玻璃瓶和灯板组合的图像。

CCD摄像机与配置有Win10系统、NVIDA3080Ti GPU、机器视觉库Opencv、基于Python语言的Pytorch深度学习框架、8G RAM的计算机相连接,拍摄到的照片发送至计算机。

在接收到图像后运用开运算的预处理方法对其进行降噪处理。

降噪处理后的彩色图像使用最大值法进行灰度化操作,将彩色图像转换为灰度图像。

使用LSD直线检测算法从灰度图中检测直线,即检测出矩形灯板的四条边所包含的区域。

将检测出的矩形灯板的四条边所包含的彩色图像的区域设置为兴趣区域,剪切保留彩色图像中兴趣区域,删除彩色图像中的非兴趣区域部分。

将剪切保留后的彩色兴趣区域图像压缩至128×64像素,在进行灰度化。

将128×64像素的灰度图像输入到训练好的改进的改进的LeNet5神经网络中。

由改进的改进的LeNet5神经网络对兴趣区域图像进行特征提取、缺陷分类;将兴趣区域图像中的透明玻璃瓶分为“无缺陷”“异物”“裂痕”“污染”4类。

被改进的改进的LeNet5神经网络分类为无缺陷的图像所对应的透明玻璃瓶为质量合格产品,被Resnet神经网络分类为有缺陷的图像所对应的透明玻璃瓶为质量不合格产品。

分拣出检测为质量不合格的产品,将质量合格的产品移交到下一生产流程。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

参照图18,示出了本申请一实施例提供的一种基于深度学习和直线检测的玻璃瓶缺陷检测装置,所述装置应用于采用CCD摄像机获取图像数据的缺陷检测;

具体包括:

对应关系建立模块1810,用于利用人工智能的自学习能力,建立检测目标对应的检测图像的图像特征与所述检测目标的质量分类之间的对应关系;其中,所述质量分类包括无缺陷、有裂痕、有污染和有异物;

检测区域确定模块1820,用于获取当前检测目标的原始图像,并确定所述原始图像中的检测区域;

当前检测图像生成模块1830,用于依据所述检测区域和所述原始图像生成对应于所述当前检测目标的当前检测图像;

当前质量分类确定模块1840,用于通过所述对应关系,确定与所述当前检测图像对应的当前图像特征所对应的当前质量分类;具体地,确定与所述当前图像特征对应的当前质量分类,包括:将所述对应关系中与所述当前图像特征相同的图像特征所对应的质量分类,确定为所述当前质量分类。

在本发明一实施例中,所述检测区域确定模块1820,包括:

开运算图像生成子模块,用于生成对应于所述原始图像的开运算图像;

线段区域确定子模块,用于确定所述开运算图像中线段尺寸大于所述检测目标对应位置尺寸的线段区域;

检测区域生成子模块,用于依据所述线段区域生成所述检测区域。

在本发明一实施例中,线段区域确定子模块,包括:

灰度图像生成子模块,用于当所获取的所述原始图像为彩色图像时,生成所述开运算图像对应的灰度图像;

第一线段区域确定子模块,用于确定所述灰度图像中大于所述检测目标对应位置尺寸的线段区域;

或;

第二线段区域确定子模块,用于当所获取的所述原始图像为黑白图像时,确定所述开运算图像中大于所述检测目标对应位置尺寸的线段区域。

在本发明一实施例中,所述检测区域生成子模块,包括:

检测区域设置子模块,用于将所述线段区域所包围的区域设置为所述检测区域。

在本发明一实施例中,所述当前检测图像生成模块1830,包括:

区域坐标确认子模块,用于确定所述原始图像中与所述检测区域相对应的区域坐标;

当前检测图像生成子模块,用于依据所述原始图像中所述区域坐标以内的图像数据生成所述当前检测图像。

在本发明一实施例中,所述当前检测图像生成子模块,包括:

裁切图像生成子模块,用于依据所述原始图像中所述区域坐标以内的图像数据生成裁切图像;

预设分辨率当前检测图像生成子模块,用于依据所述裁切图像生成预设分辨率的所述当前检测图像。

在本发明一实施例中,所述对应关系建立模块1810,包括:

获取子模块,用于获取用于建立所述图像特征与所述质量分类之间的对应关系的样本数据;

分析子模块,用于分析所述图像特征的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;

训练子模块,用于使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述图像特征与所述质量分类的所述对应关系。

在本发明一实施例中,所述获取子模块,包括:

收集子模块,用于收集不同样品的所述图像特征与所述质量分类;

分析子模块,用于对所述图像特征进行分析、并结合预存的专家经验信息,选取与所述质量分类相关的数据作为所述图像特征;

样本数据生成子模块,用于将所述质量分类、以及选取的所述图像特征构成的数据对,作为样本数据。

在本发明一实施例中,

所述训练子模块,包括:

训练结果生成子模块,用于选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述图像特征输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;

训练结果误差判断子模块,用于确定所述实际训练结果与所述训练样本中的相应质量分类之间的实际训练误差是否满足预设训练误差;

训练完成判定子模块,用于当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;

和/或,

测试子模块,用于对所述网络结构和所述网络参数进行测试,包括:

测试结果生成子模块,用于选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述图像特征输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完成的所述网络参数进行测试,得到实际测试结果;

测试结果误差判断子模块,用于确定所述实际测试结果与所述测试样本中的相应质量分类之间的实际测试误差是否满足设定测试误差;

测试完成判定子模块,用于当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。

在本发明一实施例中,

所述训练子模块,还包括:

网络参数更新子模块,用于当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;

第一重训练子模块,用于通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;

和/或,

所述测试子模块,还包括:

第二重训练子模块,用于当所述实际测试误差不满足所述设定测试误差时,对所述网络结构和所述网络参数进行重新训练,直至所述重新训练后的实际测试误差满足所述设定测试误差。

在本发明实施例中,本发明还提供一种设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的基于深度学习和直线检测的玻璃瓶缺陷检测方法的步骤。

在本发明实施例中,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的基于深度学习和直线检测的玻璃瓶缺陷检测方法的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的基于深度学习和直线检测的玻璃瓶缺陷检测方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号