【一步步开发AI运动小程序】十四、插件内置的运动项目,如何进行微调,以适配多场景?

引言:本文所涉及的AI运动识别、计时、计数能力,都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎,可以为您的小程序或Uni APP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及自定义扩展运动识别能力。完善的文档、Demo项目,开箱即用,可以帮助您快速实现AI运动、AI体育、AI运动赛事、全民健身赛事、AI体测等应用场景的快速落地。

一、为什么要微调内置运动分析器

小程序版AI运动检测插件内置的检测运动项目,都是基于相关运动的标准规则进行的适配,需要用户的动作比较标准时才能被检出,这样比较适合学生体测、培训等运动评测场,但如果放在针对大众参与的AI健身、线上赛事活动等应用场景则不太适应,过高的运动标准较低的检测通过率,会挫伤用户的参与热情。
基于此原因,为了让插件能灵活兼顾各类应用场景,我们开放了内置运动分析器的检测参数允许开发者进行微调,以便可以针对应用场景灵活配置运动检测参数,甚至可以实现“初学”、“进阶”、“专业”这样的高低阶运动模式。

二、如何进行微调

插件内置的运动分析器如果使的pose-calc中的规则检测方案,则会定义有rules属性,通过该属性可以获得该运动所有的检测规则及自定义检测参数;如果使用的是pose-calc姿态相似度方案,则会定义有samples属性,通过该属性可以获得该运动使用的所有姿态样本及自定义检测参数,详见API文档。
image
image
得益于javascript的非强类型特性,可以对这两个属性内的参数直接进行修改调整,便可以改变运动检测的要求。

三、微调代码示例

//导入插件
const AiSport = requirePlugin("aiSport");

//创建跳绳运动分析器
const sport = AiSport.SportBase.create('rope-skipping');
//查看当前检测参数
console.log(sport.rules);

//放宽检测参数
const rules = sport.rules;
rules.shakeRate = 0.025;
rules.hands.rules[0].angle = 75;
rules.hands.rules[0].offset = 55;
rules.hands.rules[1].angle = 75;
rules.hands.rules[1].offset = 55;

posted @ 2026-01-12 09:39  alphaair  阅读(6)  评论(0)    收藏  举报