【一步步开发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

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

相关文章
|
12天前
|
人工智能 数据挖掘 数据处理
构建AI智能体:五、Pandas常用函数介绍,CodeBuddy智能化处理Excel数据实例
Pandas是Python核心数据分析库,提供Series、DataFrame等灵活数据结构,支持高效的数据读写、清洗、筛选、合并与统计操作,广泛应用于数据处理与分析场景。
152 4
|
12天前
|
SQL 关系型数据库 MySQL
|
5天前
|
人工智能 小程序 vr&ar
AR体感游戏,拓宽AI运动小程序的应用边界
AR体感游戏融合AI与AR技术,通过摄像头捕捉动作,将运动变为趣味互动。无需穿戴设备,手机即可畅玩,适合全年龄段,尤其激发低龄儿童运动兴趣。沉浸式体验让锻炼如游戏般上瘾,广泛应用于赛事、团建、校园及康复场景,借助AI运动识别插件,开发更高效便捷。
|
12天前
|
运维 监控 数据可视化
从巴比馒头的“洗菜流水线”,来看“telemetry pipeline”工具的火热兴起
以巴比馒头自动化洗菜为喻,探讨运维领域“数据清洗”难题。DataHub作为国产可视化遥测管道工具,支持多源数据接入与低代码编排,实现日志、指标、链路等数据的高效处理与统一管理,助力企业构建高质量可观测体系。(238字)
|
7月前
|
人工智能 JSON 小程序
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
本文介绍了如何通过【一步步开发AI运动APP】系列博文,利用自定义姿态识别检测技术开发高性能的AI运动应用。核心内容包括:1) 自定义姿态识别检测,满足人像入镜、动作开始/停止等需求;2) Pose-Calc引擎详解,支持角度匹配、逻辑运算等多种人体分析规则;3) 姿态检测规则编写与执行方法;4) 完整示例展示左右手平举姿态检测。通过这些技术,开发者可轻松实现定制化运动分析功能。
|
9月前
|
人工智能 自然语言处理 数据挖掘
博物馆导览系统核心功能与设计思路,提升游客体验和运营效率
博物馆导览系统通过AR、VR、大数据等技术,实现展品智能讲解、AR互动、可视化数据看板等核心功能,助力博物馆智慧化升级,提升游客体验和运营效率
644 2
|
6月前
|
人工智能 小程序 计算机视觉
AI不只有大模型,小模型也蕴含着大生产力
近年来,AI大模型蓬勃发展,从ChatGPT掀起全球热潮,到国内“百模大战”爆发,再到DeepSeek打破算力壁垒,AI技术不断刷新认知。然而,在大模型备受关注的同时,许多小而精的细分模型却被忽视。这些轻量级模型无需依赖强大算力,可运行于手机、手持设备等边缘终端,广泛应用于物体识别、条码扫描、人体骨骼检测等领域。例如,通过人体识别模型衍生出的运动与姿态识别能力,已在AI体育、康复训练、线上赛事等场景中展现出巨大潜力,大幅提升了相关领域的效率与应用范围。本文将带您深入了解这些高效的小模型及其实际价值。
|
6月前
|
人工智能 小程序 API
【一步步开发AI运动APP】九、自定义姿态动作识别检测——之关键点追踪
本文介绍了【一步步开发AI运动APP】系列中的关键点追踪技术。此前分享的系列博文助力开发者打造了多种AI健身场景的小程序,而新系列将聚焦性能更优的AI运动APP开发。文章重点讲解了“关键点位变化追踪”能力,适用于动态运动(如跳跃)分析,弥补了静态姿态检测的不足。通过`pose-calc`插件,开发者可设置关键点(如鼻子)、追踪方向(X或Y轴)及变化幅度。示例代码展示了如何在`uni-app`框架中使用`createPointTracker`实现关键点追踪,并结合人体识别结果完成动态分析。具体实现可参考文档与Demo示例。
|
7月前
|
人工智能 小程序 API
【一步步开发AI运动APP】四、使用相机组件抽帧
本文介绍了如何使用`ai-camera`组件开发AI运动APP,助力开发者深耕AI运动领域。`ai-camera`是专为AI运动场景设计的相机组件,支持多平台,提供更强的抽帧处理能力和API。文章详细讲解了获取相机上下文、执行抽帧操作以及将帧保存到相册的功能实现,并附有代码示例。无论是AI运动APP还是其他场景,该组件都能满足预览、拍照、抽帧等需求。下篇将聚焦人体识别检测,敬请期待!
|
7月前
|
人工智能 小程序 开发者
【一步步开发AI运动APP】六、运动计时计数能调用
本文章介绍了如何通过【一步步开发AI运动APP】系列博文,利用uniAPP插件开发高性能的AI运动应用。文中详细说明了创建运动分析器、进行运动分析、监听计数变化以及停止/重置分析等功能实现步骤。插件内置多种常见运动(如跳绳、俯卧撑等),支持自定义扩展,满足健身、体测等场景需求。示例代码展示了人体检测、运动计时计数及UI更新的完整流程,帮助开发者快速上手并深耕AI运动领域。