掌桥专利:专业的专利平台
掌桥专利
首页

一种器件表面裂纹检测方法、系统及电子设备

文献发布时间:2023-06-19 19:28:50


一种器件表面裂纹检测方法、系统及电子设备

技术领域

本发明涉及计算机视觉技术领域,特别是涉及一种器件表面裂纹检测方法、系统及电子设备。

背景技术

裂纹作为一个安全隐患遍布在日常生活之中,器件裂纹是日常生活中一种比较常见的裂纹,器件裂纹以表面裂纹为主,这种裂纹易发生并容易导致器件损坏。对器件表面上的裂纹进行精准检测规避器件损坏的风险是一件重要的事情。

传统物理手段检测裂纹需要人工的参与,依赖检测人员的经验,主观性较强,且受到人的注意力集中的限制,通常效率较低、出错率高。传统的形态学图像处理方法通常通过人工设置阈值、边缘等特征获取图像信息,其检测方式是通过手动提取图像浅层或中层形态特征,判断图像是否存在裂纹。这种方法可以高精度地检测出具有良好连续性和对比度的裂纹,但是在实际应用中图片较暗,大裂纹的边缘与图片背景相似,裂纹细小或融于背景导致肉眼难以察觉等情况使这种基于特征假设的方法在复杂环境下不具备鲁棒性。随着机器学习研究的深入,复杂条件下基于图像的裂纹检测成为现实。如通过对图像进行预处理,去除图像阴影部分,再使用支持向量机(Support Vector Machine,SVM)方法识别裂纹;再如将图像处理分为潜在目标检测、疑似目标分类识别和SAR图像预处理三个项目,筛选目标,简化数据处理量,提高系统目标的识别率。但这些方法很大程度上依赖于提取的特征,因此仅在特定环境下有较好的性能表现。然而,由于裂纹所处环境比较复杂,很难找到适用于各种环境下的有效特征。

近年来,图像处理领域中提取图片深层语义特征的技术随着深度学习的发展,提高了提取精度,增强了抗干扰能力,也提升了复杂环境下基于图像裂纹检测的准确性和效率,因此成为当前大多数图像裂纹检测中的主流方法,如影像分割式裂纹图像检测、语义分割式裂纹图像检测等,但上述方法存在如下缺陷:1、影像分割式裂纹图像检测需要准备有近似背景的含目标数据集以及不含目标的数据集,利用ResNet 50的影像分类模型加上ImageNet预训练参数进行训练,这种做法具有如下局限性:(1)当裂纹位置处于二个影像区块交界处,或只有很小部份在影像区块中,则不易正确分类;(2)图像为避免分割区块尺寸不完整的问题,此时须要做适当处理(如补缺、舍弃、转变角度等等)以达到相同尺寸,以免造成辨识错误率提高。2、语义分割式裂纹图像检测具有以下局限性:(1)资料集标注成本(时间、复杂度、领域知识等)很高;(2)模型训练时间极长,推论计算量极大。

基于此,一般采用SSD(Single ShotMultiBox Detector)目标检测算法解决上述现有技术存在的问题。SSD目标检测算法虽然具有速度与精度兼顾的优点,运行速度可以和YOLO媲美,检测精度可以和FasterRCNN媲美,但是SSD由于使用低级特征去检测小目标,存在特征提取不充分,小物体检测率低的问题。

发明内容

本发明的目的是提供一种器件表面裂纹检测方法、系统及电子设备,能够有效解决现有技术存在的特征提取不充分,小物体检测率低的问题,进而提高器件表面裂纹检测的精确度。

为实现上述目的,本发明提供了如下方案:

一种器件表面裂纹检测方法,包括:

获取待检测器件的图像,并对所述待检测器件的图像进行形态学处理得到处理图像;

获取裂纹检测模型;所述裂纹检测模型为采用数据集训练改进后的SSD模型得到的网络模型;

将所述处理图像输入至所述裂纹检测模型得到裂纹检测结果。

优选地,改进后的SSD模型的构建过程包括:

以VGG-16为基础网络搭建SSD模型;

构建ACmix模块;

采用所述ACmix模块替换所述SSD模型中的Conv5层得到改进后的所述SSD模型。

优选地,以VGG-16网络为基础网络搭建SSD模型,具体包括:

将所述基础网络中的FC6层和FC7层均转化为卷积层,去掉所述基础网络中所有Dropout层和FC8层,将Pool5层从2x2-S2变换到3x3-S1;抽取Conv4_3层的feature map、Conv7层的feature map、Conv8_2层的feature map、Conv9_2层的feature map、Conv10_2层的feature map以及Conv11_2层中的feature map,在抽取得到的所有feature map层上面的每一个点均构造6个不同尺度大小的边界框。

优选地,构建的所述ACmix模块包括:多个1×1卷积、卷积功能单元、自注意力功能单元和输出单元;

所述1×1卷积分别与所述卷积功能单元和所述自注意力功能单元连接;所述卷积功能单元和所述自注意力功能单元均与所述输出单元连接;

多个所述1×1卷积用于基于输入特征得到中间特征;

所述卷积功能单元用于对所述中间特征进行全连接得到全连接特征,并对所述全连接特征进行位移处理以及求和处理;

所述自注意力功能单元用于将所述中间特征分别作为查询矩阵、键矩阵和值矩阵,并基于所述查询矩阵和所述键矩阵确定注意力权重,基于注意力权重和所述值矩阵实现值矩阵的聚合;

所述输出单元用于对所述卷积功能单元的输出和所述自注意力功能单元的输出进行求和操作后输出求和特征。

优选地,获取裂纹检测模型之前,还包括:

构建数据集,并将所述数据集拆分为训练集和验证集;

采用所述训练集对所述改进后的SSD模型进行训练得到训练后的网络模型;

采用验证集验证所述训练后的网络模型是否满足预设要求,当所述训练后的网络模型满足预设要求后得到训练好的网络模型;

当所述训练后的网络模型不满足预设要求后,调整所述所述改进后的SSD模型的参数,并返回“采用所述训练集对所述改进后的所述SSD模型进行训练得到训练后的网络模型”。

优选地,对所述待检测器件的图像进行形态学腐蚀操作得到所述处理图像。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供的器件表面裂纹检测方法,通过采用数据集训练改进后的SSD模型得到的网络模型对器件图像进行裂纹检测,能够解决现有技术中采用SSD模型进行裂纹检测提取特征不充分、小目标检测率低的问题,并且,本发明通过对图像进行形态学处理,能够增强裂纹的特征,进而实现大幅提高器件表面裂纹检测精确度的目的。

此外,对应于上述提供的器件表面裂纹检测方法,本发明还提供了以下硬件结构:

一种器件表面裂纹检测系统,应用于上述提供的器件表面裂纹检测方法;所述系统包括:

图像获取模块,用于获取待检测器件的图像,并对所述待检测器件的图像进行形态学处理得到处理图像;

模型获取模块,用于获取裂纹检测模型;所述裂纹检测模型为采用数据集训练改进后的SSD模型得到的网络模型;

裂纹检测模块,用于将所述处理图像输入至所述裂纹检测模型得到裂纹检测结果。

一种电子设备,包括:

存储器,用于存储软件程序;

处理器,与所述存储器连接,用于调取并执行所述软件程序,以实现上述提供的器件表面裂纹检测方法。

优选地,所述存储器为计算机可读存储介质。

因本发明提供的上述两种硬件结构实现的技术效果与上述提供的器件表面裂纹检测方法实现的技术效果相同,故在此不再进行赘述。

附图说明

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

图1为本发明提供的器件表面裂纹检测方法的流程图;

图2为本发明提供的器件表面裂纹检测方法的实施流程图;

图3为本发明提供的腐蚀操作过程图;

图4为本发明提供的裂纹腐蚀前后对比图;其中,图4的(a)部分为裂纹腐蚀前的示意图;图4的(b)部分为裂纹腐蚀后的示意图;

图5为本发明提供的裂纹检测模型结构示意图;

图6为本发明提供的器件表面裂纹检测系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种器件表面裂纹检测方法、系统及电子设备,能够有效解决现有技术存在的特征提取不充分,小物体检测率低的问题,进而提高器件表面裂纹检测的精确度。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,本发明提供的器件表面裂纹检测方法,包括:

步骤100:获取待检测器件的图像,并对待检测器件的图像进行形态学处理得到处理图像。在本发明中,主要通过采用形态学腐蚀操作对待检测器件的图像进行处理,以实现提升裂纹特征的目的,但在实际应用过程中,也可以使用其他图像处理方式。其中,形态学腐蚀操作首先要确定结构元的形状,然后再确定锚点的位置,最后使用结构元中像素最小值替换锚点。

步骤101:获取裂纹检测模型。在本发明中采用的裂纹检测模型主要是由使用腐蚀后的数据集对改进后的SSD模型进行训练得到的。改进后的SSD模型的构建过程主要是设计ACmix模块,搭建SSD目标裂纹检测,使用ACmix模块替换SSD模型中的卷积层,具体的:

首先,以VGG-16为基础网络搭建SSD模型。例如,将基础网络中的FC6层和FC7层均转化为卷积层,去掉基础网络中所有Dropout层和FC8层,将Pool5层从2x2-S2变换到3x3-S1。抽取Conv4_3层的feature map、Conv7层的feature map、Conv8_2层的feature map、Conv9_2层的feature map、Conv10_2层的feature map以及Conv11_2层中的feature map,在抽取得到的所有feature map层上面的每一个点均构造6个不同尺度大小的边界框。

其次,构建ACmix模块。ACmix模块包括:多个1×1卷积、卷积功能单元、自注意力功能单元和输出单元。1×1卷积分别与卷积功能单元和自注意力功能单元连接。卷积功能单元和自注意力功能单元均与输出单元连接。多个1×1卷积用于基于输入特征得到中间特征。卷积功能单元用于对中间特征进行全连接得到全连接特征,并对全连接特征进行位移处理以及求和处理。自注意力功能单元用于将中间特征分别作为查询矩阵、键矩阵和值矩阵,并基于查询矩阵和键矩阵确定注意力权重,基于注意力权重和值矩阵实现值矩阵的聚合。输出单元用于对卷积功能单元的输出和自注意力功能单元的输出进行求和操作后输出求和特征。

然后,采用ACmix模块替换SSD模型中的Conv5层得到改进后的SSD模型。

步骤102:将处理图像输入至裂纹检测模型得到裂纹检测结果。

如图2所示,本发明上述提供的器件表面裂纹检测方法的其中一种具体实施方式为:

步骤1、对图片进行形态学中的腐蚀操作。形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,成为图像增强技术的有力补充。腐蚀操作是形态学处理最基本的方法,首先确定结构元与锚点,结构元可以是矩形、椭圆形或十字交叉形的邻域,取结构元中的最小值输出到图像中的锚点位置,其他位置通过移动结构元以此类推,即可得到完整的输出图像,该方法操作过程如图3所示,图3中P(*,*)表示锚点位置。由腐蚀操作原理可知,腐蚀后输出图像的总体亮度的平均值比起原图会有所降低,图像中比较暗的区域面积会增大。又因为裂纹在图像中比上下文更暗的结构特性,图像经过腐蚀操作后会扩大裂纹的区域面积,增强裂纹的特征,裂纹与背景更容易分辨,提升后续模型的学习能力。裂纹腐蚀前后对比图如图4所示。

步骤2、搭建SSD模型。搭建的SSD(Single ShotMultiBox Detector,目标检测)模型以VGG-16网络为基础网络,将VGG-16网络中的FC6层和FC7层均转化为卷积层,得到如图5所示的Conv6层和Conv7层,接着,去掉所有的Dropout层和FC8层,将Pool5层从2x2-S2变换到3x3-S1。抽取Conv4_3层、Conv7层、Conv8_2层、Conv9_2层、Conv10_2层、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造6个不同尺度大小的边界框,以分别进行检测和分类。

步骤3、构建ACmix模块,ACmix模块的构建主要可分解为两个阶段。第一阶段通过3个1×1卷积得到3×N中间特征。第二阶段依据不同功能进行不同的操作,其中,对于卷积功能,先对第一阶段得到的中间特征进行全连接,然后再进行位移与求和处理。对于自注意力功能,将第一阶段得到的3×N中间特征分别用作query(查询)、key(键)和value(权重),通过query、key计算注意力权重,依据value和注意力权重实现value的聚合。最后将两种操作后的输出结果相加。

步骤4、将ACmix模块替换SSD模块中的Conv5中的卷积层,得到如图5所示的改进后的SSD模型。图5中,p为padding,表示填充多少。k为kernel size,表示卷积核的尺寸。s为stride,表示卷积步长。d为dilationrate是空洞卷积的扩张率参数,表示扩张的大小。

将ACmix模块替换Conv5层中,解决了使用低级特征去检测小目标时存在的特征提取不充分。小物体检测率低的问题。

步骤5、使用腐蚀后的数据集对改进的SSD模型进行训练得到裂纹检测模型。

步骤6、检测裂纹时,首先获取器件图像,然后将图像进行形态学处理,以增强裂纹特征,最后将处理后的图像输入检测模型,获取模型的处理结果(即裂纹检测结果),进而识别器件的表面是否存在裂纹。

基于此,本发明通过采用形态学处理方法能够针对裂纹的结构特征进行增强。在SSD模型中加入ACmix模块,以最小的计算代价同时获取卷积和自注意力两种特征提取技术,自注意力可以有效捕捉全局上下文信息,弥补了卷积神经网络局部感受野的缺点,一定程度上解决了SSD模型由于使用低级特征去检测小目标,存在特征提取不充分、小物体检测率低的问题。训练得到的裂纹检测模型具有识别器件图像中是否存在表面裂纹的能力,其检测结果不仅高效,而且可以识别细小不明显、与背景融为一体的表面裂纹,减少人工参与,有利于提高检测效率和稳定性,降低检测出错率,还能够有效规避器件表面产生裂纹的风险。

下面提供一个具体实施例,对上述提供的器件表面裂纹检测方法的应用过程进行说明。

第一阶段:形态学腐蚀处理

S1、确定结构元。结构元是形态学处理中的邻域形状,有矩形结构、十字形结构与椭圆结构,本实施例中选取矩形结构作为结构元。

S2、确定锚点。锚点用来与图片中待处理的像素点对齐,是结构元的原点。本实施例中选取结构元的中心点为锚点。

S3、将当前的像素替换成结构元定义的像素集中的最小像素值,整张图像的像素值均这样操作,输入图像完成了腐蚀操作。

第二阶段:建立裂纹检测模型并进行裂纹检测

设计ACmix模块

S1、将输入特征H×W×C分成N个H×W×C/N个特征,然后由三个1×1卷积分别被提取成N组特征,获得了包含3×N特征图的中间特征集。

S2、对于自注意力机制路径,将中间特征收集到N个组中,其中每个组包含三个1×1卷积特征。如公式(1)与公式(2)所示,相应的三个特征图用作query、key和value。

式中,N

S3、对于核大小为k的卷积路径,我们采用全连接层并生成k^2特征图。如公式(3)-公式(5)通过固定核和深度卷积的方式实现卷积核的移动和聚集,以卷积的方式处理输入特征,如同传统的卷积那样从局部感受野收集信息并生成特征。

其中,g

S4、如公式(6),两条路径的输出相加,强度由两个可学习参数控制。

式中,ɑ与β为学习参数,F

将ACmix模块替换SSD目标检测网络中的Conv5后,将已经经过腐蚀处理的待检测图片输入检测网络,获取检测结果。

此外,对应于上述提供的器件表面裂纹检测方法,本发明还提供了以下硬件结构:

一种器件表面裂纹检测系统,应用于上述提供的器件表面裂纹检测方法。如图6所示,该系统包括:

图像获取模块600,用于获取待检测器件的图像,并对待检测器件的图像进行形态学处理得到处理图像。

模型获取模块601,用于获取裂纹检测模型。裂纹检测模型为采用数据集训练改进后的SSD模型得到的网络模型。

裂纹检测模块602,用于将处理图像输入至裂纹检测模型得到裂纹检测结果。

一种电子设备,包括:

存储器,用于存储软件程序。其中,采用的这一存储器为计算机可读存储介质。

处理器,与存储器连接,用于调取并执行软件程序,以实现上述提供的器件表面裂纹检测方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种病毒邮件检测方法、系统及电子设备和存储介质
  • 一种网络异常检测方法、系统及电子设备
  • 一种市电掉电检测方法、电子设备、存储介质和储能系统
  • 一种旋转轴表面裂纹在线检测系统及检测方法
  • 一种斜射式实木板材表面裂纹的检测系统和检测方法
技术分类

06120115922183