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

【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入門。

【2018.9.5】  已經看到很多朋友問過python2.7.lib的問題了,我在這裡解釋一下。  首先,關於這篇blog筆者寫的比較早,是在2017年7月完成的,當時openpose的各項model,作者也是剛剛開源,我算是比較早一批吃螃蟹的群眾,所以版本上出現了差異。  在我給出的我個人的github上的openpose的版本等同與官方最早的v1.0.0版本,目前官方github上已經給出了11個版本,各個版本之間的差異,筆者暫時沒有嘗試過,所以無法給出新版本的各個問題的答案,請各位朋友見諒。 ---------------------  作者:luckynote  來源:CSDN  原文:https://blog.csdn.net/lgh0824/article/details/75949477  版權宣告:本文為博主原創文章,轉載請附上博文連結!