1. 程式人生 > >OpenPose的安裝配置與實現,以及遇到的問題與解決方法

OpenPose的安裝配置與實現,以及遇到的問題與解決方法

參考部落格地址:OpenPose安裝配置與測試
之前在自己電腦上配置了一下,但執行不起來,OpenPose對於電腦的硬體要求還是很高的,我的小破電腦實在是撐不起來。。。之後用公司電腦才跑起來了。下面有官網釋出的配置要求,以供參考。

我的電腦配置:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

公司電腦配置:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

一、OpenPose的配置與實現
針對win10
官方硬體支援:

  • Nvidia GPU version:

    1.NVIDIA graphics card with at least 1.6 GB available 
    2.At least 2.5 GB    of free RAM memory for BODY_25 model or 2 GB for COCO model (assuming    cuDNN installed).  
    3.Highly recommended: cuDNN.
    
  • AMD GPU version:

    1.Vega series graphics card
    2.At least 2 GB of free RAM memory.
    
  • CPU version:

    Around 8GB of free RAM memory.
    
  • Highly recommended: a CPU with at least 8 cores.

  • -

具體配置與實現過程:
1.安裝vs 2015(勾選visual C++)

2.安裝CUDA,預設安裝(9.2版本安裝過程中會報錯,可能因為是專為vs2017版本提供的,還沒有測試,之後可以試試執行效果)

3.將cuDNN下載解壓後內容覆蓋CUDA中相應資料夾的內容

4.下載安裝AMD 軟體

5.雙擊執行../openpose-master/models/中的getModels.bat或getModels.sh檔案中任意一個

6.分別雙擊執行../openpose-master/3rdparty/windows中的getCaffe.bat,getCaffe3rdparty.bat和getOpenCV.bat檔案

7.開啟CMake GUI,原始檔目錄中新增../openpose-master資料夾目錄,在目標檔案目錄中新增一個不存在或空的資料夾目錄(如../openpose-master/build),如果資料夾不存在會提示是否要建立,點選YES;然後點選Configure,在彈窗中選擇“Visual Studio 14 2015 Win64”,點選Finish;最後當提示框中顯示Configuring finished後,點選Generate,後關閉視窗。

8.進入../openpose-master/build/路徑下,開啟OpenPose.sln即可。依次開啟Examples/OpenPoseDemo/openpose.cpp檔案,並且設定OpenPoseDemo為啟動專案。

9.使用release編譯執行模式
(1)執行.jpg圖片檢測識別pose:修改image_dir的值為“example/media/” (此處的example/media/路徑為../openpose-master/examples/media/路徑)
(2)執行.avi視訊檢測識別pose:修改video中的image_dir的值為“example/media/”
(3)Pose+hand:修改配置,設定hand變數的值為true
(4)Pose+face:修改配置,設定face變數的值為true

二、問題及解決方法
1.編譯過程中彈出報錯視窗,內容:0x00007FFDDE8C1F08 處(位於 OpenPoseDemo.exe 中)有未經處理的異常: Microsoft C++ 異常: std::runtime_error,位於記憶體位置 0x0000005E406F1720 處。錯誤列表中顯示無法查詢或開啟PDB檔案。

解決方法:選單欄->除錯 ->選項 ->符號->勾選 Microsoft符號伺服器
這裡寫圖片描述

2.編譯過程中出現很多關於cuda標頭檔案的報錯,考慮到可能是在安裝過程中的問題,後選擇將9.2版本的解除安裝後重新安裝8.0版本的,8.0版本安裝過程中沒有報錯。(PS:如果有需要,這裡解除安裝過程最好跟著以下網址教程進行https://blog.csdn.net/shuiyuejihua/article/details/78738664,另外重灌CUDA後別忘了將cuDNN內容複製到CUDA中,openpose最好也重新cmake一下,因為在安裝過程中會自動進行一些配置。我就是解除安裝重灌了CUDA後沒重灌openpose,之後需要各種自己配置cuda目錄,就算配置好了還是報瞭如下圖的錯)。
這裡寫圖片描述

3.如果在編譯過程中出現如下圖問題,可以參考網站教程:http://www.it1352.com/487757.html(開啟檔案:“C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.props”,搜尋字詞 DepsOutputDir,刪除變數%(RelativeDir)並以管理員模式儲存。)
這裡寫圖片描述

公司電腦上編譯執行出現的問題:
1.
Error:
VideoCapture (IP camera/video) could not be opened for path: ‘examples/media/’. If it is a video path, is the path correct?

Coming from:
-D:\openpose\openpose-master\src\openpose\producer\videoCaptureReader.cpp:op::VideoCaptureReader::VideoCaptureReader():37
-D:\openpose\openpose-master\src\openpose\producer\videoCaptureReader.cpp:op::VideoCaptureReader::VideoCaptureReader():41
-D:\openpose\openpose-master\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToProducer():211
-D:\openpose\openpose-master\examples\openpose\openpose.cpp:openPoseDemo():372
terminate called after throwing an instance of ‘std::runtime_error’
解決辦法:
https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/41
(路徑要寫成examples/media/video.avi,我寫成了examples/media/)
如果不是這個問題,可能是OpenCV的問題,需要重新安裝opencv試試。
注意:video的路徑要精確到examples/media/xxx.avi,picture的路徑只要寫到examples/media/

結果展示:
1.Just pose:
這裡寫圖片描述

2.pose+face:
這裡寫圖片描述

3.pose+hand

這裡寫圖片描述

pose+face+hand執行時就溢位了,可以調整畫素來嘗試實現,這個對GPU要求太高了。。。這裡就不試了