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

文档序号:25897116发布日期:2021-07-16 20:22阅读:116来源:国知局
目标检测方法及装置与流程

1.本申请涉及目标检测技术领域,尤其涉及一种目标检测方法及装置。


背景技术:

2.目标检测一直是图像处理领域的热点,尤其针对密集型小目标的高鲁棒性、高准确性以及高实时性的检测,具有重要的应用价值。例如,对道路中电子眼的识别,一方面,要求密集型小目标的检测识别可靠性很高,尤其对于较远距离的密集型小目标需要有较高的检测准确率和召回率;另一方面对于图像信息的处理时间要尽可能短,以保证很高的实时性。
3.现有技术中,通常采用基于深度学习的目标检测方法,基于深度学习的目标检测可表示为:图像的深度特征提取、基于深度神经网络的目标识别与定位,由于基于回归的目标检测与识别算法实时性较好,如yolo目标检测模型,备受青睐。现有技术中的yolov3将目标检测问题转化为回归问题,合并分类和定位任务到一个步骤,直接预测物体的位置及类别,检测速度可以满足实时分析的要求。
4.然而,现有技术中,使用yolov3目标检测模型对密集型小目标进行检测时,检测的准确率和召回率较低。


技术实现要素:

5.本申请提供一种目标检测方法及装置,以实现对密集型小目标的高性能检测。
6.第一方面,本申请实施例提供一种目标检测方法,包括:
7.获取训练数据样本;
8.构建第一目标检测网络结构,第一目标检测网络结构包括:基于yolov3网络结构的第二目标检测网络结构和新增神经网络模块,神经网络模块的输入为第二目标检测网络结构中一神经网络层的输出,神经网络模块的输出为目标的多尺度融合特征,神经网络模块的输出融合的最大尺度为原始特征的1/4,原始特征为输入至第一目标检测网络结构的样本特征;
9.利用第一目标检测网络结构对训练样本数据进行训练,生成训练后的目标检测模型;
10.利用训练后的目标检测模型,对图像或视频进行目标检测。
11.本申请实施例中,通过在yolov3网络结构的第二目标检测网络结构的基础上,增加新增神经网络模块,且新增神经网络模块的输入为第二目标检测网络结构中一神经网络层的输出,新增神经网络模块输出特征有效融合了包括原始样本特征尺寸1/4在内的多尺度特征,有效的提取了小目标的特征信息,然后利用该第一目标检测网络结构对样本进行训练,最后根据训练后的目标检测模型,实现对图像或视频中小目标的有效检测。
12.在一种可实现的方式中,利用第一目标检测网络结构对训练数据样本进行训练,生成训练后的目标检测模型,包括:
13.采用数据增强技术对训练数据样本进行随机裁剪;将裁剪后的训练数据样本输入至第一目标检测网络中进行训练,用第一目标检测网络结构对训练数据样本进行训练,生成训练后的目标检测模型,直至训练的目标检测模型的损失函数收敛,并作为训练后的目标检测模型。
14.本申请实施例中,通过采用数据增强方式对训练数据样本进行随机裁剪,不仅可以保留输入到网络结构中目标的原始特征,还可以提高样本的利用率。
15.在一种可实现的实施方式中,训练数据样本包括预先标注的包含目标的真实目标框,预测结果包括目标的预测目标框,损失函数为:
16.l=l
attr
+α*l
repgt
+β*l
repbox
17.其中,l表示损失函数,l
attr
表示预测目标框与真实目标框所产生的损失值,l
repgt
表示预测目标框与相邻真实目标框所产生的损失值,l
repbox
表示预测目标框与相邻预测目标框所产生的损失值,α和β为权重因子,用于平衡l
repgt
和l
repbox
的损失值。
18.本申请实施例中,通过采用上述损失函数,充分考虑到相邻真实目标框对当前目标的影响因素,对密集遮挡类目标的检测具有更高的精度和鲁棒性。
19.可选的,在获取训练数据样本之后,还包括:
20.获取训练数据样本标注的多个真实目标框;
21.根据多个真实目标框,利用k-means算法聚类出第一目标检测网络结构中的n个不同大小的锚框,n为大于1的整数。
22.本申请实施例中,通过根据标注的真实目标框,利用k-means算法聚类出第一目标检测网络结构的n个不同大小的锚框,可以提高目标检测模型对数据样本的适应性和训练效率。
23.可选的,在生成训练后的目标检测模型之后,还包括:
24.获取测试数据样本,测试数据样本包括预先标注的包含目标的真实目标框;采用滑动窗口机制对测试数据样本进行裁剪;将裁剪后的测试数据样本输入至训练后的目标检测模型中,对裁剪后的测试数据样本中的目标进行预测;输出测试数据样本目标的预测目标框。
25.本申请实施例中,通过对训练后的目标检测模型进行测试,进而根据测试结果对目标检测模型进行调整,可以提高目标检测模块的可靠性。
26.可选的,yolov3网络结构的主框架为darknet 53网络结构或detnet网络结构。
27.下面介绍本申请实施例提供的装置、电子设备、计算机可读存储介质以及计算机程序产品,其内容和效果可参考本申请实施例提供的目标检测方法,不再赘述。
28.第二方面,本申请实施提供一种目标检测装置,包括:
29.获取模块,用于获取训练数据样本;
30.生成模块,用于生成第一目标检测网络结构,第一目标检测网络结构包括:基于yolov3网络结构的第二目标检测网络结构和新增神经网络模块,新增神经网络模块的输入为第二目标检测网络结构中一神经网络层的输出,新增神经网络模块的输出为目标的多尺度融合特征,新增神经网络模块的输出融合的最大尺度为原始特征尺寸的1/4,原始特征为输入至第一目标检测网络结构的样本特征;
31.训练模块,利用第一目标检测网络结构对训练数据样本进行训练,生成训练后的
目标检测模型;
32.检测模块,利用训练后的目标检测模型,对图像或视频进行目标检测。
33.可选的,训练模块,具体用于:
34.采用数据增强技术对训练数据样本进行随机裁剪;
35.将裁剪后的训练数据样本输入至第一目标检测网络结构中进行训练,得到训练后的目标检测模型,直至训练的目标检测模型的损失函数收敛,并作为训练后的目标检测模型。
36.可选的,训练数据样本包括预先标注的包含目标的真实目标框,预测结果包括目标的预测目标框,损失函数为:
37.l=l
attr
+α*l
repgt
+β*l
repbox
38.其中,l表示损失函数,l
attr
表示预测目标框与真实目标框所产生的损失值,l
repgt
表示预测目标框与相邻真实目标框所产生的损失值,l
repbox
表示预测目标框与相邻预测目标框所产生的损失值,α和β为权重因子,用于平衡l
repgt
和l
repbox
的损失值。
39.可选的,获取模块,还用于获取训练数据样本标注的多个真实目标框;
40.处理模块,用于根据标注的多个真实目标框,利用k-means算法聚类出第一目标检测网络结构的n个不同大小的锚框,n为大于1的整数。
41.可选的,本申请实施例提供的目标检测装置,还包括测试模块,测试模块具体用于:
42.获取测试数据样本,测试数据样本包括预先标注的包含目标的真实目标框;
43.采用滑动窗口机制对测试数据样本进行裁剪;
44.将裁剪后的测试数据样本输入至训练后的目标检测模型中,对裁剪后的测试数据样本中的目标进行预测;
45.输出预测后的测试数据样本,预测后的测试数据样本包括目标的预测目标框。
46.可选的,yolov3网络结构的主框架为darknet 53网络结构或detnet网络结构。
47.第三方面,本申请实施例提供一种电子设备,包括:
48.至少一个处理器;以及
49.与至少一个处理器通信连接的存储器;其中
50.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第一方面可实现方式提供的方法。
51.第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面或第一方面可实现方式提供的方法。
52.第五方面,本申请实施例提供一种计算机程序产品,包括:可执行指令,可执行指令用于实现如第一方面或第一方面可选方式提供的方法。
53.本申请提供的目标检测方法及装置,通过获取训练数据样本;并构建第一目标检测网络结构,第一目标检测网络结构包括:基于yolov3网络结构的第二目标检测网络结构和新增神经网络模块,新增神经网络模块的输入为第二目标检测网络中一神经网络层的输出,新增神经网络模块的输出为目标的多尺度融合特征,新增神经网络模块的输出融合的最大尺度为原始特征尺寸的1/4;进而利用第一目标检测网络结构对训练数据样本进行训练,生成训练后的目标检测模型;最后利用训练后的目标检测模型,对图像或视频进行目标
检测。由于通过在yolov3网络结构的第二目标检测网络结构的基础上,新增神经网络模块,且新增神经网络模块的输入为第二目标检测模型中一神经网络层的输出,其融合的最大尺度为原始特征尺寸的1/4,有效的提取了小目标的特征信息,然后利用该第一目标检测网络结构对样本进行训练,最后根据训练后的目标检测模型,实现对图像或视频中小目标的有效检测。进一步的,在利用第一目标检测网络结构进行训练时,采用适合密集型目标检测的损失函数,实现针对密集型小目标的特征也可以实现有效的特征提取,提高了密集型小目标的检测效率。
附图说明
54.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
55.图1是本申请实施例提供的一示例性应用场景图;
56.图2是本申请实施例提供的另一示例性应用场景图;
57.图3是本申请一实施例提供的目标检测方法的流程示意图;
58.图4是本申请实施例提供的第一目标检测模型的网络架构示意图;
59.图5a是本申请实施例提供的dbl模块的结构示意图;
60.图5b是本申请实施例提供的残差单元模块的结构示意图;
61.图5c是本申请实施例提供的残差模块的结构示意图;
62.图6是本申请另一实施例提供的目标检测方法的流程示意图;
63.图7是本申请又一实施例提供的目标检测方法的流程示意图;
64.图8是本申请一实施例提供的目标检测装置的结构示意图;
65.图9是本申请实施例提供的电子设备的结构示意图。
具体实施方式
66.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
67.本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
68.目标检测一直是图像处理领域的热点,尤其针对密集型小目标的高鲁棒性、高准确性以及高实时性的检测,具有重要的应用价值。因此,对于密集型小目标的检测提出了很
高的要求,例如,对道路中电子眼的识别,一方面,要求密集型小目标的检测识别可靠性很高,尤其对于较远距离的密集型小目标需要有较高的检测准确率;另一方面对于图像信息的处理时间要尽可能短,以保证很高的实时性。现有技术中的yolov3将目标检测问题转化为回归问题,合并分类和定位任务到一个步骤,直接预测物体的位置及类别,检测速度可以满足实时分析的要求。但使用现有技术中的yolov3目标检测模型对密集型小目标进行检测时,检测性能较低。为了解决上述技术问题,本申请实施例提供一种目标检测方法及装置。
69.以下,对本申请实施例的示例性应用场景进行介绍。
70.本申请实施例提供的目标检测方法可以通过本申请实施例提供的目标检测装置执行,本申请实施例提供的目标检测装置可以是终端设备的部分或者全部,图1是本申请实施例提供的一示例性应用场景图,如图1所示,本申请实施例提供的目标检测方法可以应用于终端设备11中,例如,可以通过终端设备中的应用程序或者网页实现,终端设备11与服务器12存在数据通信,本申请实施例对此不做限制。本申请实施例对终端设备的具体类型不做限制,例如,终端设备可以是智能手机、个人电脑、平板电脑、可穿戴设备、车载终端等。
71.图2是本申请实施例提供的另一示例性应用场景图,如图2所示,本申请实施例提供的目标检测方法可以实现对电子眼21和电子眼22的检测,本申请实施例对电子眼的数量、位置等信息不做限制,下面以目标为电子眼为例进行介绍,本申请实施例不限于此。
72.图3是本申请一实施例提供的目标检测方法的流程示意图,该方法可以由目标检测装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备或服务器,终端设备可以是个人电脑、智能手机、用户终端、平板电脑、可穿戴设备等,下面以终端设备为执行主体对目标检测方法进行说明,如图3所示,本申请实施例提供的目标检测方法可以包括:
73.步骤s101:获取训练数据样本。
74.本申请实施例对获取训练数据样本的具体实现方式不做限制,训练数据样本包括预先标注的包含目标的真实目标框,训练数据样本可以是通过移动采集和人工标注后的训练数据样本,针对目标类型多样、尺寸较小且分布相对比较密集的目标,在标注目标时,可以通过利用目标分布中较稳定的特征标注为目标,例如,目标为电子眼时,在标注过程中可以同时标注电子眼,以及电子眼与安装杆的连接处。
75.本申请实施例对训练数据样本的标注方式不做限制。在一种可能的实施方式中,对与训练数据样本中目标的标注,可以选择标注难度适中同时利用网络训练的标注方法。另外,本申请实施例对训练数据样本的尺寸、数量、图像格式等均不做限制。例如,训练数据样本的尺寸可以选取416x416、448x448、480x480、512x512、544x544等,本申请实施例不限于此。
76.步骤s102:构建第一目标检测网络结构,第一目标检测网络结构包括:基于yolov3网络结构的第二目标检测网络结构和新增神经网络模块。
77.新增神经网络模块的输入为第二目标检测网络中一神经网络层的输出,新增神经网络模块的输出为目标的多尺度融合特征,其融合的最大尺度为原始特征尺寸的1/4,原始特征为输入至第一目标检测网络结构的样本特征。本申请实施例对神经网络层以及新增神经网络模块的具体结构不做限制。
78.本申请是实施例对yolov3网络结构的主框架形式不做限制,在一种可能的实施方
式中,yolov3网络结构可以为darknet 53网络结构或detnet网络结构。下面以yolov3网络结构可以为darknet 53网络结构为例,对本申请实施例提供的第一目标检测模型进行介绍。
79.图4是本申请实施例提供的第一目标检测网络架构示意图,如图4所示:
80.第一目标检测网络结构包括输入层、darknet 53网络结构和四个分支,四个分支的输出结果分别为y1,y2,y3及y4;输入层用于输入训练数据样本,本申请实施例对输入层输入的样本的尺寸不做限制,图4中仅以尺寸为516*516*3为例进行介绍。
81.darknet-53网络结构在第一组dbl后使用了23个残差模块,23个残差模块包括残差模块res1、残差模块res2、第一残差模块res8、第二残差模块res8、残差模块res4。
82.第一目标检测网络结构还包括四个分支,四个分支分别输出四组特征信息,如图4所示,输入的样本经过darknet-53网络结构、6个dbl和一个卷积层构成的第一个分支之后,输出第一预测结果y1,y1的特征信息为16*16*255;第二个分支是在第一个分支基础之上,将第一个分支的高层特征信息送入一个dbl模块与一个上采样层之后与残差模块res4输出的特征信息进行张量拼接之后,再经过6个dbl模块与1个卷积层得到第二预测结果y2,y2的特征信息为32*32*255;第三个分支将第二个分支的高层特征信息送入一个dbl模块与一个上采样层之后与第二残差模块res8输出的特征信息进行张量拼接之后,再经过6个dbl模块与1个卷积层得到第三预测结果y3,y3的特征信息为64*64*255。第四个分支采取将第三个分支的高层特征信息送入一个dbl模块与一个上采样层之后与第一残差模块res8输出的特征信息进行张量拼接之后,再经过6个dbl模块与1个卷积层得到第四预测结果y4,y4的特征信息为128*128*255。
83.yolov3网络结构中包含3个重要的模块:dbl(darknetconv2d_bn_leaky)模块、残差单元res unit模块、残差resn模块(res1、res2、res4、res8、
……
)。图5a是本申请实施例提供的dbl模块的结构示意图,如图5a所示,在dbl模块中,输入样本分别经过两个卷积层conv以及leakly relu激活函数层得到其输出。图5b是本申请实施例提供的残差单元模块的结构示意图,如图5b所示,在res unit模块中,原始张量拼接特征经过两个dbl模块后与原始张量拼接特征进行逐元素相加操作得到其输出。图5c是本申请实施例提供的残差模块的结构示意图,如图5c所示,在resn模块中,原始张量拼接特征经过零填充(zero padding)操作与一个dbl模块后送入n个res unit模块得到最后的输出,n=1、2、4、8
……

84.第一目标检测模型在yolov3网络结构的第一残差模块res8之后,增加神经网络模块,构建第四个分支,并输出第四预测结果,实现了神经网络模块的输出为张量拼接特征为原始张量拼接特征尺度的1/4,有利于对小目标的特征提取,进而可以提高检测小目标检测的准确率。通过上述目标检测模型,可以实现分别在四种不同尺度的张量拼接特征上检测目标。
85.步骤s103:利用第一目标检测网络结构对训练数据样本进行训练,生成训练后的目标检测模型。
86.本申请实施例对利用第一目标检测网络结构对训练数据进行训练的方式不做限制,在一种可能的实施方式中,利用第一目标检测网络结构对训练数据样本进行训练,生成训练后的目标检测模型,包括:
87.采用数据增强方式对训练数据样本进行随机裁剪;将随机裁剪后的训练数据样本
输入至第一目标检测网络中进行训练,得到训练的目标检测模型,直至训练的目标检测模型的损失函数收敛,生成训练后目标检测模型。
88.本申请实施例中,通过采用数据增强方式对训练数据样本进行随机裁剪,不仅可以保留输入到网络结构中目标的原始特征,还可以提高样本的利用率。本申请实施例对训练数据样本的裁剪尺寸不做限制,例如,可以为512*512、416*416等,本申请实施例不限于此。将裁剪后的训练数据样本输入至第一目标检测模型中进行训练,直至训练的目标检测模型的损失函数收敛,以生成训练后的目标检测模型。本申请实施例对目标检测模型的损失函数不做限制,例如,损失函数可以为平方和(sum squared error,sse)损失函数函数,在另一种可能的实施方式中,训练数据样本包括预先标注的包含目标的真实目标框,预测结果包括目标的预测目标框,损失函数为:
89.l=l
attr
+α*l
repgt
+β*l
repbox
90.其中,l表示损失函数,l
attr
表示预测目标框与真实目标框所产生的损失值,l
repgt
表示预测目标框与相邻真实目标框所产生的损失值,l
repbox
表示预测目标框与相邻预测目标框所产生的损失值,α和β为权重因子,用于平衡l
repgt
和l
repbox
的损失值。
91.下面介绍损失函数的计算方法,给定一个proposal p∈p
+
,把具有极大值iou(交并比)的真实目标框作为其指定目标:其中b
p
是回归自proposal p的预测目标框。由此l
attr
吸引损失可计算为:
[0092][0093]
把定义为除了指定目标之外带有最大iou的真实目标框,l
repgt
用表示惩罚b
p
与的重叠(定义为从而:
[0094][0095]
其中,
[0096]
把l
repbox
定义为使预测目标框远离非目标。首先根据真实目标框将p
+
分为不同的子集p
+
=p1∩p2∩

∩p
|g|
,然后使得来自与不同子集的proposal的重叠尽可能的小。l
repbox
可写为:
[0097][0098]
分母中的示性函数s表示:有交集的预测目标框才计入损失值,如果两个proposal完全不相邻,则不计入。加入l
repbox
可以降低nms之后不同回归目标的边界框合并为一的概率,使得检测器在密集场景中更鲁棒。
[0099]
另外需要注意的是,通过σ来调整损失函数reploss对密集遮挡的敏感性。类间遮
挡相对于类内遮挡有更多的重叠,在模型机构中应该弱化其对σ的敏感性,本申请实施例中计算l
repgt
和l
repbox
分别取σ=1和σ=0。
[0100]
本申请实施例中,通过采用上述损失函数,充分考虑到相邻真实目标框对当前目标的影响因素,对密集遮挡类目标的检测具有更高的精度和鲁棒性。
[0101]
步骤s104:利用训练后的目标检测模型,对图像或视频进行目标检测。
[0102]
在得到训练后的目标检测模型之后,根据训练后的目标检测模型,对图像或视频进行目标检测,本申请实施例对根据训练后的目标检测模型,对图像或视频进行目标检测的具体实现方式不做限制,例如,将图像或视频输入至训练后的目标检测模型中,训练后的第一目标检测模型输出预测结果。再例如,将图像采用滑窗机制进行分块输入至训练后的目标检测模型中,训练后的第一目标检测模型输出预测结果。
[0103]
本申请实施例中,通过在yolov3网络结构的第二目标检测网络结构的基础上,新增神经网络模块,且新增神经网络模块的输入为第二目标检测网络中一神经网络层的输出,神经网络模块输出为目标的多尺度融合特征,其融合的最大尺度为原始特征尺寸的1/4,然后利用该第一目标检测网络结构对训练样本进行训练,最后根据训练后的目标检测模型对图像或视频进行目标检测,针对小目标的特征也可以实现有效的提取,进而提高小目标的的检测性能。
[0104]
图6是本申请另一实施例提供的目标检测方法的流程示意图,该方法可以由目标检测装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备或服务器,终端设备可以是个人电脑、智能手机、用户终端、平板电脑、可穿戴设备等,下面以终端设备为执行主体对目标检测方法进行说明,如图6所示,本申请实施例提供的目标检测方法在步骤s101之后,还可以包括:
[0105]
步骤s201:获取训练数据样本标注的多个真实目标框。
[0106]
步骤s202:根据多个真实目标框,利用k-means算法聚类出第一目标检测网络结构的n个不同大小的锚框。
[0107]
本申请实施例对标注的多个真实目标框,通过k-means算法聚类出第一目标检测网络结构的n个不同大小的锚框的具体实现方式不做限制,例如,可以通过根据夺冠真实目标框的尺寸数据,通过k-means算法聚类出第一目标检测网络结构的n个不同大小的锚框,其中,n为大于1的整数,本申请实施例对n的具体数值也不做限制,在一种可能的实施方式中,n=9。
[0108]
本申请实施例中,通过根据标注的多个真实目标框尺寸数据,利用k-means算法聚类出第一目标检测网络的n个不同大小的锚框,可以提高目标检测模型对训练数据样本的适应性和训练效率。
[0109]
图7是本申请又一实施例提供的目标检测方法的流程示意图,该方法可以由目标检测装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是终端设备或服务器,终端设备可以是个人电脑、智能手机、用户终端、平板电脑、可穿戴设备等,下面以终端设备为执行主体对目标检测方法进行说明,如图7所示,本申请实施例提供的目标检测方法在步骤s103之后,还可以包括:
[0110]
步骤s301:获取测试数据样本,测试数据样本包括预先标注的包含目标的真实目标框。
[0111]
获取测试数据样本与获取训练数据样本的方式类似,可以参考步骤s101中对获取训练数据样本的介绍,不再赘述。其中,目标可以为小目标。
[0112]
步骤s302:采用滑动窗口机制对测试数据样本进行随机裁剪。
[0113]
本申请实施例中对测试数据样本裁剪的尺寸与对训练数据样本裁剪的尺寸相同,本申请实施例对测试数据样本以及训练数据样本的裁剪尺寸不做限制,例如,测试数据样本以及训练数据样本的裁剪尺寸可以为516*516,本申请实施例不限于此。
[0114]
步骤s303:将裁剪后的测试数据样本输入至训练后的目标检测模型中,对裁剪后的测试数据样本中的目标进行预测。
[0115]
步骤s304:输出预测后的测试数据样本,预测后的测试数据样本包括目标的预测目标框。
[0116]
在步骤s303和步骤s304中,将裁剪后的测试数据样本输入至训练后的目标检测模型,训练后的目标检测模型对裁剪后的测试数据样本中的目标进行预测,并输出预测结果,预测结果中包括目标的预测目标框。例如,预测结果包括预测目标框的位置和尺寸信息,并且在对目标检测模型的测试过程提高非极大值抑制阈值,可有效提高模型对密集遮挡的目标检测的准确度
[0117]
通过对训练后的目标检测模型进行测试,进而根据测试结果对目标检测模型进行调整,可以提高目标检测模块的可靠性。
[0118]
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0119]
图8是本申请一实施例提供的目标检测装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是服务器或终端设备,终端设备可以是个人电脑、智能手机、用户终端、平板电脑、可穿戴设备等,如图8所示,本申请实施例提供的目标检测装置可以包括:
[0120]
获取模块71,用于获取训练数据样本;
[0121]
生成模块72,用于生成第一目标检测网络结构,第一目标检测网络结构包括:基于yolov3的第二目标检测网络结构和新增神经网络模块,新增神经网络模块的输入为第二目标检测网络中一神经网络层的输出,神经网络模块的输出为目标的多尺度融合特征,新增神经网络模块的输出融合的最大尺度为原始特征尺寸的1/4,原始特征特征为输入至第一目标检测网络结构的样本特征;
[0122]
训练模块73,利用第一目标检测网络对训练样本数据进行训练,生成训练后的目标检测模型;
[0123]
检测模块74,用于利用训练后的目标检测模型,对图像或视频进行目标检测。
[0124]
可选的,训练模块73,具体用于:
[0125]
采用数据增强方式对训练数据样本进行随机裁剪;
[0126]
将裁剪后的训练数据输入至第一目标检测网络结构中进行训练,得到训练后的目标检测模型,直至训练的目标检测模型的损失函数收敛,并将其作为训练后的目标检测模型。
[0127]
可选的,训练数据样本包括预先标注的包含目标的真实目标框,预测结果包括目标的预测目标框,损失函数为:
[0128]
l=l
attr
+α*l
repgt
+β*l
repbox
[0129]
其中,l表示损失函数,l
attr
表示预测目标框与真实目标框所产生的损失值,l
repgt
表示预测目标框与相邻真实目标框所产生的损失值,l
repbox
表示预测目标框与相邻预测目标框所产生的损失值,α和β为权重因子,用于平衡l
repgt
和l
repbox
的损失值。
[0130]
可选的,获取模块71,还用于获取训练数据样本标注的多组真实个真实目标框尺寸数据;
[0131]
处理模块75,用于根据标注的多个真实目标框尺寸数据,利用k-means算法聚类出第一目标检测网络的n个不同大小的锚框,n为大于1的整数。
[0132]
可选的,本申请实施例提供的目标检测装置,还包括测试模块76,测试模76块具体用于:
[0133]
获取测试数据样本,测试数据样本包括预先标注的包含目标的真实目标框;
[0134]
采用滑动窗口机制对测试数据样本进行裁剪;
[0135]
将裁剪后的测试数据样本输入至训练后的目标检测模型中,对裁剪后的测试数据样本中的目标进行预测;
[0136]
输出预测后的测试数据样本,预测后的测试数据样本包括目标的预测目标框。
[0137]
可选的,yolov3网络结构的主框架为darknet 53网络结构或detnet网络结构。
[0138]
本申请所提供的装置实施例仅仅是示意性的,图8中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
[0139]
图9是本申请实施例提供的电子设备的结构示意图,如图9所示,该电子设备包括:
[0140]
处理器91、存储器92、收发器93以及计算机程序;其中,收发器93实现与其他设备之间的数据传输,计算机程序被存储在存储器92中,并且被配置为由处理器91执行,计算机程序包括用于执行上述目标检测方法的指令,其内容及效果请参考方法实施例。
[0141]
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
[0142]
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
[0143]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0144]
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1