应用于目标检测的方法、装置及计算机程序产品转让专利

申请号 : CN202111268767.9

文献号 : CN113963167B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于广华党青青吕文玉邓凯鹏徐畅赖宝华刘其文文灿胡晓光马艳军

申请人 : 北京百度网讯科技有限公司

摘要 :

本公开提供了应用于目标检测的方法、装置、电子设备、存储介质及计算机程序产品,具体涉及计算机视觉和深度学习技术,可用于目标检测场景下。具体实现方案为:在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。本公开提供了一种可适用于移动终端的目标检测网络的具体得到方式,提高了目标检测网络的准确度。

权利要求 :

1.一种应用于目标检测的方法,包括:

在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;

基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;

通过预设训练集训练基于所述特征提取网络和所述特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络,包括:通过所述预设训练集训练所述初始目标检测网络,得到超网络;采用进化算法在所述超网络上进行架构搜索,得到轻量化网络;通过所述预设训练集训练所述轻量化网络,得到所述目标检测网络,其中,在训练过程中,对于分类,使用变焦损失来耦合分类预测和质量预测,对于回归,使用广义交并比损失和分布式焦点损失。

2.根据权利要求1所述的方法,其中,所述在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络,包括:在所述预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,并响应于确定该模块的卷积步长为第一步长,在该模块中添加用于整合不同的卷积通道的特征图的第四网络;响应于确定该模块的卷积步长为第二步长,在该模块中添加用于进行卷积处理的第五网络,得到所述特征提取网络。

3.根据权利要求1所述的方法,其中,所述基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络,包括:以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,通过所述第三网络融合相邻尺寸的特征图,得到所述特征处理网络。

4.根据权利要求3所述的方法,其中,所述以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,通过所述第三网络融合相邻尺寸的特征图,得到所述特征处理网络,包括:以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,按照特征图的尺寸由大到小的顺序,通过所述第三网络融合相邻尺寸的特征图,得到各路径对应的第一融合特征图;

对于所述多个路径,按照第一融合特征图的尺寸由小到大的顺序,通过所述第三网络融合相邻尺寸的第一融合特征图,生成各路径对应的第二融合特征图,并结合各第二融合特征图对应的输出层,得到所述特征处理网络。

5.根据权利要求4所述的方法,其中,所述以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,通过所述第三网络融合相邻尺寸的特征图,得到所述特征处理网络,还包括:在所述特征处理网络中,对尺寸最大的特征图和目标第二融合特征图进行特征结合,并添加进行特征结合后得到的特征图的输出层,其中,所述目标第二融合特征图为所述尺寸最大的特征图所属的路径对应的第二融合特征图。

6.根据权利要求1所述的方法,其中,所述通过所述预设训练集训练所述轻量化网络,得到所述目标检测网络,包括:对于所述预设训练集中的训练样本,执行如下操作,直至得到所述目标检测网络:以该训练样本中的样本图像为所述轻量化网络的输入,以所输入的样本图像对应的标注框为所述轻量化网络的期望输出,得到多个预测框;

基于所述多个预测框与所述标注框之间的匹配信息,确定所述多个预测框中的目标预测框的数量;

在所述多个预测框中确定出所述数量的目标预测框,将该样本图像和所述目标预测框作为正样本训练所述轻量化网络。

7.根据权利要求6所述的方法,其中,所述在所述多个预测框中确定出所述数量的目标预测框,包括:根据所述多个预测框与所述标注框之间的损失,在所述多个预测框中确定出所述数量的目标预测框。

8.一种目标检测方法,包括:

获取待检测图像;

将所述待检测图像输入目标检测网络,得到目标检测结果,其中,所述目标检测网络通过权利要求1‑7中任一项得到。

9.一种应用于目标检测的装置,包括:

第一得到单元,被配置成在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;

第二得到单元,被配置成基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;

第三得到单元,被配置成通过预设训练集训练基于所述特征提取网络和所述特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络,包括:通过所述预设训练集训练所述初始目标检测网络,得到超网络;采用进化算法在所述超网络上进行架构搜索,得到轻量化网络;通过所述预设训练集训练所述轻量化网络,得到所述目标检测网络,其中,在训练过程中,对于分类,使用变焦损失来耦合分类预测和质量预测,对于回归,使用广义交并比损失和分布式焦点损失。

10.根据权利要求9所述的装置,其中,所述第一得到单元,进一步被配置成:在所述预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,并响应于确定该模块的卷积步长为第一步长,在该模块中添加用于整合不同的卷积通道的特征图的第四网络;响应于确定该模块的卷积步长为第二步长,在该模块中添加用于进行卷积处理的第五网络,得到所述特征提取网络。

11.根据权利要求9所述的装置,其中,所述第二得到单元,进一步被配置成:以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,通过所述第三网络融合相邻尺寸的特征图,得到所述特征处理网络。

12.根据权利要求11所述的装置,其中,所述第二得到单元,进一步被配置成:以所述第二网络为框架,对于所述框架中对应多个特征图的多个路径,按照特征图的尺寸由大到小的顺序,通过所述第三网络融合相邻尺寸的特征图,得到各路径对应的第一融合特征图;对于所述多个路径,按照第一融合特征图的尺寸由小到大的顺序,通过所述第三网络融合相邻尺寸的第一融合特征图,生成各路径对应的第二融合特征图,并结合各第二融合特征图对应的输出层,得到所述特征处理网络。

13.根据权利要求12所述的装置,其中,所述第二得到单元,还被配置成:在所述特征处理网络中,对尺寸最大的特征图和目标第二融合特征图进行特征结合,并添加进行特征结合后得到的特征图的输出层,其中,所述目标第二融合特征图为所述尺寸最大的特征图所属的路径对应的第二融合特征图。

14.根据权利要求9所述的装置,其中,所述第三得到单元,进一步被配置成:对于所述预设训练集中的训练样本,执行如下操作,直至得到所述目标检测网络:以该训练样本中的样本图像为所述轻量化网络的输入,以所输入的样本图像对应的标注框为所述轻量化网络的期望输出,得到多个预测框;基于所述多个预测框与所述标注框之间的匹配信息,确定所述多个预测框中的目标预测框的数量;在所述多个预测框中确定出所述数量的目标预测框,将该样本图像和所述目标预测框作为正样本训练所述轻量化网络。

15.根据权利要求14所述的装置,其中,所述第三得到单元,进一步被配置成:根据所述多个预测框与所述标注框之间的损失,在所述多个预测框中确定出所述数量的目标预测框。

16.一种目标检测装置,包括:

获取单元,被配置成获取待检测图像;

检测单元,被配置成将所述待检测图像输入目标检测网络,得到目标检测结果,其中,所述目标检测网络通过权利要求9‑15中任一项得到。

17.一种电子设备,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑8中任一项所述的方法。

18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1‑8中任一项所述的方法。

说明书 :

应用于目标检测的方法、装置及计算机程序产品

技术领域

[0001] 本公开涉及人工智能领域,具体涉及计算机视觉和深度学习技术,尤其涉及应用于目标检测的方法、装置、电子设备、存储介质以及计算机程序产品,可用于目标检测场景下。

背景技术

[0002] 目标检测(Object Detection)是指确定图像或视频中的感兴趣对象,同时检测出感兴趣对象的位置和大小的技术,是计算机视觉领域最重要、最具有挑战性的任务之一,被广泛应用到如工业质检、智能交通和自动驾驶等领域。目前,在移动端的目标检测网络的设计上,大多数方法基于服务器端性价比较高的anchor‑base(基于锚框)目标检测算法,做进一步轻量化,很少针对移动端做针对性的优化。

发明内容

[0003] 本公开提供了一种应用于目标检测的方法、装置、电子设备、存储介质以及计算机程序产品。
[0004] 根据第一方面,提供了一种应用于目标检测的方法,包括:在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。
[0005] 根据第二方面,提供了一种目标检测方法,包括:获取待检测图像;将待检测图像输入目标检测网络,得到目标检测结果,其中,目标检测网络通过第一方面任一实现方式得到。
[0006] 根据第三方面,提供了一种应用于目标检测的装置,包括:第一得到单元,被配置成在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;第二得到单元,被配置成基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;第三得到单元,被配置成通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。
[0007] 根据第四方面,提供了一种目标检测装置,包括:获取单元,被配置成获取待检测图像;检测单元,被配置成将待检测图像输入目标检测网络,得到目标检测结果,其中,目标检测网络通过第三方面任一实现方式得到。
[0008] 根据第五方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面、第二方面任一实现方式描述的方法。
[0009] 根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面、第二方面任一实现方式描述的方法。
[0010] 根据第七方面,提供了一种计算机程序产品,包括:计算机程序,计算机程序在被处理器执行时实现如第一方面、第二方面任一实现方式描述的方法。
[0011] 根据本公开的技术,通过改进预设卷积网络得到特征提取网络,并基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络,以通过特征提取网络和特征处理网络得到目标检测网络,提供了一种可适用于移动终端的目标检测网络的具体得到方式,提高了目标检测网络的准确度。
[0012] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0013] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0014] 图1是根据本公开的一个实施例可以应用于其中的示例性系统架构图;
[0015] 图2是根据本公开的应用于目标检测的方法的一个实施例的流程图;
[0016] 图3根据本公开的特征处理网络的结构示意图;
[0017] 图4根据本公开的目标检测网络的结构示意图;
[0018] 图5是根据本实施例的应用于目标检测的方法的应用场景的示意图;
[0019] 图6是根据本公开的应用于目标检测的方法的又一个实施例的流程图;
[0020] 图7是根据本公开的目标检测方法的一个实施例的流程图;
[0021] 图8是根据本公开的应用于目标检测的装置的一个实施例的结构图;
[0022] 图9是根据本公开的目标检测装置的一个实施例的结构图;
[0023] 图10是适于用来实现本公开实施例的计算机系统的结构示意图。

具体实施方式

[0024] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0025] 本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0026] 图1示出了可以应用本公开的应用于目标检测的方法及装置、目标检测方法及装置的示例性架构100。
[0027] 如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103之间通信连接构成拓扑网络,网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0028] 终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持网络连接,信息获取、交互、显示、处理等功能的各种电子设备,包括但不限于图像采集设备、车载智能设备、监控设备、智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
[0029] 服务器105可以是提供各种服务的服务器,例如,接收终端设备101、102、103发送的操作指令,通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络的后台处理服务器。可选的,服务器可以将得到的目标检测网络部署于移动终端。作为示例,服务器105可以是云端服务器。
[0030] 需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
[0031] 还需要说明的是,本公开的实施例所提供的应用于目标检测的方法、目标检测方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,应用于目标检测的装置、目标检测装置包括的各个部分(例如各个单元)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
[0032] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当应用于目标检测的方法、目标检测方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括应用于目标检测的方法、目标检测方法运行于其上的电子设备(例如服务器或终端设备)。
[0033] 请参考图2,图2为本公开实施例提供的一种应用于目标检测的方法的流程图,其中,流程200包括以下步骤:
[0034] 步骤201,在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络。
[0035] 本实施例中,应用于目标检测的方法的执行主体(例如,图1中的终端设备或服务器)可以在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络。
[0036] 预设卷积网络可以是CNN(Convolutional Neural Networks,卷积神经网络)这一大类下的任意神经网络,包括但不限于是ResNet(残差网络)、LeNet、AlexNet、DenseNet等卷积神经网络。为了进一步提高应用于目标检测的方法对于移动终端的适用性,预设卷积网络可以是ShuffleNetV2网络。
[0037] ShuffleNetV2网络是一种轻量级的卷积神经网络,包括多个网络模块。作为示例,在ShuffleNetV2网络中的模块中,在开始时先将输入的特征图在通道维度上分成两个分支(也即,通道分裂):通道数分别为C′和C‑C′,实际实现时C′=C/2。其中,C为总通道数。第一分支做同等映射,第二分支包含3个连续的卷积,并且输入通道和输出通道相同。三个连续的卷积中包括两个1x1卷积和位于两个1x1卷积中的深度可分离卷积。两个分支的输出进行特征拼接(concat),然后对两个分支的特征拼接结果进行channle shuffle(通道混洗),以保证两个分支之间的信息交流。并且,模块中的concat和channel shuffle操作可以和下一个模块的channel split(通道分裂)合成一个元素级运算。
[0038] 第一网络可以是用于确定不同卷积通道的注意力的任一网络模块,作为示例,第一网络可以是CBAM(Convolutional Block Attention Module,卷积块的注意力模块)。作为又一示例,第一网络可以是SE(Squeeze‑and‑Excitation,压缩和激励)模块。
[0039] 在预设卷积网络的每个模块中添加SE模块,通过SE模块对卷积得到的特征图进行处理,得到一个和通道数一样的一维向量作为每个通道的评价分数(也即,通道的注意力),然后将评价分数分别施加到对应的通道上,得到结合不同卷积通道的注意力的特征图结果。
[0040] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤201:
[0041] 在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,并响应于确定该模块的卷积步长为第一步长,在该模块中添加用于整合不同的卷积通道的特征图的第四网络;响应于确定该模块的卷积步长为第二步长,在该模块中添加用于进行卷积处理的第五网络,得到特征提取网络。
[0042] 第一步长和第二步长所对应的卷积步长不同,具体可根据预设卷积网络中每个模块的卷积步长的实际情况具体设置。作为示例,第一步长为2,第二步长为1。用于整合不同的卷积通道的特征图的第四网络可以是深度可分离卷积模块,用于进行卷积处理的第五网络可以是Ghost模块。
[0043] 在深度可分离卷积模块中,首先,对每一个通道的特征图进行标准的卷积操作;然后,利用1×1的卷积融合这些通道的信息,可以减小对于特征图的运算量。
[0044] 在Ghost模块中,包括标准卷积、Ghost特征图生成和特征图拼接三步。具体的,首先,采用标准卷积得到本征特征图(intrinsic feature maps);然后,将本征特征图中的每一个通道的特征信息进行线性变换,生成Ghost特征图;最后,将本征特征图和Ghost特征图进行拼接,得到最终特征输出结果。
[0045] 本实现方式中,在添加用于确定不同卷积通道的注意力的第一网络的基础上,根据卷积步长的不同,进行基于整合不同的卷积通道的特征图的第四网络,或进行卷积处理的第五网络的进一步的改进,在保证特征提取网络的准确度的基础上,降低了特征提取网络的参数规模。
[0046] 步骤202,基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络。
[0047] 本实施例中,上述执行主体可以基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络。
[0048] 一般情况下,特征提取网络会得到不同尺寸的多个特征图,不同的特征图所包括的特征信息不同。作为示例,越底层的特征图包括越多的细节信息,通过底层特征图得到的顶层特征图包括基于细节信息得到的抽象概括信息。本实施例中,每个特征图可以对应于一个路径。通过第二网络确定进行特征聚合的特征图,并通过第三网络融合第二网络所确定的、待聚合的特征图,得到多层级的、处理后的特征图。每个层级的处理后的特征图通过一个输出层,例如,Head(头部)网络,输出目标对象的分类结果和位置信息,也即,采用FPN(Feature Pyramid Networks,特征金字塔网络)进行特征处理。
[0049] 作为示例,第二网络可以是PAN(Path Aggregation Network,路径聚合网络)。在PAN中,包括一个自顶向下和自底向上的双向特征融合骨干网络,同时在最底层和最高层之间添加了一条“short‑cut”路径,用于缩短层之间的路径。
[0050] 第三网络可以是CSP(Cross Stage Partial,跨阶段局部)网络。在CSP网络中,将底层的特征图分成两部分,一部分经过dense block(稠密模块)和transition(过渡)层得到处理后的特征图,另一部分未处理的特征图与处理后的特征结合得到最终结果。
[0051] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤202:以第二网络为框架,对于框架中对应多个特征图的多个路径,通过第三网络融合相邻尺寸的特征图,得到特征处理网络。
[0052] 作为示例,以PAN原有的网络结构为框架,在需进行特征结合的操作处采用CSP网络替代,以通过CSP网络进行特征融合。
[0053] 本实实现方式中,提供了一种基于第二网络和第三网络得到特征处理网络的方式,提高了生成特征处理网络的便捷性。
[0054] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述特征处理网络的得到步骤:
[0055] 首先,以第二网络为框架,对于框架中对应多个特征图的多个路径,按照特征图的尺寸由大到小的顺序,通过第三网络融合相邻尺寸的特征图,得到各路径对应的第一融合特征图;然后,对于多个路径,按照第一融合特征图的尺寸由小到大的顺序,通过第三网络融合相邻尺寸的第一融合特征图,生成各路径对应的第二融合特征图,并结合各第二融合特征图对应的输出层,得到特征处理网络。
[0056] 本实现方式中,对于特征图,上述执行主体进行自上而下的特征融合。作为示例,特征图C3、C4、C5分别对应PAN网络中的一个特征图输入路径。对于特征图C3、C4、C5中的相邻尺寸的特征图C5和C4,上述执行主体可以对尺寸较大的特征图C5进行上采样,得到一上采样特征图;并将上采样特征图与尺寸较小的特征图C4进行特征拼接,进而通过第三网络融合拼接后的特征图,得到C4对应的路径的第一融合特征图。通过对C4对应的路径的第一融合特征图进行上采样,得到一上采样特征图,将该上采样特征图与C3进行特征拼接,进而通过第三网络融合拼接后的特征图,得到C3对应的路径的第一融合特征图。
[0057] 对于第一融合特征图,上述执行主体进行自下而上的特征融合。继续参照上述示例,上述执行主体可以对C3对应的第一融合特征图进行深度可分离卷积,并将卷积后的特征图与C4对应的第一融合特征图进行特征拼接,并通过第三网络融合拼接后的特征,得到C4对应第二融合特征图;对C4对应的第二融合特征图进行深度可分离卷积,并将卷积后的特征图与C5对应的第一融合特征图进行特征拼接,并通过第三网络对拼接后的特征进行融合,得到C5对应的第二融合特征图。
[0058] 对于顶层特征图C5对应的路径,由于其上再无其他路径,其特征图C5可作为其第一融合特征图;对于低层特征图C3对应的路径,其下再无其他路径,其第一融合特征图可作为其第二融合特征图。
[0059] 本实现方式中,提供了一种得到轻量化的特征处理网络的具体方式,提高了得到特征处理网络的可行性,降低了所得到的特征处理网络的参数规模。
[0060] 在本实施例的一些可选的实现方式中,为了进一步提高了特征处理网络进行目标检测的准确度,上述执行主体在特征处理网络中,对尺寸最大的特征图和目标第二融合特征图进行特征结合,并添加进行特征结合后得到的特征图的输出层,其中,目标第二融合特征图为尺寸最大的特征图所属的路径对应的第二融合特征图。本实现方式中,在网络中增加了特征处理的输出分支,可用于检测更多的目标对象,提高了特征处理网络进行目标检测的准确度和全面性。
[0061] 如图3所示,示出了特征处理网络的结构示意图。特征处理网络300中包括特征图输入分支301、302、303,以及特征图输出分支304、305、306、307。其中,C表示Channelwise Concat(特征拼接),+表示Elementwise Add(元素加法)。
[0062] 步骤203,通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。
[0063] 本实施例中,上述执行主体可以通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。
[0064] 作为示例,上述执行主体可以基于特征提取网络在前、特征处理网络在后的顺序组合得到初始目标检测网络,进而通过预设训练集训练得到训练后的目标检测网络。
[0065] 其中,预设训练集中训练样本包括样本图像和分类标签、位置标签。上述执行主体可以将样本图像作为初始目标检测网络的输入,将输入的样本图像对应的分类标签、位置标签作为初始目标检测网络的期望输出,训练得到目标检测网络。
[0066] 作为又一示例,上述执行主体可以对特征提取网络在前、特征处理网络在后的顺序组合得到的模型进行模型压缩,得到轻量化初始目标检测网络,进而通过预设训练集训练得到训练后的目标检测网络。
[0067] 如图4所示,示出了目标检测网络的一种具体网络结构,包括特征提取网络401和特这处理网络402。
[0068] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤203:
[0069] 第一,通过预设训练集训练初始目标检测网络,得到超网络。
[0070] 第二,采用进化算法在超网络上进行架构搜索,得到轻量化网络。
[0071] 基于EA(evolutionary algorithms,进化算法),上述可以从超网络中得到最优的、轻量化的模型结构,从而得到轻量化网络。
[0072] 作为示例,上述执行主体可以简单地基于卷积通道搜索来确定轻量化网络。具体的,提供可灵活选择的比率选项来选择不同的通道比率。例如,通道比例为0.5、0.675、0.75、0.875、1。其中,通道比例表征所得到的轻量化网络中的通道数量占超网络中的额通道数量的比率。
[0073] 第三,通过预设训练集训练轻量化网络,得到目标检测网络。
[0074] 本实现方式中,上述执行主体可以ImageNet分类数据集上对轻量化网络进行训练,得到训练后轻量化网络;然后,通过预设训练集对训练后轻量化网络进行训练,得到目标检测网络。
[0075] 本实现方式中,基于超网络的架构搜索,得到最优的轻量化网络,进而基于轻量化网络训练得到目标检测网络,在保证目标检测网络的基础上,减小了目标检测网络的参数规模,使目标检测网络更加适用于终端设备。
[0076] 在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第三步骤:
[0077] 对于预设训练集中的训练样本,执行如下操作,直至得到目标检测网络:
[0078] 首先,以该训练样本中的样本图像为轻量化网络的输入,以所输入的样本图像对应的标注框为轻量化网络的期望输出,得到多个预测框。
[0079] 然后,基于多个预测框与标注框之间的匹配信息,确定多个预测框中的目标预测框的数量。
[0080] 匹配信息可以通过预测框与标注框之间的IoU(Intersection‑over‑Union,交并比)来表征。
[0081] 作为示例,上述执行主体可以按照交并比由大到小的顺序,对多个预测框进行排序,并将排序在前的一定数量的预测框对应的交并比进行求和,得到上述数量。
[0082] 最后,在多个预测框中确定出数量的目标预测框,将该样本图像和目标预测框作为正样本训练轻量化网络。
[0083] 作为示例,上述执行主体可以将多个预测框中所述数量的、预测较准确的预测框作为目标预测框,将该样本图像输入轻量化网络,将目标预测框作为轻量化网络的期望输出,训练轻量化网络。
[0084] 本实现方式中,提供了一种使用动态标签分配策略来优化目标检测网络的训练过程的方法,提高了模型训练速度和准确度。
[0085] 响应于达到预设结束条件,将训练后的轻量化网络作为目标检测网络。其中,预设结束条件例如可以是训练时间超过时间阈值、训练次数超过次数阈值,训练损失趋于收敛。
[0086] 在训练过程中,对于分类,使用Varifocal loss(变焦损失)来耦合分类预测和质量预测。对于回归,使用GIOU(Generalized Intersection over Union,广义的交并比)损失和分布式focal(焦点)损失。损失函数如下:
[0087] loss=lossvfl+2lossgiou+0.25lossdfl
[0088] 其中,lossvfl表征Varifocal loss,lossgiou表征GIOU损失,lossdfl表征分布式focal损失。
[0089] 在本实施例的一些可选的实现方式中,上述执行主体通过如下方式确定目标预测框:根据多个预测框与标注框之间的损失,在多个预测框中确定出数量的目标预测框。
[0090] 作为示例,上述执行主体可以多个预测框中损失较小的上述数量个预测框作为目标预测框。
[0091] 具体的,上述执行主体可以通过如下公式计算多个预测框中的每个预测框与标注框之间的损失:
[0092] cost=lossvfl+λlossgiou
[0093] 其中,lossvfl表征Varifocal loss,lossgiou表征GIOU loss(广义的交并比损失),λ表征加权系数,可以设置为6。
[0094] 本实现方式中,根据多个预测框与标注框之间的损失确定目标预测框,提高了目标预测框的确定准确度。
[0095] 继续参见图5,图5是根据本实施例的应用于目标检测的方法的应用场景的一个示意图500。在图5的应用场景中,在预设卷积网络501的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络502;基于用于聚合不同路径的特征图的第二网络503和用于融合不同特征图的第三网络504,得到特征处理网络505;通过预设训练集训练基于特征提取网络502和特征处理网络505得到的初始目标检测网络506,得到训练后的目标检测网络507。
[0096] 本实施例中,通过改进预设卷积网络得到特征提取网络,并基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络,以通过特征提取网络和特征处理网络得到目标检测网络,提供了一种可适用于移动终端的目标检测网络的具体得到方式,提高了目标检测网络的准确度。
[0097] 继续参考图6,示出了根据本公开的方法的一个应用于目标检测的方法实施例的示意性流程600,包括以下步骤:
[0098] 步骤601,在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,并响应于确定该模块的卷积步长为第一步长,在该模块中添加用于整合不同的卷积通道的特征图的第四网络;响应于确定该模块的卷积步长为第二步长,在该模块中添加用于进行卷积处理的第五网络,得到特征提取网络。
[0099] 步骤602,以第二网络为框架,对于框架中对应多个特征图的多个路径,按照特征图的尺寸由大到小的顺序,通过第三网络融合相邻尺寸的特征图,得到各路径对应的第一融合特征图。
[0100] 步骤603,对于多个路径,按照第一融合特征图的尺寸由小到大的顺序,通过第三网络融合相邻尺寸的第一融合特征图,生成各路径对应的第二融合特征图,并结合各第二融合特征图对应的输出层,得到特征处理网络。
[0101] 步骤604,在特征处理网络中,对尺寸最大的特征图和目标第二融合特征图进行特征结合,并添加进行特征结合后得到的特征图的输出层。
[0102] 其中,目标第二融合特征图为尺寸最大的特征图所属的路径对应的第二融合特征图。
[0103] 步骤605,通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到超网络。
[0104] 步骤606,采用进化算法在超网络上进行架构搜索,得到轻量化网络。
[0105] 步骤607,对于预设训练集中的训练样本,执行如下操作,直至得到目标检测网络:
[0106] 步骤6071,以该训练样本中的样本图像为轻量化网络的输入,以所输入的样本图像对应的标注框为轻量化网络的期望输出,得到多个预测框。
[0107] 步骤6072,基于多个预测框与标注框之间的匹配信息,确定多个预测框中的目标预测框的数量。
[0108] 步骤6073,根据多个预测框与标注框之间的损失,在多个预测框中确定出数量的目标预测框,将该样本图像和目标预测框作为正样本训练轻量化网络。
[0109] 从本实施例中可以看出,与图2对应的实施例相比,本实施例中的应用于目标检测的方法的流程600具体说明了特征提取网络的得到过程,特征处理网络的得到过程,基于动态标签分配策略的优化的目标检测网络的训练过程,提供了一种适用于移动终端的、轻量化的目标检测网络的确定过程,在保证目标检测网络的准确度的基础上,减小了模型的参数规模。
[0110] 继续参考图7,图7为本公开实施例提供的一种目标检测方法的流程图,其中,流程700包括以下步骤:
[0111] 步骤701,获取待检测图像。
[0112] 本实施例中,目标检测方法的执行主体(例如图1中的终端设备或服务器)可以通过有线网络连接方式或无线网络连接方式从远程,或从本地获取待检测图像。待检测图像可以是拍摄得到的图片或视频中的视频帧。
[0113] 步骤702,将待检测图像输入目标检测网络,得到目标检测结果。
[0114] 本实施例中,上述执行主体可以将待检测图像输入目标检测网络,得到目标检测结果。其中,目标检测结果包括待检测图像中的目标对象的分类信息和位置信息。目标检测网络通过上述实施例200、600得到,可以部署于移动终端。
[0115] 本实施例中,通过实施例200、600得到的目标检测网络进行待检测图像中的目标对象的检测,提高了得到的检测结果的准确度。
[0116] 继续参考图8,作为对上述各图所示方法的实现,本公开提供了一种应用于目标检测的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0117] 如图8所示,应用于目标检测的装置包括:第一得到单元801,被配置成在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,得到特征提取网络;第二得到单元802,被配置成基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络;第三得到单元803,被配置成通过预设训练集训练基于特征提取网络和特征处理网络得到的初始目标检测网络,得到训练后的目标检测网络。
[0118] 在本实施例的一些可选的实现方式中,第一得到单元801,进一步被配置成:在预设卷积网络的每个模块中添加用于确定不同卷积通道的注意力的第一网络,并响应于确定该模块的卷积步长为第一步长,在该模块中添加用于整合不同的卷积通道的特征图的第四网络;响应于确定该模块的卷积步长为第二步长,在该模块中添加用于进行卷积处理的第五网络,得到特征提取网络。
[0119] 在本实施例的一些可选的实现方式中,第二得到单元802,进一步被配置成:以第二网络为框架,对于框架中对应多个特征图的多个路径,通过第三网络融合相邻尺寸的特征图,得到特征处理网络。
[0120] 在本实施例的一些可选的实现方式中,第二得到单元802,进一步被配置成:以第二网络为框架,对于框架中对应多个特征图的多个路径,按照特征图的尺寸由大到小的顺序,通过第三网络融合相邻尺寸的特征图,得到各路径对应的第一融合特征图;对于多个路径,按照第一融合特征图的尺寸由小到大的顺序,通过第三网络融合相邻尺寸的第一融合特征图,生成各路径对应的第二融合特征图,并结合各第二融合特征图对应的输出层,得到特征处理网络。
[0121] 在本实施例的一些可选的实现方式中,第二得到单元802,还被配置成:在特征处理网络中,对尺寸最大的特征图和目标第二融合特征图进行特征结合,并添加进行特征结合后得到的特征图的输出层,其中,目标第二融合特征图为尺寸最大的特征图所属的路径对应的第二融合特征图。
[0122] 在本实施例的一些可选的实现方式中,第三得到单元803,进一步被配置成:通过预设训练集训练初始目标检测网络,得到超网络;采用进化算法在超网络上进行架构搜索,得到轻量化网络;通过预设训练集训练轻量化网络,得到目标检测网络。
[0123] 在本实施例的一些可选的实现方式中,第三得到单元803,进一步被配置成:对于预设训练集中的训练样本,执行如下操作,直至得到目标检测网络:以该训练样本中的样本图像为轻量化网络的输入,以所输入的样本图像对应的标注框为轻量化网络的期望输出,得到多个预测框;基于多个预测框与标注框之间的匹配信息,确定多个预测框中的目标预测框的数量;在多个预测框中确定出数量的目标预测框,将该样本图像和目标预测框作为正样本训练轻量化网络。
[0124] 在本实施例的一些可选的实现方式中,第三得到单元803,进一步被配置成:根据多个预测框与标注框之间的损失,在多个预测框中确定出数量的目标预测框。
[0125] 本实施例中,通过改进预设卷积网络得到特征提取网络,并基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络,以通过特征提取网络和特征处理网络得到目标检测网络,提供了一种可适用于移动终端的目标检测网络的具体得到方式,提高了目标检测网络的准确度。
[0126] 继续参考图9,作为对上述各图所示方法的实现,本公开提供了一种应用于目标检测的装置的一个实施例,该装置实施例与图7所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0127] 如图9所示,目标检测装置包括:获取单元901,被配置成获取待检测图像;检测单元902,被配置成将待检测图像输入目标检测网络,得到目标检测结果。其中,目标检测网络通过实施例800得到。
[0128] 本实施例中,通过实施例800得到的目标检测网络进行待检测图像中的目标对象的检测,提高了得到的检测结果的准确度。
[0129] 根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的应用于目标检测的方法、目标检测方法。
[0130] 根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的应用于目标检测的方法、目标检测方法。
[0131] 本公开实施例提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的应用于目标检测的方法、目标检测方法。
[0132] 图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0133] 如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
[0134] 设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0135] 计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如应用于目标检测的方法、目标检测方法。例如,在一些实施例中,应用于目标检测的方法、目标检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的应用于目标检测的方法、目标检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用于目标检测的方法、目标检测方法。
[0136] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0137] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0138] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0139] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0140] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0141] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷;也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0142] 根据本公开实施例的技术方案,通过改进预设卷积网络得到特征提取网络,并基于用于聚合不同路径的特征图的第二网络和用于融合不同特征图的第三网络,得到特征处理网络,以通过特征提取网络和特征处理网络得到目标检测网络,提供了一种可适用于移动终端的目标检测网络的具体得到方式,提高了目标检测网络的准确度。
[0143] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
[0144] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。