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

目标检测方法、模型的训练方法及装置、设备、存储介质与流程

2022-04-25 03:05:26 来源:中国专利 TAG:


1.本技术实施例涉及计算机视觉技术,涉及但不限于一种目标检测方法、模型的训练方法及装置、设备、存储介质。


背景技术:

2.数据的长尾分布是目标检测算法在现实世界中所面临的重要问题。一般的目标检测算法都应用于相对平衡的数据分布场景下,而长尾分布带来的不平衡问题往往会极大地影响到目标检测算法的精确度。现有的长尾目标检测算法提出了样本重采样、损失重加权等解决方案用于克服长尾分布问题。
3.然而,现有的针对长尾分布数据的目标检测框架主要是基于二阶段目标检测器进行的,目前仍然没有针对长尾分布数据的单阶段检测的相关内容。


技术实现要素:

4.有鉴于此,本技术实施例提供一种目标检测方法、模型的训练方法及装置、设备、存储介质。
5.本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种检测模型的训练方法,所述方法包括:采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;确定所述训练图像集中不同类别的正负样本的不平衡程度;基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
7.通过上述方式,能够利用不同类别的正负样本的不平衡程度,解决前景类别间样本不平衡的问题。
8.在一些实施例中,所述确定所述训练图像集中不同类别的正负样本的不平衡程度,包括:确定所述训练图像集中不同类别的正负样本的累积梯度比;基于所述不同类别的正负样本的累积梯度比,确定所述不同类别的正负样本的不平衡程度。
9.通过上述方式,能够利用不同类别的累积梯度比来确定不同类别的正负样本的不平衡程度。
10.在一些实施例中,所述基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失,包括:利用第一超参数对所述不同类别的正负样本的不平衡程度分别进行加权,得到所述不同类别中每一类别的加权结果;其中,所述第一超参数用于控制所述待训练的检测模型对不同类别中稀有类别的正负样本的不平衡程度进行学习的力度;基于所述预测的检测结果和所述每一类别的加权结果,确定所述预测的检测结果在所述每一类别中的损失。
11.通过上述方式,能够利用超参数对不同类别的正负样本的不平衡程度进行加权,来解决前景类别间样本不平衡的问题。
12.在一些实施例中,所述基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失,包括:确定所述预测的检测结果的焦点损失;采用所述不同类别的正负样本的不平衡程度对所述焦点损失进行调整,得到所述预测的检测结果在所述不同类别中的损失。
13.通过上述方式,能够同时解决前景类别间样本不平衡的问题,以及前景背景不平衡的问题,从而使得检测模型在简单性与高效性方面都具有优势。
14.在一些实施例中,所述不同类别至少包括:稀有类别和频繁类别,所述采用所述不同类别的正负样本的不平衡程度对所述焦点损失进行调整,得到所述预测的检测结果在所述不同类别中的损失之后,所述方法还包括:基于基础因子,以及所述稀有类别和所述频繁类别的正负样本的不平衡程度,确定权重因子;其中,所述基础因子用于平衡训练图像中前景区域与背景区域的损失贡献;基于权重因子,调整所述损失中稀有类别相对于频繁类别的损失贡献,得到已优化的损失;所述利用所述损失对所述待训练的检测模型中的网络参数进行更新,包括:利用所述已优化的损失对所述待训练的检测模型中的网络参数进行更新。
15.通过上述方式,能够在解决前景类别间样本不平衡的问题,以及前景背景不平衡的问题的同时,提升稀有类别的损失贡献。
16.在一些实施例中,所述利用所述损失对所述待训练的检测模型中的网络参数进行更新,包括:基于所述损失,确定所述待训练的检测模型在更新过程中输出的梯度值;在所述梯度值大于等于预设阈值的情况下,对所述梯度值进行梯度裁切,得到裁切后的梯度值;基于所述裁切后的梯度值,对所述检测模型中的网络参数进行更新。
17.通过上述方式,能够使检测模型的训练更加稳定,缓解了训练结果的波动。
18.在一些实施例中,所述方法还包括:基于所述训练图像集中图像的分布情况,确定在预训练阶段对所述待训练的检测模型进行迭代训练的迭代次数;基于所述迭代次数和所述训练图像集,对所述待训练的检测模型进行预训练,得到候选检测模型;所述利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件,包括:利用所述损失对所述候选检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
19.通过上述方式,能够根据训练数据的分布情况,选择合适的预训练迭代次数,从而降低训练过程中出现nan(not a number,非数)数值的概率。
20.在一些实施例中,所述基于所述训练图像集中图像的分布情况,确定在预训练阶段对所述待训练的检测模型进行迭代训练的迭代次数,包括:在所述训练图像集为长尾分布的图像集的情况下,将预训练阶段所述待训练的检测模型的迭代次数设置为第一预设值;在所述训练图像集为非长尾分布的图像集的情况下,将所述迭代次数设置为第二预设值;其中,所述第一预设值大于所述第二预设值。
21.通过上述方式,能够为长尾分布的数据设置更多的迭代次数,从而降低长尾数据在训练过程中出现异常问题的概率。
22.在一些实施例中,所述采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果,包括:采用待训练的检测模型,在训练图像的每一区域上生成至少两个预测框;其中,所述至少两个预测框具有不同的尺度;确定生成的所述预测框与所述
训练图像的标记框之间的并交比;基于所述并交比,对所述预测框中的目标为前景的概率进行度量,得到所述训练图像预测的检测结果。
23.通过上述方式,能够适应性地选择检测模型的采样策略,以及改变检测模型中center-ness分支的实现方式,从而提升检测性能。
24.在一些实施例中,所述方法还包括:对训练图像集中的每一训练图像进行预处理,得到预处理后的训练图像;对所述预处理后的训练图像进行特征提取,得到特征图;所述采用待训练的检测模型,在训练图像的每一区域上生成至少两个预测框,包括:采用待训练的检测模型,在所述特征图的每一像素上生成至少两个预测框;其中,所述特征图的像素与所述训练图像中的区域具有对应关系。
25.通过上述方式,能够实现一个完整的模型训练流程。
26.第二方面,本技术实施例提供一种目标检测方法,所述方法包括:获取待检测图像;对所述待检测图像进行预处理,得到预处理后的待检测图像;对所述预处理后的待检测图像进行特征提取,得到待检测图像的特征图;将所述待检测图像的特征图输入至检测模型,得到预测结果;其中,所述检测模型为基于上述的训练方法训练得到的;对所述预测结果进行后处理,得到所述待检测图像的检测结果。
27.通过上述方式,能够利用上述训练方法得到的检测模型对待检测图像进行处理,提升检测率。
28.在一些实施例中,所述预测结果包括多个预测框,以及每一预测框对应的目标类别;所述对所述预测结果进行后处理,得到所述待检测图像的检测结果,包括:将所述多个预测框中存在重叠的预测框进行过滤,得到过滤后的预测框和每一过滤后的预测框对应的目标类别。
29.通过上述方式,能够对检测模型得到的多个预测框进行去重处理,得到更加精确的检测结果。
30.第三方面,本技术实施例提供一种检测模型的训练装置,所述装置包括:第一预测单元,用于采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;程度确定单元,用于确定所述训练图像集中不同类别的正负样本的不平衡程度;损失确定单元,用于基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;参数更新单元,用于利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
31.第四方面,本技术实施例提供一种目标检测装置,所述装置包括:获取单元,用于获取待检测图像;预处理单元,用于对所述待检测图像进行预处理,得到预处理后的待检测图像;特征提取单元,用于对所述预处理后的待检测图像进行特征提取,得到待检测图像的特征图;第二预测单元,用于将所述待检测图像的特征图输入至检测模型,得到预测结果;其中,所述检测模型为基于上述的训练方法训练得到的;后处理单元,用于对所述预测结果进行后处理,得到所述待检测图像的检测结果。
32.第五方面,本技术实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述训练方法中的步骤,或,实现上述检测方法中的步骤。
33.第六方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,
该计算机程序被处理器执行时实现上述训练方法中的步骤,或,实现上述检测方法中的步骤。
34.本技术实施例提供一种目标检测方法、模型的训练方法及装置、设备、存储介质,通过采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;确定所述训练图像集中不同类别的正负样本的不平衡程度;基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件,如此,能够利用不同类别的正负样本的不平衡程度,解决前景类别间样本不平衡的问题。
附图说明
35.图1为本技术实施例检测模型的训练方法的实现流程示意图一;
36.图2为本技术实施例检测模型的训练方法的实现流程示意图二;
37.图3为本技术实施例检测模型的训练方法的实现流程示意图三;
38.图4为本技术实施例目标检测方法的实现流程示意图;
39.图5a为本技术实施例单阶段长尾目标检测方案的结构框图;
40.图5b为本技术实施例单阶段检测器与二阶段检测器的样本分布对比图;
41.图5c为本技术实施例具有不同数据分布的样本的数量比例示意图;
42.图5d为本技术实施例均衡焦点损失函数的示意图一;
43.图5e为本技术实施例均衡焦点损失函数的示意图二;
44.图6为本技术实施例检测模型的训练装置的组成结构示意图;
45.图7为本技术实施例目标检测装置的组成结构示意图;
46.图8为本技术实施例电子设备的一种硬件实体示意图。
具体实施方式
47.下面结合附图和实施例对本技术的技术方案进一步详细阐述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
49.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
50.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
51.单阶段目标检测器形式简洁、推理速度快、易于部署。然而,目前的单阶段目标检测器的性能往往不及二阶段检测器,并且,在数据为长尾分布的情况下单阶段目标检测模型主要面临着两个困难。第一,数据的长尾分布带来了前景类别间样本不平衡问题,这一问题是长尾分布场景下的固有问题。第二,单阶段目标检测算法基于密集的样本候选集,在模型的训练过程中引入了前景背景不平衡问题。
52.这两大不平衡问题共同阻碍了长尾场景下单阶段目标检测模型的性能。现有的解决方案一般只关注于前景类别间样本不平衡问题,例如eqlv2;或者,只关注前景背景不平衡问题,例如焦点损失(focal loss)。现有技术缺乏同时解决两种不平衡问题的能力,因此现有技术无法很好地处理单阶段长尾目标检测任务。
53.基于此,本技术实施例提供一种检测模型的训练方法,所述方法应用于电子设备,该方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在所述电子设备的存储介质中。图1为本技术实施例检测模型的训练方法的实现流程示意图一,如图1所示,所述方法包括:
54.步骤s101、采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
55.这里,所述电子设备可以为各种类型的具有信息处理能力的设备,例如导航仪、智能手机、平板电脑、可穿戴设备、膝上型便携计算机、一体机和台式计算机、服务器集群等。
56.本技术实施例中,所述训练图像集可以为计算机视觉领域常用的数据集,例如coco数据集、lvis数据集等。当然,所述训练图像集也可以为真实场景下的图像集合,例如自动驾驶领域拍摄的图像。并且,所述训练图像集中图像的数据分布可以为长尾分布。
57.这里,所述待训练的检测模型可以为单阶段检测模型,也可以为双阶段检测模型,本技术实施例对此并不做限制。在所述待训练的检测模型为单阶段检测模型的情况下,所述单阶段检测模型可以包括retinanet(focal loss for dense object detection)单阶段检测器、atss(adaptive training sample selection,自适应训练样本选择)单阶段检测器、yolo(you only look once)单阶段检测器等。所述预测的检测结果可以包括检测出的目标以及每一目标所属的目标类别。
58.步骤s102、确定所述训练图像集中不同类别的正负样本的不平衡程度;
59.举例来说,需要检测的目标对象有三个类别:第一类别的目标对象(例如猫),第二类别的目标对象(例如熊猫)和第三类别的目标对象(例如雪豹)。在训练图像集中包括第一类别的目标对象的图像有225张,包括第二类别的目标对象的图像有115张,包括第三类别的目标对象的图像有5张。则训练图像集中不同类别指的是这三个类别,且第一类别为频繁类别,第二类别为普通类别,第三类别为稀有类别,所述训练图像集可以看作是长尾分布的数据集。
60.进而,所述训练图像集中不同类别的正负样本的不平衡程度,指的是在所述训练图像集为长尾分布的数据集时,不但每个类别都存在着正负样本分布不平衡,而且稀有类别面临着比频繁类别更加严重的正负样本不平衡问题。即,上述训练图像集中,第三类别的正负样本不平衡程度大于第二类别的正负样本不平衡程度,第二类别的正负样本不平衡程度大于第一类别的正负样本不平衡程度。
61.这里,所述正负样本不平衡指的是负样本(背景样本)的数量远多于正样本(前景
样本)的数量。
62.步骤s103、基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;
63.这里,可以根据预测的检测结果和不同类别的正负样本的不平衡程度,确定训练样本集的检测结果在不同类别中的损失。例如训练样本集的检测结果在第一类别中的损失,训练样本集的检测结果在第二类别中的损失,以及训练样本集的检测结果在第三类别中的损失。即,不同类别中的每一类别都对应一损失值。
64.本技术实施例中,通过不同类别的正负样本的不平衡程度来确定损失,使得所述检测模型提高了对稀有类别相对于频繁类别的学习力度,进而解决了前景类别间样本不平衡的问题,提高了检测模型对稀有类别的检测效果。
65.步骤s104、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
66.这里,更新后的检测模型满足收敛条件,可以有以下三种方式实现:第一种是所述检测模型输出的损失小于某一预设值;第二种是两次迭代之间权值的变化小于某一预设值;第三种是迭代次数达到预设次数。
67.在一些实施例中,所述步骤s102、确定所述训练图像集中不同类别的正负样本的不平衡程度,包括:
68.步骤s1021、确定所述训练图像集中不同类别的正负样本的累积梯度比;
69.步骤s1022、基于所述不同类别的正负样本的累积梯度比,确定所述不同类别的正负样本的不平衡程度。
70.这里,可以确定在训练过程中每一类别的正负样本的累积梯度比,并利用所述每一类别的正负样本的累积梯度比,来衡量对应类别的正负样本的不平衡程度。
71.在一些实施例中,所述方法还包括:
72.步骤s11、基于所述训练图像集中图像的分布情况,确定在预训练阶段对所述待训练的检测模型进行迭代训练的迭代次数;
73.步骤s12、基于所述迭代次数和所述训练图像集,对所述待训练的检测模型进行预训练,得到候选检测模型;
74.对应地,所述步骤s104、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件,包括:利用所述损失对所述候选检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
75.这里,所述预训练阶段即训练的warm up阶段,在刚开始训练时以很小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率慢慢变大,到了一定程度,以设置的初始学习率进行训练,而后学习率再慢慢变小。也就是说,启用warm up后,需要设置warm up的迭代次数,在当前迭代次数小于设定的迭代次数的情况下,学习率等于当前迭代次数除以设定的迭代次数再乘以基础学习率,由于当前迭代次数除以设定的迭代次数的值是一个小于1的数值,因此在整个warm up的过程中,学习率是一个递增的过程,当warm up结束后,学习率以基础学习率进行训练。
76.因此,本技术实施例中可以先根据训练图像集中图像的分布情况(例如确定所述训练图像集中的数据是否为长尾分布)确定出预训练阶段所述检测模型对应的迭代次数,
再进行预训练,从而减少训练过程中出现一系列异常问题的概率(例如出现nan数据的概率)。如果训练数据为长尾分布,可以将预设的迭代次数设置为一个较大的值,使得warm up的时间久一些。
77.例如,原来网络1000次迭代才能到学习率为0.01,本技术中设置为迭代6000次才能达到0.01的学习率。如此,warm up的时间就会增加,进而会减少训练过程中出现nan数据的概率。
78.在一些实施例中,所述步骤s11、基于所述训练图像集中图像的分布情况,确定在预训练阶段对所述待训练的检测模型进行迭代训练的迭代次数,包括:
79.步骤s11a、在所述训练图像集为长尾分布的图像集的情况下,将预训练阶段所述待训练的检测模型的迭代次数设置为第一预设值;
80.步骤s11b、在所述训练图像集为非长尾分布的图像集的情况下,将所述迭代次数设置为第二预设值;其中,所述第一预设值大于所述第二预设值。
81.基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,所述方法包括:
82.步骤s111、采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
83.步骤s112、确定所述训练图像集中不同类别的正负样本的累积梯度比;
84.步骤s113、基于所述不同类别的正负样本的累积梯度比,确定所述不同类别的正负样本的不平衡程度;
85.步骤s114、利用第一超参数对所述不同类别的正负样本的不平衡程度分别进行加权,得到所述不同类别中每一类别的加权结果;其中,所述第一超参数用于控制所述待训练的检测模型对不同类别中稀有类别的正负样本的不平衡程度进行学习的力度;
86.这里,累积梯度比和训练过程的平衡程度相关。训练的平衡的类别,累积梯度比接近1;训练的不平衡的类别,累积梯度比接近0。进而需要给训练的不平衡的类别加权,以控制对训练的不平衡的类别(例如稀有类别)正负样本不均衡问题学习的最大力度。
87.步骤s115、基于所述预测的检测结果和所述每一类别的加权结果,确定所述预测的检测结果在所述每一类别中的损失;
88.步骤s116、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
89.基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,所述方法包括:
90.步骤s121、采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
91.步骤s122、确定所述训练图像集中不同类别的正负样本的不平衡程度;
92.步骤s123、确定所述预测的检测结果的焦点损失;
93.这里,可以利用下述公式(1)中的焦点损失函数,来确定所述预测的检测结果的焦点损失:
94.fl(p
t
)=-α
t
(1-p
t
)
γ
log(p
t
)..................................(1);
95.其中,fl(p
t
)为焦点损失,α
t
用于平衡每一类别中的正样本与负样本之间的关系,
p
t
为将预测框中的目标确定为前景的概率,γ为焦点参数,用于通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。
96.步骤s124、采用所述不同类别的正负样本的不平衡程度对所述焦点损失进行调整,得到所述预测的检测结果在所述不同类别中的损失;
97.这里,由于所述不同类别中的损失是采用不同类别的正负样本的不平衡程度对焦点损失进行调整得到的,因此训练处的检测模型不但可以平衡前景样本与背景样本的损失贡献,也可以提高稀有类别相对于频繁类别的学习力度,从而既能解决前景背景不平衡问题,又能解决前景类别间样本不平衡问题。
98.步骤s125、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
99.在一些实施例中,基于上述焦点损失引入包括聚焦因子的损失函数,该聚焦因子用于根据所述训练图像集中不同类别的正负样本的不平衡程度,对不同类别样本的学习力度进行不同的调整。其中,对于稀有类别,该聚焦因子强调增加对正样本的学习力度,同时降低对负样本的学习关注。而对于频繁类别,该聚焦因子保持和传统焦点损失类似的表现。如此,能够将两大不平衡问题归结为不同类别的正负样本不平衡程度不一致的问题,进而通过提出的包括聚焦因子的损失函数同时解决前景类别间样本不平衡与前景背景不平衡两大问题。
100.所述新的损失函数可以通过下述公式(2)得到:
[0101][0102]
其中,所述γb为基础因子,用于平衡训练图像中前景区域与背景区域的损失贡献;所述s为第一超参数,用于控制所述待训练的检测模型对不同类别中稀有类别的正负样本的不平衡程度进行学习的力度;所述j为不同类别的类别索引,所述gj是训练过程中第j个类别的正负样本的累积梯度比;所述γb s(1-gj)为聚焦因子;所述efl(p
t
)为本技术实施例中提出的新的损失函数。
[0103]
基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,图2为本技术实施例检测模型的训练方法的实现流程示意图二,如图2所示,所述方法包括:
[0104]
步骤s201、采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
[0105]
步骤s202、确定所述训练图像集中不同类别的正负样本的不平衡程度;
[0106]
步骤s203、确定所述预测的检测结果的焦点损失;
[0107]
步骤s204、采用所述不同类别的正负样本的不平衡程度对所述焦点损失进行调整,得到所述预测的检测结果在所述不同类别中的损失;
[0108]
步骤s205、基于基础因子,以及所述不同类别中稀有类别和频繁类别的正负样本的不平衡程度,确定权重因子;其中,所述基础因子用于平衡训练图像中前景区域与背景区域的损失贡献;
[0109]
这里,所述权重因子主要用于提升稀有类别相对于频繁类别的损失贡献。
[0110]
步骤s206、基于权重因子,调整所述损失中稀有类别相对于频繁类别的损失贡献,得到已优化的损失;
[0111]
这里,所述不同类别至少包括稀有类别和频繁类别,进而可以基于权重因子调整上述步骤s204得到的损失中稀有类别相对于频繁类别的损失贡献。
[0112]
步骤s207、利用所述已优化的损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0113]
在一些实施例中,对上述公式(2)中新的损失函数进行优化,得到优化后的新的损失函数。所述优化后的新的损失函数可以通过下述公式(3)得到:
[0114][0115]
其中,所述c为类别总数;所述为权重因子。
[0116]
对上述公式(2)中新的损失函数进行优化的原因是:虽然聚焦因子能够按照类别的正负样本不平衡程度动态地调整对每个类别样本的学习力度,但是仅有该聚焦因子还不能使得检测模型达到最优性能。因为在多个类别共同分类的场景下,聚焦因子越大会导致其在训练过程中的损失贡献越小,稀有类别需要使用一个大的聚焦因子来学习其极端的正负样本不均衡问题,但是又会因为大的聚焦因子而损失梯度贡献。并且,当稀有类别困难样本与频繁类别困难样本共同学习时,即使每个类别都具有不同的聚焦因子,最终二者的损失贡献基本一致。因此,本技术实施例在包括聚焦因子的损失函数的基础上又提出了权重因子,使得稀有类别困难样本比频繁类别困难样本具备更多的损失贡献。
[0117]
基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,所述方法包:
[0118]
步骤s211、采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
[0119]
步骤s212、确定所述训练图像集中不同类别的正负样本的不平衡程度;
[0120]
步骤s213、基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;
[0121]
步骤s214、基于所述损失,确定所述待训练的检测模型在更新过程中输出的梯度值;
[0122]
步骤s215、在所述梯度值大于等于预设阈值的情况下,对所述梯度值进行梯度裁切,得到裁切后的梯度值;
[0123]
这里,因为训练的时候有梯度传播,梯度过大导致训练结果不稳定,因此需要对其进行处理,在训练到梯度很大的时候就直接将梯度切掉,例如训练出100梯度时就将其切成35。尤其是在数据为长尾分布的情况下梯度相对不稳定因此本技术实施例中在训练阶段加入梯度裁切策略。如此,能够使得单阶段检测器训练更加稳定,缓解了训练结果波动。
[0124]
步骤s216、基于所述裁切后的梯度值,对所述检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0125]
基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,图3为本技术实施例检测模型的训练方法的实现流程示意图三,如图3所示,所述方法包括:
[0126]
步骤s301、采用待训练的检测模型,在获取的训练图像的每一区域上生成至少两
个预测框;其中,所述至少两个预测框具有不同的尺度;
[0127]
举例来说,所述待训练的检测模型包括atss检测器,现有的atss检测器是在retinanet网络和fcos(fully convolutional one-stage object detection)算法的基础上进行改进得到的,所述atss检测器仅在特征图上每个像素点铺设1个锚框,并且在每一层选取9个锚框作为正样本。而本技术实施例中对现有的atss检测器进行了改进,改为在特征图上每个像素点铺设至少2个锚框,并且所述至少2个锚框具有不同的尺度。例如,在每个点铺设两个锚框,一个锚框的尺度为6,另一个锚框的尺度为8,进而每一层将前18个样本作为正样本,如此,可以提高atss检测器的性能。
[0128]
步骤s302、确定生成的所述预测框与所述训练图像的标记框之间的并交比;
[0129]
这里,所述训练图像的标记框可以为训练图像的gt框,即ground truth框。
[0130]
步骤s303、基于所述并交比,对所述预测框中的目标为前景的概率进行度量,得到所述训练图像预测的检测结果;
[0131]
举例来说,所述待训练的检测模型包括atss检测器,现有的atss检测器包括三个分支,即分类分支、定位分支和中心分支,所述中心分支(center-ness)用于确定每一预测框中的目标为前景还是背景的概率,对前景和背景做进一步的区分,现有的实现方式为对位置进行打分。而本技术实施例中对现有的atss检测器进行了改进,将所述中心分支的实现方式变更为使用并交比iou(intersection over union,并交比)的方式。
[0132]
步骤s304、确定所述训练图像集中不同类别的正负样本的不平衡程度;
[0133]
步骤s305、基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;
[0134]
步骤s306、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0135]
基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,所述方法应用于电子设备,所述方法包括:
[0136]
步骤s311、对获取的训练图像集中的每一训练图像进行预处理,得到预处理后的训练图像;
[0137]
这里,训练图像的预处理包括但不限于:图像像素的缩放、图像的翻转、图像数据形式的转换。
[0138]
步骤s312、对所述预处理后的训练图像进行特征提取,得到特征图;
[0139]
这里,需要对训练图像进行特征提取,进而将提取的特征图输入检测模型进行处理。需要说明的是,本技术实施例中对进行特征提取所采用的方法并不做限制。例如,可以利用backbone结合fpn(feature pyramid networks,特征金字塔网络)的方法进行特征提取。
[0140]
步骤s313、采用待训练的检测模型,在所述特征图的每一像素上生成至少两个预测框;其中,所述至少两个预测框具有不同的尺度;所述特征图的像素与所述训练图像中的区域具有对应关系;
[0141]
这里,可以在特征图的每一像素上生成至少两个预测框,由于特征图的尺寸远小于原始训练图像的尺寸,因此特征图的一个像素对应原始训练图像中的一块区域。
[0142]
步骤s314、确定生成的所述预测框与所述训练图像的标记框之间的并交比;
[0143]
步骤s315、基于所述并交比,对所述预测框中的目标为前景的概率进行度量,得到所述训练图像预测的检测结果;
[0144]
步骤s316、确定所述训练图像集中不同类别的正负样本的不平衡程度;
[0145]
步骤s317、基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;
[0146]
步骤s318、利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0147]
基于前述的实施例,本技术实施例提供一种目标检测方法,所述方法应用于电子设备,该方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在所述电子设备的存储介质中。图4为本技术实施例目标检测方法的实现流程示意图,如图4所示,所述方法包括:
[0148]
步骤s401、获取待检测图像;
[0149]
这里,所述待检测图像可以为计算机视觉领域常用数据集中的测试图像,例如coco数据集、lvis数据集等。当然,所述待检测图像还可以为真实场景下的图像,例如自动驾驶领域拍摄的图像。
[0150]
步骤s402、对所述待检测图像进行预处理,得到预处理后的待检测图像;
[0151]
这里,所述待检测图像的预处理除了包括图像像素的缩放、图像的翻转、图像数据形式的转换,还可以包括图像角度的调整,图像的过滤等。
[0152]
步骤s403、对所述预处理后的待检测图像进行特征提取,得到待检测图像的特征图;
[0153]
步骤s404、将所述待检测图像的特征图输入至检测模型,得到预测结果;其中,所述检测模型为基于上述的训练方法训练得到的;
[0154]
本技术实施例中,可以利用由上述训练方法训练完成的检测模型对待检测图像进行处理,得到多个预测框,以及每一预测框的类别。例如,利用训练完的检测模型对待检测图像进行处理后,得到8个预测框,其中2个预测框为背景,6个预测框为前景,并且在这6个前景预测框中,4个前景预测框中包括同一个小猫,2个前景预测框中包括同一个小狗。
[0155]
步骤s405、对所述预测结果进行后处理,得到所述待检测图像的检测结果。
[0156]
举例来说,利用训练完的检测模型对待检测图像进行处理后,得到8个预测框,其中2个预测框为背景,6个预测框为前景,并且在这6个前景预测框中,4个前景预测框中包括同一个小猫,2个前景预测框中包括同一个小狗。则对检测结果进行处理,过滤背景框、过滤重叠的前景框,只保留包含小猫的一个前景预测框和包含小狗的一个前景预测框,将这2个前景预测框作为待检测图像最终的检测结果。
[0157]
在一些实施例中,所述预测结果包括多个预测框,以及每一预测框对应的目标类别;所述步骤s405、对所述预测结果进行后处理,得到所述待检测图像的检测结果,包括:将所述多个预测框中存在重叠的预测框进行过滤,得到过滤后的预测框和每一过滤后的预测框对应的目标类别。
[0158]
例如,可以利用nms(non-maximum suppression,非极大值抑制)方法,对所述多个预测框中存在重叠的预测框进行过滤,得到所述待检测图像的检测结果。
[0159]
基于前述的实施例,本技术实施例再提供一种目标检测方法,所述目标检测方法
应用于单阶段长尾分布场景。
[0160]
所述目标检测方法主要包括以下几个内容:
[0161]
(1)针对高性能基线问题,本技术实施例基于目前现存的诸多单阶段检测器,提出了增强基线,所述增强基线可以达到与二阶段检测器相当的性能,方便后续研究。
[0162]
(2)针对前景类别间样本不平衡和前景背景样本不平衡这两大不平衡问题,本技术实施例提出一种新的损失函数,即efl(equalized focal loss,均衡焦点损失),所述efl包含两个关键的调节因子,即聚焦因子(focusing factor)和权重因子(weighting factor),可以同时解决上述两大不平衡问题。
[0163]
(3)结合所述增强基线与所述efl,本技术实施例提供一个完整的单阶段长尾目标检测方案,此方案在长尾场景下性能优越。
[0164]
图5a为本技术实施例单阶段长尾目标检测方案的结构框图,如图5a所示,所述单阶段长尾目标检测方案主要包括四个部分,下面对这四个部分进行详细的说明:
[0165]
1)第一部分51:这一部分主要包括三个模块,即图像读取模块511、前处理模块512和特征提取模块513。其中,所述图像读取模块511主要用于读取原始的训练图像或待检测图像;所述前处理模块512主要用于对原始的训练图像或待检测图像进行前处理,所述前处理包括对图像像素的缩放操作、对图像的翻转操作、对图像的数据形式的转换操作等;所述特征提取模块513主要用于提取经过前处理后的图像的特征,例如,所述特征提取模块可以包括backbone和fpn。
[0166]
这里,所述图像读取模块511、前处理模块512和特征提取模块513可以为多进程并行。并且,所述图像读取模块511读取的图像为长尾分布的图像数据。
[0167]
2)第二部分52:第二部分的输入是第一部分输出的特征图,第二部分主要包括atss单阶段检测器521,以及针对所述atss单阶段检测器的稳定性设置522和增强性设置523。其中,所述atss单阶段检测器521、所述稳定性设置522和所述增强性设置523共同组成了增强基线。
[0168]
在数据为长尾分布的场景下,大部分单阶段检测器的性能相较二阶段检测器表现不佳,因此本技术实施例对这一问题进行了改进,相应的改进方法包括:
[0169]
本技术实施例在现有的atss单阶段检测器521的基础上,加入了用于稳定训练的稳定性设置522,所述稳定性设置522包括加入最大正则化值为第一数值的梯度裁切策略,例如所述第一数值为35,则训练出100的梯度时就将其裁切成35。所述稳定性设置522还包括将预训练阶段(warm up阶段)从第一次数的迭代扩展到第二次数的迭代,其中,所述第一次数小于第二次数,例如,将预训练阶段的迭代次数从1000次扩展到6000次迭代。所述稳定性设置522使得所述atss单阶段检测器521的训练过程更加稳定,同时也缓解了训练结果的波动、降低了训练过程中出现nan数值等一系列的问题。
[0170]
本技术实施例在现有的atss单阶段检测器521的基础上,还加入了增强性设置523,所述增强性设置523包括将所述atss单阶段检测器521的中心分支(centerness分支)替换为iou分支,并将所述atss单阶段检测器521的预测框(锚框)的尺度从8调整为6和8,进而前18个样本作为正样本,以这样的采样策略进行采样训练。
[0171]
如此,atss单阶段检测器521结合稳定性设置522与增强性设置523,构成了增强基线,本技术实施例提出的增强基线达到了与二阶段检测器相当的性能。
[0172]
3)第三部分53:本技术实施例提供了一种新的损失函数,即均衡焦点损失efl。
[0173]
图5b为本技术实施例单阶段检测器与二阶段检测器的样本分布对比图,如图5b所示,二阶段检测器一般不存在前景背景不平衡问题,因为其存在rpn(region proposal network,区域提议网络),在最终分类之前会过滤掉大部分的背景样本,因此二阶段分类器作用在前景背景相对平衡的分布上。而由于单阶段检测器直接在特征图上进行密集预测,因此存在着较为极端的前景背景不平衡问题,即负样本的数量会远远的多于正样本的数量。
[0174]
结合数据为长尾分布的情况下引入的前景类别间样本不平衡问题,两种不平衡问题共同阻碍了单阶段长尾检测器的性能。
[0175]
由于上述两种不平衡问题在单阶段检测器中相互影响,具有耦合性,因此需要一种算法能够同时一次性解决这两大问题。现存的方案往往只具备解决前景背景不平衡问题的能力或者只具备解决前景类别间样本不平衡问题的能力。
[0176]
图5c为本技术实施例具有不同数据分布的样本的数量比例示意图,如图5c所示,横轴是类别索引,纵轴是比率,曲线501是长尾分布的数据集,曲线502是均匀分布的数据集。从横轴的角度可以看出,曲线501是下降的,即排在前面的类别比后面的多,表明长尾分布的数据集中样本类别的不平衡。从纵轴可以看出,前景背景不平衡,负样本过多正样本过少。
[0177]
并且,由图5c可以分析出数据为长尾分布下每个类别的正负样本的分布规律,通过分析发现,虽然长尾分布中每个类别都存在着正负样本分布不平衡,但是稀有类别显然面临着比频繁类别更加严重的正负样本不平衡问题。因此,本技术实施例中将长尾分布下单阶段检测模型的两种不平衡问题最终都归结为不同类别的正负样本不平衡程度不一致的问题。
[0178]
焦点损失(focal loss)平等地处理所有类别的正负样本不均衡问题,并不能处理上述不同类别的正负样本不平衡程度不一致的问题。
[0179]
基于这一分析,本技术实施例在上述的焦点损失的基础上提出了均衡焦点损失efl,所述均衡焦点损失可以由下述公式(4)得到:
[0180][0181]
其中,γj为本技术实施例提出的第一个重要因子,即聚焦因子(focusing factor),所述聚焦因子能够按照类别的正负样本不平衡程度动态地调整对每个类别样本的学习力度。efl(p
t
)表示在第j个类别中的损失函数。
[0182]
对于稀有类别,上述均衡焦点损失强调增加对正样本的学习力度,同时降低对负样本的学习关注。而对于频繁类别,上述均衡焦点损失能够保持和上述的焦点损失类似的表现。
[0183]
并且,本技术实施例中将所述聚焦因子拆分为两个部分,一部分是类别无关的基础因子γb,另一部分是类别相关的因子。所述γb用于控制均衡焦点损失对于处理正负样本不平衡问题的基本行为;所述按照eqlv2中提出的梯度加权机制对稀有类别赋予一个大的值,使其扩大对稀有类别正负样本不平衡的关注度,同时对频繁类别赋予一个小的值,保持损失函数的基本行为。所述聚焦因子可以由下述公式(5)得到:
[0184][0185]
其中,s是超参数,控制均衡焦点损失对稀有类别正负样本不均衡问题学习的最大力度。gj是训练过程中第j个类别的正负样本累积梯度比。
[0186]
图5d为本技术实施例均衡焦点损失函数的示意图一,如图5d所示,横轴为x
t
,所述x
t
为进入分类器之前的特征,其中p
t
=sigmoid(x
t
),纵轴为损失。图5d中不同的曲线代表不同的样本类别。从图5d中可以看出,仅有聚焦因子还不能使得单阶段模型达到最优性能,原因主要有两个,一个是在多个类别共同分类的场景下,越大会导致其在训练过程中的损失贡献越小,稀有类别需要使用一个大的来学习其极端的正负样本不均衡问题,但是又会因为大的而损失梯度贡献。另一个原因是当稀有类别困难样本与频繁类别困难样本共同学习时,即使每个类别都具有不同的最终二者的损失贡献基本一致。而事实上,由于稀有困难样本数量稀少,在分类时更希望其比频繁类别困难样本具备更多的损失贡献。
[0187]
基于上述两个原因,本技术实施例为所述均衡焦点损失加入了权重因子(weighting factor),所述权重因子能够为稀有类别提升损失贡献,并维持原有的频繁类别的损失贡献。加入权重因子后的均衡焦点损失(最终的efl)可以由下述公式(6)得到:
[0188][0189]
其中,c为类别总数,为所述权重因子。
[0190]
图5e为本技术实施例均衡焦点损失函数的示意图二,如图5e所示,横轴为x
t
,纵轴为损失。图5d和图5e中均给稀有类别对应的赋予了一个较大的值,来注重其前景背景不平衡的问题,给常见类别对应的赋予了较小的值。图5d中当横轴x
t
的取值逐渐为负时所有类的损失函数都会收敛到同一个值是不符合预期的,因为x
t
越小说明样本越难学。图5e中当横纵x
t
逐渐为负时每个类别样本的收敛程度是有区别的,越稀有的类别损失越大,越常见的类别损失越小,并且每个类对应的损失之间的相对关系也是差异的。因此,对比图5d和图5e可以看出,当均衡焦点损失中加入了权重因子后,稀有类别的关注度比常见类别的关注度更高的同时损失贡献也更多。
[0191]
由此可见,上述公式(3)中的均衡焦点损失同时解决了单阶段长尾目标检测场景中的前景类别间样本不平衡问题,也解决了前景背景不平衡问题。进而,结合增强基线,本技术实施例提出的单阶段长尾目标检测方案超越了现有的所有长尾相关算法。另外,在前景类别样本平衡的场景分布中,本技术实施例中的均衡焦点损失等价于焦点损失,这一特性使得本技术实施例提出的均衡焦点损失可以很好地与任意采样器(例如随机采样器、类别平衡采样器、类别权重采样器等)结合,在任意的数据分布上良好地工作。
[0192]
4)第四部分54:如果第一部分输入的是待检测图像,则第二部分输出的是所述待检测图像对应的预测框,所述预测框中包括前景框也包括背景框,相应地,所述第二部分的输出还包括每一前景框中前景的类别。但是,输出的预测框中存在很多冗余的预测框(例如重叠度较高的预测框),因此需要第四部分对第二部分的输出做进一步的处理。进而,第四部分主要包括后处理模块541和输出模块542,所述后处理模块541用于对第二部分的输出
进行后处理,例如对第二部分的输出进行nms操作;所述输出模型542用于输出对所述待检测图像的检测结果。
[0193]
这里,上述第一部分51、第二部分52和第三部分53,共同组成本技术实施例单阶段长尾目标检测方案的训练部分;上述第一部分51、第二部分52和第四部分54,共同组成本技术实施例单阶段长尾目标检测方案的测试部分。
[0194]
本技术实施例提出的目标检测方法,是首个长尾单阶段目标检测方案,该方案对单阶段算法atss进行改进,加入稳定性设置与增强性设置,提出增强基线。并且,本技术实施例对前景类别间样本不平衡、前景背景不平衡两大问题综合考虑,提出均衡焦点损失同时解决这两大问题。
[0195]
如此,本技术实施例中的目标检测方法可以实现如下技术效果:1)更加接近真实场景,同时具备解决长尾问题的能力与单阶段检测器推理快速、易于部署的优点,在简单性与高效性方面都具有优势。2)为单阶段长尾目标检测提出一个增强基线,方便后续研究。3)同时解决了单阶段长尾目标检测中的前景类别间样本不平衡与前景背景不平衡两大问题;将该两大不平衡问题归结为长尾场景下不同类别的正负样本不平衡程度不一致的问题,进而提出聚焦因子和权重因子两个调节因子同时解决两大不平衡问题。4)基于两个调节因子,提出了均衡焦点损失,该均衡焦点损失结合增强基线,性能表现优越,超越目前现存的长尾目标检测算法。5)均衡焦点损失与模型耦合程度低,可以应用于绝大部分单阶段模型。
[0196]
因此,本技术实施例中目标检测方法的用户使用场景包括:1)长尾目标检测任务:许多现实应用场景中都存在着长尾问题,如自动驾驶、智慧城市、工业检测等,都存在着常见类别样本量大、稀有类别样本量少的情况,本技术实施例中的目标检测方法可以很好地与这些任务结合,在长尾场景下表现出较好的性能。2)单阶段检测器的训练与部署过程:由于本技术实施例中的目标检测方法是完全基于单阶段模型的长尾解决方案,更加接近真实场景,结合单阶段检测器易于部署的优点,本技术实施例中的目标检测方法可以很好地部署到下游设备当中,对现实世界中的一些场景检测更加具有鲁棒性。
[0197]
基于前述的实施例,本技术实施例再提供一种检测模型的训练方法,其中,所述训练方法使用了新的损失函数,下面进行详细的说明:
[0198]
1)焦点损失;
[0199]
在单阶段检测器中,焦点损失被广泛使用来解决前景背景不平衡问题。焦点损失重新分配了简单样本和困难样本的损失贡献,从而削弱了大多数背景样本。传统焦点损失可以通过下述公式(7)得到:
[0200]
fl(p
t
)=-α
t
(1-p
t
)
γ
log(p
t
)
……………………………
(7);
[0201]
其中,p
t
的取值范围为0至1,表示候选对象的预测置信度分数;α
t
被用于平衡正样本和负样本。调制因子(1-p
t
)
γ
是焦点损失的关键组成部分,它降低了简单样本的权重,提高了对困难样本的学习关注度。由于负样本相对于正样本是易于分类的,因此可以将正样本和负样本之间的不平衡问题,作为简单样本和困难样本之间的不平衡问题。如果γ取较大的值则将很大地减少负样本的损失贡献,从而改善正样本对训练结果的影响。也就是说,正样本和负样本之间的不平衡程度越高,在正样本和负样本之间γ的预期值更大。
[0202]
由于焦点损失平等对待所有类别的学习过程,所有类别具有相同的调制因子,因此焦点损失无法处理长尾不平衡问题。
[0203]
2)均衡焦点损失;
[0204]
在长尾数据集中除了前景背景不平衡,单阶段检测器还存在前景类别间的不平衡问题。通过研究发现,在长尾数据下稀有类别遭受更严重的正负样本不平衡问题。即,大多数单阶段检测器在稀有类别上的性能比在频繁类别上更差,进而表明相同的调制因子并不适合所有正负样本不同程度的不平衡问题。
[0205]
基于以上分析,本技术实施例提出采用类别相关的均衡焦点损失(即efl)来解决正负样本不同程度的不平衡问题。所述均衡焦点损失与类别相关,第j类的均衡焦点损失可以通过下述公式(8)得到:
[0206][0207]
其中,α
t
和p
t
与传统焦点损失里的相同;参数γj是第j类的聚焦因子,所述聚焦因子除了有与传统焦点损失中的参数γ类似的作用外,还可以用于缓解不同类别的正负样本的不平衡问题。所述聚焦因子γj由两个分量构成,一个是与类别无关的参数γb,一个与类别相关的特定参数所述聚焦因子γj可以通过下述公式(9)得到:
[0208][0209]
其中,γb表示平衡数据中的聚焦因子控制分类器基本行为的参数;的取值范围为大于等于0,是与类别j的平衡程度相关的参数,它按照eqlv2中提出的梯度加权机制对稀有类别赋予一个大的值,使其扩大对稀有类别正负样本不平衡的关注度,同时对频繁类别赋予一个小的值,保持损失函数的基本行为。gj表明第j类正样本和负样本的累积梯度比,gj取值越大表明第j类训练的越平衡,gj取值越小表明第j类训练的越不平衡。为了满足对γj的要求,本技术实施例中可以规定gj在0至1的范围内取值,并采用1-gj反转它的分布。超参数s是一个比例因子,用于决定efl中γj的上限。相对于焦点损失而言,本技术实施例提出的efl能够分别处理每一类别的正负样本不平衡问题,从而提升了检测器的性能。
[0210]
仅仅有聚焦因子γj还不能使检测模型达到最优性能,因为在多个类别共同分类的场景下,γj越大会导致其在训练过程中的损失贡献越小,稀有类别需要使用一个大的γj来学习其极端的正负样本不均衡问题,但是又会因为大的γj而损失梯度贡献。并且,当稀有类别困难样本与频繁类别困难样本共同学习时,即使每个类别都具有不同的γj,最终二者的损失贡献基本一致。事实上,由于稀有困难样本数量稀少,稀有类别困难样本应该比频繁类别困难样本具备更多的损失贡献。
[0211]
因此,本技术实施例提出权重因子,通过重新平衡不同类别的损失贡献以减轻上述情况。与聚焦因子类似本技术实施例分配给稀有类别一个大的权重因子值,以提高其损失贡献,同时对于频繁类别保持权重因子值接近于1。本技术实施例用来表示第j类的权重因子,所述权重因子于聚焦因子相关。最终的均衡焦点损失可以通过下述公式(10)得到:
[0212][0213]
也就是说,加入权重因子后均衡焦点损失显著增加稀有类别的损失贡献,同时也
提高了对稀有困难样本相对于频繁困难样本的学习关注度。
[0214]
总的来说,聚焦因子和权重因子构成了均衡焦点损失efl中与类别相关的调节因子,它使检测模型能够动态调整损失贡献。所述efl不但可以提高稀有类别相对于频繁类别的学习力度,还可以平衡前景样本与背景样本的损失贡献,以及提高稀有类别相对于频繁类别的损失贡献。进而,所述efl能够同时解决前景类别间不平衡问题和前景背景不平衡问题。并且,如果数据为均衡分布,则efl中每一类别的也就是说,在数据为均衡分布的情况下efl相当于焦点损失,这一属性使得efl可以应用于不同分布的数据和不同的数据采样器。
[0215]
基于前述的实施例,本技术实施例提供一种检测模型的训练装置,该装置包括所包括的各单元、以及各单元所包括的各子单元和各模块、以及各模块所包括的各子模块和各部件,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为cpu(central processing unit,中央处理器)、mpu(microprocessor unit,微处理器)、dsp(digital signal processing,数字信号处理器)或fpga(field programmable gate array,现场可编程门阵列)等。
[0216]
图6为本技术实施例检测模型的训练装置的组成结构示意图,如图6所示,所述训练装置600包括:
[0217]
第一预测单元601,用于采用待训练的检测模型,对获取的训练图像集进行目标检测,得到预测的检测结果;
[0218]
程度确定单元602,用于确定所述训练图像集中不同类别的正负样本的不平衡程度;
[0219]
损失确定单元603,用于基于所述预测的检测结果和所述不同类别的正负样本的不平衡程度,确定所述预测的检测结果在所述不同类别中的损失;
[0220]
参数更新单元604,用于利用所述损失对所述待训练的检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0221]
在一些实施例中,所述程度确定单元602,包括:
[0222]
累积梯度比确定模块,用于确定所述训练图像集中不同类别的正负样本的累积梯度比;
[0223]
程度确定模块,用于基于所述不同类别的正负样本的累积梯度比,确定所述不同类别的正负样本的不平衡程度。
[0224]
在一些实施例中,所述损失确定单元603,包括:
[0225]
加权模块,用于利用第一超参数对所述不同类别的正负样本的不平衡程度分别进行加权,得到所述不同类别中每一类别的加权结果;其中,所述第一超参数用于控制所述待训练的检测模型对不同类别中稀有类别的正负样本的不平衡程度进行学习的力度;
[0226]
第一损失确定模块,用于基于所述预测的检测结果和所述每一类别的加权结果,确定所述预测的检测结果在所述每一类别中的损失。
[0227]
在一些实施例中,所述损失确定单元603,包括:
[0228]
焦点损失确定模块,用于确定所述预测的检测结果的焦点损失;
[0229]
第二损失确定模块,用于采用所述不同类别的正负样本的不平衡程度对所述焦点损失进行调整,得到所述预测的检测结果在所述不同类别中的损失。
[0230]
在一些实施例中,所述不同类别至少包括:稀有类别和频繁类别,所述装置还包括:
[0231]
权重确定单元,用于基于基础因子,以及所述稀有类别和所述频繁类别的正负样本的不平衡程度,确定权重因子;其中,所述基础因子用于平衡训练图像中前景区域与背景区域的损失贡献;
[0232]
优化单元,用于基于权重因子,调整所述损失中稀有类别相对于频繁类别的损失贡献,得到已优化的损失;
[0233]
所述参数更新单元604,包括:
[0234]
第一参数更新子单元,用于利用所述已优化的损失对所述待训练的检测模型中的网络参数进行更新。
[0235]
在一些实施例中,所述参数更新单元604,包括:
[0236]
第一梯度确定模块,用于基于所述损失,确定所述待训练的检测模型在更新过程中输出的梯度值;
[0237]
第二梯度确定模块,用于在所述梯度值大于等于预设阈值的情况下,对所述梯度值进行梯度裁切,得到裁切后的梯度值;
[0238]
参数更新模块,用于基于所述裁切后的梯度值,对所述检测模型中的网络参数进行更新。
[0239]
在一些实施例中,所述装置还包括:
[0240]
迭代次数确定单元,用于基于所述训练图像集中图像的分布情况,确定在预训练阶段对所述待训练的检测模型进行迭代训练的迭代次数;
[0241]
预训练单元,用于基于所述迭代次数和所述训练图像集,对所述待训练的检测模型进行预训练,得到候选检测模型;
[0242]
所述参数更新单元604,包括:
[0243]
第二参数更新子单元,用于利用所述损失对所述候选检测模型中的网络参数进行更新,直至更新后的检测模型满足收敛条件。
[0244]
在一些实施例中,所述迭代次数确定单元,包括:
[0245]
第一迭代次数确定模块,用于在所述训练图像集为长尾分布的图像集的情况下,将预训练阶段所述待训练的检测模型的迭代次数设置为第一预设值;
[0246]
第二迭代次数确定模块,用于在所述训练图像集为非长尾分布的图像集的情况下,将所述迭代次数设置为第二预设值;其中,所述第一预设值大于所述第二预设值。
[0247]
在一些实施例中,所述第一预测单元601,包括:
[0248]
预测框生成模块,用于采用待训练的检测模型,在训练图像的每一区域上生成至少两个预测框;其中,所述至少两个预测框具有不同的尺度;
[0249]
并交比确定模块,用于确定生成的所述预测框与所述训练图像的标记框之间的并交比;
[0250]
预测模块,用于基于所述并交比,对所述预测框中的目标为前景的概率进行度量,得到所述训练图像预测的检测结果。
[0251]
在一些实施例中,所述装置还包括:
[0252]
预处理单元,用于对训练图像集中的每一训练图像进行预处理,得到预处理后的
训练图像;
[0253]
第一特征提取单元,用于对所述预处理后的训练图像进行特征提取,得到特征图;
[0254]
所述预测框生成模块,包括:
[0255]
预测框生成子模块,用于采用待训练的检测模型,在所述特征图的每一像素上生成至少两个预测框;其中,所述特征图的像素与所述训练图像中的区域具有对应关系。
[0256]
基于前述的实施例,本技术实施例提供一种目标检测装置,该装置包括所包括的各单元、以及各单元所包括的各子单元和各模块、以及各模块所包括的各子模块和各部件,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为cpu、mpu、dsp或fpga等。
[0257]
图7为本技术实施例目标检测装置的组成结构示意图,如图7所示,所述目标检测装置700包括:
[0258]
获取单元701,用于获取待检测图像;
[0259]
预处理单元702,用于对所述待检测图像进行预处理,得到预处理后的待检测图像;
[0260]
特征提取单元703,用于对所述预处理后的待检测图像进行特征提取,得到待检测图像的特征图;
[0261]
第二预测单元704,用于将所述待检测图像的特征图输入至检测模型,得到预测结果;其中,所述检测模型为基于权利要求1至10任一项所述的方法训练得到的;
[0262]
后处理单元705,用于对所述预测结果进行后处理,得到所述待检测图像的检测结果。
[0263]
在一些实施例中,所述预测结果包括多个预测框,以及每一预测框对应的目标类别;所述后处理单元705,包括:
[0264]
后处理子单元,用于将所述多个预测框中存在重叠的预测框进行过滤,得到过滤后的预测框和每一过滤后的预测框对应的目标类别。
[0265]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0266]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的训练方法或检测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、rom(read only memory,只读存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0267]
对应地,本技术实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的训练方法中的步骤或检测方法中的步骤。
[0268]
对应地,本技术实施例提供一种可读存储介质,其上存储有计算机程序,该计算机
程序被处理器执行时实现上述训练方法中的步骤或上述检测方法中的步骤。
[0269]
这里需要指出的是:以上存储介质和平台实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和平台实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0270]
需要说明的是,图8为本技术实施例电子设备的一种硬件实体示意图,如图8所示,该电子设备800的硬件实体包括:处理器801、通信接口802和存储器803,其中
[0271]
处理器801通常控制电子设备800的总体操作。
[0272]
通信接口802可以使电子设备800通过网络与其他服务器或电子设备或平台通信。
[0273]
存储器803配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及电子设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过flash(闪存)或ram(random access memory,随机访问存储器)实现;
[0274]
其中,电子设备800中的各个硬件实体通过总线804耦合在一起。可理解,总线804用于实现这些硬件实体之间的连接通信。
[0275]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0276]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0277]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0278]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0279]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献