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

目标检测方法及装置与流程

2022-04-30 02:05:48 来源:中国专利 TAG:


1.本发明涉及计算机视觉技术领域,特别是目标检测方法及装置。


背景技术:

2.如今,“智慧城市”正成为当今社会最热门的词汇之一。汽车可以自己驾驶,自助超市购物更方便,路边停车不再需要人工调度了,人工智能(ai)使城市变得更智慧。
3.计算机视觉使人工智能能够“看见”并做出决定。目标检测作为计算机视觉中最重要的任务之一,在各种应用中起着至关重要的作用。
4.与使用云的ai解决方案相比,边缘设备部署方案不仅可以降低网络通信的运营成本,而且还具有不受网络连接限制和隐私数据物理隔离的优点。然而,边缘器件具有功耗低、成本低的特点。
5.目标检测是计算机视觉中最重要的任务之一,它也是进一步深入研究的基础,如实例分割、姿态估计、跟踪和动作识别。目前,最常见的目标检测系统主要采用基于锚的方法。图1为现有的基于锚的方法进行目标检测的示意图,其中,锚是指预先设定固定w/h(宽/高)比边界框,如图1所示,先在待检测图像中提取特征图101,然后使用锚生成多个候选边界框102,再采用nms(non-maximum suppression,非极大值抑制)算法合并那些高度重叠的框103,最终保留置信度最高的一个候选边界框104作为最终检测到的目标。
6.上述方法中,由于采用的nms算法是一种比较耗时的算法。对于服务器来说,这样的成本几乎可以忽略不计。但是对于计算资源有限的边缘设备来说,这是一个很大的压力。
7.近年来,深度学习的发展使得目标检测更加准确可靠。除了准确度外,低延迟也是检测系统的一个重要指标,尤其是当部署在边缘设备上时,如何平衡深度学习系统如:神经网络的性能和精度就显得尤为重要。


技术实现要素:

8.有鉴于此,本发明实施例提出了目标检测方法及装置,以提高目标检测的速度。
9.本发明实施例的技术方案是这样实现的:
10.一种目标检测方法,包括:
11.将训练样本图像依次输入神经网络,所述神经网络包括:一个主干网络以及第一分支网络和第二分支网络,将所述主干网络的最后一层或多层的输出作为第一特征图,将所述第一特征图分别作为所述第一分支网络和所述第二分支网络的输入,所述第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,所述第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高;其中,所述目标中心点概率预测映射图和所述目标宽高预测映射图的大小相同;
12.当满足训练终止条件时,将当前神经网络模型作为目标检测模型;
13.将待检测样本图像输入所述目标检测模型,根据所述第一分支网络输出的所述目
标中心点概率预测映射图,确定各目标中心点的预测位置,将确定的各目标中心点的预测位置映射到所述待检测样本图像上,根据所述第二分支网络输出的所述目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将确定的各目标中心点对应的目标边界框的预测宽和高映射并标定在所述待检测样本图像上。
14.上述实施例中,通过神经网络的主干网络提取图像的特征图,然后再同时通过两个分支网络分别执行两个任务:检测各个目标的中心点的位置、计算各个目标的边界框的宽和高,最后将这两个任务的结果进行合并,在图像上标定出各目标,整个过程无需进行复杂计算,且由于两个任务并行进行,大大提高了目标检测的速度。
15.所述将训练样本图像依次输入神经网络之后,进一步包括:
16.针对当前输入的训练样本图像,设为第一训练样本图像,将所述第一训练样本图像的大小转换为与所述目标中心点概率预测映射图的大小相同,得到第二训练样本图像,在所述第二训练样本图像中标定各个目标的中心点,并在所述第二训练样本图像中将各个目标的中心点的值更新为第一预设值,将各背景点的值更新为第二预设值,得到第一训练样本图像的目标中心点概率真实映射图;且,在所述第二训练样本图像中标定各个目标的边界框,并在所述第二训练样本图像中将各个目标的中心点的取值更新为:(对应目标的边界框的宽,对应目标的边界框的高),将其它点的取值更新为:(第三预设值,第四预设值),得到所述第一训练样本图像的目标宽高真实映射图;
17.且,当所述第一分支网络输出所述第一训练样本图像的所述目标中心点概率预测映射图、所述第二分支网络输出所述第一训练样本图像的所述目标宽高预测映射图时,计算所述第一训练样本图像的所述目标中心点概率预测映射图与所述第一训练样本图像的所述目标中心点概率真实映射图的相似度,得到第一相似度;计算所述第一训练样本图像的所述目标宽高预测映射图与所述第一训练样本图像的所述目标宽高真实映射图的相似度,得到第二相似度;对所述第一相似度和所述第二相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播。
18.上述实施例中,通过构造第一训练样本图像的目标中心点概率真实映射图和目标宽高真实映射图,然后计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度,计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度,对第一相似度和第二相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播,从而使得神经网络能够朝得到更精确的目标中心点的位置和目标中心点的边界框的方向进行优化,提高了目标检测模型的精度。
19.所述训练终止条件为:所述损失函数值持续下降至不再下降时终止训练。
20.所述神经网络进一步包括:第三分支网络,且,
21.将所述第一特征图分别作为所述第一分支网络和所述第二分支网络的输入的同时,进一步包括:
22.将所述第一特征图作为所述第三分支网络的输入;
23.且,所述第三分支网络的输出为:目标中心点偏差预测映射图,其中,图上每个点的取值表示:该点若为目标中心点时,该点的预测位置与真实位置之间的偏差;且,所述目标中心点偏差预测映射图的大小与所述目标中心点概率预测映射图的大小相同;
24.且,所述确定各目标中心点的预测位置之后、将确定的各目标中心点的预测位置映射到所述待检测样本图像上之前,进一步包括:
25.根据所述第三分支网络输出的所述目标中心点偏差预测映射图,确定各目标中心点的预测位置与真实位置之间的偏差,并根据所述各目标中心点的预测位置、以及所述各目标中心点的预测位置与真实位置之间的偏差,对所述各目标中心点的预测位置进行修正;
26.且,所述将确定的各目标中心点的预测位置映射到所述待检测样本图像上包括:
27.将修正后的各目标中心点的预测位置映射到所述待检测样本图像上。
28.上述实施例中,通过神经网络的主干网络提取图像的特征图,然后再同时通过三个分支网络分别执行三个任务:检测各个目标的中心点的位置、计算各个目标的边界框的宽和高、计算各个目标的中心点的位置偏差,最后将这三个任务的输出结果进行合并:首先根据第三个任务的输出结果对第一个任务的输出结果进行修正,然后将第一任务的修正后的输出结果和第三个任务的输出结果映射到原始输入图像上,即得到原始输入图像的检测结果,从而对在检测过程中所造成的目标中心点的位置偏差进行了修正,提高了目标检测的精度。
29.所述将训练样本图像依次输入神经网络之后,进一步包括:
30.针对当前输入的训练样本图像,设为第一训练样本图像,将所述第一训练样本图像的大小转换为与所述目标中心点概率预测映射图的大小相同,得到第二训练样本图像,计算所述第一训练样本图像中的各目标中心点在所述第二训练样本图像中的真实位置,且,若任一目标中心点的真实位置不为整数,则对该真实位置进行取整运算,得到各目标中心点在所述第二训练样本图像中的实际位置;根据各目标中心点在所述第二训练样本图像中的实际位置,在所述第二训练样本图像中标定各目标中心点,在所述第二训练样本图像中将标定的各个目标中心点的取值更新为:该目标中心点的实际位置与真实位置的偏差,得到所述第一训练样本图像的目标中心点偏差真实映射图;
31.且,所述得到第二相似度之后、对所述第一相似度和所述第二相似度进行加权计算之前,进一步包括:
32.计算所述第一训练样本图像的目标中心点偏差真实映射图与所述第三分支网络输出的第一训练样本图像的目标中心点偏差预测映射图的相似度,得到第三相似度;
33.且,所述对所述第一相似度和所述第二相似度进行加权计算包括:
34.对所述第一相似度、所述第二相似度和所述第三相似度进行加权计算,且,将该加权计算结果作为所述损失函数值。
35.上述实施例中,通过构造第一训练样本图像的目标中心点概率真实映射图、目标宽高真实映射图和目标中心点偏差预测映射图,然后计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度,计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度,计算第一训练样本图像的目标中心点偏差预测映射图与第一训练样本图像的目标中心点偏差真实映射图的相似度,得到第三相似度,对第一相似度、第二相似度和第三相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播,从而使得神经网络能够朝得到更精确的目标中心点的位
置进行优化,进一步提高了目标检测模型的精度。
36.所述将所述主干网络的最后一层或多层的输出作为第一特征图之后、将所述第一特征图分别作为所述第一分支网络和所述第二分支网络的输入之前,进一步包括:
37.按照预设的上采样率,对所述第一特征图进行上采样,将上采样后得到的第二特征图分别作为所述第一分支网络和所述第二分支网络的输入。
38.上述实施例提高了目标检测模型的精度。
39.所述将训练样本图像依次输入神经网络之前,进一步包括:
40.按照如下原则构建所述主干网络:将所述主干网络划分为多个块,其中至少一个块满足如下条件:该块由至少两个卷积层构成,且该块满足:该块的输入数据的维数=该块的输出数据的维数》该块除最后一层外的每一层包含的滤波器的数目。
41.上述实施例,在保证目标检测模型精度的前提下,降低了目标检测复杂度,进一步提高了目标检测速度。
42.所述目标为车辆。
43.一种目标检测装置,包括:
44.检测模型建立模块,用于将训练样本图像依次输入神经网络,所述神经网络包括:一个主干网络以及第一分支网络和第二分支网络,将所述主干网络的最后一层或多层的输出作为第一特征图,将所述第一特征图分别作为所述第一分支网络和所述第二分支网络的输入,所述第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,所述第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高;其中,所述目标中心点概率预测映射图和所述目标宽高预测映射图的大小相同;当满足训练终止条件时,将当前神经网络模型作为目标检测模型;
45.检测模块,用于将待检测样本图像输入所述目标检测模型,根据所述第一分支网络输出的所述目标中心点概率预测映射图,确定各目标中心点的预测位置,将确定的各目标中心点的预测位置映射到所述待检测样本图像上,根据所述第二分支网络输出的所述目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将确定的各目标中心点对应的目标边界框的预测宽和高映射并标定在所述待检测样本图像上。
46.一种目标检测装置,包括:存储器以及可访问所述存储器的处理器,所述存储器存储指令,所述指令在由所述处理器执行时使得所述处理器执行如上任一项所述的方法的步骤。
47.本发明实施例中,通过神经网络的主干网络提取图像的特征图,然后再同时通过两个分支网络分别执行两个任务:检测各个目标的中心点的位置、计算各个目标的边界框的宽和高,最后将这两个任务的结果进行合并,在图像上标定出各目标,整个过程无需进行复杂计算,且由于两个任务并行进行,大大提高了目标检测的速度。
48.一种计算机可读介质,所述计算机可读介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使所述处理器执行如上任一项所述的方法的步骤。
附图说明
49.下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更
清楚本发明的上述及其它特征和优点,附图中:
50.图1为现有的基于锚的方法进行目标检测的示意图;
51.图2为本发明一实施例提供的目标检测方法流程图;
52.图3为本发明另一实施例提供的目标检测方法流程图;
53.图4为本发明又一实施例提供的目标检测方法流程图;
54.图5为本发明又一实施例提供的目标检测方法流程图;
55.图6为本发明实施例提供的采用目标检测模型进行目标检测的过程示意图;
56.图7为本发明实施例提供的将第二特征图输入三个分支网络进行计算最终输出目标检测结果的示意图;
57.图8为本发明提供的神经网络中的漏斗块的一种示例结构图;
58.图9为本发明一实施例提供的目标检测装置的结构示意图;
59.图10为本发明另一实施例提供的目标检测装置的结构示意图。
60.其中,附图标记如下:
61.62.具体实施方式
63.为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
64.图2为本发明一实施例提供的目标检测方法流程图,其具体步骤如下:
65.步骤201:将训练样本图像依次输入神经网络,该神经网络包括:一个主干网络以及第一分支网络和第二分支网络,将主干网络的最后一层或多层的输出作为第一特征图,将第一特征图分别作为第一、第二分支网络的输入;第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高;其中,目标中心点概率预测映射图和目标宽高预测映射图的大小相同。
66.其中,输入神经网络的所有训练样本图像中的部分或全部为:包含目标的图像。
67.目标中心点概率预测映射图和目标宽高预测映射图的大小相同指的是,二者包含的点的数目相同,其中,每个点代表训练样本图像中的一个或多个点,例如:当训练样本图像的大小为a*b时,若目标中心点概率预测映射图和目标宽高预测映射图的大小为(a/m)*(b/m),则目标中心点概率预测映射图和目标宽高预测映射图中的每个点分别代表训练样本图像中对应位置的m*m个点,a、b、m为正整数。
68.当将主干网络的最后多层的输出作为第一特征图时,需要对最后多层输出的数据进行融合,融合方法预先设定即可,本发明实施例对此不作限定,例如:可采用较常见的拼接方法进行融合。
69.步骤202:当满足训练终止条件时,将当前神经网络模型作为目标检测模型。
70.步骤203:将待检测样本图像输入目标检测模型,根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置,将各目标中心点的预测位置映射到待检测样本图像上;根据第二分支网络输出的目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将各目标中心点对应的目标边界框的预测宽和高映射并标定在待检测样本图像上。
71.根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置具体可为:
72.设定一个c*d大小的滑动窗,c为滑动窗的宽度,d为滑动窗的高度,且,滑动窗在宽度方向的滑动步长为c,在高度方向的滑动步长为d,滑动窗在目标中心点概率预测映射图上滑动,每滑动到一个新位置,在该滑动窗内的c*d个点的目标中心点概率中,寻找最大的目标中心点概率,然后判断该最大的目标中心点概率是否大于预设阈值,若大于,则认为该最大的目标中心点概率所在的点为目标中心点的预测位置。
73.上述实施例中,通过神经网络的主干网络提取图像的特征图,然后再同时通过两个分支网络分别执行两个任务:检测各个目标的中心点的位置、计算各个目标的边界框的宽和高,最后将这两个任务的结果进行合并,在图像上标定出各目标,整个过程无需进行复杂计算,且由于两个任务并行进行,大大提高了目标检测的速度。
74.在神经网络训练过程中,损失函数的设置很重要,损失函数用于指导神经网络朝最优模型进行修正。
75.图3为本发明另一实施例提供的目标检测方法流程图,其具体步骤如下:
76.步骤301:将训练样本图像依次输入神经网络,该神经网络包括:一个主干网络以及第一分支网络和第二分支网络,将主干网络的最后一层或多层的输出作为第一特征图,将第一特征图分别作为第一、第二分支网络的输入;第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高;其中,目标中心点概率预测映射图和目标宽高预测映射图的大小相同。
77.步骤302:针对当前输入的训练样本图像,设为第一训练样本图像,将第一训练样本图像的大小转换为与目标中心点概率预测映射图的大小相同,得到第二训练样本图像,在第二训练样本图像中标定各个目标的中心点,并在第二训练样本图像中将各个目标的中心点的值更新为第一预设值,将各背景点的值更新为第二预设值,得到第一训练样本图像
的目标中心点概率真实映射图;且,在第二训练样本图像中标定各个目标的边界框,并在第二训练样本图像中将各个目标的中心点的取值更新为:(对应目标的边界框的宽,对应目标的边界框的高),将其它点的取值更新为:(第三预设值,第四预设值),得到第一训练样本图像的目标宽高真实映射图。
78.其中,第一预设值、第二预设值取值不同;第三预设值和第四预设值取值可相同,也可不同。在实际应用中,第一预设值可为1,第二预设值可为0,第三预设值可为0,第四预设值可为0。
79.步骤303:当第一分支网络输出第一训练样本图像的目标中心点概率预测映射图,第二分支网络输出第一训练样本图像的目标宽高预测映射图时,计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度;计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度;对第一相似度和第二相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播。
80.步骤304:当满足训练终止条件时,将当前神经网络模型作为目标检测模型。
81.训练终止条件可以为:损失函数值持续下降至不再下降时终止训练。
82.步骤305:将待检测样本图像输入目标检测模型,根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置,将各目标中心点的预测位置映射到待检测样本图像上;根据第二分支网络输出的目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将各目标中心点对应的目标边界框的预测宽和高映射并标定在待检测样本图像上。
83.上述实施例中,通过构造第一训练样本图像的目标中心点概率真实映射图和目标宽高真实映射图,然后计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度,计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度,对第一相似度和第二相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播,从而使得神经网络能够朝得到更精确的目标中心点的位置和目标中心点的边界框的方向进行优化,提高了目标检测模型的精度。
84.上述实施例中,在将第一训练样本图像转换为第二训练样本图像时,目标中心点的位置在转换到第二训练样本图像上时,若宽和高的坐标不为整数,则需转换成整数,在该转换过程中,目标中心点的位置会产生偏差,为了消除该偏差,给出如下解决方案:
85.图4为本发明又一实施例提供的目标检测方法流程图,其具体步骤如下:
86.步骤401:将训练样本图像依次输入神经网络,该神经网络包括:一个主干网络以及第一分支网络、第二分支网络和第三分支网络,将主干网络的最后一层或多层的输出作为第一特征图,将第一特征图分别作为第一、第二和第三分支网络的输入;第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高,第三分支网络的输出为:目标中心点偏差预测映射图,其中,图上每个点的取值表示:该点若为目标中心点时,该点的预测位置与真实位置之间的偏差;其中,目标中心点概率预测映射图、目标宽高预测映射图和目标中心
点偏差预测映射图的大小相同。
87.其中,目标中心点偏差预测映射图中的每个点代表训练样本图像中的一个或多个点,例如:当训练样本图像的大小为a*b时,若目标中心点偏差预测映射图的大小为(a/m)*(b/m),则目标中心点偏差预测映射图中的每个点分别代表训练样本图像中对应位置的m*m个点,m为正整数。
88.步骤402:当满足训练终止条件时,将当前神经网络模型作为目标检测模型。
89.步骤403:将待检测样本图像输入目标检测模型,根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置,根据第三分支网络输出的目标中心点偏差预测映射图,确定各目标中心点的预测位置与真实位置之间的偏差,并根据各目标中心点的预测位置、以及各目标中心点的预测位置与真实位置之间的偏差,对确定的各目标中心点的预测位置进行修正,将修正后的各目标中心点的预测位置映射到待检测样本图像上,根据第二分支网络输出的目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将各目标中心点对应的目标边界框的预测宽和高映射并标定在待检测样本图像上。
90.上述实施例中,通过神经网络的主干网络提取图像的特征图,然后再同时通过三个分支网络分别执行三个任务:检测各个目标的中心点的位置、计算各个目标的边界框的宽和高、计算各个目标的中心点的位置偏差,最后将这三个任务的输出结果进行合并:首先根据第三个任务的输出结果对第一个任务的输出结果进行修正,然后将第一任务的修正后的输出结果和第三个任务的输出结果映射到原始输入图像上,即得到原始输入图像的检测结果,从而对在检测过程中所造成的目标中心点的位置偏差进行了修正,提高了目标检测的精度。
91.图5为本发明又一实施例提供的目标检测方法流程图,其具体步骤如下:
92.步骤501:将训练样本图像依次输入神经网络,该神经网络包括:一个主干网络以及第一分支网络、第二分支网络和第三分支网络,将主干网络的最后一层或多层的输出作为第一特征图,将第一特征图分别作为第一、第二和第三分支网络的输入;第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高,第三分支网络的输出为:目标中心点偏差预测映射图,其中,图上每个点的取值表示:该点若为目标中心点时,该点的预测位置与真实位置之间的偏差;其中,目标中心点概率预测映射图、目标宽高预测映射图和目标中心点偏差预测映射图的大小相同。
93.其中,目标中心点偏差预测映射图中的每个点代表训练样本图像中的一个或多个点,例如:当训练样本图像的大小为a*b时,若目标中心点偏差预测映射图的大小为(a/m)*(b/m),则目标中心点偏差预测映射图中的每个点分别代表训练样本图像中对应位置的m*m个点,m为正整数。
94.步骤502:针对当前输入的训练样本图像,设为第一训练样本图像,将第一训练样本图像的大小转换为与目标中心点概率预测映射图的大小相同,得到第二训练样本图像,在第二训练样本图像中标定各个目标的中心点,并在第二训练样本图像中将各个目标的中心点的值更新为第一预设值,将各背景点的值更新为第二预设值,得到第一训练样本图像
的目标中心点概率真实映射图;且,在第二训练样本图像中标定各个目标的边界框,并在第二训练样本图像中将各个目标的中心点的取值更新为:(对应目标的边界框的宽,对应目标的边界框的高),将其它点的取值更新为:(第三预设值,第四预设值),得到第一训练样本图像的目标宽高真实映射图;且,计算第一训练样本图像中的各目标中心点在第二训练样本图像中的真实位置,且,若任一目标中心点的真实位置不为整数,则对该真实位置进行取整运算,得到各目标中心点在第二训练样本图像中的实际位置,根据各目标中心点在第二训练样本图像中的实际位置,在第二训练样本图像中标定各目标中心点,在第二训练样本图像中将标定的各个目标中心点的取值更新为:该目标中心点的实际位置与真实位置的偏差,得到第一训练样本图像的目标中心点偏差真实映射图。
95.步骤503:当第一分支网络输出第一训练样本图像的目标中心点概率预测映射图,第二分支网络输出第一训练样本图像的目标宽高预测映射图,第三分支网络输出第一训练样本图像的目标中心点偏差预测映射图时,计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度;计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度;计算第一训练样本图像的目标中心点偏差预测映射图与第一训练样本图像的目标中心点偏差真实映射图的相似度,得到第三相似度;对第一相似度、第二相似度和第三相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播。
96.步骤504:当满足训练终止条件时,将当前神经网络模型作为目标检测模型。
97.步骤505:将待检测样本图像输入目标检测模型,根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置,根据第三分支网络输出的目标中心点偏差预测映射图,确定各目标中心点的预测位置与真实位置之间的偏差,并根据各目标中心点的预测位置、以及各目标中心点的预测位置与真实位置之间的偏差,对确定的各目标中心点的预测位置进行修正,将修正后的各目标中心点的预测位置映射到待检测样本图像上,根据第二分支网络输出的目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将各目标中心点对应的目标边界框的预测宽和高映射并标定在待检测样本图像上。
98.上述实施例中,通过构造第一训练样本图像的目标中心点概率真实映射图、目标宽高真实映射图和目标中心点偏差预测映射图,然后计算第一训练样本图像的目标中心点概率预测映射图与第一训练样本图像的目标中心点概率真实映射图的相似度,得到第一相似度,计算第一训练样本图像的目标宽高预测映射图与第一训练样本图像的目标宽高真实映射图的相似度,得到第二相似度,计算第一训练样本图像的目标中心点偏差预测映射图与第一训练样本图像的目标中心点偏差真实映射图的相似度,得到第三相似度,对第一相似度、第二相似度和第三相似度进行加权计算,得到整个神经网络的损失函数值,将该损失函数值沿所述神经网络反向传播,从而使得神经网络能够朝得到更精确的目标中心点的位置进行优化,进一步提高了目标检测模型的精度。
99.图6给出了本发明实施例提供的采用目标检测模型进行目标检测的过程示意图,其中,601为待检测图像,将待检测图像601输入目标检测模型的主干网络602进行特征提取,603为主干网络的最后两层输出的特征,604为将主干网络的最后两层输出的特征进行
拼接,得到第一特征图,605为对第一特征图进行上采样,得到第二特征图,将第二特征图同时输入三个分支网络606、607、608分别进行计算,609为分支网络606输出的目标中心点概率预测映射图,610为分支网络607输出的目标宽高预测映射图,611为分支网络608输出的目标中心点偏差预测映射图,根据该三个分支网络的输出可得到目标检测结果612。
100.图7为本发明实施例提供的将第二特征图输入三个分支网络进行计算最终输出目标检测结果的示意图,其中,71为第二特征图,72为第一分支网络输出的目标中心点概率预测映射图,73为第二分支网络输出的目标宽高预测映射图,74为第三分支网络输出的目标中心点偏差预测映射图,75为根据72、73和74标定出的目标。
101.一可选实施例中,为了提高目标检测模型的精度,在将第一特征图分别作为第一、第二和第三分支网络的输入之前,进一步按照预设的上采样率,对第一特征图进行上采样,将上采样后得到的第二特征图分别作为第一、第二和第三分支网络的输入。
102.一可选实施例中,为了在保证目标检测模型精度的前提下,降低目标检测复杂度,进一步提高目标检测速度,可按照如下原则构建主干网络:将主干网络划分为多个块,其中至少一个块满足如下条件:该块由至少两个卷积层构成,且该块满足:该块的输入数据的维数=该块的输出数据的维数》该块除最后一层外的每一层包含的滤波器的数目。
103.在实际应用中,满足上述条件的块称为漏斗块。图8为本发明提供的神经网络中的漏斗块的一种示例结构图。如图8所示,块共包含3个卷积层,其中,输入数据的维数为256,第一层81包含64个滤波器,使用的卷积核大小为1*1,第二层82包含64个滤波器,使用的卷积核大小为3*3,最后一层83包含256个滤波器,使用的卷积核大小为1*1,最后一层输出的数据和输入数据相加得到该块的输出数据。
104.图9为本发明一实施例提供的目标检测装置90的结构示意图,该装置主要包括:
105.检测模型建立模块91,用于将训练样本图像依次输入神经网络,该神经网络包括:一个主干网络以及第一分支网络和第二分支网络,将主干网络的最后一层或多层的输出作为第一特征图,将第一特征图分别作为第一、第二分支网络的输入,第一分支网络的输出为:目标中心点概率预测映射图,其中,图上每个点的取值表示该点为目标中心点的概率,第二分支网络的输出为:目标宽高预测映射图,图上每个点的二维取值分别表示:该点若为目标中心点时对应目标边界框的预测宽和高;其中,目标中心点概率预测映射图和目标宽高预测映射图的大小相同;当满足训练终止条件时,将当前神经网络模型作为目标检测模型;
106.检测模块92,用于将待检测样本图像输入检测模型建立模块91训练得到的目标检测模型,根据第一分支网络输出的目标中心点概率预测映射图,确定各目标中心点的预测位置,将各目标中心点的预测位置映射到待检测样本图像上,根据第二分支网络输出的目标宽高预测映射图,确定各目标中心点对应的目标边界框的预测宽和高,将各目标中心点对应的目标边界框的预测宽和高映射并标定在待检测样本图像上。
107.图10为本发明另一实施例提供的目标检测装置10的结构示意图,该装置包括:存储器11以及可访问存储器11的处理器12,该存储器11存储指令,该指令在由处理器12执行时使得处理器12执行如步骤201-203,或者步骤301-305,或者步骤401-403,或者步骤501-505所述的方法的步骤。
108.本发明实施例可应用于车辆检测场景。
109.另外,本发明实施例中的目标检测模型可进一步加载到tensorrt量化模型中进行优化,以使得在精度不明显降低的前提下,进一步压缩参数,避免内存消耗,加快运算速度,从而可达到在边缘设备上实时运行。
110.图9为本发明一实施例提供的定位装置90的结构示意图,该装置主要包括:存储器91以及可访问存储器91的处理器92,该存储器91存储指令,该指令在由处理器92执行时使得处理器92执行如步骤201-204、或者步骤301-307、或者步骤401-404、或者步骤601-608、或者步骤701-705、或者步骤801-810所述的方法的步骤。
111.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献