zoukankan      html  css  js  c++  java
  • 【计算机视觉】MTCNN的windows-cpu配置

    前言

    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的位置:
    .MTCNNcaffe-windows-msBuildx64Debug
    
    六、修改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(第二个工程)
    目录:.MTCNNMTCNN_face_detection_alignment-mastercodecodesvs
    十、选择debug/x64,属性更改如下:vc++的包含目录加入boost、hdf5、opencv(都在thirdparty中)和caffe.binding;库目录中加入opencv_world310d.lib的目录以及caffe.binding.lib的目录;附加依赖项中加入opencv_world310d.lib和caffe.binding.lib
    包含目录caffe.binding: E:codeMTCNNcaffe-windows-mswindowscaffe.binding;
    十一、预处理器中加入_CRT_SECURE_NO_WARNINGS
    十二、编译testcascadecnn成功
    十三、将缺少的dll库都加入x64/DEBUG文件夹中(所有的库都在thirdparty/bins里面)
    十四、修改test.cpp里面的参数:1)model_folder修改为现有的mtcnnv2的模型路径,2)cascade里面的0改为-1(表示要用cpu),3)image修改为自己的图片路径
    十五、运行,生成结果
    十六、选择release/x64,类似第十步,不同之处改debug为release,改opencv_world310d为opencv_world310即可
    十七、编译testcascadecnn成功
    附加库目录: .MTCNNcaffe-windows-mswindows	hirdpartyHDF5lib
    发现有其他的PC没有的目录,查找附加库目录和附加依赖项,发现有以前残留的配置,删除即可;
    十八、类似第十三步,不同之处类似第十六步
    十九、运行,生成结果
    
    最后结果:
    450,431
    detection time:998.127ms////The first run is slow because it need to allocate memory.
    ===========================================================
    detection time:129.582ms

    参考

    1. MTCNN的windows-cpu配置

    2. MTCNN_paper;

  • 相关阅读:
    设计模式-简单工厂模式、工厂模式、抽象工厂模式-(创建型模式)
    设计模式-类间关系
    设计模式-六大基本原则
    设计模式-总起
    [转载]常见的移动端H5页面开发遇到的坑和解决办法
    [转载]Angular4 组件通讯方法大全
    【angular5项目积累总结】文件下载
    【转载】Vue 2.x 实战之后台管理系统开发(二)
    [转载]Vue 2.x 实战之后台管理系统开发(一)
    WordPress翻译中 __()、_e()、_x、_ex 和 _n 的用法及区别
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/10906159.html
Copyright © 2011-2022 走看看