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

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

时间:2024-11-11 10:19:53浏览次数:1  
标签:right name AI 化到 运动 calc left

说明:本文所涉及的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

标签:right,name,AI,化到,运动,calc,left
From: https://www.cnblogs.com/alphaair/p/18539231

相关文章

  • 几款AI论文辅助工具,论文不用愁
    在当今学术和内容创作领域,科技的飞速发展正不断革新我们的工作方式。从积墨论文的创新写作平台,到文状元AI写作的全方位支持,再到ResearchMate的科研辅助,智谱清言的智能文档解读,以及EssayGPT的一体化AI论文写作助手,这些工具正以前所未有的方式,提升着我们的创作效率和研究质量。它......
  • 机器人一阶运动学
    回顾:https://www.cnblogs.com/pylblog/p/18529426四关节机器人,可以末端关节位姿,表示为: 假设,机器人末端关机位姿,简化为如下公式:对齐求导,可得: 对于附合导数,自然有: T的导数,自然是姿态的变化速度(末端局部坐标系下,x=[1,0,0]处的速度向量),和末端原点的运动速度向量那最......
  • Mac+win 2020版本Adobe AI Illustrator 2020中文激活安装包
    Illustrator2020是Adobe公司推出的一款领先的向量图形设计软件。它广泛应用于图标设计、印刷设计、标志设计及Web设计等领域,具备简便的使用方式和强大的功能。Illustrator2020的特色在于其灵活的向量编辑工具和高质量的图形库,以及与其他AdobeCreativeCloud应用程序的无缝互操......
  • Intro to LLM Agents with Langchain: When RAG is Not Enough
    https://towardsdatascience.com/intro-to-llm-agents-with-langchain-when-rag-is-not-enough-7d8c08145834Asalways,youcanfindthecodeonGitHub,andhereareseparateColabNotebooks:PlanningandreasoningDifferenttypesofmemoriesVarioustypesof......
  • Langchain ReAct
    officialhttps://python.langchain.com/v0.1/docs/modules/agents/agent_types/react/https://python.langchain.com/v0.2/api_reference/langchain/agents/langchain.agents.react.agent.create_react_agent.htmlfromlangchainimporthubfromlangchain_community.llm......
  • 第二届生成式人工智能与信息安全国际学术会议(GAIIS 2025) 2025 2nd International Con
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍四、出席嘉宾五、征稿主题如想"投稿"请点击如下图片......
  • Refact.ai Match 1 (Codeforces Round 985)
    A.Set二分出最大数满足至少有\(k\)个倍数的数。#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;#defineinti64usingvi=vector<int>;usingpii=pair<int,int>;consti32inf=INT_MAX/2;constintmo......
  • 小北的字节跳动青训营与LangChain实战课:深入探索Chain的奥秘(上)写一篇完美鲜花推文?用Se
     前言    最近,字节跳动的青训营再次扬帆起航,作为第二次参与其中的小北,深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮,更是一个连接未来与梦想的桥梁~小北的青训营XMarsCode技术训练营——AI加码,字节跳......
  • P2123 皇后游戏 / [USACO12JAN] Mountain Climbing S / P1248 加工生产调度 题解
    P2123皇后游戏/[USACO12JAN]MountainClimbingS/P1248加工生产调度先来看P2123。我们把这个特别重要的公式打出来:\[c_{i}=\begin{cases}a_{1}+b_{1}&,i=1\\\displaystyle\max\left\{c_{i-1},\sum_{j=1}^{i}a_{j}\right\}+b_{i}&,2\leqi\leqn\end{......
  • C++中的RAII与内存管理
    C++中的RAII与内存管理引言资源获取即初始化(ResourceAcquisitionIsInitialization,简称RAII)是C++编程中一种重要的编程范式,它通过对象生命周期来管理资源,确保资源在不再需要时能够被正确释放。本文将从C++的内存布局入手,逐步深入到栈区、堆区的概念,new和delete的操作原理,最终......