全文摘要
本公开实施例中提供了一种基于人体关键点的交互位置控制方法、装置及电子设备,属于图像处理技术领域,该方法包括:基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。通过本公开的处理方案,提高了交互位置控制的精确度。
主设计要求
1.一种基于人体关键点的交互位置控制方法,其特征在于,包括:基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
设计方案
1.一种基于人体关键点的交互位置控制方法,其特征在于,包括:
基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;
基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;
当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;
基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
2.根据权利要求1所述的方法,其特征在于,所述当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点,包括:
获取所述多个必要关键点的中心点;
确定所述中心点在所述视频文件的视频帧上的相对位置;
在所述交互界面上与所述相对位置对应的位置,生成所述交互点。
3.根据权利要求1所述的方法,其特征在于,所述基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置,包括:
获取所述目标对象在所述视频文件的视频帧中对应的移动距离和移动方向;
基于所述移动距离和所述移动方向,确定所述交互点在所述交互界面中的新位置。
4.根据权利要求1所述的方法,其特征在于,所述基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,包括:
将所述视频文件中的视频帧图像变换为灰度图像;
对所述灰度图像进行边缘检测,得到所述目标对象的边缘轮廓;
基于所述边缘轮廓,确定所述目标对象的关键点集合。
5.根据权利要求1所述的方法,其特征在于,所述基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件,包括:
对所述摄像设备中形成的相邻帧图像对应的像素点的像素值执行相减操作,得到像素差矩阵;
判断所述像素差矩阵的平均值是否大于预设阈值;
若是,则将所述相邻帧图像作为视频帧存储在所述视频文件中。
6.根据权利要求1所述的方法,其特征在于,所述当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点之前,所述方法还包括:
基于检测到的关键点集合,对所述目标对象的位置状态进行检测;
基于检测到的目标对象的位置状态,向所述目标对象进行提示操作。
7.根据权利要求6所述的方法,其特征在于,所述基于检测到的目标对象的位置状态,向所述目标对象进行提示操作,包括:
判断所述视频文件的视频帧中是否存在目标对象的肩部关键点和头部关键点;
若否,则提示所述目标对象改变目标对象的当前位置,直至在所述视频文件的视频帧中出现目标对象的肩部关键点和头部关键点。
8.根据权利要求6所述的方法,其特征在于,所述基于检测到的目标对象的位置状态,向所述目标对象进行提示操作,包括:
基于在视频文件的视频帧中检测到的目标对象的肩部关键点,判断所述目标对象是否处于视频帧中间的预设位置;
若是,则在所述视频帧中出现所述目标对象的上半身关键点之后,提示所述目标对象执行预设动作。
9.一种基于人体关键点的交互位置控制装置,其特征在于,包括:
获取模块,用于获取基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;
检测模块,用于基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;
确定模块,用于当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;
改变模块,用于基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
10.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一权利要求1-8所述的基于人体关键点的交互位置控制方法。
11.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述任一权利要求1-8所述的基于人体关键点的交互位置控制方法。
设计说明书
技术领域
本公开涉及图像处理技术领域,尤其涉及一种基于人体关键点的交互位置控制方法、装置及电子设备。
背景技术
图像处理(image processing)又称为影像处理,是用计算机对图像进行达到所需结果的技术。起源于20世纪20年代,一般为数字图像处理。图像处理技术的主要内容包括图像压缩、增强复原、匹配描述识别3个部分,常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为,应用广泛,多用于测绘学、大气科学、天文学、美图、使图像提高辨识等。
图像处理的一个应用便是通过身体来对电子设备中的程序进行相应的交互操作。基于计算机视觉的交互技术通过机器视觉对摄像头采集到的图像序列处理识别,从而和计算机进行交互,这种方法使用摄像头采集身体的信息,通过图像识别的方式来判断身体的位置信息,当身体出现抖动或轻微变化时,常常会导致对于身体位置的判断不够精确。
发明内容
有鉴于此,本公开实施例提供一种基于人体关键点的交互位置控制方法、装置及电子设备,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种基于人体关键点的交互位置控制方法,包括:
基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;
基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;
当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;
基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
根据本公开实施例的一种具体实现方式,所述当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点,包括:
获取所述多个必要关键点的中心点;
确定所述中心点在所述视频文件的视频帧上的相对位置;
在所述交互界面上与所述相对位置对应的位置,生成所述交互点。
根据本公开实施例的一种具体实现方式,所述基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置,包括:
获取所述目标对象在所述视频文件的视频帧中对应的移动距离和移动方向;
基于所述移动距离和所述移动方向,确定所述交互点在所述交互界面中的新位置。
根据本公开实施例的一种具体实现方式,所述对所述视频文件中的目标对象执行关键点检测,包括:
将所述视频文件中的视频帧图像变换为灰度图像;
对所述灰度图像进行边缘检测,得到所述目标对象的边缘轮廓;
基于所述边缘轮廓,确定所述目标对象的关键点集合。
根据本公开实施例的一种具体实现方式,所述基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件,包括:
对所述摄像设备中形成的相邻帧图像对应的像素点的像素值执行相减操作,得到像素差矩阵;
判断所述像素差矩阵的平均值是否大于预设阈值;
若是,则将所述相邻帧图像作为视频帧存储在所述视频文件中。
根据本公开实施例的一种具体实现方式,所述当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点之前,所述方法还包括:
基于检测到的关键点集合,对所述目标对象的位置状态进行检测;
基于检测到的目标对象的位置状态,向所述目标对象进行提示操作。
根据本公开实施例的一种具体实现方式,所述基于检测到的目标对象的位置状态,向所述目标对象进行提示操作,包括:
判断所述视频文件的视频帧中是否存在目标对象的肩部关键点和头部关键点;
若否,则提示所述目标对象改变目标对象的当前位置,直至在所述视频文件的视频帧中出现目标对象的肩部关键点和头部关键点。
根据本公开实施例的一种具体实现方式,所述基于检测到的目标对象的位置状态,向所述目标对象进行提示操作,包括:
基于在视频文件的视频帧中检测到的目标对象的肩部关键点,判断所述目标对象是否处于视频帧中间的预设位置;
若是,则在所述视频帧中出现所述目标对象的上半身关键点之后,提示所述目标对象执行预设动作。
第二方面,本公开实施例提供了一种基于人体关键点的交互位置控制装置,包括:
获取模块,用于获取基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;
检测模块,用于基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;
确定模块,用于当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;
改变模块,用于基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及,
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述任第一方面或第一方面的任一实现方式中的基于人体关键点的交互位置控制方法。
第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的基于人体关键点的交互位置控制方法。
第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的基于人体关键点的交互位置控制方法。
本公开实施例中的基于人体关键点的交互位置控制方案,包括基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。通过本公开的方案,提高了基于人体关键点的交互位置控制的准确度。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种基于人体关键点的交互位置控制流程示意图;
图2为本公开实施例提供的一种基于人体的关键点示意图;
图3为本公开实施例提供的另一种基于人体关键点的交互位置控制流程示意图;
图4为本公开实施例提供的另一种基于人体关键点的交互位置控制流程示意图;
图5为本公开实施例提供的一种基于人体关键点的交互位置控制装置结构示意图;
图6为本公开实施例提供的电子设备示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及\/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及\/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及\/或功能性实施此设备及\/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种基于人体关键点的交互位置控制方法。本实施例提供的基于人体关键点的交互位置控制方法可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在服务器、终端设备等中。
参见图1,本公开实施例提供的一种基于人体关键点的交互位置控制方法,包括:
S101,基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件。
摄像设备用于捕捉目标对象的各种动作,将目标对象的动作形成图片或视频影像,从而形成视频文件。摄像设备可以是各种包含摄像头的设备,例如,摄像设备可以是一个手机,或者摄像设备是一个其他具有摄像功能的电子设备。
摄像设备中除了能够执行录像或拍照操作之外,作为一种电子设备,摄像设备还可以运行各种应用程序,通过这些应用程序,摄像设备能够识别视频文件中的包含的各种动作的具体含义,从而解析出具体的动作指令。
目标对象是摄像设备进行拍摄的对象,目标对象可以是一个人,也可以是其他的能够产生动作的动物或物体。目标对象通过产生特定的动作,来表示某个特定的动作指令。作为一个例子,目标对象可以通过一个弹指的动作,来表示对某个应用程序(例如,游戏)中的一个操作的响应。或者,目标对象还可以通过整个身体来表示某个应用程序里面的交互元素,通过在摄像设备前面移动和改变位置,能够代表交互元素在应用程序中的移动。目标对象产生的一个或多个动作,能够通过摄像设备记录的视频文件,来完成与应用程序之间的交互。
视频文件是摄像设备针对目标对象的一个或多个动作形成的记录文件,作为一种情况,摄像设备实时的获取目标对象的一个或多个动作,视频文件也同时实时的记录目标对象的一个或多个动作。
视频文件可以以多个视频帧的方式组成,为了节约系统的资源,作为一种应用场景,可以实时的对新产生的视频帧执行目标检测。通过对新产生的视频帧执行目标检测,可以判断出视频帧中是否存在目标对象,从而确定是否需要进一步的对目标设备执行其他的数据处理。当通过目标检测发现视频帧中不存在目标对象时,可以将不存在目标对象的视频帧存储在视频文件中,从而进一步的减少了视频文件对于系统资源的占用。
S102,基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合。
视频文件中包含多个视频帧,通过对视频文件中的视频帧执行关键点检测,可以进一步的获得视频文件中目标对象的关键点集合。
参见图2,以人体为例,为了能够描述目标对象(人体)的各种动作,可以用多个人体关键点来对目标对象进行表示,通过人体关键点来描述人体,能够确定人体的基本动作形状,从而基于人体的不同动作形状来识别目标对象的动作。
作为一个例子,参见图2,关键点集合可以是包含了人体不同部位的关键点,例如,关键点集合中可以包括臀部关键点P12、P3和P16,还可以包括肩部关键点P4、P2和P8。
目标对象在视频文件的视频帧上显示不同的人体区域。视频帧形成之后,可以实时的对摄像设备获取的视频帧进行关键点检测,进而得到目标对象多个不同区域关键点,形成关键点集合。对视频帧上目标对象的关键点检测可以采用诸如CPM(ConvolutionalPose Machine,卷积姿态检测器),PAF(Part AffinityFields,局部亲和立场检测方法)等方式来进行。在此对于关键点的检测方法不作限定。
S103,当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点。
通过获取实时获取视频帧中目标对象的关键点集合之后,可以通过获取到的关键点集合来判断目标对象相对于摄像装置的位置姿态。例如,当目标对象的上半身出现在摄像装置拍摄到的画面中时,目标对象的头部关键点、肩部关键点会出现在关键点集合中。由此,便可以通过定义必要关键点的方式来对目标对象的姿势进行判断。
必要关键点是指针对目标对象在视频帧中图像姿态的要求,而设定的需要在视频文件的视频帧上需要出现的一个或多个关键点。例如,对于需要目标对象在视频帧上全部出现的场景,必要关键点可以是目标对象所有的人体关键点。对于仅需要目标对象的上半身在视频帧上出现的场景,必要关键点可以是目标对象的头部关键点和肩部关键点集合。基于不同的场景需要,可以对必要关键点进行特定的设置。作为一个应用场景,必要关键点可以包括目标对象的头部关键点、肩部关键点和手部关键点,这种情况下,可以对用户的手势动作进行有效的识别。
当目标对象的必要关键点出现在视频帧上之后,说明此时目标对象的位置姿态已经满足了摄像装置的拍摄要求,可以进一步确定所述目标对象在预设应用程序交互界面中的交互点。
预设的应用程序包括交互界面,在交互界面中包含交互点。交互点是目标对象与应用程序进行交互的交互元素。例如,应用程序可以是一个弹球类游戏,此时,交互点可以是在交互界面上左右移动的挡板,弹球落到该挡板上之后会自动弹起。目标对象通过改变自身的位置,可以改变作为交互点的挡板在交互界面上的位置,从而使落下弹球能够被挡板弹起。
可以通过对多个必要关键点的坐标进行均值计算,获得多个必要关键点的中心点坐标,通过该中心点坐标来代表目标对象在视频帧中的相对位置,通过将该相对位置映射到交互界面中,便可以确定交互界面中交互点的位置。
S104,基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
通过分析视频文件视频帧中拍摄的目标对象的位置移动,可以对目标对象的移动进行解析操作,进而获得目标对象在不同时刻的位置,从而相应的改变交互点在交互界面上的交互位置。例如,可以通过解析目标对象在不同视频帧上的相对位置,来确定不同时刻交互点在交互界面上的交互位置。
通过本公开的方案,能够基于目标对象的关键点对于目标对象的动作进行识别,从而提高了目标对象动作识别的准确性。
参见图3,作为本公开实施例的一种可选实现方式,当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点,可以包括如下步骤:
S301,获取所述多个必要关键点的中心点。
通过对多个必要关键点的坐标进行均值计算的方法,可以获得必要关键点的均值坐标,将该均值坐标作为中心点的坐标,便可以获取多个必要关键点的中心点。
S302,确定所述中心点在所述视频文件的视频帧上的相对位置。
对于长度和宽度分别为a1和b1个像素的视频帧而言,通过比较中心点坐标(x,y)与a1和b1的关系,便可以确定中心点在所述视频文件的视频帧上的相对位置为(x\/a1,y\/b1)。
S303,在所述交互界面上与所述相对位置对应的位置,生成所述交互点。
通过获取交互界面的长a2和宽b2,可以确定交互界面上与所述相对位置对应的位置(a2*x\/a1,b2*y\/b1)。
参见图4,作为本公开实施例的一种可选实现方式,基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置,可以包括如下步骤:
S401,获取所述目标对象在所述视频文件的视频帧中对应的移动距离和移动方向。
通过计算目标对象中心点的方式,可以获得目标对象在视频帧上的移动距离和移动方向,其中,移动方向可以是自定义的任何方向(例如,水平向左、水平向右等)。
S402,基于所述移动距离和所述移动方向,确定所述交互点在所述交互界面中的新位置。
基于目标对象在视频帧上的移动距离和移动方向,可以在交互界面上相同的方向上移动相应比例的距离,从而确定交互点在所述交互界面上的新位置。
作为本公开实施例的一种可选实现方式,对所述视频文件中的目标对象执行关键点检测,包括:将所述视频文件中的视频帧图像变换为灰度图像;对所述灰度图像进行边缘检测,得到所述目标对象的边缘轮廓;基于所述边缘轮廓,确定所述目标对象的关键点集合。
其中,基于所述边缘轮廓,确定所述目标对象的关键点集合,可以包括如下步骤:
首先,选取不同取向的多个结构元素。
可以通过边缘检测算子对目标对象进行检测,如果边缘检测算子只采用一种结构元素,其输出图像中只包含了一种几何信息,不利于图像细节的保持。为了能够保证图像检测的准确度,选择包含多种结构元的边缘检测算子。
接下来,利用多个结构元素中的每一结构元素对所述灰度图像进行细节匹配,得到滤波图像。
通过采用不同取向的多个结构元素,将每一结构元素作为一种尺度对图像细节进行匹配,可以在过滤到不同类型和大小的噪声的同时,充分保持图像的各种细节。
接下来,确定滤波图像的灰度边缘计算,以得到滤波图像中多个灰度级别中每一灰度级别中存在的像素数。
对图像滤波之后,为了进一步的减少计算量,可以将滤波之后的图像转变为灰度图像,通过对灰度图像设置多个灰度级别,可以计算得到每一个灰度级别图像中存在的像素数。
接下来,对每一灰度级别中的像素数进行加权,并将加权后的灰度平均值作为阈值。
基于不同灰度级中像素的数目,可以考虑基于像素数对灰度级别进行加权处理,例如,对于像素数较多的灰度级别值给予较大的权重,对于像素数较少的灰度级别值设置较小的权重,通过对加权后的灰度值进行平均值计算,得到加权后的平均灰度值作为阈值,从而能够基于该平均灰度值对灰度图像进行二值化处理。
接下来,基于所述阈值对所述滤波图像进行二值化处理。
基于该阈值,可以对滤波图像进行二值化处理,例如,对于大于该阈值的像素二值化为数据1,对于小于该阈值的像素二值化为0。
最后,将二值化处理后的图像作为所述目标对象的边缘图像。
通过将二值化之后的数据进行相应的颜色赋值,便得到了目标对象的边缘图像,例如将二值化为1的像素赋值为黑色,将二值化为0的图像赋值为白色。
作为本公开实施例的一种可选实现方式,基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件的过程中,可以包括如下步骤:
首先,对所述摄像设备中形成的相邻帧图像对应的像素点的像素值执行相减操作,得到像素差矩阵。
可以任意选取摄像设备中形成的两个相邻帧,将相邻帧分别采用2个像素矩阵来进行表示,通过对这2个像素矩阵进行做差计算的方式,可以得到相邻帧图像的像素差矩阵。
其次,判断所述像素差矩阵的平均值是否大于预设阈值。
像素差矩阵可以用于表征任意两个相邻帧之间的动作变化过程,当两个相邻帧上的内容没有变化时,像素差矩阵的均值接近于0,反之,像素差矩阵上的值会有一定的变化。通过将像素差矩阵的均值和预设阈值进行比较的方法,可以判断出相邻帧图像上是否有动作变化。
最后,若是,则将所述相邻帧图像作为视频帧存储在所述视频文件中。
当像素差矩阵的均值大于预设阈值的时候,可以认为相邻的视频帧上具有动作变化,此时便可以将具有动作变化的视频帧存储在视频文件中,用于后续的关键点检测。
通过上述步骤的方案,能够在视频文件中减少没有动作变化的视频帧,降低了后续针对视频帧进行关键点检测的负担。
作为本公开实施例的一种可选实现方式,所述当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点之前,所述方法还包括:
步骤1:基于检测到的关键点集合,对所述目标对象的位置状态进行检测。
通过对关键点集合中存在的关键点的类型进行检测,可以确定目标对象的位置状态。例如,当关键点集合中包含目标对象的全身关键点时,此时目标对象全身位于摄像设备的拍摄视野中。当关键点集合中仅包含目标对象的上半身关键点时,此时目标对象的上半身位于摄像设备的拍摄视野中。基于此,可以确定目标对象相对于摄像设备的位置状态。
步骤2:基于检测到的目标对象的位置状态,向所述目标对象进行提示操作。
通过检测到的目标对象的位置状态,可以向目标对象进行提示操作,以便于目标对象调整其相对于拍摄设备的位置。
作为一种情况,可以判断所述视频文件的视频帧中是否存在目标对象的肩部关键点和头部关键点;若否,则提示所述目标对象改变目标对象的当前位置,直至在所述视频文件的视频帧中出现目标对象的肩部关键点和头部关键点。
作为另外一种情况,可以基于在视频文件的视频帧中检测到的目标对象的肩部关键点,判断所述目标对象是否处于视频帧中间的预设位置;若是,则在所述视频帧中出现所述目标对象的上半身关键点之后,提示所述目标对象执行预设动作。
与上面的方法实施例相对应,参见图5,本公开还提供了一种基于人体关键点的交互位置控制装置50,包括:
获取模块501,用于获取基于目标对象相对于摄像设备的位置,形成包含所述目标对象的视频文件;
检测模块502,用于基于所述视频文件中包含的视频帧图像,对目标对象执行关键点检测,以得到所述目标对象的关键点集合;
确定模块503,用于当所述关键点集合中存在多个必要关键点时,确定所述目标对象在预设应用程序交互界面中的交互点;
改变模块504,用于基于获取到的所述目标对象相对于所述摄像设备的位置移动,改变所述交互点在所述交互界面中的交互位置。
图5所示装置可以对应的执行上述方法实施例中的内容,本实施例未详细描述的部分,参照上述方法实施例中记载的内容,在此不再赘述。
参见图6,本公开实施例还提供了一种电子设备60,该电子设备包括:
至少一个处理器;以及,
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述方法实施例中基于人体关键点的交互位置控制方法。
本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的基于人体关键点的交互位置控制方法。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备60的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备60可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备60操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入\/输出(I\/O)接口605也连接至总线604。
通常,以下装置可以连接至I\/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备60与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备60,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和\/或流程图中的每个方框、以及框图和\/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
设计图
相关信息详情
申请码:申请号:CN201910563225.0
申请日:2019-06-26
公开号:CN110264499A
公开日:2019-09-20
国家:CN
国家/省市:11(北京)
授权编号:授权时间:主分类号:G06T 7/246
专利分类号:G06T7/246
范畴分类:40B;
申请人:北京字节跳动网络技术有限公司
第一申请人:北京字节跳动网络技术有限公司
申请人地址:100041 北京市石景山区实兴大街30号院3号楼2层B-0035房间
发明人:黄佳斌
第一发明人:黄佳斌
当前权利人:北京字节跳动网络技术有限公司
代理人:陈龙
代理机构:11706
代理机构编号:北京竹辰知识产权代理事务所(普通合伙)
优先权:关键词:当前状态:审核中
类型名称:外观设计