Android MoveNet single human pose estimation by ncnn

Overview

ncnn_Android_MoveNet

Android MoveNet single human pose estimation by ncnn

this project is a ncnn Android demo for MoveNet, it depends on ncnn library and opencv.
https://github.com/Tencent/ncnn
https://github.com/nihui/opencv-mobile

model support:

1.movenet-singlepose-lightningv4(from tfhub)
2.movenet-singlepose-thunderv4(from tfhub)

how to build and run

step1

https://github.com/Tencent/ncnn/releases

  • Download ncnn-YYYYMMDD-android-vulkan.zip or build ncnn for android yourself
  • Extract ncnn-YYYYMMDD-android-vulkan.zip into app/src/main/jni and change the ncnn_DIR path to yours in app/src/main/jni/CMakeLists.txt

step2

https://github.com/nihui/opencv-mobile

  • Download opencv-mobile-XYZ-android.zip
  • Extract opencv-mobile-XYZ-android.zip into app/src/main/jni and change the OpenCV_DIR path to yours in app/src/main/jni/CMakeLists.txt

step3

  • Open this project with Android Studio, build it and enjoy!

result

reference:

https://github.com/nihui/ncnn-android-nanodet
https://tfhub.dev/google/movenet/singlepose/lightning/4
https://tfhub.dev/google/movenet/singlepose/thunder/4

Comments
  • The speed might not fast as the tflite version?

    The speed might not fast as the tflite version?

    Hi there, I used the lightning model and the after-treatment from this project and find the fps is about 20 and up to 25 which is not fast as the original tflite version. I'm not sure the reason, there's my doubt:

    1. the after-treatment cause more computing resources?
    2. there are some opt. in ncnn can be opened, such as vulkan?
    3. the model in ncnn is natively slower than tflite cuz the tflite model is also optimized? Could you give some enlightenment about these? Thx
    opened by FreedoomG 2
  • gpu cpu两种模式没差别

    gpu cpu两种模式没差别

    cpu占用基本一眼,帧率基本一样 设备 amlogic 311D PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ ARGS 20344 u0_a55 10 -10 1.2G 207M 104M S 284 10.3 32:20.16 com.tencent.ncnnbodypose

    20344 u0_a55 10 -10 1.2G 209M 104M S 272 10.4 33:09.35 com.tencent.ncnnbodypose

    opened by lovehuanhuan 0
  • issue about the output of the model

    issue about the output of the model

    hi I found that there are 4 outputs of lighting.param and thunder.param which are regress, offset, heatmap and center. could you give some advice of how to use these outputs to generate the keypoints? cuz I cannot find the code here. Thx!

    opened by FreedoomG 0
  • @feigechuanshu can you make a face recognition app using NCNN? maybe MobileFaceNet?

    @feigechuanshu can you make a face recognition app using NCNN? maybe MobileFaceNet?

    could you bring something like this to android ? https://github.com/honghuCode/mobileFacenet-ncnn

    for real-time face recognition on live video. With re-training capabilities, in which user can retrain any given face name with additional data.

    opened by GeorvityLabs 0
  • 横屏时陀螺仪不起作用导致识别不准

    横屏时陀螺仪不起作用导致识别不准

    机型:红米K30 NDK版本:android-ndk-r21e camke版本:3.10.2-win64-x64

    ALooper_pollAll的返回值一直都是-3,进不去下面的陀螺仪事件里去,导致横屏时识别效果很差,因为图像没旋转的缘故,不知道为什么。

    image

    但是这里无视这个错误继续进入那个if分支的话好像也没啥问题,横屏时陀螺仪也能正常工作。

    opened by Yamilemon 0
  • How to hide the current camera screen?

    How to hide the current camera screen?

    Hello,

    I want to implement the title function, and pass the value to the U3D painting after obtaining the detection result. How can I hide my current display screen?

    opened by jia0511 1
  • model convert

    model convert

    thank you for this nice work.Now I want to convert the tensorflow hub's official movenet model to ncnn. My convert steps as follows: 1、convert pb to onnx; 2、optimize and simplifier onnx model; 3、convert onnx to ncnn; However there some ops ncnn dont support. Error msg as follows: Cast not supported yet!

    to=1

    Unsupported split axis ! ArgMax not supported yet!

    axis=1

    keepdims=0

    Cast not supported yet!

    to=6

    Cast not supported yet!

    to=1

    Cast not supported yet!

    to=7

    GatherND not supported yet! Cast not supported yet!

    to=1

    ArgMax not supported yet!

    axis=1

    keepdims=0

    Cast not supported yet!

    to=6

    Cast not supported yet!

    to=1

    Cast not supported yet!

    to=7

    GatherND not supported yet! Unsupported unsqueeze axes ! Unsupported unsqueeze axes ! Cast not supported yet!

    to=7

    GatherND not supported yet! GatherND not supported yet! Unsupported unsqueeze axes ! Unsupported unsqueeze axes ! Cast not supported yet!

    to=1

    Unsupported unsqueeze axes ! It will be very nice if you can tell me how do you solve this problem, thank you!

    opened by ccslience 1
  • Convert .pt to .bin and .param format

    Convert .pt to .bin and .param format

    I trained my model yolov5 for object detection and now i want to deploy it on android app. Before I tried covert to .tflite format but slowly. I saw in assets folder the format you used is .bin and .param format. What code did you use to convert my model to format .bin and .param ?

    opened by Houangnt 0
Owner
FeiGeChuanShu
FeiGeChuanShu
[] Easily integrate Camera features into your Android app

Deprecated CameraView is deprecated. No more development will be taking place. Use Jetpack CameraX instead. CameraView This is not an official Google

Google 4.8k Dec 29, 2022
A solution for streaming H.264, H.263, AMR, AAC using RTP on Android

Introduction What it does libstreaming is an API that allows you, with only a few lines of code, to stream the camera and/or microphone of an android

Simon 3.3k Dec 30, 2022
[] FFmpeg build for android random architectures with example jni

AndroidFFmpegLibrary This project aims to create working library providing playing video files in android via ffmpeg libraries. With some effort and N

AppUnite Sp. z o.o. Spk. 1k Mar 1, 2021
a system for building custom ffmpeg binaries for Android

This is a new android-ffmpeg project since it seems there were so many different ways of doing it, it was confusing. So here is my clean, easily chan

Guardian Project 967 Nov 12, 2022
Android Java wrapper around ffmpeg command line binary

FFMPEG Library for Android This project is a Java wrapper around an ffmpeg command line binary for use in Android applications. It depends on the andr

Guardian Project 555 Dec 5, 2022
MJPEG video streaming on Android

ipcam-view Android MJPEG video streaming made simple! A wrapper library around the well known SimpleMjpegView and android-camera-axis projects. If you

null 359 Jan 6, 2023
script(s) to build ffmpeg for android, including support for RTMP (and OpenSSL)

android-ffmpeg-with-rtmp This repository contains script(s) to build ffmpeg for android with RTMP (and OpenSSL) support. Instructions Install the Andr

cine.io 234 Dec 28, 2022
Script and Instructions for building FFmpeg for Android

FFmpeg-Android Herein lies scripts and instructions for compiling FFmpeg for Android with RTMP support. Much thanks to Chris Ballinger and Liu Feipeng

David Brodsky 80 Dec 13, 2022
Convert audio files inside your Android app easily. Supported formats: AAC, MP3, M4A, WMA, WAV and FLAC.

AndroidAudioConverter Convert audio files inside your Android app easily. This is a wrapper of FFmpeg-Android-Java lib. Supported formats: AAC MP3 M4A

Adriel Café 1.3k Jan 5, 2023
A mod of the Twitch Android Mobile App adding BetterTTV and FrankerFaceZ emotes

A mod of the Twitch Android Mobile App adding BetterTTV and FrankerFaceZ emotes

null 377 Jan 2, 2023
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

ijkplayer Platform Build Status Android iOS Video player based on ffplay Download Android: Gradle # required allprojects { repositories {

bilibili 28.9k May 26, 2021
android video player base on ijkplayer

GiraffePlayer NOTE:this project is no longer update please using improved GiraffePlayer2 ,for flutter please visit GPlayer out of the box android vide

tom 683 Nov 14, 2022
Android human matting demo infer by ncnn

ncnn_Android_modnet Android human matting demo infer by ncnn the model from MODNet: Trimap-Free Portrait Matting in Real Time support model 1.mobilene

FeiGeChuanShu 43 Jan 4, 2023
Age + Gender Estimation on Android - with TensorFlow Lite

Age + Gender Estimation in Android with TensorFlow Contents Python project Google Colab Notebooks Dataset Model ( Vanilla vs. Lite ) Android project O

Shubham Panchal 32 Dec 8, 2022
Android BlazePose demo by ncnn

ncnn_Android_BlazePose Android BlazePose demo by ncnn this project is a ncnn Android demo for BlazePose, it depends on ncnn library and opencv. https:

FeiGeChuanShu 53 Nov 16, 2022
CalEF (Calendar Entry Formatter) : Select an entry in Android-Kalender and send/share the entry's content as human readable text.

CalEF (Calendar Entry Formatter) Select an entry in Android-Kalender and send/share the entry's content as human readable text. Usually calendar entri

k3b 6 Aug 17, 2022
An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert

Swift Mask Real time face mask detection Brief overview Swift Mask scans images or human faces in real time and detects whether the mask is worn or no

Giorgio Cantoni 4 Sep 22, 2022
Measures human heart rate using camera and flash light.

Heart-Rate-Ometer Introduction Measures human heart rate using camera and flash light. How-it-works https://github.com/phishman3579/android-heart-rate

Jan Rabe 81 Jun 29, 2022
A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.

Measure App A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted o

ACM Student Chapter, PESU ECC 1 Oct 15, 2021
The backend of HumLib - The Human Library in Computer Science

humlib-be Backend for HumLib - The Human Library in Computer Science Development workflow We use GitHub flow as git branching strategy. It is based on

null 2 May 22, 2022