当前位置: 首页 > news >正文

【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?

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

一、为什么要将运动配置持久化到后端?

当我们根据应用场景重新调整内置运动检测参数或者扩展了新运动项目,发布小程序、APP后,若在运行时发现运动参数不合适需要调整时,便需要重新发布小程序或者APP,这个发布过程需要耗费短则几个小时,长则一两天;不便于运营。
若将运动检测的各项参数持久化到后端,这样便可以避免因为运动调整频繁发布小程序、APP新版本,让用户获得更好的体验。

二、需要持久化的那些配置数据?

运动检测的常规参数有KeyNameTickMode,这是基本的必须的参数,剩的检测规则rules或姿态样本samples则取决于选择何种运动识别方案,若基于body-calc规则识别则持久化rules,基于相似度方案则持久化samples

三、如果实现持久化配置?

识别引擎的接口设计便考虑了规则和样本便于持久化,根据上面要持久化的数据,我们可以构建出的持久化数据结构如下:

{"key": "demo","name": "测试运动","samples": {"basic": {"keypoints": [{"y": 66.0156295428602,"x": 196.24999974976453,"score": 0.3974609375,"name": "nose"},{"y": 56.99219681226278,"x": 204.68749974880043,"score": 0.395263671875,"name": "left_eye"},{"y": 56.48437477557764,"x": 188.12499975069284,"score": 0.353759765625,"name": "right_eye"},{"y": 63.867192043105675,"x": 217.18751882085854,"score": 0.6533203125,"name": "left_ear"},{"y": 60.78125454345827,"x": 174.99999975219248,"score": 0.49560546875,"name": "right_ear"},...]}},"rules": {"name": '撑状态检查',"calc": '$and',"rules": [{"name": '手臂垂直撑起',"calc": '$or',"rules": [{"name": '左手臂垂直',"calc": 'vertical',"upperKey": 'left_shoulder',"centerKey": 'left_elbow',"lowerKey": 'left_wrist',"offset": 20}, {"name": '右手臂垂直',"calc": 'vertical',"upperKey": 'right_shoulder',"centerKey": 'right_elbow',"lowerKey": 'right_wrist',"offset": 20}]}, {"name": '手臂与腰部垂直',"calc": '$or',"rules": [{"name": '左手臂与腰齐垂直',"calc": 'match-angle',"angleKey": 'left_shoulder',"secondKey": 'left_elbow',"thirdKey": 'left_hip',"angle": 90,"offset": 25}, {"name": '右手臂与腰齐垂直',"calc": 'match-angle',"angleKey": 'right_shoulder',"secondKey": 'right_elbow',"thirdKey": 'right_hip',"angle": 90,"offset": 25}]}, {"name": '腿部绷直',"calc": '$or',"rules": [{"name": '左腿绷直',"calc": 'match-angle',"angleKey": 'left_knee',"secondKey": 'left_ankle',"thirdKey": 'left_hip',"angle": 160,"offset": 20}, {"name": '右腿绷直',"calc": 'match-angle',"angleKey": 'right_knee',"secondKey": 'right_ankle',"thirdKey": 'rgight_hip',"angle": 160,"offset": 20}]}]}
}

以上便是基本持久化结构,其它的可以根据需要添加字段,持久化到关系数据库、文件、mongodb文档数据库等都可。

除了提供AI运动识别引擎外;还可以使用运动自动适配工具快速适配运动;还有可直接在AI云上赛事、全民健身线上运动、学生体测场落地的「AI乐运动」产品。

image
image

http://www.lryc.cn/news/482384.html

相关文章:

  • LED和QLED的区别
  • 2024 年Postman 如何安装汉化中文版?
  • 转化古老的Eclipse项目为使用gradle构建
  • openGauss常见问题与故障处理(二)
  • Mysql 8迁移到达梦DM8遇到的报错
  • Android HandlerThread 基础
  • 【智能算法应用】人工水母搜索算法求解二维路径规划问题
  • 【Altium】原理图如何利用参数管理器批量修改元器件属性
  • 基于Spring Boot与Redis的令牌主动失效机制实现
  • 深度学习之循环神经网络(RNN)
  • Autosar CP Network Management模块规范导读
  • Xshell 7 偏好设置
  • 云计算答案
  • 浅谈现货白银与白银td的价格差异
  • 【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动
  • 【计算机基础——数据结构——AVL平衡二叉树】
  • 体育活动赛事报名马拉松微信小程序开发
  • 【C++】C++基础知识
  • 中间件安全
  • Zabbix中文监控指标数据乱码
  • 【AI】AI如何赋能软件开发流程
  • 恒创科技:什么是 RAID 3 ? RAID 3、4 和5之间有什么区别?
  • python获取iOS最近业务日志的两种方法
  • 【如何获取股票数据43】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深指数历史交易数据获取实例演示及接口API说明文档
  • ESLint 使用教程(一):从零配置 ESLint
  • openssl对称加密代码讲解实战
  • web前端动画按钮(附源代码)
  • go函数传值是值传递?还是引用传递?slice案例加图解
  • PostgreSQL数据库笔记
  • 财务软件源码SaaS云财务