一、MediaPipe概述

MediaPipe提供跨平台,为实时流媒体提供自定义的机器学习解决方案的应用框架。MediaPipe的主要特点:
(1)端对端的加速:内置快速机器学习推理和处理,使得在普通硬件中也能加速使用。
(2)构建一次,部署任何地方。统一解决方案,可以在Android、iOS、桌面、云端、Web和IoT上部署运行。
(3)即用型解决方案。即用型解决方案:展示框架全部功能的尖端 ML 解决方案
(4)免费和开源。框架和解决方案满足Apache2.0,可以扩展和自行定制。
MediaPipe提供机器学习的方案包括

(1)脸部识别 Face Detection
(2)脸部网格 Face Mesh
(3)虹膜识别 Iris
(4)手势识别 Hands
(5)姿态识别 Pose
(6)全身姿态识别 Holistic
(7)头发分割 Hair Segmentation
(8)3D物品的识别 Object Detection
(9)目标追踪 Box Tracking
(10)瞬时移动追踪 Instant Motion Tracking
(11)物品检测 Objectron

二、在Windows安装MediaPipe

因为构建MediaPipe Android移动应用不能运行在原生的Windows中,因此需要安装MSYS2
从“https://github.com/msys2/msys2-installer/releases/download/2022-10-28/msys2-x86_64-20221028.exe”中下载msys32-x86_64-20221028.exe软件,选择自定义的路径:例如:C:\msys64
然后在系统/设置中设置该路径到PATH路径中。

1.安装和配置MSYS2

(1)安装MSYS2
安装成功后,显示

(2)设置PATH环境变量

如果MSYS2安装到D:\msys64,则将D:\mysys64\usr\bin加入到PATH环境变量中。

(3).msys2安装必要的工具包

安装
C:> pacman -S git patch unzip

3.安装Python


并将Python可执行编辑到Path环境变量中

4.安装Visual C++ Build Tools 2022工具和WinSDK

Visual C++ Build Tools 2022工具包的地址是:https://aka.ms/vs/17/release/vs_BuildTools.exe

在安装Visual C++ Build Tools 2022工具包时,也可以直接选择WinSDK工具包,可以在Visual Studio Install可选工具包中勾选Windows 11 SDK(也可以按照自身的操作系统进行设置),如下图所示:

也可以单独安装WinSDK工具包,WinSDK的地址是:
https://go.microsoft.com/fwlink/p/?linkid=2196241
5.安装Bazel或者Bazelis,并将Bazel安装的位置设置到Path环境变量中。
Bazel各种版本可以通过:https://github.com/bazelbuild/bazel/releases
进行选择。
因为官方网站下载速度比较慢,可以使用国内镜像源华为云的网站https://mirrors.huaweicloud.com/bazel/进行选择对应的版本进行下载。
本文选择了:
https://mirrors.huaweicloud.com/bazel/5.3.2/

Bazelis的下载位置:https://docs.bazel.build/versions/master/install-bazelisk.html
安装Bazel成功后,设置Bazel到Path环境变量中,

# Please find the exact paths and version numbers from your local version.
C:\> set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
C:\> set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
C:\> set BAZEL_VC_FULL_VERSION=<Your local VC version>
C:\> set BAZEL_WINSDK_FULL_VERSION=<Your local WinSDK version>

在笔者安装的Visual C++ Build Tools 2022的版本是 14.33.31629
Windows SDK 的版本是10.0.22621.0
如下列代码所示:

C:\>set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools
C:\>set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC
C:\>set BAZEL_VC_FULL_VERSION=14.33.31629
C:\>set BAZEL_WINSDK_FULL_VERSION=10.0.22621.0

5.设置JDK

JDK需要安装和配置OpenJDK,过程略

6.安装MediaPipe

(1)从git中拷贝MediaPipe到本地
直接执行:git clone https://github.com/google/mediapipe.git
会出现fatal: unable to access ‘https://github.com/google/mediapipe.git/’: OpenSSL SSL_read: Connection reset by peer, errno 104问题。
这是因为:服务器的SSL证书没有经过第三方机构的签署,所以才报错。
因此,通过解除ssl安全验证,如下所示:
git config --global http.sslVerify “false”
再执行git拷贝命令获取mediapipe
git clone https://github.com/google/mediapipe.git
执行过程如下所示:

7.安装OpenCV并修改MediaPipe中OpenCV的设置

下载并安装OpenCV,网址为:https://opencv.org/releases/
目前使用的OpenCV的版本是OpenCV 4.6.
编辑MediaPipe中的WORKSPACE文件中关于OpenCV构建目录的,修改为:
new_local_repository(
name = “windows_opencv”,
build_file = “@//third_party:opencv_windows.BUILD”,
path = “C:\\build”,
)

8.测试bazel构建MediaPipe应用

然后测试是否bazel构建MediaPipe是否成功。
从网站下载hello_world.cc文件,网址如下所示:https://github.com/google/mediapipe/blob/master/mediapipe/examples/desktop/hello_world/hello_world.cc
将hello_world.cc文件拷贝到mediapipe的example目录下,如下图所示:

进入mediapipe的安装目录,再执行
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH=“D://anaconda3//python.exe” mediapipe/examples/desktop/hello_world:hello_world --sandbox_debug

如下图所示:

这里–action_env PYTHON_BIN_PATH需要修改为自己本机上的python.exe所在的位置。
执行bazel构建命令时,可能一些关于tensorflow的依赖不能在网站上找到,会导致404错误。类似如下内容:

WARNING: Download from http://mirror.tensorflow.org/github.com/bazelbuild/rules_closure/archive/cf1e44edb908e9616030cc83d085989b8e6cd6df.tar.gz failed: class java.io.FileNotFoundException GET returned 404 Not Found
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/tensorflow/runtime/archive/8700849191dea2ca9c12a3d26ec41fac0814671b.tar.gz failed: class java.io.FileNotFoundException GET returned 404 Not Found

如果发生这样的问题,可以根据官方的建议增加VPN或代理来解决问题。根据参考文献4可以:
bazel --host_jvm_args “-DsocksProxyHost=192.168.0.112 -DsocksProxyPort=1080” run --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world:hello_world
构建成功后生成hello_world.exe文件,如下图所示:

运行hello_world.exe需要执行:

set set GLOG_logtostderr=1
hello_world.exe

运行结果如下图所示:

参考文献

1.MediaPipe https://google.github.io/mediapipe/

2.MSYS2 Software Distribution and Building Platform for Windows https://www.msys2.org/

3.Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略 https://bbs.huaweicloud.com/blogs/detail/255296

4.Error encountered during installation https://github.com/google/mediapipe/issues/581#issuecomment-610356857

技术笔记Android应用MediaPipe(一):Windows安装MediaPipe相关推荐

  1. windows安装TortoiseGit详细使用教程

    windows安装TortoiseGit详细使用教程[基础篇]_小飞牛的技术博客_51CTO博客windows安装TortoiseGit详细使用教程[基础篇],环境:win8.164bit安装准备:首 ...

  2. Windows 安装程序进程错误代码和错误信息列表

    错误代码 值 说明 --------------------------------------------------------------------------- ERROR_INSTALL_ ...

  3. easydarwin 安装_流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin-阿里云开发者社区...

    流媒体平台框架下载安装 Github下载 解压安装 选择Windows 安装平台的安装包(下载解压) 把解压生成的文件夹重命名放在本地磁盘,我这里测试放在E盘: 介绍其中的来个批处理文件: start ...

  4. Python3入门笔记(1) —— windows安装与运行

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  5. 简单易行的用windows系统虚拟苹果mac操作系统 mac下android环境搭建笔记(android studio)

    作者:韩梦飞沙 QQ:313134555 ios模拟器电脑版中文版(iPadian)下载 - 『精品软件区』 - 吾爱破解论坛 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52po ...

  6. Android SDK Windows安装教程图解

    Android SDK Windows安装教程图解 2011-8-29 17:16   husquan_KM 收藏 推荐 摘要: Google出的手机操作系统 Android 暴露了它的短期野心,免费 ...

  7. Android第一行代码学习思考笔记(碎片、广播、持久化技术和Android数据库)

    Android第一行代码学习思考笔记(碎片.广播.持久化技术和Android数据库 第四章 手机平板要兼顾--探究碎片 4.1碎片是什么(Fragment) 4.2碎片的使用方式 4.2.1碎片的简单 ...

  8. (个人笔记-无用勿喷)Windows软件包的安装与卸载

    Windows软件包的安装与卸载 windows安装软件的困惑 常见方式介绍 1 -- exe软件包 2 -- 微软官方 (2.1)自带应用商店 (2.2)Winget管理工具 3 -- 第三方包管理 ...

  9. 优秀博客链接(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM 深度/机器学习 AI opencv nlp)

    pudn 阿甘兄 前端 服务端 底层 移动端 大数据 云计算 AI 培训机构的课程差不多就这一套了 大数据 AI NLP 高等数学 LeetCode.<数据结构与算法之美>学习笔记.AI ...

最新文章

  1. 错误C4146的解决方法
  2. Intellij IDEA常用配置详解
  3. matlab plot errorbar,如何为MATLAB errorbar plot的点和垂直线设置不同的图例?
  4. C语言实验——数组逆序
  5. 输在学历的起跑线上?没关系,10本书助你技能爆表升职加薪
  6. fcm脑图像分割matlab,MATLAB程序:用FCM分割脑图像
  7. 在LINUX系统中安装KVM虚拟化
  8. Julia-整数和浮点数
  9. 用印审批移动办公用户手册
  10. 一张图囊括所有ASM优化投放知识点
  11. pandas中的窗口对象(窗口函数)
  12. 西班牙监管机构允许特定基金直接投资加密货币
  13. 机器学习复习之逻辑斯蒂回归以及决策树
  14. 基于一维卷积神经网络的滚动轴承故障识别
  15. 非 root 用户手动编译安装 GCC
  16. Exploit WRDS Cloud via Python
  17. Vagrant的安装和使用(附带安装Centos 7教程)
  18. 全排列与逆序数的组合
  19. Putty客户端配色方案
  20. 《破茧成蝶》读书笔记---用户体验

热门文章

  1. 应用宝苹果版_app苹果打包
  2. Systemverilog 打印格式
  3. Java打飞机小游戏(附完整源码)
  4. 支持防骚扰的iOS 10来了,网络电话成受益者
  5. java版我的世界和win10我的世界_Windows10版我的世界联机教程
  6. 大数据行业迎来监管风暴 产业重新洗牌
  7. 公告:CSDN Blog 将进一步加强对流量和非法文章的管理
  8. 计算机毕业设计ssm校园后台报修管理系统51b35系统+程序+源码+lw+远程部署
  9. TCAX中的所有ASS特效标签(常规+mod)写法
  10. 《北京的爱情故事》观后感