导读

动作示教方法是非专家用户对人形机器人进行控制的可靠形式,而对人类动作数据的运动分割与理解是其前提。利用现有方法对所捕获人类运动原始数据进行关键帧提取与运动分割时,由于数据特征不明确,导致难以准确定位运动起始帧、结束帧及分割帧。本文提出一种基于运动数据时空特征提取的运动分割方法。首先,对动态捕捉的人体运动数据进行预处理;然后,基于预处理数据提取人体质心速度、加速度以及简化倒立摆的摆角,从而揭示动态平衡时空特征;随后,提取步长、步高、步频、触地状态等步态参数,用于表现运动的周期性时空特征;从而构造出具有时空特征的运动数据集。最后,基于运动数据集的特征矩阵和运动数据,采用概率主成分分析(Probabilistic Principal Component Analysis, PPCA)方法进行运动分割,获得多种类型运动片段。为验证所提方法的有效性,进行了多种运动的捕捉与分割,并与基于原始数据的分割结果进行对比,结果表明本文方法具有更高的查准率和查全率。

正文

本文所选取的人类运动数据,其对应的数字人结构如图1所示,下肢骨骼包括:Root hip (根骨)、Buttock (臀部)、Thigh (大腿)、Shin (胫骨)、Foot (脚),上肢骨包括Abdomen (腹部)、Chest (胸部)、Neck (脖颈)、Shlder (肩部)、Forearm (肘部)、Hand (手部)每一部分所占总体重的百分比如表1所示。骨骼由关节进行连接,并通过关节旋转实现运动,其中肩关节、髋关节、踝关节具有三自由度,肘关节、膝关节具有一自由度,颈关节具有二自由度。运动数据包含根骨的位置信息及上述18个节点的旋转信息,保存在BVH文件中。

足端的运动状态是时空特征描述的关键信息,基于原始运动数据,将足端在根节点坐标系的位置坐标转换到世界坐标系下,从而方便步态参数的提取。下肢各节点父代与子代的层次关系如图3所示。前一级为后一级的父代。

首先初始化一个向前的运动片段k,使用概率主成分分析来估计运动数据的分布,将该片段建模为高斯分布,其次计算运动帧k + 1到k + T的马氏距离H来估算该片段属于上一片段定义的高斯分布的可能性,示意图如图5所示,整体而言,H先递减,随后产生一个波谷,继而上升,然后再递减,形成一个波峰。当1到k帧和kk + T帧属于同一种运动时,H递减。随着k的增加,算法对该运动的分布估计更为准确,最终形成了波谷。当新的运动进入第k+1帧到第k + T帧时,H就会开始递增。当新运动开始在第1帧到第k帧中出现时,H又开始递减,此时分布开始适应新运动。因而,可以把波峰处作为分割帧,此时1到k帧是旧的运动,k + 1到k + T帧是新运动的前T帧。

对该运动序列进行时间–空间运动特征提取,利用公式4计算左右侧足端相对于世界坐标系X方向(前进方向)轨迹如图8所示。其中世界坐标系如图1中所示。由图可见,运动大致可分为两类:原地运动、前向运动。其中两曲线重合,且前进方向无位移时表明,该状态处于双足支撑阶段,有位移时,则处于双足摆动状态。两曲线不重合时,则处于单足支撑阶段。

利用速度、加速度公式计算质心的三轴速度与加速度如图9、图10所示,可见4000帧之前,前进轴方向速度加速度几乎为0,为原地动作,4000帧之后,前进轴方向速度加速度发生变化,人体发生前向运动。蹲起及跳跃状态时,质心速度仅在站高方向变化;摆腿时,质心速度无明显变化;步行时,质心在前进方向速度变化较为明显,水平及站高方向无明显波动;前向跳跃及跑步时,质心在前进及站高方向速度变化较为明显,水平方向无明显波动。

在评估分割效果时,引入了查准率(P)与查全率(R),结果如表4所示。

通过比较可以看出,本文方法可以在保证查准率的基础上,大大提升检测的查全率。
 

结论

基于原始运动数据进行人类运动分割时,由于数据特征不明确,导致难以准确定位运动起始帧、结束帧及分割帧。本文提出了一种基于运动数据时空特征提取的运动分割方法。基于原始数据提取人体质心速度、加速度以及简化倒立摆的摆角,作为动态平衡时空特征加入运动数据中;提取步长、步高、步频、触地状态等步态参数,作为运动的周期性时空特征加入运动数据中,从而构造出具有时空特征的运动数据集。利用概率主成分分析方法分别基于原始运动数据进行运动分割,基于具有时空特征的运动数据集进行运动分割,对分割帧的查找结果进行查准率与查全率计算,结果表明,基于具有时空特征的运动数据进行运动分割,其所定位的分割帧具有更高的查准率与查全率。

基金项目

国家自然科学基金青年项目(62203278);

山东省自然科学基金青年项目(ZR2024QF270);

山东省青年科技人才托举工程(SDAST2024QTB015)

原文链接:基于运动数据时空特征提取的人类运动片段分割方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86169.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86169.shtml
英文地址,请注明出处:http://en.pswp.cn/web/86169.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM内核之CMSIS

1.什么是CMSIS? CMSIS(Cortex Microcontroller Software Interface Standard,Cortex微控制器软件接口标准)提供Cortex-M内核与软件之间的接口,即用户可以通过这些统一的接口(函数API)去访问底…

嵌入式软件面经(二)Q: Modbus协议CRC校验的方式是什么?它有哪些优势?

Modbus协议使用的CRC(循环冗余校验)是一种用于确保数据通信完整性和准确性的差错检测方法。在Modbus RTU通信中,CRC校验过程清晰明确,且被广泛应用于工业通信场景。 一、Modbus协议的CRC校验流程 (一)CRC计…

glib-object 中G_DEFINE_TYPE 宏都作了什么?

author: hjjdebug date: 2025年 06月 25日 星期三 15:35:26 CST descrip: glib-object 中G_DEFINE_TYPE 宏都作了什么? 文章目录 1. 测试代码2 给出它的展开式.3.说说它都生成了什么?3.1. my_foo_get_type() 函数3.2. static GType my_foo_get_type_once(void)3.3. my_foo_cl…

Alembic迁移系统初始化实战教程

下面是一份结构清晰、步骤明确的 基于 Alembic Pydantic SQLAlchemy 的数据库迁移系统初始化教程,非常适合初次搭建项目或团队规范流程参考。 🚀 Alembic SQLAlchemy Pydantic 项目数据库迁移初始化教程 本教程将指导你如何从零初始化 Alembic 迁移…

灰度发布怎么保证数据库一致的

注: 以下内容来源于deepseek答案,生产环境以实际情况为主! 在灰度发布中保证数据库一致的最优解需要同时满足安全性、低复杂度和高可操作性。结合多年实战经验,以下是最推荐的黄金方案(适用于90%以上场景)&…

不用vue,只用html,即可简单实现electron项目

为你提供一个 最简单的 Electron 项目模板,包含完整的代码、配置和打包说明。即使你是小白,也能快速上手。 1. 项目结构 /your-project├── main.js # Electron 主进程文件├── preload.js # 安全通信脚本(可选&#xf…

C++11原子操作:从入门到精通

文章目录 一、什么是原子操作&#xff1f;二、为什么需要原子操作&#xff1f;三、C11中的<atomic>头文件四、基本使用1. 声明原子变量2. 基本原子操作 五、内存顺序&#xff08;Memory Order&#xff09;示例&#xff1a;使用内存顺序实现自旋锁 六、原子类型模板七、实…

深入解析Flink Local模式启动流程源码:揭开作业初始化的神秘面纱

在Flink的数据处理体系中&#xff0c;Local模式凭借无需依赖分布式集群资源的特性&#xff0c;成为开发测试阶段快速验证作业逻辑的利器。其启动流程的源码里&#xff0c;藏着从作业提交到任务执行的完整脉络。接下来&#xff0c;我们将深入关键代码段&#xff0c;逐行剖析Flin…

二刷 苍穹外卖 day06

HttpClient 用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包 作用&#xff1a; 发送HTTP请求 接受响应数据 应用场景&#xff1a; 当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时 其实&#xff0c;应用程序本身并未实现这些功能&#xff…

React第六十三节Router中BrowserRouter的用途及注意事项

前言 BrowserRouter 是 React Router 库的核心组件&#xff0c;用于实现单页面应用&#xff08;SPA&#xff09;的客户端路由。它利用 HTML5 History API 管理 URL&#xff0c;实现页面无刷新跳转。下面详细解释其用途、使用方法和代码示例&#xff1a; 一、BrowserRouter 核…

《Self-Adapting Language Models》(SEAL)代码阅读笔记

代码&#xff1a;https://github.com/Continual-Intelligence 脚本命令用法&#xff1a;knowledge-incorporation/README.md 生成self-edit数据 脚本&#xff1a;sbatch knowledge-incorporation/scripts/make_squad_data.sh vllm serve启动Qwen2.5-7B模型的服务。 执行self-e…

GelSight Mini视触觉传感器开发资源升级:触觉3D点云+ROS2助力机器人科研与医疗等应用

近日&#xff0c;GelSight宣布对其GelSight Mini视触觉传感器的GitHub支持页面进行重大更新&#xff0c;围绕3D点云重建、ROS2 集成及开发者支持体系推出三大核心升级&#xff0c;助力机器人触觉感知、工业检测及科研场景落地。 GelSight Mini视触觉传感器重磅发布&#xff01;…

6、做中学 | 三年级下期 Golang值类型相互转换

本次为操作文章&#xff0c;大部分都在讨论类型之间如何转换&#xff0c;使用的是内置方法进行调用执行&#xff0c;详细使用请移步至&#xff1a; go的API使用文档地址 https://studygolang.com/pkgdoc 一、数值类型相互转换 go中数值转换需要显示转换&#xff0c;不能隐式自…

019 高校心理教育辅导系统技术解析:构建心理健康守护平台

高校心理教育辅导系统技术解析&#xff1a;构建心理健康守护平台 在关注大学生心理健康成为教育重点的当下&#xff0c;高校心理教育辅导系统借助数字化技术整合多种功能模块&#xff0c;面向管理员、学生、教师三类角色&#xff0c;实现心理教育辅导工作的高效化与精准化。本…

【ArcGIS】土地资源单项评价

【ArcGIS】土地资源单项评价 一、土地资源单项评价1、评价思路 二、操作步骤1、处理环境设置2、地形坡度评价3、高程评价4、坡度高程叠加评价5、地形起伏度6、土地资源综合评价 一、土地资源单项评价 1、评价思路 &#xff08;1&#xff09;利用全域DEM计算地形坡度&#xff…

Prioritized Generative Replay

ICLR 2025 Oral code 具有样本效率的 online reinforcement learning (RL) 通常使用 replay buffer 存储经验&#xff0c;以便在更新价值函数时重复使用。然而&#xff0c;uniform replay 效率低下&#xff0c;因为某些类型的 transition 可能与学习更相关。 虽然对更有用的样本…

Linux -- 线程、锁

1、 Linux线程概念 1.1、什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;更准确的定义是&#xff1a;线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行&#xff0c;本质是在进程地址空间内运行在Linux系统中…

海外服务器的定义和作用都有哪些?

海外服务器可以说是一个统称&#xff0c;其中包含了全球各地除了中国大陆以外其他国家的服务器&#xff0c;在如今的数字化时代中&#xff0c;海外服务器的应用已经成为跨国企业业务拓展、科研与学术交流等多个领域中不可或缺的一部分&#xff0c;能够为各个行业提供更加稳定且…

数据结构之优先级队列

系列文章目录 数据结构之ArrayList_arraylist o(1) o(n)-CSDN博客 数据结构之LinkedList-CSDN博客 数据结构之栈-CSDN博客 数据结构之队列-CSDN博客 数据结构之二叉树-CSDN博客 目录 系列文章目录 前言 一、优先级队列和堆 二、堆的模拟实现 1. 堆的创建 2. 计算建堆…

【版本控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P4)

本文来源perforce.com&#xff0c;由Perforce中国授权合作伙伴——龙智翻译整理&#xff0c;旨在为国内用户提供一份实用、易懂的Unreal Engine 5Perforce P4的中文使用指南。希望能为UE开发者、设计师和美术小伙伴们的版本控制实践提供有力支持~ Unreal Engine 5 是一款尖端的…