MTCNN移植java_android小项目----基于mnn的mtcnn人脸检测

阿里巴巴MNN框架

https://github.com/alibaba/MNN

项目代码

https://github.com/Danicaai/android-mnn

一. 简介

Android studio + windows

mnn是阿里提出的一个轻量级的深度学习框架,本人在mnn的框架下,将mtcnn移植到了android设备端。

二.项目介绍

首先确保电脑上已经安装好了Android studio。新建android工程。

Opencv和mnn的配置

OpenCV-android-sdk:https://opencv.org/releases.html

Mnn:https://github.com/alibaba/MNN

复制OpenCV-android-sdk中的include文件夹放入新建的android工程中的includes文件夹中,mnn同理。

MTCNN移植java_android小项目----基于mnn的mtcnn人脸检测_第1张图片

复制OpenCV-android-sdk中的动态链接库libopencv_java3.so放入libs/armeabi-v7a/中(其中armeabi-v7a 是每一个CPU架构对应的ABI,除此之外还有armeabi, x86,mips,arm64- v8a,mips64,x86_64,关于它们的区别,大家可以自己百度看看)。同时也把mnn编译好的so放入这个目录下。

最后在工程cmakelists中导入opencv和mnn

MTCNN移植java_android小项目----基于mnn的mtcnn人脸检测_第2张图片

2.关于mtcnn检测代码

首先我们把p/r/o三个caffe模型转为mnn模型,然后初始化模型:

5f5f57ef5aa114f78c7419ba817e53e8.png

其他过程我就不详细介绍了。

我们通过cmakelists生成so,在Java中调用。

3.实验结果

MTCNN移植java_android小项目----基于mnn的mtcnn人脸检测_第3张图片

你可能感兴趣的:(MTCNN移植java)