[toc] # 版本 | 軟體 | 版本 | |----------------|--------------| | Windows | 11 | | CUDA | 11.8 | | cuDNN | 8.9.7 | | CMake | 3.13.3 | | Visual Studio | 2019 (16.11.9) | # 下載連結 [Python 3.9.13](https://www.python.org/downloads/release/python-3913/) [CUDA](https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local) [cuDNN](https://developer.nvidia.com/rdp/cudnn-archive) ![截圖 2024-12-24 18.02.25](https://hackmd.io/_uploads/r1fCLbdBye.png) [Cmake](https://cmake.org/download/) [Visual Studio](https://learn.microsoft.com/en-us/visualstudio/releases/2019/history) ![截圖 2024-12-24 18.03.52](https://hackmd.io/_uploads/Hk8NwW_rke.png) [model, opencv, caffe依賴檔案](https://onedrive.live.com/?authkey=%21AFUSeVJ9cb3LkAw&id=02012623B79DCC7A%21574099&cid=02012623B79DCC7A&parId=root&parQt=sharedby&o=OneUp) ![截圖 2024-12-24 20.10.28](https://hackmd.io/_uploads/r1KTE7uBkx.png) [pybind](https://github.com/pybind/pybind11/tree/085a29436a8c472caaaf7157aa644b571079bcaa) [caffe](https://github.com/CMU-Perceptual-Computing-Lab/caffe/tree/b5ede488952e40861e84e51a9f9fd8fe2395cc8a) # 建置步驟 ### 第一步 clone OpenPose 原始碼 首先去 GitHub 下載 OpenPose 原始碼 ```bash= git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git cd openpose ``` ### 第二步 安裝 CUDA 和 cuDNN 1. 安裝 CUDA(路徑預設為 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA)。 2. 解壓縮 cuDNN,將以下三個資料夾放置於 CUDA 路徑: - bin - include - lib ![截圖 2024-12-24 18.10.55](https://hackmd.io/_uploads/rJfAuWurkg.png) ![截圖 2024-12-24 19.59.22](https://hackmd.io/_uploads/HkKUM7dBkg.png) 確認 NVIDIA GPU 驅動程式、CUDA 和 cuDNN 已正確安裝。 檢查 CUDA 是否已安裝: ```bash= nvcc --version![截圖 2024-12-24 20.27.59](https://hackmd.io/_uploads/S1jbY7Or1l.png) ``` ### 第三步 下載依賴套件 先去下載model, opencv, caffe依賴檔案,如下載連結那。下載下來後直接把兩個資料夾丟到openpose資料夾中,遇到衝突直接跳過。僅放入沒有的檔案 ![截圖 2024-12-24 20.24.47](https://hackmd.io/_uploads/Hk1EOXurkx.png) 然後去github上下載pybind, caffe,連結在下載連結,下載後解壓縮至 3rdparty中,原本舊的可以刪掉 ![截圖 2024-12-24 20.27.59](https://hackmd.io/_uploads/BJ-mKXdBJl.png) ### 第四步 使用 CMake 編譯 在 OpenPose 根目錄執行以下指令: ```bash= mkdir build // 建立預編譯的資料夾 這裡會放置編譯後的檔案 cd build // 移動至該資料夾 ``` 使用 CMake 配置專案: ```bash= cmake -G "Visual Studio 16 2019" -T host=x64 -DBUILD_PYTHON=OFF .. ``` > 如果使用 Visual Studio 2022,請將 Visual Studio 16 2019 替換為 Visual Studio 17 2022。 ### 第五步 編譯專案 1. 開啟生成的 .sln 檔案(位於 build 資料夾中),這會啟動 Visual Studio。 ![截圖 2024-12-24 20.38.28](https://hackmd.io/_uploads/HywPjXOHyg.png) 2. 在 Visual Studio 中,將編譯模式設為 Release。 ![截圖 2024-12-24 20.39.57](https://hackmd.io/_uploads/HyvpiQOByg.png) 3. 修改 Visual Studio 的字符集設定,將其設置為 Use Unicode Character Set * 在 Visual Studio 中打開你的 OpenPose 解決方案(.sln 文件)。 * 在 解決方案資源管理器(Solution Explorer) 中,右鍵點擊你的項目(如 OpenPoseDemo),選擇 屬性(Properties)。 * 找到進階選項並找到字符集(Character Set) 選項。 * 點擊下拉菜單,選擇 使用 Unicode 字符集(Use Unicode Character Set)。 ![截圖 2024-12-24 20.44.20](https://hackmd.io/_uploads/HkgrpXuHkl.png) 4. 按下 Ctrl + Shift + B 開始編譯。 5. 最後在 build/x64/Release 中會有OpenPoseDemo.exe跟一大堆東西代表編譯成功了 ![截圖 2024-12-24 21.02.16](https://hackmd.io/_uploads/HyOJ-EOH1l.png) 6. 如果直接執行 OpenPoseDemo.exe 後他會跑一堆找不到DLL錯誤,這時要去build/bin底下把所有DLL檔都複製到build/x64/Release 中 ![截圖 2024-12-24 21.07.37](https://hackmd.io/_uploads/H1qmfE_HJe.png) # 開始進行推論 首先會去網路上隨機找一張有人的圖存在資料夾中(路徑要記得),然後去 openpose/build/x64/Release 中打開 cmd 並輸入以下指令 ```bash= OpenPoseDemo.exe --image_dir C:\Users\Lin\MyImages\ --model_folder C:\Users\Lin\Downloads\openpose\models\ --write_images C:\Users\Lin\MyResults\ ``` * --image_dir: 指定包含圖片的目錄。 * --model_folder: 指定模型文件夾的路徑(包含 BODY_25、Face 和 Hand 模型)。 * --write_images:將結果保存為圖片。 默認情況下,OpenPose 在執行完畢後會彈出一個窗口顯示推論結果。如果指定了 --write_images,結果會保存到指定目錄中。