Win端搭建基于ncnn框架的MTCNN人脸检测

前言

ncnn是腾讯优图在七月份开源的,一款手机端极致优化的前向计算框架;开源有几个月了,仍然是开源里的扛把子(给nihui大佬递茶)。之前也测试移植过,这次主要做个整理,鉴于很多人只想在window下搭建并调试,本次主要基于MTCNN的人脸检测例子,进行一次该框架的搭建,构建流程主要采用脚本编写,主要简单演示下流程操作;附:项目地址链接


主要环境:

  • git
  • cmake
  • vs2015
  • android studio

PC端调试:

使用windows的pc端调试,繁琐的是依赖库的生成和引用。依赖库中Protobuf是caffe的模型序列化存储的规则库,将caffe框架转ncnn框架模型用到,另外opencv库主要用于范例的图像读取操作,可自己配置,或直接使用个人在3rdparty文件夹下编译好的库;

  1. 下载源码并更新子模块,protobuf源码库比较大,更新会比较慢
git clone https://github.com/moli232777144/mtcnn_ncnn.git
git submodule update --ini
  1. 编译protobuf
    调用tools下的protobuf脚本编译:
cd ../3rdparty/src/protobuf/cmake
mkdir build
cd build
cmake .. -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -G "Visual Studio 14 2015 Win64"
pause

vs2015打开./3rdparty/src/protobuf/cmake/build下的protobuf.sln工程,编译Debug及Release版本;

调用tools下的copyProtobuf脚本,生成protobuf的依赖库到第三方公共文件夹3rdparty下。

  1. 编译ncnn

修改./3rdparty/src/ncnn目录下的CMakeLists.txt中的add_definitions相关注释,修改后结果如下:

add_definitions(-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE)
#add_definitions(-Wall -Wextra)
#add_definitions(-fPIC)
#add_definitions(-Ofast)
#add_definitions(-ffast-math)
#add_definitions(-march=native)
#add_definitions(-flto)
#add_definitions(-fvisibility=hidden -fvisibility-inlines-hidden)

因为 VS2015 只支持 openmp 2.0,所以修改 src/layer/convolution_depthwise.cpp


#pragma omp parallel for collapse(2)

去掉 collapse(2)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值