谷歌Mediapipe安装部署教程

2024-06-20 13:20

本文主要是介绍谷歌Mediapipe安装部署教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MediaPipe Solutions 提供了一套库和工具,可帮助您在您的应用中快速应用人工智能 (AI) 和机器学习 (ML) 技术。您可以立即将这些解决方案插入到您的应用中,根据需要对其进行自定义,并在多个开发平台上使用。MediaPipe Solutions 是 MediaPipe 开源项目的一部分,因此您可以进一步自定义解决方案代码以满足您的应用需求。MediaPipe 解决方案套件包括以下内容:

MediaPipe 解决方案、Studio 和 Model Maker 的示意图

以下库和资源提供了每个 MediaPipe 解决方案的核心功能:

  • MediaPipe Tasks:用于部署解决方案的跨平台 API 和库。
  • MediaPipe 模型:预训练、可直接运行的模型,可与每个解决方案搭配使用。

借助以下工具,您可以自定义和评估解决方案:

  • MediaPipe Model Maker:为使用你的数据的解决方案自定义模型
  • MediaPipe Studio:在浏览器中直观呈现、评估解决方案并对其进行基准测试。请添加图片描述

可用的解决方案

MediaPipe 解决方案适用于多个平台。每个解决方案都包含一个或多个模型,您也可以为某些解决方案自定义模型。以下列表显示了适用于每个受支持平台的解决方案,以及您是否可以使用 Model Maker 自定义模型:

解决方案Android网站PythoniOS自定义模型
LLM Inference API √ \surd √ \surd √ \surd √ \surd
对象检测 √ \surd √ \surd √ \surd √ \surd √ \surd
图片分类 √ \surd √ \surd √ \surd √ \surd √ \surd
图像分割 √ \surd √ \surd √ \surd
交互式分割 √ \surd √ \surd √ \surd
手部特征点检测 √ \surd √ \surd √ \surd √ \surd
手势识别 √ \surd √ \surd √ \surd √ \surd √ \surd
图片嵌入 √ \surd √ \surd √ \surd
人脸检测 √ \surd √ \surd √ \surd √ \surd
人脸特征点检测 √ \surd √ \surd √ \surd
人脸风格化 √ \surd √ \surd √ \surd √ \surd
姿势特征点检测 √ \surd √ \surd √ \surd
图片生成 √ \surd √ \surd
文本分类 √ \surd √ \surd √ \surd √ \surd √ \surd
文本嵌入 √ \surd √ \surd √ \surd
语言检测器 √ \surd √ \surd √ \surd
音频分类

安装

Python

pip安装mediapipe软件包

安装使用 mediapipe pip 软件包。您可以使用以下命令安装所需的软件包:

$ python -m pip install mediapipe

导入以下类来验证安装结果:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
运行示例

安装验证无误后,运行以下示例。

# STEP 1: Import the necessary modules.
import numpy as np
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision# STEP 2: Create an ObjectDetector object.
base_options = python.BaseOptions(model_asset_path='efficientdet.tflite')
options = vision.ObjectDetectorOptions(base_options=base_options,score_threshold=0.5)
detector = vision.ObjectDetector.create_from_options(options)# STEP 3: Load the input image.
image = mp.Image.create_from_file(IMAGE_FILE)# STEP 4: Detect objects in the input image.
detection_result = detector.detect(image)# STEP 5: Process the detection result. In this case, visualize it.
image_copy = np.copy(image.numpy_view())
annotated_image = visualize(image_copy, detection_result)
rgb_annotated_image = cv2.cvtColor(annotated_image, cv2.COLOR_BGR2RGB)
cv2_imshow(rgb_annotated_image)

C++


  1. 安装 Bazelisk。

    Step 1: Add Bazel distribution URI as a package source

       sudo apt install apt-transport-https curl gnupg -ycurl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpgsudo mv bazel-archive-keyring.gpg /usr/share/keyringsecho "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list```The component name "jdk1.8" is kept only for legacy reasons and doesn't relate to supported or included JDK versions. Bazel releases are Java-version agnostic. Changing the "jdk1.8" component name would break existing users of the repo.```### Step 2: Install and update Bazel```shsudo apt update && sudo apt install bazel```
    Once installed, you can upgrade to a newer version of Bazel as part of your normal system updates:```sh
    sudo apt update && sudo apt full-upgrade
    

    The bazel package always installs the latest stable version of Bazel. You can install specific, older versions of Bazel in addition to the latest one, such as this:

    sudo apt install bazel-1.0.0
    

    This installs Bazel 1.0.0 as /usr/bin/bazel-1.0.0 on your system. This can be useful if you need a specific version of Bazel to build a project, for example because it uses a .bazelversion file to explicitly state with which Bazel version it should be built.

    Optionally, you can set bazel to a specific version by creating a symlink:

    sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
    bazel --version  # 1.0.0
    

  1. 检出 MediaPipe 代码库。

    $ cd $HOME
    $ git clone --depth 1 https://github.com/google/mediapipe.git# Change directory into MediaPipe root directory
    $ cd mediapipe
    

配置opencv编译选项,打开mediapipe-master/third_party/opencv_linux.BUILD。取消注释,若为手动编译安装opencv, 应该选择最后一项,例如include/opencv4/

# Description:
#   OpenCV libraries for video/image processing on Linuxlicenses(["notice"])  # BSD licenseexports_files(["LICENSE"])# The following build rule assumes that OpenCV is installed by
# 'apt-get install libopencv-core-dev libopencv-highgui-dev \'
# '                libopencv-calib3d-dev libopencv-features2d-dev \'
# '                libopencv-imgproc-dev libopencv-video-dev'
# on Debian Buster/Ubuntu 18.04.
# If you install OpenCV separately, please modify the build rule accordingly.
cc_library(name = "opencv",hdrs = glob([# For OpenCV 4.x#"include/aarch64-linux-gnu/opencv4/opencv2/cvconfig.h",#"include/arm-linux-gnueabihf/opencv4/opencv2/cvconfig.h",#"include/x86_64-linux-gnu/opencv4/opencv2/cvconfig.h","include/opencv4/opencv2/**/*.h*",]),includes = [# For OpenCV 4.x#"include/aarch64-linux-gnu/opencv4/",#"include/arm-linux-gnueabihf/opencv4/",#"include/x86_64-linux-gnu/opencv4/","include/opencv4/",],linkopts = ["-l:libopencv_core.so","-l:libopencv_calib3d.so","-l:libopencv_features2d.so","-l:libopencv_highgui.so","-l:libopencv_imgcodecs.so","-l:libopencv_imgproc.so","-l:libopencv_video.so","-l:libopencv_videoio.so",],visibility = ["//visibility:public"],
)
运行 [Hello World! in C++ 示例](https://ai.google.dev/edge/mediapipe/framework/getting_started/hello_world_cpp.md?hl=zh-cn)。```bash
$ export GLOG_logtostderr=1# if you are running on Linux desktop with CPU only
$ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \mediapipe/examples/desktop/hello_world:hello_world# If you are running on Linux desktop with GPU support enabled (via mesa drivers)
$ bazel run --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 \mediapipe/examples/desktop/hello_world:hello_world
```

在 GPU 上运行

注意 :此命令目前仅适用于 Linux,请先按照在 Linux 桌面上设置 OpenGL ES 进行操作。

  1. 例如,如需构建带 GPU 的旧版 MediaPipe 手部检测解决方案的 C++ 示例应用,请运行以下命令:

    bazel build -c opt --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 \mediapipe/examples/desktop/hand_tracking:hand_tracking_gpu
    
  2. 如需运行该应用,请执行以下操作:

    GLOG_logtostderr=1 bazel-bin/mediapipe/examples/desktop/hand_tracking/hand_tracking_gpu \--calculator_graph_config_file=mediapipe/graphs/hand_tracking/hand_tracking_desktop_live_gpu.pbtxt
    

    只要摄像头已连接并开启,这就会打开摄像头。出现任何错误都可能是因为无法访问摄像头,或 GPU 驱动程序未正确设置。

这篇关于谷歌Mediapipe安装部署教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作