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

图像检测方法和图像检测模型的训练方法、装置与流程

2022-04-30 17:23:16 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,具体涉及深度学习领域和计算机视觉领域,尤其涉及一种图像检测方法和图像检测模型的训练方法、装置、电子设备、存储介质。


背景技术:

2.随着计算机技术和网络技术的发展,深度学习技术在众多领域得到了广泛应用。例如,可以采用深度学习技术对图像进行语义识别,从而完成目标检测、目标分割等任务。


技术实现要素:

3.基于此,本公开提供了一种提高检测精度的图像检测方法、图像检测模型的训练方法、装置、电子设备、存储介质。
4.根据本公开的一个方面,提供了一种图像检测方法,包括:提取待处理图像的特征,获得多个尺度下的多个图像特征,其中每个图像特征中包括至少两个像素级特征;针对多个图像特征中包括的多个像素级特征,确定多个像素级特征各自的重要度;根据重要度对多个图像特征进行解码,得到分别对应多个图像特征的多个解码特征;以及根据多个解码特征,确定针对待处理图像的检测结果。
5.根据本公开的另一个方面,提供了一种图像检测模型的训练方法,其中,图像检测模型包括特征提取网络、预测网络、解码网络和检测网络;该训练方法包括:将样本图像输入特征提取网络,得到多个尺度下的多个图像特征;其中,样本图像包括实际检测结果,每个图像特征中包括至少两个像素级特征;将多个图像特征中包括的多个像素级特征输入预测网络,得到多个像素级特征各自的重要度;将重要度和多个图像特征输入解码网络,得到分别对应多个图像特征的多个解码特征;将多个解码特征输入检测网络,得到针对样本图像的预测检测结果;以及根据预测检测结果和实际检测结果,对图像检测模型进行训练。
6.根据本公开的另一方面,提供了一种图像检测装置,包括:特征提取模块,用于提取待处理图像的特征,获得多个尺度下的多个图像特征,每个图像特征中包括至少两个像素级特征;重要度确定模块,用于针对多个图像特征中包括的多个像素级特征,确定多个像素级特征各自的重要度;解码模块,用于根据重要度对多个图像特征进行解码,得到分别对应多个图像特征的多个解码特征;以及检测确定模块,用于根据多个解码特征,确定针对待处理图像的检测结果。
7.根据本公开的另一方面,提供了一种图像检测模型的训练装置,其中,图像检测模型包括特征提取网络、预测网络、解码网络和检测网络;该训练装置包括:特征提取模块,用于将样本图像输入特征提取网络,得到多个图像特征;其中,样本图像包括实际检测结果,每个图像特征中包括至少两个像素级特征;重要度确定模块,用于将多个图像特征中包括的多个像素级特征输入预测网络,得到多个像素级特征各自的重要度;解码模块,用于将重要度和多个图像特征输入解码网络,得到分别对应多个图像特征的多个解码特征;检测确定模块,用于将多个解码特征输入检测网络,得到针对样本图像的预测检测结果;以及模型
训练模块,用于根据预测检测结果和实际检测结果,对图像检测模型进行训练。
8.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的图像检测方法和/或图像检测模型的训练方法。
9.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的图像检测方法和/或图像检测模型的训练方法。
10.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开提供的图像检测方法和/或图像检测模型的训练方法中的步骤。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开实施例的图像检测方法和图像检测模型的训练方法、装置的应用场景示意图;
14.图2是根据本公开实施例的图像检测方法的流程示意图;
15.图3是根据本公开实施例的确定多个像素级特征各自的重要度的原理示意图;
16.图4是根据本公开实施例的图像检测方法的原理示意图;
17.图5是根据本公开实施例的对每个图像特征进行解码的原理示意图;
18.图6是根据本公开实施例的图像检测模型的训练方法的流程示意图;
19.图7是根据本公开实施例的对多个图像特征进行解码的原理示意图;
20.图8是根据本公开实施例的图像检测装置的结构框图;
21.图9是根据本公开实施例的图像检测模型的训练装置的结构框图;以及
22.图10是用来实施本公开实施例的图像检测方法和/或图像检测模型的训练方法的电子设备的框图。
具体实施方式
23.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.本公开提供了一种图像检测方法,包括特征提取阶段、重要度确定阶段、解码阶段和检测确定阶段。在特征提取阶段中,提取待处理图像的特征,获得多个尺度下的多个图像特征,每个图像特征中包括至少两个像素级特征。在重要度确定阶段中,针对多个图像特征中包括的多个像素级特征,确定多个像素级特征各自的重要度。在解码阶段中,根据重要度对多个图像特征进行解码,得到分别对应多个图像特征的多个解码特征。在检测确定阶段
中,根据多个解码特征,确定针对待处理图像的检测结果。
25.以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
26.图1是根据本公开实施例的图像检测方法和图像检测模型的训练方法、装置的应用场景示意图。
27.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。
28.该电子设备110例如可以对输入的图像120进行检测,得到检测结果130。具体地,电子设备110可以对输入的图像120进行目标检测或目标分割,从而得到图像120中目标对象的位置和目标对象的类别,并将该目标对象的位置和类别作为检测结果。
29.根据本公开的实施例,目标对象的位置例如可以通过目标对象的边界框的位置来表示。该边界框的位置例如可以包括边界框的中心点在图像坐标系中的坐标值、边界框的宽度和边界框的高度。
30.根据本公开的实施例,目标检测是通过回归边界框来对目标对象进行定位的。目标分割可以使用基于掩膜的区域卷积神经网络(mask-rcnn)作为骨干网络产生分割图。在一实施例中,电子设备110可以采用图像检测模型150来对图像120进行检测。例如,该图像检测模型150例如可以由服务器140训练得到。电子设备110可以通过网络与服务器140通信连接,以向服务器140发送模型获取请求。相应地,服务器140可以响应于该请求将训练好的图像检测模型150发送给电子设备110。其中,目标检测模型例如可以包括区域卷积神经网络(region-cnn,r-cnn)模型、基于区域的全卷积神经网络(region-based fully convolutional networks,r-fcn)模型等、单次查看检测器(you only look once,yolo)系列模型等。
31.在一实施例中,电子设备110还可以将输入的图像120发送给服务器140,由服务器140基于训练好的图像检测模型150来对该图像120进行检测。
32.需要说明的是,本公开提供的图像检测方法可以由电子设备110执行,也可以由服务器140执行。相应地,本公开提供的图像检测装置可以设置在电子设备110中,也可以设置在服务器140中。本公开提供的图像检测模型的训练方法可以由服务器140执行。相应地,本公开提供的图像检测模型的训练装置可以设置在服务器140中。
33.应该理解,图1中的电子设备110和服务器140的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110和服务器140。
34.以下将结合图1,通过以下图2~图5对本公开提供的图像检测方法进行详细描述。
35.如图2所示,该实施例的图像检测方法200可以包括操作s210~操作s240。
36.在操作s210,提取待处理图像的特征,获得多个尺度下的多个图像特征。
37.根据本公开的实施例,可以将待处理图像输入特征提取网络中,经由特征提取网络处理后,得到分别对应多个尺度的多个图像特征。其中,特征提取网络例如可以包括自上而下的多尺度卷积网络或基于transformer的骨干网络(backbone)等。其中,基于transformer的骨干网络可以包括swin transformer网络等。例如,多个尺度的多个图像特征可以通过对待处理图像逐级的降采样得到,每级降采样得到一个图像特征。可以理解的是,每个图像特征中可以包括至少两个像素级特征。
38.根据本公开的实施例,还可以先采用上述特征提取网络来针对待处理图像提取多个尺度下的特征,得到尺寸依次减小的多个初始特征。随后将多个初始特征中语义较强的特征注入到语义较弱的特征中,从而得到增强的多个特征,作为多个图像特征。
39.示例性地,尺寸依次减小的多个初始特征表达的语义强度越来越高。设定多个尺度为n个,则得到的初始特征的数目为n个,得到的图像特征的数目也为n个。例如,对于n个初始特征中的第i个初始特征,可以融合第i个初始特征和第(i 1)个初始特征,从而得到n个图像特征中的第i个图像特征。其中,i的取值区间为[1,n-1],n为大于1的整数。在融合第i个初始特征和第(i 1)个初始特征时,可以先对第(i 1)个初始特征进行上采样,使得上采样后的特征与第i个初始特征的尺寸相同。随后,可以采用concat()函数等将该上采样后的特征与第i个初始特征连接,得到第i个图像特征。
[0040]
示例性地,可以根据n个初始特征中的第n个初始特征,来确定n个图像特征中的第n个图像特征。例如可以将该第n个初始特征作为第n个图像特征。或者,可以经由卷积层对该第n个初始特征进行处理,将经由卷积层处理得到的特征作为第n个图像特征。
[0041]
示例性地,设定待处理图像其中,h、w分别为图像的像素高度和像素宽度。采用特征提取网络得到的n个初始特征可以用特征集合来表示。其中,c为通道基数(base channel number)。设定得到的n个图像特征的通道数相同均为d,则得到的n个图像特征可以用图像集合来表示,其中,
[0042]
在操作s220,针对多个图像特征中包括的多个像素级特征,确定多个像素级特征各自的重要度。
[0043]
根据本公开的实施例,多个图像特征中,每个图像特征均包括多个像素级特征。不同的图像特征包括的像素级特征的个数可以不同。像素级特征即为图像特征中每个像素点的特征,图像特征包括的像素点的个数为该图像特征的宽度与高度的乘积。例如,对于图像特征其包括的像素级特征的个数为
[0044]
根据本公开的实施例,可以采用预测网络来预测多个像素级特征各自的重要度。例如,可以将每个图像特征输入预测网络,由该预测网络输出与每个图像特征的宽度和高度相同的矩阵,该矩阵中的每个元素用于表示每个图像特征中相应位置的像素级特征的重要度。或者,可以先对每个图像特征进行维度变换,将该每个图像特征转换为一个一维特征,例如,对于图像特征转换后的一维特征可以表示为随后将该转换得到的一维特征输入预测网络,由预测网络输出重要度向量,该重要度向量包括个元素,每个元素表示一个像素级特征的重要度。
[0045]
示例性地,预测网络例如可以为多层感知器(multi-layer perceptron,mlp)网络、支持向量机(support vector machine,svm)网络等,本公开对此不做限定。
[0046]
在操作s230,根据重要度对多个图像特征进行解码,得到分别对应多个图像特征
的多个解码特征。
[0047]
根据本公开的实施例,可以根据每个图像特征中各像素级特征的重要度,对该各像素级特征进行加权,从而得到加权后图像特征。随后,将该加权后图像特征输入解码网络,经由解码网络处理后输出该每个图像特征的解码特征。其中,解码网络例如可以包括transformer模型包括的解码网络等,本公开对此不做限定。
[0048]
在操作s240,根据多个解码特征,确定针对待处理图像的检测结果。
[0049]
根据本公开的实施例,在得到多个解码特征后,该实施例可以融合该多个解码特征,先得到针对待处理图像的融合特征。随后再根据该融合特征,确定检测结果。
[0050]
例如,该实施例可以先将多个解码特征转换至相同尺寸的多个特征。然后将该相同尺寸的多个特征拼接后输入检测网络,经由检测网络处理后得到检测结果。其中,对于语义分割任务,检测网络例如可以为语义分割网络中包括的输出网络。其中,语义分割网络可以为全卷积网络(fully convolution networks,fcns)、segnet网络或u-net网络等。例如,若语义分割网络为fcns,则检测网络可以包括fcn head网络。可以理解的是,对于不同的图像检测任务,该检测网络可以采用不同的网络类型。
[0051]
综上可知,本公开实施例的图像检测方法,在对多个尺度特征进行解码之前,先确定多个尺度下的图像特征中各像素级特征的重要度,随后根据该重要度对图像特征进行解码,可以达到从多个尺度下的图像特征中挑选出重要特征的效果,并因此使得解码得到的特征能够更好的表达待处理的图像,利于提高得到的检测结果的精度。
[0052]
图3是根据本公开实施例的确定多个像素级特征各自的重要度的原理示意图。
[0053]
根据本公开的实施例,在确定多个像素级特征各自的重要度时,可以先对多个图像特征进行维度变换,得到多个一维特征。该多个一维特征分别与多个图像特征相对应。随后,可以拼接该多个一维特征,得到级联特征。最后对该级联特征进行非线性处理,得到分别对应多个图像特征的多个重要度向量。
[0054]
其中,每个重量度向量可以包括其所对应的图像特征包括的多个像素级特征各自的重要度。
[0055]
在一实施例中,对多个图像特征进行的维度变换例如可以为对每个图像特征以像素为单位重新排列,得到一个1维特征。例如,对于图像特征转换后的一维特征可以表示为
[0056]
在一实施例中,对多个一维特征的拼接可以采用concat()函数。例如,设定多个一维特征的数目为n个,对图像特征的维度变换和对一维特征拼接得到的级联特征可以采用以下公式(1)表示:
[0057][0058]
其中,φ()表示维度变化操作,[]表示对一维特征序列执行拼接操作,j为大于1且小于n的任意整数。
[0059]
在一实施例中,对级联特征的非线性处理可以由前文描述的mlp网络等来处理。该mlp网络对级联特征处理后可以得到特征矩阵。该特征矩阵中的每一行包括的元素构成一
个重要度向量,该特征矩阵总计包括多个重要度向量。该多个重要度向量分别对应多个图像特征。任意一个重要度向量包括:级联特征中的多个像素级特征的重要度,该重要度是相对于该任意一个重要度向量所对应的图像特征的重要度。
[0060]
例如,在采用mlp网络处理而得到特征矩阵后,该实施例可以对该特征矩阵进行归一化处理,使得该特征矩阵中的每个元素的取值大于等于0且小于等于1。例如,对级联特征的非线性处理例如可以采用以下公式(2)来表示:
[0061][0062]
其中,p为得到的特征矩阵。设定多个图像特征的数目为n个,该特征矩阵的尺寸为4
×
l,p中的元素特征矩阵中第i行第k列的元素,该元素表示级联特征中第k个像素级特征对于n个图像特征中第i个图像特征的重要度。其中,k为大于等于1且小于等于l的任意整数。pi表示特征矩阵中第i行元素构成的重要度向量,该重要度向量包括级联特征中的多个像素级特征分别对于第i个图像特征的重要度。
[0063]
在一实施例中,如图3所示,该实施例300可以采用预测网络来确定重要度。其中,预测网络例如可以包括变换子网络311和预测子网络312。变换子网络311用于对多个图像特征执行维度变换操作和对得到的多个一维特征执行拼接操作。预测子网络用于对级联特征进行非线性处理。
[0064]
示例性地,设定n个尺度包括四个,该实施例300在确定重要度时,可以先将四个图像特征中的尺度依次减小的图像特征301、图像特征302、图像特征303和图像特征304输入变换子网络311。该变换子网络311例如可以并行地对输入的四个图像特征执行维度变换操作,从而得到四个一维特征。该变换子网络311采用concat()函数拼接该四个一维特征,可以得到级联特征305。该级联特征305作为预测子网络312的输入,经由该预测子网络312处理后可以输出重要度矩阵306。或者,该预测子网络312可以输出重要度向量序列,该重要度向量序列中的多个重要度向量可以根据对应的尺度自大至小输出,或者根据对应的尺度自小至大输出,本公开对此不做限定。
[0065]
综上可知,本公开实施例在确定重要度时,先对多个尺度的特征进行了融合,并可以确定融合后的各像素级特征对各尺度的重要度。如此利于在解码时,从多个尺度的图像特征构成的整体特征中挑选出重要的特征进行多尺度特征的解码,利于提高解码精度,利于进一步提高多尺度特征的融合能力和图像检测精度。
[0066]
图4是根据本公开实施例的图像检测方法的原理示意图。
[0067]
根据本公开的实施例,在采用前文描述的方法得到特征矩阵p,以及级联特征中各像素特征针对各个尺度的图像特征的重要度后,例如可以根据从级联特征中为每个尺度挑选出重要的特征,以作为对该每个尺度下的图像特征进行解码时的依据。
[0068]
在一实施例中,在根据重要度对多个图像特征进行解码时,对于多个图像特征中的每个图像特征,可以先根据重要度确定级联特征中针对该每个图像特征的目标比例的目标特征。随后根据该目标特征和每个图像特征,来确定针对该每个图像特征的解码特征。
[0069]
示例性的,目标特征可以为相对于该每个图像特征的重要度较高的目标比例的特征,如此可以为解码提供更为重要的特征作为依据,利于提高解码特征的精度。其中,目标比例可以为0.3,0.5等任意小于1的值,可以理解的是,该目标比例可以根据实际需求进行
设定,本公开对此不做限定。
[0070]
在得到目标特征后,例如可以将目标特征和图像特征拼接后作为解码网络的输入,由解码网络输出针对该每个图像特征的解码特征。或者,该实施例可以将目标特征作为键特征和值特征,将该每个图像特征作为查询特征,采用多头交叉注意力机制处理后得到解码特征。通过采用注意力机制进行解码,可以使得解码过程更为关注挑选出来的目标特征,利于进一步提高得到的解码特征的表达能力和精度。
[0071]
如图4所示,在实施例400中,在对待处理图像401进行检测时,例如可以采用前文描述的backbone网络提取到尺度自大至小依次排序的初始特征402、初始特征403、初始特征404和初始特征405。采用自顶至底的结构来融合相邻尺度的特征,可以得到四个图像特征。例如,将初始特征405与初始特征404融合得到图像特征将初始特征404与初始特征403融合得到图像特征初始特征403与初始特征402融合得到图像特征其中,此处的融合例如可以为将相邻尺度的两个初始特征中,顶部的特征上采样至与底部的特征相同的尺度,并将上采样后的特征与底部的特征拼接。初始特征405可以直接作为一个图像特征或经卷积处理后得到图像特征随后可以将得到的四个图像特征输入预测网络410中,得到前文描述的重要度向量,例如可以得到重要度向量序列{pi},其中,i=1,2,3,4。同时经由该预测网络还可以得到前文描述的级联特征
[0072]
随后,在得到重要度向量序列{pi}和级联特征后,该实施例可以将重要度向量p4、级联特征和图像特征输入解码网络421,经由解码网络421处理后得到一个解码特征。同时,可以将重要度向量p3、级联特征和图像特征输入解码网络422,经由解码网络422处理后得到一个解码特征。将重要度向量p2、级联特征和图像特征输入解码网络423,经由解码网络423处理后得到一个解码特征。将重要度向量p1、级联特征和图像特征输入解码网络424,经由解码网络421处理后得到一个解码特征。最后可以将得到的四个解码特征拼接后输入检测网络430,经由检测网络处理后得到检测结果406。
[0073]
图5是根据本公开实施例的对每个图像特征进行解码的原理示意图。
[0074]
根据本公开的实施例,如图5所示,在对每个图像特征进行解码时采用的解码网络可以基于多头交叉注意力机制构建。该解码网络可以与transformer架构中的解码器结构类似,该解码网络可以包括多个解码单元,每个解码单元510包括有注意力层和前向反馈层,且注意力层和前向反馈层均可以设置有线性化处理层。其中,注意力层采用多头交叉注意力机制来对输入的图像特征进行处理。
[0075]
需要说明的是,该解码网络中的第一个解码单元还可以设置有筛选层,用于根据输入的相对于图像特征501的重要度向量pi,来对输入的级联特征进行筛选,从而得到针对图像特征的目标特征,得到ρl个特征,例如,该目标特征可以采用来表示。随后,可以将图像特征作为查询特征,将ρl个特征作为值特征和键特征,采用多头交叉注意力算法得到注意力层的输出。
[0076]
示例性地,对于图像特征注意力层的输出yi可以采用以下公式(3)来表示:
[0077][0078]
其中:
[0079][0080][0081]
其中,为目标特征,d为通道数。
[0082]
可以理解的是,上述注意力层的输出yi的计算方式仅作为示例以利于理解本公开,本公开对此不做限定。
[0083]
基于本公开提供的图像检测方法,本公开还提供了一种图像检测模型的训练方法,该训练方法训练得到的图像检测模型可以用于执行本公开提供的图像检测方法。
[0084]
图6是根据本公开实施例的图像检测模型的训练方法的流程示意图。
[0085]
如图6所示,该实施例的图像检测模型的训练方法600可以包括操作s610~操作s650。其中,图像检测模型包括特征提取网络、预测网络、解码网络和检测网络。
[0086]
在操作s610,将样本图像输入特征提取网络,得到多个尺度下的多个图像特征。
[0087]
根据本公开的实施例,每个图像特征中包括至少两个像素级特征,该操作s610的实现方式与前文描述的操作s210类似,区别仅在于样本图像相较于待检测图像,包括有实际检测结果。特征提取网络与前文描述的特征提取网络类似,在此不再赘述。例如,对于目标检测场景,该实际检测结果可以包括目标在图像中的位置,该位置可以由包围目标的实际边界框的位置来表示。该实际边界框例如可以由人工标注得到。
[0088]
在操作s620,将多个图像特征中包括的多个像素级特征输入预测网络,得到多个像素级特征各自的重要度。可以理解的是,该操作s620与前文描述的操作s220类似,预测网络与前文描述的预测网络类似,在此不再赘述。
[0089]
在操作s630,将重要度和所述多个图像特征输入解码网络,得到分别对应多个图像特征的多个解码特征。可以理解的是,该操作s630与前文描述的操作s230类似,解码网络与前文描述的解码网络类似,在此不再赘述。
[0090]
在操作s640,将多个解码特征输入检测网络,得到针对样本图像的预测检测结果。可以理解的是,该操作s640与前文描述的操作s240类似,检测网络与前文描述的检测网络类似,在此不再赘述。
[0091]
在操作s650,根据预测检测结果和实际检测结果,对图像检测模型进行训练。
[0092]
该实施例可以根据预测检测结果和实际检测结果的差异来确定图像检测模型的损失。随后采用反向传播算法来调整图像检测模型中的网络参数,实现对图像检测模型的训练。其中,例如可以采用交叉熵损失函数等来确定图像检测模型的损失,本公开对此不作限定。
[0093]
在一实施例中,如前文描述,预测网络可以包括变换子网络和预测子网络。操作s620的具体实现方式可以先将多个图像特征输入变换子网络进行维度变换,并对维度变换得到的多个一维特征进行拼接,得到级联特征。随后将级联特征输入预测子网络进行非线性处理,得到重要度矩阵。该重要度矩阵由分别对应多个图像特征的多个重要度向量构成,该多个重要度向量中的每个重要度向量包括:级联特征中的多个像素级特征对于每个重要
度向量所对应的图像特征的多个重要度。其中,多个重要度向量与前文描述的多个重要度向量类似,在此不再赘述。
[0094]
图7是根据本公开实施例的对多个图像特征进行解码的原理示意图。
[0095]
如图7所示,在实施例700中,在训练图像检测模型时,解码网络可以设置有决策子网络721和解码子网络722。针对每个图像特征,决策子网络721用于生成二进制决策(binary decisions),以决策选择级联特征中的哪些像素级特征。通过该方式,可以在一定程度上对预测网络的训练提供辅助作用,便于提高测试时得到的重要度向量的精度。
[0096]
示例性地,在得到多个图像特征(例如图像特征701~图像特征704)后,该实施例可以将该多个图像特征输入预测网络包括的变换子网络711,从而得到级联特征705。将该级联特征输入前述的预测子网络712,即可得到重要度矩阵,该重要度矩阵可以由多个重要度向量构成的重要度向量序列{pi}来表示。设定多个图像特征的数目为n个,则在n为4时,i=1,2,3,4。
[0097]
根据本公开的实施例,在得到重要度矩阵后,可以将该重要度矩阵输入决策子网络721,由决策子网络721处理后得到与多个重要度向量分别对应的多个决策特征,该多个决策特征可以构成决策特征序列{qi}。其中,决策子网络721可以采用gumbel-softmax采样方法等从级联特征705中采样,得到采样结果。其中,多个决策特征即可用于表示根据多个重要度向量对级联特征705进行采样而得到的采样结果。例如,对于某个图像特征,若采样结果为选择级联特征705中某个像素级特征,则针对该某个图像特征的决策特征中,与该某个像素级特征在级联特征705中的位置对应的位置处的元素的取值为1,若未选择该某个像素级特征,则该对应的位置处的元素的取值为0。即,针对每个图像特征的决策特征可以指示:对于该每个图像特征,级联特征包括的各个像素级特征是否被选择。可以理解的是,上述采样方法仅作为示例以利于理解本公开,例如还可以直接根据重要度向量来进行采样。决策特征qi中包括的元素个数为l。
[0098]
其中,决策子网络721通过采用gumbel-softmax采样方法来确定决策特征,可以为采样过程引入gumbel分布,以此引入采样的随机性,使得级联特征中的每个像素级特征都有一定的概率被选中。
[0099]
根据本公开的实施例,该决策子网络721例如还可以为重要度设置阈值,对于大于等于该阈值的重要度对应的像素级特征,则被选择;而对于小于该阈值的重要度对应的像素级特征,则不被选择。
[0100]
根据本公开的实施例,在得到决策特征序列{qi}后,该实施例可以针对每个图像特征,可以根据对应的决策特征、该每个图像特征和级联特征,采用解码子网络来得到对应每个图像特征的解码特征。
[0101]
例如,对于任一图像特征该实施例可以先根据对应的决策特征对级联特征中每个通道的特征进行加权,得到加权后特征。随后,将该加权后特征和图像特征输入解码子网络722,由解码子网络722输出对应该图像特征的解码特征。
[0102]
根据本公开的实施例,对于每个图像特征,该实施例可以根据该每个图像特征的决策特征,来确定针对该每个图像特征的掩膜特征。然后将掩膜特征、每个图像特征和级联特征输入解码子网络722,由解码子网络722采用多头交叉注意力机制处理后,得到对应每个图像特征的解码特征。
[0103]
例如,该实施例可以将该决策特征复制若干份,得到掩膜特征。其中,该若干份例如可以与级联特征的通道数相同,例如该若干份可以为d。
[0104]
例如,该实施例在采用多头交叉注意力机制得到对应每个图像特征的解码特征时,还可以先以每个图像特征作为查询特征,以级联特征作为键特征,得到初始得分特征。具体可以为将该每个图像特征作为前文描述的公式(4)中的将级联特征作为公式(4)中的将通过公式(4)计算得到的a作为初始得分特征。
[0105]
根据本公开的实施例,在得到初始得分特征的同时,可以将针对每个图像特征的决策特征复制为ni份,并将该ni份决策特征整理后得到掩膜特征该实施例可以根据该掩膜特征对初始得分特征进行调整,得到调整后得分特征。将该调整后得分特征作为公式(3)中的a,将级联特征作为公式(4)中的将经由公式(3)计算得到的特征作为注意力层的输出。该输出经由前文描述的前向反馈层处理后传递给后续的解码单元,最后由解码网络中的最后一个解码单元输出解码特征。
[0106]
示例性的,该实施例可以将掩膜特征作为初始得分特征的权重,对初始得分特征进行加权,从而得到调整后得分特征。
[0107]
示例性的,该实施例还可以采用以下公式(6)来根据掩膜特征对初始得分特征进行调整,其中,为调整后初始得分特征,为中对应第k个像素级特征的元素的取值,m
ik
为掩膜特征中对应第k个像素级特征的元素的取值,ak为初始得分特征a中对应第k个像素级特征的元素的取值。
[0108][0109]
通过采用该公式(6)来调整初始得分特征,可以使得得到的调整后初始得分特征为归一化的注意力矩阵。
[0110]
本公开实施例通过根据决策特征来为解码过程提供掩膜特征,可以解决因针对不同的图像特征选择的像素级特征不对齐,而无法高效并行地训练图像检测模型的问题。因此,通过设置该掩膜特征,可以提高图像检测模型的训练效率。
[0111]
根据本公开的实施例,在对图像检测模型进行训练时,除了考虑预测检测结果和实际检测结果的差异外,还可以考虑根据预测网络得到的重要度向量选择像素级特征所存在的损失。以此利于提高训练得到的图像检测模型中预测网络的精度,并因此提高检测结果的精度。
[0112]
示例性地,在确定根据预测网络得到的重要度向量选择像素级特征所产生的损失时,可以先针对多个重要度向量中的每个向量,确定该每个向量中元素的平均值,得到分别对应多个重要度向量的多个平均值。随后根据该多个平均值与前文描述的目标比例之间的差值,来确定损失。其中,例如可以采用l2损失函数或l1损失函数等来确定该损失。如此,在训练图像检测模型时,可以先根据预测检测结果与实际检测结果的差异,来确定第一损失。同时根据多个平均值与目标比例之间的差值,来确定第二损失。最后,根据第一损失和第二损失来训练图像检测模型。例如可以将第一损失和第二损失的加权和作为图像检测模型的总损失。
[0113]
其中,多个平均值与目标比例之间的差异可以由以下值来表示:多个平均值与目标比例之间的多个差值的平均值。
[0114]
基于本公开提供的图像检测方法,本公开还提供了一种图像检测装置。以下将结合图8对该装置进行详细描述。
[0115]
图8是根据本公开实施例的图像检测装置的结构框图。
[0116]
如图8所示,该实施例的图像检测装置800可以包括特征提取模块810、重要度确定模块820、解码模块830和检测确定模块840。
[0117]
特征提取模块810用于提取待处理图像的特征,获得多个尺度下的多个图像特征,其中,每个图像特征中包括至少两个像素级特征。在一实施例中,该特征提取模块810可以用于执行前文描述的操作s210,在此不再赘述。
[0118]
重要度确定模块820用于针对多个图像特征中包括的多个像素级特征,确定多个像素级特征各自的重要度。在一实施例中,该重要度确定模块820可以用于执行前文描述的操作s220,在此不再赘述。
[0119]
解码模块830用于根据重要度对多个图像特征进行解码,得到分别对应多个图像特征的多个解码特征。在一实施例中,该解码模块830可以用于执行前文描述的操作s230,在此不再赘述。
[0120]
检测确定模块840用于根据多个解码特征,确定针对待处理图像的检测结果。在一实施例中,该检测确定模块840可以用于执行前文描述的操作s240,在此不再赘述。
[0121]
根据本公开的实施例,上述重要度确定模块820可以包括变换子模块、拼接子模块和处理子模块。变换子模块用于对多个图像特征进行维度变换,得到多个一维特征,多个一维特征分别对应多个图像特征。拼接子模块用于拼接多个一维特征,得到级联特征。处理子模块用于对级联特征进行非线性处理,得到分别对应多个图像特征的多个重要度向量。其中,多个重要度向量中的每个重要度向量包括:级联特征中的多个像素级特征对于每个重要度向量所对应的图像特征的多个重要度。
[0122]
根据本公开的实施例,解码模块可以包括第一特征确定子模块和编码子模块。第一特征确定子模块用于针对每个图像特征,根据重要度确定级联特征中针对每个图像特征的目标比例的目标特征。解码子模块用于根据目标特征和每个图像特征,确定针对每个图像特征的解码特征。
[0123]
根据本公开的实施例,解码子模块用于以目标特征作为键特征和值特征,以每个图像特征作为查询特征,采用多头交叉注意力机制得到针对每个图像特征的解码特征。
[0124]
根据本公开的实施例,检测确定模块840可以包括第一融合子模块和检测子模块。第一融合子模块用于融合多个解码特征,得到针对待处理图像的融合特征。检测子模块用于根据融合特征,确定检测结果。
[0125]
根据本公开的实施例,上述特征提取模块810可以包括特征提取子模块、第二融合子模块和第二特征确定子模块。上述多个图像特征的数目为n个,n为大于1的整数。特征提取子模块用于对待处理图像提取n个尺度下的特征,得到尺寸依次减小的n个初始特征。第二融合子模块用于针对n个初始特征中的第i个初始特征,融合第i个初始特征和n个初始特征中的第(i 1)个初始特征,得到多个图像特征中的第i个图像特征。第二特征确定子模块用于根据n个初始特征中的第n个初始特征,确定多个图像特征中的第n个图像特征。其中,i
的取值区间为[1,n-1]。
[0126]
基于本公开提供的图像检测模型的训练方法,本公开还提供了一种图像检测模型的训练装置。以下将结合图9对该装置进行详细描述。
[0127]
图9是根据本公开实施例的图像检测模型的训练装置的结构框图。
[0128]
如图9所示,该实施例的图像检测模型的训练装置900可以包括特征提取模块910、重要度确定模块920、解码模块930、检测确定模块940和模型训练模块950。其中,图像检测模型包括特征提取网络、预测网络、解码网络和检测网络。
[0129]
特征提取模块910用于将样本图像输入特征提取网络,得到多个尺度下的多个图像特征。其中,样本图像包括实际检测结果,每个图像特征包括至少两个像素级特征。在一实施例中,特征提取模块910可以用于执行前文描述的操作s610,在此不再赘述。
[0130]
重要度确定模块920用于将多个图像特征中包括的多个像素级特征输入预测网络,得到多个像素级特征各自的重要度。在一实施例中,重要度确定模块920可以用于执行前文描述的操作s620,在此不再赘述。
[0131]
解码模块930用于将重要度和多个图像特征输入解码网络,得到分别对应多个图像特征的多个解码特征。在一实施例中,解码模块930可以用于执行前文描述的操作s630,在此不再赘述。
[0132]
检测确定模块940用于将多个解码特征输入检测网络,得到针对样本图像的预测检测结果。在一实施例中,检测确定模块940可以用于执行前文描述的操作s640,在此不再赘述。
[0133]
模型训练模块950用于根据预测检测结果和实际检测结果,对图像检测模型进行训练。在一实施例中,模型训练模块950可以用于执行前文描述的操作s650,在此不再赘述。
[0134]
根据本公开的实施例,预测网络包括变换子网络和预测子网络。上述重要度确定模块920可以包括变换子模块和处理子模块。变换子模块用于将多个图像特征输入变换子网络进行维度变换,并对维度变换得到的多个一维特征进行拼接,得到级联特征。处理子模块用于将级联特征输入预测子网络进行非线性处理,得到重要度矩阵。其中,重要度矩阵由分别对应多个图像特征的多个重要度向量构成,多个重要度向量中的每个重要度向量包括:级联特征中的多个像素级特征对于每个重要度向量所对应的图像特征的多个重要度。
[0135]
根据本公开的实施例,上述解码网络包括决策子网络和解码子网络。上述解码模块930可以包括决策确定子模块和解码子模块。决策确定子模块用于将重要度矩阵输入决策子网络,得到与多个重要度向量分别对应的多个决策特征,作为分别针对多个图像特征的决策特征。解码子模块用于针对每个图像特征:根据针对每个图像特征的决策特征、每个图像特征和级联特征,采用解码子网络得到对应每个图像特征的解码特征。其中,针对每个图像特征的决策特征指示级联特征包括的各个像素级特征是否被选择。
[0136]
根据本公开的实施例,解码子模块可以包括掩膜确定单元和解码单元。掩膜确定单元用于根据针对每个图像特征的决策特征,确定针对每个图像特征的掩膜特征。解码单元用于将掩膜特征、每个图像特征和级联特征输入解码子网络,采用多头交叉注意力机制得到对应每个图像特征的解码特征。
[0137]
根据本公开的实施例,解码单元可以包括得分确定子单元、调整子单元和解码子单元。得分确定子单元用于以每个图像特征作为查询特征,以级联特征作为键特征,得到初
始得分特征。调整子单元用于根据掩膜特征对初始得分特征进行调整,得到调整后得分特征。解码子单元用于以级联特征作为值特征,根据调整后得分特征得到对应每个图像特征的解码特征。
[0138]
根据本公开的实施例,模型训练模块950可以包括第一损失确定子模块、平均值确定子模块、第二损失确定子模块和训练子模块。第一损失确定子模块用于根据预测检测结果与实际检测结果的差异,确定图像检测模型的第一损失。平均值确定子模块用于针对多个重要度向量中的每个向量,确定每个向量中元素的平均值,得到多个平均值。第二损失确定子模块用于根据多个平均值与目标比例之间的差异,确定图像检测模型的第二损失。训练子模块用于根据第一损失和第二损失,对图像检测模型进行训练。
[0139]
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0140]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0141]
图10示出了可以用来实施本公开实施例的图像检测方法和/或图像检测模型的训练方法的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0142]
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
[0143]
设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0144]
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如图像检测方法和/或图像检测模型的训练方法。例如,在一些实施例中,图像检测方法和/或图像检测模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的图像检测方法和/或图像检测模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的
方式(例如,借助于固件)而被配置为执行图像检测方法和/或图像检测模型的训练方法。
[0145]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0146]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0147]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0148]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0149]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0150]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0151]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0152]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献