前言

MTCNN是级联卷积网络,原理基本上比较清晰,只是还缺少实战,看到一个CSDN上windows的实现过程,就拿来试试。

操作过程

参考here,某些步骤会添加博主遇到的问题的解释。

第一部分:caffe.binding库的生成
一、安装vs2015,所花时间较长,耐心等待。
二、解压caffe-windows-ms
三、解压thirdparty至windows/thirdparty/下
四、修改commonsetting,cpuonlybuild为true,其他全为false
注意,只是在库的属性时候更改;
五、打开caffe.sln(忽略python,如果需要vs2015安装其他依赖项,则安装),选择debug/x64,编译libcaffe后生成libcaffe.lib
生成libcaffe.lib的位置:
.\MTCNN\caffe-windows-ms\Build\x64\Debug 六、修改caffe.binding为dll编译,同时在预编译处理器中定义CAFFEBINDING_EXPORTS(定义DLL为export,否则会出现链接不一致),编译caffe.binding,生成caffe.binding.lib以及dll
用控制台exe配置类型自己定义函数,并通过主函数调试,
然后可以通过项目——属性——配置属性——常规——项目默认值——配置类型下,
选择动态库(.dll)选项
然后点击生成---生成解决方案,会在工程的Debug目录下生成一个DLL文件(dllTest.dll)
预编译处理器即是预处理器中定义CAFFEBINDING_EXPORTS;
七、选择release/x64,编译libcaffe,生成libcaffe.lib
八、编译caffe.binding生成caffe.binding.lib以及dll 第二部分:mtcnn对caffe.binding的调用测试
九、打开mtcnn的vs,同时打开cascadecnn.sln,跳过python,只用testcascadecnn(第二个工程)
目录:.\MTCNN\MTCNN_face_detection_alignment-master\code\codes\vs
十、选择debug/x64,属性更改如下:vc++的包含目录加入boost、hdf5、opencv(都在thirdparty中)和caffe.binding;库目录中加入opencv_world310d.lib的目录以及caffe.binding.lib的目录;附加依赖项中加入opencv_world310d.lib和caffe.binding.lib
包含目录caffe.binding: E:\code\MTCNN\caffe-windows-ms\windows\caffe.binding;
十一、预处理器中加入_CRT_SECURE_NO_WARNINGS
十二、编译testcascadecnn成功
十三、将缺少的dll库都加入x64/DEBUG文件夹中(所有的库都在thirdparty/bins里面)
十四、修改test.cpp里面的参数:)model_folder修改为现有的mtcnnv2的模型路径,)cascade里面的0改为-(表示要用cpu),)image修改为自己的图片路径
十五、运行,生成结果
十六、选择release/x64,类似第十步,不同之处改debug为release,改opencv_world310d为opencv_world310即可
十七、编译testcascadecnn成功
附加库目录: .\MTCNN\caffe-windows-ms\windows\thirdparty\HDF5\lib
发现有其他的PC没有的目录,查找附加库目录和附加依赖项,发现有以前残留的配置,删除即可;
十八、类似第十三步,不同之处类似第十六步
十九、运行,生成结果 最后结果:
,
detection time:.127ms////The first run is slow because it need to allocate memory.
===========================================================
detection time:.582ms

参考

1. MTCNN的windows-cpu配置

2. MTCNN_paper;

【计算机视觉】MTCNN的windows-cpu配置的更多相关文章

  1. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  2. caffe+vs2013+window10+GPU(CPU)配置

    参考:http://www.echojb.com/cuda/2017/03/15/350138.html https://www.zhihu.com/question/56111727 第一步:首先确 ...

  3. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  4. windows下配置apache+php环境

    PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...

  5. 在windows下面配置redis集群遇到的一些坑

    最近工作不忙,就决定学习一下redis.因为一直在windows下工作,不会linux,没办法就选择在windows下配置redis. windows下配置redis集群的文章有很多,比如:http: ...

  6. Windows服务器安装配置PHP7.0环境图文教程

    摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...

  7. YARN的内存和CPU配置

    时间 2015-06-05 00:00:00  JavaChen's Blog 原文  http://blog.javachen.com/2015/06/05/yarn-memory-and-cpu- ...

  8. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  9. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  10. Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置

    此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...

随机推荐

  1. linux下禁止root远程登录

    一.添加和root权限一样的用户 1. adduser admin passwd  admin (修改密码) 2.修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示 ...

  2. window open() 方法

    open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法 window.open(URL,name,specs,replace) 参数 说明 URL 可选.打开指定的页面的URL.如 ...

  3. Python+request 分模块存放接口,多接口共用参数URL、headers的抽离,添加日志打印等《三》

    主要介绍内容如下: 1.分模块存放接口 2.多接口共用参数URL.headers的抽离为配置文件 3.添加日志打印 4.一个py文件运行所有所测的接口 如上介绍内容的作用: 1.分模块存放接口:方便多 ...

  4. Maven 设置阿里镜像

    Maven 默认的中央仓库速度慢,可以考虑换成阿里的镜像.修改方式主要有两种. 1.针对所有项目修改中央仓库Maven 提供了全局配置文件 settings.xml 针对所有项目有效,位置是在安装目录 ...

  5. linux命令集合(二)

    yum源的配置 yum  得配置yum源,配置阿里云的 两个 yum源  ,阿里云的yum源中,会有 mariadb的软件包   阿里云的yum仓库中,mariadb版本如下 mariadb      ...

  6. BZOJ 2229 / Luogu P3329 [ZJOI2011]最小割 (分治最小割板题)

    题面 求所有点对的最小割中<=c的数量 分析 分治最小割板题 首先,注意这样一个事实:如果(X,Y)是某个s1-t1最小割,(Z,W)是某个s2-t2最小割,那么X∩Z.X∩W.Y∩Z.Y∩W这 ...

  7. 接口强制删除namespace 为Terminating的方法

    kubectl get ns qa01 -o json > qa01.json kubectl proxy --port=8081 curl -k -H "Content-Type: ...

  8. 题解 [ZJOI2010]基站选址

    题解 [ZJOI2010]基站选址 题面 解析 首先考虑一个暴力的DP, 设\(f[i][k]\)表示第\(k\)个基站设在第\(i\)个村庄,且不考虑后面的村庄的最小费用. 那么有\(f[i][k] ...

  9. CF917D Stranger Trees【矩阵树定理,高斯消元】

    题目链接:洛谷 题目大意:给定一个$n$个节点的树$T$,令$ans_k=\sum_{T'}[|T\cap T'|=k]$,即有$k$条边重合.输出$ans_0,ans_1,\ldots,ans_{n ...

  10. 前端逼死强迫症系列之javascript

    JavaScript 和Python.C#.Java.Ruby一样,都是一门独立的编程语言. 像python.C.Java等都需要解释器,学习它们的语法.而浏览器本身就是javascript的解释器. ...