当前位置: 首页 > news >正文

【一步步开发AI运动APP】十二、如何进行运动开始前的站位预检,提升用户体验

之前我们为您分享了【一步步开发AI运动小程序】开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身、线上运动赛事、AI学生体测、美体、康复锻炼等应用场景的AI运动小程序;为了帮助开发者继续深耕AI运动领域市场,今天开始我们将为您分享新系列【一步步开发AI运动APP】的博文,带您开发性能更强、体验更好的AI运动APP。

本篇将为您介绍,如何实现正式运动检测前的远、近,视角预检、语音提示等典型应用场景。

一、为什么要进行站位预检

在运动检测时,用户无法手持和操作手机(或者是固定的终端设备),所以在放置好手机后,有必要进行人体远近、视角的预检查,这样的预检查一是有助手提升用户初次使用时的体验,在首次使用时不至于茫然不知道如何使用。二是有助于提升运动检测通过率,合适的距离、正确的视角是影响运动检测通过率两大关键因素,用户在运动开始前站位好距离、视角能极大的提高检测通过率,获得最佳的运动检测体验。
实现以上的预检查,需要使用到插件的pose-calc自定义姿态识别,可以参考本系的前面章节或插件的pose-calc文档了解pose-calc的使用。

二、如何进行站位远近检测

如下图所示,人距离设备过远或过近会影响取像中的人体范围,太远了人物太小关键点不清晰、太近了人无法全身入镜无法识别完整姿态,这都将影响运动的检测识别,我们建议识别范围为人居中占整个图像60%-85%之间为最佳。
115969-20231225113955126-1381086794

要判断人站位的远、近,我们可以使用Pose-Calc中的Whole检查规则来进行判断,代码如下:

import { createCalculator } from "@/uni_modules/yz-ai-sport";
const calculator = createCalculator();//human受检人体姿态,调用抽帧、人体检测接口,得到实时人体结构function farNearChcking(human){let range = 0.85;let rule = {name: '人太近检查',calc: 'whole',range: {top: human.height * (1 - range) / 2,left: human.width * (1 - range) / 2,width: human.width * range,height: human.height * range},relaxed: true};let pass = calculator.calculating(human, rule);if(!pass){console.log('您离相机太近了,请远离');return false;//进行UI显示,比如检测范围框闪动//建议进一步进行语音播放提醒}range = 0.65;rule = {name: '人太远检查',calc: 'whole',range: {top: human.height * (1 - range) / 2,left: human.width * (1 - range) / 2,width: human.width * range,height: human.height * range},relaxed: true};pass = calculator.calculating(human, rule);if(pass){console.log('您离相机太远了,请靠近些');return false;//进行UI显示,比如检测范围框闪动//建议进一步进行语音播放提醒}return true;
}

四、如何进行视角检查

为了保证能尽量完整的识别到运动姿态,不同的运动定义了不能的检查视角(可以通过运动分析器的实例的view属性获得),在定义的视角下进行相应的运动检测,检测效果为最佳,如下图所示:
115969-20231228094751751-1163443615
115969-20231228094757173-31707001
pose-calc提供了camera-view检测规则,专门用来检测站位视角,应用代码如下:


import { createCalculator } from "@/uni_modules/yz-ai-sport";
const calculator = createCalculator();//human受检人体姿态,调用抽帧、人体检测接口,得到实时人体结构function cameraViewChecking(human, view){let backOrFrontRule = {name: '前后视角预检查',calc: '$or',ruels: [{name: '正对摄像头检查',calc: 'camera-view',position: 'front'},{name: '背对摄像头检查',calc: 'camera-view',position: 'back'}]};let sideRule = {name: '侧身视角预检查',calc: '$or',ruels: [{name: '左对摄像头检查',calc: 'camera-view',position: 'left'},{name: '右对摄像头检查',calc: 'camera-view',position: 'right'}]};let pass = false;let msg = null;switch(view){case 'back_front':msg = '请背对或正对手机';pass = calculator.calculating(human, rule)break;case 'side':msg = '请背侧身对手机';pass = calculator.calculating(human, rule)break;//还进行更多的独立视角检查}if(!pass){console.log(msg);//进行UI显示,比如检测范围框闪动//建议进一步进行语音播放提醒}return pass;
}

五、预检完成后的过渡

为了让用户有一个缓冲反应时间,建议在所有预检查通过后,进行3-5秒的倒计时并请进行语音播报,再开始运动识别检查,让用户有充分的准备时间,以免让用措手不及。

好了,本篇就为您介绍到这,敬请继续关注更多典型场景实现

http://www.hskmm.com/?act=detail&tid=39832

相关文章:

  • Oracle Data Pump 网络模式直接迁移详解(使用数据库链接(Database Link))
  • 2025年10月洗地机产品推荐:五款高口碑机型横向对比榜
  • 2025年10月防脱生发产品推荐:十款口碑榜对比与临床数据全解析
  • 2025年10月美容仪品牌推荐:无创无痛纳晶领衔性价比排行榜
  • 2025 年娱乐麦克风,一拖二无线麦克风,舞台演出麦克风厂家最新推荐,技术实力与市场口碑深度解析
  • 2025年10月工装装修公司推荐榜:全国服务实力对比
  • 使用Voyage持久化对象
  • 2025年10月品牌认证机构推荐:权威榜单对比五强优劣
  • 2025 年安全防坠器厂家最新推荐排行榜权威发布,结合中国安全防护用品行业协会测评数据揭晓行业实力企业成都安全防坠器/安全防坠器测试厂家推荐
  • 矢量图
  • 泛型通配符 T、E、K、V、?
  • 2025 年最新推荐 PPT 生成软件排行榜:权威协会测评 + AI 备案技术加持,3500 万用户信赖之选全面解析
  • 2025 年减速器源头厂家最新推荐榜:RV / 精密 / 通用减速器测试品牌技术实力权威测评
  • 20232413 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 上周热点回顾(10.20
  • 2025 年电驱动厂家最新推荐排行榜:依托国家智能测控系统产业计量测试联盟测评数据,精选伺服电机、新能源汽车电机等领域优质品牌
  • 2025 亲测!永久删除的照片这样救,完整指南来了
  • 2025 年阳台光伏厂家最新推荐榜:技术实力与市场口碑深度解析,含逆变器/储能/光伏板优质企业
  • 折旧分配表点击修改按钮报错,软件卡死
  • 命令行数据科学实用指南-全-
  • 10 25
  • 线性表
  • 2025 年不锈钢护栏厂家最新推荐排行榜:含河道、桥梁防撞、201/316L 材质、景观灯光类产品,精选高性能优质品牌
  • 日记17
  • 日记16
  • 架构师必备:限流方案选型(使用篇)
  • 10月第一篇
  • 2025 年青岛点焊机厂家最新推荐榜,聚焦技术实力与市场口碑深度解析螺母/自动/螺栓/储能/汽车零部件点焊机厂家推荐
  • Spring AI
  • 三年级小学生日记范文