【一步步开发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后缀的是脚 ...
随机推荐
- 冲刺 NOIP 400pts + 之神仙专题
冲刺专题之 \(DP\) \(T_A\) Helping People $$codeforces$$ 题意 给定一个长为 \(n\) 序列 \(A\) , 其中有 \(q\) 个区间 \([l , r ...
- C 语言编译过程
编译过程 编译过程是将高级编程语言(如 C 语言)写成的源代码转换成机器可以执行的低级机器语言(通常是二进制代码)的过程.这个过程一般可以分为几个阶段: 预处理(Preprocessing): 预处理 ...
- DASCTF 2024暑期挑战赛 RE
DASCTF 2024暑期挑战赛 DosSnake 使用ghidra看反汇编 发现有XOR操作 在ida里面看汇编跟一下 字符DASCTF地址往下6个存放的数据与DASCTF字符串进行异或 A=[0x ...
- Java多线程并发编程中并发容器第二篇之List的并发类讲解
Java多线程并发编程中并发容器第二篇之List的并发类讲解 概述 本文我们将详细讲解list对应的并发容器以及用代码来测试ArrayList.vector以及CopyOnWriteArrayList ...
- el-popover - 问题
背景:elemet - ui和vue , el-table中使用了 el-popover , el-popover 中使用了form, 每编辑一行数据,点击编辑按钮,出现el-popover弹窗,页面 ...
- DOM – Dimension & Coordinate (offset, client, computed, rect)
前言 很多年前有记入过一篇 box-sizing 和 dom width. 想想也挺可悲的, 那年我是负责后端的, 却要帮着前端去学习这些知识来解决问题... 也好, 现在 full stack, 也 ...
- Azure – 对比 AWS Research Report
前言 最近有机会接触了一下 AWS, 在对比完之后决定继续用 Azure, 这里小小记入一下. VM & SQL Server Azure 和 AWS 都可以选择 2 in 1, 或者 Web ...
- 十三,Spring Boot 中注入 Servlet,Filter,Listener
十三,Spring Boot 中注入 Servlet,Filter,Listener @ 目录 十三,Spring Boot 中注入 Servlet,Filter,Listener 1. 基本介绍 2 ...
- k8s 中的 Ingress 简介
〇.前言 前边已经介绍了 k8s 中的相关概念和 Service,本文继续看下什么是 Ingress. Ingress 的重要性不言而喻,它不仅统一了集群对外访问的入口,还提供了高级路由.七层负载均衡 ...
- 【赵渝强老师】使用MongoDB的Web控制台
MongoDB可以通过web界面监控数据库,默认情况下该选项是关闭的,需要在启动的时候开启.启用web 控制台,需要在启动mongodb的时候,加上:--httpinterface 启动MongoDB ...