人體行為識別(骨架提取),搭建openpose環境,VS2019(python3.7)+openpose


    這幾天開始接觸人體行為識別,經過多方對比后,選擇了現在最熱的人體骨架提取開源庫,openpose。

    下面就不多說了,直接開始openpose在win10下的配置:

     需求如下:

  1. VS2019      據說VS2015以上的版本就可以,VS201x主要是為了通過cMake生成的.sln文件生成可執行exe文件、dll文件,和一些程序運行所必需的文件,下載VS2019 community版本就可以,有微軟賬號(免費申請)就可以免費用;

   2. Python3.7+Pycharm      想要在Python環境下運行的需要安裝這兩個,當然也可以是其他的組合,不過還是推薦最新版本的,而且Pycharm真的很棒;

  3.cmake-3.15.3-win64-x64      https://cmake.org/download/ 打開官方網站下載即可,選擇最新版本的,這個版本可以生成VS2019的文件,其他的比如有VS2017。。。。也可以選舊版本的,不過這個向下兼容,下載最新的就可以;

  4.cudnn(最新)+cuda(最新)      這兩個怎么裝百度一下就可以了,很簡單,但是推薦在裝好VS201x后安裝,不然可能會出現一些問題,不會的可以留言問我;

  5.openpose      在GitHub上下載最新的openpose源文件,網址如下https://github.com/CMU-Perceptual-Computing-Lab/openpose

 

以上差不多就是配置openpose所必須的東西了,接下來是具體的步驟:

  1.假設你已經裝好了VS2019,Python3.7+Pycharm,cudnn(最新)+cuda(最新);然后兩個下載並解壓好的Cmake和OpenPose(我這里為openpose-master,不同的下載方式可能還會有不同的命名方式,不過都無傷大雅)源文件如下圖紅色下划線所指:

                                  

 

 

     

  2.文件路徑如下,打開cmake-gui.exe;

                                                

 

       打開cmake-gui.exe如下,按照我所用紅色下划線標注的填寫,對應的路徑修改為自己的,如果你跟我一樣放在A盤,並且文件名都一樣就可以           不用改,build_pan_20190913可以改成別的名字;

     

       

3.需要在Python中運行的,在這里打勾: 

    

        需要下載全部動作識別模型文件的,在找到這些選項打勾,默認只選BODY_25,這個模型識別關節點最多,有20多個,而且是標准CUDA運行       的,后面的COCO,MPI各有不同的優缺點,建議下載:

                

        沒有下載或者下載不成功也可以先通過Cmake編譯以后再下載,路徑如下,雙擊getModels.bat即可

                                                                             

  4.回到Cmake,先點Configure,結束而且成功后再點Generate,此過程費時非常長,建議點完Configure后去吃個飯,回來可能就快好了。。

  5.然后在如下圖所示中會有這樣一個文件:

                            

 

               如果你已經裝好了VS201x,可以直接雙擊打開,之后會這樣顯示:

          

 

        這里改成我這樣,用Release模式:

 

                                            

 

       然后生成解決方案,快捷鍵Ctrl+Shift+B,至此,所有配置完畢。

 

解決方案管理器中目錄如下,打開示例程序,如果你的顯卡足夠好(顯存需要4GB左右)而且有攝像頭,可以直接按F5運行。

                                                   

 

如果不行,就需要改一下東西,來讓電腦運行起來(openpose需要的資源真的非常多):

  1.顯存不夠就會報錯:error == cudaSuccess (2 vs. 0)  out of memory  ,這個意思就是顯存不夠了,這時我們就需要修改頭文件,鼠標放在flags.hpp上,按F12跳轉到flag.hpp,如下:

                                                          

  修改   net_resolution,           "-1x368",只需要修改368的數值就可以顯著的降低顯存使用率,但是相應的會降低准確度,我這里改成了-1x256,基本上2GB顯存就可以運行了。

 

 

  2.如果沒有攝像頭,就會報錯找不到攝像頭,這時我們就需要修改讓程序打開視頻文件,修改這個參數為視頻文件位置,注意是程序里是反斜杠,相應的你需要在這個目錄下放入視頻文件,我這里完整目錄為A:\openpose-master\examples\media\dance.mp4:

 

  3.如果你需要不用body_25,而用coco或者MPI,相應可以更改  model_pose 這個參數,還有更多的可以更改的參數,自己讀一讀后面的注釋就可以了。

 

經過一番配置,具體的運行結果如下:

 

 

可以看出來幀數真的很低啊,不過識別度真的非常高,接下來就可以愉快的玩耍了!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM