在Windows上运行mediapipe:适合新手的AI框架

news2024/12/16 13:17:15

一、mediapipe简介

mediapipe可以被视为谷歌版的onnx,其设计目的在于跨平台部署AI模型,并提供一系列工具来监测不同平台、不同设备运行人工智能模型时的性能表现。

尽管mediapipe已经陆续支持训练自定义模型,但博主更推荐使用Pytorch/Tensorflow训练模型,再通过mediapipei进行部署。正如前文所言,可以把mediapipe当做onnx来使用。

mediapipe支持的平台、解决方案和工具如下。

1、平台

Android、iOS、Python、JavaScript、C++

2、解决方案

(1)视觉任务

对象检测、图像分类、图像分割、交互式分割、手势识别、手部特征点检测、嵌入图片、人脸检测、面部特征检测、姿态特征点检测、人脸风格化、整体特征点检测。

(2)文本任务

文本分类、文本嵌入、语言检测。

(3)音频任务

音频分类。

3、工具

针对计算图和推理管道的可视化工具、推理过程的分析与跟踪工具、模型性能基准测试工具(未推出)。


二、mediapipe官网

在安装和使用mediapipe之前,有必要呈现mediapipe的三个官方网站。由于网站是不断更新的,建议在安装和使用mediapipe之前仔细阅读。

1、软件概览

Home - mediapipe

这个网站实际上就是介绍了mediapipe支持的平台、提供的解决方案和具有的工具。

2、使用指南

MediaPipe 解决方案指南  |  Google AI Edge  |  Google AI for Developers

这个网站提供了在线调用AI模型的功能,可能需要科学上网。除此之外,提供了在不同平台上安装和使用mediapipe的指南。

3、库GitHub

GitHub - google-ai-edge/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.

这个网站指向mediapipe项目源,提供了在不同平台上使用mediapipe的必备资源。

4、案例GitHub

GitHub - google-ai-edge/mediapipe-samples

案例GitHub和库GitHub是两个不同的概念,案例GitHub提供了在不同平台上部署mediapipe的程序,例如提供了在树莓派平台上调用图像分类模型进行推理的程序(用户无需编程)


三、mediapipe安装

根据相关报道,截止2024年12月,Python已经超过C++成为最受欢迎的编程语言。因此,本篇将以Python为例,说明如何在Windows上安装和使用mediapipe。

本博客的主要阅读对象是刚接触人工智能的新手用户,因此,将尽可能详细地介绍从miniconda的安装到mediapipe的安装。

1、安装miniconda

miniconda是管理Python虚拟环境的一款软件,下载地址如下,注意只需要下载miniconda而不是Anaconda。下载完成后安装即可。

Download Now | Anaconda

2、安装mediapipe

在“开始”的搜索框中输入“miniconda”,然后打开Anaconda Prompt。

在打开的Anaconda Prompt中,输入以下指令,设置为默认镜像源下载。

conda config --add channels defaults

然后,输入以下指令,创建mediapipe环境。

conda create -n mediapipe python==3.12

如果完成mediapipe虚拟环境的创建,将显示以下画面。

使用以下指令,激活mediapipe环境。

conda activate mediapipe

使用以下指令,安装mediapipe。

pip install mediapipe

安装完成后,测试mediapipe是否可用。输入以下指令,如果没有报错,则说明mediapipe已完成安装。

python
import mediapipe as mp


四、mediapipe使用

如前所述,mediapipe提供了一系列示例程序,新手用户可以直接运行这些示例程序,体验不同类型的人工智能任务。

1、下载mediapipe samples

mediapipe samples是官方提供的一系列示例程序,从案例GitHub下载或从本博客绑定资源下载。

GitHub - google-ai-edge/mediapipe-samples

2、下载wget

由于mediapipe samples需要使用到wget工具,需要打开网站下载或从本博客绑定资源下载。

Index of /gnu/wget

如果从网站下载,按照下图选择EXE版本。

下载完成后,将wget.exe复制粘贴到以下地址。

C:\Windows\System32

然后,按下win+R运行cmd,输入wget后,如果出现下图提示,说明wget已经可以正常使用。

3、安装opencv-python

对于视觉任务,mediapipe依赖opencv库,因此,还需要在mediapipe虚拟环境中安装opencv-python。

首先,打开anaconda prompt并激活mediapipe虚拟环境。

然后,输入以下指令安装opencv-python。

pip install opencv-python

安装完成后,无需退出anaconda prompt及mediapipe虚拟环境。

4、启动推理

至此,终于可以使用mediapipe示例程序了!

在mediapipe-samples文件夹中,examples子文件夹存放了多种任务。

接下来,以运行hand_landmarker(手部关键点检测)为例,介绍如何使用mediapipe示例程序。

进入hand_landmarke文件夹,发现一共有5个平台,其中python是在计算机上运行的,raspberry_pi是在树莓派上运行的。由于python子文件夹中使用的是.ipynb格式,配置相应的运行环境比较麻烦,所以使用raspberry_pi文件夹中的程序。

进入raspberry_pi文件夹,右键选中detect.py,选择“复制文件地址”。

在anaconda prompt中粘贴以下指令,注意示例程序的地址应该根据实际情况做修改。

python "C:\Users\71401\Desktop\mediapipe-samples\examples\hand_landmarker\raspberry_pi\detect.py"

如果程序正确运行,系统将弹出一个窗口,此时画面中将显示出手部关键点检测的实时推理结果。

如果要退出推理,在此窗口中按ESC键即可。

不同设备的摄像机默认方向不同,如果发现左右手相反,可以打开detect.py程序,将102行注释掉(或删掉)。注释某行代码,只需在改行代码的开头处添加#符号。

然后保存程序,最后再用上述指令运行,可以发现摄像头的捕捉画面反过来了,并且左右手的识别也发生调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…

IAR环境下STM32静态库编译及使用

IAR环境下STM32静态库编译及使用 前言 最近了解到了STM32的静态库与动态库,在此记录一下STM32静态库的生成与使用。 静态库的作用主要是对代码进行封装及保护,使其他使用者只知其然而不知其所以然,因为封装后的静态库只有.h文件没有.c文件。…

【常考前端面试题总结】---2025

React fiber架构 1.为什么会出现 React fiber 架构? React 15 Stack Reconciler 是通过递归更新子组件 。由于递归执行,所以更新一旦开始,中途就无法中断。当层级很深时,递归更新时间超过了 16ms,用户交互就会卡顿。对于特别庞…

Leetcode 面试150题 399.除法求值

系列博客目录 文章目录 系列博客目录题目思路代码 题目 链接 思路 广度优先搜索 我们可以将整个问题建模成一张图:给定图中的一些点(点即变量),以及某些边的权值(权值即两个变量的比值),试…

hbase读写操作后hdfs内存占用太大的问题

hbase读写操作后hdfs内存占用太大的问题 查看内存信息hbase读写操作 查看内存信息 查看本地磁盘的内存信息 df -h查看hdfs上根目录下各个文件的内存大小 hdfs dfs -du -h /查看hdfs上/hbase目录下各个文件的内存大小 hdfs dfs -du -h /hbase查看hdfs上/hbase/oldWALs目录下…

使用webrtc-streamer查看实时监控

摄像头配置(海康摄像头为例) 摄像头视频编码应改成H264格式 webrtc-streamer下载 webrtc-streamer下载地址 下载后解压出来双击运行,端口默认8000 VUE2项目引入文件 在项目静态文件“public”中需引入两个js文件“webrtcstreamer.js”与“…

L1-3流量分析

1. 初步分析 数据包下载 流量分析基础篇 使用科来网络分析系统,打开L1-3.pcapng数据包,查看数据包中ssh的协议占的比例较大。 2. 通过分析数据包L1-3,找出黑客的IP地址,并将黑客的IP地址作为FLAG(形式:[IP地址)提交; 获取的fl…

【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说

关注作者 制造供应链的牛鞭问题与复杂问题主要是从两个方面解决,一是同步化供应链消减从需求到供应的放大效应,二是供应链细分,针对不同的客户、不同的需求供应的匹配策略来应对复杂性,更好的满足客户并以最低的总成本来实现。 对…

前端成长之路:CSS盒子模型

盒子模型是页面布局的核心,通过盒子模型才能更好的进行页面布局。 网页布局的本质 网页布局的核心本质其实是:HTML网页元素就是一个个的盒子box,通过CSS可以设置好盒子的样式,和盒子需要摆放的位置;简单说来就是通过…

LeetCode刷题 -- 字符串

目录 最长公共前缀题目解析算法原理代码 最长回文子串题目解析算法原理代码 二进制求和题目解析算法原理代码 字符串相乘题目解析算法原理代码 最长公共前缀 题目链接 题目解析 只需找出字符串中的公共的最长字符串即可 算法原理 1.法一:两两字符串比较,…

4G模块详解

在之前的教程中,无线通信技术我们学习了蓝牙和 WiFi,今天我们要来学习 4G。 4G 模块在距离上有个突破,它不像蓝牙短距离,也不像 WiFi 只能在局域网,4G 模块可使用户无论在哪,只要有 4G 网络信号覆盖&#…

uni-app实现小程序、H5图片轮播预览、双指缩放、双击放大、单击还原、滑动切换功能

前言 这次的标题有点长,主要是想要表述的功能点有点多; 简单做一下需求描述 产品要求在商品详情页的头部轮播图部分,可以单击预览大图,同时在预览界面可以双指放大缩小图片并且可以移动查看图片,双击放大&#xff0…

数据地图怎么做?推荐这款数据可视化地图生成器

在数字化与信息化高速发展的今天,企业迎来了前所未有的发展机遇,规模迅速扩张,市场版图不断延伸。然而,伴随着这种快速的发展,一个不容忽视的问题逐渐浮出水面——如何精准高效地掌握分布在各地的分公司、业务点乃至整…

hive—常用的日期函数

目录 1、current_date 当前日期 2、now() 或 current_timestamp() 当前时间 3、datediff(endDate, startDate) 计算日期相差天数 4、months_between(endDate, startDate) 日期相差月数 5、date_add(startDate, numDays) 日期加N天 6、date_sub(startDate, numDays) 日期减…

【原生js案例】如何让你的网页实现图片的按需加载

按需加载,这个词应该都不陌生了。我用到你的时候,你才出现就可以了。对于一个很多图片的网站,按需加载图片是优化网站性能的一个关键点。减少无效的http请求,提升网站加载速度。 感兴趣的可以关注下我的系列课程【webApp之h5端实…

大模型运用-Prompt Engineering(提示工程)

什么是提示工程 提示工程 提示工程也叫指令工程,涉及到如何设计、优化和管理这些Prompt,以确保AI模型能够准确、高效地执行用户的指令,如:讲个笑话、java写个排序算法等 使用目的 1.获得具体问题的具体结果。(如&…

相位小数偏差(UPD)估计基本原理

PPP中的一个关键性难题在于非差模糊度固定,成功固定非差模糊度可以使 PPP 的收敛速度和定位精度得到显著提升 。 相位小数偏差 (UPD) 是致使相位模糊度失去整数特性的主要因素,精确估计并校正 UPD 是实现非差模糊度固定的重要前提,也是实现…

ES倒排索引实现? ES 索引文档过程?ES并发下读写一致?

ES倒排索引实现, ES 索引文档过程,ES并发下读写一致 一、Elasticsearch的基本概念二、Elasticsearch的工作原理简述三、Elasticsearch的应用场景四、面试问题问题1:Elasticsearch中的分片和副本是如何工作的?分片和副本的大小和数…

【h5py】 提取mat文件中的HDF5格式的数据

h5py 提取mat文件中的HDF5格式的数据 使用纯Python查看数据配合Matlab后,使用Python查看数据 一、使用纯Python查看文件数据内容 原理:当HDF5存储的是struct类型数据,解析时要像一棵树,我们需要逐层次的去解析,直到…

【数据分享】2013-2023年我国省市县三级的逐年CO数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐年PM2.5数据、2000-2023年的省市县三级的逐年PM10数据、2013-2023年的省市县三级的逐年SO2数据、2000-2023年省市县三级的逐年O3数据和2008-2023年我国省市县三级的逐…