关键点检测方法及装置、计算机可读介质和电子设备与流程

文档序号:30383314发布日期:2022-06-11 05:27阅读:71来源:国知局
关键点检测方法及装置、计算机可读介质和电子设备与流程

1.本公开涉及人工智能技术领域,具体涉及一种关键点检测方法、关键点检测装置、计算机可读介质和电子设备。


背景技术:

2.随着科学技术的飞速发展,人脸识别以及人脸跟踪等技术越来越得到人们的关注。在视频图像中对人脸目标进行跟踪,主要依赖在视频图像中确定的人脸关键点的位置。
3.目前,相关的人脸关键点检测方案中,要么无法实时准确检测视频中的人脸关键点,检测结果的鲁棒性较差,要么需要对检测到的人脸关键点进行后处理,无法保证实时性,工作量大且输出效率较低。


技术实现要素:

4.本公开的目的在于提供一种关键点检测方法、关键点检测装置、计算机可读介质和电子设备,进而至少在一定程度上提高视频中人脸关键点的检测效率,提升输出的人脸关键点的准确性以及鲁棒性。
5.根据本公开的第一方面,提供一种关键点检测方法,包括:
6.获取当前图像帧,并确定所述当前图像帧对应的关键图像信息;
7.确定所述当前图像帧对应的前序图像帧,并获取所述前序图像帧对应的历史关键点信息;
8.将所述当前图像帧、所述关键图像信息、所述前序图像帧以及所述历史关键点信息输入到预训练的连续帧关键点检测模型中,输出所述当前图像帧对应的当前关键点信息。
9.根据本公开的第二方面,提供一种关键点检测装置,包括:
10.关键图像信息确定模块,用于获取当前图像帧,并确定所述当前图像帧对应的关键图像信息;
11.历史关键点信息获取模块,用于确定所述当前图像帧对应的前序图像帧,并获取所述前序图像帧对应的历史关键点信息;
12.当前关键点信息输出模块,用于将所述当前图像帧、所述关键图像信息、所述前序图像帧以及所述历史关键点信息输入到预训练的连续帧关键点检测模型中,输出所述当前图像帧对应的当前关键点信息。
13.根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
14.根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
15.处理器;以及
16.存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
17.本公开的一种实施例所提供的关键点检测方法,可以确定当前图像帧对应的关键图像信息,然后确定当前图像帧对应的前序图像帧,并获取前序图像帧对应的历史关键点信息,最后将当前图像帧、关键图像信息、前序图像帧以及历史关键点信息输入到预训练的连续帧关键点检测模型中,输出当前图像帧对应的当前关键点信息。一方面,对于模型的输入,在空间维度上包含了当前图像帧以及关键图像信息,能够有效提升人脸关键点的检测准确性,提高视频中人脸识别与人脸跟踪的效果;另一方面,对于模型的输入,在时间维度上包含了前序图像帧的历史关键点信息,能够有效提升检测结果的鲁棒性,实现对视频更稳定的关键点预测。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
21.图2示意性示出本公开示例性实施例中一种关键点检测方法的流程示意图;
22.图3示意性示出本公开示例性实施例中一种确定关键图像块的流程示意图;
23.图4示意性示出本公开示例性实施例中一种对当前图像帧进行分块处理的流程示意图;
24.图5示意性示出本公开示例性实施例中一种确定连续图像帧序列的流程示意图;
25.图6示意性示出本公开示例性实施例中一种实现当前图像帧中关键点检测的原理示意图;
26.图7示意性示出本公开示例性实施例中一种对当前图像帧进行关键点检测的流程示意图;
27.图8示意性示出本公开示例性实施例中关键点检测装置的组成示意图;
28.图9示出了可以应用本公开实施例的一种电子设备的示意图。
具体实施方式
29.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
30.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
31.图1示出了可以应用本公开实施例的一种关键点检测方法及装置的示例性应用环境的系统架构的示意图。
32.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
33.本公开实施例所提供的关键点检测方法一般由终端设备101、102、103中执行,相应地,关键点检测装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的关键点检测方法也可以由服务器105执行,相应的,关键点检测装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。
34.举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103将拍摄的视频数据上传至服务器105,服务器通过本公开实施例所提供的关键点检测方法生成关键点信息后,将关键点信息传输给终端设备101、102、103等。
35.在一种技术方案中,提出从当前视频图像帧中定位出人脸关键点,判断当前视频图像帧中的人脸相对于上一视频图像帧中的人脸是否移动;如果存在移动,将从当前视频图像帧中定位出的人脸关键点确定为当前视频图像帧的有效人脸关键点,如果不存在移动,则将从当前视频图像帧中定位出的人脸关键点与上一图像帧中对应位置的有效人脸关键点进行加权和的结果确定为当前视频图像帧的有效人脸关键点。但是这种方案中,通过判断是否有人脸移动来进行关键点平滑,需要人为设定策略和阈值,且不同的场景下的视频,可能需要设定不同的策略和阈值,不仅工作量大,检测效率低下,而且由于需要设定策略和阈值,可能导致检测结果的鲁棒性较差。
36.另一种技术方案中,提出对人脸图片计算原始人脸关键点;对原始人脸关键点进行平滑处理并替换原有坐标点,得到初步稳定人脸关键点;对前后帧人脸图片中的人脸关键点的运动方向和运行距离进行跟踪,对初步稳定的人脸关键点进行异常点检测和修正。但是这种方案中,由于人脸的五官各不相同,因此需要根据不同的人脸制定不同的策略,导致效率较为低下,并且由于是在后处理,无法实现对视频中的人脸关键点的实时检测输出。
37.基于相关技术中可能存在的一个或者多个问题,本公开首先提供了一种关键点检测方法,下面对本公开示例性实施方式的关键点检测方法进行具体说明。
38.图2示出了本示例性实施方式中一种关键点检测方法的流程示意图,可以至少包括步骤s210至步骤s230:
39.在步骤s210中,获取当前图像帧,并确定所述当前图像帧对应的关键图像信息。
40.在一示例性实施例中,当前图像帧是指视频中在当前时刻需要进行人脸关键点识别的图像帧。例如,假设对于一个视频,包括t-1时刻的图像帧a,t时刻的图像帧b,t+1时刻的图像帧c,那么在处理到t-1时刻时,图像帧a就是当前图像帧,同理,在处理到t时刻或者t+1时刻时,图像帧b或者图像帧c就是当前图像帧。
41.关键图像信息是指当前图像帧中与人脸关键点相关的图像信息,例如,关键图像
信息可以是当前图像帧中人脸图像对应的五官图像块,也可以是当前图像帧中的像素亮度值(或者灰度值)分布,当然,还可以其他能够表征当前图像帧中关键点的相关图像信息,本示例实施例对此不做特殊限定。
42.在步骤s220中,确定所述当前图像帧对应的前序图像帧,并获取所述前序图像帧对应的历史关键点信息。
43.在一示例性实施例中,前序图像帧是指时间维度上在当前图像帧之前的图像帧,例如,前序图像帧可以是相对于当前时刻而言在前一时刻的一个图像帧,也可以是在当前时刻之前的多个或者所有图像帧,具体的前序图像帧的范围可以根据实际情况进行自定义设置,如在计算设备的计算能力大于计算能力阈值时,可以将当前时刻之前的多个或者所有图像帧作为当前图像帧对应的前序图像帧,在计算设备的计算能力小于或者等于计算能力阈值时,可以将当前时刻之前的一个图像帧作为当前图像帧对应的前序图像帧,本示例实施例对前序图像帧的数量不做特殊限定。
44.举例而言,假设对于一个视频,包括t-1时刻的图像帧a,t时刻的图像帧b,t+1时刻的图像帧c,如果当前时刻是t+1时刻,则当前图像帧就是图像帧c,此时可以将t-1时刻的图像帧a或者t时刻的图像帧b作为图像帧c的前序图像帧,当然,图像帧c的前序图像帧也可以包括t+1时刻之前所有的图像帧,如t-1时刻的图像帧a以及t时刻的图像帧b。
45.本领域技术人员容易理解的是,若当前图像帧是视频的首帧图像,那么当前图像帧的前序图像帧可以是空帧,即与前序图像帧相关的信息可以置为0;当然,也可以根据该视频的内容制作默认图像帧,并将该默认图像帧作为当前图像帧的前序图像帧,这同样在本实施例的保护范围之内。
46.历史关键点信息是指对前序图像帧进行关键点检测得到的检测结果数据,历史关键点信息可以包括前序图像帧中的人脸关键点坐标,还可以包括前序图像帧中的人脸姿态、人脸遮挡区域、光照、人脸表情等与关键点相关的图像信息,本示例实施例对此不做特殊限定。
47.在步骤s230中,将所述当前图像帧、所述关键图像信息以及所述历史关键点信息输入到预训练的连续帧关键点检测模型中,输出所述当前图像帧对应的当前关键点信息。
48.在一示例性实施例中,连续帧关键点检测模型是指用于对输入的当前图像帧进行关键点检测的深度学习模型,例如,连续帧关键点检测模型可以是transformer模型,当然,也可以是其他基于自注意力机制的模型,本示例实施例对此不做特殊限定。
49.当前关键点信息是指通过连续帧关键点检测模型对当前图像帧进行关键点检测得到的检测结果数据,当前关键点信息可以包括当前图像帧中的人脸关键点坐标,还可以包括当前图像帧中的人脸姿态、人脸遮挡区域、光照、人脸表情等与关键点相关的图像信息,本示例实施例对此不做特殊限定。
50.容易理解的,在得到当前图像帧对应的当前关键点信息之后,可以将当前关键点信息存储在缓存空间中,并在进行下一时刻的图像帧的关键点预测时,可以将当前图像帧作为下一时刻的图像帧的前序图像帧,将当前关键点信息作为下一时刻的图像帧的模型输入信息,继续进行人脸关键点预测。
51.通过将当前图像帧的关键图像信息以及前序图像帧的历史关键点信息作为当前图像帧关键点检测的辅助信息,结合基于自注意力机制的连续帧关键点检测模型,能够更
好的利用视频连续帧在时间维度以及空间维度上的特征信息,有效提升当前图像帧的人脸关键点的准确性,并且能够稳定识别并输出视频连续帧中人脸区域的人脸关键点,提升检测结果的鲁棒性。
52.下面对步骤s210至步骤s230进行详细说明。
53.在一示例性实施例中,关键图像信息可以包括关键图像块,关键图像块是指当前图像帧中包含关键内容的图像区域,例如,关键图像块可以是人脸区域中人脸五官对应的图像块,如人脸区域中眼睛、鼻子、嘴巴等位置处的图像块,也可以是关键图像块中梯度变化较大的图像区域,当然,关键图像块还可以是根据实际情况确定的、当前图像帧中可能存在图像关键点的图像区域,本示例实施例对此不做特殊限定。
54.可选的,可以通过图3中的步骤实现确定当前图像帧对应的关键图像信息,参考图3所示,具体可以包括:
55.步骤s310,通过特征点检测模型对所述当前图像帧进行检测,确定目标特征点;
56.步骤s320,基于所述目标特征点对所述当前图像帧进行分块处理,得到所述当前图像帧对应的关键图像块。
57.其中,特征点检测模型是指用于对当前图像帧中的所有特征点进行检测的模型,例如,特征点检测模型可以是简单的五点人脸关键点检测模型,用于检测人脸区域中人脸的五官特征点,当然,特征点检测模型也可以是基于特征描述算子的特征检测模型,如特征描述算子可以是尺度不变特征变换(scale invariant feature transform,sift)算子、方向梯度直方图(histogram of oriented gradient,hog)算子、harris角点算子等,本示例实施例对此不做特殊限定。
58.目标特征点可以是特征点检测模型在当前图像帧中识别得到的所有特征点,如目标特征点可以是通过五点人脸特征点检测模型在当前图像帧中检测出的5个人脸五官特征点,也可以是特征点检测模型在当前图像帧中识别得到的部分特征点,如目标特征点可以是通过特征点检测模型在当前图像帧中检测出多个人脸关键点后进行筛选得到的5个人脸五官关键点,本示例实施例对此不做特殊限定。
59.分块处理是指根据目标特征点对当前图像帧进行图像分割的处理过程,例如,分块处理可以是将目标特征点周围目标距离内的图像内容作为一个图像块的处理过程,也可以是根据目标特征点在当前图像帧中的分布位置将当前图像帧分为不规则的多个图像块的处理过程,本示例实施例对此不做特殊限定。
60.通过特征点检测模型确定目标特征点,并根据目标特征点对当前图像帧进行分块处理,得到当前图像帧中不同尺寸的关键图像块,并将当前图像帧以及不同尺寸的关键图像快共同作为连续帧关键点检测模型的模型输入,能够有效提升连续帧关键点检测模型对当前图像帧中关键点的辨识能力,提高连续帧中人脸关键点的检测准确性。
61.在一示例性实施例中,可以在确定当前图像帧对应的关键图像信息或者通过特征点检测模型对当前图像帧进行检测,确定目标特征点之前,可以对当前图像帧进行人脸检测,确定当前图像帧中的人脸区域。
62.可选的,可以通过人脸检测模型yolo(you only look once,一种基于深度卷积神经网络的物体检测算法)对当前图像帧进行人脸检测,也可以通过多任务卷积神经网络模型(multi task convolutional neural network,mtcnn)对当前图像帧进行人脸检测,本
示例实施例对此不做特殊限定。
63.通过对当前图像帧进行人脸检测,确定当前图像帧中的人脸区域,进而仅对人脸区域进行关键图像信息的确定或者目标特征点的确定,能够有效减少系统的计算量,提升系统的检测速度。
64.可选的,可以预先设置人脸区域面积阈值,将小于人脸区域面积阈值的人脸区域进行删除,避免由于人脸区域的面积过小而导致人脸关键点检测失败的情况。
65.在一示例性实施例中,可以通过图4中的步骤实现对当前图像帧的分块处理,参考图4所示,具体可以包括:
66.步骤s410,获取预设的包围框参数;
67.步骤s420,根据所述目标特征点对应的坐标以及所述包围框参数构建人脸包围框,以通过所述人脸包围框对所述当前图像帧进行分块处理。
68.其中,包围框参数是指用于确定包围框大小尺寸的相关的参数,例如,包围框参数可以是包围框的形状,如正方形、圆形等,也可以是包围框的面积或者大小尺寸,本示例实施例对此不做特殊限定。
69.可以获取目标特征点对应的坐标,并以目标特征点对应的坐标为中心,基于包围框参数构建人脸包围框。举例而言,假设目标特征点的在当前图像帧中的坐标为(2,2),包围框参数可以包括包围框形状为正方形,边长为2单位长度,那么,构建得到的人脸包围框的中心坐标为(2,2),四个顶点坐标分别为(1,1)、(1,3)、(3,3)、(3,1)。当然,此处仅是示意性举例说明,可以根据实际需要可以将目标特征点对应的坐标作为人脸包围框的某个顶点,只需要将目标特征点包含在人脸包围框中即可,本示例实施例不以此为限。
70.可选的,也可以是通过能够检测更多特征点的特征点检测模型对当前图像帧进行检测,并通过检测出的多个特征点推算包围框,例如,可以通过63点人脸特征点检测模型对当前图像帧进行检测,得到63个人脸特征点,然后通过63个人脸特征点推算出能够包围五官区域的人脸包围框,相比于根据目标特征点对应的坐标以及包围框参数构建人脸包围框的方式,能够使确定的人脸包围框更加精确,得到更为准确的关键图像块。
71.通过构建符合需求的人脸包围框,并根据人脸包围框对当前图像帧进行分块处理,有效保证分块后得到的关键图像块的准确性,进一步保证人脸关键点检测的准确性。
72.在一示例性实施例中,关键图像信息可以包括预估关键点,预估关键点是指当前图像帧中的关键点的预估值。具体的,可以将通过特征点检测模型对当前图像帧进行检测确定的目标特征点作为当前图像帧对应的预估关键点。
73.通过将预估关键点作为当前图像帧的关键图像信息,并作为连续帧关键点检测模型的输入,能够进一步限制连续帧关键点检测模型对当前图像帧中关键点的检测,保证连续帧关键点检测模型的输出结果不会受到异常关键点的影响,提升连续帧关键点检测模型的鲁棒性。
74.在一示例性实施例中,当前图像帧与所述前序图像帧是属于同一连续图像帧序列的,具体的,可以通过图5中的步骤实现连续图像帧序列的确定,参考图5所示,具体可以包括:
75.步骤s510,获取目标视频;
76.步骤s520,根据预设的抽帧间隔对所述目标视频进行抽帧,得到所述连续图像帧
序列。
77.其中,目标视频是指需要进行关键点检测的视频数据。抽帧间隔是指预先设置的抽帧频率,例如,抽帧间隔可以是5次每秒,也可以是20次每秒,具体可以根据目标视频的帧率进行设置,本示例实施例对此不做特殊限定。
78.可以在得到当前图像帧的当前关键点信息之后,根据当前关键点信息中的关键点坐标将关键点渲染显示到当前图像帧中,实现目标视频的连续人脸关键点检测。
79.可选的,由于进行人脸关键点检测的图像帧均为抽帧得到的连续图像帧序列中的图像帧,因此,可以将当前图像帧的关键点作为目标视频中当前图像帧之后以及在连续图像帧序列中下一帧之前的图形帧的关键点进行渲染,实现目标视频所有图像帧的关键点实时渲染显示。
80.图6示意性示出本公开示例性实施例中一种实现当前图像帧中关键点检测的原理示意图。
81.参考图6所示,假设对于t时刻的当前图像帧t,当前图像帧t的前序图像帧可以包括t-1时刻的前序图像帧t-1、t-2时刻的前序图像帧t-2、t-3时刻的前序图像帧t-3。
82.首先,可以对当前图像帧t进行人脸检测,得到人脸区域601,并通过特征点检测模型对人脸区域601进行检测,如通过五点人脸关键点检测模型对人脸区域601进行检测确定鼻子、眼睛、嘴巴等位置的关键点,并通过构建的人脸包围框对当前图像帧t进行分块处理,得到关键图像块602。然后获取前序图像帧对应的历史关键点信息,即前序图像帧t-1对应的历史关键点信息603、前序图像帧t-2对应的历史关键点信息604、前序图像帧t-3对应的历史关键点信息605。历史关键点信息可以包括前序图像帧、前序图像帧对应的关键图像块、前序图像帧对应的关键点坐标、模型输出的人脸姿态、遮挡区域、光照、人脸表情等信息,当然还可以是其他类型的关键点信息,本示例实施例不以此为限。
83.然后,可以将前序图像帧、前序图像帧对应的历史关键点信息、当前图像帧t、关键图像块602、预估关键点等信息共同输入到连续帧关键点检测模型606中,得到当前图像帧t对应的当前关键点信息607。然后可以将当前关键点信息607进行存储,并作为后续图形帧的历史关键点信息。
84.图7示意性示出本公开示例性实施例中一种对当前图像帧进行关键点检测的流程示意图。
85.参考图7所示,步骤s710,从目标视频对应的连续图像帧序列中获取当前图像帧;
86.步骤s720,确定当前图像帧对应的关键图像信息;
87.步骤s730,判断当前图像帧是否是目标视频的首帧图像,若是,则执行步骤s740,否则执行步骤s750;
88.步骤s740,将前序图像帧置为0,或者将默认图像帧作为前序图像帧;
89.步骤s750,确定前序图像帧,并获取前序图像帧对应的历史关键点信息;
90.步骤s760,将当前图像帧、关键图像信息、前序图像帧以及历史关键点信息输入到预训练的连续帧关键点检测模型中;
91.步骤s770,生成当前关键点信息,并将当前关键点信息渲染显示到目标视频,并结束当前流程。
92.综上所述,本示例性实施方式中,可以确定当前图像帧对应的关键图像信息,然后
确定当前图像帧对应的前序图像帧,并获取前序图像帧对应的历史关键点信息,最后将当前图像帧、关键图像信息、前序图像帧以及历史关键点信息输入到预训练的连续帧关键点检测模型中,输出当前图像帧对应的当前关键点信息。一方面,对于模型的输入,在空间维度上包含了当前图像帧以及关键图像信息,能够有效提升人脸关键点的检测准确性,提高视频中人脸识别与人脸跟踪的效果;另一方面,对于模型的输入,在时间维度上包含了前序图像帧的历史关键点信息,能够有效提升检测结果的鲁棒性,实现对视频更稳定的关键点预测。
93.需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
94.进一步的,参考图8所示,本示例的实施方式中还提供一种关键点检测装置800,可以包括关键图像信息确定模块810、历史关键点信息获取模块820和当前关键点信息输出模块830。其中:
95.关键图像信息确定模块810用于获取当前图像帧,并确定所述当前图像帧对应的关键图像信息;
96.历史关键点信息获取模块820用于确定所述当前图像帧对应的前序图像帧,并获取所述前序图像帧对应的历史关键点信息;
97.当前关键点信息输出模块830用于将所述当前图像帧、所述关键图像信息以及所述历史关键点信息输入到预训练的连续帧关键点检测模型中,输出所述当前图像帧对应的当前关键点信息。
98.在一示例性实施例中,关键图像信息可以包括关键图像块,关键图像信息确定模块810可以用于:
99.通过特征点检测模型对所述当前图像帧进行检测,确定目标特征点;
100.基于所述目标特征点对所述当前图像帧进行分块处理,得到所述当前图像帧对应的关键图像块。
101.在一示例性实施例中,关键图像信息确定模块810可以用于:
102.获取预设的包围框参数;
103.根据所述目标特征点对应的坐标以及所述包围框参数构建人脸包围框,以通过所述人脸包围框对所述当前图像帧进行分块处理。
104.在一示例性实施例中,关键图像信息可以包括预估关键点,关键点检测装置800还可以包括预估关键点确定单元,该预估关键点确定单元可以用于:
105.通过所述目标特征点确定所述当前图像帧对应的预估关键点。
106.在一示例性实施例中,关键点检测装置800还可以包括人脸区域检测单元,该人脸区域检测单元可以用于:
107.对所述当前图像帧进行人脸检测,确定人脸区域。
108.在一示例性实施例中,关键点检测装置800还可以包括抽帧单元,抽帧单元可以用于:
109.获取目标视频;
110.根据预设的抽帧间隔对所述目标视频进行抽帧,得到所述连续图像帧序列。
111.在一示例性实施例中,连续帧关键点检测模型可以是基于自注意力机制的模型,该基于自注意力机制的模型可以包括transformer模型。
112.上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
113.所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
114.本公开的示例性实施方式提供一种用于实现关键点检测方法的电子设备,其可以是图1中的终端设备101、102、103或者服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行关键点检测方法。
115.下面以图9中的电子设备900为例,对本公开中的电子设备的构造进行示例性说明。图9所示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
116.如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
117.其中,存储单元920存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书中的关键点检测方法。
118.存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(rom)923。
119.存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
120.总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
121.电子设备900也可以与一个或多个外部设备970(例如传感器设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器、数据备份存储系统以及传感器模块(如陀螺仪传感器、磁传感器、加速度传感器、距离传感器、接近光传感器等)。
122.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例
可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
123.本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图2至图7中任意一个或多个步骤。
124.需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
125.在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
126.此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
127.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
128.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1