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


下篇将带您进行运动姿态检测规则的编写。
【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01的更多相关文章
- 微信开发(2)---微信小程序开发实战part1
微信开发现在来说,简单可以概括为两部分,微信公众号和微信小程序. 微信公众号的技术已经非常成熟.分为服务号和订阅号.简单的.可以弄一个个人订阅号,在编辑模式下就可以实现推送图文.自动回复.自定义菜单的 ...
- Java可视化日历(Date类、DATe Format类、Calendar类综合运用),开发可视化日历小程序
Java时间日期类综合运用,开发可视化日历小程序 由键盘输入指定格式的日期,打印这个月的日历 1.代码 import java.text.DateFormat; import java.text.Pa ...
- 全栈开发工程师微信小程序-中(下)
全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...
- 全栈开发工程师微信小程序-中(中)
全栈开发工程师微信小程序-中(中) 开放能力 open-data 用于展示微信开放的数据 type 开放数据类型 open-gid 当 type="groupName" 时生效, ...
- 全栈开发工程师微信小程序-中
全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...
- 全栈开发工程师微信小程序-上(下)
全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...
- 全栈开发工程师微信小程序-上(中)
全栈开发工程师微信小程序-上(中) width: 750rpx; 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位. 小程序 ...
- 全栈开发工程师微信小程序 - 上
全栈开发工程师微信小程序-上 实现swiper组件 swiper 滑块视图容器. indicator-dots 是否显示面板指示点 false indicator-color 指示点颜色 indica ...
- 【小程序+ thinkphp5】 获取微信运动数据
配置.请参看上篇文章.这里直接上代码 PHP 代码: //获取微信运动数据: public function test(){ $code = input("code"); $sig ...
- 《OD学微信开发》微信小程序入门示例
官网地址: https://mp.weixin.qq.com/debug/wxadoc/dev/ 一.文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page. .js后缀的是脚 ...
随机推荐
- nishishui语录
nishishui语录 原因 由于根本在机房语录里不存在 nishishui 的话,所以我要新开一个语录,专门记录 \(Abnormal123\) 的比话. 好的. 4.30 nishishui : ...
- Tomcat的配置文件中有哪些关键的配置项,它们分别有什么作用?
Tomcat的配置文件主要包括server.xml和web.xml,它们位于Tomcat安装目录下的conf文件夹中.今天的内容重点介绍 server.xml 文件的配置,V 哥会结合一些业务场景来介 ...
- macOS 查看网络接口信息
networksetup -listallhardwareports 执行结果: Hardware Port: Ethernet Adapter (en4) Device: en4 Ethernet ...
- c++学习笔记(三):函数++
函数PLUS 函数默认参数 在c++中,函数的形参列表中的形参是可以有默认值的.调用函数时,如果未传递参数的值(传入参数为空),则会使用默认值,如果指定了值,则会忽略默认值,使用传递的值. 语法:返回 ...
- maven jetty指定端口号启动
mvn jetty 启动指定端口号 方法 mvn jetty:run -Djetty.port=端口号 备注: 通过以上命令在 windows 中 powershell 下运行时,可能会碰到以下问题: ...
- sql 分组查询并新增序号
在SQL中,你可以使用ROW_NUMBER()函数来为结果集中的每一行新增一个序号.这个序号是基于某个排序条件的分区排序结果. 以下是一个简单的例子,假设我们有一个名为students的表,它有两列: ...
- vue-router的History 模式常用的三种配置方式(去掉地址栏中的#号)
第一种:nginx配置 conf主要的配置代码: http { # nginx负载均衡配置 upstream dynamic_balance { #ip_hash; server 192.168.10 ...
- 大模型训练:K8s 环境中数千节点存储最佳实践
今天这篇博客来自全栈工程师朱唯唯,她在前不久举办的 KubeCon 中国大会上进行了该主题分享. Kubernetes 已经成为事实的应用编排标准,越来越多的应用在不断的向云原生靠拢.与此同时,人工智 ...
- AD域下,域管理员网络无法正常连接
排错思路:1.是否拥有上网权限, test 超级管理员自然是有上网权限的(该项排除): 2.浏览器是否使用了代理 ,有些软件在安装的时候,会自动启用浏览器的代理,开启某些特定的端口: 3.其他原因 解 ...
- LeetCode 1388. Pizza With 3n Slices(3n 块披萨)(DP)
给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨: 你挑选 任意 一块披萨.Alice 将会挑选你所选择的披萨逆时针方向的下一块披萨.Bob 将会挑选你所选择 ...