目标对象的识别方法和装置、关键点检测方法和装置与流程
未命名
09-29
阅读:71
评论:0
1.本公开涉及人工智能技术领域,尤其涉及目标对象的识别方法和装置、关键点检测方法和装置。
背景技术:
2.在实际应用中,常常需对包括目标对象的图像进行处理,包括从目标图像中检测目标对象的关键点,以及识别目标图像中目标对象的类别。有时基于目标对象本身的特征难以准确地对目标对象进行检测和识别,因此,需要先检测出目标对象周围的其他对象,再借助其他对象来对目标对象进行检测和识别。然而,上述过程的耗时较长,导致图像处理效率较低。
技术实现要素:
3.第一方面,本公开实施例提供一种目标对象的识别方法,所述方法包括:对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。
4.第二方面,本公开实施例提供一种目标对象的关键点检测方法,所述方法包括:对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量;基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。
5.第三方面,本公开实施例提供一种目标对象的识别装置,所述装置包括:第一检测模块,用于对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;第一确定模块,用于基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。
6.第四方面,本公开实施例提供一种目标对象的关键点检测装置,所述装置包括:第二检测模块,用于对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素
点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;第二确定模块,用于基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量;匹配模块,用于基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。
7.第五方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
8.第六方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
9.本公开实施例直接对目标图像中的目标对象进行检测,得到目标对象上多个预设关键点分别对应的位置热力图,并基于各个预设关键点的位置热力图确定目标对象的类别,无需先从目标图像中检测出其他对象,再基于其他对象确定目标对象的类别,提高了对目标图像的处理效率。
10.本公开实施例通过对目标图像进行检测,得到目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图,基于上述位置热力图确定该位置热力图对应的预设关键点对应的至少一个候选点,基于上述特征向量图确定该特征向量图对应的预设关键点对应的至少一个候选点的特征向量,并基于各个候选点的特征向量对候选关键点进行匹配,从而得到各个预设关键点在目标图像中的像素位置,提高了目标对象的关键点的检测效率,进而提升了目标对象的识别效率。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
13.图1a是相关技术中的目标对象的检测和识别过程的流程图。
14.图1b是虚拟试戴场景的示意图。
15.图1c是其他对象不在图像采集装置的视野范围内时的示意图。
16.图1d是目标对象的检测框的大小和形状的示意图。
17.图2是本公开实施例的目标对象的识别方法的流程图。
18.图3是不同类别的目标对象上的关键点的示意图。
19.图4是图3所示的实施例中各个关键点的位置热力图的示意图。
20.图5a和图5b分别是位置热力图中的概率的示意图。
21.图5c是1号关键点和2号关键点对应的候选点的示意图。
22.图6是滑动窗口的示意图。
23.图7是重叠的目标对象的示意图。
24.图8是本公开实施例的目标对象的关键点检测方法的流程图。
25.图9是本公开实施例的总体流程图。
26.图10是本公开实施例的目标对象的识别装置的框图。
27.图11是本公开实施例的目标对象的关键点检测装置的框图。
28.图12是本公开实施例的计算机设备的结构示意图。
具体实施方式
29.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
30.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
31.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
32.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
33.在对目标对象进行检测和识别时,常常需要先检测出目标对象周围的其他对象,再借助其他对象来对目标对象进行检测,这种检测方式耗时较长。以目标对象是手腕104为例,参见图1a,在对包括手腕104的图像进行检测和识别的一种方式中,需要先采用手部检测模型101从图像中检测出手部的位置信息和类别信息(用于表征手部是左手还是右手),再将手部的位置信息和类别信息输入手腕关键点定位模型102,手腕关键点定位模型102基于手部的位置信息对手腕上的关键点进行定位,得到手腕104上的关键点的位置信息,并基于手部的类别信息确定手腕104的类别信息。
34.手腕检测和识别可应用于虚拟试戴场景,如图1b所示,在该场景下,可以通过图像采集装置(例如手机103上的摄像头,摄像头在图中未示出)采集手腕图像105,按照上述方式获取手腕104上的关键点的位置信息和手腕104的类别信息,手腕104上的关键点的位置信息可用于估计出手腕104的姿态,基于手腕104的姿态以及手腕104的类别信息可以在手腕图像105中渲染出需要试戴的对象(例如,手表、手链),并在显示界面106上显示渲染后的手腕图像105,从而展现出将需要试戴的对象佩戴在手腕104上的视觉效果。由于上述手腕检测过程需要采用两个不同模型级联得到检测结果,对于低算力平台,两个模型级联使用
会造成单帧图像的检测耗时过久,再加上后续的姿态估计的算法耗时,容易影响到算法整体的实时性。
35.本领域技术人员可以理解,以上仅为本公开的一种应用场景,并非用于限制本公开。在其他场景下,目标对象也可以是其他对象,例如,脖子、机械臂、灯柱等。并且,除了应用于虚拟试戴场景之外,检测出的目标对象上的关键点的位置信息以及识别出的目标对象的类别信息也可以用于其他应用场景,此处不再赘述。
36.此外,除了上述耗时较长的问题之外,上述借助其他对象来检测和识别目标对象的方案还存在以下问题:
37.(1)在图像采集装置与目标对象之间的距离非常接近的情况下,其他对象往往不会出现在图像采集装置的视野范围内,导致无法采集到包括其他对象的图像,从而也无法借助其他对象来对目标对象进行检测。参见图1c,当用户希望近距离观察手表细节时,手机103的摄像头会距离手腕104很近,此时往往手部不会出现在摄像头采集的图像中,导致手部检测模型101检测不到手部,难以定位手腕104的位置,从而无法完成虚拟穿戴特效的渲染,检测稳定性较差。
38.(2)在难以借助其他对象来检测目标对象的情况下,如果直接采用检测模型检测目标对象,容易出现检测框定义不一致的现象,即,不同姿态的目标对象的检测框的大小和形状无法保持一致。参见图1d,仍以目标对象是手腕104为例,手腕104在姿态一下的检测框为x1,手腕104在姿态二下的检测框为x2。可以看出,两个检测框的大小和形状(主要表现为检测框的长宽比例)差异较大,从而导致检测模型的检测结果不准确。此外,用于训练检测模型的样本图像中样本对象的检测框的大小和形状差异较大,也不利于检测模型收敛。
39.基于此,本公开实施例提供一种目标对象的识别方法,参见图2,所述方法包括:
40.步骤201:对目标图像进行检测,得到目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,位置热力图中每一像素点的热力值表征目标图像中对应的像素点为与该位置热力图对应的预设关键点的概率;
41.步骤202:基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定目标对象的类别。
42.本公开实施例的目标对象包括至少两个类别。为了便于描述,下文以目标对象是手腕为例对本公开的方案进行说明。手腕的类别可以包括左手类别和右手类别,分别用于表示手腕为左手手腕和右手手腕。下文中如未进行特别限定,则“目标对象”可以泛指任意类别且可以基于所包含的关键点的特性通过图像识别的方式确定出类别的目标对象。
43.目标对象上可以包括多个预设关键点,例如,可以将手腕两侧边缘的轮廓点作为手腕上的预设关键点,轮廓点为手腕上用于确定手腕的边缘轮廓的点。不同的类别分别对应所述目标对象上不同的关键点。可以通过不同的标识信息来分别标识不同的关键点,其中,多个不同类别的目标对象上的关键点具有各不相同的标识信息,同一类别的目标对象上的多个不同关键点也具有各不相同的标识信息。如图3所示,在目标对象为手腕,且手腕上包括两个不同的关键点的情况下,可以将左手手腕上的两个关键点分别标记为1号关键点和2号关键点,并将右手手腕上的两个关键点分别标记为3号关键点和4号关键点。其中,1号关键点和4号关键点为靠近大拇指一侧的关键点,2号关键点和3号关键点为靠近小指一侧的关键点。当然,上述方式仅为示例性说明,各个关键点也可以采用其他方式进行标识。
44.在步骤201中,目标图像可以是实时采集的图像,也可以是预先采集并存储的图像;所述目标图像可以是图像采集装置采集的原始图像,也可以是所述原始图像经图像处理(例如,缩放处理、裁剪处理)后得到的图像。目标图像中可能包括目标对象,也可能不包括目标对象。通过对目标图像进行检测,可以得到所述目标对象上各个预设关键点的位置热力图。位置热力图中的像素点可以与目标图像中的像素点一一对应,位置热力图中每一像素点的热力值表征目标图像中对应的像素点为与该位置热力图对应的预设关键点的概率。接着前面的例子,1号关键点、2号关键点、3号关键点和4号关键点可以分别对应一张位置热力图,分别记为位置热力图1、位置热力图2、位置热力图3和位置热力图4。其中,位置热力图1中的每一像素点的热力值表征目标图像中对应的像素点为1号关键点的概率。
45.可以采用经过训练的神经网络模型对目标图像进行检测来获得位置热力图。在位置热力图中,一个像素点的概率越大,表示该像素点为对应的预设关键点的概率越高;反之,一个像素点的概率越小,表示该像素点为对应的预设关键点的概率越低。例如,假设图3中的1号关键点对应的位置热力图中坐标为(x,y)的像素点对应的概率为p,则表示目标图像中坐标为(x,y)的像素点为1号关键点的概率等于p。位置热力图中各个像素点的概率也可以表示为分数,该分数的取值可以在0到1之间,或者在0到100之间,或者在其他数值区间内。位置热力图中一个像素点的分数越高,表示该像素点为关键点的概率越大。
46.在一些实施例中,无论目标图像中包括多少个目标对象,也无论目标图像中包括何种类别的目标对象,通过对目标图像进行检测,均可以获取到所有类别的目标对象的各个关键点的位置热力图。例如,在图3所示的例子中,所述位置热力图可以包括1号关键点对应的位置热力图、2号关键点对应的位置热力图、3号关键点对应的位置热力图和4号关键点对应的位置热力图。各个关键点的位置热力图可以与该关键点的标识信息相关联。或者,在对目标图像进行检测之后,也可以按照预先定义的顺序依次输出各个关键点的位置热力图。例如,按照1号关键点、2号关键点、3号关键点和4号关键点的顺序依次输出各关键点的位置热力图。通过采用上述任意一种方式,能够快速地确定每张位置热力图所属的关键点。
47.在另一些实施例中,如果目标图像上仅包括特定类别的目标对象,也可以仅输出所述特定类别对应的关键点的位置热力图。例如,在目标图像上仅包括左手手腕的情况下,可以仅输出1号关键点对应的位置热力图和2号关键点对应的位置热力图,而不输出3号关键点的位置热力图和4号关键点的位置热力图。通过获取位置热力图与关键点的标识信息之间的关联关系,可以确定输出的位置热力图所属的预设关键点。
48.应当说明的是,各个关键点的位置热力图可以是不同的图,也可以放在同一张图上。在前一种情况下,位置热力图中的每个像素点均包括一个概率,该概率即为所述像素点为对应关键点的概率。在后一种情况下,位置热力图中的每个像素点均包括多个概率,每个概率分别对应一个关键点。例如位置热力图包含多个通道,每个通道分别对应一个预设关键点,即每一像素点的每个通道的像素值分别对应该像素点为对应的一个预设关键点的概率。图4示出了图3所示的实施例中各个关键点的位置热力图,假设位置热力图的维度为5x5,图中每个方块表示位置热力图中的一个像素点,以位置热力图中第1行第1列的像素点为例,该像素点的概率可以记为(p1,p2,p3,p4),其中,p1、p2、p3和p4分别表示目标图像中第1行第1列的像素点为1号关键点、2号关键点、3号关键点和4号关键点的概率。
49.在步骤202中,可以基于各个预设关键点分别对应的位置热力图,以及预设的对象
类别与关键点之间的对应关系,确定目标对象的类别。
50.仍以目标对象的类别包括左手类别和右手类别,且手腕关键点包括图3所示的四个关键点为例,其中,对象类别与关键点之间的对应关系可以预先建立。例如,在图3所示的实施例中,1号关键点和2号关键点对应于左手类别,3号关键点和4号关键点对应于右手类别。在目标对象的数量为n(n为整数)的情况下,可以分别确定每个目标对象的类别,从而得到n个类别。
51.在一些实施例中,如果目标图像上包括某一类别的目标对象,则该类别对应的至少一个关键点的位置热力图中包括概率大于第一概率阈值的像素点。接着上面的例子,目标图像可能存在以下几种情况:
52.情况一:目标图像上仅包括左手类别的手腕,此时满足条件一:1号关键点的位置热力图和/或2号关键点的位置热力图中包括概率大于第一概率阈值的像素点。
53.情况二:目标图像上仅包括右手类别的手腕,此时满足条件二:3号关键点的位置热力图和/或4号关键点的位置热力图中包括概率大于第一概率阈值的像素点。
54.情况三:目标图像上同时包括左手类别的手腕和右手类别的手腕,此时条件一和条件二均满足。
55.情况四:目标图像上既不包括左手类别的手腕,又不包括右手类别的手腕,此时条件一和条件二均不满足。
56.上述第一概率阈值可以基于实际情况设置,在一些实施例中,可以设置为0。在这种情况下,以上述情况一为例,如果目标图像上仅包括左手类别的手腕,则满足条件一:1号关键点的位置热力图和/或2号关键点的位置热力图中包括概率非零的像素点,否则,1号关键点的位置热力图和2号关键点的位置热力图中的各个像素点的概率均为0。
57.情况二、情况三和情况四与情况一类似;并且,除了上述将第一概率阈值设置为0的情况之外,在其他实施例中,第一概率阈值也可以设置为其他数值,此处不再赘述。
58.在一些实施例中,除了确定目标对象的类别之外,还可以基于所述多个预设关键点分别对应的位置热力图,确定所述多个预设关键点在所述目标图像中的像素位置。下面对确定预设关键点在所述目标图像中的位置(简称确定位置)的几种具体方式进行举例说明。
59.方式一:可以从位置热力图中确定概率最大的像素点,将所述概率最大的像素点在目标图像上对应的像素点确定为所述位置热力图对应的预设关键点。假设图5a为图3中的1号关键点的位置热力图(即位置热力图1),位置热力图1中的每个方块代表一个像素点,方块内的数字代表该像素点对应的概率,其中,坐标为(4,3)的像素点(即位置热力图中第4行第3列的像素点,如图中的灰色方块所示)对应的概率最大,因此,可以将位置热力图1中坐标为(4,3)的像素点在目标图像上对应的像素点(即目标图像上坐标为(4,3)的像素点)确定为1号关键点。
60.方式二:可以将位置热力图中概率最大,且概率大于预设概率的像素点在目标图像上对应的像素点确定为所述位置热力图对应的预设关键点。仍以图5a所示的位置热力图为例,假设该位置热力图为图3中的1号关键点的位置热力图(即位置热力图1)。在预设概率为0.8的情况下,坐标为(4,3)的像素点同时满足:该像素点在1号关键点的位置热力图中的概率最大,以及该像素点的概率大于预设概率,因此,可以将位置热力图1中坐标为(4,3)的
像素点在目标图像上对应的像素点(即目标图像上坐标为(4,3)的像素点)确定为1号关键点。在一些实施例中,所述预设概率大于前述实施例中的第一概率阈值。例如,所述第一概率阈值为0,所述预设概率为大于0的值(例如,0.8)。
61.方式三:假设目标图像包括多个图像块,每个图像块中包括一个目标对象,则可以按照上述方式一或者方式二分别确定每个图像块中的目标关键点的位置。假设目标图像包括4个图像块的数量,这4个图像块在位置热力图中也分别对应4个图像块,图5b为图3中的1号关键点的位置热力图(即位置热力图1),位置热力图1中的每个方块代表一个像素点,方块内的数字代表该像素点对应的概率,黑色、深灰色、浅灰色和白色的方块分别对应目标图像中的四个不同的图像块。以位置热力图中的黑色方块对应的像素点为例,黑色方块对应的像素点中概率最大的像素点是坐标为(3,3)的像素点,因此,在目标图像中,坐标为(3,3)的像素点为黑色方块对应的图像块中的1号关键点。同理,在目标图像中,坐标为(2,5)的像素点为深灰色方块对应的图像块中的1号关键点,坐标为(5,2)的像素点为浅灰色方块对应的图像块中的1号关键点,坐标为(5,5)的像素点为白色方块对应的图像块中的1号关键点。
62.方式四:基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点;获取每个预设关键点分别对应的各个候选点的特征向量;所述特征向量基于所述目标图像得到;基于各个预设关键点分别对应的各个候选点的特征向量,以及各个预设关键点之间的预设距离约束条件,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。
63.假设目标关键点包括图3所示的1号关键点和2号关键点,如图5c所示,可以确定1号关键点对应的至少一个候选点(假设为4个),记为{a1,b1,c1,d1},并确定2号关键点对应的至少一个候选点(假设为4个),记为{a2,b2,c2,d2}。当然,图中仅为示例性说明,在实际应用中,1号关键点对应的候选点的数量与2号关键点对应的候选点的数量既可以相同,也可以不相同。然后,分别获取候选点a1、候选点b1、候选点c1、候选点d1的特征向量,记为{v11,v12,v13,v14};并分别获取候选点a2、候选点b2、候选点c2、候选点d2的特征向量,记为{v21,v22,v23,v24},再基于{v11,v12,v13,v14}和{v21,v22,v23,v24},以及预设距离约束条件,对{a1,b1,c1,d1}与{a2,b2,c2,d2}进行匹配,得到一组或多组匹配点,每组匹配点包括一个对应于1号关键点的候选点以及一个对应于2号关键点的候选点。假设{a1,b2}为一组匹配点,则可以将候选点a1在目标图像中的位置确定为1号关键点所在的位置,将候选点b2在目标图像中的位置确定为2号关键点所在的位置。
64.其中,预设距离约束条件可以包括:多个所述预设关键点中任意两个预设关键点对应的候选点的特征向量之间的距离小于预设距离阈值(称为条件一);以及由匹配成功的候选点所形成的候选组的数量最大(称为条件二)。由于不同目标对象上的关键点的特征向量之间的距离一般差异较大,而同一目标对象上的关键点的特征向量之间的距离一般比较接近,因此,通过设置条件一,能够将参与匹配的候选点限制为同一目标对象上的关键点对应的候选点,在多目标对象的场景中也能实现目标对象的准确识别。通过设置条件二,能够匹配出尽可能多的匹配点。结合上述两个条件,能够有效提高匹配结果的准确度。
65.在上述四种确定位置的具体方式中,方式一和方式二比较适用于目标图像中仅包括一个目标对象的情况,方式三能够检测目标图像中的多个目标对象,适用于各个目标对
象在目标图像中的位置相对固定的情况。方式四则能够有效对包括各种数量以及位置分布情况的目标对象的目标图像进行检测,适用范围广,检测准确度高。
66.下面通过一些实施例对方式四的方案进行具体说明。针对在所述位置热力图上滑动的滑动窗口,可以确定每个滑动位置处所述滑动窗口内满足预设条件的目标像素点;所述预设条件基于所述目标关键点的位置热力图中所述滑动窗口内的各个像素点的概率确定;将各个滑动位置处的目标像素点均确定为所述关键点对应的候选点。
67.滑动窗口的尺寸可以预先设置,例如,可以设置为5x5。如果滑动窗口设置得过大,则可能导致对相距较近的多个目标对象上的关键点的漏检;如果滑动窗口设置得过小,则可能导致从一个目标对象上获取到的候选点数量较多,从而降低对所述各个目标关键点对应的候选点进行匹配这一过程的效率。
68.滑动窗口可以以预设的步长(例如,1)在位置热力图上进行滑动,滑动窗口每滑动一次,在位置热力图上覆盖的位置称为一个滑动位置。参见图6,假设每个小方块表示图3中的1号关键点的位置热力图中的一个像素点,两个虚线框分别表示滑动位置p1和滑动位置p2处的滑动窗口,像素点a为滑动位置p1处的滑动窗口内满足预设条件的目标像素点,像素点b为滑动位置p2处的滑动窗口内满足预设条件的目标像素点,则可以将像素点a和像素点b均确定为1号关键点对应的候选点。
69.为了简洁,图中仅示出了滑动位置p1和滑动位置p2这两个滑动位置处的滑动窗口,本领域技术人员可以理解,除了图中示出的两个滑动位置处的滑动窗口以外,其他滑动位置处也可以包括滑动窗口,从而1号关键点对应的候选点除了图中所示的像素点a和像素点b之外,还可以包括其他的像素点。
70.在一些实施例中,所述预设条件包括:所述目标像素点的概率大于所述滑动窗口内除所述目标像素点以外的其他像素点的概率;以及所述目标像素点的概率大于第二概率阈值。也就是说,针对任一滑动位置处的滑动窗口,如果一个像素点的概率为该滑动窗口内的最大概率,且该像素点的概率大于第二概率阈值,则将该像素点确定为目标像素点。如果一个像素点的概率不是该滑动窗口内的最大概率,或者该像素点的概率小于或等于第二概率阈值,则该像素点不是目标像素点。这样,可以从每个滑动位置处的滑动窗口内确定出至多一个目标像素点。在一些实施例中,所述第二概率阈值大于前述第一概率阈值。例如,所述第一概率阈值为0,所述第二概率阈值为大于0的值(例如0.8)。第二概率阈值与前述方式二中的预设概率可以相等,也可以不相等。
71.上述实施例中采用的特征向量可以基于所述目标图像得到。具体来说,可以对所述目标图像进行检测,得到所述目标对象上的所述多个预设关键点分别对应的特征向量图;所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量。
72.仍以图3所示的四个关键点为例,可以对目标图像进行检测,得到1号关键点的特征向量图、2号关键点的特征向量图、3号关键点的特征向量图和4号关键点的特征向量图。假设目标关键点包括1号关键点,则可以基于1号关键点的特征向量图确定1号关键点对应的各个候选点的特征向量。获取其他目标关键点对应的各个候选点的特征向量的过程与获取1号关键点对应的各个候选点的特征向量的过程类似,此处不再赘述。
73.各个关键点的位置热力图和特征向量图均可以通过预先训练的目标神经网络对所述目标图像进行检测得到。该目标神经网络可以按照预设的顺序输出各个关键点的位置热力图和特征向量图,以图3所示的四个关键点为例,输出顺序可以依次为:1号关键点的位置热力图、2号关键点的位置热力图、3号关键点的位置热力图、4号关键点的位置热力图、1号关键点的特征向量图、2号关键点的特征向量图、3号关键点的特征向量图和4号关键点的特征向量图。当然,上述顺序仅为示例性说明,目标神经网络还可以按照其他顺序输出各个预设关键点的位置热力图和特征向量图。由于各个预设关键点的位置热力图和特征向量图的输出顺序是固定的,因此,可以根据目标神经网络的输出顺序确定各位置热力图和特征向量图所属的预设关键点。或者,目标神经网络也可以为每张位置热力图和特征向量图设置标识信息,以通过标识信息标识各位置热力图和特征向量图所属的预设关键点。
74.应当说明的是,各个预设关键点可以共用一张特征向量图。然而,在实际应用中,可能存在目标图像中的两个目标对象交叠在一起的情况。在这种情况下,如果各个关键点可以共用一张特征向量图,会使得不同目标对象上的预设关键点的特征向量相同,从而导致将两个不同目标对象上的预设关键点匹配成一组匹配点。如图7所示,假设目标对象为手腕,可以看出,图中包括手腕m1和手腕m2,且手腕m1与手腕m2交叠在一起,且交叠的部分包括手腕m1上的至少一个预设关键点q1以及手腕m2上的至少一个预设关键点q2。在各个预设关键点可以共用一张特征向量图的情况下,可能错误地将预设关键点q1与预设关键点q2匹配成一组匹配点。因此,可以独立地为每个预设关键点均生成一张特征向量图,从而减少不同的目标对象交叠在一起导致的错误匹配。
75.在一些实施例中,所述目标神经网络可以基于样本图像以及所述样本图像的标注信息训练得到。其中,所述样本图像中可以包括一个或多个目标对象,该目标对象可以是各种类别的目标对象。为了便于区分,下面将样本图像中包括的目标对象称为样本对象。
76.所述标注信息可以包括:所述样本图像中的样本对象的类别信息;以及所述样本图像中的样本对象上多个预设关键点的位置信息。以样本对象是手腕为例,所述标注信息中的类别信息可以包括左手类别和/或右手类别。在不同的类别信息对应不同的预设关键点的情况下,所述标注信息中的类别信息也可以是预设关键点的标识信息。例如,以样本对象的类别和预设关键点为图3所示的情况为例,可以在样本图像中标注样本对象的预设关键点的标识信息,如“1号关键点”、“2号关键点”,由于1号关键点和2号关键点为左手类别的手腕上的关键点,因此,基于标注信息“1号关键点”和/或“2号关键点”,可以确定样本图像中的手腕的类别为左手类别。样本对象上各个预设关键点的位置信息可以用该预设关键点在样本图像中的像素坐标来表示。
77.下面对目标神经网络的训练过程进行举例说明。在一些实施例中,可以分别获取所述样本对象上多个所述预设关键点分别对应的第一样本位置热力图和第二样本位置热力图;所述第一样本位置热力图基于所述标注信息中对应于所述样本位置热力图的预设关键点的位置信息生成,所述第二样本位置热力图由初始神经网络对所述样本图像进行检测后输出;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数;基于所述损失函数对所述初始神经网络进行训练,得到所述目标神经网络。
78.在本实施例中,可以将标注信息中的预设关键点的位置信息转换成各个预设关键
点对应的第一位置热力图,具体的转换方式可以根据实际需要确定,本公开对此不做限制。还可以获取未经训练的神经网络(即初始神经网络)输出的第二位置热力图。第一位置热力图与第二位置热力图上的像素点一一对应。在确定损失函数时,针对每个预设关键点,可以对该预设关键点的第一位置热力图与第二位置热力图中各个像素点的概率之间的差异进行求和,得到该预设关键点对应的总差异。然后,对各个类别的预设关键点对应的总差异进行求和,得到所述损失函数。在一些实施例中,所述损失函数可以采用l2损失函数,损失函数具体可以表示为:
[0079][0080]
其中,yi为第一位置热力图中第i个像素点的概率,为第二位置热力图中第i个像素点的概率,m为第一位置热力图中像素点的总数(也即第二位置热力图中像素点的总数),n为各个类别的预设关键点的总数。
[0081]
进一步地,在样本图像中包括多个样本对象的情况下,还可以获取所述样本图像中多样本对象中任意两个样本对象上的预设关键点的特征向量之间的第一距离;获取所述样本图像中同一样本对象上的多个预设关键点中任意两个预设关键点的特征向量之间的第二距离;基于所述第一距离和所述第二距离建立惩罚项;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异以及所述惩罚项建立损失函数。
[0082]
在一些实施例中,所述惩罚项包括第一子项和第二子项,其中,第一子项用于对所述第一距离进行惩罚。如果第一距离大于预设的距离阈值,第一子项小于第一预设值,如果第一距离小于或等于预设的距离阈值,第一子项大于所述第一预设值。第二子项用于对所述第二距离进行惩罚。如果第二距离大于预设的距离阈值,第二子项大于第二预设值,如果第二距离小于或等于预设的距离阈值,第二子项小于所述第二预设值。
[0083]
通过设置惩罚项,能够对所述第一距离小于预设距离的情况进行惩罚,并对所述第二距离大于预设距离的情况进行惩罚,使得训练得到的神经网络输出的特征向量满足:同一目标对象的关键点的特征向量之间的距离小于预设距离,不同目标对象的关键点的特征向量之间的距离大于预设距离。
[0084]
本公开实施例直接对目标图像中的目标对象进行检测,得到目标对象上各个预设关键点的位置热力图,并基于各个预设关键点的位置热力图确定目标对象的类别,无需先从目标图像中检测出其他对象,再基于其他对象确定目标对象的类别,提高了对目标图像的处理效率。
[0085]
参见图8,本公开实施例还提供一种目标对象的关键点检测方法,所述方法包括:
[0086]
步骤801:对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;
[0087]
步骤802:基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预
设关键点在所述目标图像中对应的至少一个候选点的特征向量;
[0088]
步骤803:基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。
[0089]
在一些实施例中,所述方法还包括:基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。
[0090]
在一些实施例中,所述基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,包括:基于各个所述预设关键点分别对应的各个候选点的特征向量,以及各个预设关键点之间的预设距离约束条件,对各个所述预设关键点分别对应的候选点进行匹配;所述预设距离约束条件包括:多个所述预设关键点中任意两个预设关键点对应的候选点的特征向量之间的距离小于预设距离阈值;以及由匹配成功的候选点所形成的候选组的数量最大。
[0091]
在一些实施例中,所述基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,包括:针对在所述位置热力图上滑动的滑动窗口,确定每个滑动位置处所述滑动窗口内满足预设条件的目标像素点;所述预设条件基于所述位置热力图中所述滑动窗口内的各个像素点对应的所述概率确定;将各个目标像素点均确定为所述位置热力图对应的预设关键点对应的候选点。
[0092]
在一些实施例中,所述预设条件包括:所述目标像素点对应的所述概率大于所述滑动窗口内除所述目标像素点以外的其他像素点对应的所述概率;所述目标像素点对应的所述概率大于预设概率阈值。
[0093]
在一些实施例中,所述对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图,包括:通过预先训练的目标神经网络对所述目标图像进行检测,得到所述多个预设关键点分别对应的位置热力图和特征向量图;所述目标神经网络基于样本图像以及所述样本图像的标注信息训练得到,所述标注信息包括:所述样本图像中的样本对象的类别信息;以及所述样本图像中的样本对象上多个所述预设关键点的位置信息。
[0094]
在一些实施例中,所述目标神经网络基于以下方式训练得到:分别获取所述样本对象上多个所述预设关键点分别对应的第一样本位置热力图和第二样本位置热力图;所述第一样本位置热力图基于所述标注信息中对应于所述样本位置热力图的预设关键点的位置信息生成,所述第二样本位置热力图由初始神经网络对所述样本图像进行检测后输出;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数;基于所述损失函数对所述初始神经网络进行训练,得到所述目标神经网络。
[0095]
在一些实施例中,所述样本图像上包括多个样本对象;所述基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数,包括:获取所述样本图像中多样本对象中任意两个样本对象上的预设关键点的特征向量之间的第一距离;获取所述样本图像中同一样本对象上的多个预设关键点中任意两个预设关键点的特征向量之间的第二距离;基于所述第一距离和所述第二距离建立惩罚项;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间
的差异以及所述惩罚项建立损失函数。
[0096]
本公开实施例的具体细节详见前一方法实施例,为了简洁,具体细节此处不再赘述。本公开实施例通过对目标图像进行检测,得到多个预设关键点的位置热力图和特征向量图,基于上述位置热力图和特征向量图即可确定各个预设关键点在所述目标图像中的像素位置,无需先检测出其他对象,再借助其他对象来检测目标对象上的关键点组,提高了检测效率。
[0097]
图9所示本公开实施例的总体实现流程图,该总体流程包括以下步骤:
[0098]
步骤901:关键点定义。为每左手手腕和右手手腕定义了两个关键点,具体为:当手部朝向目标图像下方时,左手手腕上靠近目标图像左侧的手腕端点为1号关键点,靠近目标图像右侧的手腕端点为2号关键点,1号关键点与2号关键点共同用于表征一个左手手腕;右手手腕上靠近目标图像左侧的手腕端点为3号关键点,靠近目标图像右侧的手腕端点为4号关键点,3号关键点与4号关键点共同用于表征一个右手手腕。
[0099]
步骤902:获取位置热力图和特征向量图。借助深度学习模型(即前述实施例中的目标神经网络),使用了一种自底向上(bottom-up)的关键点检测算法完成4个关键点的检测与配对。模型输出为8张特征图,前4张为4种关键点(即1号关键点、2号关键点、3号关键点和4号关键点)的位置热力图,后4张为特征向量图,位置热力图与特征向量图一一对应。
[0100]
位置热力图中一个像素点的分数越高,表示该像素点在目标图像中对应的像素点是关键点的可能性越高。如果目标图像中包括多个左手手腕,则1号关键点和2号关键点对应的位置热力图中会有多个高斯核形状的响应。右手同理。
[0101]
如果一个关键点的位置热力图中各个像素点的分数均为0,则表示目标图像中不包括该关键点。如果1号关键点和2号关键点的位置热力图中各个像素点的分数均为0,则表示目标图像中不包括左手手腕。同理,如果3号关键点和4号关键点的位置热力图中各个像素点的分数均为0,则表示目标图像中不包括右手手腕。因此,基于位置热力图可以直接识别出目标图像中手腕的类别信息。
[0102]
步骤903:候选点匹配。在得到位置热力图后,选择固定大小(例如,5x5)的滑动窗口在位置热力图上进行滑动,计算滑动窗口内分数最大且大于设定阈值的像素点,得到若干候选点的坐标。再根据得到的坐标从特征向量图中取出对应位置的特征向量,作为该候选点的特征向量。至此,每一个检测出的候选点都有一个特征向量。之后使用匈牙利算法对候选点进行匹配,以特征向量之间的距离作为衡量标准,左手手腕上的候选点只与左手手腕上的候选点进行匹配,右手手腕上的候选点只与右手手腕上的候选点进行匹配。匹配成功的一组1号关键点和2号关键点可以表示一只左手手腕,匹配成功的一组3号关键点和4号关键点可以表示一只右手手腕,此时把关键点对应的左手类别或右手类别传递给手腕,即可完成手腕类别的识别。同时,匹配成功的一组关键点在位置热力图中的坐标即为这组关键点在目标图像中对应的坐标。如果目标图像由图像采集装置采集的原始图像根据一定的缩放比例经缩放得到,则根据这组关键点在目标图像中的坐标以及缩放比例,可以确定这组关键点在原始图像中的坐标。
[0103]
本公开以目标图像为输入,以具有类别的手腕关键点组为输出,至此完成可区分手腕类别的手腕检测功能。上述方案只需采用一个神经网络检测出特征向量图和位置热力图,即可确定手腕的类别和手腕上的关键点的位置。并且,上述候选点匹配过程与基于位置
热力图识别手腕类别的过程可以同步进行,也可以先进行候选点匹配,再识别手腕类别,或者先识别手腕类别,再进行候选点匹配。相比于相关技术中采用两个级联的模型实现手腕识别和手腕关键点检测的方式,能够有效提高手腕识别和手腕关键点检测的效率,保证了整体流程的实时性。此外,由于方案无需借助手部来进行手腕识别和手腕关键点检测,避免了在检测不到手部的情况下无法定位手腕位置的情况,保证了整体流程的稳定性。并且,方案无需通过手腕的检测框来对手腕进行检测,减少了因手腕的检测框的大小和形状差异导致的检测不准确的问题,且神经网络训练过程中仅需标注样本图像中手腕上的关键点的位置,而无需标注的手腕检测框,使得神经网络的训练过程易于收敛。
[0104]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0105]
参见图10,本公开实施例还提供一种目标对象的识别装置,所述装置包括:
[0106]
第一检测模块1001,用于对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;
[0107]
第一确定模块1002,用于基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。
[0108]
参见图11,本公开实施例还提供一种目标对象的关键点检测装置,所述装置包括:
[0109]
第二检测模块1101,用于对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;
[0110]
第二确定模块1102,用于基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量;
[0111]
匹配模块1103,用于基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。
[0112]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0113]
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
[0114]
图12示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1201、存储器1202、输入/输出接口1203、通信接口1204和总线1205。其中处理器1201、存储器1202、输入/输出接口1203和通信接口1204通过总线1205实现彼此之间在设备内部的通信连接。
[0115]
处理器1201可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器1201还可以包括显卡,所述显卡可以是nvidia titan x显卡或者1080ti显卡等。
[0116]
存储器1202可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1202可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1202中,并由处理器1201来调用执行。
[0117]
输入/输出接口1203用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0118]
通信接口1204用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如运动网络、wifi、蓝牙等)实现通信。
[0119]
总线1205包括一通路,在设备的各个组件(例如处理器1201、存储器1202、输入/输出接口1203和通信接口1204)之间传输信息。
[0120]
需要说明的是,尽管上述设备仅示出了处理器1201、存储器1202、输入/输出接口1203、通信接口1204以及总线1205,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0121]
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
[0122]
计算机可读介质包括永久性和非永久性、可运动和非可运动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0123]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
[0124]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可
以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0125]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0126]
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
技术特征:
1.一种目标对象的识别方法,其特征在于,所述方法包括:对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述多个预设关键点分别对应的位置热力图,确定所述多个预设关键点在所述目标图像中的像素位置。3.根据权利要求2所述的方法,其特征在于,所述基于所述多个预设关键点分别对应的位置热力图,确定所述多个预设关键点在所述目标图像中的像素位置,包括:基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点;获取每个预设关键点分别对应的各个候选点的特征向量;所述特征向量基于所述目标图像得到;基于各个预设关键点分别对应的各个候选点的特征向量,以及各个预设关键点之间的预设距离约束条件,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置;所述预设距离约束条件包括:多个所述预设关键点中任意两个预设关键点对应的候选点的特征向量之间的距离小于预设距离阈值;以及由匹配成功的候选点所形成的候选组的数量最大。4.根据权利要求3所述的方法,其特征在于,所述获取每个预设关键点分别对应的各个候选点的特征向量,包括:对所述目标图像进行检测,得到所述目标对象上的所述多个预设关键点分别对应的特征向量图;所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量。5.根据权利要求4所述的方法,其特征在于,所述多个预设关键点分别对应的位置热力图和特征向量图均通过预先训练的目标神经网络对所述目标图像进行检测得到;所述目标神经网络基于样本图像以及所述样本图像的标注信息训练得到,所述标注信息包括:所述样本图像中的样本对象的类别信息;以及所述样本图像中的样本对象上多个所述预设关键点的位置信息。6.根据权利要求5所述的方法,其特征在于,所述目标神经网络基于以下方式训练得到:分别获取所述样本对象上多个所述预设关键点分别对应的第一样本位置热力图和第二样本位置热力图;所述第一样本位置热力图基于所述标注信息中对应于所述样本位置热
力图的预设关键点的位置信息生成,所述第二样本位置热力图由初始神经网络对所述样本图像进行检测后输出;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数;基于所述损失函数对所述初始神经网络进行训练,得到所述目标神经网络。7.根据权利要求6所述的方法,其特征在于,所述样本图像上包括多个样本对象;所述基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数,包括:获取所述样本图像中多样本对象中任意两个样本对象上的预设关键点的特征向量之间的第一距离;获取所述样本图像中同一样本对象上的多个预设关键点中任意两个预设关键点的特征向量之间的第二距离;基于所述第一距离和所述第二距离建立惩罚项;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异以及所述惩罚项建立损失函数。8.根据权利要求3至7任一项所述的方法,其特征在于,所述基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,包括:针对在所述位置热力图上滑动的滑动窗口,确定每个滑动位置处所述滑动窗口内满足预设条件的目标像素点;所述预设条件基于所述位置热力图中所述滑动窗口内的各个像素点对应的所述概率确定;将各个目标像素点均确定为所述位置热力图对应的预设关键点对应的候选点。9.根据权利要求8所述的方法,其特征在于,所述预设条件包括:所述目标像素点对应的所述概率大于所述滑动窗口内除所述目标像素点以外的其他像素点对应的所述概率;所述目标像素点对应的所述概率大于预设概率阈值。10.一种目标对象的关键点检测方法,其特征在于,所述方法包括:对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量;基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对
应关系,确定所述目标对象的类别。12.根据权利要求10所述的方法,其特征在于,所述基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,包括:基于各个所述预设关键点分别对应的各个候选点的特征向量,以及各个预设关键点之间的预设距离约束条件,对各个所述预设关键点分别对应的候选点进行匹配;所述预设距离约束条件包括:多个所述预设关键点中任意两个预设关键点对应的候选点的特征向量之间的距离小于预设距离阈值;以及由匹配成功的候选点所形成的候选组的数量最大。13.根据权利要求10至12任一项所述的方法,其特征在于,所述基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,包括:针对在所述位置热力图上滑动的滑动窗口,确定每个滑动位置处所述滑动窗口内满足预设条件的目标像素点;所述预设条件基于所述位置热力图中所述滑动窗口内的各个像素点对应的所述概率确定;将各个目标像素点均确定为所述位置热力图对应的预设关键点对应的候选点。14.根据权利要求13所述的方法,其特征在于,所述预设条件包括:所述目标像素点对应的所述概率大于所述滑动窗口内除所述目标像素点以外的其他像素点对应的所述概率;所述目标像素点对应的所述概率大于预设概率阈值。15.根据权利要求10至14任一项所述的方法,其特征在于,所述对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图,包括:通过预先训练的目标神经网络对所述目标图像进行检测,得到所述多个预设关键点分别对应的位置热力图和特征向量图;所述目标神经网络基于样本图像以及所述样本图像的标注信息训练得到,所述标注信息包括:所述样本图像中的样本对象的类别信息;以及所述样本图像中的样本对象上多个所述预设关键点的位置信息。16.根据权利要求15所述的方法,其特征在于,所述目标神经网络基于以下方式训练得到:分别获取所述样本对象上多个所述预设关键点分别对应的第一样本位置热力图和第二样本位置热力图;所述第一样本位置热力图基于所述标注信息中对应于所述样本位置热力图的预设关键点的位置信息生成,所述第二样本位置热力图由初始神经网络对所述样本图像进行检测后输出;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异建立损失函数;基于所述损失函数对所述初始神经网络进行训练,得到所述目标神经网络。17.根据权利要求16所述的方法,其特征在于,所述样本图像上包括多个样本对象;所述基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图
之间的差异建立损失函数,包括:获取所述样本图像中多样本对象中任意两个样本对象上的预设关键点的特征向量之间的第一距离;获取所述样本图像中同一样本对象上的多个预设关键点中任意两个预设关键点的特征向量之间的第二距离;基于所述第一距离和所述第二距离建立惩罚项;基于所述多个预设关键点中每个预设关键点对应的第一位置热力图与第二位置热力图之间的差异以及所述惩罚项建立损失函数。18.一种目标对象的识别装置,其特征在于,所述装置包括:第一检测模块,用于对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;第一确定模块,用于基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。19.一种目标对象的关键点检测装置,其特征在于,所述装置包括:第二检测模块,用于对目标图像进行检测,得到所述目标图像中的目标对象的多个预设关键点中每一预设关键点对应的位置热力图和特征向量图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率,所述特征向量图中每一像素点的特征向量表征所述目标图像中对应的像素点为与所述特征向量图对应的预设关键点时的特征;第二确定模块,用于基于所述位置热力图,确定所述位置热力图对应的预设关键点在所述目标图像中对应的至少一个候选点,并基于所述特征向量图,确定所述特征向量图对应的预设关键点在所述目标图像中对应的至少一个候选点的特征向量;匹配模块,用于基于各个所述预设关键点分别对应的各个候选点的特征向量,对各个所述预设关键点分别对应的候选点进行匹配,根据匹配结果确定所述各个预设关键点在所述目标图像中的像素位置。20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至17任意一项所述的方法。21.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至17任意一项所述的方法。
技术总结
本公开实施例提供一种目标对象的识别方法和装置、关键点检测方法和装置,所述方法包括:对目标图像进行检测,得到所述目标图像中的目标对象上的多个预设关键点分别对应的位置热力图;其中,所述位置热力图中每一像素点的热力值表征所述目标图像中对应的像素点为与所述位置热力图对应的预设关键点的概率;基于各个预设关键点分别对应的位置热力图,以及预设的对象类别与关键点之间的对应关系,确定所述目标对象的类别。所述目标对象的类别。所述目标对象的类别。
技术研发人员:杜天元 四建楼 何野 钱晨
受保护的技术使用者:北京大甜绵白糖科技有限公司
技术研发日:2023.06.25
技术公布日:2023/9/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/