前言python
操做過程:c++
參考here,某些步驟會添加博主遇到的問題的解釋。windows
第一部分:caffe.binding庫的生成 1、安裝vs2015,所花時間較長,耐心等待。 2、解壓caffe-windows-ms 3、解壓thirdparty至windows/thirdparty/下 4、修改commonsetting,cpuonlybuild爲true,其餘全爲false 注意,只是在庫的屬性時候更改; 5、打開caffe.sln(忽略python,若是須要vs2015安裝其餘依賴項,則安裝),選擇debug/x64,編譯libcaffe後生成libcaffe.lib 生成libcaffe.lib的位置: .\MTCNN\caffe-windows-ms\Build\x64\Debug 6、修改caffe.binding爲dll編譯,同時在預編譯處理器中定義CAFFEBINDING_EXPORTS(定義DLL爲export,不然會出現連接不一致),編譯caffe.binding,生成caffe.binding.lib以及dll 用控制檯exe配置類型本身定義函數,並經過主函數調試, 而後能夠經過項目——屬性——配置屬性——常規——項目默認值——配置類型下, 選擇動態庫(.dll)選項 而後點擊生成---生成解決方案,會在工程的Debug目錄下生成一個DLL文件(dllTest.dll) 預編譯處理器便是預處理器中定義CAFFEBINDING_EXPORTS; 7、選擇release/x64,編譯libcaffe,生成libcaffe.lib 8、編譯caffe.binding生成caffe.binding.lib以及dll 第二部分:mtcnn對caffe.binding的調用測試 9、打開mtcnn的vs,同時打開cascadecnn.sln,跳過python,只用testcascadecnn(第二個工程) 目錄:.\MTCNN\MTCNN_face_detection_alignment-master\code\codes\vs 10、選擇debug/x64,屬性更改以下:vc++的包含目錄加入boost、hdf五、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; 11、預處理器中加入_CRT_SECURE_NO_WARNINGS 12、編譯testcascadecnn成功 十3、將缺乏的dll庫都加入x64/DEBUG文件夾中(全部的庫都在thirdparty/bins裏面) 十4、修改test.cpp裏面的參數:1)model_folder修改成現有的mtcnnv2的模型路徑,2)cascade裏面的0改成-1(表示要用cpu),3)image修改成本身的圖片路徑 十5、運行,生成結果 十6、選擇release/x64,相似第十步,不一樣之處改debug爲release,改opencv_world310d爲opencv_world310便可 十7、編譯testcascadecnn成功 附加庫目錄: .\MTCNN\caffe-windows-ms\windows\thirdparty\HDF5\lib 發現有其餘的PC沒有的目錄,查找附加庫目錄和附加依賴項,發現有之前殘留的配置,刪除便可; 十8、相似第十三步,不一樣之處相似第十六步 十9、運行,生成結果 最後結果: 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配置;測試
完ui