MediaPipe在Android平台上构建AAR

需要在实时音视频中实现虚拟背景,或者在人像上进行贴纸。希望在Google开源的MediaPipe中找到解决方案,本文章介绍MediaPipe在MacOS中的环境搭建,以及编译AAR。后续会补充机械学习相关在Android平台上的使用

环境搭建

  • 获取源码https://github.com/google/mediapipe.git
  • 安装bazel brew install bazel
  • 科学上网

编译脚本

  1. 创建相关文件夹、BUILD文件
cd mediapipe/examples/android/src/java/com/google/mediapipe/apps/
mkdir buid_aar && cd buid_aar
touch BUILD
  1. 编写编译脚本,指定需要编译的模型和计算单元,输出的文件名
load("//mediapipe/java/com/google/mediapipe:mediapipe_aar.bzl", "mediapipe_aar")
mediapipe_aar(
name = "mediapipe_portrait_segmentation",
calculators = ["//mediapipe/graphs/portrait_segmentation:mobile_calculators"],
)
  1. 指定需要的cpu架构,执行编译
bazel build --cxxopt='--std=c++14' -c opt --fat_apk_cpu=arm64-v8a,armeabi-v7a examples/android/src/java/com/google/mediapipe/apps/buid_aar:mediapipe_portrait_segmentation --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --verbose_failures 

生成的aar路径: bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/buid_aar/mediapipe_portrait_segmentation.aar
  1. 生成Mediapipe二进制图,
bazel build -c opt mediapipe/graphs/portrait_segmentation:portrait_segmentation_mobile_gpu_binary_graph
作者

8MilesRD

发布于

2021-04-28

更新于

2021-04-29

许可协议

评论