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

目标检测方法、装置、电子设备及计算机可读存储介质与流程

2022-10-12 00:26:15 来源:中国专利 TAG:


1.本发明涉及计算机应用技术领域,特别是涉及一种目标检测方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着计算机技术的快速发展,目标检测技术逐渐发展起来,在很多领域都有应用,如视频生产领域、车辆识别领域等。
3.以视频生产领域中要将海量横版视频转换成竖版视频为例。如果通过人工将横版拍摄的视频进行剪辑转竖版视频,效率较低且效果不可控。所以,多会利用视频自动化的横屏转竖屏技术,进行视频二次生产。在视频的横屏转竖屏的处理中,主要是确定目标主体,找到人眼感兴趣的区域。在其算法流程中会使用到常规目标检测、人脸检测和显著性检测等算法。即将图像依次通过常规目标检测模型、人脸检测模型、显著性检测模型三个相互独立的模型。其中,常规目标检测模型和人脸检测模型分别使用不同的数据集训练得到,而常规目标和人脸实际都属于目标,所以,常规目标检测模型和人脸检测模型都是用于进行目标检测。即这里相当于分别部署了两个目标检测模型,需要消耗两份计算资源。为了节约资源,可以考虑对数据集进行融合处理,训练得到一个目标检测模型,该目标检测模型既能实现常规目标检测模型的功能,又能实现人脸检测模型的功能。
4.目前,要将两个数据集进行融合,训练得到一个目标检测模型,需要针对各自的数据集完整标注所有数据,即对常规目标检测模型所使用的数据集补充标注人脸目标,对人脸检测模型所使用的数据集补充标注常规目标。
5.这种方式需要人工进行数据集的补充标注,需要耗费大量的人力资源,标注成本较高,无法快速训练得到目标检测模型,也就无法将目标检测模型快速应用到目标检测场景中,目标检测效率较低。


技术实现要素:

6.本发明实施例的目的在于提供一种目标检测方法、装置、电子设备及计算机可读存储介质,以节省标注成本,快速训练获得目标检测模型,提高目标检测效率。具体技术方案如下:
7.第一方面,本发明实施例提供了一种目标检测方法,包括:
8.获得第一数据集和第二数据集,所述第一数据集中标注目标的类别有x个,所述第二数据集中标注目标的类别有y个,x、y为正整数;
9.按照标注目标的类别对所述第一数据集和所述第二数据集进行拆分,获得 n个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,n≤x y;
10.基于n个单类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的所述目标检测模型进行目标检测;其中,在训练过程中,针对输入到所述目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对
所述目标检测模型的参数进行调整。
11.在本发明的一种具体实施方式中,所述按照标注目标的类别对所述第一数据集和所述第二数据集进行拆分,获得n个单类别数据集,包括:
12.针对标注目标的每个类别,遍历所述第一数据集和所述第二数据集,确定包含当前类别的标注目标的样本数据;
13.将包含所述当前类别的标注目标的样本数据合成一个单类别数据集。
14.在本发明的一种具体实施方式中,所述针对输入到所述目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对所述目标检测模型的参数进行调整,包括:
15.针对输入到所述目标检测模型的每个样本数据,获得所述目标检测模型基于输入的当前样本数据预测的多个类别的分类得分和坐标框回归值;
16.将所述当前样本数据未标注的类别的目标和背景作为一个组合,基于所述分类得分和所述坐标框回归值,计算交叉熵损失和坐标框回归损失;
17.根据所述交叉熵损失和所述坐标框回归损失,对所述目标检测模型的参数进行调整。
18.在本发明的一种具体实施方式中,所述基于所述分类得分和所述坐标框回归值,计算交叉熵损失和坐标框回归损失,包括:
19.利用组归一化指数函数,基于所述分类得分计算交叉熵损失;
20.利用泛化的交并比,基于所述坐标框回归值,计算坐标框损失。
21.在本发明的一种具体实施方式中,在所述基于n个单类别数据集中的样本数据,对目标检测模型进行训练之后,还包括:
22.获得新增类别数据集,所述新增类别数据集中的样本数据包含的标注目标的类别为新增类别;
23.基于n个单类别数据集和所述新增类别数据集中的样本数据,对所述目标检测模型进行训练,以利用训练后的所述目标检测模型对所述新增类别的目标进行检测。
24.在本发明的一种具体实施方式中,还包括:
25.更新第一单类别数据集中的样本数据,所述第一单类别数据集为n个单类别数据集中的任意一个;
26.基于更新后的n个单类别数据集中的样本数据,对所述目标检测模型进行训练。
27.在本发明的一种具体实施方式中,所述目标检测模型的输出包括分类分支和坐标回归分支。
28.在本发明的一种具体实施方式中,所述利用训练后的所述目标检测模型进行目标检测,包括:
29.将待测数据输入到训练后的所述目标检测模型中;
30.通过所述分类分支获得多个类别的分类得分;
31.基于所述分类得分,确定所述待测数据中包含的目标的类别;
32.通过所述坐标回归分支获得所述待测数据中包含的目标的坐标位置。
33.第二方面,本发明实施例提供了一种目标检测装置,包括:
34.第一获得模块,用于获得第一数据集和第二数据集,所述第一数据集中标注目标
的类别有x个,所述第二数据集中标注目标的类别有y个,x、y为正整数;
35.第二获得模块,用于按照标注目标的类别对所述第一数据集和所述第二数据集进行拆分,获得n个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,n≤x y;
36.检测模块,用于基于n个单类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的所述目标检测模型进行目标检测;其中,在训练过程中,针对输入到所述目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对所述目标检测模型的参数进行调整。
37.第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
38.存储器,用于存放计算机程序;
39.处理器,用于执行存储器上所存放的程序时,实现第一方面所述的目标检测方法的步骤。
40.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的目标检测方法。
41.第五方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的电子设备执行如第一方面所述的目标检测方法。
42.应用本发明实施例所提供的技术方案,先按照标注目标的类别对不同数据集进行拆分,得到多个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,再基于多个单类别数据集中的样本数据,对目标检测模型进行训练,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整,不需要对不同数据集进行补充标注,可以节省较多的人力资源,节省标注成本,可以快速训练得到目标检测模型,使得训练后的目标检测模型可以快速应用到目标检测场景中,提高目标检测效率。
43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
45.图1为本发明实施例中一种目标检测方法的实施流程图;
46.图2为本发明实施例中目标检测模型的示意图;
47.图3为本发明实施例中一种目标检测装置的结构示意图;
48.图4为本发明实施例中一种电子设备的结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
50.本发明的核心是提供一种目标检测方法,该方法可以应用于视频生产、车辆识别、
行人追踪等多种场景中。可以按照标注目标的类别对第一数据集和第二数据集进行拆分,得到多个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,然后基于多个单类别数据集中的样本数据,对目标检测模型进行训练,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整,不需要对不同数据集进行补充标注,可以节省较多的人力资源,节省标注成本,可以快速训练得到目标检测模型,使得训练后的目标检测模型可以快速应用到目标检测场景中,提高目标检测效率。
51.参见图1所示,为本发明实施例所提供的一种目标检测方法的实施流程图,该方法可以包括以下步骤:
52.s110:获得第一数据集和第二数据集。
53.第一数据集中标注目标的类别有x个,第二数据集中标注目标的类别有y 个,其中,x、y为正整数。
54.在本发明实施例中,第一数据集和第二数据集可以是已有的进行了目标标注的数据集,第一数据集中标注目标的类别可以有x个,第二数据集中标注目标的类别可以有y个。如,第一数据集可以是微软团队提供的mscoco (microsoftcommon objects in context)数据集,该数据集中包含人体、猫、杯子、自行车等标注目标,标注目标的类别有80个,第二数据集可以是中国香港中文大学团队提供的wider face数据集,该数据集中包含人脸的标注目标,标注目标的类别有1个。
55.s120:按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n 个单类别数据集。
56.每个单类别数据集中的每个样本数据仅标注一个类别的目标,n≤x y。
57.获得的第一数据集中标注目标的类别有x个,获得的第二数据集中标注目标的类别有y个,可以按照标注目标的类别对第一数据集和第二数据集进行拆分,确定第一数据集和第二数据集中包含每个类别的标注目标的样本数据,获得n个单类别数据集。每个单类别数据集中的每个样本数据仅标注一个类别的目标,即针对于每个单类别数据集,该单类别数据集中的样本数据仅标注该类别的目标。
58.比如,可以将mscoco数据集拆分成80个单类别数据集,80个单类别数据集可以是人体数据集、猫数据集、杯子数据集、自行车数据集等等,猫数据集中的每个样本数据仅标注猫这个类别的目标,自行车数据集中的每个样本数据仅标注自行车这个类别的目标。因为wider face数据集只包含1个类别的标注目标,即人脸这个标注目标,所以,对wider face数据集不需要拆分,或者说对该数据集拆分后得到的人脸数据集与该数据集相同。
59.因为第一数据集中标注目标的类别与第二数据集中标注目标的类别可能相同或不同,所以,对于第一数据集和第二数据集总体而言,标注目标的类别的数量小于或等于第一数据集和第二数据集中标注目标的类别的数量之和。即 n≤x y。
60.对于n个单类别数据集中的每个单类别数据集而言,该单类别数据集中的每个样本数据包含的标注目标的类别均相同。如人体数据集中的每个样本数据均包含人体这个标注目标,猫数据集中的每个样本数据均包含猫这个标注目标。可以为每个单类别数据集设定类别标识,每个单类别数据集中的每个样本数据可以关联对应的类别标识。
61.需要说明的是,针对第一数据集和第二数据集中的任意一个样本数据,如果该样
本数据包含的标注目标有多个类别,则按照标注目标的类别对第一数据集和第二数据集进行拆分,该样本数据将属于多个单类别数据集。比如,一个样本数据包含的标注目标有人体、猫两个类别,则在获得的多个单类别数据集中的人体数据集和猫数据集中都包括该样本数据,不过在人体数据集中,该样本数据仅标注人体目标,在猫数据集中,该样本数据仅标注猫目标,即同一样本数据在不同单类别数据集中的标注目标不同。
62.s130:基于n个单类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的目标检测模型进行目标检测,其中,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整。
63.在本发明实施例中,按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集后,可以基于n个单类别数据集中的样本数据,对目标检测模型进行训练。
64.具体的,可以预先构建一个目标检测模型,初始化其中各层参数,然后分别将n个单类别数据集中的每个样本数据输入到目标检测模型中,利用每个样本数据对目标检测模型进行训练。还可以在每个单类别数据集中选择部分样本数据对目标检测模型进行训练。在训练过程中,针对输入到目标检测模型的每个样本数据,可以将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,基于预测损失,对目标检测模型的参数进行调整。当前样本数据为当前操作所针对的样本数据。
65.可以预先设置目标检测模型的迭代次数,每次迭代获取预测损失,通过最小化损失目标,反向梯度更新调整模型参数,不断迭代过程中,损失函数值会达到收敛状态,待完成迭代次数即可完成对目标检测模型的训练。可以利用训练后的目标检测模型进行目标检测。如将待检测图片输入到训练后的目标检测模型,根据目标检测模型的预测结果确定待检测图片中包含的目标。
66.应用本发明实施例所提供的方法,先按照标注目标的类别对不同数据集进行拆分,得到多个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,再基于多个单类别数据集中的样本数据,对目标检测模型进行训练,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整,不需要对不同数据集进行补充标注,可以节省较多的人力资源,节省标注成本,可以快速训练得到目标检测模型,使得训练后的目标检测模型可以快速应用到目标检测场景中,提高目标检测效率。
67.在本发明的一个实施例中,按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集,可以包括以下步骤:
68.步骤一:针对标注目标的每个类别,遍历第一数据集和第二数据集,确定包含当前类别的标注目标的样本数据;
69.步骤二:将包含当前类别的标注目标的样本数据合成一个单类别数据集。
70.为方便描述,将上述两个步骤结合起来进行说明。
71.获得第一数据集和第二数据集后,即可获知第一数据集中有哪些类别的标注目标,第二数据集中有哪些类别的标注目标。可以针对标注目标的每个类别,遍历第一数据集和第二数据集,确定包含当前类别的标注目标的样本数据。当前类别为当前操作所针对的
类别。
72.在本发明的一种具体实施方式中,针对第一数据集中标注目标的每个类别,可以遍历第一数据集,确定第一数据集中包含当前类别的标注目标的样本数据,同时,针对第二数据集中标注目标的每个类别,可以遍历第二数据集,确定第二数据集中包含当前类别的标注目标的样本数据。这样可以得到第一数据集中标注目标的每个类别及第二数据集中标注目标的每个类别对应的样本数据。考虑到第一数据集中标注目标的类别与第二数据集中标注目标的类别可能部分相同,所以,可以对相同类别对应的样本数据聚在一起,从而得到第一数据集和第二数据集中标注目标的每个类别的样本数据。
73.在本发明的另一种具体实施方式中,针对第一数据集和第二数据集中标注目标的每个类别,可以同时遍历第一数据集和第二数据集,确定包含当前类别的标注目标的样本数据。这样同样可以得到第一数据集和第二数据集中标注目标的每个类别对应的样本数据。
74.针对标注目标的每个类别,确定出包含当前类别的标注目标的样本数据后,进一步可以将包含当前类别的标注目标的样本数据合成一个单类别数据集。具体的,可以为每个单类别数据集设定类别标识,每个单类别数据集中的每个样本数据可以关联对应的类别标识。
75.对于第一数据集和第二数据集中标注目标的每个类别,都可以得到一个与该类别对应的单类别数据集。基于得到的单类别数据集中的样本数据,可以对目标检测模型进行训练,从而可以利用训练后的目标检测模型进行目标检测。不需要对样本数据进行补充标注,可以节省标注成本。
76.在本发明的一个实施例中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整,可以包括以下步骤:
77.第一个步骤:针对输入到目标检测模型的每个样本数据,获得目标检测模型基于输入的当前样本数据预测的多个类别的分类得分和坐标框回归值;
78.第二个步骤:将当前样本数据未标注的类别的目标和背景作为一个组合,基于分类得分和坐标框回归值,计算交叉熵损失和坐标框回归损失;
79.第三个步骤:根据交叉熵损失和坐标框回归损失,对目标检测模型的参数进行调整。
80.为方便描述,将上述三个步骤结合起来进行说明。
81.按照第一数据集和第二数据集标注目标的类别对第一数据集和第二数据集进行拆分,获得多个单类别数据集后,可以依次将每个单类别数据集中的每个样本数据输入到目标检测模型中,对目标检测模型进行训练。
82.目标检测模型可以对输入的样本数据预测其包含目标属于各个类别的分类得分。在对目标检测模型进行训练的过程中,针对输入到目标检测模型的每个样本数据,可以获得目标检测模型基于输入的当前样本数据预测的多个类别的分类得分和坐标框回归值。比如,基于81个单类别数据集中的样本数据,对目标检测模型进行训练,目标检测模型基于输入的每个样本数据可以预测得到相应样本数据包含目标属于81个类别的分类得分和坐标框回归值。当前样本数据为当前操作所针对的样本数据。坐标框回归值是指使用回归的方
法得到目标坐标。
83.分类得分可以是归一化处理后的分数,所有类别的分类得分的总和为1。举例而言,目标检测模型基于当前样本数据预测得到多个类别的分类得分分别为:人体类别的分类得分为0.11、猫类别的分类得分为0.62、杯子类别的分类得分为0.02、自行车类别的类别得分为0.25,其他类别的分类得分均为0。对于任一类别而言,该类别的分类得分越高,表示样本数据属于该类别的可能性越大。
84.将当前样本数据未标注的类别的目标和背景可以作为一个组合,基于分类得分和坐标框回归值,可以计算交叉熵损失和坐标框回归损失,预测损失即可为交叉熵损失和坐标框回归损失的和。具体可以利用组归一化指数函数,基于分类得分计算交叉熵损失,同时利用泛化的交并比(generalized intersectionover union),基于坐标框回归值,计算坐标框损失。组归一化指数函数即 groupsoftmax损失函数,目标检测模型输出多个类别的分类得分,只计算当前样本数据对应类别的损失和其他未标注的类别的目标和背景组成一个组 (group)的损失。
85.在本发明的一个实施例中,在基于n个单类别数据集中的样本数据,对目标检测模型进行训练之后,该方法还可以包括以下步骤:
86.步骤一:获得新增类别数据集,新增类别数据集中的样本数据包含的标注目标的类别为新增类别;
87.步骤二:基于n个单类别数据集和新增类别数据集中的样本数据,对目标检测模型进行重新训练,以利用重新训练后的目标检测模型对新增类别的目标进行检测。
88.为方便描述,将上述两个步骤结合起来进行说明。
89.在本发明实施例中,按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集,并基于n个单类别数据集中的样本数据,对目标检测模型进行训练之后,如果有新增类别的目标的检测需求,则可以获得新增类别数据集,该新增类别数据集中的样本数据包含的标注目标的类别为新增类别,即相对于n个单类别数据集所对应的类别的新增类别。
90.基于n个单类别数据集和新增类别数据集中的样本数据,可以对目标检测模型进行训练,可以是重新训练,还可以是增量训练。在训练过程中,可以针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整。这样训练得到的目标检测模型可以增加对新增类别的目标的检测,利用训练后的目标检测模型可以对n个类别及新增类别的目标进行检测。增强了目标检测模型的适用性。
91.在本发明的一个实施例中,该方法还可以包括以下步骤:
92.第一个步骤:更新第一单类别数据集中的样本数据,第一单类别数据集为 n个单类别数据集中的任意一个;
93.第二个步骤:基于更新后的n个单类别数据集中的样本数据,对目标检测模型进行训练。
94.为方便描述,将上述两个步骤结合起来进行说明。
95.在本发明实施例中,按照第一数据集和第二数据集中标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集,并基于n个单类别数据集中的样本数据,
对目标检测模型进行训练后,可以根据实际情况增加任意一个单类别数据集中的样本数据,增大样本数量,以提高目标检测模型的精度。
96.可以更新第一单类别数据集中的样本数据,该第一单类别数据集为n个单类别数据集中的任意一个。基于更新后的n个单类别数据集中的样本数据,可以对目标检测模型进行训练。可以是重新训练,还可以是增量训练。在训练过程中,针对输入到目标检测模型的每个样本数据,可以将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整。这样可以使得训练后的目标检测模型精度更高。
97.在本发明的一个实施例中,目标检测模型的输出可以包括分类分支和坐标回归分支。
98.在本发明实施例中,如图2所示,目标检测模型可以依据retinanet进行创建。目标检测模型可以使用resnet50作为主干网络进行特征提取,得到卷积特征c3、c4、c5,然后使用特征金字塔网络(feature pyramid network,fpn) 结构,得到金字塔特征p3、p4、p5。这种层级特征方便检测出不同大小的目标。目标检测模型的输出可以包括分类分支和坐标回归分支,分别预测多个类别的分类得分和坐标位置。
99.以第一数据集为mscoco数据集,第二数据集为wider face数据集为例,mscoco数据集中包含118287张图像,wider face数据集中共有32203 张图像,其中包含158989个人脸标注目标。在按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集后,可以基于n个单类别数据集中的样本数据,对目标检测模型进行训练。训练框架可以使用 pytorch1.6,训练时可以使用4卡nvidia tesla v100 gpu。可以设置批量大小 (batch size)为32,训练120轮次,初始学习率为0.1,采用余弦下降的方式调整,使用sgd(stochastic gradient descent,随机梯度下降)优化器,样本数据输入尺寸为320x320大小。训练完成后的目标检测模型具有81个类别目标检测的能力,测试包含人体的图像,既能检测出人脸框又能检测出人体框。
100.在利用训练后的目标检测模型进行目标检测时,可以将待测数据输入到训练后的目标检测模型中,通过分类分支获得多个类别的分类得分,基于分类得分,确定待测数据中包含的目标的类别,同时,可以通过坐标回归分支获得待测数据中包含的目标的坐标位置。
101.本发明实施例在不增加标注成本的情况下,对目标检测模型之前所使用的多个不同数据集进行拆分,得到多个单类别数据集,这样拆分后如果需要新增类别,可直接添加新增类别数据集,如果要优化某个类别的目标,则只需要针对性标注该类别的样本数据即可,不需要标注所有类别,如果有类别重合也方便合并。实现了使用n个单类别数据集训练一个能检测n类目标的目标检测模型,利用该目标检测模型进行目标检测,节省计算资源。
102.相应于上面的方法实施例,本发明实施例还提供了一种目标检测装置,下文描述的目标检测装置与上文描述的目标检测方法可相互对应参照。
103.参见图3所示,目标检测装置300可以包括以下模块:
104.第一获得模块310,用于获得第一数据集和第二数据集,第一数据集中标注目标的类别有x个,第二数据集中标注目标的类别有y个,x、y为正整数;
105.第二获得模块320,用于按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,n≤x y;
106.检测模块330,用于基于n个单类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的目标检测模型进行目标检测;其中,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整。
107.应用本发明实施例所提供的装置,先按照标注目标的类别对不同数据集进行拆分,得到多个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,再基于多个单类别数据集中的样本数据,对目标检测模型进行训练,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整,不需要对不同数据集进行补充标注,可以节省较多的人力资源,节省标注成本,可以快速训练得到目标检测模型,使得训练后的目标检测模型可以快速应用到目标检测场景中,提高目标检测效率。
108.在本发明的一种具体实施方式中,第二获得模块320,用于:
109.针对标注目标的每个类别,遍历第一数据集和第二数据集,确定包含当前类别的标注目标的样本数据;
110.将包含当前类别的标注目标的样本数据合成一个单类别数据集。
111.在本发明的一种具体实施方式中,检测模块330,用于:
112.针对输入到目标检测模型的每个样本数据,获得目标检测模型基于输入的当前样本数据预测的多个类别的分类得分和坐标框回归值;
113.将当前样本数据未标注的类别的目标和背景作为一个组合,基于分类得分和坐标框回归值,计算交叉熵损失和坐标框回归损失;
114.根据交叉熵损失和坐标框回归损失,对目标检测模型的参数进行调整。
115.在本发明的一种具体实施方式中,检测模块330,用于:
116.利用组归一化指数函数,基于分类得分计算交叉熵损失;
117.利用泛化的交并比,基于坐标框回归值,计算坐标框损失。
118.在本发明的一种具体实施方式中,目标检测装置300还包括第一处理模块,用于:
119.在基于n个单类别数据集中的样本数据,对目标检测模型进行训练之后,获得新增类别数据集,新增类别数据集中的样本数据包含的标注目标的类别为新增类别;
120.基于n个单类别数据集和新增类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的目标检测模型对新增类别的目标进行检测。
121.在本发明的一种具体实施方式中,目标检测装置300还包括第二处理模块,用于:
122.更新第一单类别数据集中的样本数据,第一单类别数据集为n个单类别数据集中的任意一个;
123.基于更新后的n个单类别数据集中的样本数据,对目标检测模型进行训练。
124.在本发明的一种具体实施方式中,目标检测模型的输出包括分类分支和坐标回归分支。
125.在本发明的一种具体实施方式中,检测模块330,用于:
126.将待测数据输入到训练后的目标检测模型中;
127.通过分类分支获得多个类别的分类得分;
128.基于分类得分,确定待测数据中包含的目标的类别;
129.通过坐标回归分支获得待测数据中包含的目标的坐标位置。
130.相应于上面的方法实施例,本发明实施例还提供了一种电子设备,如图4 所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
131.存储器403,用于存放计算机程序;
132.处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
133.获得第一数据集和第二数据集,第一数据集中标注目标的类别有x个,第二数据集中标注目标的类别有y个,x、y为正整数;
134.按照标注目标的类别对第一数据集和第二数据集进行拆分,获得n个单类别数据集,每个单类别数据集中的每个样本数据仅标注一个类别的目标,n≤ x y;
135.基于n个单类别数据集中的样本数据,对目标检测模型进行训练,以利用训练后的目标检测模型进行目标检测;其中,在训练过程中,针对输入到目标检测模型的每个样本数据,将当前样本数据未标注的类别的目标和背景作为一个组合,确定预测损失,对目标检测模型的参数进行调整。
136.上述电子设备提到的通信总线404可以是外设部件互连标准(peripheralcomponent interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
137.通信接口402用于上述电子设备与其他设备之间的通信。
138.存储器403可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器403还可以是至少一个位于远离前述处理器的存储装置。
139.上述的处理器401可以是通用处理器,包括中央处理器(central processingunit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(applicationspecific integrated circuit,简称asic)、现场可编程门阵列(field-programmablegate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
140.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的目标检测方法。
141.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中的目标检测方法。
142.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机
指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
143.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
144.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
145.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献