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

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

2022-10-26 02:04:44 来源:中国专利 TAG:


1.本说明书实施例涉及计算机技术领域,特别涉及目标对象检测方法。本说明书一个或者多个实施例同时涉及对象检测模型训练方法,关键点检测方法,关键点检测模型训练方法,目标对象检测装置,关键点检测装置,对象检测模型训练装置,关键点检测模型训练装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.在基于图片的目标对象检测系统中,通常会遇到目标对象有较大旋转角度的情况,例如人脸、行人、汽车等目标对象的检测,如果用户输入的图片是上下翻转的,那么此时只检测0~90度的目标对象的检测系统就很难检测出图片中所有的目标对象。以目标对象为人脸为例,在人脸检测系统中,有时候检测平面内任意角度旋转的人脸是一个必须的功能,特别是对于云服务api,它的用户多种多样,用户上传的图片中可能有各种方向的人脸,同时上传的图片可能不带有图片的方向信息。目前没有实现既可以实现人脸检测系统在保持较高的检测速度的同时,又对各个方向的人脸检测都有较强的稳健性的方法。


技术实现要素:

3.有鉴于此,本说明书施例提供了目标对象检测方法。本说明书一个或者多个实施例同时涉及对象检测模型训练方法,关键点检测方法,关键点检测模型训练方法,目标对象检测装置,关键点检测装置,对象检测模型训练装置,关键点检测模型训练装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种目标对象检测方法,包括:
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.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
41.根据本说明书实施例的第八方面,提供了一种关键点检测方法,包括:
42.接收所述用户发送的调用请求,其中,所述调用请求中携带有包含目标对象的图片;
43.将所述图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
44.基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
45.将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点,
46.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
47.根据本说明书实施例的第九方面,提供了一种对象检测模型训练方法,包括:
48.基于用户的调用请求为所述用户展示图片输入界面;
49.获取所述用户基于所述图片输入界面输入的样本图片,并为所述样本图片中初始对象标注检测框;
50.将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
51.将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
52.基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型并返回给所述用户。
53.根据本说明书实施例的第十方面,提供了一种对象检测模型训练方法,包括:
54.接收所述用户发送的调用请求,其中,所述调用请求中携带样本图片;
55.为所述样本图片中初始对象标注检测框;
56.将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
57.将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
58.基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型并返回给所述用户。
59.根据本说明书实施例的第十一方面,提供了一种关键点检测模型训练方法,包括:
60.基于用户的调用请求为所述用户展示图片输入界面;
61.获取所述用户基于所述图片输入界面输入的样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
62.基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
63.将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
64.基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
65.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得并返回给所述用户。
66.根据本说明书实施例的第十二方面,提供了一种关键点检测模型训练方法,包括:
67.接收所述用户发送的调用请求,其中,所述调用请求中携带样本图片;
68.将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
69.基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
70.将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
71.基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
72.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得并返回给所述用户。
73.根据本说明书实施例的第十三方面,提供了一种目标对象检测装置,包括:
74.检测框获得模块,被配置为将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
75.检测框过滤模块,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
76.对象获得模块,被配置为将所述目标检测框中的目标对象旋转至预设角度,获得旋转后所述目标检测框中的目标对象。
77.根据本说明书实施例的第十四方面,提供了一种关键点检测装置,包括:
78.检测框获得模块,被配置为将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
79.检测框过滤模块,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
80.关键点获取模块,被配置为将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点,
81.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
82.根据本说明书实施例的第十五方面,提供了一种对象检测模型训练装置,包括:
83.样本获取模块,被配置为获取样本图片,并为所述样本图片中初始对象标注检测框;
84.特征图获得模块,被配置为将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
85.旋转模块,被配置为将所述初始特征图按照预设旋转规则进行旋转,获得旋转特
征图以及所述旋转特征图中旋转对象对应的旋转检测框;
86.模型训练模块,被配置为基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。
87.根据本说明书实施例的第十六方面,提供了一种关键点检测模型训练装置,包括:
88.检测框获得模块,被配置为获取样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
89.检测框过滤模块,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
90.对象旋转模块,被配置为将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
91.模型训练模块,被配置为基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
92.其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
93.根据本说明书实施例的第十七方面,提供了一种计算设备,包括:
94.存储器和处理器;
95.所述存储器用于存储计算机可执行指令,该计算机可执行指令被处理器执行时实现上述的对象检测模型训练方法,上述的关键点检测模型训练方法,上述的目标对象检测方法,上述的关键点检测方法的步骤。
96.根据本说明书实施例的第十八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述的对象检测模型训练方法,上述的关键点检测模型训练方法,上述的目标对象检测方法,上述的关键点检测方法的步骤。
97.本说明书一个实施例实现了一种对象检测模型训练方法,包括获取样本图片,并为所述样本图片中初始对象标注检测框;将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。具体的,所述对象检测模型训练方法通过将初始特征图按照预设旋转规则进行旋转,通过增加很小的计算量就可以获得旋转特征图,基于该初始特征图和旋转特征图实现对对象检测模型的训练,提高对象检测模型的训练效率,通过此种方式使得训练获得的对象检测模型在后续应用时可以快速且准确的检测出图片中目标对象的检测框,提升用户体验。
附图说明
98.图1a是本说明书一个实施例提供的一种对象检测模型训练方法的具体应用场景的示例图;
99.图1b是本说明书一个实施例提供的一种目标对象检测方法的具体应用场景的示例图;
100.图2是本说明书一个实施例提供的第一种对象检测模型训练方法的流程图;
101.图3是本说明书一个实施例提供的一种对象检测模型训练方法中样本图片的示意图;
102.图4是本说明书一个实施例提供的第一种目标对象检测方法的流程图;
103.图5是本说明书一个实施例提供的第一种关键点检测模型训练方法的处理过程流程图;
104.图6是本说明书一个实施例提供的第一种关键点检测方法的流程图;
105.图7是本说明书一个实施例提供的一种对象检测模型训练装置的结构示意图;
106.图8是本说明书一个实施例提供的一种关键点检测模型训练装置的结构示意图;
107.图9是本说明书一个实施例提供的一种目标对象检测装置的结构示意图;
108.图10是本说明书一个实施例提供的一种关键点检测装置的结构示意图;
109.图11是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
110.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
111.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
112.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
113.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
114.nms:非极大值抑制(non-maximum suppression,nms),顾名思义就是抑制不是极大值的元素。用于目标检测中,就是提取置信度高的目标检测框,而抑制置信度低的误检框。一般来说,用在当解析模型输出目标框时,目标框会非常多,具体数量由anchor数量决定;其中,有很多重复的框定位到同一个目标,nms用来去除这些重复的框,获得真正的目标框。例如一张图片上的目标:人、马、车上有很多框,通过nms,可以得到唯一的检测框。
115.api:application programming interface,应用程序接口。
116.具体实施时,实现平面内任意旋转角度目标对象检测的方法主要有两种,第一种是通过级连的方式,将图片中的目标逐级旋转成检测平面内的0-90度的目标对象。第二种是通过数据增强的方式,训练检测模型能够检测任意角度的目标。但是,采用第一种方式需要通过多级模型,每个目标对象逐级进行旋转,耗时和目标个数成正相关的关系,当图片中目标对象个数较多的时候,耗时较为严重。采用第二种方式需要检测模型本身的特征表达能力较强,需要的检测模型计算量较大,训练成本较高。
117.在本说明书中,提供了多种对象检测模型训练方法。本说明书一个或者多个实施例同时涉及多种关键点检测模型训练方法,多种目标对象检测方法,多种关键点检测方法,一种对象检测模型训练装置,一种关键点检测模型训练装置,一种目标对象检测装置,一种关键点检测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
118.参见图1a,图1a示出了本说明书一个实施例提供的一种对象检测模型训练方法的具体应用场景的示例图。
119.图1a的应用场景中包括终端102和服务器104,具体的,以一张图片为例,用户获取包含各种角度的人脸的图片a,并为图片a中的人脸1、人脸2、人脸3、人脸4、人脸5标注检测框,通过终端102将图片a发送给服务器104。
120.服务器104在接收到图片a后,将图片a输入特征提取模型m,其中,特征提取模型m只能够处理-90-90度的正向人脸。因此,将图片a输入特征提取模型m时,图片a中的人脸1和人脸2是正向人脸。
121.特征提取模型m输出图片a在-90-90度的正向人脸特征图f0以及特征图f0中的正向人脸1和人脸2的检测框y0,通过特征图旋转模块将特征图f0顺时针旋转90度,得到特征图f1以及特征图f1中的人脸2和人脸3的检测框y1,此时,特征图f1中的人脸2和人脸3就变为了正向人脸。同理继续将特征图f0顺时针旋转180度以及270度,获得特征图f2和特征图f3,以及特征图f2中的人脸4的检测框y2和特征图f3中的人脸5和人脸1的检测框y3。其中,特征图f2中的人脸4为了正向人脸,特征图f3中的人脸5和人脸1为了正向人脸。
122.基于f0,f1,f2,f3以及y0,y1,y2,y3计算回归损失函数loss_reg和分类损失函数loss_cls,训练获得对象检测模型。
123.实际应用中,用户获取的包含目标对象(如人脸)的图片为多张,将多张图片作为训练样本通过上述方式实现对对象检测模型的训练。
124.本说明书实施例中,可以仅对图片进行一次特征图的提取,再对特征图进行任意角度的旋转,即可以获得图片中每个方向的目标对象的特征图,从而基于该图片所有方向上的特征图训练获得对象检测模型,使得该对象检测模型在后续应用的时候,仅对输入图片进行一次的特征图提取,即可快速的获得该图片中每个方向上的目标对象的检测框,实现对目标对象的确定。相比先对图片进行旋转,再进行特征提取的检测模型,计算量要小很多,并且耗时也较短。
125.参见图1b,图1b示出了本说明书一个实施例提供的一种目标对象检测方法的具体应用场景的示例图。
126.图1b的应用场景中包括终端1022和服务器1044,具体的,以一张图片为例,用户获取包含各种角度的人脸的图片b,通过终端1022将图片b发送给服务器1044。
127.服务器1044在接收到图片b后,将图片b输入对象检测模型,其中,对象检测模型通过上述图1a中的训练方法获得。具体的,将图片b输入对象检测模型中后,对象检测模型中的特征提取模型m对图片b在-90-90度的角度进行特征提取,特征提取模型m输出图片b在-90-90度的正向人脸特征图f0,并将正向人脸特征图f0在终端1022进行展示,其中,正向人脸特征图f0中包括正向人脸1和正向人脸2。
128.对象检测模型中的特征图旋转模块将特征图f0顺时针旋转90度,得到特征图f1,
并将特征图f1在终端1022进行展示,其中,特征图f1中包括正向人脸2和正向人脸3。同理继续将特征图f0顺时针旋转180度以及270度,获得特征图f2和特征图f3,并将特征图f2和特征图f3在终端1022进行展示,其中,特征图f2中包括正向人脸4,特征图f3中包括正向人脸5和正向人脸1。
129.最后对象检测模型输出图片b中的人脸1、人脸2、人脸3、人脸4以及人脸5的人脸检测框。
130.参见图2,图2示出了根据本说明书一个实施例提供的第一种对象检测模型训练方法的流程图,具体包括以下步骤。
131.步骤202:获取样本图片,并为所述样本图片中初始对象标注检测框。
132.其中,样本图片可以理解为通过任意一种渠道获取的图片,例如截图、拍摄的图片、从网络下载的图片或者是手绘的图片等等。初始对象可以理解为任意一种类型的对象,例如人、汽车、宠物等等。
133.实际使用中,当初始对象为人时,通过该对象检测模型训练方法获得的对象检测模型可以输出图片中人的检测框。当初始对象为汽车时,通过该对象检测模型训练方法获得的对象检测模型可以输出图片中汽车的检测框。当初始对象为宠物时,通过该对象检测模型训练方法获得的对象检测模型可以输出图片中宠物的检测框。
134.为了便于理解,本说明书实施例中,均以样本图片为包含人脸的图片,初始对象为人脸为例,对对象检测模型训练方法进行详细介绍。
135.具体的,获取样本图片,并为所述样本图片中初始对象标注检测框,可以理解为获取多张样本图片,并为每张样本图片中的每个初始对象标注检测框。
136.参见图3,图3示出了根据本说明书一个实施例提供的一种对象检测模型训练方法中样本图片的示意图。
137.图3为一张包含人脸的样本图片,该样本图片中包括人脸1、人脸2、人脸3、人脸4、人脸5。
138.那么以初始对象为人脸1、人脸2、人脸3、人脸4、人脸5为例,获取样本图片,并为所述样本图片中初始对象标注检测框,可以理解为获取图3中的样本图片,并为该样本图片中的人脸1、人脸2、人脸3、人脸4、人脸5标注检测框。
139.步骤204:将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框。
140.其中,初始角度可以理解为样本图片的正向角度,仍以图3为例,该初始角度为-90-90度,即样本图片的原始水平角度。
141.具体的,首先将样本图片按照获取时的原始水平角度输入特征提取模型,获得该样本图片在原始水平角度的初始特征图以及该初始特征图中初始对象对应的初始检测框。其中,特征提取模型可以理解为对象检测模型中的一层;而初始特征图中初始对象可以理解为初始特征图中与初始角度对应的初始对象。
142.具体实施时,所述获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框,包括:
143.获得所述样本图片在所述初始角度的初始特征图,以及所述初始特征图中初始对象在所述初始角度的初始检测框。
144.实际应用中,获得所述样本图片在所述初始角度的初始特征图、所述初始特征图中按照所述初始角度确定的初始对象以及所述初始对象对应的初始检测框。
145.沿用上例,初始特征图中初始对象可以理解为按照初始角度呈正向的对象1和对象2,那么初始对象对应的初始检测框则可以理解为对象1的初始检测框和对象2的初始检测框。
146.本说明书实施例中,先获取每张样本图片的初始特征图,以及每张样本图片的初始特征图中初始对象对应的初始检测框,后续可以对该初始特征图进行旋转,以快速获得与该初始特征图对应的旋转特征图以及旋转特征图中初始对象对应的旋转检测框。
147.步骤206:将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框。
148.其中,预设旋转规则可以根据实际应用进行设置,本说明书对此不做任何限定。例如按照4个预设的旋转角度进行旋转等。
149.具体的,将初始特征图按照预设旋转规则进行旋转,获得将初始特征图旋转之后的旋转特征图,以及旋转特征图中旋转对象对应的旋转检测框。其中,旋转特征图中旋转对象可以理解为按照旋转角度呈正向的旋转对象。
150.沿用上例,若将初始特征图旋转90度,此时图3中旋转后获得的旋转特征图中的人脸2和人脸3为正向,那么旋转特征图中的旋转对象则可以理解为人脸2和人脸3。此时,旋转特征图中旋转对象对应的旋转检测框,为人脸2的旋转检测框和人脸3的旋转检测框。
151.具体实施时,所述将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框,包括:
152.将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框,其中,所述初始角度和所述旋转角度之和为360度。
153.其中,将所述初始特征图按照旋转角度进行旋转的执行主体可以是对象检测模型中的特征图旋转模块,实际应用中,特征图旋转模块也可以看做对象检测模型中的一层,主要将初始特征图按照预设旋转角度进行旋转,以获得样本图片在任意角度的旋转特征图。
154.具体的,将初始特征图按照旋转角度进行旋转,以使得将初始特征图中的每个目标对象都可以在其旋转特征图中为正向。例如一张图片中的人脸为多个,且每个人脸的角度均不相同的情况下,就需要将图片旋转多个旋转角度,以保证该图片的初始特征图中的每个目标对象均可以在其旋转特征图中为正向。
155.最终,将图片的初始特征图旋转360度,以保证旋转获得的每个旋转特征图中的旋转对象均为正向,保证后续训练获得的对象检测模型可以准确的检测图片中任意角度的目标对象的检测框。
156.实际应用中,可以将平面内的360度空间划分为有重叠的k份,以k=4为例,可以将平面分为-90-90、0-180、90-270、180-360度的四个子空间,对象检测模型的特征提取模型只需要在一个子空间里面有好的特征提取能力,那么对于其它三个子空间可以通过将特征提取模型在第一个子空间里面提取的特征图按照划分的其它三个子空间的角度进行旋转,即可以获得其它三个空间的特征图,然后基于这四个空间的特征图实现对象检测模型的训练。具体实现方式如下所述:
157.所述将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框,包括:
158.将所述初始特征图按照第一旋转角度进行旋转,获得所述初始特征图在所述第一旋转角度的第一旋转特征图以及所述第一旋转特征图中旋转对象对应的第一旋转检测框;
159.将所述初始特征图按照第二旋转角度进行旋转,获得所述初始特征图在所述第二旋转角度的第二旋转特征图以及所述第二旋转特征图中旋转对象对应的第二旋转检测框;
160.将所述初始特征图按照第三旋转角度进行旋转,获得所述初始特征图在所述第三旋转角度的第三旋转特征图以及所述第三旋转特征图中旋转对象对应的第三旋转检测框。
161.其中,初始角度、第一旋转角度、第二旋转角度以及第三旋转角度相加为360度。实际应用中,样本图片一般为规则的四方形,因此通过特征提取模型对获取的水平角度(-90-90)的样本图片进行初始特征图提取后,可以再将初始特征图旋转3个水平边的角度,即可以实现对样本图片中每个目标对象在正向的旋转特征图的提取。
162.以初始特征图为图3中图片的初始特征图,第一旋转角度为90度,第二旋转角度为180度,第三旋转角度为270度为例,对将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框进行详细说明。
163.将所述初始特征图按照90度进行旋转,获得所述初始特征图在90度的第一旋转特征图以及所述第一旋转特征图中旋转对象人脸2和人脸2对应的第一旋转检测框;
164.将所述初始特征图按照180度进行旋转,获得所述初始特征图在180度的第二旋转特征图以及所述第二旋转特征图中旋转对象人脸4对应的第二旋转检测框;
165.将所述初始特征图按照270度进行旋转,获得所述初始特征图在270度的第三旋转特征图以及所述第三旋转特征图中旋转对象人脸5和人脸1对应的第三旋转检测框。
166.本说明书实施例中,通过将初始特征图按照第一旋转角度、第二旋转角度和第三旋转角度进行旋转,就可以快速的获得样本图片中目标对象在平面内的360度空间中任意角度的旋转特征图;通过上述方式仅需要一个较小的特征提取模型在第一个子空间内得到好的检测效果,那么在其它三个子空间也能得到同样好的检测效果,能够较大程度的减小后续应用时对象检测模型的计算量,同时在平面内的360度空间中对任意角度的目标对象均可以有好的检测效果。
167.实际应用中,旋转角度可以根据实际需要进行具体设置;例如图片为其他形状时,为了保证图片中目标对象的检测完整性,也可以将其平面内的360度空间划分为4个、5个、或6个等等。
168.步骤208:基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。
169.具体实施时,所述基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型,包括:
170.将所述初始特征图以及所述旋转特征图作为训练样本,将与所述初始特征图对应的所述初始检测框以及与所述旋转特征图对应的所述旋转检测框作为所述训练样本对应的样本标签;
171.基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型。
172.本说明书实施例中,将初始特征图以及通过将初始特征图旋转获得的旋转特征图作为训练样本,将初始特征图中初始对象对应的初始检测框以及旋转特征图中旋转对象对应的旋转检测框作为样本标签,通过该训练样本以及该训练样本对应的样本标签可以快速且准确的训练获得对象检测模型,并且可以保证对象检测模型在后续应用中的目标对象检测速度以及精确度。
173.本说明书另一实施例中,所述基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型,包括:
174.将所述初始特征图、所述第一旋转特征图、所述第二旋转特征图以及所述第三旋转特征图作为训练样本;
175.将与所述初始特征图对应的所述初始检测框、与所述第一旋转特征图对应的所述第一旋转检测框、与所述第二旋转特征图对应的所述第二旋转检测框、与所述第三旋转特征图对应的所述第三旋转检测框作为所述训练样本对应的样本标签;
176.基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型。
177.本说明书实施例中,将初始特征图以及通过将初始特征图旋转获得的第一旋转特征图、第二旋转特征图、第三旋转特征图作为训练样本,将初始特征图中初始对象对应的初始检测框、第一旋转特征图中旋转对象对应的第一旋转检测框、第二旋转特征图中旋转对象对应的第二旋转检测框、第三旋转特征图中旋转对象对应的第三旋转检测框作为样本标签,通过该训练样本以及该训练样本对应的样本标签可以快速且准确的训练获得对象检测模型,并且可以保证对象检测模型在后续应用中的目标对象检测速度以及精确度。
178.此外,所述基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型,包括:
179.基于所述训练样本以及所述训练样本对应的样本标签计算回归损失函数和分类损失函数;
180.直至所述回归损失函数和所述分类损失函数达到预设训练条件,获得所述对象检测模型。
181.沿用上例,以特征图f=[f0、f1、f2、f3],检测框y=[y0、y1、y2、y3]实现对象检测模型的训练为例,其中,回归损失函数loss_reg具体通过如下公式1和公式2实现:
[0182][0183][0184]
具体的,回归损失函数loss_reg通过公式1和公式2获得,其中,v=(v
x
,vy,vw,vh)表示标注框y,表示预测框,x表示
[0185]
此外,分类损失函数loss_cls可以通过如下公式3和公式4实现:
[0186]
loss
cls
=-α
t
(1-p
t
)
γ
log(p
t
)
ꢀꢀ
公式3
[0187]
[0188]
其中,α
t
、γ为手工设置的超参数,t表示第t个类别的目标对象,p
t
表示预测的第t个类别的置信度。
[0189]
本说明书实施例中,所述对象检测模型训练方法通过将初始特征图按照预设旋转规则进行旋转,通过增加很小的计算量就可以获得任意角度的旋转特征图,基于该初始特征图和旋转特征图实现对对象检测模型的训练,提高对象检测模型的训练效率,通过此种方式使得训练获得的对象检测模型在后续应用时可以快速且准确的检测出图片中目标对象的检测框,提升用户体验。
[0190]
参见图4,图4示出了本说明书一个实施例提供的第一种目标对象检测方法的流程图,具体包括如下步骤。
[0191]
步骤402:将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框。
[0192]
其中,图片可以理解为通过任意一种渠道获取的图片,例如截图、拍摄的图片、从网络下载的图片或者是手绘的图片等等。目标对象可以理解为任意一种类型的对象,例如人、汽车、宠物等等。
[0193]
其中,对象检测模型可以理解为通过上述实施例的任意一种对象检测模型训练方法获得的对象检测模型。
[0194]
实际应用中,将携带有目标对象的图片输入对象检测模型,可以获得该图片中目标对象的初始检测框。
[0195]
沿用上例,将图3中的图片输入对象检测模型之后,可以获得图3中图片中人脸1、人脸2、人脸3、人脸4以及人脸5的初始检测框。
[0196]
可选地,所述对象检测模型通过如下步骤训练获得:
[0197]
获取样本图片,并为所述样本图片中初始对象标注检测框;
[0198]
将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
[0199]
将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
[0200]
基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。
[0201]
可选地,所述获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框,包括:
[0202]
获得所述样本图片在所述初始角度的初始特征图,以及所述初始特征图中初始对象在所述初始角度的初始检测框。
[0203]
可选地,所述将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框,包括:
[0204]
将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框,其中,所述初始角度和所述旋转角度之和为360度。
[0205]
可选地,所述将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框,包括:
[0206]
将所述初始特征图按照第一旋转角度进行旋转,获得所述初始特征图在所述第一旋转角度的第一旋转特征图以及所述第一旋转特征图中初始对象对应的第一旋转检测框;
[0207]
将所述初始特征图按照第二旋转角度进行旋转,获得所述初始特征图在所述第二旋转角度的第二旋转特征图以及所述第二旋转特征图中初始对象对应的第二旋转检测框;
[0208]
将所述初始特征图按照第三旋转角度进行旋转,获得所述初始特征图在所述第三旋转角度的第三旋转特征图以及所述第三旋转特征图中初始对象对应的第三旋转检测框。
[0209]
可选地,所述基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型,包括:
[0210]
将所述初始特征图以及所述旋转特征图作为训练样本,将与所述初始特征图对应的所述初始检测框以及与所述旋转特征图对应的所述旋转检测框作为所述训练样本对应的样本标签;
[0211]
基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型。
[0212]
可选地,所述基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型,包括:
[0213]
将所述初始特征图、所述第一旋转特征图、所述第二旋转特征图以及所述第三旋转特征图作为训练样本;
[0214]
将与所述初始特征图对应的所述初始检测框、与所述第一旋转特征图对应的所述第一旋转检测框、与所述第二旋转特征图对应的所述第二旋转检测框、与所述第三旋转特征图对应的所述第三旋转检测框作为所述训练样本对应的样本标签;
[0215]
基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型。
[0216]
可选地,所述基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型,包括:
[0217]
基于所述训练样本以及所述训练样本对应的样本标签计算回归损失函数和分类损失函数;
[0218]
直至所述回归损失函数和所述分类损失函数达到预设训练条件,获得所述对象检测模型。
[0219]
步骤404:基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框。
[0220]
其中,预设过滤方法包括但不限于非极大值抑制方法nms,可以根据实际应用进行设置,本说明书对此不做任何限定。
[0221]
具体的,对象检测模型会检测出图片在任意角度的目标对象的检测框,有可能会出现一个目标对象存在多个检测框的情况发生。此时就要通过nms的方法对多余的初始检测框进行过滤,为图片中的每个目标对象保留最终的目标检测框。
[0222]
步骤406:将所述目标检测框中的目标对象旋转至预设角度,获得旋转后所述目标检测框中的目标对象。
[0223]
具体的,在获得图片中每个目标对象的目标检测框之后,将目标检测框旋转至预设角度,例如全部旋转为水平角度,使得目标对象为正向;然后从每个目标检测框中获取目
标对象,即人脸1、人脸2、人脸3、人脸4以及人脸5。
[0224]
沿用上例,具体实施时,将图3中的图片输入训练好的对象检测模型,对象检测模型中的特征提取模型只提取-90-90度的图片的初始特征图,然后对象检测模型中的特征图旋转模块将初始特征图分别顺时针旋转90度、180度以及270度,获得旋转后三张特征图,最后从初始特征图和三张旋转后的特征图中获取该图片在所有角度的初始人脸检测框。最后使用nms过滤掉重叠的人脸检测框,获得该图片的所有角度的目标人脸检测框。
[0225]
具体实施时,本方案的实施例可以扩展到基于图片的任意目标对象检测中,例如行人检测、汽车检测或者宠物检测等等,具体检测流程和人脸检测流程相同,本说明书对此不做过多介绍。
[0226]
本说明书实施例提供的目标对象检测方法,提供了通过旋转一个角度的初始特征图就能够实现平面内任意旋转角度的目标对象检测的方案,提升了对任意旋转角度的目标对象的检测速度以及检测准确度,具体实施时,可以应用于人脸、行人、汽车、宠物等等任意的图片目标对象检测中,适用性较强,用户体验好。
[0227]
本说明书另一实施例中,将上述目标对象检测方法应用于人脸检测场景中,具体实现方式如下所述:
[0228]
将携带有人脸的图片输入对象检测模型,获得所述图片中人脸的初始检测框;
[0229]
基于预设过滤方法对所述初始检测框进行过滤,获得所述人脸的目标检测框;
[0230]
将所述目标检测框中的人脸旋转至预设角度,获得旋转后所述目标检测框中的人脸。
[0231]
此外,在人脸相关的很多应用和系统中,人脸关键点的定位是一个不可或缺的模块。在某些应用中由于输入图片的方向、人脸在图片中的角度各异,需要对平面内任意角度的人脸进行准确的关键点定位,同时还要保持较高的运行速度。在一些视频的应用中,例如直播、视频的美颜美妆等,需要对关键点定位的非常准确和稳定从而进行精准的美化,如果此时模型要兼顾任意角度的人脸关键点定位就很难做到关键点的稳定。
[0232]
目前,实现平面内任意旋转角度人脸的关联点定位方法主要有两种。第一种是通过级连的方式,首先初步定位少量人脸关键点lmks1,计算出人脸角度,将人脸旋转正,然后在旋转到正向的人脸图片上进行准确的关键点定位lmks2。该方法主要的问题是需要分为关键点初定位、计算角度、旋转人脸图片、关键点精确定位等多个步骤进行,耗时较多,在很多对耗时要求很高的场景(例如移动端的应用)中无法满足要求。第二种是训练关键点模型的时候直接输入任意角度的人脸和对应的标注,通过数据增强的方式使模型拟合任意角度人脸的关键点,此种方法通常需要模型拟合能力较强,即需要的计算量很大、耗时较多。在限定模型计算量的情况下,模型很难兼顾对任意角度人脸的关键点的预测同时能够预测得准确、稳定。
[0233]
因此本说明书实施例提出了一种在定位人脸关键点的同时可以预测人脸角度,并利用预测的人脸角度将人脸的特征图旋转到平面内的零度方向进行关键点的定位,能够快速、准确的定位平面内任意旋转角度的人脸的关键点的关键点检测模型。具体的,该关键点检测模型训练方法如下所述。
[0234]
参见图5,图5示出了本说明书一个实施例提供的第一种关键点检测模型训练方法的处理过程流程图,具体包括以下步骤。
[0235]
步骤502:获取样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框。
[0236]
其中,样本图片以及目标对象的介绍可以参见上述实施例,本说明书实施例对此不做任何限定。
[0237]
并且,本说明书实施例中的对象检测模型可以为上述实施例中任意一项所述的对象检测模型训练方法训练获得。
[0238]
步骤504:基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框。
[0239]
具体的,所述基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框,包括:
[0240]
基于非极大值抑制方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框。
[0241]
本说明书实施例中,为了保证目标对象的准确性,可以通过nms方法对目标对象的初始检测框进行检测,以获得目标对象的准确的目标检测框。
[0242]
步骤506:将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点。
[0243]
其中,预设角度可以理解为目标对象的正向角度。
[0244]
具体实施时,上述对样本图片中目标对象的初始检测框的获取、通过nms方法对初始检测框的过滤以及将目标对象旋转为正向的步骤均可以参见上述实施例的详细说明,在此不再赘述。
[0245]
具体的,在获取样本图片中每个角度的目标对象,且将目标对象旋转正向之后,获取每个目标对象的关键点。其中,目标对象不同,目标对象对应的关键点也不同。
[0246]
例如目标对象为人脸的情况下,目标对象的关键点则可以为人的眉毛、眼睛、鼻子、嘴巴以及脸部轮廓等;若目标对象为宠物的情况下,目标对象的关键点则可以为宠物的眼睛、嘴巴、鼻子、鼻纹、毛发等等;若目标对象为汽车的情况下,目标对象的关键点则可以为汽车的外轮廓、车灯、车把手、车前引擎盖等等。
[0247]
步骤508:基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0248]
具体的,将从样本图片中获得的所有角度的目标对象为训练样本,将每个目标对象对应的关键点作为样本标签,基于该训练样本以及样本标签对关键点检测模型进行训练,以获得训练后的关键点检测模型。
[0249]
本说明书实施例中,通过在关键点检测模型中引入对象检测模型,通过对象检测模型获取的样本图片的所有角度的目标对象以及目标对象的关键点,训练获得关键点检测模型,使得该关键点检测模型在后续应用时,能够快速、准确、稳定的预测图片中任意角度的目标对象的关键点。
[0250]
此外,通过此种训练方式训练关键点检测模型,可以避免获取多个角度的样本图片实现对关键点检测模型的训练,避免增加人工成本。通过获取包含任意角度的目标对象的样本图片,并且无需对样本图片进行人工旋转,即可以获取所有角度的样本图片实现对关键点检测模型的训练,极大的节省人工成本。
[0251]
参见图6,图6示出了本说明书一个实施例提供的第一种关键点检测方法的流程图,具体包括以下步骤。
[0252]
步骤602:将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框。
[0253]
步骤604:基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框。
[0254]
步骤606:将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点。
[0255]
可选地,所述关键点检测模型通过如下步骤训练获得:
[0256]
获取样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
[0257]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0258]
将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
[0259]
基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0260]
具体的,所述对象检测模型采用上述的对象检测模型训练方法训练获得,以及所述关键点检测模型采用上述的关键点检测模型训练方法训练获得。
[0261]
仍以图3中,目标对象为人脸进行举例说明。
[0262]
具体的,将携带有人脸的图片输入对象检测模型,可以获得图片中人脸1、人脸2、人脸3、人脸4以及人脸5的初始检测框。
[0263]
基于nms过滤方法对人脸1、人脸2、人脸3、人脸4以及人脸5的初始检测框进行过滤,获得人脸1、人脸2、人脸3、人脸4以及人脸5的目标检测框。
[0264]
将每个目标检测框中的目标对象旋转至正向,然后将旋转为正向的携带有目标对象的目标检测框输入关键点检测模型,以分别获得人脸1、人脸2、人脸3、人脸4以及人脸5的关键点。
[0265]
本说明书实施例中,提出了一种在定位关键点的同时预测目标对象角度、并将对象检测模型中的特征图根据预测角度进行旋转然后定位关键点的方法,将需要通过级连完成的多个步骤在一个模型中完成,极大的减少了计算量、提升了运行速度。具体应用在人脸的关键点检测场景中时,通过预测人脸角度,旋转模型特征图到正向,然后对正向的人脸进行关键点定位的方法,使其能减小任意旋转角度人脸关键点定位的难度,能快速、准确、稳定的预测人脸关键点。
[0266]
本说明书另一实施例中,将上述关键点检测方法应用于人脸关键点检测场景中,具体实现方式如下所述:
[0267]
将携带有人脸的图片输入对象检测模型,获得所述图片中人脸的初始检测框;
[0268]
基于预设过滤方法对所述初始检测框进行过滤,获得所述人脸的目标检测框;
[0269]
将所述目标检测框中的人脸旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中人脸的关键点。
[0270]
本说明书一个实施例提供了第二种对象检测模型训练方法,包括:
[0271]
基于用户的调用请求为所述用户展示图片输入界面;
[0272]
获取所述用户基于所述图片输入界面输入的样本图片,并为所述样本图片中初始对象标注检测框;
[0273]
将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
[0274]
将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
[0275]
基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型并返回给所述用户。
[0276]
需要说明的是,该第二种对象检测模型训练方法的技术方案与上述的第一种对象检测模型训练方法的技术方案属于同一构思,该第二种对象检测模型训练方法的技术方案未详细描述的细节内容,均可以参见上述第一种对象检测模型训练方法的技术方案的描述。
[0277]
本说明书一个实施例提供了第三种对象检测模型训练方法,包括:
[0278]
接收所述用户发送的调用请求,其中,所述调用请求中携带样本图片;
[0279]
为所述样本图片中初始对象标注检测框;
[0280]
将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
[0281]
将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
[0282]
基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型并返回给所述用户。
[0283]
需要说明的是,该第三种对象检测模型训练方法的技术方案与上述的第一种对象检测模型训练方法的技术方案属于同一构思,该第三种对象检测模型训练方法的技术方案未详细描述的细节内容,均可以参见上述第一种对象检测模型训练方法的技术方案的描述。
[0284]
本说明书一个实施例提供了第二种关键点检测模型训练方法,包括:
[0285]
基于用户的调用请求为所述用户展示图片输入界面;
[0286]
获取所述用户基于所述图片输入界面输入的样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
[0287]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0288]
将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
[0289]
基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0290]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得并返回给所述用户。
[0291]
需要说明的是,该第二种关键点检测模型训练方法的技术方案与上述的第一种关键点检测模型训练方法的技术方案属于同一构思,该第二种关键点检测模型训练方法的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测模型训练方法的技术方案的描述。
[0292]
本说明书一个实施例提供了第三种关键点检测模型训练方法,包括:
[0293]
接收所述用户发送的调用请求,其中,所述调用请求中携带样本图片;
[0294]
将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
[0295]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0296]
将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
[0297]
基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0298]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得并返回给所述用户。
[0299]
需要说明的是,该第三种关键点检测模型训练方法的技术方案与上述的第一种关键点检测模型训练方法的技术方案属于同一构思,该第三种关键点检测模型训练方法的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测模型训练方法的技术方案的描述。
[0300]
本说明书一个实施例提供了第二种目标对象检测方法,包括:
[0301]
基于用户的调用请求为所述用户展示图片输入界面;
[0302]
获取所述用户基于所述图片输入界面输入的携带有目标对象的图片;
[0303]
将所述图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0304]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0305]
将所述目标检测框中的目标对象旋转至预设角度,获得旋转后所述目标检测框中的目标对象并返回给所述用户,
[0306]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
[0307]
需要说明的是,该第二种目标对象检测方法的技术方案与上述的第一种目标对象检测方法的技术方案属于同一构思,该第二种目标对象检测方法的技术方案未详细描述的细节内容,均可以参见上述第一种目标对象检测方法的技术方案的描述。
[0308]
本说明书一个实施例提供了第三种目标对象检测方法,包括:
[0309]
接收所述用户发送的调用请求,其中,所述调用请求中携带有包含目标对象的图片;
[0310]
将所述图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0311]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0312]
将所述目标检测框中的目标对象旋转至预设角度,获得旋转后所述目标检测框中
的目标对象并返回给所述用户,
[0313]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
[0314]
需要说明的是,该第三种目标对象检测方法的技术方案与上述的第一种目标对象检测方法的技术方案属于同一构思,该第三种目标对象检测方法的技术方案未详细描述的细节内容,均可以参见上述第一种目标对象检测方法的技术方案的描述。
[0315]
本说明书一个实施例提供了第二种关键点检测方法,包括:
[0316]
基于用户的调用请求为所述用户展示图片输入界面,并获取所述用户基于所述图片输入界面输入的携带有目标对象的图片;
[0317]
将所述图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0318]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0319]
将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点,
[0320]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得,以及所述关键点检测模型采用上述的关键点检测模型训练方法训练获得。
[0321]
需要说明的是,该第二种关键点检测方法的技术方案与上述的第一种关键点检测方法的技术方案属于同一构思,该第二种关键点检测方法的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测方法的技术方案的描述。
[0322]
本说明书一个实施例提供了第三种关键点检测方法,包括:
[0323]
接收所述用户发送的调用请求,其中,所述调用请求中携带有包含目标对象的图片;
[0324]
将所述图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0325]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0326]
将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点,
[0327]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得,以及所述关键点检测模型采用上述的关键点检测模型训练方法训练获得。
[0328]
需要说明的是,该第三种关键点检测方法的技术方案与上述的第一种关键点检测方法的技术方案属于同一构思,该第三种关键点检测方法的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测方法的技术方案的描述。
[0329]
与上述方法实施例相对应,本说明书还提供了一种对象检测模型训练装置实施例,图7示出了本说明书一个实施例提供的一种对象检测模型训练装置的结构示意图。如图7所示,该装置包括:
[0330]
样本获取模块702,被配置为获取样本图片,并为所述样本图片中初始对象标注检测框;
[0331]
特征图获得模块704,被配置为将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
[0332]
旋转模块706,被配置为将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
[0333]
模型训练模块708,被配置为基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。
[0334]
本说明书实施例中,所述对象检测模型训练装置通过将初始特征图按照预设旋转规则进行旋转,通过增加很小的计算量就可以获得任意角度的旋转特征图,基于该初始特征图和旋转特征图实现对对象检测模型的训练,提高对象检测模型的训练效率,通过此种方式使得训练获得的对象检测模型在后续应用时可以快速且准确的检测出图片中目标对象的检测框,提升用户体验。
[0335]
上述为本实施例的一种对象检测模型训练装置的示意性方案。需要说明的是,该对象检测模型训练装置的技术方案与上述的第一种对象检测模型训练方法的技术方案属于同一构思,对象检测模型训练装置的技术方案未详细描述的细节内容,均可以参见上述第一种对象检测模型训练方法的技术方案的描述。
[0336]
与上述方法实施例相对应,本说明书还提供了一种关键点检测模型训练装置实施例,图8示出了本说明书一个实施例提供的一种关键点检测模型训练装置的结构示意图。如图8所示,该装置包括:
[0337]
检测框获得模块802,被配置为获取样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
[0338]
检测框过滤模块804,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0339]
对象旋转模块806,被配置为将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
[0340]
模型训练模块808,被配置为基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0341]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
[0342]
可选地,所述检测框过滤模块804,进一步被配置为:
[0343]
基于非极大值抑制方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框。
[0344]
本说明书实施例中,通过在关键点检测模型中引入对象检测模型,通过对象检测模型获取的样本图片的所有角度的目标对象以及目标对象的关键点,训练获得关键点检测模型,使得该关键点检测模型在后续应用时,能够快速、准确、稳定的预测图片中任意角度的目标对象的关键点。
[0345]
上述为本实施例的一种关键点检测模型训练装置的示意性方案。需要说明的是,该关键点检测模型训练装置的技术方案与上述的第一种关键点检测模型训练方法的技术方案属于同一构思,关键点检测模型训练装置的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测模型训练方法的技术方案的描述。
[0346]
与上述方法实施例相对应,本说明书还提供了一种目标对象检测装置实施例,图9示出了本说明书一个实施例提供的一种目标对象检测装置的结构示意图。如图9所示,该装置包括:
[0347]
检测框获得模块902,被配置为将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0348]
检测框过滤模块904,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0349]
对象获得模块906,被配置为将所述目标检测框中的目标对象旋转至预设角度,获得旋转后所述目标检测框中的目标对象。
[0350]
可选地,所述装置,还包括:
[0351]
训练模块,被配置为:
[0352]
获取样本图片,并为所述样本图片中初始对象标注检测框;
[0353]
将所述样本图片按照初始角度输入特征提取模型,获得所述样本图片在所述初始角度的初始特征图以及所述初始特征图中初始对象对应的初始检测框;
[0354]
将所述初始特征图按照预设旋转规则进行旋转,获得旋转特征图以及所述旋转特征图中旋转对象对应的旋转检测框;
[0355]
基于所述初始特征图、所述旋转特征图、所述初始检测框以及所述旋转检测框对对象检测模型进行训练,获得所述对象检测模型。
[0356]
可选地,所述训练模块,进一步被配置为:
[0357]
获得所述样本图片在所述初始角度的初始特征图,以及所述初始特征图中初始对象在所述初始角度的初始检测框。
[0358]
可选地,所述训练模块,进一步被配置为:
[0359]
将所述初始特征图按照旋转角度进行旋转,获得至少一个旋转特征图以及每个旋转特征图中初始对象对应的旋转检测框,其中,所述初始角度和所述旋转角度之和为360度。
[0360]
可选地,所述训练模块,进一步被配置为:
[0361]
将所述初始特征图按照第一旋转角度进行旋转,获得所述初始特征图在所述第一旋转角度的第一旋转特征图以及所述第一旋转特征图中初始对象对应的第一旋转检测框;
[0362]
将所述初始特征图按照第二旋转角度进行旋转,获得所述初始特征图在所述第二旋转角度的第二旋转特征图以及所述第二旋转特征图中初始对象对应的第二旋转检测框;
[0363]
将所述初始特征图按照第三旋转角度进行旋转,获得所述初始特征图在所述第三旋转角度的第三旋转特征图以及所述第三旋转特征图中初始对象对应的第三旋转检测框。
[0364]
可选地,所述训练模块,进一步被配置为:
[0365]
将所述初始特征图以及所述旋转特征图作为训练样本,将与所述初始特征图对应的所述初始检测框以及与所述旋转特征图对应的所述旋转检测框作为所述训练样本对应的样本标签;
[0366]
基于所述训练样本以及所述训练样本对应的样本标签对对象检测模型进行训练,获得所述对象检测模型。
[0367]
可选地,所述训练模块,进一步被配置为:
[0368]
基于所述训练样本以及所述训练样本对应的样本标签计算回归损失函数和分类损失函数;
[0369]
直至所述回归损失函数和所述分类损失函数达到预设训练条件,获得所述对象检
测模型。
[0370]
本说明书实施例提供的目标对象检测装置,提供了通过旋转一个角度的初始特征图就能够实现平面内任意旋转角度的目标对象检测的方案,提升了对任意旋转角度的目标对象的检测速度以及检测准确度。
[0371]
上述为本实施例的一种目标对象检测装置的示意性方案。需要说明的是,该目标对象检测装置的技术方案与上述的第一种目标对象检测方法的技术方案属于同一构思,目标对象检测装置的技术方案未详细描述的细节内容,均可以参见上述第一种目标对象检测方法的技术方案的描述。
[0372]
与上述方法实施例相对应,本说明书还提供了一种关键点检测装置实施例,图10示出了本说明书一个实施例提供的一种关键点检测装置的结构示意图。如图10所示,该装置包括:
[0373]
检测框获得模块1002,被配置为将携带有目标对象的图片输入对象检测模型,获得所述图片中目标对象的初始检测框;
[0374]
检测框过滤模块1004,被配置为基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0375]
关键点获取模块1006,被配置为将所述目标检测框中的目标对象旋转至预设角度,将旋转后的所述目标检测框输入关键点检测模型,获得所述目标检测框中目标对象的关键点,
[0376]
其中,所述对象检测模型采用上述的对象检测模型训练方法训练获得。
[0377]
可选地,所述装置,还包括:
[0378]
模型训练模块,被配置为:
[0379]
获取样本图片,将所述样本图片输入对象检测模型,获得所述样本图片中目标对象的初始检测框;
[0380]
基于预设过滤方法对所述初始检测框进行过滤,获得所述目标对象的目标检测框;
[0381]
将所述目标检测框中的目标对象旋转至预设角度,并为所述目标对象标注关键点;
[0382]
基于所述目标对象以及所述目标对象对应的关键点进行训练,获得所述关键点检测模型。
[0383]
本说明书实施例中,提出了一种在定位关键点的同时预测目标对象角度、并将对象检测模型中的特征图根据预测角度进行旋转然后定位关键点的装置,将需要通过级连完成的多个步骤在一个模型中完成,极大的减少了计算量、提升了运行速度。
[0384]
上述为本实施例的一种关键点检测装置的示意性方案。需要说明的是,该关键点检测装置的技术方案与上述的第一种关键点检测方法的技术方案属于同一构思,关键点检测装置的技术方案未详细描述的细节内容,均可以参见上述第一种关键点检测方法的技术方案的描述。
[0385]
图11示出了根据本说明书一个实施例提供的一种计算设备1100的结构框图。该计算设备1100的部件包括但不限于存储器1110和处理器1120。处理器1120与存储器1110通过总线1130相连接,数据库1150用于保存数据。
[0386]
计算设备1100还包括接入设备1140,接入设备1140使得计算设备1100能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0387]
在本说明书的一个实施例中,计算设备1100的上述部件以及图11中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图11所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0388]
计算设备1100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1100还可以是移动式或静止式的服务器。
[0389]
其中,处理器1120用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述的对象检测模型训练方法,上述的关键点检测模型训练方法,上述的目标对象检测方法,上述的关键点检测方法的步骤。
[0390]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的对象检测模型训练方法或关键点检测模型训练方法或目标对象检测方法或关键点检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述对象检测模型训练方法或关键点检测模型训练方法或目标对象检测方法或关键点检测方法的技术方案的描述。
[0391]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述的对象检测模型训练方法,上述的关键点检测模型训练方法,上述的目标对象检测方法,上述的关键点检测方法的步骤。
[0392]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的对象检测模型训练方法或关键点检测模型训练方法或目标对象检测方法或关键点检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述对象检测模型训练方法或关键点检测模型训练方法或目标对象检测方法或关键点检测方法的技术方案的描述。
[0393]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0394]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储
器、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0395]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0396]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0397]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

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

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

相关文献