【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场或官网了解详情。
阅读到此,您已经对运动识别的抽帧
、人体识别
、骨骼图绘制
、姿态识别检测
环节有所了解了,接下了几章我们将以俯卧撑
为例,带您了解一下如何适配一个运动,实现计时、计数。
一、运动识别的原理
运动检测的基本原理是,对帧流的人体识别结果,进行资态分析检测,当捕捉到符合动作要求的姿态结果,便触发计数
、计时
逻辑。需要注意的是,一个动作可能会连续捕捉到多个符合结果的帧,假设抽帧FPS是12帧,以俯卧撑为例,撑的动作最大可能连续捕捉到12帧的符合要求的帧,此时需要做好标记,不能要重复计数。
二、运动计量方式
2.1、计数方式
此方式是当捕捉到一个或多个连续分动作后,则计数加1,如跳绳、俯卧撑、仰卧起坐等运动;计数的同时也可以同时进行计时。
2.1、计时方式
此方式则是运动者进入某个姿态,并保持不变,则开始计时;解除相关动作时则暂停计时,如平板支撑、马步蹲等运动。
三、运动分析器基类
插件中的sports.SportBase
运动基类,已经为您实现运动的计时、计次等基础逻辑,直接继承此类,重写pushing(boyd)
方法即可快速实现一个运动分析器,详情请参考API文档。
下篇将带您进行运动姿态检测规则的编写。