【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程

版權聲明:歡迎大家一起交流,有錯誤謝謝指正。

【我的電腦配置】

操作系統:Windows 10
CUDA版本:cuda_8.0.61_win10
cuDNN版本:cudnn-8.0-windows10-x64-v5.1
GPU model:Nvidia GeForce 950M (2GB)
OpenPose版本:Jul 2017 (已Fork到個人Github)
Caffe版本:OpenPose默認
OpenCV版本:OpenPose默認

來一波地址:

【OpenPose下載】

官方Github:https://github.com/CMU-Perceptual-Computing-Lab/openpose
我的Github:https://github.com/luckynote/openpose

【CUDA下載】

官網:https://developer.nvidia.com/cuda-downloads
我的網盤:鏈接:http://pan.baidu.com/s/1hr8urXy 密碼:f4n5

【cuDNN下載】

官網:https://developer.nvidia.com/cudnn
我的網盤:鏈接:http://pan.baidu.com/s/1o7TgLsu 密碼:tzgy

看看官網的安裝介紹:

鏈接:https://github.com/luckynote/openpose/blob/master/doc/installation.md
這裏寫圖片描述

官網安裝分析:

步驟1:安裝VS2015和CUDA8&cuDNN5.1

閱讀本文的筆者推薦從我的雲盤下載CUDA8&cuDNN5.1,當然按照官方Github安裝的官方有提供CUDA8&cuDNN5.1的下載鏈接。
a.安裝VS2015。
這裏寫圖片描述
這個必須首先安裝,安裝過程和VS2013一樣選擇默認安裝路徑,安裝的時候注意一定要選擇C++開發語言包。記住必須是VS2015,有VS2013的請務必要把VS2015安裝上,否則會出現【OpenPose-Windows】error1 OpenPose項目加載失敗 這個問題。
b.安裝CUDA8。
這裏寫圖片描述
在安裝VS2015之後,安裝CUDA8,安裝時選擇默認安裝路徑,安裝過程和平時安裝qq一樣,只要一直下一步就行。筆者默認安裝路徑:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。注意在安裝CUDA8之前,一定要確保VS2015已經安裝,否則的話,需要在安裝VS2015之後,再重新安裝CUDA8,不然同樣會出現【OpenPose-Windows】error1 OpenPose 這個問題。
c.安裝cuDNN5.1。在完成a.b.之後,下載cuDNN5.1
這裏寫圖片描述
解壓後的內容如下
這裏寫圖片描述
請把壓縮包內的bin、include、lib三個文件夾Copy到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\文件夾下,覆蓋原有的bin、include、lib。

步驟2:下載model

這個比較簡單,在../openpose-master/models/文件下
這裏寫圖片描述
存在getModels.bat和getModels.sh兩個腳本文件,兩個文件作用相同,都是下載face/hand/pose文件夾下的model,運行其一即可。下載後的三個文件夾內容如下:
../face/
這裏寫圖片描述
../hand/
這裏寫圖片描述
../pose/coco/
這裏寫圖片描述
../pose/mpi/
這裏寫圖片描述
除了運行上述getModels.bat和getModels.sh兩個腳本文件下載model模型外,還可以通過../openpose-moster/windows/download_3rdparty_and_models.bat腳本命令下載上述四個model文件。
這裏寫圖片描述
d.下載運行OpenPose.sln所需的三方庫。在完成a.b.c.之後,必須運行../openpose-moster/windows/download_3rdparty_and_models.bat腳本文件,如果在c過程運行了getModels.bat或getModels.sh,download_3rdparty_and_models.bat只會下載OpenPose.sln所需的三方庫
這裏寫圖片描述
當然也可以跳過c過程,直接運行download_3rdparty_and_models.bat,會把OpenPose.sln運行所需的model和三方庫全部下載好。

步驟3:啓動OpenPose.sln

完成步驟2之後,進入../openpose-master/windows/路徑下,打開OpenPose.sln即可。
這裏寫圖片描述
打開OpenPose.sln之後,資源管理器顯示如下
這裏寫圖片描述
依次打開Examples/OpenPoseDemo/openpose.cpp文件,並且設置OpenPoseDemo爲啓動項目。

步驟4:編譯運行OpenPoseDemo

a.推薦使用Release編譯運行模式,然後直接運行其程序即可。
b.默認運行後會直接調用電腦的攝像頭,如果你的電腦沒有可用攝像頭,相信應該會報出錯誤。具體的錯誤由於筆者還沒遇到,暫時不粘貼了,有朋友遇到可以幫我留圖。
c.運行.jpg圖片檢測識別pose。
按照下圖所示,修改image_dir的值爲“example/media/”
這裏寫圖片描述
【PS】此處的example/media/路徑爲../openpose-master/examples/media/路徑,其路徑下內容如下。筆者在一開始的時候以爲是../Release路徑下的,這裏的PS也是提示大家別有一樣的想法。另外大家測試自己的圖像,也可以放到這個路徑下進行測試。
這裏寫圖片描述
給一個運行結果給大家看看
這裏寫圖片描述
d.運行.avi視頻檢測識別pose。
按照下圖所示,修改image_dir的值爲“example/media/”
這裏寫圖片描述
以自帶的video.avi爲例,給一個運行結果給大家看看,也可以運行一個自己的視頻,支持.avi和.mp4格式的視頻文件。
這裏寫圖片描述

步驟5:編譯運行pose+hand/face

a.pose
在默認條件下,即是識別pose,並且按照骨骼姿態還原出當前人體的pose,圖像案例在步驟4已經給出來了,這裏不在另外給出。
b.pose+hand
修改配置,設置hand變量的值爲true,就設置爲pose+hand模式
這裏寫圖片描述
給一個運行結果給大家看看,
這裏寫圖片描述
c.pose+face
修改配置,設置face變量的值爲true,就設置爲pose+face模式
這裏寫圖片描述
給一個運行結果給大家看看,
這裏寫圖片描述
d.pose+hand+face
修改配置,設置hand變量的值爲true,設置face變量的值爲true,就設置爲pose+hand+face模式的識別檢測。
這裏寫圖片描述
這裏寫圖片描述
然而,筆者的筆記本GPU配置較差,無法運行pose+hand+face模式下的程序,程序報錯如下,這是一個內存溢出問題,筆者一開始調試還以爲是程序bug,後來經過一番周折才弄明白是怎麼回事。
這裏寫圖片描述
【PS】pose+hand/face如果不修改其網絡處理的分辨率,也同樣會出現下列問題。
【PS】這個問題的出現及詳細分析和具體實驗,筆者在上一篇博文【OpenPose-Windows】error2 win10-OpenPose-pose+hand/face中斷問題 有具體給出。

【2017/8/6】關於如何在運行之後保存運行結果,筆者已經寫了一篇新的博客 【OpenPose-Windows】運行OpenposeDemo.exe 如何保存圖像運行結果及關節點信息 歡迎大家前來討論研究。

【2017/8/19】有的朋友剛剛安裝運行的時候或許會遇到如下問題
這裏寫圖片描述
其實別看到那麼多錯誤,就被他嚇到了,下面讓我們一個一個解決他們。
首先解決gflags和glog的問題,通常來講無法打開源文件” — “, 都是沒有找到對應的頭文件所致,既然環境無法自動定位我們對應的頭文件,那就需要我們人工include了,打開OpenPoseDemo-》屬性-》VC++目錄-》包含目錄,然後導入你的對應路徑。筆者的路徑如下:
D:\DeepLearning\openpose-master\3rdparty\windows\caffe3rdparty\include
gflags和glog其實就放在..\openpose-master\3rdparty\windows\caffe3rdparty\include 下面
這裏寫圖片描述
好,gflags和glog的問題就被我們解決了。

現在開始解決openpose/headers.hpp的問題,其實這個問題非常簡單,只要吧debug運行狀態改爲release運行狀態就完美解決了。
好,今天的這兩個問題完美解決。

個人實驗結果

【2017/8/20】今天從優酷上下載了一個張廣成的小蘋果廣場舞的小視頻,做了一些裁剪,再在openpose上跑了一遍,得到一組處理結果,下面展示的是視頻的一張截圖

這裏寫圖片描述

視頻bilibilishow:小蘋果 廣場舞 openpose 2D 姿態
由於該視頻是筆者辛苦一天裁剪好的,喜歡的小夥伴還望多多支持。
該視頻僅用於學術交流,謝絕商用!

最後感謝Github官方gineshidalgo99給予的幫助,感謝CSDN博主 風翼冰舟 引導筆者OpenPose入門。

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