掌桥专利:专业的专利平台
掌桥专利
首页

一种基于二维人体图像变化的画面事件驱动方法及系统

文献发布时间:2024-04-18 19:58:21


一种基于二维人体图像变化的画面事件驱动方法及系统

技术领域

本发明属于图像处理技术领域,尤其涉及一种基于二维人体图像变化的画面事件驱动方法及系统。

背景技术

在日常生活中,自拍和拍照是非常普遍的行为,让虚拟背景和拍摄的自拍人体实现符合情节需要的良好融合,一直是拍照中的难点所在,专利号为2021110473336的“一种人体自拍镜头生成方法及系统”的中国专利公开了将自拍人体本身和虚拟背景实现自动融合的技术,如果能够基于被拍摄者的特定动作触发相应的画面事件如画面特效、场景移动等(譬如自拍者双拳向前击打到尽头后在画面中出现闪电的特效,譬如趣味性健身中使用者完成和健身教练接近的动作后在画面中出现一个具备激励效果的特效等),将极大地丰富自拍效果和提高趣味性,真正实现自拍者和虚拟背景画面的深度交互,目前,实现此类效果主要还是依靠后期制作实现,缺乏自动化的实现方式,普通用户较难实现,原因主要在于,从平面图像上难以准确的采集到需要的触发指令信息。

发明内容

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于二维人体图像变化的画面事件驱动方法及系统,能够在人体复杂和随意的动作序列中,准确和实时地识别出使用者想要表达的动作信号,进而驱动相应的画面事件,同时,避免人体其他无关动作的干扰,实现动作预期稳定、动作反应实时的用户体感,并降低用户动作时的束缚感,需要说明的是,本申请公开的技术方案是基于人体平面图像的变化进行识别,因而无需成本较高的深度信息摄像装置,可以普及性使用,除了用于自拍和拍照外,也可用于趣味性健身、自拍类游戏及体感类游戏等领域。

本发明第一方面公开了一种基于二维人体图像变化的画面事件驱动方法,包括以下步骤:

步骤1、获取当前帧人体图像的姿态特征,所述姿态特征包括人体目标关节部位的角度s;所述人体目标关节部位包括人体关节、支撑节段和被支撑节段,所述支撑节段和被支撑节段通过人体关节相连接;所述人体目标关节部位的角度s指支撑节段和被支撑节段的夹角对应的角度s;

步骤2、获取至少一帧对比帧人体图像的姿态特征,所述对比帧人体图像为当前帧人体图像前的若干帧历史人体图像中的一帧;

步骤3、基于当前帧人体图像的姿态特征和对比帧人体图像的姿态特征,计算对应当前帧人体图像的运动特征,所述运动特征包括人体目标关节部位的角度变化幅度S,角度变化幅度S包括角度变化方向S1和角度变化量S2;

步骤4、判断当前帧人体图像的运动特征是否满足预设条件,若是,则执行以下步骤:

Step01、将当前帧人体图像标记为对比帧人体图像;

Step02、读取下一帧人体图像为新的当前帧人体图像;

Step03、计算当前帧人体图像和对比帧人体图像的角度变化量S2’、角度变化方向S1’;

Step04、若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧;

Step05、判断当前是否连续出现n帧其他方向帧,若是,则执行画面事件驱动指令,若否,则进入Step01,所述n为正整数。

上述基于二维人体图像变化的画面事件驱动方法,步骤1中所述姿态特征还包括人体目标特征点的对应位置t;所述人体目标特征点为所述人体目标关节部位对应的可识别特征点;

步骤3中所述运动特征还包括人体目标特征点的移动幅度T,移动幅度T包括移动方向T1和移动距离T2;

Step04中,若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,同时移动距离T2’>预设阈值b,且移动方向T1’和所述移动方向T1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧。

上述基于二维人体图像变化的画面事件驱动方法,所述人体目标关节部位的角度s通过以下方法获得:获取对应支撑节段的支撑节段线条,获取对应被支撑节段的被支撑节段线条,基于支撑节段线条和被支撑节段线条的夹角获得角度s;所述支撑节段线条/被支撑节段线条是支撑节段/被支撑节段对应的可识别特征点和人体关节对应的可识别特征点之间的连线。

上述基于二维人体图像变化的画面事件驱动方法,所述支撑节段和被支撑节段均至少包括一块人体骨骼,所述人体目标特征点为被支撑节段上远离人体关节的端部上的可识别特征点。

上述基于二维人体图像变化的画面事件驱动方法,若对比帧人体图像的人体目标关节部位的角度s1在起始角度范围内,且当前帧人体图像的人体目标关节部位的角度s2在终止角度范围内,则运动特征的角度变化幅度S满足预设条件。

上述基于二维人体图像变化的画面事件驱动方法,若对比帧人体图像的人体目标特征点的对应位置t1在起始位置范围内,且当前帧人体图像的人体目标特征点的对应位置t2在终止位置范围内,则运动特征的移动幅度T满足预设条件。

上述基于二维人体图像变化的画面事件驱动方法,当所述对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置t1’比当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置t2’更加靠近所述预设轨迹线L的起始点,则所述移动方向T1为正向,否则为反向。

上述基于二维人体图像变化的画面事件驱动方法,所述移动距离T2基于对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离获取,所述预设轨迹线L为基于画面情节中预设的目标特征点的运动轨迹的起始点和终止点获得的连线。

上述基于二维人体图像变化的画面事件驱动方法,所述移动距离T2基于对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置和当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置之间的预设轨迹线L的节段长度获取;所述预设条件包括:所述移动距离T2与预设移动距离的比值满足预设的阈值,所述预设移动距离基于所述运动轨迹的起始点和终止点之间的预设轨迹线L的节段长度获取。

上述基于二维人体图像变化的画面事件驱动方法,步骤3中计算人体目标特征点的移动幅度T包括:将当前帧人体图像和对比帧人体图像之间的若干帧历史人体图像的人体目标特征点在同一二维坐标系下依次相连,获取若干根相邻线段,计算若干根相邻线段的长度之和与预设轨迹线段M的长度的比值,将所述比值设为移动幅度T,所述预设轨迹线段M基于画面情节中预设的目标特征点的运动轨迹获取;预设条件包括:所述移动幅度T满足预设的阈值T’。

上述基于二维人体图像变化的画面事件驱动方法,步骤4中判断运动特征是否满足预设条件,包括判断角度变化量S2和移动距离T2是否满足预设的角度变化量阈值B和移动距离阈值C,若是,则执行以下步骤:

Step1、将对比帧人体图像标记为基准帧人体图像;

Step2、将对比帧人体图像的下一帧人体图像标记为新的对比帧人体图像;

Step3、计算新的对比帧人体图像和基准帧人体图像的角度变化方向S1’和移动方向T1’;

Step4、若角度变化方向S1’和角度变化方向S1一致并且移动方向T1’和移动方向T1一致,则标记新的对比帧人体图像为同方向帧人体图像;

Step5、判断新的对比帧人体图像是否为当前帧人体图像,若是,则进入Step6,若否,则进入Step1;

Step6、判断同方向帧人体图像的数量在基准历史人体图像的总数量中的占比是否大于预设的阈值A,若是,则当前帧人体图像的运动特征满足预设条件,所述基准历史人体图像的总数量基于当前帧人体图像和第一个对比帧人体图像之间的历史人体图像的数量产生。

上述基于二维人体图像变化的画面事件驱动方法,步骤4中所述预设条件为包括若干个运动特征要求的运动特征要求组[D1,…,Dn];若当前帧人体图像的运动特征满足运动特征要求组[D1,…,Dn]中任一运动特征要求,则将当前帧人体图像设为触发帧人体图像,若有n个触发帧人体图像的运动特征依序满足运动特征要求组[D1,…,Dn]中的所有运动特征要求,则满足预设条件,激活画面事件驱动指令。

上述基于二维人体图像变化的画面事件驱动方法,当前触发帧人体图像对应的对比帧人体图像位于上一个触发帧人体图像之后,并且所述对比帧人体图像和所述上一个触发帧人体图像之间的时间间隔不大于预设的阈值e。

本发明第二方面还公开了一种基于二维人体图像变化的画面事件驱动系统,包括第一获取模块、第二获取模块、计算模块、指令触发模块和执行模块;

第一获取模块,用于获取当前帧人体图像的姿态特征,所述姿态特征包括人体目标关节部位的角度s;所述人体目标关节部位包括人体关节、支撑节段和被支撑节段,所述支撑节段和被支撑节段通过人体关节相连接;所述人体目标关节部位的角度s指支撑节段和被支撑节段的夹角对应的角度s;

第二获取模块,用于获取至少一帧对比帧人体图像的姿态特征,所述对比帧人体图像为当前帧人体图像前的若干帧历史人体图像中的一帧;

计算模块,用于基于当前帧人体图像的姿态特征和对比帧人体图像的姿态特征,计算对应当前帧人体图像的运动特征,所述运动特征包括人体目标关节部位的角度变化幅度S,角度变化幅度S包括角度变化方向S1和角度变化量S2;

指令触发模块,用于判断当前帧人体图像的运动特征是否满足预设条件,若是,则进入执行模块;

执行模块,用于执行以下步骤:

Step01、将当前帧人体图像标记为对比帧人体图像;

Step02、读取下一帧人体图像为新的当前帧人体图像;

Step03、计算当前帧人体图像和对比帧人体图像的角度变化量S2’、角度变化方向S1’;

Step04、若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧;

Step05、判断当前是否连续出现n帧其他方向帧,若是,则执行画面事件驱动指令,若否,则进入Step01,所述n为正整数。

上述基于二维人体图像变化的画面事件驱动系统,所述预设条件为包括若干个运动特征要求的运动特征要求组[D1,…,Dn];若当前帧人体图像的运动特征满足运动特征要求组[D1,…,Dn]中任一运动特征要求,则将当前帧人体图像设为触发帧人体图像,若有n个触发帧人体图像的运动特征依序满足运动特征要求组[D1,…,Dn]中的所有运动特征要求,则满足预设条件,激活画面事件驱动指令。

本发明与现有技术相比具有以下优点:

1、基于被拍摄者的特定动作触发画面事件,实现被拍摄者和背景画面的深度交互。

2、在人体复杂和随意的动作序列中,准确和实时地识别出预设的动作信号。

3、避免人体无关动作的干扰,实现动作预期稳定、动作反应实时的用户体感,束缚感低。

4、无需深度信息摄像装置,成本低。

5、能够实现在人体动作周期的恰当时间点,激活画面事件驱动指令。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明的方法流程图。

图2为肘关节部位“伸”的动作示意图。

图3为预设轨迹线L的示意图。

图4为人体目标特征点移动轨迹为曲线时的示意图。

图5为人体关节部位动作到尽头的示意图。

图6为多个关节部位动作组成的动作序列示意图。

图7为本发明的系统框图。

具体实施方式

实施例1

如图1所示,一种基于二维人体图像变化的画面事件驱动方法,包括以下步骤:

步骤1、获取当前帧人体图像的姿态特征,所述姿态特征包括人体目标关节部位的角度s;

当前帧人体图像通过拍摄获得,例如实操时使用者用电视上方的摄像装置拍摄自己,并在电视屏幕上观察自身人体影像和目标影像画面融合后的效果及据此进行相应的动作产生的人体图像;

如图2所示,所述人体目标关节部位包括人体关节、支撑节段和被支撑节段,所述支撑节段和被支撑节段通过人体关节相连接;所述人体目标关节部位的角度s指支撑节段和被支撑节段的夹角对应的角度s;

步骤2、获取至少一帧对比帧人体图像的姿态特征,所述对比帧人体图像为当前帧人体图像前的若干帧历史人体图像中的一帧;

步骤3、基于当前帧人体图像的姿态特征和对比帧人体图像的姿态特征,计算对应当前帧人体图像的运动特征,如图3所示,所述运动特征包括人体目标关节部位的角度变化幅度S,角度变化幅度S包括角度变化方向S1和角度变化量S2;

步骤4、判断当前帧人体图像的运动特征是否满足预设条件,若是,则激活画面事件驱动指令,如图5所示,执行以下步骤:

Step01、将当前帧人体图像标记为对比帧人体图像;

Step02、读取下一帧人体图像为新的当前帧人体图像;

Step03、计算当前帧人体图像和对比帧人体图像的角度变化量S2’、角度变化方向S1’;

Step04、若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧;

Step05、判断当前是否连续出现n帧其他方向帧,若是,则执行画面事件驱动指令,若否,则进入Step01,所述n为正整数。

需要说明的是,判断当前帧人体图像的运动特征是否满足预设条件的目的是为了在人体复杂随意的动作序列中判断甄别出满足运动特征要求的关节部位动作;而Step01—Step05是为了判断“满足运动特征要求”的关节部位动作是否已经动作到了尽头,以在最合适的时机执行画面事件驱动指令,实现良好的用户体感,即当人体关节部位根据预设动作要求完成了姿态特征特定变化幅度的运动,并且运动到尽头时(完成了一个完整的关节部位动作),才执行画面事件驱动指令,这样可以实现更好的用户体感和画面效果。

需要说明的是,所述其他方向帧可以包括静止帧和/或其他方向运动帧,譬如若角度变化量S2’≤预设阈值a,则标记当前帧人体图像为静止帧,否则标记当前帧人体图像为其他方向运动帧。

本实施例中,步骤1中所述姿态特征还包括人体目标特征点的对应位置t;所述人体目标特征点为所述人体目标关节部位对应的可识别特征点;

步骤3中所述运动特征还包括人体目标特征点的移动幅度T,移动幅度T包括移动方向T1和移动距离T2;

Step04中,若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,同时移动距离T2’>预设阈值b,且移动方向T1’和所述移动方向T1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧。

需要说明的是,通过姿态特征中引入人体目标特征点的对应位置t,在运动特征中相应引入人体目标特征点的移动幅度T,这样可以既能够在人体复杂和随意的动作序列中,根据画面情节预先设定的人体关节部位动作要求,准确和实时地识别出实际人体想要表达的动作信号,又能够基于角度变化幅度S和移动幅度T两个特征的组合排除其他无关动作的干扰,避免误判。

需要说明的是,所述其他方向帧可以包括静止帧和/或其他方向运动帧,譬如若角度变化量S2’≤预设阈值a,且移动距离T2’≤预设阈值b,则标记当前帧人体图像为静止帧;否则标记当前帧人体图像为其他方向运动帧。由于现有技术在获取不同帧人体图像的人体可识别特征点时存在一定偏差,所以当角度变化量S2’≤预设阈值a且移动距离T2’≤预设阈值b时,标记当前帧人体图像为静止帧,进一步地,如果当前连续出现n帧静止帧和/或其他方向帧时,执行画面事件驱动指令,所述n为阈值,这样可以避免人体特征点位置识别误差带来的干扰。

需要说明的是,移动幅度T包括移动方向T1和移动距离T2,譬如当对比帧人体图像中人体目标特征点和当前帧人体图像中人体目标特征点的“连线或连线的方向向量”和“预设轨迹线L或者动作起始帧和激活画面事件驱动指令时的对应帧的人体目标特征点之间的连线或者水平线、人体中线等其他参考线”的夹角处于预设范围内时为正向,否则为反向,而移动距离T2基于对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离获取。

需要说明的是,角度变化幅度S包括角度变化方向S1(譬如角度数值是从小变大还是从大变小,或者顺时针为正向、逆时针为反向等,例如被支撑节段线条基于其和支撑节段线条的交点顺时针或逆时针方向转动)和角度变化量S2。

如图2所示,通过采用上述技术方案,其取得如下技术效果:

人体的大部份动作是通过关节两侧的节段(骨骼)的相对位置变化形成的,人体关节部位包括人体关节、支撑节段(骨骼)和被支撑节段(骨骼),其中支撑节段(骨骼)和被支撑节段(骨骼)通过人体关节相连接,支撑节段(骨骼)一般指人体关节部位动作时活动范围相对小的节段(骨骼),被支撑节段(骨骼)一般指人体关节部位动作时活动范围相对大的节段(骨骼),譬如当人的手臂远离躯干向斜上方45度伸出时,上臂对应支撑节段(骨骼),前臂对应被支撑节段(骨骼),肘关节为对应的人体关节。

根据人体构造特点,在三维空间中人体关节部位的运动可以分为伸、曲、转3种及其组合,以肘关节为例,当伸时,上臂和前臂之间的夹角变大、人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置,当曲时,上臂和前臂之间的夹角变小,人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置,当转时,上臂和前臂间的夹角不变,人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置。

由于摄像装置采集的人体平面图像上只有基于该平面的横向、纵向位置信息,缺少深度信息,造成无法准确地判断人体关节部位在三维空间中的姿态特征如位置特征(关节部位和人体其他部位譬如人体躯干的相对位置特征)、姿势特征(关节两侧骨骼之间的夹角特征)等,但是根据人体关节部位的构造和运动特点,以及关节两侧的骨骼均是在三维空间中实际长度固定的刚体,当人体面向摄像装置时,如果关节部位的人体特征点基于人体其他部位(譬如躯干部位或者支撑骨骼和躯干相连接的端点所在的躯干部份)对应的平面,其横向、纵向相对位置不变,但是深度相对位置发生改变,那么关节两侧骨骼之间的夹角一定会发生改变,进而造成在人体平面图像(投影平面)上对应的关节两侧的节段之间的夹角发生改变,以肘关节为例,设支撑骨骼(上臂)和肩部相连的端点为固定位置的支撑点,如果三维空间中腕关节点基于肩部所在躯干部份对应平面的横向、纵向相对位置不变,但是深度相对位置发生改变,那么上臂骨骼和前臂骨骼的夹角一定会发生改变,进而造成人体平面图像上上臂节段和前臂节段之间的夹角发生变化。

基于以上原理,如果在人体平面图像上关节两侧的节段之间的夹角确定、关节部位的人体特征点的位置确定,那么可以对应到所述关节部位在三维空间中的姿态特征包括位置特征(关节部位和人体其他部位譬如人体躯干的相对位置特征)、姿势特征(关节两侧骨骼之间的夹角特征)等,这也是人体关节部位动作时的主要特征。

譬如在进行“伸”、“曲”的动作时,设人的手臂远离躯干向斜上方45度伸出,人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角会变大,同时关节部位的人体特征点(如腕关节点)的位置会向斜上方移动,当手臂伸到尽头时,上臂和前臂的夹角接近180度,腕关节点会位于人体平面图像上某一位置,而当手臂同样远离躯干向斜上方60度伸出时,人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角也会变大,同时腕关节点的位置会向斜上方移动,当手臂伸到尽头时,上臂和前臂的夹角接近180度,腕关节点的位置会位于人体平面图像上的另一位置,此时根据人体平面图像上的上臂和前臂的夹角变化幅度以及腕关节点在人体平面图像上的位置变化幅度,和预设参数进行匹配,以确定实际动作和预设动作的吻合程度;

而当进行“转”的动作时,在三维空间中关节两侧的骨骼之间的夹角不变,但是由于关节两侧的骨骼均是在三维空间中实际长度固定的刚体,所以“转”的动作时关节部位的人体特征点在人体平面图像上的横向位置和/或纵向位置一定会发生改变,譬如右侧上肢保持向前伸直姿势向躯干右侧方向移动,此时人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角保持180度不变,腕关节点在人体平面图像上的位置发生改变,此时根据人体平面图像上肘关节两侧的上臂节段和前臂节段的夹角数值以及腕关节点在人体平面图像上的位置变化幅度,和预设参数(此时预设参数中,对应角度变化幅度S的角度变化量参数阈值为0°或接近0°的小度数,如0°—5°的范围)进行匹配,以确定实际动作和预设动作的吻合程度。需要说明的是,在某些限定情况下,譬如“转”的动作过程中,如果三维空间中人体目标关节部位的夹角和180度或0度相差较大,同时关节部位“转”时和人体躯干的相对深度位置发生了比较大的改变,此时虽然三维空间中人体目标关节部位的夹角保持不变,但是在人体平面图像上支撑节段和被支撑节段之间的夹角会因为摄像装置的透视成像等原因发生特定趋势的改变,譬如关节部位远离躯干向前“转”时,夹角会变小,而关节部位向靠近躯干的方向“转”时,夹角会变大等,即使如此,根据人体平面图像上支撑节段和被支撑节段之间的夹角变化幅度以及人体目标特征点的位置变化幅度(譬如相对于躯干特征点的位置变化幅度),还是可以获取相应关节部位动作的运动特征并和预设参数进行匹配。

进一步地,基于当前帧人体图像和对比帧人体图像的人体目标关节部位的角度变化幅度S和人体目标特征点的移动幅度T,和预设条件进行匹配,如果匹配成功,说明人体目标关节部位根据预设动作要求的运动特征进行了运动,进而可以触发画面事件驱动指令,需要说明的是,由于人体进行单一关节动作时,关节两侧骨骼之间的夹角变化趋势是不变的,所以其在人体平面图像(投影平面)上对应的关节两侧的节段之间的夹角会保持相同的变化趋势,同时,关节部位人体特征点的移动趋势也会和动作起点与动作终点的连线保持基本一致,譬如在“伸”的动作过程中,将起始帧人体图像的腕关节点和结束帧人体图像的腕关节点连接作为参考线,时间在后的人体图像的腕关节点在所述参考线上的投影点一般要比时间在前的人体图像的腕关节点在所述参考线上的投影点更加靠近结束帧人体图像的腕关节点,所以在实操时不断获取当前帧人体图像,如果当前帧人体图像和之前若干帧历史图像中的某一帧人体图像的人体目标关节部位的角度变化幅度S和人体目标特征点的移动幅度T满足预设条件时,说明人体关节部位刚刚完成预设动作,以实现实时识别。此外,在实操时还可以给出提示,要求实际人体根据参考动作特征或参考画面完成动作。

通过以上方法,既能够在人体复杂和随意的动作序列中,根据画面情节预先设定的人体关节部位动作要求,准确和实时地识别出实际人体想要表达的动作信号,又能够基于角度变化幅度S和移动幅度T两个特征的组合排除其他无关动作的干扰,避免误判,同时,因为不同人体的部位形状及动作习惯千差万别,通过使用者同一人体的关节部位在多帧画面之间的姿态特征变化幅度是否满足预设条件来触发画面事件驱动指令,相比于传统三维位置信息方案中实际人体多帧画面和预设人体多帧画面之间三维轨迹的匹配,显然能够带给使用者更符合自身动作习惯的良好体感要求并降低束缚感,也更符合使用者根据自身动作习惯模拟画面提示中相关参考动作要求的本意,同时,因为不需要获取深度信息,大大降低了摄像装置的成本,事实上,在人眼识别其他人体尤其是距离较远的其他人体的关节部位运动时,人脑对于深度信息的感知并不精确,主要也是通过关节两侧的节段之间的夹角、关节部位对应的人体特征点和人体躯干等部位的相对位置来确定运动特征的。

需要说明的是,在人体目标关节部位运动的同时,如果人体其他特定部位(譬如躯干部位或者支撑骨骼和躯干相连接的端点所在的躯干部份)和摄像装置的相对位置发生了比较大的变化,譬如当肘关节部位运动时人体整体向摄像装置左侧或右侧进行了较大距离的移动或者人体躯干的肩膀部份面向摄像装置的角度发生了较大的变化如大幅度侧身,此时需要等所述特定部位和摄像装置的相对位置稳定下来后再进行肘关节部位运动姿态的判断,这种情况下可以通过人体其他特征点的位置来判断是否发生了较大幅度的所述特定部位的位置变化,此外,也可以通过人体多个目标关节部位的姿态特征和运动特征来判断人体的整体运动特征,进而基于人体的整体运动特征是否符合预设条件来判断是否需要触发画面事件驱动指令。

进一步地,本申请能够精确识别被拍摄者的特定关节部位的动作结束并触发相应的画面事件(譬如自拍者双拳向前击打到尽头后才能在画面中出现闪电的特效,即肘关节部位的“伸”的动作结束);在趣味性自拍类游戏等场景中,使用者既利用电视上方的摄像装置拍摄自己,同时又在电视屏幕上观察自身人体影像和电视上的虚拟背景画面融合后的效果并据此进行相应的动作,因此在本申请涉及的应用场景中,存在两条对于关节部位运动特征及据此触发的画面事件的感知/识别通路,一条是计算机装置对于关节部位运动特征的感知/识别,并据此触发画面事件,另一条是人眼(人脑)观察感知屏幕画面上的自身关节部位运动特征、以及由计算机装置触发的画面事件,在本申请的解决方案中,两条通路的识别方式一致、识别对象也一致(均为屏幕画面对应的人体二维平面图像),所以双方对于动作特征是否满足触发条件的感知是一致的,能给使用者带来良好的画面视觉体验和符合常识的体感及操控感,譬如使用者观察到屏幕画面上关节部位动作完成了(计算机装置也认为完成了)并及时触发画面事件,而现有技术都不可避免地会和人眼(人脑)观察感知屏幕中自身关节部位动作的识别方式存在一定偏差,导致双方对于应该何时触发画面事件的认知出现偏差,由此导致用户产生对自身动作不可控的感觉,譬如用户认为关节部位动作还没有完成,但是计算机装置已经触发了画面事件,这会严重影响使用者的画面视觉效果和体感及操控感。此外,现有技术需要将一个动作包含的多帧人体图像的静态姿态特征的轨迹变化和预设轨迹特征数据进行匹配,由于人体动作习惯和体型的多样性,此种方案如果用于前述触发画面事件的场景中,会导致对人体动作的束缚性要求太高,可能根本无法触发画面事件。

而本申请根据我们要解决的问题特点和人体关节的构造特点,基于二维平面图像上关节两侧的节段之间的夹角信息和关节部位的人体特征点在二维平面图像上的相对位置信息,在没有深度信息的二维平面图像上准确表征了特定关节部位在三维空间中的特定姿态特征,并在此基础上进一步基于关节部位动作的开始帧和结束帧就可实现识别被拍摄者的特定关节部位的动作特征和动作结束时间点,进而触发相应的画面事件。

需要进一步说明的是,执行画面事件驱动指令包括但不限于:改变道具在画面中的视觉相对位置、改变人体图像中目标人体在画面中的视觉相对位置、对道具进行变形或增加装饰效果、以及在画面中显示新的内容或去除已有的内容。此外,本发明也可用于对预先拍摄好的人体视频自动增加画面特效等用途,此时当前帧人体图像指当前从人体视频文件中获取的一帧或多帧人体图像。

本实施例中,所述人体目标关节部位的角度s通过以下方法获得:获取对应支撑节段的支撑节段线条,获取对应被支撑节段的被支撑节段线条,基于支撑节段线条和被支撑节段线条的夹角获得角度s;所述支撑节段线条/被支撑节段线条是支撑节段/被支撑节段对应的可识别特征点和人体关节对应的可识别特征点之间的连线。

通过采用上述技术方案,其取得如下技术效果:

在人体平面图像上获取支撑节段和被支撑节段之间的夹角,譬如在肘关节部位运动时,可以将肩关节点和肘关节点的连线作为支撑节段线条,将腕关节点和肘关节点的连线作为被支撑节段线条;需要说明的是,在人体目标关节部位运动过程中,如果人体平面图像上支撑节段、被支撑节段、人体关节对应的可识别特征点的横坐标或纵坐标始终保持一致,那么虽然在三维空间中支撑骨骼和被支持骨骼之间的夹角发生了变化,但是人体平面图像上支撑节段、被支撑节段的夹角始终为180度,原因是此时关节两侧的骨骼之间的夹角变化纯粹基于骨骼在深度方向上的运动形成,所以无法在人体平面图像上体现,譬如人体正面朝向摄像装置(人体平面和摄像装置光轴垂直),将膝盖弯曲、小腿正面严格保持竖直向上提起(运动时踝关节点、膝关节点、髋关节点在人体平面图像上的横坐标始终保持一致),由于缺少深度信息,此时人体平面图像上的膝关节两侧的节段之间的夹角始终为180度,但是由于关节两侧的骨骼均是刚体,所以小腿节段上的人体特征点(譬如踝关节点)在人体平面图像上的位置一定会发生改变,在这种情况下,由于人体平面图像上关节部位的节段之间的夹角数值有明确的特征、关节部位的人体特征点的位置变化有明确的特征,所以还是可以结合预设条件识别人体目标关节部位的姿态特征和运动特征;此外,类似异常情况都是对人体动作有严格束缚要求的特殊动作,实际应用中也可以在预设动作中排除这些异常动作。

本实施例中,所述支撑节段和被支撑节段均至少包括一块人体骨骼,所述人体目标特征点为被支撑节段上远离人体关节的端部上的可识别特征点。

通过采用上述技术方案,其取得如下技术效果:

由于骨骼是刚体,包含一块贯穿两端的骨骼的人体部位节段也是刚体,所以在人体关节部位“伸”、“曲”、“转”的运动过程中,人体平面图像上支撑节段和被支撑节段之间的夹角以及关节部位的人体特征点的位置会体现出相应的变化或对应数值,同样地,选取被支撑节段上远离人体关节的端部上的可识别特征点作为人体目标特征点,一般情况下可以获取到更加明显的特征点位置变化。需要说明的是,实操时支撑节段/被支撑节段可以包括一块或多块骨骼,譬如在人的手臂远离躯干向斜上方45度伸出的场景中,既可以将腕关节点作为人体特征点,也可以在动作过程中手腕不出现明显弯曲的前提下将手部特征点作为人体特征点,此外,也可以选取某块骨骼或其对应人体部位的一部份作为支撑节段/被支撑节段,因为骨骼的一部份也是刚体,譬如选取前臂部位的一半作为被支撑节段,实质都是一样的。需要说明的是,所述骨骼并非一定要和关节相连,只要其对应的人体部位节段和关节相连即可,譬如在人体髋关节从竖直姿势开始向右弯曲的过程中,可以选取人体平面图像上髋节点和膝关节点的连线作为支撑节段线条,选取和人体中线(譬如两个髋关节点连线中点和喉节点的连线)平行并穿过髋节点的直线作为被支撑节段线条,在上述弯曲的过程中,线条之间的夹角会从接近180度开始变小,此时被支撑节段对应人体躯干部位或躯干部位的一部份,因为躯干包含了脊柱,所以是刚体;此外,人体目标特征点也可以根据具体动作的特点在被支撑节段、支撑节段、人体关节所对应的部位选取,譬如在上述髋关节弯曲的动作中,可以选取髋关节对应的特征点作为人体目标特征点,因为该部位特征点在这个动作中的移动距离较大。

本实施例中,若对比帧人体图像的人体目标关节部位的角度s1在起始角度范围内,且当前帧人体图像的人体目标关节部位的角度s2在终止角度范围内,则运动特征的角度变化幅度S满足预设条件。

通过采用上述技术方案,其取得如下技术效果:

通过设定起始角度范围和终止角度范围,既可以迫使实际人体的动作和参考人体的动作更加接近,又可以通过设置特定的起始角度值和终止角度值进一步避免人体其他无关动作的干扰,需要说明的是,如果希望实际人体的动作要更加严格匹配参考人体的动作,可以将起始角度或终止角度的范围设得较小甚至只有一个数值,如果希望赋予实际人体更大的动作自由度,可以将起始角度或终止角度的范围设得较大。

本实施例中,若对比帧人体图像的人体目标特征点的对应位置t1在起始位置范围内,且当前帧人体图像的人体目标特征点的对应位置t2在终止位置范围内,则运动特征的移动幅度T满足预设条件。

通过采用上述技术方案,其取得如下技术效果:

通过设定起始位置范围和终止位置范围,除了动作特征外,对实际人体动作的起始位置和终止位置的范围有了进一步的要求(譬如右臂远离躯干向斜上方45度伸出的场景,既可以从髋部附近开始,也可以从肩部附近开始),这样既可以让实际人体的动作更加精准地贴近参考人体的动作,又可以通过设置特定的起始位置值和终止位置值进一步避免人体其他无关动作的干扰。

需要说明的是,如果希望实际人体的动作要更加严格匹配参考人体的动作,可以将起始位置或终止位置的范围设得较小甚至只有一个数值,如果希望赋予实际人体更大的动作自由度,可以将起始位置或终止位置的范围设得较大。

需要进一步说明的是,由于实际中实际人体的体型特征千差万别,实际人体距离摄像装置的远近距离也各不一样,所述人体目标特征点的对应位置可以基于该人体目标特征点和其他人体特征点的相对位置生成,譬如腕关节点的对应位置可以基于其和肩关节点(肘关节部位的支撑节段和躯干相连的固定支撑点)或者和肚脐点/喉节点(躯干部位的稳定点)等的相对位置生成,这样可以屏蔽前述环境造成的差异,获得更加准确的计算结果。

本实施例中,当所述对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置t1’比当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置t2’更加靠近所述预设轨迹线L的起始点,则所述移动方向T1为正向,否则为反向。

本实施例中,所述移动距离T2基于对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离获取,所述预设轨迹线L为基于画面情节中预设的目标特征点的运动轨迹的起始点和终止点获得的连线。

需要说明的是,由于人体进行单一关节动作时,关节部位人体特征点的移动趋势会和动作起点与动作终点的连线保持基本一致,譬如在肘关节部位“伸”的动作过程中,将起始帧人体图像的腕关节点和结束帧人体图像的腕关节点连接作为参考线,时间在后的人体图像的腕关节点在所述参考线上的投影点一般要比时间在前的人体图像的腕关节点在所述参考线上的投影点更加靠近结束帧人体图像的腕关节点,因而将对比帧人体图像和当前帧人体图像的人体目标特征点在预设轨迹线L上的投影位置进行比较,可以判断所述人体目标特征点的移动趋势和预设动作中对应的人体目标特征点的移动趋势是否吻合,譬如将所述人体目标特征点基于和预设轨迹线L垂直方向投影到预设轨迹线L上,预设轨迹线L为直线;需要说明的是,也可以采用当对比帧人体图像中人体目标特征点和当前帧人体图像中人体目标特征点的连线或连线的方向向量和预设轨迹线L的夹角处于预设范围内时为正向、否则为反向的方式,实质是一样的。

需要说明的是,为屏蔽环境差异,所述移动距离T2可以根据对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离和人体特定部位尺寸的比值生成。

本实施例中,所述移动距离T2基于对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置和当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置之间的预设轨迹线L的节段长度获取;判读移动距离T2是否满足所述预设条件包括:判断所述移动距离T2与预设移动距离的比值是否满足预设的阈值,所述预设移动距离基于所述运动轨迹的起始点和终止点之间的预设轨迹线L的节段长度获取。

需要说明的是,由于实际人体动作不可能和预设动作完全一致,通过人体目标特征点在人体平面图像上沿着预设轨迹线L方向的移动距离和预设动作相应移动距离的比值,可以更加简洁地判断实际人体动作和预设动作的吻合度,举例来说,参考人体的手臂远离躯干向斜上方45度伸到尽头,实际人体在模仿时不可能正好是45度,通过预设阈值范围的设定,既赋予实际人体动作自由度,又不至于偏差太大,同时,这种方法标记简单,即使没有起始位置范围和终止位置范围也可以实现对人体动作的约束。

如图4所示,另一个实施例中,步骤3中计算人体目标特征点的移动幅度T包括:将当前帧人体图像和对比帧人体图像之间的若干帧历史人体图像的人体目标特征点在同一二维坐标系下依次相连,获取若干根相邻线段,计算若干根相邻线段的长度之和与预设轨迹线段M的长度的比值,将所述比值设为移动幅度T,所述预设轨迹线段M基于画面情节中预设的目标特征点的运动轨迹获取;预设条件包括:所述移动幅度T满足预设的阈值T’。

通过采用上述技术方案,其取得如下技术效果:

由于实操时实际人体一般会根据提示模仿参考动作完成相关运动,基于当前帧人体图像和对比帧人体图像的姿态特征的变化幅度和参考动作中起始画面和结束画面的姿态特征的变化幅度进行匹配,既赋予实际人体动作自由度,又不至于偏差太大,也更加符合趣味性自拍或游戏时实际人体模仿参考动作进行相关运动的本意,但是在某些场景下,对人体关节部位的动作过程有更加严格的要求,譬如参考教练的动作进行健身、舞蹈学习等,此时人体关节部位动作过程中的多帧人体图像的姿态特征变化轨迹需要和参考动作中起始画面和结束画面之间的多帧画面中的姿态特征变化轨迹尽可能接近,才能激活画面事件驱动指令。

譬如在肘关节部位“伸”的动作中,如果参考动作中腕关节点在人体平面图像上的移动轨迹是曲线,那么对比帧和当前帧中多帧人体图像的腕关节点在人体平面图像上的移动轨迹也应该是曲线,为此将当前帧人体图像和对比帧人体图像之间的若干帧历史人体图像的人体目标特征点在同一二维坐标系下依次相连,获取若干根相邻线段,计算若干根相邻线段的长度之和与预设轨迹线段M的长度的比值,将所述比值设为移动幅度T,所述预设轨迹线段M基于画面情节中预设的目标特征点的运动轨迹获取譬如基于参考人体目标特征点的移动轨迹获取,需要说明的是,预设轨迹线段M可以是曲线也可以是直线。

进一步地,在腕关节点的起始点、终止点和参考动作中腕关节点的起始点、终止点比较接近的情况下,如果所述若干根相邻线段的长度之和与预设轨迹线段M的长度比较接近,那么实际人体和参考动作中腕关节点的移动轨迹也会比较接近,进一步地,还可以将对比帧和当前帧中多组相邻人体图像的角度变化幅度和参考动作中起始画面和结束画面之间的多组相邻画面中的角度变化幅度进行匹配,以获得更加精准的动作匹配结果。

需要说明的是,以上所述是比较简洁的计算方案,因为根据人体关节部位运动特点,关节两侧的骨骼均是刚体,在“伸”、“曲”、“转”的单一动作中,关节部位的人体目标特征点(譬如肘关节部位对应的腕关节点)一般不会出现较大弧度的曲线轨迹,而是直线或者和直线更接近的折线、小弧度曲线,所以采用上述方案计算简洁同时还可以获得较好的轨迹匹配结果,当然在实操时,也可以基于对比帧和当前帧中多组相邻人体图像的姿态变化幅度和参考动作中起始画面和结束画面之间的多组相邻画面中的姿态变化幅度进行多种方式的匹配,以实现各种精度需要的匹配结果,实质是把一组相邻的人体图像作为一个关节部位动作。

另一个实施例中,步骤4中判断运动特征是否满足预设条件,包括

判断角度变化量S2和移动距离T2是否满足预设的角度变化量阈值B和移动距离阈值C,若是,则执行以下步骤:

Step1、将对比帧人体图像标记为基准帧人体图像;

Step2、将对比帧人体图像的下一帧人体图像标记为新的对比帧人体图像;

Step3、计算新的对比帧人体图像和基准帧人体图像的角度变化方向S1’和移动方向T1’;

Step4、若角度变化方向S1’和角度变化方向S1一致并且移动方向T1’和移动方向T1一致,则标记新的对比帧人体图像为同方向帧人体图像;

Step5、判断新的对比帧人体图像是否为当前帧人体图像,若是,则进入Step6,若否,则进入Step1;

Step6、判断同方向帧人体图像的数量在基准历史人体图像的总数量中的占比是否大于预设的阈值A,若是,则当前帧人体图像的运动特征满足预设条件,所述基准历史人体图像的总数量基于当前帧人体图像和第一个对比帧人体图像之间的历史人体图像的数量产生。

通过采用上述技术方案,其取得如下技术效果:

当前帧人体图像和对比帧人体图像之间的若干帧人体图像中的大部份都为同方向帧时,说明人体关节部位更加准确地根据预设动作要求完成了运动,譬如在肘关节部位“伸”的单一动作中,关节部位的人体目标特征点如肘关节点一般不会出现较大弧度的曲线轨迹,所以预设动作也可以根据需要采用所述单一动作为单元进行设计,根据当前帧人体图像和对比帧人体图像之间的姿态特征变化幅度一般就能够获得较好的动作匹配效果,但是实际人体的真实动作是无法控制的,如果实际人体在预设的动作起点,通过“转”或者“曲”和“伸”的组合动作以较大弧度的曲线到达了预设的动作终点,那么在基准历史人体图像中的同方向帧的数量占比会较低,因而通过上述方案可以更加准确地判断出人体关节部位的运动是否符合预设动作的要求。

需要说明的是,由于现有技术在获取不同帧人体图像的人体可识别特征点时存在一定偏差,所以采用同方向帧的数量在当前帧人体图像和对比帧人体图像之间的若干帧人体图像中的占比来进行上述判断,还可以避免人体特征点位置识别误差带来的干扰。

需要说明的是,所述当前帧人体图像前的若干帧历史人体图像指当前帧人体图像前的K帧历史人体图像或时间长度K内的若干帧历史人体图像,所述K为预设阈值。

通过阈值K的设定,只有在规定时间内譬如以较快的速度完成和参考动作接近的关节部位动作才能激活画面事件驱动指令,可以进一步避免人体无关动作的干扰,实现动作预期稳定的的用户体感。

如图6所示,另一个实施例中,步骤4中所述预设条件为包括若干个运动特征要求的运动特征要求组[D1,…,Dn];若当前帧人体图像的运动特征满足运动特征要求组[D1,…,Dn]中任一运动特征要求,则将当前帧人体图像设为触发帧人体图像,若有n个触发帧人体图像的运动特征依序满足运动特征要求组[D1,…,Dn]中的所有运动特征要求,则满足预设条件,激活画面事件驱动指令。

需要说明的是,若有n个触发帧人体图像的运动特征依序满足运动特征要求组[D1,…,Dn]中的所有运动特征要求,说明实际人体按照次序完成了由多个关节部位动作组成的预设动作序列,此时激活画面事件驱动指令,所述运动特征要求指预设的运动特征范围。

通过采用上述技术方案,其取得如下技术效果:

预设动作为由若干个关节部位动作组成的动作序列,当实际人体的动作和预设动作序列吻合时,激活画面事件驱动指令。

进一步,当前触发帧人体图像对应的对比帧人体图像位于上一个触发帧人体图像之后,并且所述对比帧人体图像和所述上一个触发帧人体图像之间的时间间隔不大于预设的阈值e。

即一个触发帧人体图像产生后,在时间间隔e内产生下一个触发帧的对比帧。

通过采用上述技术方案,其取得如下技术效果:

通过当前触发帧人体图像对应的对比帧人体图像必须位于上一个触发帧人体图像之后,确保相邻关节部位动作所包含的人体图像不会相互干扰;通过对比帧人体图像和上一个触发帧人体图像之间的时间间隔不能大于预设的阈值e,确保相邻关节部位动作的完成必须是连续的。

实施例2

如图7所示,一种基于二维人体图像变化的画面事件驱动系统,包括第一获取模块、第二获取模块、计算模块、指令触发模块和执行模块;

第一获取模块,用于获取当前帧人体图像的姿态特征,所述姿态特征包括人体目标关节部位的角度s;所述人体目标关节部位包括人体关节、支撑节段和被支撑节段,所述支撑节段和被支撑节段通过人体关节相连接;所述人体目标关节部位的角度s指支撑节段和被支撑节段的夹角对应的角度s;

第二获取模块,用于获取至少一帧对比帧人体图像的姿态特征,所述对比帧人体图像为当前帧人体图像前的若干帧历史人体图像中的一帧;

计算模块,用于基于当前帧人体图像的姿态特征和对比帧人体图像的姿态特征,计算对应当前帧人体图像的运动特征,所述运动特征包括人体目标关节部位的角度变化幅度S,角度变化幅度S包括角度变化方向S1和角度变化量S2;

指令触发模块,用于判断当前帧人体图像的运动特征是否满足预设条件,若是,则激活画面事件驱动指令,进入执行模块;

执行模块,用于激活画面事件驱动指令后,执行以下步骤:

Step01、将当前帧人体图像标记为对比帧人体图像;

Step02、读取下一帧人体图像为新的当前帧人体图像;

Step03、计算当前帧人体图像和对比帧人体图像的角度变化量S2’、角度变化方向S1’;

Step04、若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧;

Step05、判断当前是否连续出现n帧其他方向帧,若是,则执行画面事件驱动指令,若否,则进入Step01,所述n为正整数。

需要说明的是,判断当前帧人体图像的运动特征是否满足预设条件的目的是为了在人体复杂随意的动作序列中判断甄别出满足运动特征要求的关节部位动作;而Step01—Step05是为了判断“满足运动特征要求”的关节部位动作是否已经动作到了尽头,以在最合适的时机执行画面事件驱动指令,实现良好的用户体感,即当人体关节部位根据预设动作要求完成了姿态特征特定变化幅度的运动,并且运动到尽头时(完成了一个完整的关节部位动作),才执行画面事件驱动指令,这样可以实现更好的用户体感和画面效果。

需要说明的是,所述其他方向帧可以包括静止帧和/或其他方向运动帧,譬如若角度变化量S2’≤预设阈值a,则标记当前帧人体图像为静止帧,否则标记当前帧人体图像为其他方向运动帧。

本实施例中,第一获取模块获取的所述姿态特征还包括人体目标特征点的对应位置t;所述人体目标特征点为所述人体目标关节部位对应的可识别特征点;

所述运动特征还包括人体目标特征点的移动幅度T,移动幅度T包括移动方向T1和移动距离T2;

Step04中,若角度变化量S2’>预设阈值a,且角度变化方向S1’和所述角度变化方向S1一致,同时移动距离T2’>预设阈值b,且移动方向T1’和所述移动方向T1一致,则标记当前帧人体图像为同方向帧,否则标记当前帧人体图像为其他方向帧。

需要说明的是,通过姿态特征中引入人体目标特征点的对应位置t,在运动特征中相应引入人体目标特征点的移动幅度T,这样可以既能够在人体复杂和随意的动作序列中,根据画面情节预先设定的人体关节部位动作要求,准确和实时地识别出实际人体想要表达的动作信号,又能够基于角度变化幅度S和移动幅度T两个特征的组合排除其他无关动作的干扰,避免误判。

需要说明的是,所述其他方向帧可以包括静止帧和/或其他方向运动帧,譬如若角度变化量S2’≤预设阈值a,且移动距离T2’≤预设阈值b,则标记当前帧人体图像为静止帧;否则标记当前帧人体图像为其他方向运动帧。

由于现有技术在获取不同帧人体图像的人体可识别特征点时存在一定偏差,所以当角度变化量S2’≤预设阈值a且移动距离T2’≤预设阈值b时,标记当前帧人体图像为静止帧,进一步地,如果当前连续出现n帧静止帧和/或其他方向帧时,执行画面事件驱动指令,所述n为阈值,这样可以避免人体特征点位置识别误差带来的干扰。

需要说明的是,移动幅度T包括移动方向T1和移动距离T2,譬如当对比帧人体图像中人体目标特征点和当前帧人体图像中人体目标特征点的“连线或连线的方向向量”和“预设轨迹线L或者动作起始帧和激活画面事件驱动指令时的对应帧的人体目标特征点之间的连线或者水平线、人体中线等其他参考线”的夹角处于预设范围内时为正向,否则为反向,而移动距离T2基于对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离获取。

需要说明的是,角度变化幅度S包括角度变化方向S1(譬如角度数值是从小变大还是从大变小,或者顺时针为正向、逆时针为反向等,例如被支撑节段线条基于其和支撑节段线条的交点顺时针或逆时针方向转动)和角度变化量S2。

如图2所示,通过采用上述技术方案,其取得如下技术效果:

人体的大部份动作是通过关节两侧的节段(骨骼)的相对位置变化形成的,人体关节部位包括人体关节、支撑节段(骨骼)和被支撑节段(骨骼),其中支撑节段(骨骼)和被支撑节段(骨骼)通过人体关节相连接,支撑节段(骨骼)一般指人体关节部位动作时活动范围相对小的节段(骨骼),被支撑节段(骨骼)一般指人体关节部位动作时活动范围相对大的节段(骨骼),譬如当人的手臂远离躯干向斜上方45度伸出时,上臂对应支撑节段(骨骼),前臂对应被支撑节段(骨骼),肘关节为对应的人体关节。

根据人体构造特点,在三维空间中人体关节部位的运动可以分为伸、曲、转3种及其组合,以肘关节为例,当伸时,上臂和前臂之间的夹角变大、人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置,当曲时,上臂和前臂之间的夹角变小,人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置,当转时,上臂和前臂间的夹角不变,人体关节部位尤其是被支撑骨骼的人体特征点如腕关节点会显著改变位置。

由于摄像装置采集的人体平面图像上只有基于该平面的横向、纵向位置信息,缺少深度信息,造成无法准确地判断人体关节部位在三维空间中的姿态特征如位置特征(关节部位和人体其他部位譬如人体躯干的相对位置特征)、姿势特征(关节两侧骨骼之间的夹角特征)等,但是根据人体关节部位的构造和运动特点,以及关节两侧的骨骼均是在三维空间中实际长度固定的刚体,当人体面向摄像装置时,如果关节部位的人体特征点基于人体其他部位(譬如躯干部位或者支撑骨骼和躯干相连接的端点所在的躯干部份)对应的平面,其横向、纵向相对位置不变,但是深度相对位置发生改变,那么关节两侧骨骼之间的夹角一定会发生改变,进而造成在人体平面图像(投影平面)上对应的关节两侧的节段之间的夹角发生改变,以肘关节为例,设支撑骨骼(上臂)和肩部相连的端点为固定位置的支撑点,如果三维空间中腕关节点基于肩部所在躯干部份对应平面的横向、纵向相对位置不变,但是深度相对位置发生改变,那么上臂骨骼和前臂骨骼的夹角一定会发生改变,进而造成人体平面图像上上臂节段和前臂节段之间的夹角发生变化。

基于以上原理,如果在人体平面图像上关节两侧的节段之间的夹角确定、关节部位的人体特征点的位置确定,那么可以对应到所述关节部位在三维空间中的姿态特征包括位置特征(关节部位和人体其他部位譬如人体躯干的相对位置特征)、姿势特征(关节两侧骨骼之间的夹角特征)等,这也是人体关节部位动作时的主要特征。

譬如在进行“伸”、“曲”的动作时,设人的手臂远离躯干向斜上方45度伸出,人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角会变大,同时关节部位的人体特征点(如腕关节点)的位置会向斜上方移动,当手臂伸到尽头时,上臂和前臂的夹角接近180度,腕关节点会位于人体平面图像上某一位置,而当手臂同样远离躯干向斜上方60度伸出时,人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角也会变大,同时腕关节点的位置会向斜上方移动,当手臂伸到尽头时,上臂和前臂的夹角接近180度,腕关节点的位置会位于人体平面图像上的另一位置,此时根据人体平面图像上的上臂和前臂的夹角变化幅度以及腕关节点在人体平面图像上的位置变化幅度,和预设参数进行匹配,以确定实际动作和预设动作的吻合程度;

而当进行“转”的动作时,在三维空间中关节两侧的骨骼之间的夹角不变,但是由于关节两侧的骨骼均是在三维空间中实际长度固定的刚体,所以“转”的动作时关节部位的人体特征点在人体平面图像上的横向位置和/或纵向位置一定会发生改变,譬如右侧上肢保持向前伸直姿势向躯干右侧方向移动,此时人体平面图像上位于肘关节两侧的支撑节段(上臂)和被支撑节段(前臂)的夹角保持180度不变,腕关节点在人体平面图像上的位置发生改变,此时根据人体平面图像上肘关节两侧的上臂节段和前臂节段的夹角数值以及腕关节点在人体平面图像上的位置变化幅度,和预设参数(此时预设参数中,对应角度变化幅度S的角度变化量参数阈值为0°或接近0°的小度数,如0°—5°的范围)进行匹配,以确定实际动作和预设动作的吻合程度。需要说明的是,在某些限定情况下,譬如“转”的动作过程中,如果三维空间中人体目标关节部位的夹角和180度或0度相差较大,同时关节部位“转”时和人体躯干的相对深度位置发生了比较大的改变,此时虽然三维空间中人体目标关节部位的夹角保持不变,但是在人体平面图像上支撑节段和被支撑节段之间的夹角会因为摄像装置的透视成像等原因发生特定趋势的改变,譬如关节部位远离躯干向前“转”时,夹角会变小,而关节部位向靠近躯干的方向“转”时,夹角会变大等,即使如此,根据人体平面图像上支撑节段和被支撑节段之间的夹角变化幅度以及人体目标特征点的位置变化幅度(譬如相对于躯干特征点的位置变化幅度),还是可以获取相应关节部位动作的运动特征并和预设参数进行匹配。

进一步地,基于当前帧人体图像和对比帧人体图像的人体目标关节部位的角度变化幅度S和人体目标特征点的移动幅度T,和预设条件进行匹配,如果匹配成功,说明人体目标关节部位根据预设动作要求的运动特征进行了运动,进而可以触发画面事件驱动指令,需要说明的是,由于人体进行单一关节动作时,关节两侧骨骼之间的夹角变化趋势是不变的,所以其在人体平面图像(投影平面)上对应的关节两侧的节段之间的夹角会保持相同的变化趋势,同时,关节部位人体特征点的移动趋势也会和动作起点与动作终点的连线保持基本一致,譬如在“伸”的动作过程中,将起始帧人体图像的腕关节点和结束帧人体图像的腕关节点连接作为参考线,时间在后的人体图像的腕关节点在所述参考线上的投影点一般要比时间在前的人体图像的腕关节点在所述参考线上的投影点更加靠近结束帧人体图像的腕关节点,所以在实操时不断获取当前帧人体图像,如果当前帧人体图像和之前若干帧历史图像中的某一帧人体图像的人体目标关节部位的角度变化幅度S和人体目标特征点的移动幅度T满足预设条件时,说明人体关节部位刚刚完成预设动作,以实现实时识别。此外,在实操时还可以给出提示,要求实际人体根据参考动作特征或参考画面完成动作。

通过以上方法,既能够在人体复杂和随意的动作序列中,根据画面情节预先设定的人体关节部位动作要求,准确和实时地识别出实际人体想要表达的动作信号,又能够基于角度变化幅度S和移动幅度T两个特征的组合排除其他无关动作的干扰,避免误判,同时,因为不同人体的部位形状及动作习惯千差万别,通过使用者同一人体的关节部位在多帧画面之间的姿态特征变化幅度是否满足预设条件来触发画面事件驱动指令,相比于传统三维位置信息方案中实际人体多帧画面和预设人体多帧画面之间三维轨迹的匹配,显然能够带给使用者更符合自身动作习惯的良好体感要求并降低束缚感,也更符合使用者根据自身动作习惯模拟画面提示中相关参考动作要求的本意,同时,因为不需要获取深度信息,大大降低了摄像装置的成本,事实上,在人眼识别其他人体尤其是距离较远的其他人体的关节部位运动时,人脑对于深度信息的感知并不精确,主要也是通过关节两侧的节段之间的夹角、关节部位对应的人体特征点和人体躯干等部位的相对位置来确定运动特征的。

需要说明的是,在人体目标关节部位运动的同时,如果人体其他特定部位(譬如躯干部位或者支撑骨骼和躯干相连接的端点所在的躯干部份)和摄像装置的相对位置发生了比较大的变化,譬如当肘关节部位运动时人体整体向摄像装置左侧或右侧进行了较大距离的移动或者人体躯干的肩膀部份面向摄像装置的角度发生了较大的变化如大幅度侧身,此时需要等所述特定部位和摄像装置的相对位置稳定下来后再进行肘关节部位运动姿态的判断,这种情况下可以通过人体其他特征点的位置来判断是否发生了较大幅度的所述特定部位的位置变化,此外,也可以通过人体多个目标关节部位的姿态特征和运动特征来判断人体的整体运动特征,进而基于人体的整体运动特征是否符合预设条件来判断是否需要触发画面事件驱动指令。

进一步地,本申请能够精确识别被拍摄者的特定关节部位的动作结束并触发相应的画面事件(譬如自拍者双拳向前击打到尽头后才能在画面中出现闪电的特效,即肘关节部位的“伸”的动作结束);在趣味性自拍类游戏等场景中,使用者既利用电视上方的摄像装置拍摄自己,同时又在电视屏幕上观察自身人体影像和电视上的虚拟背景画面融合后的效果并据此进行相应的动作,因此在本申请涉及的应用场景中,存在两条对于关节部位运动特征及据此触发的画面事件的感知/识别通路,一条是计算机装置对于关节部位运动特征的感知/识别,并据此触发画面事件,另一条是人眼(人脑)观察感知屏幕画面上的自身关节部位运动特征、以及由计算机装置触发的画面事件,在本申请的解决方案中,两条通路的识别方式一致、识别对象也一致(均为屏幕画面对应的人体二维平面图像),所以双方对于动作特征是否满足触发条件的感知是一致的,能给使用者带来良好的画面视觉体验和符合常识的体感及操控感,譬如使用者观察到屏幕画面上关节部位动作完成了(计算机装置也认为完成了)并及时触发画面事件,而现有技术都不可避免地会和人眼(人脑)观察感知屏幕中自身关节部位动作的识别方式存在一定偏差,导致双方对于应该何时触发画面事件的认知出现偏差,由此导致用户产生对自身动作不可控的感觉,譬如用户认为关节部位动作还没有完成,但是计算机装置已经触发了画面事件,这会严重影响使用者的画面视觉效果和体感及操控感。此外,现有技术需要将一个动作包含的多帧人体图像的静态姿态特征的轨迹变化和预设轨迹特征数据进行匹配,由于人体动作习惯和体型的多样性,此种方案如果用于前述触发画面事件的场景中,会导致对人体动作的束缚性要求太高,可能根本无法触发画面事件。

而本申请根据我们要解决的问题特点和人体关节的构造特点,基于二维平面图像上关节两侧的节段之间的夹角信息和关节部位的人体特征点在二维平面图像上的相对位置信息,在没有深度信息的二维平面图像上准确表征了特定关节部位在三维空间中的特定姿态特征,并在此基础上进一步基于关节部位动作的开始帧和结束帧就可实现识别被拍摄者的特定关节部位的动作特征和动作结束时间点,进而触发相应的画面事件。

需要进一步说明的是,执行画面事件驱动指令包括但不限于:改变道具在画面中的视觉相对位置、改变人体图像中目标人体在画面中的视觉相对位置、对道具进行变形或增加装饰效果、以及在画面中显示新的内容或去除已有的内容。此外,本发明也可用于对预先拍摄好的人体视频自动增加画面特效等用途,此时当前帧人体图像指当前从人体视频文件中获取的一帧或多帧人体图像。

本实施例中,所述人体目标关节部位的角度s通过以下方法获得:获取对应支撑节段的支撑节段线条,获取对应被支撑节段的被支撑节段线条,基于支撑节段线条和被支撑节段线条的夹角获得角度s;所述支撑节段线条/被支撑节段线条是支撑节段/被支撑节段对应的可识别特征点和人体关节对应的可识别特征点之间的连线。

通过采用上述技术方案,其取得如下技术效果:

在人体平面图像上获取支撑节段和被支撑节段之间的夹角,譬如在肘关节部位运动时,可以将肩关节点和肘关节点的连线作为支撑节段线条,将腕关节点和肘关节点的连线作为被支撑节段线条;需要说明的是,在人体目标关节部位运动过程中,如果人体平面图像上支撑节段、被支撑节段、人体关节对应的可识别特征点的横坐标或纵坐标始终保持一致,那么虽然在三维空间中支撑骨骼和被支持骨骼之间的夹角发生了变化,但是人体平面图像上支撑节段、被支撑节段的夹角始终为180度,原因是此时关节两侧的骨骼之间的夹角变化纯粹基于骨骼在深度方向上的运动形成,所以无法在人体平面图像上体现,譬如人体正面朝向摄像装置(人体平面和摄像装置光轴垂直),将膝盖弯曲、小腿正面严格保持竖直向上提起(运动时踝关节点、膝关节点、髋关节点在人体平面图像上的横坐标始终保持一致),由于缺少深度信息,此时人体平面图像上的膝关节两侧的节段之间的夹角始终为180度,但是由于关节两侧的骨骼均是刚体,所以小腿节段上的人体特征点(譬如踝关节点)在人体平面图像上的位置一定会发生改变,在这种情况下,由于人体平面图像上关节部位的节段之间的夹角数值有明确的特征、关节部位的人体特征点的位置变化有明确的特征,所以还是可以结合预设条件识别人体目标关节部位的姿态特征和运动特征;此外,类似异常情况都是对人体动作有严格束缚要求的特殊动作,实际应用中也可以在预设动作中排除这些异常动作。

本实施例中,所述支撑节段和被支撑节段均至少包括一块人体骨骼,所述人体目标特征点为被支撑节段上远离人体关节的端部上的可识别特征点。

通过采用上述技术方案,其取得如下技术效果:

由于骨骼是刚体,包含一块贯穿两端的骨骼的人体部位节段也是刚体,所以在人体关节部位“伸”、“曲”、“转”的运动过程中,人体平面图像上支撑节段和被支撑节段之间的夹角以及关节部位的人体特征点的位置会体现出相应的变化或对应数值,同样地,选取被支撑节段上远离人体关节的端部上的可识别特征点作为人体目标特征点,一般情况下可以获取到更加明显的特征点位置变化。需要说明的是,实操时支撑节段/被支撑节段可以包括一块或多块骨骼,譬如在人的手臂远离躯干向斜上方45度伸出的场景中,既可以将腕关节点作为人体特征点,也可以在动作过程中手腕不出现明显弯曲的前提下将手部特征点作为人体特征点,此外,也可以选取某块骨骼或其对应人体部位的一部份作为支撑节段/被支撑节段,因为骨骼的一部份也是刚体,譬如选取前臂部位的一半作为被支撑节段,实质都是一样的。需要说明的是,所述骨骼并非一定要和关节相连,只要其对应的人体部位节段和关节相连即可,譬如在人体髋关节从竖直姿势开始向右弯曲的过程中,可以选取人体平面图像上髋节点和膝关节点的连线作为支撑节段线条,选取和人体中线(譬如两个髋关节点连线中点和喉节点的连线)平行并穿过髋节点的直线作为被支撑节段线条,在上述弯曲的过程中,线条之间的夹角会从接近180度开始变小,此时被支撑节段对应人体躯干部位或躯干部位的一部份,因为躯干包含了脊柱,所以是刚体;此外,人体目标特征点也可以根据具体动作的特点在被支撑节段、支撑节段、人体关节所对应的部位选取,譬如在上述髋关节弯曲的动作中,可以选取髋关节对应的特征点作为人体目标特征点,因为该部位特征点在这个动作中的移动距离较大。

本实施例中,判断模块在判断时,若对比帧人体图像的人体目标关节部位的角度s1在起始角度范围内,且当前帧人体图像的人体目标关节部位的角度s2在终止角度范围内,则运动特征的角度变化幅度S满足预设条件。

通过采用上述技术方案,其取得如下技术效果:

通过设定起始角度范围和终止角度范围,既可以迫使实际人体的动作和参考人体的动作更加接近,又可以通过设置特定的起始角度值和终止角度值进一步避免人体其他无关动作的干扰,需要说明的是,如果希望实际人体的动作要更加严格匹配参考人体的动作,可以将起始角度或终止角度的范围设得较小甚至只有一个数值,如果希望赋予实际人体更大的动作自由度,可以将起始角度或终止角度的范围设得较大。

本实施例中,若对比帧人体图像的人体目标特征点的对应位置t1在起始位置范围内,且当前帧人体图像的人体目标特征点的对应位置t2在终止位置范围内,则运动特征的移动幅度T满足预设条件。

通过采用上述技术方案,其取得如下技术效果:

通过设定起始位置范围和终止位置范围,除了动作特征外,对实际人体动作的起始位置和终止位置的范围有了进一步的要求(譬如右臂远离躯干向斜上方45度伸出的场景,既可以从髋部附近开始,也可以从肩部附近开始),这样既可以让实际人体的动作更加精准地贴近参考人体的动作,又可以通过设置特定的起始位置值和终止位置值进一步避免人体其他无关动作的干扰。

需要说明的是,如果希望实际人体的动作要更加严格匹配参考人体的动作,可以将起始位置或终止位置的范围设得较小甚至只有一个数值,如果希望赋予实际人体更大的动作自由度,可以将起始位置或终止位置的范围设得较大。

需要进一步说明的是,由于实际中实际人体的体型特征千差万别,实际人体距离摄像装置的远近距离也各不一样,所述人体目标特征点的对应位置可以基于该人体目标特征点和其他人体特征点的相对位置生成,譬如腕关节点的对应位置可以基于其和肩关节点(肘关节部位的支撑节段和躯干相连的固定支撑点)或者和肚脐点/喉节点(躯干部位的稳定点)等的相对位置生成,这样可以屏蔽前述环境造成的差异,获得更加准确的计算结果。

本实施例中,当所述对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置t1’比当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置t2’更加靠近所述预设轨迹线L的起始点,则所述移动方向T1为正向,否则为反向。

本实施例中,所述移动距离T2基于对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离获取,所述预设轨迹线L为基于画面情节中预设的目标特征点的运动轨迹的起始点和终止点获得的连线。

需要说明的是,由于人体进行单一关节动作时,关节部位人体特征点的移动趋势会和动作起点与动作终点的连线保持基本一致,譬如在肘关节部位“伸”的动作过程中,将起始帧人体图像的腕关节点和结束帧人体图像的腕关节点连接作为参考线,时间在后的人体图像的腕关节点在所述参考线上的投影点一般要比时间在前的人体图像的腕关节点在所述参考线上的投影点更加靠近结束帧人体图像的腕关节点,因而将对比帧人体图像和当前帧人体图像的人体目标特征点在预设轨迹线L上的投影位置进行比较,可以判断所述人体目标特征点的移动趋势和预设动作中对应的人体目标特征点的移动趋势是否吻合,譬如将所述人体目标特征点基于和预设轨迹线L垂直方向投影到预设轨迹线L上,预设轨迹线L为直线;需要说明的是,也可以采用当对比帧人体图像中人体目标特征点和当前帧人体图像中人体目标特征点的连线或连线的方向向量和预设轨迹线L的夹角处于预设范围内时为正向、否则为反向的方式,实质是一样的。

需要说明的是,为屏蔽环境差异,所述移动距离T2可以根据对比帧人体图像的人体目标特征点的对应位置和当前帧人体图像的人体目标特征点的对应位置之间的距离和人体特定部位尺寸的比值生成。

本实施例中,所述移动距离T2基于对比帧人体图像的人体目标特征点在预设轨迹线L的投影位置和当前帧人体图像的人体目标特征点在预设轨迹线L的投影位置之间的预设轨迹线L的节段长度获取;判读移动距离T2是否满足所述预设条件包括:判断所述移动距离T2与预设移动距离的比值是否满足预设的阈值,所述预设移动距离基于所述运动轨迹的起始点和终止点之间的预设轨迹线L的节段长度获取。

需要说明的是,由于实际人体动作不可能和预设动作完全一致,通过人体目标特征点在人体平面图像上沿着预设轨迹线L方向的移动距离和预设动作相应移动距离的比值,可以更加简洁地判断实际人体动作和预设动作的吻合度,举例来说,参考人体的手臂远离躯干向斜上方45度伸到尽头,实际人体在模仿时不可能正好是45度,通过预设阈值范围的设定,既赋予实际人体动作自由度,又不至于偏差太大,同时,这种方法标记简单,即使没有起始位置范围和终止位置范围也可以实现对人体动作的约束。

如图4所示,另一个实施例中,计算模块计算人体目标特征点的移动幅度T包括:将当前帧人体图像和对比帧人体图像之间的若干帧历史人体图像的人体目标特征点在同一二维坐标系下依次相连,获取若干根相邻线段,计算若干根相邻线段的长度之和与预设轨迹线段M的长度的比值,将所述比值设为移动幅度T,所述预设轨迹线段M基于画面情节中预设的目标特征点的运动轨迹获取;预设条件包括:所述移动幅度T满足预设的阈值T’。

通过采用上述技术方案,其取得如下技术效果:

由于实操时实际人体一般会根据提示模仿参考动作完成相关运动,基于当前帧人体图像和对比帧人体图像的姿态特征的变化幅度和参考动作中起始画面和结束画面的姿态特征的变化幅度进行匹配,既赋予实际人体动作自由度,又不至于偏差太大,也更加符合趣味性自拍或游戏时实际人体模仿参考动作进行相关运动的本意,但是在某些场景下,对人体关节部位的动作过程有更加严格的要求,譬如参考教练的动作进行健身、舞蹈学习等,此时人体关节部位动作过程中的多帧人体图像的姿态特征变化轨迹需要和参考动作中起始画面和结束画面之间的多帧画面中的姿态特征变化轨迹尽可能接近,才能激活画面事件驱动指令。

譬如在肘关节部位“伸”的动作中,如果参考动作中腕关节点在人体平面图像上的移动轨迹是曲线,那么对比帧和当前帧中多帧人体图像的腕关节点在人体平面图像上的移动轨迹也应该是曲线,为此将当前帧人体图像和对比帧人体图像之间的若干帧历史人体图像的人体目标特征点在同一二维坐标系下依次相连,获取若干根相邻线段,计算若干根相邻线段的长度之和与预设轨迹线段M的长度的比值,将所述比值设为移动幅度T,所述预设轨迹线段M基于画面情节中预设的目标特征点的运动轨迹获取譬如基于参考人体目标特征点的移动轨迹获取,需要说明的是,预设轨迹线段M可以是曲线也可以是直线。

进一步地,在腕关节点的起始点、终止点和参考动作中腕关节点的起始点、终止点比较接近的情况下,如果所述若干根相邻线段的长度之和与预设轨迹线段M的长度比较接近,那么实际人体和参考动作中腕关节点的移动轨迹也会比较接近,进一步地,还可以将对比帧和当前帧中多组相邻人体图像的角度变化幅度和参考动作中起始画面和结束画面之间的多组相邻画面中的角度变化幅度进行匹配,以获得更加精准的动作匹配结果。

需要说明的是,以上所述是比较简洁的计算方案,因为根据人体关节部位运动特点,关节两侧的骨骼均是刚体,在“伸”、“曲”、“转”的单一动作中,关节部位的人体目标特征点(譬如肘关节部位对应的腕关节点)一般不会出现较大弧度的曲线轨迹,而是直线或者和直线更接近的折线、小弧度曲线,所以采用上述方案计算简洁同时还可以获得较好的轨迹匹配结果,当然在实操时,也可以基于对比帧和当前帧中多组相邻人体图像的姿态变化幅度和参考动作中起始画面和结束画面之间的多组相邻画面中的姿态变化幅度进行多种方式的匹配,以实现各种精度需要的匹配结果,实质是把一组相邻的人体图像作为一个关节部位动作。

另一个实施例中,判断模块判断运动特征是否满足预设条件,包括

判断角度变化量S2和移动距离T2是否满足预设的角度变化量阈值B和移动距离阈值C,若是,则执行以下步骤:

Step1、将对比帧人体图像标记为基准帧人体图像;

Step2、将对比帧人体图像的下一帧人体图像标记为新的对比帧人体图像;

Step3、计算新的对比帧人体图像和基准帧人体图像的角度变化方向S1’和移动方向T1’;

Step4、若角度变化方向S1’和角度变化方向S1一致并且移动方向T1’和移动方向T1一致,则标记新的对比帧人体图像为同方向帧人体图像;

Step5、判断新的对比帧人体图像是否为当前帧人体图像,若是,则进入Step6,若否,则进入Step1;

Step6、判断同方向帧人体图像的数量在基准历史人体图像的总数量中的占比是否大于预设的阈值A,若是,则当前帧人体图像的运动特征满足预设条件,所述基准历史人体图像的总数量基于当前帧人体图像和第一个对比帧人体图像之间的历史人体图像的数量产生。

通过采用上述技术方案,其取得如下技术效果:

当前帧人体图像和对比帧人体图像之间的若干帧人体图像中的大部份都为同方向帧时,说明人体关节部位更加准确地根据预设动作要求完成了运动,譬如在肘关节部位“伸”的单一动作中,关节部位的人体目标特征点如肘关节点一般不会出现较大弧度的曲线轨迹,所以预设动作也可以根据需要采用所述单一动作为单元进行设计,根据当前帧人体图像和对比帧人体图像之间的姿态特征变化幅度一般就能够获得较好的动作匹配效果,但是实际人体的真实动作是无法控制的,如果实际人体在预设的动作起点,通过“转”或者“曲”和“伸”的组合动作以较大弧度的曲线到达了预设的动作终点,那么在基准历史人体图像中的同方向帧的数量占比会较低,因而通过上述方案可以更加准确地判断出人体关节部位的运动是否符合预设动作的要求。

需要说明的是,由于现有技术在获取不同帧人体图像的人体可识别特征点时存在一定偏差,所以采用同方向帧的数量在当前帧人体图像和对比帧人体图像之间的若干帧人体图像中的占比来进行上述判断,还可以避免人体特征点位置识别误差带来的干扰。

需要说明的是,所述当前帧人体图像前的若干帧历史人体图像指当前帧人体图像前的K帧历史人体图像或时间长度K内的若干帧历史人体图像,所述K为预设阈值。

通过阈值K的设定,只有在规定时间内譬如以较快的速度完成和参考动作接近的关节部位动作才能激活画面事件驱动指令,可以进一步避免人体无关动作的干扰,实现动作预期稳定的的用户体感。

本实施例中,所述预设条件为包括若干个运动特征要求的运动特征要求组[D1,…,Dn];若当前帧人体图像的运动特征满足运动特征要求组[D1,…,Dn]中任一运动特征要求,则将当前帧人体图像设为触发帧人体图像,若有n个触发帧人体图像的运动特征依序满足运动特征要求组

[D1,…,Dn]中的所有运动特征要求,则满足预设条件,激活画面事件驱动指令。

需要说明的是,若有n个触发帧人体图像的运动特征依序满足运动特征要求组[D1,…,Dn]中的所有运动特征要求,说明实际人体按照次序完成了由多个关节部位动作组成的预设动作序列,此时激活画面事件驱动指令,所述运动特征要求指预设的运动特征范围。

通过采用上述技术方案,其取得如下技术效果:

预设动作为由若干个关节部位动作组成的动作序列,当实际人体的动作和预设动作序列吻合时,激活画面事件驱动指令。

进一步,当前触发帧人体图像对应的对比帧人体图像位于上一个触发帧人体图像之后,并且所述对比帧人体图像和所述上一个触发帧人体图像之间的时间间隔不大于预设的阈值e。

即一个触发帧人体图像产生后,在时间间隔e内产生下一个触发帧的对比帧。

通过采用上述技术方案,其取得如下技术效果:

通过当前触发帧人体图像对应的对比帧人体图像必须位于上一个触发帧人体图像之后,确保相邻关节部位动作所包含的人体图像不会相互干扰;通过对比帧人体图像和上一个触发帧人体图像之间的时间间隔不能大于预设的阈值e,确保相邻关节部位动作的完成必须是连续的。

本实施例未详细公开部分和实施例1相同,若存在不理解的地方,请参阅实施例1。

本发明若存在不清楚地方,请参阅CN115129162A一种基于人体图像变化的画面事件驱动方法及系统。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。本发明的保护范围以权利要求书及其等价物的保护范围为准。

相关技术
  • 一种基于二维Logistic混沌系统算法的图像加密方法
  • 一种基于二维码与图像识别防伪的混凝土试件见证取样系统及方法
  • 一种基于人体图像变化的画面事件驱动方法及系统
  • 一种基于二维图像的人体数据测量系统及其测量方法
技术分类

06120116481317