一种基于深度学习的模切产品表面缺陷检测方法

文档序号:31328734发布日期:2022-08-31 06:24阅读:217来源:国知局
一种基于深度学习的模切产品表面缺陷检测方法

1.本发明涉及机器视觉领域,尤其涉及一种基于深度学习的模切产品表面缺陷检测方法。


背景技术:

2.制造业是我国国民经济的支柱之一,一个国家的繁荣必须有强大的制造业来支撑。建设具有国际竞争力的制造业,对于增强我国综合国力有着十分重要的推动作用。随着我国制造业的迅速发展,全球制造业的中心已经逐步向中国转移。在制造业生产能力、制造能力不断提升的同时,对所生产的产品质量也提出了越来越高的要求。
3.模切机,又称为圆刀机,是工业制造中常见的生产机器,它通过生产线上不同的刀具配合旋转进行模切加工,并通过压印板施加一定的压力,将印品或原料轧切成一定形状。模切产品被广泛应用于手机、手表、电脑和电视机等常见电子电器设备中,模切产品的质量决定着后续生产的电子电器设备的好坏。对模切机来说,张力的控制和送料的平整度非常重要,由于模切机一直处在高速运行状态,张力不断变化可能导致设备过载或者用料平整度变差,致使所生产的模切产品产生各种缺陷。如果模切产品存在异物、褶皱、划痕等各种缺陷就会极大程度影响电子产品的性能与质量,从而给使用者带来无法估量的损失,所以对模切产品进行高效、准确的缺陷检测是模切生产过程中必不可少的一个环节。
4.目前模切行业对于模切产品的检测普遍采用人工目视全检的方法,人工目视检测主要依靠测量仪器和工人经验,通过肉眼对模切产品表面缺陷进行判别,此方法存在以下不足之处:人眼的空间分辨率有限,难免有漏检和误检的情况发生;操作工人的精力有限,长期的单一劳动,容易用眼疲劳,从而导致检测效率不断下降,无法支持海量生产的需求;人工目检会占用较多的人力资源,从长远看来,人工成本相对较高,这无疑增加了企业的生产成本压缩了利润;对缺陷样本没有建立数据存档,无法对检测过程进行回溯分析与改进。
5.近年来,随着计算机硬件性能不断提升,人工智能的异军突起,基于深度学习的表面缺陷检测方法越来越多的应用到实际工业生产检测领域中。具有较强自主学习能力的深度学习网络模型,能够从输入样本中进行特征提取,相比传统的机器视觉方法,减小了人工特征提取时产生的误差。虽然深度学习相关技术已经广泛应用于钢材、瓷砖、布匹等质量检测领域,但却还未被应用于模切行业的工件表面缺陷检测领域。


技术实现要素:

6.为了解决上述现有技术中存在的不足,本发明对基于深度学习的模切产品表面缺陷检测方法进行研究,为模切行业中的智能缺陷检测问题提供了一种新的解决方案。
7.本发明解决上述技术问题所采用的技术方案为:一种基于深度学习的模切产品表面缺陷检测方法,其特征在于,包括以下步骤:获取模切产品表面图像;将模切产品表面图像输入表面特征提取网络模型获得模切产品表面特征;输入模切产品表面特征至表面缺陷检测网络模型进行表面缺陷检测并输出表面缺陷检测结果。
8.进一步的,将模切产品表面图像输入表面特征提取网络模型获得模切产品表面特征具体包括:将模切产品表面图像输入至表面特征提取网络模型获取至少一个尺度的特征图,所述特征图为至少一个特征的集合,所述表面特征提取网络模型包括残差网络模型和改进特征金字塔网络模型。
9.进一步的,改进特征金字塔网络模型包括旁路路径。表面特征提取网络模型还包括可变形卷积网络模型,其中,可变形卷积网络模型为原有的卷积网络模型中增加一条卷积支路,卷积支路用于输出偏移量,偏移量和待处理特征图共同输入至可变形卷积网络模型得到所述特征图。
10.进一步的,输入模切产品表面特征至表面缺陷检测网络模型进行表面缺陷检测并输出表面缺陷检测结果具体包括:根据特征图获取对应的候选区域;将模切产品表面图像与特征图进行映射得到映射关系,并将映射关系赋予特征图对应的候选区域得到该候选区域对应的特征矩阵;将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵;将尺寸大小相同的特征矩阵展平处理为一维的特征向量;根据特征向量进行表面缺陷检测并输出表面缺陷检测结果。
11.进一步的,表面缺陷检测网络模型包括区域候选网络模型、感兴趣区域池化网络模型和全接连层。其中区域候选网络模型用于根据特征图获取对应的候选区域,感兴趣区域池化网络模型用于将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵,全接连层用于根据特征向量进行表面缺陷检测并输出表面缺陷检测结果,全接连层包括类别检测层和边界框回归检测层。
12.进一步的,区域候选网络模型包括anchor生成器,anchor生成器基于k-means聚类算法设置合理的anchor宽高比。
13.进一步的,感兴趣区域池化网络模型用于将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵具体包括:感兴趣区域池化网络模型使用roi align,使用双线性插值方法每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵。
14.进一步的,使用图像采集设备获取模切产品表面图像,图像采集设备包括相机和光源。
15.进一步的,使用表面缺陷检测软件运行基于深度学习的模切产品表面缺陷检测方法,表面缺陷检测软件包括检测显示模块、功能设置模块和信息记录模块;检测显示模块用于显示模切产品表面图像和表面缺陷检测结果,表面缺陷检测结果包括表面缺陷所在位置与表面缺陷类别;功能设置模块用于确定检测源、设置检测置信度的阈值、调节检测光源以及控制检测系统开启与停止;信息记录模块用于是记录模切产品表面的缺陷检测信息,缺陷检测信息包括包括检测时间、检测过程和检测结果等至少一个信息,信息记录模块还用于将缺陷检测信息写入文件并保存在本地。
16.进一步的,使用数据集训练表面特征提取网络模型和表面缺陷检测网络模型;数据集包括模切产品表面样本图像和模切产品表面增广图像,模切产品表面增广图像为对模切产品表面样本图像进行增广处理得到的图像,模切产品表面样本图像包括信息记录模块记录的表面缺陷检测过程中使用到的模切产品表面图像。
17.进一步的,使用数据集训练表面特征提取网络模型和表面缺陷检测网络模型之前还包括:对模切产品表面样本图像和模切产品表面增广图像进行人工标记,所述人工标记
包括确定缺陷所在位置以及对缺陷进行类别标记。
18.与现有技术相比,本发明的优点在于:
19.1、使用机器视觉代替人工肉眼大大提高表面缺陷检测的精度及速度;
20.2、所设计的表面缺陷检测模型网络部署在软件系统中,通过将硬件设备采集到的模切产品表面图像送入软件系统完成检测,可视化检测过程与结果,帮助检测人员更加快捷高效的完成模切产品的表面缺陷检测;
21.3、自动提取模切产品表面缺陷特征,训练过程简单,且针对模切产品的尺寸特点进行调整检测,更有可行性;
22.4、对检测的模切产品形状和材质没有特定要求,实用性强。
附图说明
23.图1为本发明的原理框图;
24.图2为本发明中残差网络模型的结构示意图;
25.图3为本发明中残差网络模型与改进特征金字塔网络模型结构示意图;
26.图4为本发明中表面缺陷检测网络模型的原理框图;
27.图5为本发明中表面缺陷检测网络模型中k-means聚类算法流程图;
28.图6为本发明中roi align双线性插值法实现示意图;
29.图7为本发明中的表面缺陷检测软件结果示意图;
具体实施方式
30.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
31.实施例一:如图1所示,一种基于深度学习的模切产品表面缺陷检测方法,包括以下步骤:获取模切产品表面图像;将模切产品表面图像输入表面特征提取网络模型获得模切产品表面特征;输入模切产品表面特征至表面缺陷检测网络模型进行表面缺陷检测并输出表面缺陷检测结果。
32.本实施例中,使用图像采集设备来获取模切产品的表面图像,采集清晰的模切产品表面图像有利于后续的检测处理。
33.一些示例中,图像采集设备可为摄像头、摄像机、相机、扫描仪以及其他带有拍照功能的设备(手机、平板电脑等),本领域技术人员可根据需求选择图像采集设备,本发明在此不作限定。
34.一些示例中,图像采集设备可包括相机和光源,光源用于给采集物体进行打光,凸显物体本身,相机和光源需要进行选型与搭配设计。由于模切产品尺寸大多较小,多为毫米级别,所以表面缺陷尺寸更小,为了获取更加清晰、高质量的图像,对选取的相机的要求较高,同时也为了适应于今后图像采集设备量产的需求,对相机的成本需要进行一定的控制。
35.一些示例中,可使用是jhum1200bs型号的usb3.0接口的工业cmos数字摄像机。该相机的主要参数如下表所示:
36.物理量参数
有效像素1200万帧率15fps传感器型号mt9j003外壳尺寸47x29x29mm光谱黑白数据接口usb3.0像元尺寸1367x1.67um
37.工业cmos数字摄像机使用cmos全局曝光传感器,数据传输最高速度可达5gbps,usb线缆带锁紧装置,可以使连接更加稳定,外壳为全金属材料,不仅精密美观还可以在一定程度上防止电磁干扰。相机内置32mb内存作为帧缓存,使传输更加稳定,适用于各种工业生产应用场合。相机配套提供sdk开发包,使之更能适用于模切机产品表面缺陷检测系统的要求进行相机的二次开发。
38.工业cmos数字摄像机的镜头采用的是jhhf1220-5m工业相机镜头,镜头参数如下表所示:
39.物理量参数焦距12mm工作距离0.1m-1.5m
40.本实施例中,获取清晰的模切产品表面图像离不开图像采集设备中合理的光源配置,光源的配置对所拍摄的模切产品表面图像的质量有很大的影响。
41.一些示例中,针对模切产品的尺寸、缺陷尺寸与其表面易反光的特点,采用同轴光源,同轴光源提供了比传统光源更均匀的照明,够凸显物体表面不平整,克服表面反光造成的干扰,主要用于检测物体平整光滑表面的碰伤、划伤、裂纹和异物,提高了本实施例中图像采集设备的准确性和重现性,。
·
42.一些示例中,图像采集设备中的光源为c-370-r红光同轴光源。
43.一些示例中,图像采集设备还包括控制器用以调节光源亮度,控制器可采用kac-24v300w-1t-2p高功率控制器。
44.本实施例通过合理的选取和放置光源,使缺陷的特征更加突出,让缺陷和背景更好的区分开来获取更清晰的图像,减少在检测处理中无关项的干扰,更有效的获取缺陷的特征,提高检测的效率和准确度,最终提高整个模切产品表面缺陷的检测速度和准确率。
45.一些示例中,使用机械检测设备自动化获取模切产品表面图像。机械检测设备包括放料处、收料处、传送装置和图像采集设备,将需要检测的模切产品放在机械检测设备的放料处,设备开始运转后,放料处的轴承和收料处的轴承开始转动,带动模切产品通过传送装置开始在机械检测设备上传送,模切产品被传送通过图像采集设备拍摄区域,图像采集设备中的相机对模切产品的表面的进行图像采集并保存传输图像用以后续的处理分析。
46.实施例二:与实施例一不同的是,本实施例还包括将所述模切产品表面图像输入至所述表面特征提取网络模型获取至少一个尺度的特征图,特征图为至少一个特征的集合。表面特征提取网络模型包括残差网络模型和改进特征金字塔网络模型,改进特征金字塔网络模型包括旁路路径。表面特征提取网络模型还包括可变形卷积网络模型,其中,可变形卷积网络模型为原有的卷积网络中增加一条卷积支路,卷积支路用于输出偏移量,偏移
量和待处理特征图共同输入至可变形卷积网络模型得到特征图。
47.在深度学习目标检测领域,卷积神经网络(convolutional neural network,cnn)作为骨干网络用于特征提取是最基础也是最关键的一个部分。从本质上来看,卷积神经网络是一种非线性的输入与输出的映射,它通过共享权值和局部感知机制来保证平移不变性,使得计算量极大的降低,相比传统的人工神经网络又很大程度上提升了网络的训练性能。卷积神经网络对于数据的输入要求不高,并且能够通过各层网络自动学习图像的特征,使得模型的计算效率大大提高。
48.卷积神经网络通常由输入层、卷积层、池化层和全连接层等组成。卷积神经网络具有前馈神经网络的特征,承载了深层的信息处理过程。信息数据从输入层输入网络,通过卷积层利用卷积核对输入信息数据进行局部感知,获得特征图,并将每层获得特征图输入到下一层,一层一层的加工处理,最后到输出。对用于图像分类的卷积神经网络,输入一张图像,经过多层卷积、池化、全连接层的操作,得到最终的输出是一组分类的概率。
49.卷积层作为卷积神经网络中最独特也是最重要的网络结构,通常由卷积核和非线性激活函数两部分组成。卷积层的特性是其拥有局部感知机制和权值共享功能,其目的是对图像进行特征提取。卷积核采用稀疏连接的方式,每个节点的输入可能只是上一个节点的一部分。卷积核通过滑窗的方式进行卷积运算,同一模型中的不同特征图共享卷积核权重参数,通过设定卷积层中卷积核的个数来获取图像中不同层次的特征图,这种方式大大的减少了需要计算的参数变量,减小了神经网络的规模。一般地,浅层网络学习图像的整体风格和边缘信息,深层网络可以学习图像的高级语义信息,所以通过多层卷积核的串并联可以更好地学习与挖掘图像的特征。
50.本实施例中,为了提高表面特征提取网络模型对模切产品表面缺陷特征的感知能力,采用网络深度更深、参数计算量相对较小的残差网络模型resnet50作为骨干网络。残差网络模型是卷积神经网络模型中的一种,具有容易优化,并且能够通过增加相当的深度来提高准确率的优点,而resnet50是resnet残差网络系列的代表网络模型之一。
51.参照图2,resnet50网络模型的结构模块被称为bottleneck design,包括三个卷积层,其中第一个1
×1×
64的卷积层用来降维,第二个为3
×3×
64的卷积层,最后一个1
×1×
256卷积层用来升维,而改进之前该模块为两个3
×3×
256的卷积。下表为resnet各种深度网络的具体结构:
[0052][0053]
resnet50首先通过7
×7×
64的卷积层,步距为2,然后经过3+4+6+3=16个building block,每个block有3个卷积层,所以共经过48层卷积层,最后通过全连接层输出分类结果,共有50层网络。其中计算的网络层数仅包括卷积层和全连接层,而激活层或者池化层不计算在内。
[0054]
本实施例中使用resnet50网络模型作为表面特征提取网络模型的骨干网络模型,网络的参数减少、深度加深,减少了模型的训练时间。
[0055]
但是深度卷积神经网络在提取图像特征的过程中图像尺寸会经过多次降采样操作而不断缩小,使得本来就占像素较少的小目标缺陷更难以被捕捉,给检测带来了困难,所以需要对表面特征提取网络模型进行改进来解决这个问题。
[0056]
为了解决这个问题,本实施例中表面特征提取网络模型还包括改进特征金字塔网络模型,其中,改进特征金字塔网络模型包括旁路路径。
[0057]
传统特征金字塔网络模型(feature pyramid networks,fpn)将不同尺度的特征层进行融合,在深度网络中加入多尺度检测方法可以对图像特征进行缩放以获得目标区域的多个尺度,从而提升深度网络对于超大或超小目标的检测性能,提升了对多尺度变化目标的检测精度,但是在特征金字塔网络模型利用卷积神经网络自身的降采样过程进行特征提取时,最浅层特征通过四个残差模块的降采样,其特征信息必然会有所丢失,可能导致最高层特征图所具有的位置信息较弱。
[0058]
因此,本实施例的改进特征金字塔网络模型是在传统特征金字塔网络模型网络模型现有结构的基础之上增加了一条自下而上的旁路路径,减少了采样过程中特征信息的丢失,使最终获得的各层特征图所包含特征信息更加全面,增强了网络特征融合的效果。
[0059]
参照图3,本实施例采用的resnet50网络模型加改进特征金字塔网络模型的表面特征提取网络模型主要由自下而上、自上而下和旁路路径三部分组成:
[0060]
表面特征提取网络模型自下而上的路径过程是深度神经网络resnet50网络模型提取特征的正常过程,用于特征提取的resnet50共有5个卷积模块,卷积模块conv1至conv5_x中每层的卷积步长stride为2,每次经过一个模块的卷积操作,输出特征图尺寸为输入的1/2,以此往后类推。
[0061]
表面特征提取网络模型自上而下的路径过程是从分辨率最低的高层特征图开始进行上采样,每一次的操作后输出特征图的尺寸会是输入的两倍,这样图中自上而下部分产生的四层特征图m5-m2会和图中自下而上部分的后四层特征图拥有相同的尺寸大小,将两个部分相同尺寸的特征图相加并分别进行3
×
3卷积操作,获得特征金字塔网络模型的输出特征图p2至p5。
[0062]
表面特征提取网络模型旁路路径部分是将p2作为最浅层特征图n2,对n2进行2倍降采样再和p3相加得到n3,将n2进行4倍下采样再和p4相加得到n4,将n3进行4倍下采样再和p5相加得到n5,将旁路路径融合后所获得的n2至n5分别通过3
×
3的卷积运算消除混叠效应,得到融入改进特征金字塔结构的表面特征提取网络模型的输出o2、o3、o4和o5,用于进行后续检测任务。
[0063]
本实施例中的表面特征提取网络模型中的改进特征金字塔网络通过添加旁路路径使得高层特征图中所包含的特征信息得到进一步增强,旁路路径采用跳跃连接的方式使得非相邻特征层的特征信息得到更紧密的联系,从而使得特征融合效果进一步提升。
[0064]
本实施例中的表面特征提取网络模型还包括可变形卷积网络模型以适应模切产品表面不同形状的缺陷。
[0065]
在可变形卷积网络模型中,在做卷积运算时用于提取特征的计算方式如下式所示:
[0066][0067]
其中,p0是待处理特征图中每个像素点的位置,pn是卷积核对应的采样位置,w为采样点的权重值,δpn为偏移量。
[0068]
可变形卷积网络模型是在原来的卷积网络增加一条额外的卷积支路得到的卷积网络模型,该卷积支路用于输出一个偏移量,其中包括x和y两个方向的偏移,再将学习到的偏移量和待处理特征图共同输入可变形卷积网络模型得到新的特征图用于后续处理。
[0069]
融入可变形卷积网络模型的表面缺陷特征提取网络模型可以随着模切产品表面缺陷形态的变化,如黑线或气泡等形态,而自适应的改变,一定程度上消除了常规卷积网络的固有限制,使特征信息的融合更加灵活,提高了表面特征提取网络模型对模切产品表面缺陷的特征提取能力,更有利于后续的模切产品表面缺陷检测。
[0070]
实施例三:与上述实施例不同的是,参照图4,本实施例还包括输入模切产品表面特征至表面缺陷检测网络模型进行表面缺陷检测并输出表面缺陷检测结果的步骤具体包括:根据特征图获取对应的候选区域;将模切产品表面图像与特征图进行映射得到映射关系,并将映射关系赋予特征图对应的候选区域得到该候选区域对应的特征矩阵;将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵;将尺寸大小相同的特征矩阵展平处理为一维的特征向量;根据特征向量进行表面缺陷检测并输出表面缺陷检测结果。
[0071]
表面缺陷检测网络模型包括区域候选网络模型、感兴趣区域池化网络模型和全接连层;
[0072]
其中区域候选网络模型用于根据特征图获取对应的候选区域,感兴趣区域池化网络模型用于将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵,全接连层用于根据所述特征向量进行表面缺陷检测并输出表面缺陷检测结果,所述全接连层包括类别
检测层和边界框回归检测层。
[0073]
区域候选网络模型(region proposal network,rpn)本质上是全卷积网络,在卷积神经网络中,全连接层只能接受固定大小的输入,但是由rpn网络模型生成的候选区域经过不同尺度的anchor和检测框回归参数修正后其大小是多尺寸的,所以不能直接将这些候选区域直接与全连接层相连,因此采用感兴趣区域池化网络模型将输出转换为固定大小的尺寸。感兴趣区域池化网络模型首先将候选区域映射到特征图上获得特征矩阵,再将不同大小的特征矩阵通过池化操作变成大小相同的特征矩阵,然后将特征矩阵转化为一维特征向量,再输入到两个并联的全连接层中,一个全连接层用于目标概率的检测,另一个全连接层用于边界框回归参数的检测。
[0074]
获取到的模切产品表面图像经过表面特征提取网络模型进行特征特取,得到4个尺度的特征图,将特征图输入到表面缺陷检测网络模型的区域候选网络模型rpn网络模型中会得到一系列的候选区域,然后将这些候选区域根据原模切产品表面图像与特征图的映射关系得到特征矩阵,将每个候选区域对应的特征矩阵输入到表面缺陷检测网络模型的感兴趣区域池化网络模型就能获得相同大小的特征矩阵,接着再通过展平处理,使之成为一维的特征向量,再分别通过表面特征提取网络模型的两个全接连层,即类别检测层和边界框回归检测层,获得表面缺陷检测结果。
[0075]
一些示例中,设置通过感兴趣区域池化网络模型输出的特征矩阵尺寸大小为7
×
7。要将输出尺寸固定为7
×
7大小的特征矩阵,则需要将一个候选区域平均分为49份,对每部分进行最大池化操作(max-pooling)即取局部接受域中值最大的点,从而可获得49个值。以这种方式可以进行多个尺度的max pooling池化操作,再将池化后的结果进行拼接,使得每个候选区域通过感兴趣区域池化网络模型后能输出尺寸大小固定的特征矩阵,也从而使得表面缺陷检测网络模型不需要限制输入图像的尺寸。
[0076]
实施例四:与上述实施例不同的是,本实施例中的区域候选(rpn)网络模型包括anchor生成器,anchor生成器基于k-means聚类算法设置合理的anchor宽高比。
[0077]
本实施例对区域候选(rpn)网络模型的设计由三部分组成,rpn head、anchor生成器(anchor generator)和正负样本采样与损失计算。
[0078]
一些示例中,特征图输入rpn网络后的第一个卷积层为3
×
3的卷积核(滑动窗口),卷积核的个数为输入的特征图的深度,卷积操作步距stride为1,padding为1,输出深度不变,再通过relu激活函数输入后续网络。
[0079]
一些示例中,卷积层类别检测层cls layer对应的检测器用于计算检测的目标类别分数,其卷积核大小为1
×
1,为简化模型的计算量将该层卷积核个数为num-anchor即检测特征层上anchor个数由2k改为k,即只需计算目标为前景的分数而舍去计算其为背景的概率,步长stride为1。卷积层边界框回归检测层reg layer对应的检测器用于计算检测目标边界框回归参数,其卷积核大小为1
×
1,卷积核个数为4k,步距stride为1。
[0080]
在anchor生成器(anchor generator)中,需要对anchor参数进行设置,在原始的检测网络模型中anchor面积为{1282,2562,5122}三种,anchor的宽高比为{1:1,1:2,2:1}三种,一共有3
×
3=9种固定anchor尺寸,但是这些anchor的参数设置主要针对人、车和动物等典型的目标检测,这些检测目标的特点是面积相对较大,尺寸跨度较小。而由于模切产品表面缺陷的特殊性,其缺陷尺寸跨度大、小缺陷居多,所以设置合理的anchor面积与宽高比
成为提升表面缺陷检测准确度的关键因素之一。
[0081]
本实施例中anchor生成器基于k-means聚类算法设置合理的anchor宽高比和面积,其算法流程如图5所示。
[0082]
k-means聚类算法流程可分为4个步骤:
[0083]
1.设定k的值并随机初始化k个聚类中心;
[0084]
2.针对每个样本点分别计算其到k个聚类中心的最小距离,并把它归类到其聚类中心所对应的簇中;
[0085]
3.对各簇中的样本点计算平均值并设为新的聚类中心;
[0086]
4.重复上述2和3步骤,直到重新计算的各簇均值不再发生改变,则停止迭代,输出结果。
[0087]
一些示例中,通过k-means聚类算法设置k=3找到了anchor比较合理的宽高比,设置anchor面积为{16,32,64,128,256},设置anchor宽高比为{0.2,1.27,8.44},从而更符合模切产品表面缺陷的特点,提升了rpn网络模型生成候选区域的稳定性。
[0088]
一些示例中,anchor生成器和rpn head中的计算值可以得到待定候选区域后还可以再利用非极大值抑制(nms)过滤去除一部分待定候选区域得到最终的候选区域。
[0089]
本实施例中,区域候选(rpn)网络模型的训练属于监督学习过程,在训练过程中需要选取一部分候选区域进行损失计算。
[0090]
一些示例中,用以损失计算的正负样本中的划分由以下情况构成:
[0091]
正样本的划分条件为:若anchor与真实目标框的交并比大于0.7则设为正样本;若通过情况1无法获得正样本,则将与真实目标框交并比最大的anchor设为正样本。
[0092]
负样本的划分条件为:与所有gt框(ground truth box)的iou均小于0.3的anchor划分为负样本,其中intersection over union(iou)是一种测量在特定数据集中检测相应物体准确度的一个标准。
[0093]
对于划分为正负样本之外的anchor全部丢弃。
[0094]
rpn网络的损失函数如下式所示:
[0095][0096]
其中,为分类损失,为边界框回归损失,pi表示第i个anchor为真实标签的概率,当为正样本时为1,当为负样本时为0,ti表示第i个anchor的边界框回归参数,表示第i个anchor对应的真实目标边界框,n
cls
表示一个批次中输入的所有样本数,n
reg
表示anchor边界框位置的总数,为平衡参数,用于平衡两部分的损失使得分类和边界框回归的损失都能得到较为合理的考量。
[0097]
一些示例中,设置类别检测层(cls layer)对anchor类别为k,则上式中分类损失部分采用二类别交叉熵损失如下式:
[0098]
[0099]
其中,pi和的定义和上式相同。
[0100]
对于边界框回归检测层(reg layer)的边界框回归损失部分,采用smoothl1损失函数:
[0101][0102][0103]
其中,ti=[t
x
,ty,tw,th]表示第i个anchor的边界框回归参数,表示预测的第i个anchor对应真实目标边界框的回归参数。具体地,anchor、预测的和真实目标边界框三者的关系为:
[0104][0105][0106][0107][0108]
实施例五:与上述实施例不同的是,本实施例中的感兴趣区域池化(roi pooling)网络模型用于将每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵具体包括:感兴趣区域池化(roi pooling)网络模型使用roi align,使用双线性插值方法每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵。
[0109]
由于全连接层的输入大小必须固定,因此需要通过感兴趣区域池化(roi pooling)网络模型将rpn网络模型输出的特征矩阵转化为固定的大小尺寸,然后通过展平处理将特征矩阵转化为一维特征向量,输入到两个并联的全连接层中。
[0110]
常规的roi pooling网络模型过程中有两个取整的操作,一次是在将候选区域建议框按比例缩放投影到原图对应的特征图上时,对原图尺寸进行缩放时,rpn输出的候选区域建议框的坐标值通常是浮点数,但是为了方便求平均计算通常会进行取整操作,另一次是通过将前一次整数化后的区域平均分成n
×
n份,对每个部分的边界进行取整操作。经过两次取整操作后会导致“精度丢失问题”,使得经过roi pooling获得的候选框和最初回归的候选框的位置产生了偏差,因此本实施例中使用了roi align,使用双线性插值方法代替取整操作。
[0111]
一些示例中,如图6所示,若要将虚线框缩放为2
×
2,先将区域按要求进行4等分,然后在每个等分中再取固定的4个点也就是图中红色点所示,每个红色点的值为距它最近的4个真实像素点的值(用q11、q12、q21、q22表示)按比例求和,图中红色点的值计算公式为:
[0112][0113]
在图像处理的实际应用中,由于q
11
、q
21
、q
12
、q
22
是四个相邻的像素点,所以有x
2-x1=1,y
2-y1=1,再令x-x1=u,y-y1=v代入(3.7)中进一步化简得到
[0114]
f(x,y)=(1-u)(1-v)f(q
11
)+u(1-v)f(q
21
)+(1-u)vf(q
12
)+uvf(q
22
)
[0115]
一个等分中会有4个新值,取其中的最大值作为其输出,最后得到的2
×
2输出。
[0116]
本实施例中的感兴趣区域池化(roi pooling)网络模型使用roi align,具体的使用双线性插值方法每个候选区域对应的特征矩阵处理为尺寸大小相同的特征矩阵,使得感兴趣区域池化(roi pooling)网络模型的准确性得到提高。
[0117]
实施例六:与上述实施例不同的是,本实施例中使用表面缺陷检测软件运行基于深度学习的模切产品表面缺陷检测方法,表面缺陷检测软件1包括检测显示模块11、功能设置模块12和信息记录模块13。
[0118]
检测显示模块11用于显示模切产品表面图像和表面缺陷检测结果,表面缺陷检测结果包括表面缺陷所在位置与表面缺陷类别。功能设置模块12用于确定检测源、设置检测置信度的阈值、调节检测光源以及控制检测开启与停止。信息记录模块13用于是记录模切产品表面的缺陷检测信息,缺陷检测信息包括包括检测时间、检测过程和检测结果等至少一个信息,信息记录模块还用于将缺陷检测信息写入文件并保存在本地。
[0119]
一些示例中,使用python3.6+pyqt5进行表面缺陷检测软件1的设计和实现,启动检测后表面缺陷检测软件1执行流程如下:打开表面缺陷检测软件1点击快速启动,先判断是否设置了检测置信度阈值,如未设置需进行设置后再此点击“快速启动”开始检测,如已设置表面缺陷检测软件1就会同步获得工业相机拍摄中的视频流对视频流进行帧提取或者是本地的模切产品表面图像送入表面缺陷检测网络模型,将提取到的一帧图像或本地文件中每幅图像,先在原图相框中显示并对检测结果进行分析,如果未检测到缺陷,在缺陷结果框中提示“无缺陷”且在检测结果图相框中显示无缺陷的图像,并进入下一帧的检测,如果检测到缺陷,则在缺陷结果框中依次显示缺陷的类别与置信度,并且在检测结果图相框中显示有缺陷的图像,图像中的检测框也包含了缺陷类别和置信度,同时输出一个控制信号用于停止模切产品的传动,将存在缺陷的模切产品表面图像保存到本地,之后再进入下一帧的检测,如此循环,当检测完成后则会自动生成检测日志,结束检测流程。
[0120]
一些示例中,检测显示模块11包括显示主界面,显示主界面中可包括检测图像显示、检测源选择、光源亮度控制、启停控制、检测信息置信度阈值设置和存储路径等信息的显示。
[0121]
一些示例中,检测图像显示可分为左右两侧图像显示框,其中左侧图像显示框用于显示待检测的模切产品表面原始图像,右侧的图像显示框中用于显示通过表面缺陷检测网络模型检测后的模切产品表面检测结果图像,如果模切产品表面存在缺陷则会在模切产品表面检测结果图像中标出缺陷所在的位置和缺陷类别,并且在检测信息中显示缺陷信息。
[0122]
一些示例中,表面缺陷检测软件1可以对输入的检测源进行选择,可以获取工业相
机拍摄的视频流进行帧提取,对每一帧图像进行检测,也可以检测本地中的待检测模切产品表面图像,默认选择相机视频流作为输入检测源。
[0123]
一些示例中,光源亮度控制用于对同轴光源进行亮度调节以获取更加清晰的检测图像。
[0124]
一些示例中,启停控制用于控制检测的开启、暂停与终止,当检测结束或点击“检测终止”时,则会保存该轮检测所检测到的模切产品表面缺陷图像和检测日志文件。
[0125]
一些示例中,检测信息用于显示单次检测的检测结果,若检测到缺陷,则会将该次检测中检测到的所有缺陷类别和置信度显示在检测信息文本框中,若没有检测到缺陷,则在检测信息文本框中输出“无缺陷”。
[0126]
一些示例中,置信度阈值设置用于设置检测的置信度阈值,只有检测到的目标置信度大于该值,才会被系统认定为缺陷用于输出和显示。
[0127]
一些示例中,置信度阈值默认值设置为0.8。
[0128]
一些示例中,可设置用于存储检测到的缺陷图像和检测日志文件的路径,默认设置为当前项目文件下的result文件夹中。
[0129]
实施例七:与上述实施例不同的是,本实施例中使用数据集训练表面特征提取网络模型和表面缺陷检测网络模型。数据集包括模切产品表面样本图像和模切产品表面增广图像,模切产品表面增广图像为对模切产品表面样本图像进行增广处理得到的图像,模切产品表面样本图像包括信息记录模块13记录的表面缺陷检测过程中使用到的模切产品表面图像。
[0130]
本实施例中所使用的模切产品表面样本图像均从实际生产中积累收集而来,由于模切产品和缺陷种类繁多,但是单个缺陷的样品数量都比较有限,为了便于研究,以样本数量相对较多且具有代表性的四大类缺陷作为本论文的主要研究对象,四类缺陷分别为:黑线、印痕、褶皱、气泡,本领域的技术人员可以轻易得明白这几类缺陷,在此不多作赘述。
[0131]
在经过一段时间的收集并对所收集的模切产品表面缺陷图像进行拍摄采集后,共获得有效的表面缺陷图像n张,包含4种典型的模切产品表面缺陷(黑线、印痕、褶皱、气泡)。一般而言,深度学习相关研究的开展需要大量的样本数据进行训练与测试,所以需要对现有数据进行增广处理。增广数据集的方法包括:
[0132]
(1)采用明亮变化的方法:改变缺陷样本图像的亮暗程度是常用的数据集扩充方法之一,改变图像的亮度也可以使的获得的样本缺陷图像更为清晰。一些示例中,可使用torchvision.colorjitter()方法实现对缺陷样本图像的亮度调节。
[0133]
(2)采用水平和垂直翻转的方法:深度学习网络模型通常对目标特征的位置变化较为敏感,所以改变缺陷在样本图像中的位置也有利于网络的训练。一些示例中,可使用torchvision.randomhorizontalflip()和randomverticalflip()方法实现缺陷在样本图像中的水平和垂直翻转。
[0134]
(3)采用裁剪的方法:由于在实际的样本采集过程中,图像的获取是通过相机定时拍摄或者对拍摄的视频流进行帧提取,所以经常出现采集的图像中模切产品表面的缺陷并不完整的情况,采用裁剪的方式可以剪切出不完整的模切产品表面缺陷用于模拟在实际采集过程中遇到的所拍摄的缺陷样本图像不完整的情况。一些示例中,可使用pytorch的randomresizedcrop()方法实现图像的裁剪。
[0135]
(4)采用添加随机噪声的方法:模切产品表面缺陷样本图像背景单一,为了增强检测算法的适应性,在不破坏特征的前提下,对样本图像中随机位置处的像素点改变其像素值。
[0136]
通过上述方法对模切产品表面缺陷样本图像进行扩充之后得到模切产品表面增广图像,模切产品表面缺陷样本图像和模切产品表面增广图像共同用于训练表面特征提取网络模型和表面缺陷检测网络模型
[0137]
一些示例中,使用数据集训练表面特征提取网络模型和表面缺陷检测网络模型之前还包括:对模切产品表面样本图像和模切产品表面增广图像进行人工标记,所述人工标记包括确定缺陷所在位置以及对缺陷进行类别标记。
[0138]
一些示例中,人工标记过程采用labelme标记工具。具体过程如下:
[0139]
(1)进入命令行模式通过pip命令安装labelme依赖库:
[0140]
》》》pip install pyqt5
[0141]
》》》pip install labelme
[0142]
(2)安装完成后在命令行执行labme,打开labelme标记软件;
[0143]
(3)在labelme软件中进行缺陷图像标记。
[0144]
本实施例中通过使用labelme标记工具对缺陷样本图像进行标记后,会生成与该缺陷样本图像相对应的文件,文件中包含了目标缺陷的坐标和标签。
[0145]
一些示例中,数据集的设计参考pascal voc形式,标记文件为.json文件格式,使用时需要转化为voc数据集使用的.xml文件格式。
[0146]
一些示例中,pascal voc数据集格式的数据中90%数据用于训练,10%的数据用于测试。
[0147]
实施例八:与上述实施例不同的是,本实施例中使用迁移学方法训练表面特征提取网络模型和表面缺陷检测网络模型。
[0148]
一些示例中,将表面特征提取网络模型中的残差网络resnet50中前3个模块(conv1、conv2_x和conv3_x)的权重参数用预训练模型的参数进行初始化。采用动态调整学习率的方法,设置初始学习率为0.005,每5个周期学习率乘以0.3,训练轮数为15,每批训练数据量为8进行训练。
[0149]
相比随机初始化参数的训练方式,本实施例采用迁移学习的方法进行训练,使获得模型的平均准确率又有了近7个百分点的提升,达到94.4%,极大地发挥了所设计的面向模切产品表面缺陷的表面缺陷检测网络模型的检测潜力,并且在调整了合适的训练参数情况下,训练所需时间大大缩短,更有利于对模型进行调优。
[0150]
值得注意的是,以上所述仅为本发明的较佳实施例,并非因此限定本发明的专利保护范围,本发明还可以对上述各种零部件的构造进行材料和结构的改进,或者是采用技术等同物进行替换。故凡运用本发明的说明书及图示内容所作的等效结构变化,或直接或间接运用于其他相关技术领域均同理皆包含于本发明所涵盖的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1