关键点检测方法、装置、计算机设备、介质及程序产品转让专利

申请号 : CN202210358286.5

文献号 : CN114445716B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨一帆

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请公开了一种关键点检测方法、装置、计算机设备、介质及程序产品,涉及图像处理和智慧交通技术领域。该方法包括:对原始图像进行特征提取,得到原始图像对应的目标特征图,目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,2M个位置通道用于预测关键点位置,2M个位置通道是目标特征图中单位网格对应的通道,单位网格按照M×M划分;从K个类别通道中确定出目标类别通道,目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;基于目标网格对应的目标位置通道,确定目标关键点在原始图像中所处的目标关键点位置。采用该关键点检测方法可以提高关键点位置的预测精确度。

权利要求 :

1.一种关键点检测方法,其特征在于,所述方法包括:

对原始图像进行特征提取,得到所述原始图像对应的目标特征图,所述目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述目标特征图中单位网格对应的通道,所述单位网格按照M×M划分,所述2M个位置通道用于预测关键点在所述单位网格中的位置偏移量;

从所述K个类别通道中确定出目标类别通道,所述目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;

基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置。

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置,包括:对所述目标位置通道对应的特征值进行映射处理,得到目标特征值分布,所述目标特征值分布是所述目标关键点在所述目标网格中所处位置的概率分布;

基于所述目标特征值分布,确定所述目标关键点在所述目标网格中的目标坐标偏移量;

基于所述目标坐标偏移量,以及所述目标网格在所述原始图像中对应的目标网格位置,确定所述目标关键点在所述原始图像中所处的所述目标关键点位置。

3.根据权利要求2所述的方法,其特征在于,所述基于所述目标特征值分布,确定所述目标关键点在所述目标网格中的目标坐标偏移量,包括:将所述目标特征值分布中目标横轴特征分布对应的第一目标期望,确定为目标横轴偏移量;

将所述目标特征值分布中目标纵轴特征分布对应的第二目标期望,确定为目标纵轴偏移量;

将所述目标横轴偏移量和所述目标纵轴偏移量,确定为所述目标坐标偏移量。

4.根据权利要求2所述的方法,其特征在于,所述基于所述目标坐标偏移量,以及所述目标网格在所述原始图像中对应的目标网格位置,确定所述目标关键点在所述原始图像中所处的所述目标关键点位置,包括:确定所述目标特征图相对于所述原始图像的目标下采样倍率;

基于所述目标下采样倍率、所述目标网格位置以及所述目标坐标偏移量,确定所述目标关键点在所述原始图像中所处的所述目标关键点位置。

5.根据权利要求1至4任一所述的方法,其特征在于,所述从所述K个类别通道中确定出目标类别通道,包括:将所述K个类别通道中特征值大于第一阈值的类别通道确定为所述目标类别通道。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:确定所述目标类别通道对应的目标通道索引;

基于所述目标通道索引,确定所述目标关键点所属的所述目标类别。

7.根据权利要求1至4任一所述的方法,其特征在于,所述对原始图像进行特征提取,得到所述原始图像对应的目标特征图,包括:通过关键点检测模型对所述原始图像进行特征提取,得到所述关键点检测模型输出的所述目标特征图;

其中,所述关键点检测模型包括特征提取网络、特征融合网络和检测头,所述特征提取网络用于对所述原始图像进行多尺度特征提取,所述特征融合网络用于对提取到的多尺度特征图进行特征融合,所述检测头用于根据特征融合后的特征图进行关键点类别预测和关键点位置预测。

8.一种关键点检测方法,其特征在于,所述方法包括:

通过关键点检测模型对样本图像进行特征提取,得到所述样本图像对应的样本特征图,所述样本特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述样本特征图中单位网格对应的通道,所述单位网格按照M×M划分,所述2M个位置通道用于预测关键点在所述单位网格中的位置偏移量;

从所述K个类别通道中确定出样本类别通道,所述样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点;

基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置;

基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型。

9.根据权利要求8所述的方法,其特征在于,所述基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置,包括:对所述样本位置通道对应的特征值进行映射处理,得到样本特征值分布,所述样本特征值分布是所述样本关键点在所述样本网格中所处位置的概率分布;

基于所述样本特征值分布,确定所述样本关键点在所述样本网格中的样本坐标偏移量;

基于所述样本坐标偏移量,以及所述样本网格在所述样本图像中对应的样本网格位置,确定所述样本关键点在所述样本图像中所处的所述样本关键点位置。

10.根据权利要求9所述的方法,其特征在于,所述基于所述样本特征值分布,确定所述样本关键点在所述样本网格中的样本坐标偏移量,包括:将所述样本特征值分布中样本横轴特征分布对应的第一样本期望,确定为样本横轴偏移量;

将所述样本特征值分布中样本纵轴特征分布对应的第二样本期望,确定为样本纵轴偏移量;

将所述样本横轴偏移量和所述样本纵轴偏移量,确定为所述样本坐标偏移量。

11.根据权利要求9所述的方法,其特征在于,所述基于所述样本坐标偏移量,以及所述样本网格在所述样本图像中对应的样本网格位置,确定所述样本关键点在所述样本图像中所处的所述样本关键点位置,包括:确定所述样本特征图相对于所述样本图像的样本下采样倍率;

基于所述样本下采样倍率、所述样本网格位置以及所述样本坐标偏移量,确定所述样本关键点在所述样本图像中所处的所述样本关键点位置。

12.根据权利要求8至11任一所述的方法,其特征在于,所述从所述K个类别通道中确定出样本类别通道,包括:将所述K个类别通道中特征值大于第二阈值的类别通道确定为所述样本类别通道。

13.根据权利要求12所述的方法,其特征在于,所述方法还包括:确定所述样本类别通道对应的样本通道索引;

基于所述样本通道索引,确定所述样本关键点对应的所述样本类别。

14.根据权利要求8至11任一所述的方法,其特征在于,所述基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型,包括:基于所述样本关键点位置、所述标注关键点位置和第三阈值,确定类别预测损失;

基于所述样本关键点位置和所述标注关键点位置,确定位置预测损失;

基于所述类别预测损失和所述位置预测损失,训练所述关键点检测模型。

15.根据权利要求14所述的方法,其特征在于,所述基于所述样本关键点位置和所述标注关键点位置,确定位置预测损失,包括:基于所述标注关键点位置,确定标注关键点在所述样本网格中对应的标注坐标偏移量;

确定所述标注坐标偏移量对应的第一索引值和第二索引值,所述第一索引值由对所述标注坐标偏移量进行向上取整得到,所述第二索引值由对所述标注坐标偏移量进行向下取整得到;

确定所述样本关键点在所述第一索引值处对应的第一样本概率,以及所述样本关键点在所述第二索引值处对应的第二样本概率;

基于所述第一样本概率、所述第二样本概率、所述第一索引值和所述第二索引值,确定所述位置预测损失。

16.一种关键点检测装置,其特征在于,所述装置包括:

特征提取模块,用于对原始图像进行特征提取,得到所述原始图像对应的目标特征图,所述目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述目标特征图中单位网格对应的通道,所述单位网格按照M×M划分,所述2M个位置通道用于预测关键点在所述单位网格中的位置偏移量;

确定模块,用于从所述K个类别通道中确定出目标类别通道,所述目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;

所述确定模块,还用于基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置。

17.一种关键点检测装置,其特征在于,所述装置包括:

特征提取模块,用于通过关键点检测模型对样本图像进行特征提取,得到所述样本图像对应的样本特征图,所述样本特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述样本特征图中单位网格对应的通道,所述单位网格按照M×M划分,所述2M个位置通道用于预测关键点在所述单位网格中的位置偏移量;

确定模块,用于从所述K个类别通道中确定出样本类别通道,所述样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点;

所述确定模块,还用于基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置;

训练模块,用于基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型。

18.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7任一所述的关键点检测方法,或,实现如权利要求8至15任一所述的关键点检测方法。

19.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至7任一所述的关键点检测方法,或,实现如权利要求8至15任一所述的关键点检测方法。

说明书 :

关键点检测方法、装置、计算机设备、介质及程序产品

技术领域

[0001] 本申请实施例涉及图像处理和智慧交通技术领域,特别涉及一种关键点检测方法、装置、计算机设备、介质及程序产品。

背景技术

[0002] 关键点检测是图像处理领域中的常见问题之一,在云技术、人工智能、智慧交通、辅助驾驶等各种场景中具有重要作用。
[0003] 相关技术中,在使用深度学习来执行关键点检测任务时,往往是将待检测图像进行特征提取、特征增加以及特征映射,得到关键点检测模型输出的两个特征值,该特征值即表示关键点位置。
[0004] 显然,采用相关技术中的关键点检测方法,关键点检测模型仅可以输出两个特征值用于表示关键点位置,关键点位置的检测精度较低。

发明内容

[0005] 本申请实施例提供了一种关键点检测方法、装置、计算机设备、介质及程序产品。所述技术方案包括如下方面。
[0006] 一方面,提供了一种关键点检测方法,所述方法包括:
[0007] 对原始图像进行特征提取,得到所述原始图像对应的目标特征图,所述目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道用于预测关键点位置,所述2M个位置通道是所述目标特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0008] 从所述K个类别通道中确定出目标类别通道,所述目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;
[0009] 基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置。
[0010] 另一方面,提供了一种关键点检测方法,所述方法包括:
[0011] 通过关键点检测模型对样本图像进行特征提取,得到所述样本图像对应的样本特征图,所述样本特征图中包括K个类别通道和2M个位置通道,所述2M个位置通道用于预测关键点位置,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述样本特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0012] 从所述K个类别通道中确定出样本类别通道,所述样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点;
[0013] 基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置;
[0014] 基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型。
[0015] 另一方面,提供了一种关键点检测装置,所述装置包括:
[0016] 特征提取模块,用于对原始图像进行特征提取,得到所述原始图像对应的目标特征图,所述目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道用于预测关键点位置,所述2M个位置通道是所述目标特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0017] 确定模块,用于从所述K个类别通道中确定出目标类别通道,所述目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;
[0018] 所述确定模块,还用于基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置。
[0019] 另一方面,提供了一种关键点检测装置,所述装置包括:
[0020] 特征提取模块,用于通过关键点检测模型对样本图像进行特征提取,得到所述样本图像对应的样本特征图,所述样本特征图中包括K个类别通道和2M个位置通道,所述2M个位置通道用于预测关键点位置,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述样本特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0021] 确定模块,用于从所述K个类别通道中确定出样本类别通道,所述样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点;
[0022] 所述确定模块,还用于基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置;
[0023] 训练模块,用于基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型。
[0024] 另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上方面所述的关键点检测方法。
[0025] 另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的关键点检测方法。
[0026] 根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的关键点检测方法。
[0027] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0028] 提供了一种预测关键点位置的方式,在对原始图像进行特征提取的过程中,增加提取到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,预测关键点在单位网格中2M个位置通道上的特征值,以确定出关键点在目标特征图中单位网格中的位置偏移量,从而提高关键点位置的预测精确度,进一步提高关键点预测的稳定性和准确性。

附图说明

[0029] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030] 图1示出了本申请一个示例性实施例提供的实施环境的示意图;
[0031] 图2示出了本申请一个示例性实施例示出的关键点检测示意图;
[0032] 图3示出了本申请一个示例性实施例提供的关键点检测方法的流程图;
[0033] 图4示出了本申请另一个示例性实施例提供的关键点检测方法的流程图;
[0034] 图5示出了本申请另一个示例性实施例提供的关键点检测方法的流程图;
[0035] 图6示出了本申请一个示例性实施例示出的样本类别和类别通道对应特征值之间的对应关系;
[0036] 图7示出了本申请一个示例性实施例示出的关键点位置的确定过程示意图;
[0037] 图8是关键点位置预测的置信度分数的函数示意图;
[0038] 图9示出了本申请一个示例性实施例示出的两种预测结果;
[0039] 图10示出了本申请另一个示例性实施例提供的关键点检测方法的流程图;
[0040] 图11示出了本申请一个示例性实施例示出的关键点检测的过程示意图;
[0041] 图12示出了本申请一个示例性实施例示出的关键点检测结果示意图;
[0042] 图13是本申请一个示例性实施例提供的关键点检测装置的结构框图;
[0043] 图14是本申请另一个示例性实施例提供的关键点检测装置的结构框图;
[0044] 图15示出了本申请一个实施例提供的计算机设备的结构示意图。

具体实施方式

[0045] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0046] 图1示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括终端110和服务器120。其中,终端110与服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
[0047] 终端110是具有关键点检测需求的用户终端,用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
[0048] 在一些实施例中,终端110中安装有具有关键点检测功能的应用程序。当需要对图像进行关键点检测时,用户将待检测图像输入应用程序,对应将待检测图像上传至服务器120,由服务器120对待检测图像进行关键点检测,并反馈待检测图像对应的关键点检测结果。
[0049] 服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0050] 在一些实施例中,服务器120用于为终端110中安装的应用程序提供关键点检测服务。可选的,服务器120中设置关键点检测模型,该关键点检测模型用于对待检测图像进行特征提取,以输出包含待检测图像关键点信息的目标特征图,进而通过对目标特征图进行后处理,以分析得到关键点类别和目标关键点位置,并将得到的关键点检测结果反馈至终端110。
[0051] 当然,在其他可能的实施方式中,关键点检测模型也可以部署在终端110侧,由终端110在本地实现关键点检测,无需借助服务器120,本实施例对此不作限定。
[0052] 可选的,在其他可能的应用场景中,本申请实施例还提供有关键点检测模型的训练方法,对应终端110可以将训练样本图像上传至服务器120,由服务器120基于训练样本图像进行关键点检测模型的训练,并将训练完成的关键点检测模型反馈至终端110。
[0053] 为了方便表述,下述各个实施例以关键点检测方法由计算机设备执行为例进行说明。
[0054] 需要说明的是,本申请实施例提供的关键点方法可以由计算机设备执行,该计算机设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
[0055] 下面对本申请实施例提供的关键点检测方法的应用场景进行示意性说明。
[0056] 1、对象识别场景:该应用场景下,本申请实施例提供的关键点检测方法可以对包含生物对象的图像进行关键点检测,以确定图像中所包含生物对象的对象特征。比如,人脸识别场景(对应检测人脸脸部关键点)、人体姿态识别场景(对应检测人体姿态关键点)等。
[0057] 2、车道线检测场景:该应用场景下,本申请实施例提供的关键点检测方法可以对包含车道线的图像进行关键点检测,以确定图像中车道线对应的关键点。
[0058] 3、车辆关键点检测场景:该应用场景下,本申请实施例提供的关键点检测方法可以对包含车辆的图像进行关键点检测,以确定图像中车辆各个部位关键点所在位置,比如,车轮关键点。
[0059] 4、交通指示牌检测场景:该应用场景下,本申请实施例提供的关键点检测方法可以对包含交通提示牌的图像进行关键点检测,以确定图像中交通提示牌的关键点。
[0060] 如图2所示,其示出了本申请一个示例性实施例示出的关键点检测示意图。使用本申请实施例提供的关键点检测方法,可以在地面车信图201中标注出若干关键点202。
[0061] 请参考图3,其示出了本申请一个示例性实施例提供的关键点检测方法的流程图。本实施例以该方法的执行主体是计算机设备为例进行示例性说明,该方法包括以下步骤。
[0062] 步骤301,对原始图像进行特征提取,得到原始图像对应的目标特征图,目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,2M个位置通道用于预测关键点位置。
[0063] 相关技术中的关键点检测过程一般包括:对原始图像进行特征提取、对提取到的特征进行特征融合(特征增强),以及基于提取到的特征进行关键点位置预测,由检测头直接输出表示关键点位置的两个位置特征值(x,y),也即当确定出特征图中的单位网格中包含关键点后,将单位网格对应的网格位置确定为关键点位置;显然,直接将网格位置确定为关键点位置,无法准确定位关键点在单位网格中的具体位置偏置,从而降低了关键点位置的确定精度。
[0064] 为了提高关键点位置的确定精度,在一种可能的实施方式中,在对原始图像进行特征提取的过程中,增加提取得到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,也即将单位网格按照M×M划分成小网格,而2M个位置通道就是目标特征图中单位网格对应的通道,使得可以根据关键点在单位网格中的概率分布,确定出关键点在目标特征图中单位网格中的位置偏移量,进而更准确得确定关键点在原始图像中所处的位置。
[0065] 可选的,M的数值可以由业务人员根据实际应用场景需要进行设置,且M数值越大,关键点在单位网格中的位置概率分布会越详细,对应关键点位置的预测也会更准确。
[0066] 在一个示例性的例子中,当M=8时,则目标特征图中单位网格被细分为8×8的网格图,即x方向和y方向上各有8个位置通道,其中,x方向上对应位置通道的特征值用于预测关键点在单位网格中x方向上的位置偏移量,而y方向上对应位置通道的特征值用于预测关键点在单位网格中y方向上的位置偏移量。
[0067] 可选的,对于目标检测任务(关键点检测任务中),在确定原始图像中的关键点位置之前,首先需要确定原始图像是否存在特定类别的关键点,因此,在对原始图像进行特征提取所得到的目标特征图中,除了包括2M个位置通道之外,还包括有K个类别通道,该K个类别通道用于预测是否存在目标类别的关键点。
[0068] 可选的,K的取值也可以由业务人员根据业务需求进行设置,K为正整数,示意性的,当K为4时,表示需要检测的关键点种类包括4个类别,对应4个类别通道。
[0069] 需要说明的是,原始图像的获取需要经过用户授权,以原始图像为包含人脸的图像为例,当计算机设备获取原始图像时,需要在用户界面中弹出提示框,该提示框中显示有是否允许获取原始图像的提示,当接收到用户对提示框的确认操作时,确定经过用户授权,可以获取原始图像。
[0070] 步骤302,从K个类别通道中确定出目标类别通道,目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点。
[0071] 在关键点检测任务中,首先需要判断目标特征图中的各个单位网格中是否存在关键点,并对存在关键点的单位网格,确定关键点在该单位网格中的位置偏移量,以进一步确定关键点字在原始图像中所处的位置,因此,在一种可能的实施方式中,当提取得到原始图像对应的目标特征图后,首先需要根据K个类别通道对应的特征值,从K个类别通道中确定出包含有目标关键点的目标类别通道,也即目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点。
[0072] 可选的,对于目标特征图中的单位网格,每个单位网格均对应有K个类别通道,则可以根据单位网格对应的K个类别通道上的K个特征值,确定该单位网格中是否存在特定类别的关键点。以K=4为例,第i个单位网格对应的K个特征值可以表示为clspred(i)=[0.0,1.0,0.0,0.0],进而根据特征值,确定出单位网格中是否包含关键点,以及关键点所处的类别。
[0073] 步骤303,基于目标网格对应的目标位置通道,确定目标关键点在原始图像中所处的目标关键点位置。
[0074] 在一种可能的实施方式中,当确定出包含目标关键点的目标网格后,即可以根据目标网格对应的2M个位置通道(目标位置通道)的特征值,确定出目标关键点在目标网格中的位置偏移量,进而根据目标特征图和原始图像之间的关系,确定出目标关键点在原始图像中所处的目标关键点位置。
[0075] 其中,目标网格对应目标位置通道的特征值可以表示目标关键点在x方向上M个网格中出现的概率,以及在y方向上M个网格中出现的概率,进而可以根据x方向和y方向上的概率分布,得到目标关键点在x方向和y方向上的位置偏移量,从而得到目标关键点在目标网格中的位置偏移量。
[0076] 综上所述,本申请实施例中,提供了一种预测关键点位置的方式,在对原始图像进行特征提取的过程中,增加提取到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,预测关键点在单位网格中2M个位置通道上的特征值,以确定出关键点在目标特征图中单位网格中的位置偏移量,从而提高关键点位置的预测精确度,进一步提高关键点预测的稳定性和准确性。
[0077] 在一种可能的实施方式中,通过关键点检测模型对原始图像进行特征提取,而若需要使得关键点检测模型可以提取出包含K个类别通道和2M个位置通道的目标特征图,需要采用样本图像对关键点检测模型进行训练,本实施例主要描述关键点检测模型的训练过程。
[0078] 请参考图4,其示出了本申请另一个示例性实施例提供的关键点检测方法的流程图。本实施例以该方法的执行主体是计算机设备为例进行示例性说明,该方法包括以下步骤。
[0079] 步骤401,通过关键点检测模型对样本图像进行特征提取,得到样本图像对应的样本特征图,样本特征图中包括K个类别通道和2M个位置通道,2M个位置通道用于预测关键点位置,其中,K为正整数,M为大于1的整数。
[0080] 其中,2M个位置通道是样本特征图中单位网格对应的通道,单位网格按照M×M划分。
[0081] 在一种可能的实施方式中,通过训练样本数据对关键点检测模型进行训练,从而使得关键点检测模型具备准确提取原始图像对应目标特征图的功能,其中,训练样本数据可以为样本图像和样本图像对应的关键点标注。
[0082] 与模型应用过程类似,在训练过程中,通过关键点检测模型对样本图像进行特征提取,以得到样本图像对应的样本特征图,且该样本特征图中包括K个类别通道和2M个位置通道,K个类别通道用于预测单位网格中是否存在关键点,以及存在关键点的情况下所对应的关键点类别,而2M个位置通道用于预测关键点在单位网格中的位置偏移量,以进一步预测关键点位置。
[0083] 步骤402,从K个类别通道中确定出样本类别通道,样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点。
[0084] 在训练过程中,当提取到样本图像对应的样本特征图后,首先需要根据单位网格对应K个类别通道的特征值,从K个类别通道中确定包含样本关键点的样本类别通道,该样本类别通道对应目标特征图中的样本网格中包含有属于样本类别的样本关键点,进而根据样本网格对应的位置通道预测样本关键点的样本关键点位置。
[0085] 步骤403,基于样本网格对应的样本位置通道,确定样本关键点在样本图像中所处的样本关键点位置。
[0086] 在一种可能的实施方式中,当确定出样本网格中包含样本关键点后,即可以根据样本网格对应的2M个位置通道(样本位置通道),确定样本关键点在样本网格中的位置偏移量,进而确定样本关键点在样本图像中所处的样本关键点位置。
[0087] 步骤404,基于样本关键点位置和标注关键点位置,训练关键点检测模型。
[0088] 为了提高样本关键点的位置预测准确性,需要分析预测得到的样本关键点位置和关键点位置真值(标注关键点位置)之间的差异,以训练关键点检测模型,使得关键点检测模型可以向正值学习,在一种可能的实施方式中,当预测得到样本关键点位置后,可以基于样本关键点位置和标注关键点位置之间的损失,训练关键点检测模型。
[0089] 本实施例中,提供了一种关键点检测模型的训练方法,使得关键点检测模型具备准确提取目标特征图的功能,从而使得关键点检测模型在对原始图像进行特征提取的过程中,增加提取到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,预测关键点在单位网格中2M个位置通道上的特征值,以确定出关键点在目标特征图中单位网格中的位置偏移量,从而提高关键点位置的预测精确度,进一步提高关键点预测的稳定性和准确性。
[0090] 在一种可能的实施方式中,关键点检测模型主要由特征提取网络、特征融合网络(特征增强网络)以及检测头构成,关键点检测模型中各个网络的网络结构与常用的关键点检测模型类似,本实施例主要聚焦于如何分析关键点检测模型提取出的样本特征图,比如,如何从样本特征图中的2M个类别通道的特征值中,分析得到样本关键点位置。
[0091] 如图5所示,其示出了本申请另一个示例性实施例提供的关键点检测方法的流程图。本实施例以该方法的执行主体是计算机设备为例进行示例性说明,该方法包括以下步骤。
[0092] 步骤501,通过关键点检测模型对样本图像进行特征提取,得到样本图像对应的样本特征图,样本特征图中包括K个类别通道和2M个位置通道,2M个位置通道用于预测关键点位置,其中,K为正整数,M为大于1的整数。
[0093] 其中,关键点检测模型包括特征提取网络、特征融合网络(特征增强网络)和N个检测头,N为正整数,N的取值可以根据业务需求进行设置,不同检测头可以输出不同尺度的样本特征图。
[0094] 在一种可能的实施方式中,将样本图像输入关键点检测模型中,由特征提取网络对样本图像进行多尺度特征提取,得到不同尺度的特征图;再由特征融合网络对不同尺度的特征图进行特征融合,以丰富特征图所包含的特征;进而由检测头基于经过特征融合后的特征图进行关键点类别和关键点位置的预测,以得到包含K个类别通道和2M个位置通道的样本特征图。
[0095] 示意性的,由关键点检测模型中检测头输出的样本特征图可以表示为H×W×(K+2×M),其中,H表示样本特征图的高度,W表示样本特征图的宽度,而(K+2×M)表示样本特征图的通道,包括K个类别通道和2M个位置通道。
[0096] 可选的,针对关键点检测模型中各个网络对应网络结构的选取,特征提取网络可以选择常见的分类网络,比如,Resnet、Densenet、Mobilenet、Shufflenet等;而特征融合网络可以选择FPN、PAN、GhostPan等,本申请实施例对网络的具体结构不构成限定。
[0097] 步骤502,将K个类别通道中特征值大于第二阈值的类别通道确定为样本类别通道。
[0098] 以K=4为例,样本特征图中单位网格对应的K个类别通道的4个特征值即用于分别描述该单位网格中是否存在特定样本类别的样本关键点,在训练过程中,设定特征值越大,表示该单位网格中存在样本关键点的概率越大,因此,在一种可能的实施方式中,当确定出单位网格对应K个类别通道中,存在类别通道对应特征值大于第二阈值,则确定该单位网格中存在样本关键点,并进一步将K个类别通道中特征值大于第二阈值的类别通道确定为样本类别通道;反之,若单位网格不存在特征值大于第二阈值的类别通道,则表示单位网格中不存在样本关键点。
[0099] 在一个示例性的例子中,确定单位网格中是否存在样本关键点的判断公式可以为:
[0100] (1)
[0101] 其中,cls表示样本关键点对应的样本类别,clspred(i)表示第i个单位网格对应的K个类别通道的特征值,thresh表示是否存在样本关键点的阈值(第二阈值),取值可以为0.1;max(clspred(i))表示K个类别通道对应特征值的最大值;background表示第i个网格中不存在样本关键点。
[0102] 由公式(1)可知,如果第i个单位网格对应的K个类别通道的特征值的最大值大于阈值,则表示第i个单位网格中存在样本关键点,且样本关键点的类别由K个类别通道对应特征值的最大值所对应的类别索引确定。
[0103] 由于不同类别通道用于预测属于不同类别的样本关键点,因此,在一种可能的实施方式中,当确定出样本类别通道后,还可以根据样本类别通道对应的样本通道索引,以及通道索引与样本类别之间的对应关系,确定出样本关键点所对应的样本类别。
[0104] 可选的,在确定样本类别通道之前,还可以对目标特征图中的各个特征值进行映射处理,将各个特征值映射到0‑1之间,进而根据映射后的K个类别通道对应的特征值,与第二阈值进行比较,以确定出样本类别通道。
[0105] 如图6所示,其示出了本申请一个示例性实施例示出的样本类别和类别通道对应特征值之间的对应关系。若K=4,则检测头输出的样本特征图经过后处理后,可以确定出样本图像中包含属于4个样本类别的样本关键点A、B、C、D,则该4个样本关键点分别对应的K个类别通道的特征值可以为:A=(0.0,0.0,0.0,1.0)、B=(0.0,0.0,1.0,0.0)、C=(0.0,1.0,0.0,0.0)、D=(1.0,0.0,0.0,0.0),且可以根据特征值最大值所在的通道索引,确定样本关键点的类别,比如,样本关键点A对应的通道索引为3,则对应类别3;可选的,若不存在样本关键点,则其对应的K个类别通道的特征值可以表示为(0.0,0.0,0.0,0.0)。
[0106] 步骤503,对样本位置通道对应的特征值进行映射处理,得到样本特征值分布,样本特征值分布是样本关键点在样本网格中所处位置的概率分布。
[0107] 在一种可能的实施方式中,当确定出样本网格(存在样本关键点的单位网格)后,即可以根据样本网格对应的2M个位置通道(样本位置通道),分析样本关键点所在位置。
[0108] 不同于相关技术中默认样本关键点所在位置呈现高斯分布或狄拉克分布,本实施例中,使用一般性的概率分布表示样本关键点的坐标位置,也即根据样本网格对应的2M个位置通道的特征值,生成样本关键点在样本网格中所处位置的概率分布(样本特征值分布),进而根据该概率分布进一步确定样本关键点所处位置。
[0109] 可选的,在生成样本特征值分布之前,还可以对样本位置通道对应的特征值进行映射处理(softmax处理),进而根据映射处理后的特征值,生成样本特征值分布。
[0110] 步骤504,基于样本特征值分布,确定样本关键点在样本网格中的样本坐标偏移量。
[0111] 在一种可能的实施方式中,当获取到样本关键点在样本网格中的样本特征值分布后,即可以根据样本特征值分布所指示的样本关键点在样本网格中的位置偏置,确定出样本关键点在样本网格中的样本坐标偏移量。
[0112] 由于样本位置通道包括x方向上的M个位置通道和y方向上的M个位置通道,用于分别预测样本关键点在x方向上的位置偏置,以及样本关键点在y方向上的位置偏置,因此,在确定样本坐标偏移量的过程中,需要根据样本特征值分布分别确定出样本横轴偏移量和样本纵轴偏移量。对应在一个示例性的例子中,步骤504可以包括步骤504A 步骤504C。~
[0113] 步骤504A,将样本特征值分布中样本横轴特征分布对应的第一样本期望,确定为样本横轴偏移量。
[0114] 由于样本位置通道包括2M个位置通道,分别对应x方向上的位置通道和y方向上的位置通道,因此,在生成样本特征值分布的过程中,需要根据x方向上M个位置通道的特征值,生成样本横轴特征分布,并根据y方向上M个位置通道的特征值,生成样本纵轴特征分布;也就是说,样本特征值分布包括样本横轴特征分布和样本纵轴特征分布。
[0115] 由于样本横轴特征分布是样本关键点在样本网格中x方向所处位置的概率分布,因此,在一种可能的实施方式中,可以根据样本横轴特征分布对应的第一样本期望,确定出样本关键点在样本网格中的样本横轴偏移量。
[0116] 在一个示例性的例子中,样本横轴偏移量的确定公式可以表示为:
[0117] (2)
[0118] 其中,x表示样本关键点在样本网格中x方向上的样本横轴偏移量,pxi表示样本位置通道对应特征值经过softmax处理之后的概率值; 表示样本横轴特征分布对应的第一样本期望。由公式(2)可知,在确定样本横轴偏移量时,还可以对第一样本期望进行softmax处理,也即 表示对第一样本期望进行归一化处理。
[0119] 步骤504B,将样本特征值分布中样本纵轴特征分布对应的第二样本期望,确定为样本纵轴偏移量。
[0120] 由于样本纵轴特征分布是样本关键点在样本网格中y方向所处位置的概率分布,因此,在一种可能的实施方式中,可以根据样本纵轴特征分布对应的第二样本期望,确定出样本关键点在样本网格中的样本横轴偏移量。
[0121] 在一个示例性的例子中,样本纵轴偏移量的确定公式可以表示为:
[0122] (3)
[0123] 其中,y表示样本关键点在样本网格中y方向上的样本纵轴偏移量,pyi表示样本位置通道对应特征值经过softmax处理之后的概率值; 表示样本纵轴特征分布对应的第二样本期望。由公式(3)可知,在确定样本纵轴偏移量时,还可以对第二样本期望进行softmax处理,也即 表示对第二样本期望进行归一化处理。
[0124] 步骤504C,将样本横轴偏移量和样本纵轴偏移量,确定为样本坐标偏移量。
[0125] 可选的,当分别确定出样本横轴偏移量和样本纵轴偏移量后,即可以将样本横轴偏移量和样本纵轴偏移量,确定为样本关键点在样本网格中的样本坐标偏移量。
[0126] 示意性的,样本坐标偏移量可以表示为(x,y),x为样本横轴偏移量,y为样本纵轴偏移量。
[0127] 步骤505,基于样本坐标偏移量,以及样本网格在样本图像中对应的样本网格位置,确定样本关键点在样本图像中所处的样本关键点位置。
[0128] 由于样本坐标偏移量是用于指示样本关键点在样本网格中所处的位置偏置的,而样本网格位于样本特征图的特定位置,对应若需要确定样本关键点在样本图像中所处的位置,还需要确定出样本网格在样本图像中对应的样本网格位置,因此,在一种可能的实施方式中,可以根据样本坐标偏移量,以及样本网格在样本图像中对应的样本网格位置,确定出样本关键点在样本图像中所处的样本关键点位置。
[0129] 由于样本坐标偏移量是基于样本特征图来确定的,而样本特征图与样本图像存在尺度差异,因此,在确定样本关键点在样本图像中的样本关键点位置时,还需要考虑到样本特征图相对于样本图像的下采样倍率,对应在一个示例性的例子中,步骤505可以包括步骤505A和步骤505B。
[0130] 步骤505A,确定样本特征图相对于样本图像的样本下采样倍率。
[0131] 在一种可能的实施方式中,通过获取样本图像对应的图像尺寸,以及样本特征图对应的图像尺寸,以确定样本特征图相对于样本图像的样本下采样倍率。
[0132] 在一个示例性的例子中,若样本特征图为6×6,而样本图像为48×48,则对应的样本下采样倍率为8倍。
[0133] 步骤505B,基于样本下采样倍率、样本网格位置以及样本坐标偏移量,确定样本关键点在样本图像中所处的样本关键点位置。
[0134] 在一个示例性的例子中,样本关键点位置的确定公式可以表示为:
[0135] (4)
[0136] (5)
[0137] 其中,xraw和yraw表示样本关键点在样本图像中的样本关键点位置,gx和gy表示样本网格(样本网格左上角)在样本图像中的样本网格位置,x和y表示样本关键点在样本网格中的样本坐标偏移量,stride表示样本下采样倍率。
[0138] 由公式(4)和公式(5)可知,在一种可能的实施方式中,当获取到样本下采样倍率、样本坐标偏移量以及样本网格位置后,可以将样本下采样倍率、样本坐标偏移量以及样本网格位置带入公式(4)和公式(5),即可以确定出样本关键点在样本图像中的样本关键点位置。
[0139] 可选的,针对样本网格在样本图像中对应样本网格位置的方式,可以根据样本网格在样本特征图中所处的网格位置和样本下采样倍率确定得到。
[0140] 如图7所示,其示出了本申请一个示例性实施例示出的关键点位置的确定过程示意图。以M=8为例(单位网格再根据8×8划分为小网格),当确定出样本网格701(单位网格)中存在样本关键点C后,获取样本网格701对应x方向上位置通道的特征值,以及y方向上位置通道的特征值,经过softmax处理,得到 x偏置热图702以及y偏置热图703,其中,偏置热图对应的颜色越深,表示样本关键点在该位置处的概率越大;进而根据x偏置热图702和y偏置热图703的交集,可以确定样本关键点在样本网格701中的偏置位置704(表示样本关键点C位于样本网格701的右下角位置处)。
[0141] 步骤506,基于样本关键点位置、标注关键点位置和第三阈值,确定类别预测损失。
[0142] 由于关键点检测任务涉及到两个子任务,一个是关键点分类(通过K个类别通道确定),对应类别预测损失,一个是关键点位置确定(通过2M个位置通道确定),对应位置预测损失,本实施例在设计关键点检测模型的类别预测损失时,引入样本关键点位置(预测得到的样本关键点位置)和标注关键点位置之间的误差分数(置信度分数),以此达到预测关键点位置的误差越大,则类别预测的置信度越小的目的。
[0143] 在一个示例性的例子中,关键点位置预测的置信度分数可以表示为:
[0144] (6)
[0145] 其中,score(pred,gt)表示样本关键点对应点位置预测的置信度分数,pred表示模型预测得到的样本关键点位置,gt表示真值(标注关键点位置),L2表示欧式距离,emax为预设的阈值(第三阈值),可以设置为0.15。
[0146] 公式(6)对应的函数示意图如图8所示,其中,横轴表示样本关键点对应的位置预测误差,纵轴表示置信度分数,可见当模型预测得到的样本关键点位置和标注关键点位置(真值)之间的位置预测误差越大,则置信度分数越小,比如,当关键点的位置预测误差从0逐步增大到0.15,则置信度分数会从1逐步降低到0。
[0147] 可选的,当确定出样本关键点应的置信度分数后,可以采用通用性Focal loss让关键点检测模型的置信度分数尽可能逼近真值,对应的,关键点检测模型对应的类别预测损失可以表示为:
[0148] (7)
[0149] 其中,y表示基于位置预测误差的置信度分数(当存在样本关键点,则y由样本关键点对应的位置预测误差确定,若不存在样本关键点,则y为0),σ表示样本关键点对应样本类别的预测分数,clsgt表示样本关键点对应样本类别的真值标签,pred表示模型预测得到的样本关键点位置,gt表示真值(标注关键点位置)。
[0150] 由公式(7)可知,losscls对应的最优解为σ=y,也就是说,关键点检测模型对应的类别预测损失接近于位置预测误差的置信度分数,因此,在一种可能的实施方式中,可以将获取到的样本关键点位置、标注关键点位置、第三阈值和类别预测分数带入公式(7)中,以确定关键点检测模型对应的类别预测损失。
[0151] 步骤507,基于样本关键点位置和标注关键点位置,确定位置预测损失。
[0152] 由于关键点检测模型存在两个子任务,关键点类别预测和关键点位置预测,因此,为了使得关键点检测模型具备较好的分类和位置预测功能,在模型训练过程中,除了需要优化分类预测损失,还需要优化位置预测损失,因此,在一种可能的实施方式中,可以求取样本关键点位置和标注关键点位置(真值)之间任意关于距离的损失,确定为位置预测损失,以便可以基于位置预测损失训练关键点检测模型,以便让预测位置更接近于真实位置。
[0153] 可选的,样本关键点位置和标注关键点位置之间关于距离的损失可以使用L1损失、L2损失以及smoothL1损失等,本申请实施例对此不构成限定。
[0154] 若直接使用样本关键点位置和标注关键点位置之间的距离损失训练关键点检测模型,可能会出现不符合真实场景的预测结果,如图9所示,其示出了本申请一个示例性实施例示出的两种预测结果。若M=8,假设要预测的数值为3.5,则期望预测结果为:模型输出是50%属于3,50%属于4,对应期望是3.5;但模型在实际预测过程中,若直接使用距离损失而不引入任何约束条件,模型可能会出现问题预测结果:模型输出50%属于0,50%属于7,对应期望也是3.5,但该预测结果不符合真实需求。
[0155] 因此,为了避免图9所示的问题预测结果,对位置预测损失进行改进,在位置预测损失中引入必要的约束条件,对应在一个示例性的例子中,确定位置预测损失的过程可以包括以下步骤。
[0156] 一、基于标注关键点位置,确定标注关键点在样本网格中对应的标注坐标偏移量。
[0157] 以预测的位置真值为α为例,在位置预测过程中,倾向于将样本关键点位置尽快聚焦在floor(α)和cell(α),floor和cell表示对α向下取整和向上取整,在一个示例性的例子中,位置预测损失可以表示为:
[0158] (8)
[0159] 其中,losscoord表示位置坐标损失,αi+1表示第一索引值,αi表示第二索引值,α表示预测真值(由标注关键点位置确定),cell(α)表示对α进行向上取整,floor(α)表示对α进行向下取整。
[0160] 在一种可能的实施方式中,当确定出标注关键点位置后,即可以根据标注关键点位置,确定出标注关键点在样本网格中对应的标注坐标偏移量,进而根据标注坐标偏移量,确定需要使得预测得到的样本关键点位置所快速聚焦的索引位置。
[0161] 二、确定标注坐标偏移量对应的第一索引值和第二索引值,第一索引值由对标注坐标偏移量进行向上取整得到,第二索引值由对标注坐标偏移量进行向下取整得到。
[0162] 在一种可能的实施方式中,对标注坐标偏移量进行向上取整,以得到第一索引值,对标注坐标偏移量进行向下取整,以得到第二索引值。
[0163] 在一个示例性的例子中,若预测值(标注坐标偏移量)为4.5,则第一索引值为5,第二索引值为4。
[0164] 三、确定样本关键点在第一索引值处对应的第一样本概率,以及样本关键点在第二索引值处对应的第二样本概率。
[0165] 可选的,当获取到第一索引值和第二索引值后,若预测得到的样本关键点对应的概率值的在第一索引值和第二索引值处尽可能最大,也就表示样本关键点位置越接近真值,对应需要获取样本关键点在第一索引值处对应的第一样本概率,以及样本关键点在第二索引值处的第二样本概率,以便在位置预测损失中引入第一样本概率和第二样本概率。
[0166] 四、基于第一样本概率、第二样本概率、第一索引值和第二索引值,确定位置预测损失。
[0167] 在一种可能的实施方式中,当获取到第一样本概率、第二样本概率、第一索引值和第二索引值后,即可以将上述参数带入公式(8),确定关键点检测模型对应的位置预测损失。
[0168] 步骤508,基于类别预测损失和位置预测损失,训练关键点检测模型。
[0169] 在一种可能的实施方式中,可以根据类别预测损失和位置预测损失共同训练关键点检测模型,其中,位置预测损失可以直接根据样本关键点位置和标注关键点位置之间的距离损失确定,也可以采用公式(8)所示的方式进行确定,本实施例对此不构成限定。
[0170] 可选的,上文实施例仅以单位网格(样本网格)为例对损失计算进行了相关说明,在实际应用过程中,关键点检测模型的损失为样本特征图中各个单位网格(样本网格)对应损失的损失之和。
[0171] 本实施例中,通过对采用一般性的概率分布表示样本关键点对应的样本关键点位置,可以克服回归方案的检测不稳定性的问题,从而扩大关键点检测模型的使用场景,而无需要求关键点必须满足各种分布假设,进一步提高关键点检测的稳定性和准确性。
[0172] 与上文模型训练过程中确定样本关键点对应样本关键点位置类似,在模型应用过程中,也是基于目标位置通道的特征值,以概率分布来表示目标关键点对应的目标关键点位置。
[0173] 在图3的基础上,如图10所示,步骤302可以被替换为步骤1001,且步骤303可以包括步骤1002、步骤1003和步骤1004。
[0174] 步骤1001,将K个类别通道中特征值大于第一阈值的类别通道确定为目标类别通道。
[0175] 可选的,可以通过上文实施例训练得到的关键点检测模型对原始图像进行特征提取,以得到关键点检测模型输出的目标特征图。其中,关键点检测模型包括特征提取网络、特征融合网络和检测头,特征提取网络用于对原始图像进行多尺度特征提取,特征融合网络用于对提取到的多尺度特征图进行特征融合,检测头用于根据特征融合后的特征图进行关键点类别预测和关键点位置预测。
[0176] 可选的,当确定出目标类别通道后,还可以根据目标类别通道对应的目标通道索引,以及通道索引和目标类别之间的对应关系,确定目标关键点所属的目标类别。
[0177] 步骤1002,对目标位置通道对应的特征值进行映射处理,得到目标特征值分布,目标特征值分布是目标关键点在目标网格中所处位置的概率分布。
[0178] 步骤1003,基于目标特征值分布,确定目标关键点在目标网格中的目标坐标偏移量。
[0179] 在一个示例性的例子中,步骤1003可以包括步骤1003A和步骤1003B。
[0180] 步骤1003A,将目标特征值分布中目标横轴特征分布对应的第一目标期望,确定为目标横轴偏移量。
[0181] 步骤1003B,将目标特征值分布中目标纵轴特征分布对应的第二目标期望,确定为目标纵轴偏移量。
[0182] 步骤1004,基于目标坐标偏移量,以及目标网格在原始图像中对应的目标网格位置,确定目标关键点在原始图像中所处的目标关键点位置。
[0183] 在一个示例性的例子中,步骤1004可以包括步骤1004A和步骤1004B。
[0184] 步骤1004A,确定目标特征图相对于原始图像的目标下采样倍率。
[0185] 步骤1004B,基于目标下采样倍率、目标网格位置以及目标坐标偏移量,确定目标关键点在原始图像中所处的目标关键点位置。
[0186] 本实施例中如何确定目标类别通道的过程,以及如何确定目标关键点位置的过程,均可以参考上文实施例中确定样本类别通道的过程,以及如何确定样本关键点位置的过程,本实施例在此不做赘述。
[0187] 如图11所示,其示出了本申请一个示例性实施例示出的关键点检测的过程示意图。将待检测图像1101输入特征提取网络1102,由特征提取网络1102对待检测图像1101进行多尺度的特征提取;并将提取到的多尺度特征图输入特征融合网络1103,由特征融合网络1103对不同尺度特征图进行特征融合,进而将特征融合后的特征图输入检测头1104,由检测头输出H×W×(K+2×M)的目标特征图1105,进而通过对目标特征图1105进行关键点类别预测和位置预测(后处理),从而输出关键点检测结果1106,其中,各个关键点所在单位网格对应的位置分布图可以明确关键点在单位网格中的偏移位置,比如,关键点A位于单位网格的右下角位置处。
[0188] 如图12所示,其示出了本申请一个示例性实施例示出的关键点检测结果示意图。由于带*号的车轮接地点为不可见的,则其对应的概率分布是更加分散的,但是,通过以期望方式构建的点坐标,这些不可见的点,也可以较为准确地预测出来,并且位置精度基本满足要求。带‑号的为因图像模糊造成有歧义的预测,关键点检测模型对该类型点的预测是:
纵向较为确定,而横向较为不准确,与人为经验一致。
[0189] 本实施例中,通过一般性的概率分布来表示目标关键点的位置对应的样本关键点位置,可以克服回归方案的检测不稳定性问题,从而扩大关键点检测模型的使用场景,而无需要求关键点必须满足各种分布假设,进一步提高关键点检测的稳定性和准确性。
[0190] 需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、时候和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的原始图像、样本图像等都是在充分授权的情况下获取的。
[0191] 以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
[0192] 图13是本申请一个示例性实施例提供的关键点检测装置的结构框图。该装置可以包括:
[0193] 特征提取模块1301,用于对原始图像进行特征提取,得到所述原始图像对应的目标特征图,所述目标特征图中包括K个类别通道和2M个位置通道,其中,K为正整数,M为大于1的整数,所述2M个位置通道用于预测关键点位置,所述2M个位置通道是所述目标特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0194] 确定模块1302,用于从所述K个类别通道中确定出目标类别通道,所述目标类别通道对应目标特征图中的目标网格中包含有属于目标类别的目标关键点;
[0195] 所述确定模块1302,还用于基于所述目标网格对应的目标位置通道,确定所述目标关键点在所述原始图像中所处的目标关键点位置。
[0196] 可选的,所述确定模块1302,还用于:
[0197] 对所述目标位置通道对应的特征值进行映射处理,得到目标特征值分布,所述目标特征值分布是所述目标关键点在所述目标网格中所处位置的概率分布;
[0198] 基于所述目标特征值分布,确定所述目标关键点在所述目标网格中的目标坐标偏移量;
[0199] 基于所述目标坐标偏移量,以及所述目标网格在所述原始图像中对应的目标网格位置,确定所述目标关键点在所述原始图像中所处的所述目标关键点位置。
[0200] 可选的,所述确定模块1302,还用于:
[0201] 将所述目标特征值分布中目标横轴特征分布对应的第一目标期望,确定为目标横轴偏移量;
[0202] 将所述目标特征值分布中目标纵轴特征分布对应的第二目标期望,确定为目标纵轴偏移量;
[0203] 将所述目标横轴偏移量和所述目标纵轴偏移量,确定为所述目标坐标偏移量。
[0204] 可选的,所述确定模块1302,还用于:
[0205] 确定所述目标特征图相对于所述原始图像的目标下采样倍率;
[0206] 基于所述目标下采样倍率、所述目标网格位置以及所述目标坐标偏移量,确定所述目标关键点在所述原始图像中所处的所述目标关键点位置。
[0207] 可选的,所述确定模块1302,还用于:
[0208] 将所述K个类别通道中特征值大于第一阈值的类别通道确定为所述目标类别通道。
[0209] 可选的,所述装置还包括:
[0210] 所述确定模块,还用于确定所述目标类别通道对应的目标通道索引;
[0211] 所述确定模块,还用于基于所述目标通道索引,确定所述目标关键点所属的所述目标类别。
[0212] 可选的,所述特征提取模块1301,还用于:
[0213] 通过关键点检测模型对所述原始图像进行特征提取,得到所述关键点检测模型输出的所述目标特征图;
[0214] 其中,所述关键点检测模型包括特征提取网络、特征融合网络和检测头,所述特征提取网络用于对所述原始图像进行多尺度特征提取,所述特征融合网络用于对提取到的多尺度特征图进行特征融合,所述检测头用于根据特征融合后的特征图进行关键点类别预测和关键点位置预测。
[0215] 综上所述,本申请实施例中,提供了一种预测关键点位置的方式,在对原始图像进行特征提取的过程中,增加提取到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,预测关键点在单位网格中2M个位置通道上的特征值,以确定出关键点在目标特征图中单位网格中的位置偏移量,从而提高关键点位置的预测精确度,进一步提高关键点预测的稳定性和准确性。
[0216] 图14是本申请另一个示例性实施例提供的关键点检测装置的结构框图。所述装置包括:
[0217] 特征提取模块1401,用于通过关键点检测模型对样本图像进行特征提取,得到所述样本图像对应的样本特征图,所述样本特征图中包括K个类别通道和2M个位置通道,所述2M个位置通道用于预测关键点位置,其中,K为正整数,M为大于1的整数,所述2M个位置通道是所述样本特征图中单位网格对应的通道,所述单位网格按照M×M划分;
[0218] 确定模块1402,用于从所述K个类别通道中确定出样本类别通道,所述样本类别通道对应样本特征图中的样本网格中包含属于样本类别的样本关键点;
[0219] 所述确定模块1402,还用于基于所述样本网格对应的样本位置通道,确定所述样本关键点在所述样本图像中所处的样本关键点位置;
[0220] 训练模块1403,用于基于所述样本关键点位置和标注关键点位置,训练所述关键点检测模型。
[0221] 可选的,所述确定模块1402,还用于:
[0222] 对所述样本位置通道对应的特征值进行映射处理,得到样本特征值分布,所述样本特征值分布是所述样本关键点在所述样本网格中所处位置的概率分布;
[0223] 基于所述样本特征值分布,确定所述样本关键点在所述样本网格中的样本坐标偏移量;
[0224] 基于所述样本坐标偏移量,以及所述样本网格在所述样本图像中对应的样本网格位置,确定所述样本关键点在所述样本图像中所处的所述样本关键点位置。
[0225] 可选的,所述确定模块1402,还用于:
[0226] 将所述样本特征值分布中样本横轴特征分布对应的第一样本期望,确定为样本横轴偏移量;
[0227] 将所述样本特征值分布中样本纵轴特征分布对应的第二样本期望,确定为样本纵轴偏移量;
[0228] 将所述样本横轴偏移量和所述样本纵轴偏移量,确定为所述样本坐标偏移量。
[0229] 可选的,所述确定模块1402,还用于:
[0230] 确定所述样本特征图相对于所述样本图像的样本下采样倍率;
[0231] 基于所述样本下采样倍率、所述样本网格位置以及所述样本坐标偏移量,确定所述样本关键点在所述样本图像中所处的所述样本关键点位置。
[0232] 可选的,所述确定模块1402,还用于:
[0233] 将所述K个类别通道中特征值大于第二阈值的类别通道确定为所述样本类别通道。
[0234] 可选的,所述装置还包括:
[0235] 所述确定模块,还用于确定所述样本类别通道对应的样本通道索引;
[0236] 所述确定模块,还用于基于所述样本通道索引,确定所述样本关键点对应的所述样本类别。
[0237] 可选的,所述训练模块1403,还用于:
[0238] 基于所述样本关键点位置、所述标注关键点位置和第三阈值,确定类别预测损失;
[0239] 基于所述样本关键点位置和所述标注关键点位置,确定位置预测损失;
[0240] 基于所述类别预测损失和所述位置预测损失,训练所述关键点检测模型。
[0241] 可选的,所述训练模块1403,还用于:
[0242] 基于所述标注关键点位置,确定标注关键点在所述样本网格中对应的标注坐标偏移量;
[0243] 确定所述标注坐标偏移量对应的第一索引值和第二索引值,所述第一索引值由对所述标注坐标偏移量进行向上取整得到,所述第二索引值由对所述标注坐标偏移量进行向下取整得到;
[0244] 确定所述样本关键点在所述第一索引值处对应的第一样本概率,以及所述样本关键点在所述第二索引值处对应的第二样本概率;
[0245] 基于所述第一样本概率、所述第二样本概率、所述第一索引值和所述第二索引值,确定所述位置预测损失。
[0246] 综上所述,本申请实施例中,提供了一种关键点检测模型的训练方法,使得关键点检测模型具备准确提取目标特征图的功能,从而使得关键点检测模型在对原始图像进行特征提取的过程中,增加提取到的目标特征图中用于预测关键点位置的位置通道的通道数,由2个位置通道增加至2M个位置通道,且M大于1,进而通过2M个位置通道进行关键点位置预测,相比于相关技术中直接输出两个位置特征值,可以对目标特征图中的单位网格进行更细粒度的划分,预测关键点在单位网格中2M个位置通道上的特征值,以确定出关键点在目标特征图中单位网格中的位置偏移量,从而提高关键点位置的预测精确度,进一步提高关键点预测的稳定性和准确性。
[0247] 请参考图15,其示出了本申请一个实施例提供的计算机设备的结构示意图,该计算机设备可以用于实施上述实施例中提供的计算机设备执行的关键点检测方法。所述计算机设备1500包括中央处理单元(CPU,Central Processing Unit)1501、包括随机存取存储器(RAM,Random Access Memory)1502和只读存储器(ROM,Read‑Only Memory)1503的系统存储器1504,以及连接系统存储器1504和中央处理单元1501的系统总线1505。所述计算机设备1500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O,Input/Output)1506,和用于存储操作系统1513、应用程序1514和其他程序模块1515的大容量存储设备1507。
[0248] 所述基本输入/输出系统1506包括有用于显示信息的显示器1508和用于用户输入信息的诸如鼠标、键盘之类的输入设备1509。其中所述显示器1508和输入设备1509都通过连接到系统总线1505的输入/输出控制器1510连接到中央处理单元1501。所述基本输入/输出系统1506还可以包括输入/输出控制器1510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1510还提供输出到显示屏、打印机或其他类型的输出设备。
[0249] 所述大容量存储设备1507通过连接到系统总线1505的大容量存储控制器(未示出)连接到中央处理单元1501。所述大容量存储设备1507及其相关联的计算机可读介质为计算机设备1500提供非易失性存储。也就是说,所述大容量存储设备1507可以包括诸如硬盘或者CD‑ROM(Compact Disc Read‑Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
[0250] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read‑Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read‑Only Memory,带电可擦除可编程只读存储器)、闪存或其他固态存储其技术,CD‑ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1504和大容量存储设备1507可以统称为存储器。
[0251] 根据本申请的各种实施例,所述计算机设备1500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1500可以通过连接在所述系统总线1505上的网络接口单元1511连接到网络1512,或者说,也可以使用网络接口单元1511来连接到其他类型的网络或远程计算机系统(未示出)。
[0252] 所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上中央处理单元1501执行。
[0253] 本申请还提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任意示例性实施例所提供的关键点检测方法。
[0254] 本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的关键点检测方法。
[0255] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0256] 以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。