MediaPipe的编译与测试

MediaPipe是谷歌开源的多媒体机器学习框架,里面包含了很多例如姿态、人脸检测、虹膜等各种各样的模型以及机器学习算法。用于构建跨平台多模态应用的ML管道的框架。其包括快速ML推理、经典计算机视觉。核心框架由 C++ 实现,并提供 Java 以及 Objective C 等语言的支持。MediaPipe 的主要概念包括数据包(Packet)、数据流(Stream)、计算单元(Calculator)、图(Graph)以及子图(Subgraph)。数据包是最基础的数据单位,一个数据包代表了在某一特定时间节点的数据,例如一帧图像或一小段音频信号;数据流是由按时间顺序升序排列的多个数据包组成,一个数据流的某一特定时间戳(Timestamp)只允许至多一个数据包的存在;而数据流则是在多个计算单元构成的图中流动。MediaPipe 图是有向的——数据包从数据源(Source Calculator或者 Graph Input Stream)流入图直至在汇聚结点(Sink Calculator 或者 Graph Output Stream) 离开。

一、Ubuntu下配置MediaPipe
1、环境配置
Python >= 3.9.0
Bazel >= 3.7.2, (< 4.0.0 for iOS)
GCC/G++ >= 8.0.0 (Linux, macOS)
NuGet
jdk安装(源码安装):ubuntu18 安装jdk11 (jdk-11.0.9_linux-x64_bin.deb)
OpenCV3 (最好OpenCV3,安装OpenCV4编译C++报错)
(1)OpenCV3安装:
cd mediapipe-master
chmod +x setup_opencv.sh
./setup_opencv.sh
(2) 安装MediaPipe所需依赖库

pip --default-timeout=1000 install -i requirements.txt

(3) Bazel下载与安装
Bazel下载地址
Bazel3.7.2下载地址
Bazel 安装:

chmod a+x bazel-3.7.2-installer-linux-x86_64.sh
./bazel-3.7.2-installer-linux-x86_64.sh --user
 echo 'export PATH="/home/xx/.bazel/bin/:$PATH"' >> ~/.bashrc
 source ~/.bashrc
 bazel --version

(4)Python3.9.1安装
ubuntu 16.04 编译安装 python3.9
Python3.9.1 make过程中报错:fatal error: ffi.h: No such file or directory
在这里插入图片描述
该错误是因为缺少ffi库的原因,解决方法:

sudo apt-get install libffi-dev

安装完成后继续make,问题解决~
(5) 安装SDK/NDK以及配置相应的环境变量
-> cd到mediapipe-master文件夹下,执行命令:

chmod +x ./setup_android_sdk_and_ndk.sh
bash ./setup_android_sdk_and_ndk.sh ~/Android/Sdk ~/Android/Ndk r18b

->配置环境变量
一次性操作,关闭终端后需要重新进行配置

export ANDROID_HOME=/home/admin1/Android/Sdk
export ANDROID_NDK_HOME=/home/admin1/Android/Ndk/android-ndk-r18b

永久配置全局环境变量:

sudo gedit /etc/profile
## 在profile最下方添加:
export ANDROID_HOME=/home/admin1/Android/Sdk
export ANDROID_NDK_HOME=
  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
交叉编译是指将源代码从一种计算机架构编译成另一种不同的计算机架构的过程。在嵌入式系统和跨平台开发中,交叉编译是一项重要的工作。下面我将介绍如何安装和测试交叉编译环境。 1. 安装交叉编译工具链 交叉编译工具链是一组工具,包括编译器、链接器、调试器等,用于将源代码编译成目标平台上的可执行文件。在 Linux 系统上,可以使用 apt-get 或者 yum 等包管理器安装交叉编译工具链。例如,如果要编译 ARM 架构的程序,可以使用以下命令安装 arm-linux-gnueabi 工具链: ``` sudo apt-get install gcc-arm-linux-gnueabi ``` 2. 编写交叉编译程序 编写一个简单的 C 语言程序,例如 hello.c,内容如下: ``` #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } ``` 3. 编译交叉编译程序 使用以下命令编译 hello.c 程序: ``` arm-linux-gnueabi-gcc hello.c -o hello ``` 此时,会在当前目录下生成名为 hello 的可执行文件。 4. 将可执行文件复制到目标平台上 将生成的可执行文件复制到目标平台上,例如使用 scp 命令: ``` scp hello [email protected]:/home/user ``` 其中,user 是目标平台上的用户名,192.168.1.100 是目标平台的 IP 地址,/home/user 是目标平台上的目录。 5. 在目标平台上运行可执行文件 在目标平台上运行可执行文件,例如执行以下命令: ``` ./hello ``` 此时,会在终端上输出 "Hello, world!"。这表明交叉编译环境已经安装成功,并且可用于编译和运行程序。 总结 以上就是交叉编译环境安装和测试的步骤。交叉编译是一项非常重要的工作,它可以让我们在不同的平台上开发和运行程序。在实际开发中,需要根据不同的需求选择不同的交叉编译工具链,并且需要在目标平台上测试程序是否能够正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linda Fan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值