【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,视频通用资源包5000点
简介: 【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。

【云智AI运动识别小程序插件】,可以为您的小程序,赋于人体检测识别、运动检测识别、姿态识别检测AI能力。本地原生识别引擎,内置10余个运动,无需依赖任何后台或第三方服务,有着识别速度快、体验佳、扩展性强、集成快、成本低的特点,本篇实现需要使用此插件,请先行在微信服务市场官网了解详情。

一、引言

通过本系列博文的前16篇文章,您已了解通过插件开发一个完整的运动、健身、学生体测、云上运动会等小程序的完整流程了,但是系列之前的文章都是基于相机实时取像的,有的开发者就会问,既然可以实现基于摄像头实时识别,那么能否实现用户上传视频识别呢?今天我们就来看看如何实现基于用户上传视频的运动、动作、姿态检测识别。

二、要解决的关键问题

image.png

首先我们来看一下基于相机的运动识别流程,如上图所示,将图像来源改为用户上传视频,只要将第一个环节的相机取帧,改为从用户上传视频中取帧即可,而且其它环节由于只依赖图像数据,不依赖具体来源,所以后续环节都是通用的。由于用户上传视频文件,是一个常见操作,故不在这里赘述,本章重点讨论如何从视频抽帧问题。要对视频抽帧,先要对视频进行解码,再逐帧抽取图像。

三、相关API

微信小程序内置了视频码器VideoDecoder,我们使用此API即可实现抽帧功能,关于此API的更多细节,可以查看官方文档。
image.png

四、代码实现

const AiSports = requirePlugin("aiSport");//获取插件对象
const humanDetection = AiSports.humanDetection;  //获取人体识别对象

function async decoding(){
   
   //创建解码器
   const decoder = wx.createVideoDecoder();

    //启动解码
    await decoder.start({
   
      abortAudio: true, //识别不需要音频
      source: tempFilePath, //通过wx.chooseMedia选择的视频tempPath
    });

    //循环抽帧,直到抽取完成
    let frame = null;
    do {
   
      frame = decoder.getFrameData();
      if(frame)
         break;

      //对帧进行人体识别
      let human =  await humanDetection.detectionAsync(frame);
      console.log(human);//此处可以将人体识别结果推入运动分析器

    } while (!frame)
}
AI 代码解读

五、写在最后

到此就实现了基于录制视频的运动、人体、姿态识别的基本功能了,在实际产品应用中,可能还需实现帧图像预览、视频长度限制、跳帧抽取等功能,特别是视频长度大小限制,在实际应用中一定要实现,因为视频解码抽帧是非常消耗手机计算资源功能,上传过大过长的视频容易造成小程序卡顿、崩溃。

好了,本期为就为您介绍到这,下期继续为您基于相册图片上传的运动、人体、姿态识别...

目录
打赏
0
9
10
2
129
分享
相关文章
重磅发布:VTJ.PRO 赋能若依(RuoYi)「AI + 低代码」能力,企业级开发效率跃升 300%
VTJ.PRO 与若依(RuoYi)深度集成,融合双向代码穿梭、AI智能引擎及多模态渲染技术,打造“设计即生产”新体验。支持可视化开发、AI生成代码、旧组件重构,提升企业开发效率,助力数字化转型。
158 29
程序员必收藏!Github 167000+ star 的自主AI agent,全自动AI助手,全面覆盖开发效率场景
AutoGPT 是基于 GPT-4 的开源自主 AI 智能代理,全面覆盖开发效率场景。支持任务自动拆解、多轮反馈、插件扩展与记忆管理,具备持续执行能力,适合自动化测试、CI/CD、Web 数据抓取等任务。GitHub 超 176K Star,是当前最热门的 AI Agent 开源项目之一,提供 CLI 与 GUI 双界面,助力开发者提升工作效率。
164 1
VTJ.PRO:打破次元壁!AI驱动 + 双向代码自由穿梭,重新定义Vue高效开发!
VTJ.PRO推出“双向代码转换引擎”,实现可视化设计与手写代码无缝切换,真正践行“设计即代码,代码即设计”。支持Vue3组件一键生成、源码反向解析,兼顾开发自由度与效率,助力快速原型验证与项目迭代。
53 0
高校实验实训课程开发:基于现有的硬件基础和开源能力研发最前沿的AI实验课程
更多基于学校现有硬件基础:企业需求场景的开发和发展,更加注重上层数据和应用,各类工具软件的出现,极大提升了各类硬件的应用价值。我们看到各类硬件厂商,想方设法把硬件卖给学校,但是很多硬件不是在那里尘封,就是寥寥无几的使用场景,我们希望基于学校现有的硬件基础去开发更多面向不同行业或专业的实验实训课程,物尽其用。基于学校现有的硬件,集约开发,极大降低硬件投入成本。
58 7
AI大模型运维开发探索第五篇:GitOps 智能体
本文探讨了如何结合 Manus 的智能体设计理念与 GitOps 持续集成技术,构建低成本、高扩展性的智能体系统。通过借鉴 Manus 的沙箱机制与操作系统交互思路,利用 Git 作为智能体的记忆存储与任务调度核心,实现了推理过程可视化、自进化能力强的智能体架构。文章还分享了具体落地实践与优化经验,展示了其与 Manus 相当的功能表现,并提供了开源代码供进一步探索。
200 20
智能体(AI Agent)开发实战之【LangChain】(四)结合大模型基于RAG实现本地知识库问答和纠错
本文介绍如何基于RAG实现知识库问答系统的输入内容纠错功能。通过加载本地知识库、构建向量数据库,结合大语言模型对输入文本进行检索比对与纠错优化,提升问答准确性。
Apipost vs Apifox:AI 能力决定 API 开发管理工具的真正价值
2025年,AI技术深度融入企业运营,提升生产力与竞争力。在API开发工具领域,Apipost与Apifox在AI能力上有显著差异。Apipost实现AI全流程覆盖,从文档生成、测试、开发辅助到协作优化,大幅提升效率并降低维护成本;而Apifox主要聚焦文档优化,功能较基础。在团队协作、安全合规、企业适配等方面,Apipost亦表现更优,尤其适合追求高效、安全与全流程自动化的团队。
72 1
智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化
智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产(附保姆级工作流)
智能体(AI Agent)开发实战之【Coze】(一)治愈和疗愈系图文一键量产
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问