【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
说明:本文所涉及的AI运动识别、计时、计数能力,都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎,可以为您的小程序或Uni APP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及自定义扩展运动识别能力。完善的文档、Demo项目,开箱即用,可以帮助您快速实现AI运动、AI体育、AI运动赛事、全民健身赛事、AI体测等应用场景的快速落地。
一、为什么要将运动配置持久化到后端?
当我们根据应用场景重新调整内置运动检测参数或者扩展了新运动项目,发布小程序、APP后,若在运行时发现运动参数不合适需要调整时,便需要重新发布小程序或者APP,这个发布过程需要耗费短则几个小时,长则一两天;不便于运营。
若将运动检测的各项参数持久化到后端,这样便可以避免因为运动调整频繁发布小程序、APP新版本,让用户获得更好的体验。
二、需要持久化的那些配置数据?
运动检测的常规参数有Key、Name和TickMode,这是基本的必须的参数,剩的检测规则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乐运动」产品。


【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?的更多相关文章
- 微信小程序二维码推广统计
微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...
- 开发一个微信小程序教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...
- 开发一个微信小程序项目教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 微信小程序初体验,入门练手项目--通讯录,部署上线(二)
接上一篇<微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器>:https://www.cnblogs.com/chengxs/p/9898670.html 开发微信小程序最尴尬 ...
- Java可视化日历(Date类、DATe Format类、Calendar类综合运用),开发可视化日历小程序
Java时间日期类综合运用,开发可视化日历小程序 由键盘输入指定格式的日期,打印这个月的日历 1.代码 import java.text.DateFormat; import java.text.Pa ...
- 全栈开发工程师微信小程序-中
全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...
- 开发一个微信小程序实例教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- 小程序二维码生成接口API
获取小程序码 我们推荐生成并使用小程序码,它具有更好的辨识度.目前有两个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口. 接口A: 适用于需要的码数量较少的业务场景 接口地址: http ...
- php生成微信小程序二维码源码
目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取 access_token public function getWxAccessToken(){ $appid ...
- Java 获取微信小程序二维码(可以指定小程序页面 与 动态参数)
一.准备工作 微信公众平台接口调试工具 小程序的唯一标识(appid) 小程序的密钥(secret) 二.获取access_token 打开微信公众平台接口调试工具,在参数列表中输入小程序的appid ...
随机推荐
- 异源数据同步 → DataX 为什么要支持 kafka?
开心一刻 昨天发了一条朋友圈:酒吧有什么好去的,上个月在酒吧当服务员兼职,一位大姐看上了我,说一个月给我 10 万,要我陪她去上海,我没同意 朋友评论道:你没同意,为什么在上海? 我回复到:上个月没同 ...
- MacPorts 使用
安装 安装苹果命令行开发工具: xcode-select --install 下载并打开 MacPorts 安装包. 使用 MacPorts 中的软件包称为 port. sudo port selfu ...
- 【DVWA】搭建安全测试环境
一.搭建DVWA环境 用docker输入命令: docker run -d --name zc_dvwa -p 8081:80 vulnerables/web-dvwa 安装完成: 输入地址:http ...
- VC 单文档FormView视图增加打印预览
1修改my.rc文件二处 3 TEXTINCLUDE BEGIN "#define _AFX_NO_OLE_RESOURCES\r\n" "#define _AFX_NO ...
- C# 开源教程带你轻松掌握数据结构与算法
前言 在项目开发过程中,理解数据结构和算法如同掌握盖房子的秘诀.算法不仅能帮助我们编写高效.优质的代码,还能解决项目中遇到的各种难题. 给大家推荐一个支持C#的开源免费.新手友好的数据结构与算法入门教 ...
- Identity – Custom Entity
扩展属性 Custom Entity 指的是我们想对 Identity 的几个 Entity 做修改. 比如 User 要多一些 property, 或者 Id 用 int 而不是默认的 GUID. ...
- LiveChat vs LiveAgent vs Front vs Email
它们是什么? LiveChat, LiveAgent 算是同类产品. LiveChat 的核心(或者说起点)是 live chat 这个功能, 而 LiveAgent 的核心是 ticket. 如果拿 ...
- SQL Server – 冷知识 (新手)
前言 没有系统化学一本语言或技术, 那便会被一些冷知识坑. 这里做些记入. 变量作用域 SQL 是远古语法, 声明变量在最顶部就是一条上古法则. 如果我看见有了用这个法则写 C# 或 JS 我就会杀了 ...
- 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明)
十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) @ 目录 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) 1. 基本介绍 2. 准备工作 3. ...
- 如何安装eNSP
如何安装eNSP? eNSP是需要三个插件进行辅助的,所以先下三个插件,最后在下eNSP 首先来看看Wireshark的安装 很简单,基本上就直接下一步就行 这里直接下一步 这里要注意,这些要么安装在 ...