1. 程式人生 > >caffe openpose/Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields配置

caffe openpose/Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields配置

Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 是CVPR2017的一篇論文,作者稱是世界上第一個基於深度學習的實時多人二維姿態估計。

優酷演示地址連結

前幾天作者公佈了windows下的程式碼,下面來說說如何配置:

英文配置地址可以參考作者的github:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md#windows

首先你得裝好CUDA8,cudnn5.1,vs2015. 其他版本都不行,只有vs2015可以裝

作者說要下載Python 2.4.13 64 bits,其實我的anaconda2也可以(2.7的那個版本)

cmake,ninja(我下載了,但是貌似沒用到)

下載windows版的 openpose   https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/windows

並解壓,我放在D盤。下載model ,作者給了2個,

http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/coco/pose_iter_440000.caffemodel  (精度高,速度較慢)下載後放到 D:\openpose-windows\models\pose\coco下


http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/mpi/pose_iter_160000.caffemodel(速度快,但是精度低)

下載後放到D:\openpose-windows\models\pose\mpi\下

開啟D:\openpose-windows\3rdparty\caffe\caffe-windows\scripts 下的build_win.cmd,開始編譯。

提示出錯hash 什麼不匹配的,原因是網的問題,https://github-production-release-asset-2e65be.s3.amazonaws.com/39632178/8053cdd0-0068-11e7-8b60-c46f580c47e0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20170531%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170531T072412Z&X-Amz-Expires=300&X-Amz-Signature=1860d1ab5ee6598f6a93e6230d1b74a09200e95e22d72021043f5176b9d73de3&X-Amz-SignedHeaders=host&actor_id=28419338&response-content-disposition=attachment%3B%20filename%3Dlibraries_v140_x64_py27_1.1.0.tar.bz2&response-content-type=application%2Foctet-stream 下載後複製到D:\openpose-windows\3rdparty\caffe\dependencies\download下。再編譯,

等待半個小時,就會編譯完畢。(若出現no c compiler could be found 請參考我另一篇博文)

接著 開啟 D:\openpose-windows\windows_project\OpenPose.sln   右鍵點選OpenPoseDemo 生成,此時會報錯。提示 找不到D:\openpose-windows\3rdparty\lib\Release  caffe.lib 。其實它在 D:\openpose-windows\3rdparty\caffe\lib\Release下,路徑的問題。

把release下的的兩個檔案 放到D:\openpose-windows\3rdparty\lib\Release下 就OK 了。  再編譯 又提示錯誤,說找不到pythoh27(其實也可以在build_win.cmd下 把python的路徑改成你自己的python路徑,這樣這裡就不會報錯。)右鍵OpenPoseDemo,屬性,聯結器,常規,附加庫目錄,把你的python路徑加進去,我為了防止出錯,把2個路徑都加了。


再生成,就成功了。順便再生成一下openpose(貌似沒什麼東西生成)

此時你會在D:\openpose-windows\windows_project\x64\Release下找到OpenPoseDemo.exe。但是你雙擊它會提示你缺少各種東西。

作者說把{openpose_folder}\3rdparty\caffe\caffe-windows\build\install\bin\ 下的所有DLL檔案複製到{openpose_folder}\windows_project\x64\Release.下

但是我沒有找到這個路徑。我把D:\openpose-windows\3rdparty\caffe\caffe-windows\scripts\build\tools\Release下的所有DLL檔案複製過去。

再把{}openpose_folder}\3rdparty\caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\bin\下的

opencv_ffmpeg310_64.dllopencv_video310.dll 和opencv_videoio310.複製到{openpose_folder}\windows_project\x64\Release下。

此時開啟OpenPoseDemo.exe,發現還是缺少一些東西,我在D:\openpose-windows 下搜尋缺少的檔案,並複製到{openpose_folder}\windows_project\x64\Release下。

此時,發現oppenpose可以打開了,但是提示找不到model,其實是路徑的問題,開啟OpenPose.sln ,雙擊OpenPoseDemo下的openpose.cpp.

在第66行,手動設定models的絕對路徑,比如我的是這個:

儲存,並再次編譯。發現oppenpose終於可以打開了!

有些同學可能會提示報錯 out of memory (比如說我),其實就是視訊記憶體不夠,爆視訊記憶體了(1G GT650M傷不起啊大哭

開啟OpenPose.sln ,雙擊OpenPoseDemo下的openpose.cpp.

在第67行、68行 修改網路的大小,我設定成如上的大小,1G視訊記憶體也可以跑了。

大功告成!

如果想在視訊下跑,可以在cmd下使用如下命令:windows_project\x64\Release\OpenPoseDemo.exe --video examples/media/video.avi

如果是圖片的話bin\OpenPoseDemo.exe --image_dir examples/media/