技术领域

本发明涉及一种三维肢体活动角度算法,特别是涉及一种基于Python的步态周期及三维肢体活动角度算法。

背景技术

肢体活动角度(ROM,Range of Motion)是指人体在运动时的肢体活动范围,可用于表征肢体的灵活程度。在三维动作分析中,一般将人体分为3个截面,分别为冠状面、矢状面和水平面。人体在运动时,各个关节在三个截面会分别发生内收/外展、屈曲/伸展、内旋转/外旋转等。

角度计是测量ROM的常用技术手段,但不能实时监测关节在三个截面的活动情况。三维动作捕捉仪的出现实现了对人体关节数据的实时获取,其应用范围非常广泛,包括生物力学、运动学、工效学研究、虚拟现实、电影制作等领域。在生物力学和运动学领域,三维动作捕捉仪主要用于不同负重或身体状态下的行走模式、动作分析及身体平衡的判定,及不同身体截面方向特定关节的运动学特征分析。近年来,三维动作捕捉仪在特种服装装备的工效学测试和性能优化领域逐渐得到了应用。

然而,由于三维动作捕捉仪会实时记录人体各个关节角度在三个维度的变化,监测过程中获得的数据量巨大,因此,需要依靠有效的技术手段实现对关节角度数据的提取和分析。现有技术中还没有这样的有效的技术手段。

发明内容

本发明要解决的技术问题是提供一种三维肢体活动角度算法,与三维动作捕捉仪相结合,用于三维动作捕捉仪获取的大量数据的后处理,计算周期性关节角度,评价肢体灵活性,减少外界因素对人体的影响。

为了解决上述技术问题,本发明的技术方案是提供一种基于Python的步态周期及肢体活动角度算法,其特征在于,步骤为:

步骤1:对接三维动作捕捉系统,根据人体重要关节所在的身体部位及关节名称,对原数据进行格式化处理;

步骤2:根据步态周期特征设定跃升阈值,基于髋关节矢状面的角度变化规律确定数据库中所有步态周期;

步骤3:基于数据记录频率及步态周期的起始和结束帧确定步长时间,利用Python在每个步态周期内查找三维关节角的最大、最小值,并计算三维肢体活动角度;

步骤4:根据关节位置生成两个数据矩阵,分别写入每个步态周期的步态和肢体活动指标。

优选地,所述步骤1包括以下子步骤:

步骤1.1:提取三维动作捕捉仪获取的三维关节角度数据;

步骤1.2:根据关节所处位置,将其划分为左侧、右侧区域;

步骤1.3:纵向以时间顺序、横向以关节名称顺序,形成不同时刻人体重要关节的三维关节角度数据库。

优选地,所述步骤1中,人体重要关节包括肩关节、肘关节、腕关节、髋关节、膝关节、踝关节。

优选地,所述步骤1.3中,关节名称依次排列冠状面、矢状面和水平面角度。

优选地,所述步骤2包括以下子步骤:

步骤2.1:对数据进行步态周期的过滤,删除无效数据;

步骤2.2:以右侧髋关节矢状面的角度变化规律提取所有步态周期。

更优选地,所述步骤2.1中,设定右侧髋关节矢状面角度跃升阈值,当在一个时间区间内角度跃升大于阈值时,说明人体开始行走,删除之前的无效数据。

更优选地,所述步骤2.2中,判断1个步态周期的方法是:当右脚后跟着地,髋关节达到最大屈曲时,作为1个步态周期的起始时刻;当髋关节角度达到最大伸展时,右脚脚尖即将离地;当髋关节角度第二次达到最大屈曲时,右脚脚跟再次着地,第1个步态周期结束,同时第2个周期开始。

优选地,所述步骤3包括以下子步骤:

步骤3.1:根据步态周期的初始帧和结束帧,以及三维动作捕捉仪的数据记录频率,计算每个步长时间;

步骤3.2:在各步态周期内,利用Python查找各个关节在三个维度方向的最大值和最小值,并计算差值;由此,获得所需的步态和肢体活动角度数据。

优选地,所述步骤4具体为:

根据步骤3计算的指标生成步态报告,步态报告写入左、右两个矩阵;输出步态报告中包括各周期的初始帧、结束帧、步长时间在内的步态数据,以及三维关节角度的包括最大值、最小值和差值在内的肢体活动角度数据。

优选地,所述左、右两个矩阵分别表示身体左侧关节和身体右侧关节

本发明提供的方法可实现大量实时关节角度数据的快速有效处理,适用于各种三维动作捕捉系统,以及人体本身的不同负重及服装装备条件,通用性强。可针对不同的人体动作和测试任务,设定不同的数据筛选阈值,灵活性强。可将数据处理结果生成系统性测试报告,有利于进行结果分析。具有一定的扩展性,可在算法基础上增加加速度运算、距离运算等后处理模块,并生成结果图表,从而实现更强的可视化效果。采用本发明提供的步态周期划分方法,可实现对不同外界因素,如负重条件和服装装备等因素对人体肢体活动影响的评价,而该算法的可扩展性又为人体工效学领域的数据分析及符合工效学的产品设计提供了基础。

附图说明

图1为基于Python的步态周期及肢体活动角度算法模块化流程图;

图2为髋关节三维角度示意图;(a)冠状面,其中,1表示内收、关节角度>0°,2表示外展、关节角度<0°;(b)矢状面,其中,3表示屈曲、关节角度>0°,4表示伸展、关节角度<0°;(c)水平面,其中,5表示内旋转、关节角度>0°,6表示外旋转、关节角度<0°;

图3为以右脚为例的一个步态周期示意图;(a)右脚跟着地;(b)右脚掌着地;(c)右脚支撑;(d)左脚掌着地;(e)左脚支撑;(f)右脚跟着地;

图4为右侧髋关节矢状面角度的变化情况示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。

在人体正常行走时,人体的运动特征会随步态周期性变化,而该周期一般通过单脚与地面的接触状态判定。在步态周期性变化的同时,人体的各个关节角度均会出现周期性变化。本发明以步态周期为基础,将大量的关节角度数据进行周期性划分,并提取各个周期的关键参数,可有效实现对肢体活动角度的分析。该方法可用于评价外界因素,如服装装备、负重状态对人体活动灵活性的影响,并预测可能对人体造成的肢体损伤。

本发明提供了一种基于Python的步态周期及三维肢体活动角度算法,包括以下步骤:对接三维动作捕捉系统,根据人体重要关节所在的身体部位及关节名称,对原数据进行格式化处理;根据步态周期特征设定跃升阈值,基于髋关节矢状面的角度变化规律确定数据库中所有步态周期;基于数据记录频率及步态周期的起始和结束帧确定步长时间,利用Python在每个步态周期内查找三维关节角的最大最小值,并计算三维肢体活动角度;根据关节位置生成两个数据矩阵,分别写入每个步态周期的步态和肢体活动指标。

图1所示为基于Python的步态周期及肢体活动角度算法模块化流程图,包括原数据处理模块、步态周期过滤模块、步态数据处理模块和步态报告生成模块。具体步骤如下:

步骤1:通过原数据处理模块进行数据标准化处理

原数据处理模块可与三维动作捕捉系统对接,根据人体重要关节所在的身体部位以及关节名称,对原数据进行格式化处理,从而建立不同时刻所有相关部位(肩关节、肘关节、腕关节、髋关节、膝关节、踝关节等)的三维关节角度数据库。

本算法主要用于对三维动作捕捉仪获取的肢体活动角度数据进行后处理,对于不同的三维动作捕捉系统,数据的存储形式不同,因此,首先需要对数据进行格式化处理。人体关节,除头部和躯干部位以外,主要可以分为左右两侧,且一一对应。每个关节处的角度可分为三个维度。图2所示为髋关节三维角度示意图,在冠状面会发生内收或外展、矢状面发生屈曲或伸展,水平面发生内旋转或外旋转。对于所有关节点处的数据,排列方式为纵向以时间顺序排列,横向以关节名称排列,且每个关节处依次排列冠状面、矢状面和水平面角度。

步骤2:对步骤1处理完成的数据矩阵进行步态周期过滤

步态周期过滤模块是对三维肢体角度数据进行后处理的关键。在利用三维动作捕捉仪记录人体行走动作时,由于记录时间的提前或延迟,会出现不满足步态周期形成的数据,因此,需要筛除不能表征标准动作的无效数据。在筛除数据时,需要根据步态周期的特征,设定跃升阈值。标准动作以髋关节矢状面的角度变化为筛选基础,根据角度变化规律,确定处理数据库中的所有步态周期。

基于python的步态分析_基于Python的步态周期及三维肢体活动角度算法_2017108489397_说明书_专利查询_专利网_钻瓜专利网...相关推荐

  1. 基于python的步态分析_基于Python的步态周期及三维肢体活动角度算法的制作方法...

    本发明涉及一种三维肢体活动角度算法,特别是涉及一种基于Python的步态周期及三维肢体活动角度算法. 背景技术: 肢体活动角度(ROM,Range of Motion)是指人体在运动时的肢体活动范围, ...

  2. 基于python的步态分析_基于python实现RFM分析

    CREATED BY TAO 一 .先了解一下什么是RFM分析,RFM分析是根据客户活跃程度和交易金额贡献,进行客户价值细分的一种客户细分方法. RFM由R(Recency)进度,F(Frequenc ...

  3. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  4. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  5. python遥感图像处理_基于Python的矿山遥感监测系统开发方法

    目前,很多学者都是从宏观上讨论遥感和GIS一体化集成的可能性及集成的方法,但这些研究在GIS和RS方向只是对Python集成研究的思路或某一功能的介绍,并没有一个基于Python开发的集成GIS与RS ...

  6. python 建筑建模_基于CityEngine的建筑物自动化建模

    近年来, 全国很多城市都在进行数字城市建设, 推进城市信息化进程[.数字城市是运用3S.遥测.仿真-虚拟等技术,以计算机技术.多媒体技术和大规模存储技术为基础,以宽带网络为纽带,实现对城市多尺度.多时 ...

  7. python hook微信_基于hook的python机器人,彻底取代itchat

    本文档部分由itchat与wxpy的开发文档修改得出 禁止不规范转载 WechatBot WechatBot是一个半开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到20行的代码, ...

  8. python模糊神经网络预测_一种基于模糊神经网络的化学分子生物毒性预测模型算法的制作方法...

    本发明属于化工 技术领域: ,具体是一种基于模糊神经网络的化学分子生物毒性预测模型算法. 背景技术: :近些年来,化学物质合成技术飞快发展,合成物质已经应用于社会的各行各业,随着工业的高度发展,全球化 ...

  9. python 交互式流程图_使用Python创建漂亮的交互式和弦图

    python 交互式流程图 Python中的数据可视化 (Data Visualization in Python) R vs Python is a constant tussle when it ...

最新文章

  1. 自定义对话框控件bate2----20050516
  2. 计算机视觉工程师必读经典图书推荐
  3. mySql中使用命令行建表基本操作
  4. Qt文档阅读笔记-QThreadPool官方解析及实例
  5. 用C#实现用免费smtp服务器(GMail)发邮件(转)
  6. 数据库是.frm,.myd,myi备份如何导入mysql (转)
  7. 52. 配置 Etag (13)
  8. 【干货】高盛合伙人制度和激励机制!
  9. 显示器尺寸对照表_【开屏说】⑦:入手显示器须知的十大参数
  10. 汽车底盘线控与动力学域控制技术
  11. 行测备考丨易混词傻傻分不清?大神来拯救你!
  12. android记账app开发报告,【安卓开发】简单记账app功能实现开发-期末大作业个人总结...
  13. java游戏后端日志【6】 -- 初生牛犊不怕虎?
  14. 入职百度-念念不忘,必有回响
  15. VMware三种网络模式
  16. 人民广场,上海博物馆
  17. linux如何访问共享目录权限设置密码,文件夹如何设置密码_在共享文件夹上怎么设置密码访问 - 驱动管家...
  18. ​Python:PyTorch 汽车计数示例
  19. 模拟退火算法学习笔记
  20. P3239 [HNOI2015]亚瑟王(巧妙的概率dp)

热门文章

  1. 业务连续性(BCM)小百科系列(一)
  2. 使用Xstart连接linux
  3. 【产业互联网周报】财报季:谷歌云/AWS/Azure第一季度成绩单出炉
  4. 字体:[大 中 小]
  5. 那些程序员爆笑段子,扎心了…
  6. MFC制作倒数计时器
  7. 【NFS共享客户端挂载】NFS开机自动挂载方法
  8. R语言-一些关于用R绘图的总结
  9. Springboot项目配置oracle数据库
  10. java编码解码加密解密--md5、SHA-256、SHA-512、MAC、DES、AES、RSA