Windows下cmake編譯caffe,實現純C++版本MTCNN人臉檢測和關鍵點定位

2017.5.28 發現 caffe官方windows版本已經不提供vs工程文件了,要用cmake編譯生成sln文件。詳細編譯調試過程如下:

 

一、開發環境要求:

        Windows 7/1064系統Visual Studio 2013以上版本,推薦使用VS2015,安anaconda2.4或以上版本。

 

二、下載caffe windows版本源碼,生成vs工程

項目地址: https://github.com/BVLC/caffe

        最好用git clone下載源碼(直接下載的.zip文件不全,有時編譯會出現問題branch 選擇windows


       cmake 配置根目錄下的cmakelists.txt,即where is the source code填入cmakelists.txt所在目錄(即caffe根目錄:E:/caffe/windowswhere to build the binaries填入根目錄下的一個新建目錄,比如E:/caffe/windows/windows。

       然後configure, 提示要下載libraries_v140_x64_py27_1.1.0.tar.bz2,根據vs版本不同,文件名可能不同。下載通常很慢,建議用下載工具直接下載。在caffe根目錄下用notepad搜索下載的提示(在caffe/cmake/WindowsDownloadPrebuiltDependencies.cmake,找到下載地址,https://github.com/willyd/caffe-

builder/releases/download/v1.1.0/libraries_v120_x64_py27_1.1.0.tar.bz2

 

https://github.com/willyd/caffe-

builder/releases/download/v1.1.0/libraries_v140_x64_py27_1.1.0.tar.bz2

       下載後複製到cmake提示的目錄下,替換裏面相對應的文件,通常是類似這樣的目錄 C:\Users\yourname\ .caffe\dependencies\download 。再點擊configure

       如果提示atlas錯誤,把BLAS 選項改爲Open,意思是用OpenBlas第一次使用,建議勾選cpu_only。如果有GPU並安裝cuda,則可以不勾選。然後點擊generate編譯成功。

 

三、打開生成的caffe.sln文件,編譯工程。

        編譯tools目錄下的某個工程(例如caffe.binextract_features等)上右鍵,設置爲啓動項目,編譯ReleaseDebug版本,然後生成運行(ctrl+f5),如果編譯成功,則工程通過編譯。

        需要注意,caffe.bin等工程依賴項包括:caffecaffeprotoZERO_CHECK三個依賴項生成的庫,所以在編譯caffe.bin工程的時候會把依賴項也編譯了。

       可以運行,則說明已經編譯好了。

 

四、添加C++版本MTCNN人臉檢測和關鍵點定位工程

項目地址:https://github.com/foreverYoungGitHub/MTCNN

       通過觀察我們發現,caffe.binextract_features工程的依賴項都相同,所以我考慮在caffe.bin工程的基礎上,直接複製原來的工程替換相應的頭文件,源文件,然後編譯。(我自己新建了工程,然後修改裏面的參數,編譯經常出現問題,不如複製解決方案自帶的工程方便)

    在caffe/windows/tools/目錄下,複製extract_features.vcxproj工程文件,重命名爲mtcnn2.vcxproj工程,在caffe解決方案中tools裏面右擊添加現有mtcnn2.vcxproj工程項目(在解決方案中工程名可能還沒改,重命名即可),移除原來的源文件,頭文件;添加mtcnnmain.cppMTCNN.cppMTCNN.h三個文件,編譯DebugRelease版本可以編程成功。修改caffemodelprotobuf文件路徑後就可以進行人臉檢測和關鍵點定位了。

        插上攝像頭,運行後效果如下圖所示:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章