【一步步开发AI运动小程序】十、姿态动作相似度比较

本文涉及的产品
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,重点讲解姿态动作相似度比较功能的运用,包括样本动作帧的采集和姿态相似度的计算方法,以及在组合运动中的应用实例。

随着人工智能技术的不断发展,IT大厂大厂纷纷推出相关产品,如“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场官网了解详情。

在姿态、动作、运动检测时,采用检测规则计算器虽然非常便捷了,但是为了进一步减少开发者在运动适配中的工作量,方案还提供了一个姿态动作相似度比较功能,本篇就为您介绍此功能的运用。

一、采集样本动作帧

在进行姿态比较前,需要采集样本动作帧的人体关键点数据,采集样本帧推荐使用们的“姿态调试的辅助桌面工具”,具体使用请参考上篇工具的使用。

二、执行姿态比较

姿态相似度比较能力由calc.PoseComparer类提供。


//样本动作人体关键点
const sample = 
 [{
   y:95.41808288282594,x:214.42673274576924,score:0.51611328125,name:"nose"},
 {
   y:84.61684727250136,x:221.80983627909686,score:0.7265625,name:"left_eye"},
 {
   y:87.59059985661885,x:202.12153237356293,score:0.59130859375,name:"right_eye"},
 {
   y:92.85449529945058,x:234.93538334278358,score:0.814453125,name:"left_ear"},
 {
   y:99.07546188234281,x:188.58581196413604,score:0.6806640625,name:"right_ear"},
 {
   y:149.86859452983884,x:271.3040866650822,score:0.7246093153953552,name:"left_shoulder"},
 {
   y:162.78905492065545,x:158.09624324078422,score:0.82666015625,name:"right_shoulder"},
 {
   y:236.41516213602512,x:280.8747980656871,score:0.728515625,name:"left_elbow"},
 {
   y:246.8062369181066,x:156.3188420992395,score:0.55859375,name:"right_elbow"},
 {
   y:305.46100866896046,x:286.61722490605007,score:0.6591796875,name:"left_wrist"},
 {
   y:313.80120003234475,x:152.9006975047454,score:0.70849609375,name:"right_wrist"},
 {
   y:304.5039375289,x:251.342317172392,score:0.87646484375,name:"left_hip"},
 {
   y:303.68360752741575,x:189.6796075527766,score:0.8740234375,name:"right_hip"},
 {
   y:431.38422581120494,x:237.66987231438497,score:0.70703125,name:"left_knee"},
 {
   y:430.01698132540423,x:189.6796075527766,score:0.8017578125,name:"right_knee"},
 {
   y:529.8258287888553,x:229.19295650242066,score:0.6884765625,name:"left_ankle"},
 {
   y:534.747908937738,x:201.71134233782658,score:0.578125,name:"right_ankle"}];

//当前帧动作
const frame = 
 [{
   y:154.06250001297832,x:258.7499999883252,score:0.728515625,name:"nose"},
 {
   y:143.12500001305142,x:254.37499998835446,score:0.56298828125,name:"left_eye"},
 {
   y:143.75001908653357,x:255.937499988344,score:0.69482421875,name:"right_eye"},
 {
   y:143.984394086532,x:229.99999998851743,score:0.43115234375,name:"left_ear"}
 ,{
   y:146.17187501303107,x:236.09374998847667,score:0.4919433891773224,name:"right_ear"},
 {
   y:201.4062690861481,x:205.9375190621646,score:0.51416015625,name:"left_shoulder"},
 {
   y:202.03125001265758,x:227.96874998853102,score:0.66259765625,name:"right_shoulder"},
 {
   y:281.25001908561427,x:234.6874999884861,score:0.26416015625,name:"left_elbow"},
 {
   y:270.6250190856853,x:254.06249998835656,score:0.278076171875,name:"right_elbow"},
 {
   y:246.09376908584932,x:289.06249998812257,score:0.1997070610523224,name:"left_wrist"},
 {
   y:238.43750001241418,x:300.62499998804526,score:0.50927734375,name:"right_wrist"},
 {
   y:321.5624618648858,x:218.59376906208004,score:0.58154296875,name:"left_hip"},
 {
   y:323.43750001184594,x:224.06249998855716,score:0.5615234375,name:"right_hip"},
 {
   y:453.43750001097675,x:217.34376906208837,score:0.6103515625,name:"left_knee"},
 {
   y:455.6250000109622,x:214.06249998862396,score:0.51416015625,name:"right_knee"},
 {
   y:572.5000000101808,x:215.31249998861563,score:0.403564453125,name:"left_ankle"},
 {
   y:593.1250000100429,x:216.0937499886104,score:0.52294921875,name:"right_ankle"}];

//新建比较器,比较
 const AiSport = requirePlugin("aiSport");
 const poseComparer = new AiSport.calc.PoseComparer();
 const result = poseComparer.compare(sample, frame);
 console.log(result);

//输出结果
//{items:
//         [{key:"head",score:0.4327263684686711,summary:"头部偏转相似度"},
//          {key:"trunk",score:0.8407704975917485,summary:"躯干形态相似度"},
//          {key:"left_hand",score:0.2155245751055277,summary:"左手相似度"},
//          {key:"right_hand",score:0.21361728579451628,summary:"左手相似度"},
//          {key:"left_foot",score:0.5147016736506456,summary:"左脚相似度"},
//          {key:"right_foot",score:0.5190758118853293,summary:"右脚相似度"}],
// score:0.5110266728697409
//}

三、在组合运动中的应用

有的运动不只一个动作,比如开合跳,可以拆解成开、合两个动作,分别取样本帧,进行比较即可;如果是局部脚体动作,可以不取整体评分,可以取指定肢体相似度值进行比较。

相关文章
|
20天前
|
人工智能 监控 安全
人体姿态[站着、摔倒、坐、深蹲、跑]检测数据集(6000张图片已划分、已标注)| AI训练适用于目标检测
本数据集包含6000张已标注人体姿态图片,覆盖站着、摔倒、坐、深蹲、跑五类动作,按5:1划分训练集与验证集,标注格式兼容YOLO等主流框架,适用于跌倒检测、健身分析、安防监控等AI目标检测任务,开箱即用,助力模型快速训练与部署。
|
18天前
|
人工智能 安全 API
20 万奖金池就位!Higress AI 网关开发挑战赛参赛指南
本次赛事共设三大赛题方向,参赛者可以任选一个方向参赛。本文是对每个赛题方向的参赛指南。
135 11
|
17天前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
19天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
1674 40
|
21天前
|
人工智能 自然语言处理 JavaScript
VTJ.PRO如何利用AI实现低代码开发
VTJ.PRO深度集成AI,实现设计稿转代码、自然语言生成组件等功能,显著提升低代码开发效率。支持双向代码穿梭、企业级工程化与多模型协同决策,兼顾开发速度与代码自由度,助力项目周期大幅压缩。
145 43
VTJ.PRO如何利用AI实现低代码开发
|
人工智能 自然语言处理 前端开发
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
淘宝推荐信息流业务,常年被“需求多、技术栈杂、协作慢”困扰,需求上线周期动辄一周。WaterFlow——一套 AI 驱动的端到端开发新实践,让部分需求两天内上线,甚至产品经理也能“自产自销”需求。短短数月,已落地 30+ 需求、自动生成 5.4 万行代码,大幅提升研发效率。接下来,我们将揭秘它是如何落地并改变协作模式的。
287 37
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
|
7月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
627 12
|
10月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
411 0
|
12月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
244 0
在线课堂+工具组件小程序uniapp移动端源码
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
2146 3

热门文章

最新文章