MediaPipe在Android端的接入手跟踪hand tracking gpu

完整Demo下载地址

  • 参考的文章
    Mediapipe框架学习之三——构建 MediaPipe 的 Android aar 包
    Mediapipe框架在Android上的使用
    写一个Flutter手势追踪插件
    Flutter 手势识别(GPU)
    mediapipemultihandstrackingapp
    官方 mediapipe_multi_hands_tracking_aar_example

  • 注意点

In order to use MediaPipe on earlier Android versions, MediaPipe needs to switch
to a lower Android API level. You can achieve this by specifying `api_level =
$YOUR_INTENDED_API_LEVEL` in android_ndk_repository() and/or
android_sdk_repository() in the
[`WORKSPACE`](https://github.com/google/mediapipe/blob/master/WORKSPACE) file.
Note: To reduce the binary size, consider appending `--linkopt="-s"` to the
    command below to strip symbols.

用的版本是V0.8.2, 之前的版本内存管理不完善,在低端机上使用一段时间容易Crash.

  • 主要步骤:
  1. 进入目录
    cd /Users/xxx/StudioProjects/others/mediapipe-0.8.2
  2. 编译
bazel build -c opt --fat_apk_cpu=arm64-v8a,armeabi-v7a mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example:mp_multi_hand_tracking_082.aar --linkopt="-s"
  1. 拷贝aar
cp bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example/mp_multi_hand_tracking_082.aar.aar /Users/xxx/StudioProjects/others/mediapipe-0.8.2/mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example/mp_multi_hand_tracking_082.aar.aar 
  1. 生成binarypb文件
    bazel build -c opt //mediapipe/graphs/hand_tracking:hand_tracking_mobile_gpu_binary_graph
  2. 拷贝binarypb文件
cp bazel-bin/mediapipe/graphs/hand_tracking/hand_tracking_mobile_gpu.binarypb /Users/xxx/Desktop/hand_tracking_mobile_gpu.binarypb
  1. 拷贝其他文件
    参考
    mediapipe-0.8.2/mediapipe/examples/android/src/java/com/google/mediapipe/apps/handtrackinggpu/BUILD
    里的assets清单,拷贝
"//mediapipe/graphs/hand_tracking:hand_tracking_mobile_gpu.binarypb",
"//mediapipe/modules/hand_landmark:handedness.txt",
"//mediapipe/modules/hand_landmark:hand_landmark.tflite",
"//mediapipe/modules/palm_detection:palm_detection.tflite",

到asset文件夹

  1. 配置Manifest
       
       
       
       
       
  1. 完整Demo下载地址
    我在索尼手机上测试此Demo,发现启动会黑屏,但点击home键后返回就好了。

Tip:
在线看模型的网址:https://netron.app/

你可能感兴趣的:(MediaPipe在Android端的接入手跟踪hand tracking gpu)