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

简介: 【云智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)
}

五、写在最后

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

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

相关文章
|
8月前
|
人工智能 安全 API
20 万奖金池就位!Higress AI 网关开发挑战赛参赛指南
本次赛事共设三大赛题方向,参赛者可以任选一个方向参赛。本文是对每个赛题方向的参赛指南。
646 64
|
8月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
8月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
7922 111
|
8月前
|
移动开发 小程序 前端开发
小程序开发平台有哪些?哪个好
小程序的开发方式丰富多元,开发团队可根据自身的技术背景、项目具体需求以及资源状况,灵活挑选最为适宜的开发路径。以下将详细介绍几种主流的小程序开发方式。
669 1
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
815 0
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
424 0
在线课堂+工具组件小程序uniapp移动端源码
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
473 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
4749 3

热门文章

最新文章