【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】,可以为您的小程序,赋于人体检测识别、运动检测识别、姿态识别检测AI能力。本地原生识别引擎,无需依赖任何后台或第三方服务,有着识别速度快、体验佳、扩展性强、集成快、成本低的特点,本篇实现需要使用此插件,请先行在微信服务市场或官网了解详情。
一、为什么要判断人体站位视角?
上一篇我们介绍了运动识别中,如何实现对人与摄像头的远近预检,以提供识别率和体验。在我们实际的运动应用场景中,为了准确识别到相关运动的关键姿态点,一般会指定视角,如跳绳、开合跳需要面或背朝相机,而且像俯卧撑、仰卧起坐则需要左右侧对像相机,以获得最佳的识别率和体验。
二、camera-view检测规则
camera-view是插件姿态计算引擎body-calc提供检测当前人体站位(即人体前、后、左、右那一侧对准摄像头)的规则。
在正式开始运动前,便可以使用此检测规则,对当前人体姿态进行预检,再通过语音等方式提醒用户调整站位至合适视角,以便获得最佳体验和识别效果。
三、代码实现
在进行远近判断前,请查阅本系列博文了解抽帧、人体识别、body-calc应用等内容。
const AiSport = requirePlugin("aiSport");
const humanDetection = AiSport.humanDetection;
const Calculator = AiSport.calc.Calculator;
//也可参考此实现左右视角检查
const rule = {
name: '正或背对摄像头检查',
calc: '$or',
ruels: [{
name: '正对摄像头检查',
calc: 'camera-view',
position: 'front'
},{
name: '背对摄像头检查',
calc: 'camera-view',
position: 'back'
}]
};
const calculator = new Calculator();
//抽帧
const context = wx.createCameraContext();
const listener = context.onCameraFrame((frame) => {
const iamge = {
width: Number(frame.width),
height: Number(frame.height),
rawData: frame.data
};
//人体识别
humanDetection.detectionAsync(image).then(human=>{
//执行检测
if(!calculator.calculating(human, rule)){
console.log('请面或背朝摄像头');
//播放语音、UI提示...
return;
}
//通过,则进入运动检测等应用环节..
});
});
listener.start();
好了,运动开始前的常规距离、视角预检查就为您分享到这,请关注我们各平台的博客账号,我们将为您分享更多的人体、姿态、运动检测应用技巧。
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?的更多相关文章
- 开发一个微信小程序教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...
- 开发一个微信小程序项目教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 如何快速地开发一个微信小程序
如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...
- 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 ...
随机推荐
- 【Homebrew】之相关命令问题合集及iOS真机调试包
一.Homebrew更换国内镜像源(中科大.阿里.清华) Homebrew主要有四个部分组成: brew.homebrew-core .homebrew-bottles.homebrew-cask. ...
- pikachu靶场 暴力破解(验证码绕过 on server)
先随便输入账号和密码.验证码,来判断前端是否对验证码进行判断对错 先随便输入账号和密码不输入验证码,来判断前端是否允许验证码留空 先随便输入账号和密码,输入正确的验证码,来判断账号和密码是否存在 1. ...
- spring boot 若依系统整合Ueditor,部署时候上传图片错误解决
spring boot 若依系统整合Ueditor,部署时候上传图片错误解决 前言:国庆假期找了个ruoyi版本的cms玩玩,从git上看,介绍如下图: 后台部分截图: 编辑 编辑 编辑 ...
- python configparser 创建ini文件,动态读取与修改配置文件,以及保存与读取字符串与QColor类型的配置
# 动态配置所需 from import ConfigParser # 获取系统语系所需 import locale # QColor 类型的传参所需 from PyQt6.QtGui import ...
- 六,Spring Boot 容器中 Lombok 插件的详细使用,简化配置,提高开发效率
六,Spring Boot 容器中 Lombok 插件的详细使用,简化配置,提高开发效率 @ 目录 六,Spring Boot 容器中 Lombok 插件的详细使用,简化配置,提高开发效率 1. Lo ...
- 使用Windows API 编写按行分配的计算矩阵向量相乘的并行程序
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程题,居然还涉及到多线程了,而且是调用Windows接口函数写多线程.虽然学汇编的时候有所了解,但毕竟没尝试过,思来想去,写出了下面的蹩脚代码,不 ...
- c程序设计语言 by K&R(四)输入与输出
一.标准输入.输出 1. 简单的输入\输出机制 从标准输入中一次读取一个字符:int getchar(void) 将字符c送到标准输出中: int putchar(int) 2. 输入重定向 如果程序 ...
- 事件触发器TRIGGER
我所理解的事件 MYSQL触发器 就好比是 JavaScript 中的 Object.defineProperty,通过观察某些行为,然后做些事情 创建触发器 DELIMITER $$ CREATE ...
- TS2Vec: 面向通用的时间序列表示《TS2Vec: Towards Universal Representation of Time Series》(时间序列、对比学习、多尺度特征(池化操作)、分层对比、上下文一致性(时间戳掩码+随机裁剪))
今天是2024年5月22日,10:24,今天看这篇经典的论文(如果你问我为什么最近频繁看论文,因为我的创新点无了,要找创新点+太菜了,菜就多看多学). 论文:TS2Vec: Towards Unive ...
- POJ-2229 Sumsets(基础dp)
Farmer John commanded his cows to search for different sets of numbers that sum to a given number. T ...

