AI运动小程序插件,又双叕发布新版了,新增评测模式
AI运动小程序插件,v1.7.0发布了,本次发布了一项新功能,即“姿态评测”模式,又给自定义姿态处理增加了一个新利器,接下来就带您详细了解一下“姿态评测”模式。
一、v1.7.0版本更新详情
1.pose-calc规则检测增加评测模式。
2.pose-calc增加常用工具函数集poseUtility。
2.修复一些已知问题。
二、什么是评测模式?
介绍“姿态测评模式”之前,我先看一下之前是如何基于规则处理自定义姿态识别检测的,详情可参考之前的介绍章节八、利用pose-calc进行姿态识别:
//调用插件
const AiSport = requirePlugin("aiSport");
const humanDetection = AiSport.humanDetection;
const Calculator = AiSport.calc.Calculator;
//构建检测规则
const rule = {
name: '人体站立状态要求', //必填,本规则自定义名称
calc: 'stand', //必填,要执行的规则计算器名称
offset : 15 //选填,规则的允许偏差范围
};
const rules = {
name: '右侧站立检查',
calc: '$and',
rules: [{
name: '侧面视角',
calc: 'camera-view',
position: 'right'
}, rule]
};
//构建检测器
const calculator = new AiSports.calc.Calculator();
let human = .... //人体检测代码略,检出的人体结构
console.log(calculator.calculating(human, rules));
// 返回 true 或 false 表示检测通过或不通过
如以上代码所示,之前的姿态检测计算模式只返回true或false来表示检测是否通过,可以足够应对运动识别、姿态交互等场景;但是如果需要向用户反馈具体是什么动作没有通过、给出用户评测报告、动作纠正等场景则无法满足。
而评测模式相较于姿态检测计算模式,除了反馈检测是否通过外,还增加了各规则检测执行结果细节,以帮助开发者实现运动评测报告、姿态矫正、动作评分等姿态评测场景。

三、如何调用评测模式
为了尽量减少开发者的学习、应用成本,我们在Calculator增加了一下与calculating方法签名一致的evaluating方法,只要更换调用方法就可以轻松实现姿态的评测:
//检测规则构建
let rule = {
name: '水平检测',
calc: 'horizontal',
centerKey: 'right_elbow',
leftKey: 'left_hip',
rightKey: 'left_ankle'
};
let rule2 = {
name: '站立检测',
calc: 'stand'
};
const AiSports = requirePlugin("aiSport");
const calculator = new AiSports.calc.Calculator();
let human = .... //人体检测代码略,检出的人体结构
//evaluating(...)方法签名与calculating(...)完全一致,所以调用方法也一致
console.log(calculator.evaluating(human, rule, rule2));
//输出结果:
// {
// "isPassed": false,
// "items": [
// {
// "calc": "horizontal",
// "name": "水平检测",
// "isPassed": false,
// "message": "指定三点不符165-195相对水平位置"
// },
// {
// "calc": "$and",
// "name": "auto-calc",
// "isPassed": false,
// "message": "或检测未通过"
// }
// ]
// }
四、评测模式应用建议
可能的开发者会有疑问,之前的自定义运动、运动开始前预检测等功能直接使用评测模式是不是也一样的?是的,能达到同样的目的,但是这种检测姿态是否通过的场景,还是不建议evaluating,因为相比calculating,evaluating会增回一定的开销虽然不大,但是出于性能考虑还是不建议使用。

提供全景AI运动解决方案、各类应用定制开发服务
QQ:316455841
欢迎通过各种渠道咨询了解,免费提供技术咨询服务。

浙公网安备 33010602011771号