Windows で OpenPose をビルドする
概要
Windows 上で OpenPose を使う Python プログラムを実装するにあたって、OpenPose の Python モジュールを利用するには、いちからビルドしなければならない。しかし、そのビルドに手間取ったので、その手順を説明する。
環境
- Windows 11 x64
- Python 3.7.9(Python のインストール手順は省略)
- Git 2.42.0.windows.2(Git のインストール手順は省略)
- CUDA 13.0(CUDA を使用して、GPU による処理を行う)
- cuDNN 9.14.0
- CMake 3.31.9
- Visual Studio Community 2022
- MSVC v142 - VS 2019 C++
- PyBind 3.0.1
事前準備
0. Python および Git のインストール
省略
1. CMake のインストール
ビルドには、v3.5 よりも低いバージョンの CMake が必要になる。Google で「CMake Download」と検索して、Older Releases に移動するか、このリンクを使用して、古い CMake のダウンロードページに移動。GitHub からのダウンロードであれば、Assets を展開して、cmake-3.xx.x-windows-x86_64.msi を選択してダウンロード。ダウンロードしたファイルを実行して、インストール。設定はデフォルトで良い。
CMake とはなにか
ソフトウェアのビルドプロセスを管理するための強力かつ包括的なソリューション。具体的には、C++などのソフトウェアをコンパイルするためのビルドシステムを自動生成するツール。クロスプラットフォーム開発を容易にするためのもので、OS や IDE に依存しない設定ファイル(CMakeLists.txt)から、各環境用のビルドスクリプト(Makefile、Xcode プロジェクトファイルなど)を自動生成する。
2. Visual Studio と必要なワークロードのインストール
このリンクを使用して、Visual Studio Community 2022 をダウンロード。ワークロード選択画面で、「C++によるデスクトップ開発」にチェック。また、「個別のコンポーネント」タブで、「v142」と検索して、「v142 ビルドツール用 C++ v14.29(16.11) ATL (x86 および x64)」、「v142 ビルドツール用 C++ v14.29(16.11) MFC (x86 および x64)」、「MSVC v142 - VS 2019 C++ x64/x86 ビルドツール (v14.29-16.11)」の 3 つにチェックを入れてインストール。
3. CUDA のインストール
このリンクを使用して、ダウンロードページに移動。適切なプラットフォームを選択して、CUDA Toolkit Installer を取得する。インストーラを起動したら、インストールオプション「高速」を選択して、CUDA の最新バージョンをインストール。
4. cuDNN のインストール
このリンクを使用して、ダウンロードページに移動。適切なプラットフォームを選択して Base Installer を取得する。インストーラを起動したら、インストールオプション「高速」を選択して、cuDNN の最新バージョンをインストール。インストールが完了したら、念のために PC を再起動。
4. プロジェクトのクローン
以下のコマンドを使用して OpenPose のソースコードをクローン
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
openpose ディレクトリに移動して、サブモジュールをインストール
cd openpose
git submodule update --init --recursive --remote
5. PyBind のインストール
Google で「PyBind」と検索するか、このリンクを使用して、ダウンロードページに移動。Source code (zip) をクリックしてダウンロード。ダウンロードしたファイルを展開して、内容物(README が入った階層のファイルおよびフォルダ)をすべてopenpose/3rdparty/pybind11にコピー。
6. Caffe モデルのインストール
Caffe モデルは有志によってウェブ上にアップロードされている。このページから、モデルをダウンロードする。Zip でのダウンロードには、Kaggle への会員登録が必要。ダウンロードした Zip を解凍して、中のファイルをプロジェクトにコピーする。
| ファイル名 | コピー先 |
|---|---|
| pose_iter_584000.caffemodel | openpose/models/pose/body_25 |
| pose_iter_440000.caffemodel | opepose/models/pose/coco |
| pose_iter_160000.caffemodel | opepose/models/pose/mpi |
| pose_iter_116000.caffemodel | openpose/models/face |
| pose_iter_102000.caffemodel | openpose/models/hand |
Configure および Generation
openpose ディレクトリ直下に build ディレクトリを作成し、移動し、CMake GUI を起動
mkdir ./build
cd ./build
cmake-gui
CMake GUI にて、Where is the source code に openpose ディレクトリを設定

Add entry を押して、BUILD_PYTHON の Boolean にチェックを入れる

Configure を押し、Visual Studio 16 2019、x64を設定して、Finish を押す

途中で止まったりしたら、stop を押して、Configure をやり直す
完了したら、Generate を押す。
ビルド
CMake GUI の Open Project を押す。
参考
Discussion