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

一种目标检测方法、装置及电子设备与流程

2021-10-30 02:16:00 来源:中国专利 TAG:电子设备 图像处理 检测方法 装置 目标


1.本发明涉及图像处理技术领域,尤其是涉及一种目标检测方法、装置及电子设备。


背景技术:

2.目标检测是计算机视觉领域中一个基础性的研究课题,其在人脸识别、安全监控以及动态追踪等很多方面都有广泛的应用前景。目标检测是指对于任意一幅给定的图像,检测和识别其中特定的目标(例如人脸),并返回目标的位置、大小信息,例如输出包围目标的边界框。
3.transformer是最初应用于机器翻译领域的一种新型的神经网络,目前,基于transformer的物体检测方法在图像检测与跟踪领域得到了比较广泛的应用,基于transformer的物体检测方法,首先通过使用卷积神经网络提取特征,然后直接使用transformer预测一组检测结果的集合。
4.现有的基于transformer的物体检测方法,如detr算法,普遍存在训练收敛速度慢,耗费显存大的问题。smca算法为transformer中的注意力加入了一个高斯图来关注邻近区域实现快速收敛,但是并没有解决显存问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种目标检测方法、装置及电子设备,以降低显存消耗,同时提升目标检测的准确性。
6.第一方面,本发明实施例提供一种目标检测方法,该方法应用于电子设备,电子设备预存有训练完成的目标检测模型,目标检测模型包括编码器和解码器,该方法包括:根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据;其中,空间位置自注意力处理为将第一键特征进行行列解耦,并根据行列解耦得到的第一键行特征、第一键列特征以及第一查询特征和第一值特征,确定空间位置自注意力结果;通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据,其中,第二查询特征、第二键特征和第二值特征通过预设参数确定;根据解码数据,确定待检测图像的检测结果,所述检测结果包括所述待检测图像中的目标对象对应的目标特征集。
7.进一步地,上述方法中根据行列解耦得到的第一键行特征和第一键列特征,以及第一查询特征和第一值特征,确定空间位置自注意力结果的步骤,包括:根据第一键行特征和第一查询特征,确定行注意力图;根据第一键列特征和第一查询特征,确定列注意力图;根据行注意力图、列注意力图和第一值特征,确定空间位置自注意力结果。
8.进一步地,上述方法中根据行注意力图、列注意力图和第一值特征,确定空间位置自注意力结果的步骤,包括:根据行注意力图和列注意力图,对第一值特征进行加权求和处理,得到空间位置自注意力结果。
9.进一步地,上述方法中的编码器还包括层级自注意力模块,上述方法中根据空间位置自注意力结果,确定编码器输出的编码数据的步骤,包括:通过层级自注意力模块对空间位置自注意力结果进行处理,得到层级自注意力结果;根据层级自注意力结果,确定编码数据。
10.进一步地,上述方法中根据层级自注意力结果,确定编码数据的步骤,包括:判断层级自注意力结果是否满足预设的编码器输出条件;如果否,将层级自注意力结果作为待检测图像的特征张量,继续执行根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到第一空间位置自注意力结果的步骤,以及通过层级自注意力模块对第一空间位置自注意力结果进行处理,得到层级自注意力结果的步骤,直到层级自注意力结果满足编码器输出条件,将层级自注意力结果作为编码数据。
11.进一步地,上述预设参数包括预设的初始位置锚点和预设的初始模式编码,上述第二查询特征、第二键特征和第二值特征通过以下步骤确定:根据初始位置锚点和预设的位置编码函数,确定位置编码;根据位置编码和初始模式编码,确定第二查询特征、第二键特征;根据初始模式编码,确定第二值特征。
12.进一步地,上述方法中根据位置编码和初始模式编码,确定第二查询特征和第二键特征的步骤,包括:将位置编码与初始模式编码组合,得到第二查询特征和第二键特征;上述根据初始模式编码,确定第二值特征的步骤,包括:将初始模式编码确定为第二值特征。
13.进一步地,上述方法中的初始模式编码为初始模式编码集,初始模式编码集中至少包括2个不同的模式编码。
14.进一步地,上述方法中通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据的步骤,包括:通过解码器对第二查询特征、第二键特征和第二值特征进行自注意力处理,得到自注意力结果;通过解码器对自注意力结果以及编码数据进行空间位置注意力处理,得到解码数据。
15.进一步地,上述方法中通过解码器对自注意力结果以及编码数据进行空间位置注意力处理,得到解码数据的步骤,包括:根据自注意力结果,确定第三查询特征;根据编码数据,确定第三键特征和第三值特征;通过解码器对第三查询特征、第三键特征和第三值特征进行空间位置注意力处理,得到解码数据。
16.第二方面,本发明实施例还提供一种目标检测装置,该装置包括:编码数据确定模块,用于根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据;其中,空间位置自注意力处理为将第一键特征进行行列解耦,并根据行列解耦得到的第一键行特征、第一键列特征以及第一查询特征和第一值特征,确定空间位置自注意力结果;解码数据确定模块,用于通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据,其中,第二查询特征、第二键特征和第二值特征通过预设参数确定;检测结果确定模块,用于根据解码数据,确定待检测图像的检测结果,检测结果包括待检测图像中的目标对象对应的目标特征集。
17.第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面的目标检测方法。
18.第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面的目标检测方法。
19.本发明实施例提供的上述目标检测方法、装置及电子设备,在编码器中对第一键特征进行行列解耦,并基于行列解耦得到的结果,分别在行和列进行自注意力,能够有效降低显存的消耗。并且,由于在检测过程中融合了各个位置的信息,因此通过本技术实施例提供的目标检测技术得到的检测结果维持对特征的表征能力,进而在保证目标检测的准确性的基础上,有效降低显存消耗。
20.本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
21.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
22.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的一种电子系统的结构示意图;
24.图2为本发明实施例提供的一种目标检测模型的示意图;
25.图3为本发明实施例提供的一种目标检测方法的流程图;
26.图4为本发明实施例提供的另一种目标检测方法的流程图;
27.图5为本发明实施例提供的另一种目标检测方法的流程图;
28.图6为本发明实施例提供的一种多层目标检测模型的结构示意图;
29.图7为本发明实施例提供的一种单层目标检测模型的结构示意图;
30.图8为本发明实施例提供的一种目标检测装置示意图;
31.图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.目前对于图像进行目标检测的方法,存在无法同时保证较高检测精度和低显存消耗的问题,基于此,本发明实施例提供一种目标检测方法、装置及电子设备,可以在保证目标检测的准确性的基础上有效降低显存消耗。
34.参照图1所示的电子系统100的结构示意图。该电子系统可以用于实现本技术实施例的目标检测方法和装置。
35.如图1所示的一种电子系统的结构示意图,电子系统100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108以及一个或多个图像采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子系统100的组件和结构只是示例性的,而非限制性的,根据需要,电子系统也可以具有其他组件和结构。
36.处理设备102可以为服务器、智能终端,或者是包含中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子系统100中的其它组件的数据进行处理,还可以控制电子系统100中的其它组件以执行目标检测功能。
37.存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行程序指令,以实现下文的本技术实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
38.输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
39.输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
40.图像采集设备110可以获取待检测图像,并且将该待检测图像存储在存储装置104中以供其它组件使用。
41.示例性地,用于实现根据本技术实施例的目标检测方法、装置和电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将图像采集设备110设置于可以采集到图像的指定位置。当上述电子系统中的各器件集成设置时,该电子系统可以被实现为诸如相机、智能手机、平板电脑、计算机、车载终端等智能终端。
42.本实施例提供了一种目标检测方法,该方法可以应用于电子系统,该电子设备可以包含上述电子系统。该电子设备预存有训练完成的目标检测模型,参见图2所示的目标检测模型的示意图,该目标检测模型包括编码器和解码器。上述目标检测模型为针对给定的目标预先训练好的模型,因此可以应用该模型执行本实施例的目标检测方法,参见图3所示的目标检测方法的流程图,该方法包括以下步骤:
43.s302:根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据。
44.其中,待检测图像可以是包含有多个目标的图像。待检测图像的特征张量可以是对待检测图像进行特征提取得到的张量,具体的,可以通过特征提取卷积神经网络对待检测图像进行特征提取。例如,可以通过卷积神经网络,提取出图像的深度特征。对于待检测
图像的特征提取方式,还可以采用传统的特征提取方式,本技术对特征提取方式不做具体限定。需要注意的是,提取出的特征是张量的形式,例如可以是大小为25
×
25
×
256的张量。
45.本技术实施例中的编码器,采用的是空间位置自注意力机制的编码器,其中,空间位置自注意力处理机制具体可以是将第一键特征进行行列解耦,得到第一键行特征和第一键列特征,根据第一键行特征和第一键列特征,以及第一查询特征和第一值特征,确定空间位置自注意力结果。
46.关于行列解耦的方法,将在后文进行详细描述,在此不再赘述。
47.经过编码器的空间位置自注意力处理后,得到空间位置自注意力结果,该空间位置自注意力结果是和特征张量形式和维度相同的张量。例如,待检测图像中的查询特征的宽高是30
×
25,每个查询特征的维度是256,那么特征张量就是30
×
25
×
256的张量,而得到的空间位置注意力结果,也是30
×
25
×
256的张量。
48.s304:通过解码器对第二查询特征、第二键特征、第二值特征和编码数据进行处理,得到解码数据,其中,第二查询特征、第二键特征和第二值特征通过预设参数确定。
49.本技术实施例提供的解码器,对输入数据采用自注意力机制,其中的输入数据可以是根据预设参数确定的查询特征、键特征和值特征。具体的查询特征、键特征和值特征的确定方法,将在后文具体阐述,在此不再赘述。
50.s306:根据解码数据,确定待检测图像的检测结果,检测结果包括待检测图像中的目标对象对应的目标特征集。
51.本技术实施例提供的上述方法,根据待检测图像的特征张量确定编码器的第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据;通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据;根据解码数据,确定待检测图像的检测结果,检测结果包括所述待检测图像中的目标对象对应的目标特征集。通过在编码器中对第一键特征进行行列解耦,并基于行列解耦得到的结果,分别在行和列进行自注意力,能够有效降低显存的消耗。并且,由于在检测过程中融合了各个位置的信息,因此通过本技术实施例提供的目标检测技术得到的检测结果维持对特征的表征能力,进而在保证目标检测的准确性的基础上,有效降低显存消耗。
52.下面将对本技术实施例提出的空间位置自注意力机制进行详细说明。
53.自注意力机制算法的输入包括查询(query),键(key)和值(value),为了便于描述,用q特征表示查询(query)、k特征表示键(key)、v特征表示值(value)。注意力机制首先计算q特征和k特征的相似度,然后再根据该相似度对v特征进行加权求和。其中q特征和k特征不仅应该包含它们对应的特征,还应该包含其特征对应的位置信息以分辨其位置。
54.上述注意力机制的公式如下:
[0055][0056]
q=q
f
q
p
,k=a
f
k
p
,v=v
f
[0057]
其中,q、k、v分别代表q特征、k特征和v特征,d
k
代表特征维度,t指矩阵转置,例如,
q特征、k特征和v特征的维度都是100x256,那的k
t
维度就是100x256,qk
t
的矩阵乘结果的维度就是100x100。q
f
代表q的特征,q
p
代表q的位置编码,两者相加得到q特征。k
f
代表k的特征,k
p
代表k的位置编码,两者相加得到k特征。v
f
代表v的特征,且r
hw
×
c
代表各个变量的维度,r表示实数,r
hwxc
表示维度是hwxc的实数。q
f
、k
f
和v
f
均通过卷积神经网络提取获得,q
p
和k
p
根据特征位置得到。
[0058]
为了降低显存消耗,本技术实施例提供的目标检测方法,其编码器采用了空间位置自注意力机制,也可以称作行列解耦的自注意力机制,其对行和列分别进行注意力机制,得到空间位置自注意力结果。具体的,本技术实施例提供的空间位置自注意力机制,对输入的第一键特征进行行列解耦,分别得到在行的维度上的第一键行特征,以及在列的维度上的第一键列特征,在一些实施例中,可以采用全局平均池化层实现对第一键特征的行列解耦。平均池化层沿着列维度对第一键特征求均值,得到第一键行特征,可以用k
x
来表示;沿着行维度对第一键特征求均值,得到第一键列特征,可以用k
y
来表示。例如,第一键特征的维度用whc来表示,其中,w(width)表示行维度的大小,h(height)表示列维度的大小,c(channel)表示深度,平均池化层沿着w维度求均值得到k
y
,k
y
的维度为hc,沿着h维度求均值得到k
x
,k
x
的维度为wc。
[0059]
基于以上描述,在得到第一键行特征和第一键列特征之后,分别对第一键行特征和第一键列特征做注意力机制,具体的,上述根据行列解耦得到的第一键行特征和第一键列特征,以及第一查询特征和第一值特征,确定第一空间位置自注意力结果的步骤,可以包括:
[0060]
(1)根据第一键行特征和第一查询特征,确定行注意力图;
[0061]
(2)根据第一键列特征和第一查询特征,确定列注意力图;
[0062]
(3)根据行注意力图、列注意力图和第一值特征,确定第一空间位置自注意力结果。
[0063]
上述过程中,根据第一键行特征和第一查询特征,确定行注意力图,可以是对第一键行特征和第一查询特征进行点积计算,得到行注意力图,行注意力图表征了第一键行特征与第一查询特征之间的相似程度。同样的,对第一键列特征和第一查询特征进行点积计算,得到列注意力图,列注意力图表征了第一键列特征与第一查询特征之间的相似程度。
[0064]
进一步的,可以根据行注意力图、列注意力图和第一值特征,确定第一空间位置自注意力结果。在一些实施例中,可以根据行注意力图和列注意力图,对第一值特征进行加权求和处理,得到第一空间位置自注意力结果。
[0065]
示例性的,上述计算行注意力图和列注意力图,并确定第一空间位置自注意力结果的过程,可以采用以下公式:
[0066][0067]
[0068][0069][0070]
q
x
=q
f
q
p,x
,q
y
=q
f
q
p,y
[0071]
q
p,x
=g(pos
q,x
),q
p,y
=g(pos
q,y
)
[0072]
k
x
=k
f,x
k
p,x
,k
y
=k
f,y
k
p,y
[0073]
k
p,x
=g(pos
k,x
),k
p,y
=g(pos
k,y
)
[0074][0075]
其中,是的x坐标,是的y坐标;是的x坐标;是的y坐标。d
k
是特征的维度。q
p,x
是行方向的位置编码,q
p,y
是列方向的位置编码。上述公式表征了,键特征的x坐标经过位置编码函数g(
·
),得到键特征在x方向的位置编码k
p,x
,键特征的y坐标经过位置编码函数g(
·
),得到键特征在y方向的位置编码k
p,y
,键特征的x方向的特征与键特征在x方向的位置编码k
p,x
相加,得到键行特征k
x
,同理得到键列特征k
y
。查询特征的x坐标经过位置编码函数g(
·
),得到查询特征在x方向的位置编码q
p,x
,查询特征的y坐标经过位置编码函数g(
·
),得到查询特征在y方向的位置编码q
p,y
,查询特征与查询特征在x方向的位置编码q
p,x
相加,得到查询行特征q
x
,同理得到查询列特征q
y
。根据查询行特征q
x
和键行特征k
x
,得到行注意力图a
x
。根据查询列特征q
y
和键列特征k
y
,得到列注意力图a
y
。进一步的,根据行注意力图a
x
和列注意力a
y
,以及值特征v,得到第一空间位置自注意力结果ans。由于在计算过程中融合了各个位置的信息,因此该第一空间位置自注意力结果在降低显存的基础上,维持了与传统的自注意力机制的检测结果一样的对特征的表征能力,进而在保证检测精度的基础上有效降低显存消耗。
[0076]
为了进一步提升目标检测的精度,本技术实施例提供了如图4所示的另一种目标检测方法的流程图,该方法在空间位置自注意力机制的基础上,编码器还包括层级自注意力模块,该方法包括以下步骤:
[0077]
s402:根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据;
[0078]
本步骤采用的方法,与上述步骤s302相同,在此不再赘述。
[0079]
s404:通过层级自注意力模块对空间位置自注意力结果进行处理,得到层级自注意力结果;
[0080]
s406:根据层级自注意力结果,确定编码数据。
[0081]
本技术实施例提供的层级自注意力模块,是在特征层的维度进行自注意力机制,每一个特征层关注的特征不同,从而实现不同层级的特征交互。例如,在多层特征中,卷积网络提取了三个不同的特征层,将上一步骤得到的第一空间位置自注意力结果,分别输入
层级自注意力模块,得到的层级自注意力结果可以表征对于每个空间位置应该更关注哪一级的特征。
[0082]
层级自注意力模块可以用以下公式表示:
[0083][0084][0085][0086]
其中,f代表第一空间位置自注意力结果,其维度是whc,e
l
指层级编码,它是一组可学的张量,当层级数目为l时,其维度为lc。
[0087]
s408:通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据。
[0088]
s410:根据解码数据,确定待检测图像的检测结果,检测结果包括待检测图像中的目标对象对应的目标特征集。
[0089]
在一些实施例中,为了提高本技术实施例提供的目标检测算法的收敛速度,还可以重复多次空间位置自注意力处理和层级自注意力处理,具体的,上述步骤s406的根据层级自注意力结果,确定编码数据的步骤,可以按照如下方式进行:
[0090]
(1)判断层级自注意力结果是否满足预设的编码器输出条件;
[0091]
(2)如果是,则直接将层级自注意力结果确定为编码器输出的编码数据;
[0092]
(3)如果否,则将层级自注意力结果作为待检测图像的特征张量,重复空间位置自注意力处理以及层级自注意力处理。
[0093]
具体的,将层级自注意力结果作为待检测图像的特征张量,继续执行根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果的步骤,以及通过层级自注意力模块对空间位置自注意力结果进行处理,得到层级自注意力结果的步骤,直到层级自注意力结果满足编码器输出条件,将层级自注意力结果作为编码数据。
[0094]
在一些实施例中,预设的编码器输出条件可以是判断编码器当前输出的编码数据的质量是否满足要求,还可以是判断进行了空间位置自注意力处理和层级自注意力处理的次数是否满足预设次数。优选的,预设的编码器输出条件是进行了空间位置自注意力处理和层级自注意力处理的次数,例如3次。
[0095]
可以理解的是,特征张量的特征层的层数可以是多层,也可以是单层,只有当特征张量是多层结构的时候,才采用上述的层级自注意力处理机制。当特征张量是单层结构的时候,仅执行上述空间位置自注意力处理。
[0096]
本技术实施例提供的目标检测方法,通过交替进行空间位置注意力机制和层级自注意力机制,能够有效提升目标检测的精度,并且,由于层的数目小于空间位置数目,因此层级自注意力处理的复杂度远低于空间位置自注意力处理,相比于仅使用空间位置自注意力处理,能够在提升目标检测精度的同时,有效降低显存的消耗。
[0097]
现有的注意力模块机制,在其解码器中,查询特征的位置编码是使用了一组可学
的向量来表示,键特征的位置编码是直接由特征的归一化位置坐标得到的,即查询特征和键特征的位置编码采用不同的编码方式。因此,神经网络需要很长的训练时间来学习用位置编码表达位置属性,并且学习衡量这两种不一致的位置编码的距离。而且由于缺少显式的位置先验,每个特征负责较大范围的图像区域,且存在大量重叠,这种不确定性也会严重降低算法的收敛速度。
[0098]
基于以上问题,为了有效提升收敛速度,在上述实施例中的编码器结构的基础上,本技术实施例还提供了另一种目标检测方法,该方法侧重于对解码器结构的改进,上述的预设参数包括预设的初始位置锚点和预设的初始模式编码,如图5所示,该方法包括以下步骤:
[0099]
s502:根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据。
[0100]
本步骤采用的方法,与上述步骤s302相同,在此不再赘述。
[0101]
s504:根据初始位置锚点和预设的位置编码函数,确定位置编码。
[0102]
初始位置锚点的形式是一组点,比如待检测图像中包括900个查询特征,则对应设置900个锚点,其维度为900
×
2,其中2是对应的x和y坐标。该初始位置锚点可以理解成位置先验,其是各个查询特征的初始位置坐标。
[0103]
初始位置锚点,可以通过网格点的方式进行设置,也可以是通过随机初始化的可学点的方式进行设置,本技术实施例对于初始位置锚点的设置方式不作具体限定。
[0104]
本技术实施例中,采用了与键特征位置编码一致的位置编码函数,基于编码数据确定查询特征位置编码。
[0105]
在一些实施例中,查询特征的位置编码和键特征的位置编码可以用如下公式确定:
[0106]
q
p
=g(pos
q
),k
p
=g(pos
k
)
[0107]
其中,pos
q
为初始位置,g(
·
)为位置编码函数,例如,g(
·
)可以是如下所示的sine

cosine函数:
[0108]
pe
(pos,2i)
=sin(pos/10000
2i/c
)
[0109]
pe
(pos,2i 1)
=cos(pos/10000
2i/c
)
[0110]
其中,pe(position embedding)代表输出结果,i代表维度索引,例如,输出维度是256时,则i的范围为[0,255],c是输出维度,例如256,10000是预设的一个温度值。
[0111]
除了上述公式外,位置编码函数还可以是一种神经网络,本发明实施例对位置编码函数的具体形式并不做具体限定。
[0112]
s506:根据位置编码和初始模式编码,确定第二查询特征和第二键特征。
[0113]
s508:根据初始模式编码,确定第二值特征。
[0114]
s510:通过解码器对第二查询特征、第二键特征、第二值特征以及所述编码数据进行处理,得到解码数据。
[0115]
s512:根据解码数据,确定待检测图像的检测结果,检测结果包括待检测图像中的目标对象对应的目标特征集。
[0116]
在一些实施例中,由于实际应用场景中,同一个位置上可能存在多个目标,因此,
为了进一步提升目标检测的精度,上述步骤s506中的根据位置编码和初始模式编码,确定第二查询特征和第二键特征的,以及步骤s508中的根据初始模式编码,确定第二值特征的步骤,可以包括:
[0117]
(1)将位置编码和初始模式编码组合,得到第二查询特征和第二键特征;
[0118]
(2)将初始模式编码确定为第二值特征。
[0119]
具体的,为解码器的查询位置均设置一组可学的模式编码,上述模式编码与位置编码的形式一致,例如,可以是一组256的向量,上述可学的模式编码,可以称之为初始模式编码,并把这组模式编码和上述查询特征位置编码组合,得到第二查询特征和第二键特征,该位置编码组合可以用于表征处于同一个位置查询的不同物体。
[0120]
需要注意的事,上述模式编码是一个维度和特征张量一样的张量,在一些实施例中,初始模式编码可以是初始模式编码集,初始模式编码集中至少包括2个不同的模式编码。
[0121]
初始模式编码可以通过以下公式确定:
[0122]
q
f
=embedding(n
pat
,c)
[0123]
其中,n
pat
指模式的数目(例如3个初始模式),c指特征维度(例如256个特征),embedding为生成维度为n
pat
×
c的可学的张量的函数。
[0124]
本步骤中,将查询特征的位置编码和初始模式编码进行组合,得到第二查询特征。具体的组合方式,可以参照如下公式:
[0125]
q
ppq
=q
f
q
p
[0126]
其中,q
ppq
是解码器初始输入,即第二查询特征。经过上述组合,查询的特征和查询的位置编码将由和转换为和
[0127]
可以理解的是,可以将查询特征的数目设置为300,模式的数目n
pat
设置为3,那么仅包含位置信息,而不包含模式信息的查询特征就是当模式的数目为1时的一种特殊形式。例如,查询特征的位置编码是300
×
256的张量,模式编码是3
×
256的张量,通过上述组合方式得到的结果是900
×
256的张量,不妨称之为查询特征的位置模式编码,其表征300个位置,每个位置有3个模式,一共得到900个特征。
[0128]
本技术实施例提供的目标检测方法,为查询特征设置了先验位置,即初始位置锚点,可以有效提升收敛速度,提高目标检测效率,并且采用的位置

模式查询(position

pattern query)的机制,使得一个位置查询可以预测多个物体,从而当一个位置有多个物体时,不需要用其它位置的查询来预测这些物体,以减小每个特征所负责的区域的不确定性,进而提高目标检测精度。
[0129]
在一些实施例中,解码器可以包括自注意力层和空间位置注意力层,用于对第二查询特征、第二键特征和第二值特征进行处理,基于此,上述步骤304中的通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据的步骤,具体可以是:
[0130]
(1)对第二查询特征、第二键特征和第二值特征进行注意力处理,得到自注意力结果;
[0131]
(2)通过解码器对自注意力结果以及编码数据进行空间位置注意力处理,得到解码数据。
[0132]
具体地,将上述自注意力结果作为第三查询特征。
[0133]
需要注意的是,本技术实施例提供的解码器的自注意力处理机制采用标准的自注意力机制,其输入的第二查询特征、第二键特征和第二值特征是由相同的数据确定的。
[0134]
在一些实施例中,在得到自注意力结果后,解码器可以按照以下方法得到解码数据:
[0135]
(1)根据自注意力结果,确定第三查询特征;
[0136]
(2)根据编码数据,确定第三键特征和第三值特征;
[0137]
(3)通过解码器对第三查询特征、第三键特征和第三值特征进行空间位置注意力处理,得到解码数据。
[0138]
在一些实施例中,本技术实施例提供的解码器,还可以包括全连接层,在得到自注意力结果之后,解码器对自注意力结果以及编码数据进行空间位置注意力处理,得到空间位置注意力结果;将空间位置注意力结果输入全连接层,进行结合,得到解码数据。可以理解的是,上述解码器中的全连接层,用于将不同层级的特征进行组合。
[0139]
需要注意的是,本技术实施例提供的目标检测方法,还包括多个预测全连接层,在得到解码数据后,通过多个预测全连接层,基于解码数据,待检测图像的检测结果,其中,检测结果可以包括待检测图像中各个目标对象对应的物体框坐标和目标分类得分。需要注意的是,网络的预测是基于锚点的相对坐标,而非基于全图的绝对坐标,因此,物体框中心点的网络预测为真值与锚点的残差。例如,某个目标的中心点绝对坐标是(0.4,0.6),锚点的绝对坐标是(0.5,0.5),则通过本技术提供的目标检测方法预测得到的该目标的中心点为(

0.1,0.1)。
[0140]
为了便于理解,下面结合附图,介绍几种基于本技术实施例提供的目标检测方法的目标检测模型。
[0141]
图6为本技术实施例提供的一种多层目标检测模型的示意图,如图6所示,该目标检测模型中针对待检测图像提取多层特征,具体的,该目标检测模型包括特征提取卷积神经网络、encoder(编码器)、decoder(解码器),在编码器中,包括空间位置自注意力层和层级自注意力层。在图6中,将待检测图像输入特征提取卷积神经网络,得到不同特征层的特征(c3、c4、dc 5),通过1
×
1卷积或者3
×
3卷积,得到大小相同的特征(f3、f4、f5),将特征组合成特征张量(feature),输入编码器,循环迭代n次,得到编码数据,将查询位置与模式编码结合,输入解码器,循环迭代m次,得到解码数据;解码数据经过两个ffn(feed forward netword,前馈神经网络),得到目标框和目标分类得分。
[0142]
图7示出了本技术实施例提供的一种单层目标检测模型,如图7所示,该目标检测模型中针对待检测图像提取单层特征,具体的,该目标检测模型包括特征提取卷积神经网络、encoder(编码器)、decoder(解码器),在编码器中,包括空间位置自注意力层。在图7中,将待检测图像输入特征提取卷积神经网络,得到单层特征(dc5),通过1
×
1卷积得到降维后的特征(f5),将该特征作为特征张量输入编码器,循环迭代nx次,得到编码数据,将查询位置与模式编码结合,输入解码器,循环迭代mx次,得到解码数据;解码数据经过两个ffn层,得到目标框和目标分类得分。
[0143]
下表1为基于本技术实施例提供的一种目标检测方法得到的mscoco验证集的结果。表1中所示的目标检测方法采用的目标检测模型包括多层特征提取卷积神经网络、编码
器、解码器,其中编码器采用空间位置自注意力与层级自注意力交替进行的机制,解码器中的查询特征与键特征采用一致的位置编码函数(sine

cosine 2fc),其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是可学位置点。目标位置为300,模式个数为3。
[0144]
表1
[0145]
指标apap50ap75apsapmapl值45.265.348.725.849.261.0
[0146]
下表1

1为将上述表1所示的目标检测模型,应用在不同数目的位置和模式的情况下,得到的mscoco验证集。
[0147]
表1
‑1[0148]
位置模式apap50ap75apsapmapl100142.062.344.723.545.558.3100344.164.547.42547.461.6300143.463.946.525.347.259.5300345.265.348.725.849.261.0900143.263.646.425.446.858.8
[0149]
下表1

2为将上述表1所示的目标检测模型,应用在解码器输入的查询特征和键特征采用各种位置编码函数组合的情况下,得到的mscoco验证集。
[0150]
表1
‑2[0151][0152][0153]
下表2是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表2中所示的目标检测方法采用的目标检测模型包括多层特征提取卷积神经网络、编码器、解码器,其中编码器采用空间位置自注意力与层级自注意力交替进行的机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是采用网格方法得到的位置。目标位置为300,模式个数为3。
[0154]
表2
[0155]
指标apap50ap75apsapmapl值45.16548.826.548.661.6
[0156]
下表3是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表3中所示的目标检测方法采用的目标检测模型包括多层特征提取卷积神经网络、编码器、解码器,其中编码器采用空间位置自注意力机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是
可学位置点。目标位置为300,模式个数为3。
[0157]
表3
[0158]
指标apap50ap75apsapmapl值44.264.147.925.447.960.7
[0159]
下表4是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表4中所示的目标检测方法采用的目标检测模型包括,单层c5特征提取卷积神经网络、编码器、解码器,其中,编码器采用空间位置自注意力机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是可学位置点。
[0160]
表4
[0161]
指标apap50ap75apsapmapl值42.163.144.722.246.159.8
[0162]
下表5是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表5中所示的目标检测方法采用的目标检测模型包括,单层c5特征提取卷积神经网络、编码器、解码器,其中,编码器和解码器的空间注意力采用detr算法中的标准自注意力机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是可学位置点。
[0163]
表5
[0164]
指标apap50ap75apsapmapl值42.263.544.921.945.961.0
[0165]
下表6是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表6中所示的本技术实施例提供的目标检测方法采用的目标检测模型包括,单层dc5特征提取卷积神经网络、编码器、解码器,其中,编码器采用空间位置自注意力机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是可学位置点。
[0166]
表6
[0167]
指标apap50ap75apsapmapl值43.964.447.324.847.960.4
[0168]
下表7是基于本技术实施例提供的另一种目标检测方法得到的mscoco验证集的结果。表7中所示的本技术实施例提供的目标检测方法采用的目标检测模型包括,单层dc5特征提取卷积神经网络、编码器、解码器,其中,编码器和解码器的空间注意力采用detr算法中的标准自注意力机制,解码器中的查询特征与键特征采用一致的位置编码函数,其中查询特征采用先验位置与模式编码结合的方式确定,先验位置是可学位置点。
[0169]
表7
[0170]
指标apap50ap75apsapmapl值44.256.047.424.748.060.7
[0171]
基于上述方法实施例,本发明实施例还提供一种目标检测装置,参见图8所示,该装置包括:
[0172]
编码数据确定模块802,用于根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到空间位置自注意力结果;根据空间位置自注意力结果,确定编码器输出的编码数据;其中,空间位置自注意力处理为将第一键特征进行行列解耦,并根据行列解耦得到的第一键行特征、第一键列特征以及第一查询特征和第一值特征,确定空间位置自注意力结果;
[0173]
解码数据确定模块804,用于通过解码器对第二查询特征、第二键特征、第二值特征以及编码数据进行处理,得到解码数据,其中,第二查询特征、第二键特征和第二值特征通过预设参数确定;
[0174]
检测结果确定模块806,用于根据解码数据,确定待检测图像的检测结果,检测结果包括待检测图像中的目标对象对应的目标特征集。
[0175]
上述目标检测装置,通过在编码器中对第一键特征进行行列解耦,并基于行列解耦得到的结果,分别在行和列进行自注意力,能够有效降低显存的消耗。并且,由于在检测过程中融合了各个位置的信息,因此通过本技术实施例提供的目标检测技术得到的检测结果维持对特征的表征能力,进而在保证目标检测的准确性的基础上,有效降低显存消耗。
[0176]
上述根据行列解耦得到的第一键行特征和第一键列特征,以及第一查询特征和第一值特征,确定空间位置自注意力结果的过程,还包括:根据第一键行特征和第一查询特征,确定行注意力图;根据第一键列特征和第一查询特征,确定列注意力图;根据行注意力图、列注意力图和第一值特征,确定空间位置自注意力结果。
[0177]
上述根据行注意力图、列注意力图和第一值特征,确定空间位置自注意力结果的过程,还包括:根据行注意力图和列注意力图,对第一值特征进行加权求和处理,得到空间位置自注意力结果。
[0178]
上述编码器还包括层级自注意力模块,根据空间位置自注意力结果,确定编码器输出的编码数据的过程,还包括:通过层级自注意力模块对空间位置自注意力结果进行处理,得到层级自注意力结果;根据层级自注意力结果,确定编码数据。
[0179]
上述根据层级自注意力结果,确定编码数据的过程,还包括:判断层级自注意力结果是否满足预设的编码器输出条件;如果否,将层级自注意力结果作为待检测图像的特征张量,继续执行根据待检测图像的特征张量确定第一查询特征、第一键特征和第一值特征;通过编码器对第一查询特征、第一键特征和第一值特征进行空间位置自注意力处理,得到第一空间位置自注意力结果的步骤,以及通过层级自注意力模块对第一空间位置自注意力结果进行处理,得到层级自注意力结果的步骤,直到层级自注意力结果满足编码器输出条件,将层级自注意力结果作为编码数据。
[0180]
上述预设参数包括预设的初始位置锚点和预设的初始模式编码,上述第二查询特征、第二键特征和第二值特征通过以下步骤确定:根据初始位置锚点和预设的位置编码函数,确定位置编码;根据位置编码和初始模式编码,确定第二查询特征和第二键特征;根据初始模式编码,确定第二值特征。
[0181]
上述根据位置编码和初始模式编码,确定第二查询特征和第二键特征的过程,还包括:将位置编码与初始模式编码组合,得到第二查询特征和第二键特征;上述根据初始模式编码,确定第二值特征的过程,还包括:将初始模式编码确定为第二值特征。
[0182]
上述初始模式编码为初始模式编码集,初始模式编码集中至少包括2个不同的模式编码。
[0183]
上述解码数据确定模块804还用于:通过解码器对第二查询特征、第二键特征和第二值特征进行自注意力处理,得到自注意力结果;通过解码器对自注意力结果以及编码数据进行空间位置注意力处理,得到解码数据。
[0184]
上述通过解码器对自注意力结果以及编码数据进行空间位置自注意力处理,得到解码数据的过程,还包括:根据自注意力结果,确定第三查询特征;根据编码数据,确定第三键特征和第三值特征;通过解码器对第三查询特征、第三键特征和第三值特征进行空间位置注意力处理,得到解码数据。
[0185]
本发明实施例提供的目标检测装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,上述装置的实施例部分未提及之处,可参考前述目标检测方法实施例中的相应内容。
[0186]
本发明实施例还提供了一种电子设备,如图9所示,为该电子设备的结构示意图,其中,该电子设备包括处理器901和存储器902,该存储器902存储有能够被该处理器901执行的计算机可执行指令,该处理器901执行该计算机可执行指令以实现上述目标检测方法。
[0187]
在图9示出的实施方式中,该电子设备还包括总线903和通信接口904,其中,处理器901、通信接口904和存储器902通过总线1103连接。
[0188]
其中,存储器902可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口904(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线903可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0189]
处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器901读取存储器中的信息,结合其硬件完成前述实施例的目标检测方法的步骤。
[0190]
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有
计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述目标检测方法,具体实现可参见前述方法实施例,在此不再赘述。
[0191]
本发明实施例所提供的目标检测方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0192]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0193]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0194]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0195]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜