mtcnn人脸检测_#RK3399Pro 移植Tencent的ncnn深度学习框架和mtcnn人脸检测算法

485e9c61e1a069b6f431fda8ead96999.png

320 * 240 的检测结果

## 首先移植ncnn框架

### 一、首先下载ncnn的源码包

git clone https://github.com/Tencent/ncnn.git

### 二、编译ncnn源码

mkdir -p build-aarch64-linux-gnu

pushd build-aarch64-linux-gnu

cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..

make -j4

make install

popd

注意:不同的工具链需要修改../toolchains/aarch64-linux-gnu.toolchain.cmake这个文件里面的toolchains

### 三、测试

1、进入build-aarch64-linux-gnu路径下

2、进入examples路径下有编译好的测试应用

3、复制ncnn的网络模型参数到当前文件下 cp ../../examples/squeezenet_v1.1.* .

4、执行:./squeezenet ../../images/32-ncnn.png

5、结果:

747 = 0.140954

446 = 0.098634

531 = 0.063560

6、安装成功

### 四、mtcnn网络搭建

```cmake

1、源码clone:git clone https://github.com/imistyrain/MTCNN.git

2、然后进入ncnn目录

3、修改CMakelists.txt在前面添加

FIND_PACKAGE( OpenMP REQUIRED)

if(OPENMP_FOUND)

message("OPENMP FOUND")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")

endif()

4、在尾部添加

target_link_libraries(${DEMO_NAME} opencv_highgui opencv_videoio opencv_imgcodecs opencv_video opencv_photo opencv_imgproc opencv_core)

5、修改完成如下:

FIND_PACKAGE( OpenMP REQUIRED)

if(OPENMP_FOUND)

message("OPENMP FOUND")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")

endif()

AUX_SOURCE_DIRECTORY(./ SRC_FILES)

include_directories("/usr/local/include/ncnn")

link_directories("/usr/local/lib")

set(DEMO_NAME ntnn)

add_executable(${DEMO_NAME} ${SRC_FILES})

target_link_libraries(${DEMO_NAME} ${OpenCV_LIBS} )

target_link_libraries(${DEMO_NAME} ncnn)

target_link_libraries(${DEMO_NAME} opencv_highgui opencv_videoio opencv_imgcodecs opencv_video opencv_photo opencv_imgproc opencv_core)

```

```c++

6、然后执行修改main.cpp这个文件

如下

#include

#include

#include

#include

#include

#include

#include

#include "net.h"

#include "platform.h"

#include "mtcnn.h"

#define MAXFACEOPEN 0

```

7、修改完成后,然后新建build文件夹

8、然后进入build文件夹,执行cmake .. && make

9、测试

我使用的是480 * 640的摄像头,无人脸的时候耗时在500ms,有人脸的耗时在1s多点

使用240 * 320的裁剪后图片,无人脸耗时有波动在:10ms ~ 400ms之间。有人脸大概耗时500ms

10、后续待优化

aa46392ebbc37c526c1d72eef742ffd5.png

花费时间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值