首页 > 编程语言 >AI运动小程序开发常见问题集锦一

AI运动小程序开发常见问题集锦一

时间:2024-09-19 08:54:53浏览次数:8  
标签:常见问题 const AI 程序开发 相机 集锦 运动 识别 人体

截止到现在写博文时,我们的AI运动识别小程序插件已经迭代了23个版本,成功应用于健身、体育、体测、AR互动等场景;为了让正在集成或者计划进行功能扩展优化的用户,少走弯路、投入更少的开发资源,我们归集了一部分集中的常见问题,供大家参考。

一、关于文档、Demo项目的使用。

在技术支持资料包中,提供有指南、API参考等文档,建议在集成工作开始前,通读文档并结合Demo项目熟悉基本的应用流程。

二、抽帧

AI运动大部分的使用场景,都是通过相机实时取像进行识别,为了减少您的集成工作量,我们已为您实现好了抽帧、帧流控等功能,并在Demo中提供了相关源码,直接集成至新项目即可。
当然相机抽帧识别是常见的运动识别源,但不是为唯一,您也可以选择录制视频、图进行识别,具体可以参考十七十八两个章节。

二、帧流

不管是从相机或视频中抽帧进行识别,图像都是流形式的,即从相机预览或视频中的提取一帧帧图像,调用插件进行识别。如下图所示,连续提取的多张图像,有可能是同一个动作,特别是高帧数的视频和相机,同一动作的帧会更多,因此,在计数运动自定义运动适配时,需要做好标记,同一个动作只捕捉一次,否则便出现重复计数问题。
image

三、人体识别

要进行运动和姿态识别,首先要拿到人体识别结果,插件的人体识别接口是可以单独调用的,无须经过运动分析器。拿到人体识别结果也可以进行其它场景的拓展,如动作交互、AI带教、语音交互等。

四、关于相机全屏问题。

运动是支持将camera组件全屏下进行识别的,但是受制于小程序抽尺寸与预览尺寸不一致的问题,可能会现骨骼图和人体位置不一致的情况,如果一定要使用全屏模式,建议关闭骨骼图展示。
image

五、姿态检测接口Body-Calc可单调用。

插件的人体姿态分析检测能力Body-Calc支持单独调用,不必经过运动分析器。比如进行人体站位调整、语音互动、AR互动,直接调用相应的接口即可。

const AiSport = requirePlugin("aiSport");
const Calculator = AiSport.calc.Calculator;

//也可参考此实现左右视角检查
const rule = {
	name: '正或背对摄像头检查',
	calc: '$or',
	ruels: [{
		name: '正对摄像头检查',
		calc: 'camera-view',
		position: 'front'
	},{
		name: '背对摄像头检查',
		calc: 'camera-view',
		position: 'back'
	}]
};
const calculator = new Calculator();

//执行检测
if(!calculator.calculating(human, rule)){
	console.log('请面或背朝摄像头');
	//播放语音、UI提示...
}

六、运动识别的视角和站位。

为了更精准的识别到人体动作,在适配运动时建议指定一个可以清晰检测到动作关键点的视角,视角和站位的预检实现可以参考十五十六章节。
image

七、横屏如何适配

在不开启页面屏幕旋转pageOrientation支持的情况下,直接将手机横放,将导致运动无法正确识别,开启屏幕旋转支持后,camera的图像方向将自动旋转,无需进行其它处理,详情请参考文档https://developers.weixin.qq.com/miniprogram/dev/framework/view/resizable.html

{
  "pageOrientation": "auto"
}

若不开启屏幕旋支持,仍要支持手机横竖,可以调用人体识别结果BodyDetectionResultrotate(angle)rotateToUpright()方法对人体结构姿态进行旋转。

const AiSport = requirePlugin("aiSport");
const humanDetection = AiSport.humanDetection;
humanDetection.detectionAsync(image).then(human=>{
	human.rotate(-90); //顺时针旋转90度,需要判断屏幕是否处于左侧向模屏
});

image

好了,本次就为您梳理到,更多问题请继续关注我们的更新。

标签:常见问题,const,AI,程序开发,相机,集锦,运动,识别,人体
From: https://www.cnblogs.com/alphaair/p/18264308

相关文章

  • 计算机鱼类知识学习—django基于Django的云南鱼类知识学习的微信小程序开发
    标题:django基于Django的云南鱼类知识学习的微信小程序开发设计并开发一个基于Django框架,针对云南鱼类知识学习的微信小程序,旨在提供丰富的鱼类教育资源与趣味互动学习体验。小程序的主要功能模块:1.用户系统与登录•微信快速登录:利用微信开放平台接口,实现一键登录。•个人......
  • 刘德华2024演唱会危险事故集锦
    分析2024年刘德华演唱会事故2024年,刘德华的演唱会巡回演出中接连发生了多起事故,这些事件不仅让人们担心他的身体状况,也引发了对演唱会团队安全管理的质疑。上海站高台滑跪事故(7月5日)在上海的演唱会上,刘德华进行了一个高台滑跪的动作。滑跪本身是一个极具视觉冲击力的表演动作,尤其是......
  • 深度|基于大模型的RAG应用中的四个常见问题及方案探讨【中】
    在上篇中,我们探讨了构建RAG应用中常面临的两个问题:如何提高语义检索的精度以及实现多轮对话中上下文理解的检索。本文接着探讨另一个常见的也是比较复杂的问题:如何对多模态文档,特别是其中的图片内容进行嵌入、检索与引用?我们将基于Google最新的Gemini多模态模型作简单实现与测试。0......
  • 深度|基于大模型的RAG应用中的四个常见问题及方案探讨【上】
    前言RAG(检索增强生成)是构建大模型企业应用的一种常见解决方案。其基本思想是通过语义搜索,在大模型输入时携带企业私有知识库中相关的上下文,从而让大模型在理解企业私有知识的基础上输出结果。目的是解决以下问题:弥补通用模型在企业私有知识上的不足降低大模型存在的幻觉问题,减少胡......
  • 教育培训小程序开发,简单实用的入门指南
    教育培训小程序可以帮助教育机构和个人老师提供更灵活的在线教学服务,满足学生的学习需求。对于初学者来说,开发一个功能齐全的教育培训小程序并不复杂,只需掌握一些基础的开发知识和工具即可。本文将带你了解如何使用微信小程序开发工具,创建一个简单实用的教育培训小程序,并展示一些关......
  • 早上好祝福语暖心句子集锦,今天精美的祝福图片大全
    一朝相识一生缘,永生牵挂在心间,岁月匆匆又一天,清晨祝福在身边,千言万语汇一句,安康幸福每一天。早上好!岁月告诉我们,有一颗宽容的心,会健康一辈子。有一颗善良的心 ,会平安一辈子。有一颗童心,会年轻一辈子。 上午吉祥!人生一世,有春风得意,有苦甜相依,有喜乐相伴,有烦忧挠人,只要静下......
  • ZBLOG博客的安装常见问题
    Z-Blog是一款流行的博客系统,支持ASP和PHP两种版本。在安装过程中,用户可能会遇到各种各样的问题。下面是一些常见的安装问题及其解决方法:1.数据库连接问题问题描述:安装时提示数据库连接失败。解决方法:确认数据库服务器地址、端口、数据库名称、用户名和密码是否正确。......
  • 我使用本地windows11上的VSCode远程连接到ubuntu进行RUST程序开发,我在VSCode上安装了
    当你使用VSCode的Remote-SSH扩展从本地Windows11连接到远程的Ubuntu服务器进行开发时,插件的安装有以下行为:插件的安装位置本地插件:某些插件,例如VSCode的界面插件或与本地编辑器相关的插件,安装在你的本地Windows系统上。这些插件不需要与远程服务器交互,因此它们仅......
  • 解决跨境电商平台账号无法访问的常见问题
    随着跨境电商的迅猛发展,越来越多的卖家选择在全球各大电商平台如亚马逊、eBay等进行商品销售。然而,在实际运营过程中,卖家经常会遇到账号无法访问、应用打不开等问题,导致业务受阻。本文将针对这些问题进行详细分析,并提供相应的解决方案和策略。一、跨境电商平台账号无法访问的......
  • 微信小程序开发中的客户端与服务端交互
    微信小程序开发中的客户端与服务端交互1.搭建桥梁:客户端与服务端的握手初次见面:理解客户端与服务端的角色握手协议:HTTP与HTTPS的基本通信原理桥梁建设:使用wx.request发起网络请求2.数据的往返:构建高效的数据传输通道轻装简行:简化数据格式提高传输效率JSON之舞:JSON数......