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

简介: 本文介绍AI运动APP开发中站位预检的关键技术,涵盖远近、视角检测与语音提示等场景,通过pose-calc实现精准人体识别,提升检测通过率与用户体验。

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

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

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

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

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

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

要判断人站位的远、近,我们可以使用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属性获得),在定义的视角下进行相应的运动检测,检测效果为最佳,如下图所示:
image.png
image.png

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秒的倒计时并请进行语音播报,再开始运动识别检查,让用户有充分的准备时间,以免让用措手不及。
image.png

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

相关文章
|
人工智能 JSON 小程序
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
本文介绍了如何通过【一步步开发AI运动APP】系列博文,利用自定义姿态识别检测技术开发高性能的AI运动应用。核心内容包括:1) 自定义姿态识别检测,满足人像入镜、动作开始/停止等需求;2) Pose-Calc引擎详解,支持角度匹配、逻辑运算等多种人体分析规则;3) 姿态检测规则编写与执行方法;4) 完整示例展示左右手平举姿态检测。通过这些技术,开发者可轻松实现定制化运动分析功能。
|
存储 编解码 弹性计算
视频点播技术概述|学习笔记
快速学习视频点播技术概述
视频点播技术概述|学习笔记
|
12月前
|
运维 监控 数据可视化
从巴比馒头的“洗菜流水线”,来看“telemetry pipeline”工具的火热兴起
以巴比馒头自动化洗菜为喻,探讨运维领域“数据清洗”难题。DataHub作为国产可视化遥测管道工具,支持多源数据接入与低代码编排,实现日志、指标、链路等数据的高效处理与统一管理,助力企业构建高质量可观测体系。(238字)
|
12月前
|
运维 监控 安全
如何搭建RWA代币化落地实操流程清单
系统化推进RWA代币化落地,从目标拆解、模块验收到资源盘点,构建可复用的流程模板。覆盖合约设计、合规审查、数据对接等关键环节,配套标准化操作蓝图与风险应对清单,支持快速迭代与跨团队协作,确保项目可控、可验、可持续交付。(238字)
|
12月前
|
SQL 关系型数据库 MySQL
|
12月前
|
小程序 Java 关系型数据库
基于微信小程序的博物馆文创系统
本研究聚焦基于微信小程序的博物馆文创系统,结合Java、SpringBoot与MySQL技术,构建集文创销售、互动体验与文化传播于一体的数字化平台,提升用户体验与文化服务效能。
|
12月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
967 2
|
7月前
|
人工智能 Linux API
🦞OpenClaw多Agent阿里云/MacOS/Linux/Windows11部署步骤+百炼API配置+常见问题解答
OpenClaw(原Clawdbot)作为轻量级的AI Agent管理平台,其多Agent架构能实现专业分工的智能协作,让个人开发者也能拥有一套高效的AI工作体系。2026年该平台完成了对多系统部署的优化和免费大模型对接的适配,本文将从单Agent的局限性出发,详解多Agent架构的核心价值,同时完整呈现阿里云、MacOS、Linux、Windows11的本地部署步骤,以及阿里云百炼API与免费大模型的配置方法,结合实战案例完成多Agent AI团队的搭建,并解答部署与配置中的常见问题,实现零基础也能上手的OpenClaw多Agent落地。
2314 2
|
12月前
|
监控 Dubbo Cloud Native
《服务治理》Dubbo框架深度解析与实践
Apache Dubbo是高性能Java RPC框架,提供远程调用、智能容错、服务发现等核心能力。Dubbo 3.x支持云原生,具备应用级服务发现、Triple协议、元数据管理等特性,助力构建稳定、可扩展的微服务架构。
|
消息中间件 运维 监控
《聊聊分布式》BASE理论 分布式系统可用性与一致性的工程平衡艺术
BASE理论是对CAP定理中可用性与分区容错性的实践延伸,通过“基本可用、软状态、最终一致性”三大核心,解决分布式系统中ACID模型的性能瓶颈。它以业务为导向,在保证系统高可用的同时,合理放宽强一致性要求,并借助补偿机制、消息队列等技术实现数据最终一致,广泛应用于电商、社交、外卖等大规模互联网场景。

热门文章

最新文章