一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

金属表面损伤目标检测识别方法、装置、设备及存储介质与流程

2021-10-24 10:20:00 来源:中国专利 TAG:识别 损伤 装置 金属表面 视觉


1.本发明属于计算机视觉识别技术领域。更具体地,涉及金属表面损伤目标检测识别方法、装置、设备及存储介质。


背景技术:

2.金属材料是指具有光泽、延展性、导电性、传热等性质的材料,人类文明的发展和社会的进步同金属材料关系十分密切。21世纪,中国金属工业紧密结合市场和可持续发展的需求,使传统金属加工技术逐步完成向现代化金属材料加工技术的转变。由于许多金属比如铝型材等,具备抗腐蚀性、电导率低、热导量率低、非铁磁性、可加工性、可成形性、回收性等诸多优点,被广泛应用于散热器型材、航天航空、交通运输(轨道车辆、冷藏集装箱)、船舶、建筑、医疗器械等领域。但是在金属的实际生产过程中,由于加工、冶炼、运输过程中各方面因素的影响(比如熔炼炉、合金元素、型材挤压等),金属材料表面会产生诸如起坑、涂层开裂、脏点、擦花、横条压槽、碰伤以及不导电等问题。这些瑕疵会严重影响金属材料的质量。为了保证产品质量,需要人工进行肉眼目测。然而金属材料表面本身就包含纹路,与各种瑕疵的区分度不高,目视解译的方法不仅十分费力,还缺乏一定的准确性,质检的效率也难以把控。因此需要借助一些非人工的方法来提升质检的效率与精度。
3.目前,对于金属制品的表面损伤检测,工业界大部分还停留在人工抽样检查(抽样率为100%),受现场客观条件以及个人主观判别因素的影响容易出现错误且检测效率极低,这种落后的检测手段已经无法满足现代金属工业发展的需求。因此工业界发展了一些传统的基于不同原理的检测方法。
4.目标检测作为计算机视觉的任务之一,其问题定义是确定目标在给定图像中的位置(目标定位)和每个目标所属的类别(目标分类)。目标检测模型主要包含信息区域选择、特征提取和分类三个阶段。目标检测主要可以划分为两大类:一般目标检测和检测应用,其中,一般目标检测的目的是探索在统一的框架下检测不同类型物体的方法,以模拟人类的视觉和认知,更偏理论。检测应用则侧重于技术在现实生活的应用,比如行人检测,人脸检测等。近年来随着深度学习的爆发,越来越多目标检测的应用开始落地,如自动驾驶,监控安防,机器视觉等应用取得了长足的进步。
5.计算机视觉方法应用于金属表面损伤检测虽然能取得一定的效果,但是鉴于检测目标的复杂性以及多样性,即便是肉眼也很难区分一些损伤类别,因此针对现有的一些工业金属表面损伤数据集,现有的深度学习的目标检测识别算法对目标位置识别准确率不高。


技术实现要素:

6.针对现有技术的以上缺陷或改进需求,本发明提供了计算机视觉识别技术,其目的在于先利用基于深度学习的目标检测算法强大的拟合能力,找到损伤目标检测框。本文首先发明利用目标检测识别深度神经网络模型,对金属表面损伤图像进行目标检测识别;
之后采用数据增强对样本数据集进行扩充,作为网络模型的输入;再采用特征金字塔网络生成特征图做感兴趣区域的分类与目标检测框回归,由此生成候选区域;而后将候选的感兴趣区域送入区域推荐网络进行二值分类与目标检测回归,过滤掉一部分的感兴趣区域;最后将剩下的感兴趣区域进行对齐操作,并且进行最终的金属损伤分类、目标检测框回归以及掩码生成。本发明能有效克服金属损伤图像中的小目标与不规则目标检测难题,从金属损伤图像中将目标位置准确识别出来。
7.为实现上述目的,本发明提供了一种金属表面损伤目标检测识别方法,包括以下步骤:
8.s1、在mask r

cnn模型的主干网络resnet101中嵌入注意力机制、特征金字塔、可变形卷积和可变形感兴趣区域池化,得到adc

mask r

cnn模型;
9.s2、通过金属表面损伤数据集对所述adc

mask r

cnn模型进行预训练,得到训练好的目标检测识别网络;
10.s3、根据数据增强方法对所述金属表面损伤数据集进行样本扩充,得到扩充后的金属表面损伤数据集;
11.s4、将所述扩充后的金属表面损伤数据集输入所述训练好的目标检测识别网络的深度卷积层中,生成特征图;
12.s5、将所述特征图输入所述训练好的目标检测识别网络的区域推荐网络,通过全连接网络进行损伤分类与目标检测框回归,得到目标候选区域;
13.s6、对所述目标候选区域进行感兴趣区域对齐,重塑特征图的尺寸,得到重塑尺寸后的特征图;
14.s7、将所述重塑尺寸后的特征图输入所述训练好的目标检测识别网络的三个全连接网络,分别对所述扩充后的金属表面损伤数据集进行损伤分类、损伤目标检测框回归、掩码生成,以识别金属表面损伤。
15.优选地,所述损伤目标检测框回归具体包括:
16.s01、对金属表面损伤图像进行尺寸归一化,之后对图像做正方形填充;
17.s02、利用主干网络resnet101计算金属表面损伤图像的卷积特征,以最后一层卷积层特征图作为输入,通过特征金字塔构建包含语义信息与位置信息的特征图,以最后一层卷积特征图为输入构建目标潜在区域生成网络,由目标潜在区域生成网络生成目标候选区域;
18.s03、对所述目标候选区域进行可变形池化与感兴趣区域对齐,得到重塑尺寸后的特征图,将所述重塑尺寸后的特征图输入到全连接层网络中,得到多个目标检测候选框;
19.s04、采用非极大值抑制算法,从多个目标检测候选框剔除多于的目标检测框,得到最终的损伤目标检测框。
20.优选地,步骤s1中,加强对金属损伤中面积占比较小的损伤的检测性能,在主干网络resnet101中嵌入空间域注意力机制以及通道域注意力机制,在不显著增加计算量和参数量的前提下能提升网络模型的特征提取能力。
21.通道注意力机制:特征的每一个通道都代表着一个专门的检测器,为了汇总空间特征,此处采用了全局平均池化和最大池化两种方式来分别利用不同的信息,所述通道注意力机制的表达式为:
[0022][0023]
其中,σ表示sigmoid函数,mlp表示多层感知器,avgpool和maxpool分别表示平均池化和最大池化,f表示输入的特征图,w0和w1均表示通道注意力模型的权重矩阵,和分别代表全局平均池化和全局最大值池化输出的特征,m
c
(f)表示生成最终的通道注意力特征。
[0024]
输入的特征图f分别通过基于宽和高的全局最大值池化和全局平均值池化,然后分别通过多层感知器,将感知器输出的特征进行基于逐元素的相加操作,最后经过sigmoid激活函数,生成最终的通道注意力特征m
c

[0025]
空间注意力机制:在通道注意力机制之后,再引入空间注意力模块,所述空间注意力机制的表达式为:
[0026][0027]
其中,σ表示sigmoid函数,mlp表示多层感知器,用于共享参数,和分别代表全局平均池化和全局最大值池化输出的特征,f
7*7
表示在拼接后的特征图上做7*7的卷积,m
s
(f)表示最终生成的空间注意力特征。
[0028]
优选地,步骤s1中,在所述主干网络resnet101中加入特征金字塔进行多尺度融合,对resnet101第5层的输出进行1
×
1的卷积降维,与上采样结果相加融合后用3
×
3卷积处理,固定特征图上的通道数都为256。
[0029]
优选地,步骤s1中,在所述主干网络resnet101中加入可变形卷积与可变形感兴趣区域池化,这两个操作都是二维的,在同一通道上进行,常规的规则网格r通过增加一个偏移量进行扩张,位置p0变为:
[0030][0031]
其中,y(p0)为经过可变形卷积与可变形感兴趣区域池化后的输出,p
n
为偏移位置,w(p
n
)为p
n
处的权重,p0为扩张点的位置;
[0032]
采样的位置变成了不规则位置,由于偏移量δp
n
通常是小数,因此通过双线性插值法进行实现:x(p)=∑
q
g(q,p)
·
x(q),
[0033]
其中,x(p)表示p点处插值后的输出,p表示插值点,q表示插值偏移,x(q)表示在q点处插值后的输出;
[0034]
可变形感兴趣区域池化,给定输入特征图x和一个大小为w
×
h位于左上角的区域p0,w和h分别表示特征图x的宽和高,roi pooling把这个roi划分为k
×
k个单元,同时输出一个尺寸为k
×
k的特征图y:
[0035][0036]
其中,y(i,j)表示在(i,j)处经过可变形感兴趣区域池化后的输出,i和j分别表示在图中的横纵坐标,bin(i,j)表示所有的像素点集合,p表示偏移,n
ij
是单元中像素的数量,可变形池化公式如下:
[0037][0038]
其中,δp
ij
表示在(i,j)处的偏移量。
[0039]
优选地,步骤s1还包括:将所述主干网络resnet101的r

cnn进行级联操作,在每一个阶段都添加maskr

cnn模型的mask分支:
[0040][0041][0042]
其中,x表示主干网络resnet101的卷积特征,和分别表示由特征x与roi pooling得到的回归框与掩码特征,函数p()是一个池化操作,表示roialign,b
t
和m
t
表示第t个阶段的边界框和掩码,r
t
和m
t
表示相应的边界框回归与掩码预测。
[0043]
此外,为了实现上述目的,本发明还提供了一种金属表面损伤目标检测识别装置,所述金属表面损伤目标检测识别装置包括:
[0044]
构建模块,用于在mask r

cnn模型的主干网络resnet101中嵌入注意力机制、特征金字塔、可变形卷积和可变形感兴趣区域池化,得到adc

mask r

cnn模型;
[0045]
预训练模块,用于通过金属表面损伤数据集对所述adc

mask r

cnn模型进行预训练,得到训练好的目标检测识别网络;
[0046]
样本扩充模块,用于根据数据增强方法对所述金属表面损伤数据集进行样本扩充,得到扩充后的金属表面损伤数据集;
[0047]
特征图生成模块,用于将所述扩充后的金属表面损伤数据集输入所述训练好的目标检测识别网络的深度卷积层中,生成特征图;
[0048]
候选区域获取模块,用于将所述特征图输入所述训练好的目标检测识别网络的区域推荐网络,通过全连接网络进行损伤分类与目标检测框回归,得到候选区域;
[0049]
对齐重塑模块,用于对所述候选区域进行感兴趣区域对齐,重塑特征图的尺寸,得到重塑尺寸后的特征图;
[0050]
识别模块,用于将所述重塑尺寸后的特征图输入三个全连接网络,分别对所述扩充后的金属表面损伤数据集进行损伤分类、损伤目标检测框回归、掩码生成,以识别金属表面损伤。
[0051]
此外,为了实现上述目的,本发明还提供了一种金属表面损伤目标检测识别设备,所述金属表面损伤目标检测识别设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的金属表面损伤目标检测识别程序,所述金属表面损伤目标检测识别程序被所述处理器执行时实现所述的金属表面损伤目标检测识别方法的步骤。
[0052]
此外,为了实现上述目的,本发明还提供了一种存储介质,所述存储介质上存储有金属表面损伤目标检测识别程序,所述金属表面损伤目标检测识别程序被处理器执行时实现所述的金属表面损伤目标检测识别方法的步骤。
[0053]
本发明提供的技术方案带来的有益效果是:本发明采用基于深度学习的目标检测算法检测出金属表面损伤图像中所有损伤目标的位置,并识别出目标的类别;利用数据增强算法扩充金属表面损伤数据集,利用特征金字塔融合多尺度特征图检测小目标金属损伤,利用通道域注意力与空间域注意力提升模型泛化能力,利用可变形卷积与可变形感兴
趣区域池化提升长条状损伤检测精度,最后通过全连接网络层定位金属损伤目标检测框,识别损伤类型以及生成损伤掩码。本发明能有效克服金属损伤图像中的小目标与不规则目标检测难题,从金属损伤图像中将目标位置准确识别出来。
附图说明
[0054]
下面将结合附图及实施例对本发明作进一步说明,附图中:
[0055]
图1是本发明金属表面损伤目标检测识别方法的执行流程图;
[0056]
图2是本发明的网络框架图;
[0057]
图3是本发明的检测效果图;
[0058]
图4是本发明金属表面损伤目标检测识别装置结构图。
具体实施方式
[0059]
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
[0060]
参考图1,图1是本发明金属表面损伤目标检测识别方法的执行流程图;
[0061]
本实施例中,提供了一种金属表面损伤目标检测识别方法,包括以下步骤:
[0062]
s1、在mask r

cnn模型的主干网络resnet101中嵌入注意力机制、特征金字塔、可变形卷积和可变形感兴趣区域池化,得到adc

mask r

cnn模型(a

注意力机制,d

可变形卷积,c

级联);
[0063]
s2、通过金属表面损伤数据集对所述adc

mask r

cnn模型进行预训练,得到训练好的目标检测识别网络;
[0064]
s3、根据数据增强方法对所述金属表面损伤数据集进行样本扩充,得到扩充后的金属表面损伤数据集;
[0065]
s4、将所述扩充后的金属表面损伤数据集输入所述训练好的目标检测识别网络的深度卷积层中,生成特征图;
[0066]
s5、将所述特征图输入所述训练好的目标检测识别网络的区域推荐网络,通过全连接网络进行损伤分类与目标检测框回归,得到目标候选区域;
[0067]
s6、对所述目标候选区域进行感兴趣区域对齐,重塑特征图的尺寸,得到重塑尺寸后的特征图;
[0068]
s7、将所述重塑尺寸后的特征图输入所述训练好的目标检测识别网络的三个全连接网络,分别对所述扩充后的金属表面损伤数据集进行损伤分类、损伤目标检测框回归、掩码生成,以识别金属表面损伤。
[0069]
本实施例中,s2中,通过金属表面损伤数据集对所述adc

mask r

cnn模型进行预训练,采用如下的损失函数:
[0070][0071]
公式中i是给定小批量中锚框的索引。上述损失函数由三部分组成,第一部分用于分类,第二部分用于边界框回归,第三部分用于掩码。p
i
是对象的预测概率。如果锚框标签为正,ground truth标签为1,如果锚框标签为负,ground truth标签为0。分类损失l
cls
是在两个类(前景类和背景类)上的对数损失。这个总分类损失由n
cls
标准化,等于小批量的大小。t
i
是预测框的4个偏移参数,是给定的ground truth。损失其中r是l1平滑损失。
[0072][0073]
l
mask
:对于每一个roi,mask分支定义一个k*m*2维的矩阵表示k个不同的分类对于每一个m*m的区域,对于每一个像素,都是用sigmoid函数进行求相对熵,得到平均相对熵误差l
mask
,对于每一个roi,如果检测得到roi属于哪一个分类,就只使用哪一个分支的相对熵误差作为差值进行计算。二值的交叉熵定义如下:
[0074]
crossentropy(t,o)=

(t
·
log(o) (1

t)
·
log(1

o))
[0075]
其中t表示目标张量,o表示输出张量,点乘表示元素积。
[0076]
模型训练完成后,还要对模型进行评价,模型评价指标包括:准确率(accuracy)、错误率(error rate)、混淆矩阵(confusion matrix)、召回率(recall)、精确率(precision)、p

r曲线、平均精度(average

precison)、f指标、roc(receiver operating characteristic)、auc(area under curve)、平均精度均值(meanaverage precison,map)。其中f

score是常见的衡量指标,β表示权重值,其计算公式如下:
[0077][0078]
参考图2,图2是本发明的网络框架图。整个网络架构各模块的说明如下:
[0079]
(1)数据处理模块:主要实现对金属表面损伤数据集的预处理,包含一些常见的数据增强手段,如旋转、平移、翻转、缩放、裁减、色彩变换等。
[0080]
(2)主干网络(backbone):采用resnet101作为主干网络,并且在resnet卷积层之间嵌入注意力模块和特征金字塔,以此来增强对小目标的语义提取以及检测精度。其中注意力模块采用先加入通道域注意力再加入空间域注意力的方式,在卷积层的每一层网络之间都嵌入一个封装好的注意力模块。如图2所示。resnet101中的第五层卷积层conv5_x此处替换为可变形卷积网络,用来增强对长条状瑕疵以及不规则瑕疵的特征提取。
[0081]
(3)候选区域推荐:rpn网络。rpn网络生成的候选区域作为可变形感兴趣区域池化(deformable roi pooling)的输入,同时另一条分支将生成的候选区域作roialign。最后将两条分支生成的特征图进行拼接与叠加。
[0082]
(4)head网络:头部网络采用与faster r

cnn类似的结构,包含了roialign。roialign使用双线性插值,在实现图像缩放时,有两种方法来确定缩放后的图像的像素值,第一种是根据原图像中的像素找到对应的缩放后的图像中的像素,第二种是根据缩放后的图像找到对应的原图像中的像素。第一种方法有缺点,因为小图中的像素点到大图中的像素点不是满射,因此大图中的点不能完全有像素值,第二种方法也有缺点,大图中的点逆映射为小图中的点时,得到的像素坐标值可能不是整数,一种办法是采用最近邻方法,即将得到的坐标值与相邻的原图像中的像素坐标值比较,取离得最近的坐标值对应的像素值作为缩放后的图像对应的坐标值的像素值,这种办法可能导致图像失真,因此采用双线性差值的办法来进行计算相应的像素值。roialign解决此问题的思路很简单:取消量化操作,使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转
化为一个连续的操作。在具体的算法操作上,roialign并不是简单地补充出候选区域边界上的坐标点,然后将这些坐标点进行池化,而是重新设计了一套流程,如下所示:
[0083]
a)遍历每一个候选区域,保持浮点数边界不做量化。
[0084]
b)将候选区域分割成k
×
k个单元,每个单元的边界也不做量化。
[0085]
c)在每个单元中计算固定四个坐标位置,用双线性内插的方法计算出这四个位置的值,然后进行最大池化操作。
[0086]
roialign反向传播的公式如下:
[0087][0088]
上式中,d()表示两点之间的距离,δh和δw表示x_i与x_i*在(r,j)横纵坐标的差值,l表示损失,这里作为双线性内插的系数乘在原始的梯度上。
[0089]
head网络中除了roi align,还加入了可变形卷积对rpn的输出做处理,通过可变形卷积的可变性来增强对长条状目标的检测精度。最后将输出的特征图送入第二阶段的分支网络,分别用来做分类、回归和掩码。模型的损失函数定义如下:
[0090]
l=l
cls
l
reg
l
mask
[0091]
其中,l
cls
表示分类误差,l
reg
表示检测误差,l
mask
表示分割误差。其中对于l
mask
,对于每一个roi,mask分支定义一个k*m*2维的矩阵表示k个不同的分类对于每一个m*m的区域,对于每一个像素,都是用sigmoid函数进行求相对熵,得到平均相对熵误差l
mask
,对于每一个roi,如果检测得到roi属于哪一个分类,就只使用哪一个分支的相对熵误差作为差值进行计算(比如存在三个类别dog、cat、people,检测得到roi属于people这一类,那么所使用的l
mask
为people这一分支的mask)。这样的定义使得网络不需要区分每个像素所属的类别,只需要去区别在这个类中的不同分别小类。最后可以通过与阈值0.5做比较输出二值mask,这样可以避免类间的竞争,将分类任务交给专门的分类分支。二值的交叉熵定义如下:
[0092]
crossentropy(t,o)=

(t
·
log(o) (1

t)
·
log(1

o))
[0093]
其中t表示目标张量,o表示输出张量,点乘表示元素积。
[0094]
参考图3,图3是本发明的检测效果图;
[0095]
在本实施例中,金属表面损伤数据集按照8:1:1的比例划分为训练集、验证集、测试集。测试过程挑选一部分测试样本进行可视化。从模型的训练过程分析,整个训练流程中,loss的全局最低值出现在第29轮,loss值约为0.8。因此在测试阶段选用第29轮的权重模型来测试。测试集包含不同类别但数量分布均匀的样本,在测试过程中加入了边界框及检测置信度的可视化。图3为9个类别的不同样本在最优模型上测试得到的可视化结果,每个样本中绘制出边界框,标出对应目标的类别标签和置信度。9张图片的目标类别分别为角位漏底(cornerexposure)、喷流(jet)、漆泡(lacquerbubble)、不导电(nonconducting)、桔皮(orangepeel)、脏点(dirtypoint)、擦花(scratch)、漏底(undercase)、杂色(variegated)。可以看出,对于长条状的损伤,如不导电、漏底等类别,模型对于此类长条状的损伤检测效果相对理想,能准确识别出损伤的类别以及定位损伤的位置,说明可变形卷积可能对于此类损伤的检测存在一定的促进效果。
[0096]
参考图4,本实施例还提供了一种金属表面损伤目标检测识别装置,所述金属表面损伤目标检测识别装置包括:
[0097]
构建模块1,用于在maskr

cnn模型的主干网络resnet101中嵌入注意力机制、特征金字塔、可变形卷积和可变形感兴趣区域池化,得到adc

maskr

cnn模型;
[0098]
预训练模块2,用于通过金属表面损伤数据集对所述adc

maskr

cnn模型进行预训练,得到训练好的目标检测识别网络;
[0099]
样本扩充模块3,用于根据数据增强方法对所述金属表面损伤数据集进行样本扩充,得到扩充后的金属表面损伤数据集;
[0100]
特征图生成模块4,用于将所述扩充后的金属表面损伤数据集输入所述训练好的目标检测识别网络的深度卷积层中,生成特征图;
[0101]
候选区域获取模块5,用于将所述特征图输入所述训练好的目标检测识别网络的区域推荐网络,通过全连接网络进行损伤分类与目标检测框回归,得到候选区域;
[0102]
对齐重塑模块6,用于对所述候选区域进行感兴趣区域对齐,重塑特征图的尺寸,得到重塑尺寸后的特征图;
[0103]
识别模块7,用于将所述重塑尺寸后的特征图输入三个全连接网络,分别对所述扩充后的金属表面损伤数据集进行损伤分类、损伤目标检测框回归、掩码生成,以识别金属表面损伤。
[0104]
作为可选地实施方式,本实施例还提供了一种金属表面损伤目标检测识别设备,所述金属表面损伤目标检测识别设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的金属表面损伤目标检测识别程序,所述金属表面损伤目标检测识别程序被所述处理器执行时实现所述的金属表面损伤目标检测识别方法的步骤。
[0105]
作为可选地实施方式,本实施例还提供了一种存储介质,所述存储介质上存储有金属表面损伤目标检测识别程序,所述金属表面损伤目标检测识别程序被处理器执行时实现所述的金属表面损伤目标检测识别方法的步骤。
[0106]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜