在人工智能技术更迭及后疫情时代的背景下,随着居民生活模式发生改变,智能运动健身行业得到了极大的发展。刘畊宏带起的“本草纲目”健身热潮也正式开启了居家健身时代,随之而来的便是人们对个性化、智能化的健身动作识别、矫正、计数的强烈需求,如何随时随地进行便捷、标准的健身运动逐渐成为了人们热议的话题。

在健身场景下,动作类型与人体骨骼点的位置变化之间存在着密不可分的关系,因此采取人体关键点检测技术实现智能化健身动作识别与计数就再为合适不过了。

                          图1:基于PP-TinyPose的健身动作识别

那么具体如何能利用人体关键点检测实现智能化的健身动作识别与计数呢?今天就手把手带大家用飞桨搭建一个AI虚拟健身教练吧!

不慌,先码住完整教程:

https://github.com/PaddlePaddle/PaddleDetection

★ 记得Star收藏 ★

防止走丢又实时关注更新

项目难点

非常规姿态多

在健身、舞蹈等场景中,人体姿态明显区别于常见的站姿,存在较多复杂的姿态。常见的公开数据集中往往缺少这类数据,因此在处理这类复杂姿态时,容易出现检测框位置或关键点位置不准确的问题,导致动作识别出现误检漏检,无法达到令人满意的效果。

模型体积与速度要求高

体育健身动作持续时间通常在秒级以内,因此对检测响应速度要求极高,同时随着边缘端硬件在健身行业的普及,对模型的体积要求也愈加严苛。

视频抖动严重

使用关键点算法处理视频数据时,由于预测针对单帧图像进行,在视频结果上往往会有抖动的现象。对于依靠精细化坐标的应用场景(如健身计数、基于关键点的虚拟渲染等),非常容易造成误检或可视化效果不流畅的问题。

关键点点数需求多变

例如在芭蕾舞场景下,垫脚、勾脚等动作仅依赖脚腕关键点无法进行区分,往往需要更多骨骼点信息才能实现精细化动作识别。

方案设计

图2:方案设计

模型选型

PP-TinyPose的出世彻底打破了精度与速度无法兼得的难题,成为轻量级关键点检测的最佳选择。PP-TinyPose采用Top-Down的方式,先应用3.3M、150FPS的超轻量检测网络PP-PicoDet检测出人体,再用基于Lite-HRNet的移动端优化模型确保关键点检测的高精度,同时扩大数据集,减小输入尺寸,预处理与后处理加入AID、UDP和DARK等策略,保证模型的高性能。实现速度在FP16下达到122FPS的情况下,精度也可达到COCO数据集51.8%AP,不仅比其他类似实现速度更快,精度更是提升了130%!

数据准备

数据收集包含人体检测和人体关键点检测两部分,均使用COCO train2017和AI Challenger trainset作为训练集。将两数据集标注含义进行统一,并转换为COCO数据格式后执行训练。


图3:数据准备

模型训练优化

更令人惊喜的是,在原版的基础上,针对体育健身场景难点,PP-TinyPose分别从场景数据多样性、检测模型迭代、关键点稳定性三个方向全面升级,发布了专为体育动作识别打造的增强版本,最终相比原版在健身场景数据上提升9.1%AP,实现速度85FPS精度77.1%AP。同时,新增7个复杂动作的精准识别,包括侧身、卧躺、跳跃、高抬腿等非常规动作。具体来看:

场景数据多样性

在COCO数据集和AI Challenger数据集的基础上,进一步结合采集的健身、舞蹈等较难场景数据对模型进行迭代,提升模型预测效果。

图4:PP-TinyPose增强版效果对比图

检测模型迭代

使用PP-PicoDet增强版模型,在原版基础上引入TAL及ETA Head,优化PAN等结构,COCO数据集精度提升2个点以上。基于丰富的健身场景数据,人体检测模型精度提升6.8% mAP****。

关键点稳定性

加入OneEuro滤波器和EMA两种关键点稳定方式,将当前关键点坐标结果和历史关键点坐标结果结合计算,使得输出的坐标更加稳定平滑。

图5:稳定性升级对比图

如果模型仍无法满足要求,开发者还可以基于飞桨目标检测开发套件PaddleDetection所提供的二次开发文档,进行模型训练及优化、关键点新增、删减与类别自定义,5分钟即可实现关键点检测个性化开发。

图6:PP-TinyPose增强版支持手指、脚趾等29个关键点

  • 完整链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/advanced_tutorials/customization/keypoint_detection.md

后处理逻辑

得到人体关键点检测结果后,可以结合不同关键点在相同帧的相对关系,或者不同帧下同一关键点的位置变化来进行动作识别和计数。

以侧平举为例,当手臂抬起角度接近水平,则认为手臂处于抬起动作;当手臂放下角度接近垂直,则认为手臂处于放下动作;两动作交替完成后认为侧平举动作计数加一。

图7:动作计数逻辑

除此之外,PP-TinyPose增强版还配套了深蹲和站姿上举的动作识别计数实现。

  • 详细代码链接:

https://github.com/zhiboniu/pose_demo_android/blob/release/1.0/app/src/main/cpp/pose_action.cc

端侧部署

图8:端侧部署效果展示

通过以上方法即可获得高效的健身动作识别计数模型,依托于飞桨端侧推理引擎Paddle Lite,能够灵活快速的部署到各类端侧设备上。

blog.csdnimg.cn/img_convert/7479679e3abfb3507e9b0dddb05c8b65.png)

如需更新模型并实现更丰富的健身动作识别,可参考以下流程:

  1. 训练模型导出为.nb后缀的Paddle Lite模型;

  2. 替换pose_demo_android中models下的nb模型文件;

  3. 通过Android Studio编译运行代码,重新生成APP。

  • 详细步骤参考链接:
    https://github.com/zhiboniu/pose_demo_android

作为轻量化骨骼点检测的开源SOTA算法, PP-TinyPose以精度速度高、微小目标识别效果好、多人检测速度快、端侧部署易用性强、体育健身动作检测准著称,在端侧微弱算力上,使用飞桨轻量化推理引擎Paddle Lite,即可快速实现各类健身动作识别与计数!

还在等什么,快来搭建属于你的AI健身教练吧!

  • 教程文档及模型下载链接:

https://github.com/PaddlePaddle/PaddleDetection/blob/develop/industrial_tutorial/README.md

最后,欢迎大家扫码进群,与PP-TinyPose核心研发工程师一起交流讨论,同时Get飞桨最新产品动态!

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!相关推荐

  1. 量化感知训练_《量化健身 动作精讲》:专业解读健身动作的秘密

    想要完美曲线,又不想费吹灰之力,可能性太小.无论是T台上曼妙的模特儿,还是赛场上健美的运动员,都得通过锻炼和饮食相结合的方法,才能拥有肌肉紧实.曲线优美的完美身材. 看着别人的马甲线和蜜桃臀,你是不是 ...

  2. 使用OpenVINO实现人体动作识别

    Paula Ramos著   张晶 译 目录 1.1 人体动作识别背景简介 1.2 OpenVINOTM Notebook简介 1.3 动作识别模型简介 1.4 实现实时动作识别 1.4.1 下载模型 ...

  3. 全球及中国虚拟健身软件行业运营潜力与规划动向分析报告2022版

    全球及中国虚拟健身软件行业运营潜力与规划动向分析报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查看 ...

  4. 世界冠军点赞的AI游戏健身智能硬件,究竟有多好玩?

    智能时代家庭大屏经济迅猛发展,家庭大屏已成为与用户产生智能交互的密切接触点.12月7日,小度冬季新品发布会上,百度集团副总裁.百度生活事业群组(SLG)总经理.小度科技CEO景鲲面向家庭用户和年轻态潮 ...

  5. 智能八段锦 app 中的身体动作识别

    这依然是一篇翻译的文章,原文作者分享了在健身app中应用机器学习的经验.原文标题:Body movement recognition in the 'Smart Baduanjin' App.点击阅读 ...

  6. 解密体育背后AI黑科技:花样滑冰动作识别、多模视频分类和精彩片段剪辑

    最近,各大视频平台实时更新着冬奥赛场上的精彩瞬间集锦,谷爱凌.武大靖.苏翊鸣等运动健儿们勇闯佳绩,可喜可贺!在为中国体育的强大实力感动.欣喜的同时,我们也关注到了体育竞技背后的一些AI产业应用,比如通 ...

  7. 雄迈打造AI智能硬件平台,为AI算法企业提供硬件支撑

    随着深度学习.神经网络.人工智能等的深化发展,"AI"概念已逐渐涉及到各行各业,以及人类生活的各方面:在安防监控行业,"AI"已在风口,即将全面爆发~ 雄迈为视 ...

  8. 百度智能云 x 国寿财险 | 打造NPS+AI新一代客户体验管理模式

    如果你是国寿财险的客户,你会在投保完成.理赔.增值服务等业务场景即时收到 NPS(Net Promoter Score,净推荐值)系统推送的调研问卷.看似简单的一张调研问卷,对于国寿财险来说并不简单. ...

  9. 智能物联网实验室落地 百度云与恩智浦、深圳大学打造AI+IoT高校生态

    随着人工智能.大数据.云计算.物联网等新兴信息技术对经济社会智能化变革的持续赋能,AI人才面临越来越大的需求缺口.如何培养面向未来的人工智能人才成为社会关注的焦点. 1月3日,百度与深圳大学.恩智浦共 ...

最新文章

  1. Java老矣,尚能饭否?2020 Java生态系统报告出炉
  2. Cell综述:动植物界的微生物群和宿主营养
  3. git撤销/回退操作
  4. 一个软件项目的总纲性的测试计划叫什么?
  5. 手机电脑的芯片主要是由_苹果的自研电脑芯片终于来了!你看好么?
  6. struct __POSITION{}和ASSERT
  7. Python非递归实现二叉树的后续遍历
  8. java漂亮界面编程_计算机二级之JAVA篇
  9. 王者荣耀8月15日服务器维护,王者荣耀8月15日更新维护到什么时候 王者荣耀8月15日更新时间分享...
  10. C++内存分配方式-堆、栈、自由存储区、全局/静态存储区和常量存储区
  11. Make 输出重定向到文件
  12. c语言调用sqlite
  13. 【Java】Java 的Object对象你真的懂了吗
  14. 流程控制: jQ Deferred 与 ES6 Promise 使用新手向入坑!
  15. 程序员相亲的血泪史,千万别做这些事情!
  16. fstream流对象形参时出现的错误问题(codeblocks+gcc)
  17. 在使用Assimp库时编译器报错:C2589 “(”:“::”右边的非法标记 AssimpLoadStl
  18. android模拟器横屏快捷键,Android模拟器横屏切换方法
  19. 力扣(LeetCode)怎么刷题,以排序算法为例
  20. Photoshop教程二:液化色彩原理

热门文章

  1. 灰色预测模型、新灰色预测模型、新陈代谢灰色预测模型
  2. 20220年春招,秋招必问的1000道Java面试题及答案整理
  3. 秋天的第一杯奶茶该买哪家?我用爬虫爬取所有数据教你买哪家
  4. 使用idea解决包依赖冲突的问题SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory
  5. 阿里云数据库李飞飞:云计算推动数据库向云原生快速演进
  6. CMS 常见问题分析和解决方案
  7. ROS学习记录16【SLAM】仿真学习5——将cmd_vel转换为ackman小车的速度
  8. git pull时遇到的问题
  9. 关于Nginx mmap(MAP_ANON|MAP_SHARED, 314572800)报错
  10. Glide4.7加载图片RoundedCorners跟CenterCrop冲突问题解决