天天看點

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工程。

  1. Opencv和mnn的配置

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

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

複制OpenCV-android-sdk中的include檔案夾放入建立的android工程中的includes檔案夾中,mnn同理。

android小項目----基于mnn的mtcnn人臉檢測
複制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

android小項目----基于mnn的mtcnn人臉檢測

2.關于mtcnn檢測代碼

首先我們把p/r/o三個caffe模型轉為mnn模型,然後初始化模型:

android小項目----基于mnn的mtcnn人臉檢測

其他過程我就不詳細介紹了。

我們通過cmakelists生成so,在Java中調用。

3.實驗結果

android小項目----基于mnn的mtcnn人臉檢測