单目标检测模型训练方法、单目标检测方法、设备及介质与流程
未命名
09-15
阅读:97
评论:0

1.本发明涉及计算机视觉技术领域,具体涉及一种单目标检测模型训练方法、单目标检测方法、设备及介质。
背景技术:
2.目标检测是计算机视觉领域的四大基础任务之一,在很多领域已经有了成熟的应用。通常目标检测任务会检测出物体所在的位置且预测出物体对应的类别,这类任务被称为多类别的目标检测。但在实际应用场景中,有时只需检测出某种或者某类特定的物体,即单类别的目标检测任务。
3.目前的检测模型通常是针对于多类物体的检测而设计的,在常用的目标检测模型yolov5中,检测任务通常是由三个分支组成,分别为位置分支,置信度分支和分类分支。其中,位置分支负责预测物体的检测框,置信度分支用来指示预测的检测框中是否包含物体,分类分支用来表示检测框中物体所属的类别,最终模型保留的检测框是根据置信度和类别共同决定的。但在单类别的目标检测任务中,因为没有对检出物体进行分类的需求,所以分类分支不参与模型的训练,最终模型输出的检测框仅由置信度分支来进行判断。但这种方式存在一个问题:在模型训练的过程中,通常只对正样本的置信度进行监督训练,而对于背景等负样本,在训练的过程中是没有参与监督训练的,因此在进行预测时,模型可能会对某些背景负样本赋予很高的置信度值,从而造成误检。
4.通常解决误检的方法是对于特定的误检类别,加入相应的负样本重新迭代模型,但这种方式存在以下弊端:(1)每当出现新的误检类型时,需要收集整理新的训练样本,人工成本高;(2)越来越多负样本的加入会使得训练数据集规模不断扩大,模型更新迭代时间也会因此变长;(3)无法充分利用训练数据集中的背景信息。
5.相应地,本领域需要一种新的技术方案来解决上述问题。
技术实现要素:
6.为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决现有的单类别目标检测器误检率高的技术问题的一种单目标检测模型训练方法、单目标检测方法、设备及介质。
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.其中,所述单目标检测模型基于权利要求1至6中任一项所述的单目标检测模型训练方法训练得到。
41.在上述单目标检测方法的一个技术方案中,所述检测结果包含目标物体的检测框和非目标物体的检测框,所述方法还包括:
42.选择性保留所述检测结果中所述目标物体的检测框和/或所述非目标物体的检测框。
43.在第三方面,提供一种电子设备,该电子设备包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述单目标检测模型训练方法的技术方案中任一项技术方案所述的单目标检测模型训练方法或上述单目标检测方法的技术方案中任一项技术方案所述的单目标检测方法。
44.在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述单目标检测模型训练方法的技术方案中任一项技术方案所述的单目标检测模型训练方法或上述单目标检测方法的技术方案中任一项技术方案所述的单目标检测方法。
45.本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
46.在实施本发明的技术方案中,首先获取第一训练数据集,基于第一训练数据集对初始检测模型进行训练,得到初始训练模型参数,其中,初始检测模型的预测模块包含位置分支和置信度分支,然后将训练好的初始检测模型的预测模块增加分类分支,得到单目标检测模型,最后基于第一训练数据集和初始训练模型参数对单目标检测模型进行训练。通过上述实施方式,在原有模型上进行改进,通过加入分类分支来判定检出的物体是“目标物体”还是“非目标物体”,能够有效降低模型的误检率,提高模型的性能。
47.进一步地,本发明提出了分类标签动态分配策略,可以在训练过程中根据模型的检出情况动态的分配分类标签,使得模型更有针对性地对背景负样本的误检进行抑制,进一步降低了模型的误检率,并且本方案与应用场景关联性弱,具有较强的通用性,可被移植到多种应用场景中。
附图说明
48.参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。其中:
49.图1是根据本发明的一个实施例的单目标检测模型训练方法的主要步骤流程示意图;
50.图2是根据本发明的一个实施例的基于第一训练数据集对初始目标检测模型进行训练的主要步骤流程示意图;
51.图3是根据本发明的一个实施例的单目标检测模型的结构示意图;
52.图4是根据本发明的一个实施例的基于第一训练数据集和初始权重参数对单目标检测模型进行训练的主要步骤流程示意图;
53.图5是根据本发明的一个实施例的基于动态分配方式获取单目标检测模型的损失函数的主要步骤流程示意图;
54.图6是根据本发明的一个实施例的动态分配分类分支的标签的主要步骤流程示意图;
55.图7是根据本发明的另一个实施例的单目标检测模型训练方法的主要步骤流程示意图;
56.图8是根据本发明的一个实施例的单目标检测方法的主要步骤流程示意图;
57.图9是根据本发明的一个电子设备实施例的主要结构示意图。
58.附图标记列表:
59.301:输入模块;302:特征提取模块;303:特征融合模块;304:预测模块;305:输出模块;901:处理器;902:存储装置。
具体实施方式
60.下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
61.在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
62.这里先解释本发明涉及到的一些术语。
63.锚点:在目标检测任务中,输入图像经过骨干网络提取得到特征图,该图上的每个像素点即为锚点。
64.锚框anchor:在目标检测任务中,输入图像经过骨干网络提取得到特征图,在特征图上预先设定的框即为锚框。
65.置信度:表示检测模型认为检测框内包含某种物体的可信度,其数值在0-1之间。
66.非极大值抑制:一种根据预测框的交并比,剔除同一个物体上重叠的预测框的方法。
67.如背景技术所述,目前的检测模型通常是针对于多类物体的检测而设计的,在常用的目标检测模型yolov5中,检测任务通常是由三个分支组成,分别为位置分支,置信度分支和分类分支。其中,位置分支负责预测物体的检测框,置信度分支用来指示预测的检测框中是否包含物体,分类分支用来表示检测框中物体所属的类别,最终模型保留的检测框是根据置信度和类别共同决定的。但在单类别的目标检测任务中,因为没有对检出物体进行分类的需求,所以分类分支不参与模型的训练,最终模型输出的检测框仅由置信度分支来进行判断。但这种方式存在一个问题:在模型训练的过程中,通常只对正样本的置信度进行
监督训练,而对于背景等负样本,在训练的过程中是没有参与监督训练的,因此在进行预测时,模型可能会对某些背景负样本赋予很高的置信度值,从而造成误检。
68.通常解决误检的方法是对于特定的误检类别,加入相应的负样本重新迭代模型,但这种方式存在以下弊端:
69.(1)每当出现新的误检类型时,需要收集整理新的训练样本,人工成本高;
70.(2)越来越多负样本的加入会使得训练数据集规模不断扩大,模型更新迭代时间也会因此变长;
71.(3)无法充分利用训练数据集中的背景信息。
72.因此,针对单类别目标检测器误检率高的问题,本发明提供了一种单目标检测模型训练方法、单目标检测方法、设备及介质。
73.参阅附图1,图1是根据本发明的一个实施例的单目标检测模型训练方法的主要步骤流程示意图。如图1所示,本发明实施例中的单目标检测模型训练方法主要包括下列步骤s101至步骤s104。
74.步骤s101:获取第一训练数据集
75.步骤s102:基于第一训练数据集对初始目标检测模型进行训练,得到初始权重参数。
76.其中,初始目标检测模型的预测模块包含位置分支和置信度分支。
77.步骤s103:将训练好的初始目标检测模型的预测模块增加分类分支,得到单目标检测模型。
78.步骤s104:基于第一训练数据集和初始权重参数对单目标检测模型进行训练。
79.基于上述步骤s101至步骤s104所述的方法,在原有模型上进行改进,通过加入分类分支来判定检出的物体是“目标物体”还是“非目标物体”,能够有效降低模型的误检率,提高模型的性能。
80.下面对上述步骤s101至步骤s104作进一步说明。
81.在上述步骤s101的一些实施方式中,可以根据需求收集整理现有的物体检测数据集作为第一训练数据集,第一训练数据集中包括多个样本和对应的标签,其中,标签包括目标物体的标注框和所属类别。
82.在另一些实施方式中,可以自行采集数据,例如采集一些图片数据作为样本,或采集视频数据,提取视频中的帧作为样本,然后对样本进行人工标注,为每个样本标注上目标物体的标注框gt_boxes和所属类别的标签。
83.其中,标注工具可以选择开源的图像标注工具labelimg,labelimg是用python编写的,并使用跨平台的c++图形用户界面库qt作为其图形界面,labelimg标注的标签可以用于分类和目标检测等任务。
84.进一步地,由多个样本和对应的标签组成第一训练数据集,以供后续模型的训练。
85.第一训练数据集中的多个样本要按照特定的格式存放,对应的标签也需整理成同样的格式存放,如voc、yolo、createml等格式。
86.需要指出的是,以上关于获取第一训练数据集、对数据进行人工标注以及存放格式的举例只是示意性说明,在实际应用中,本领域技术人员可以根据具体场景进行选择,此处不作限定。
87.以上是对步骤s101的进一步说明,下面继续对步骤s102作进一步说明。
88.在上述步骤s102的一些实施方式中,参阅附图2,图2是根据本发明的一个实施例的基于第一训练数据集对初始目标检测模型进行训练的主要步骤流程示意图。如图2所示,步骤s102主要包括下列步骤s1021至步骤s1024。
89.步骤s1021:将第一训练数据集输入初始目标检测模型。
90.在一些实施方式中,在执行步骤s1021之前,首先要读取第一训练数据集中的样本和标签,标签包括目标物体的标注框和所属类别,然后对样本进行处理,例如归一化、数据增强等,最后将第一训练数据集输入初始目标检测模型。
91.初始目标检测模型可以选择基础检测模型,如yolov5模型,初始目标检测模型包含位置分支reg_head和置信度分支obj_head。
92.其中,位置分支reg_head负责预测目标物体的检测框,置信度分支obj_head负责预测检测框中是否包含目标物体。最终模型输出的检测框仅由置信度分支来进行判断,因此初始目标检测模型具备“目标物体”的检出能力,但不具备分类能力。
93.步骤s1022:获取初始目标检测模型的损失函数。
94.将第一训练数据集输入初始目标检测模型后,可以得到模型的检测结果,检测结果包括目标物体检测框。
95.为了获取损失函数,可以根据标注信息为目标物体检测框中的每个锚点分配位置分支reg_head和置信度分支obj_head的标签,并计算标签和检测结果之间的损失函数,包括位置损失函数loss_reg和置信度损失函数loss_obj,最后将loss_reg和loss_obj按照权重加和即为初始目标检测模型的损失函数。
96.步骤s1023:基于损失函数对初始目标检测模型进行反向传播。
97.得到损失函数之后,可以利用反向传播将损失函数传给初始目标检测模型的每一层,让每一层都根据损失函数反向调整权重,具体地可以使用梯度下降法让每一层的权重向着损失最小的方向更新。
98.步骤s1024:当初始目标检测模型收敛至第二预设误差或满足第二预设迭代次数时,完成初始目标检测模型训练。
99.在一些实施方式中,可以给模型设置一个预设误差(第二预设误差),当初始目标检测模型的损失函数收敛至预设误差时,完成模型的训练。
100.在另一些实施方式中,可以给模型设置预设迭代次数(第二预设迭代次数),当初始目标检测模型的迭代次数达到预设迭代次数时,完成模型的训练。
101.其中,第二预设误差和第二预设迭代次数可以根据实际应用场景进行设置,此处不做限定。
102.进一步地,在完成初始目标检测模型的训练之后,可以得到初始目标检测模型的权重参数。
103.以上是对步骤s102的进一步说明,下面继续对步骤s103作进一步说明。
104.由于初始目标检测模型只具备“目标物体”的检出能力,但不具备分类能力,因此我们对其结构进行调整,将训练好的初始目标检测模型增加一个分类分支cls_head,得到单目标检测模型。
105.其中,分类分支cls_head是一个二分类器,可以对检出的物体进行二分类,若是检
出物体为特定的类别,则分类为“目标物体”,否则分类为“非目标物体”,通过对全局的每个锚点进行分类可以降低背景中“非目标物体”的检出。
106.进一步地,参阅附图3,图3是根据本发明的一个实施例的单目标检测模型的结构示意图。如图3所示,单目标检测模型包括输入模块(input)301、特征提取模块(backbone)302、特征融合模块(neck)303、预测模块(head)304及输出模块(output)305。
107.其中,输入模块301用于对第一训练数据集进行预处理及数据增强等操作。
108.特征提取模块302可以使用常见的神经网络,如resnet、darknet等来提取第一训练数据集的特征。
109.特征融合模块303用于将提取的低层特征的位置信息和高层特征的语义信息进行融合,从而提升检测效果。
110.预测模块304是由三个分支构成的,即为位置分支reg_head、置信度分支obj_head和分类分支cls_head。
111.其中,位置分支reg_head负责预测物体的检测框,置信度分支obj_head负责预测检测框内每个锚点处是否包含物体,分类分支cls_head负责预测检测框内物体所属的类别。
112.输出模块305是根据三个分支的输出结果进行一些后处理,如非极大值抑制来得到最终的检测结果。
113.其中,非极大值抑制是一种根据预测框的交并比剔除同一个物体上重叠的预测框的方法,具体是把所有重叠的预测框按照分值从高到低排序,保留最高分数的预测框,剔除其余预测框。
114.以上是对步骤s103的进一步说明,下面继续对步骤s104作进一步说明。
115.在上述步骤s104的一些实施方式中,参阅附图4,图4是根据本发明的一个实施例的基于第一训练数据集和初始权重参数对单目标检测模型进行训练的主要步骤流程示意图。如图4所示,步骤s104主要包括下列步骤s1041至步骤s1044。
116.步骤s1041:将第一训练数据集输入单目标检测模型并加载初始权重参数。
117.在一些实施方式中,在执行步骤s1041之前,首先要读取第一训练数据集中的样本和标签,标签包括目标物体的标注框和所属类别,然后对样本进行处理,例如归一化、数据增强等,最后将第一训练数据集输入单目标检测模型。
118.进一步地,加载初始权重参数对单目标检测模型进行训练。其中,初始权重参数就是初始目标检测模型的权重参数。
119.步骤s1042:基于动态分配方式获取单目标检测模型的损失函数。
120.在一些实施方式中,参阅附图5,图5是根据本发明的一个实施例的基于动态分配方式获取单目标检测模型的损失函数的主要步骤流程示意图。如图5所示,主要包括下列步骤s501至步骤s504。
121.步骤s501:获取单目标检测模型的检测结果。
122.将第一训练数据集输入单目标检测模型后,可以得到模型的输出的检测结果。
123.步骤s502:分配位置分支reg_head和置信度分支obj_head的标签,动态分配分类分支cls_head的标签。
124.具体地,可以根据标注信息为目标物体的检测框中的每个锚点分配位置分支reg_
head的标签、置信度分支obj_head的标签,以及动态分配分类分支cls_head的标签。
125.参阅附图6,图6是根据本发明的一个实施例的动态分配分类分支的标签的主要步骤流程示意图。如图6所示,步骤s502主要包括下列步骤s5021至步骤s5026。
126.步骤s5021:从检测结果中筛选满足预设条件的锚点。
127.其中,检测结果中包含目标物体的检测框和非目标物体的检测框。
128.分类分支cls_head的预测结果cls是二维的数据,cls_0代表锚点的类别为“目标物体”的概率,cls_1代表锚点的类别为“非目标物体”的概率。
129.在一些实施方式中,预设条件可以设置为目标物体的概率大于0.4,那么可以根据分类结果cls_0,挑选出所有是“目标物体”的概率大于0.4的锚点。
130.步骤s5022:获取锚点对应的预测框p_boxes。
131.挑选出锚点后,我们计算选出的锚点所对应的预测框p_boxes,这一步就是根据位置分支reg_head的预测结果reg来进行计算的。
132.reg是四维数据(x,y,w,h),其中,x和y是相对于预先设定的锚框anchor的中心点的偏移量,w和h是相对于anchor的宽和高的缩放系数,根据reg和预先设定的anchor的大小即可求出选出的锚点所对应的预测框p_boxes。
133.步骤s5023:获取预测框p_boxes和标注框gt_boxes的交并比值。
134.得到预测框p_boxes后,可以计算每个预测框p_box和所有的标注框gt_boxes之间的交并比值ious。
135.步骤s5024:判断交并比值中的最大交并比值是否大于预设阈值;
136.在计算出交并比值ious之后,选出最大的交并比值iou,然后判断每个预测框的最大交并比值iou是否大于预设阈值,如0.4。
137.进一步地,若是,则执行步骤s5025,否则执行步骤s5026。
138.步骤s5025:分配锚点的标签为目标物体。
139.若最大交并比值iou大于0.4,则设置该预测框对应的锚点为正样本,分配锚点的标签为目标物体。
140.步骤s5026:分配锚点的标签为非目标物体。
141.若最大交并比值iou不大于0.4,则设置该预测框对应的锚点为负样本,分配锚点的标签为非目标物体。
142.需要指出的是,以上关于筛选锚点的预设条件和判断最大交并比值iou的预设阈值的举例只是示意性说明,在实际应用中,本领域技术人员可以根据具体场景进行设置,此处不做限定。
143.以上是对步骤s502的进一步说明。
144.步骤s503:基于标签和检测结果获取位置损失函数loss_reg、置信度损失函数loss_obj和分类损失函数loss_cls。
145.分配好标签之后,可以根据标签和检测结果计算位置损失函数loss_reg、置信度损失函数loss_obj和分类损失函数loss_cls。
146.步骤s504:基于位置损失函数loss_reg、置信度损失函数loss_obj和分类损失函数loss_cls得到单目标检测模型的损失函数。
147.将位置损失函数loss_reg、置信度损失函数loss_obj和分类损失函数loss_cls按
照权重加和即为单目标检测模型的损失函数。
148.以上是对步骤s1042的进一步说明。
149.步骤s1043:基于损失函数对单目标检测模型进行反向传播。
150.得到损失函数之后,可以利用反向传播将损失函数传给单目标检测模型的每一层,让每一层都根据损失函数反向调整权重,具体可以使用梯度下降法让每一层的权重向着损失最小的方向更新。
151.步骤s1044:当单目标检测模型收敛至第一预设误差或满足第一预设迭代次数时,完成单目标检测模型训练。
152.在一些实施方式中,可以给模型设置一个预设误差(第一预设误差),当单目标检测模型的损失函数收敛至预设误差时,完成模型的训练。
153.在另一些实施方式中,可以给模型设置预设迭代次数(第一预设迭代次数),当单目标检测模型的迭代次数达到预设迭代次数时,完成模型的训练。
154.其中,第一预设误差、第一预设迭代次数可以和第二预设误差、第二预设迭代次数相同,也可以不同,在实际应用中,本领域技术人员可以根据具体场景进行设置,此处不做限定。
155.以上是对步骤s104的进一步说明。
156.通过上述实施方式,在原有模型上进行改进,通过加入分类分支来判定检出的物体是“目标物体”还是“非目标物体”,能够有效降低模型的误检率,提高模型的性能。
157.进一步地,本发明通过分类标签动态分配策略,可以在训练过程中根据模型的检出情况动态的分配分类标签,使得模型更有针对性地对背景负样本的误检进行抑制,进一步降低了模型的误检率,并且自动生成负样本标签,节省了大量的人力和物力,缩短了样本采集和整理所需的时间。
158.在一些实施方式中,对单目标检测模型进行训练之后,我们还需要对模型输出的检测结果进行观测和分析,若出现某种类型的物体被频繁地误检,那就要有针对性地更新模型解决此类误检测问题。
159.具体地,参阅附图7,图7是根据本发明的另一个实施例的单目标检测模型训练方法的主要步骤流程示意图。如图7所示,主要包括下列步骤s701至步骤s703。
160.步骤s701:判断训练后的单目标检测模型输出的检测结果中是否存在误检类型。
161.进一步地,若是,则执行步骤s702;否则继续执行步骤s701。
162.步骤s702:在第一训练数据集的背景上粘贴误检类型,得到第二训练数据集,并以第二训练数据集更新第一训练数据集。
163.首先要收集该类误检的数据样本,然后将这些误检类型的样本随机粘贴到第一训练数据集的背景中得到第二训练数据集,最后以第二训练数据集更新第一训练数据集。
164.其中,以第二训练数据集更新后飞第一训练数据集与原始的第一训练数据集中的样本数量相同。
165.步骤s703:重复执行基于第一训练数据集和初始权重参数对单目标检测模型进行训练,直至检测结果中不再出现新的误检类型。
166.基于上述步骤s701至步骤s703所述的方法,当有新误检类型出现时,可以在第一训练数据集的背景中粘贴对应的负样本来训练模型降低误检,避免了因训练数据集不断扩
大而导致的模型迭代时间的不断延长,在不加入额外负训练样本的基础上降低了模型的误检率,实现了检测模型的快速更新迭代。
167.进一步地,本发明还提供了一种单目标检测方法。
168.参阅附图8,图8是根据本发明的一个实施例的单目标检测方法的主要步骤流程示意图。如图8所示,本发明实施例中的单目标检测方法主要包括下列步骤s801至步骤s802。
169.步骤s801:获取待检测的样本。
170.在一些实施方式中,待检测的样本可以为图片、视频中提取的帧等。
171.步骤s802:将待检测的样本输入单目标检测模型中,得到检测结果。
172.其中,单目标检测模型基于上述单目标检测模型训练方法实施例中所述的单目标检测模型训练方法训练得到。
173.在一些实施方式中,执行上述单目标检测方法之前还包括对样本进行预处理。
174.具体地,可以将待检测的图像或视频中提取的帧进行归一化处理,并调整样本大小为640*640。
175.进一步地,将待检测的样本输入训练好的单目标检测模型中进行检测。
176.在一些实施方式中,还可以对单目标检测模型的输出的检测结果进行后处理。
177.具体地,可以使用非极大值抑制方法去除检测结果中重复的检测框,然后根据预处理阶段的样本缩放比例调整剩余检测框的宽高及位置,得到最终的检测结果。
178.其中,检测结果包含目标物体的检测框和非目标物体的检测框。
179.在实际应用中,可以选择性保留检测结果中目标物体的检测框和/或非目标物体的检测框。
180.例如,仅保留目标物体的检测框,舍弃非目标物体的检测框。
181.进一步地,检测结果还包含检测框的标签、置信度和位置等信息,这些信息将呈现在原图中并保存。
182.本方案与应用场景关联性弱,具有较强的通用性,可以便捷地移植到其他各种单目标检测的场景中。
183.需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
184.本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
185.进一步,本发明还提供了一种电子设备。参阅附图9,图9是根据本发明的一个电子设备实施例的主要结构示意图。如图9所示,本发明实施例中的电子设备主要包括处理器901和存储装置902,存储装置902可以被配置成存储执行上述方法实施例的单目标检测模
型训练方法或单目标检测方法的程序,处理器901可以被配置成用于执行存储装置902中的程序,该程序包括但不限于执行上述方法实施例的单目标检测模型训练方法或单目标检测方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
186.在本发明的一些可能的实施方式中,电子设备可以包括多个处理器901和多个存储装置902。而执行上述方法实施例的单目标检测模型训练方法或单目标检测方法的程序可以被分割成多段子程序,每段子程序分别可以由处理器901加载并运行以执行上述方法实施例的单目标检测模型训练方法或单目标检测方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储装置902中,每个处理器901可以被配置成用于执行一个或多个存储装置902中的程序,以共同实现上述方法实施例的单目标检测模型训练方法或单目标检测方法,即每个处理器901分别执行上述方法实施例的单目标检测模型训练方法或单目标检测方法的不同步骤,来共同实现上述方法实施例的单目标检测模型训练方法或单目标检测方法。
187.上述多个处理器901可以是部署于同一个设备上的处理器,例如上述电子设备可以是由多个处理器组成的高性能设备,上述多个处理器901可以是该高性能设备上配置的处理器。此外,上述多个处理器901也可以是部署于不同设备上的处理器,例如上述电子设备可以是服务器集群,上述多个处理器901可以是服务器集群中不同服务器上的处理器。
188.进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的单目标检测模型训练方法或单目标检测方法的程序,该程序可以由处理器加载并运行以实现上述单目标检测模型训练方法或单目标检测方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
189.需要说明的是,本公开实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、洗涤装置使用数据对应的对象信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据、洗涤装置使用数据等),均为经用户授权或者经过各方充分授权的信息和数据。
190.本公开实施例中涉及到的数据的获取、采集等动作,均为经用户、对象授权或者经过各方充分授权后执行。
191.本技术各实施例中可能涉及的相关用户个人信息,均为严格按照法律法规的要求,遵循合法、正当、必要的原则,基于业务场景的合理目的,处理用户在使用产品/服务过程中主动提供或因使用产品/服务而产生的,以及经用户授权获取的个人信息。
192.至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
技术特征:
1.一种单目标检测模型训练方法,其特征在于,所述方法包括:获取第一训练数据集;基于所述第一训练数据集对初始目标检测模型进行训练,得到初始权重参数;所述初始目标检测模型的预测模块包含位置分支和置信度分支;将训练好的所述初始目标检测模型的预测模块增加分类分支,得到所述单目标检测模型;基于所述第一训练数据集和所述初始权重参数对所述单目标检测模型进行训练。2.根据权利要求1所述的单目标检测模型训练方法,其特征在于,所述基于所述第一训练数据集和所述初始权重参数对所述单目标检测模型进行训练包括:将所述第一训练数据集输入所述单目标检测模型并加载所述初始权重参数;基于动态分配方式获取所述单目标检测模型的损失函数;基于所述损失函数对所述单目标检测模型进行反向传播;当所述单目标检测模型收敛至第一预设误差或满足第一预设迭代次数时,完成所述单目标检测模型训练。3.根据权利要求2所述的单目标检测模型训练方法,其特征在于,所述第一训练数据集包括多个样本及对应的多个标签,所述标签包括目标物体的标注框和所属类别;所述基于动态分配方式获取所述单目标检测模型的损失函数包括:获取所述单目标检测模型输出的检测结果;分配所述位置分支和所述置信度分支的所述标签,动态分配所述分类分支的所述标签;基于所述标签和所述检测结果获取位置损失函数、置信度损失函数和分类损失函数;基于所述位置损失函数、所述置信度损失函数和所述分类损失函数得到所述单目标检测模型的损失函数。4.根据权利要求3所述的单目标检测模型训练方法,其特征在于,所述动态分配所述分类分支的所述标签包括:筛选所述检测结果中满足预设条件的锚点;获取所述锚点对应的预测框;获取所述预测框和所述标注框的交并比值;判断所述交并比值中的最大交并比值是否大于预设阈值;若是,则分配所述锚点的标签为目标物体;否则,分配所述锚点的标签为非目标物体。5.根据权利要求1所述的单目标检测模型训练方法,其特征在于,所述基于所述第一训练数据集和所述初始权重参数对所述单目标检测模型进行训练之后,所述方法还包括:判断训练后的所述单目标检测模型输出的检测结果中是否存在误检类型;若是,则在所述第一训练数据集的背景上粘贴所述误检类型,得到第二训练数据集,并以所述第二训练数据集更新所述第一训练数据集;重复执行所述基于所述第一训练数据集和所述初始权重参数对所述单目标检测模型进行训练,直至所述检测结果中不再出现新的所述误检类型。6.根据权利要求1所述的单目标检测模型训练方法,其特征在于,所述基于所述第一训练数据集对初始目标检测模型进行训练包括:
将所述第一训练数据集输入所述初始目标检测模型;获取所述初始目标检测模型的损失函数;基于所述损失函数对所述初始目标检测模型进行反向传播;当所述初始目标检测模型收敛至第二预设误差或满足第二预设迭代次数时,完成所述初始目标检测模型训练。7.一种单目标检测方法,其特征在于,所述方法包括:获取待检测的样本;将所述待检测的样本输入单目标检测模型中,得到检测结果;其中,所述单目标检测模型基于权利要求1至6中任一项所述的单目标检测模型训练方法训练得到。8.根据权利要求7所述的单目标检测方法,其特征在于,所述检测结果包含目标物体的检测框和非目标物体的检测框,所述方法还包括:选择性保留所述检测结果中所述目标物体的检测框和/或所述非目标物体的检测框。9.一种电子设备,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至6中任一项所述的单目标检测模型训练方法或权利要求7至8中任一项所述的单目标检测方法。10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至6中任一项所述的单目标检测模型训练方法或权利要求7至8中任一项所述的单目标检测方法。
技术总结
本发明涉及计算机视觉技术领域,具体提供一种单目标检测模型训练方法、单目标检测方法、设备及介质,旨在解决现有的单类别目标检测器误检率高的问题。为此目的,本发明的单目标检测模型训练方法包括获取第一训练数据集,基于第一训练数据集对初始目标检测模型进行训练,得到初始权重参数,其中初始目标检测模型的预测模块包含位置分支和置信度分支,将训练好的初始目标检测模型的预测模块增加分类分支,得到单目标检测模型,基于第一训练数据集和初始权重参数对单目标检测模型进行训练。通过上述实施方式,在原有模型上进行改进,通过加入分类分支来判定检出的物体是“目标物体”还是“非目标物体”,能够有效降低模型的误检率,提高模型的性能。提高模型的性能。提高模型的性能。
技术研发人员:赵德芳 王彦添 朱蕾 杨浚琦 吴凡
受保护的技术使用者:云从科技集团股份有限公司
技术研发日:2023.06.26
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/