Cindy's Blog

アマゾンで働いているエンジニアの日常

【2019.4最新】UnityでOpenPoseが使えるまでのインストール(約2時間)

OpenPoseのインストールは数年前と比べると簡単になっており、

本章はUnityのプラグインも含めて、スクリーンショットを含めながら分かりやすく説明します。

github.com

基本的に、に載せているインストール方法を実践しながらやっていきます。

なぜブログにするかというと、

1.開発元が書いてくれた手順は少しだけ古くなっている

2.初心者にはわかりづらい

です。では、本番に入ります。

 OpenPoseのインストール

2019年4月3日時点では、

Window10(64bit)上で動作確認しております。

Unityのバージョンは、オフィシャルでは2018.2.9f1を使っているようですが、

個人のパソコンで2017.4.20f2でも動いていました。

 前準備

openpose/prerequisites.md at master · CMU-Perceptual-Computing-Lab/openpose · GitHub

Windows Prerequisites」のように、

  1. CMake GUI の Windows win64-x64 Installer 最新版(cmake-X.X.X-win64-x64.msi)
    PATHの設定はデフォルトのもので構いません。

  2. Visual Studio 2017 Community もしくは Microsoft Visual Studio (VS) 2017 Enterprise
    すででインストールしている方はVisual Studio Installerを開いてください。
    注意: C++に関係するコンポネントをすべてチェック入れてインストールしてください。
    https://gyazo.com/5be8d7e8689c0c479c7588c6037bd2c1f:id:cindychen0204:20190403004104g:plainhttps://gyazo.com/5be8d7e8689c0c479c7588c6037bd2c1

3. CUDA 10.0
注意:CUDA8.0は新しいGPUモデル(Nvidia GTX 2080以上、またTuringとVoltaのアーキテクチャ)に対応していないので、CUDA10.0はおすすめです。
注意:前にCUDAをインストールしたことがある方は、VSからうまくCUDA用のファイルを生成してない可能性があるので、CUDAを再インストールしてください。
注意:CUDAインストール後、パソコンに異常がある場合は、 Download Drivers | NVIDIAからドライバを再インストールしてください 
もしくは、一緒に入っている`NVIDIA GeForce Experienceを実行してドライバの再インストールを行いましょう。

gyazo.com

  1. cuDNN 7.5 for CUDA 10.0

gyazo.com

インストール方法としては、解凍した後に、GIF動画のように中身を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 に移動してください。


https://i.gyazo.com/13cbd0cd479d661c330e7b5645258d4c.gif


次に、CMAKE用に 

Caffe  

Caffe 依存フィアル 

OpenCV 4.0.1 

をダウンロードし、解凍しておいてください。

 ファイルの移動

コマンドプロンプトを開き、OpenPoseリポジトリをクローンしておいてください。
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose

初心者の方:git cloneが使えない場合には、Pythonをインストールしておいてください。バージョンはどれでも構いません。 インストール時にPATH設定にチェックを入れればこのコマンドは使えるようになります。 また、フィアルのダウンロード先は、いい子ならパスをできるだけ C:\Users\ユーザ名前\git\(なければ作る)にしましょう。

ダウンロードが終わった後、
openpose/3rdparty/windows/

先ダウンロードした

・caffe 
・caffe3rdparty 
opencv  

の中身を移動してください。
可能であれば、GIF動画のように.ZIPファイルも一緒に移動してください。

https://i.gyazo.com/97a97bd460df12ddedd78c45ed1effdf.gif 

CMakeでジェネレート

CMakeを開き、画像のようにパスを設定しておいてください。buildファイルがなくても構いません。

gyazo.com

Configureボタンを選択し、
VisualStudio2017と64ビットを、画像のように設定して、Finishボタンを。

ここから約5-10分かかります(ネットワークスピードにもよります)。

gyazo.com 

コンソールにConfiguring doneという表示が出ましたら、赤いところにあるBUILD_UNITY_SUPPORTにチェックを入れて、(Unityを使わないなら不要)

Generateボタンを選択し、さらにOpen Projectを押すと、VSが立ち上がり、画像のようになります。

 プロジェクトをビルド

gyazo.com

次に、上のところのDebugReleaseに変更し、緑の三角形を押し、プロジェクトをビルドします。

ここから10ほどかかります。

ここで詰まっている方は、上の前準備にあった、C++のコンポートが足りているかどうかを確認してください。

いけた方は、以下のようにOpenPoseが動いてるはずだと思います。Hello World!

https://i.gyazo.com/1062af07b2d438b9a6370be2e3f749c3.gif


★アプリを終了するにはEscキーで

顔と手の推定

ここは、姿勢推定しか出ていません。HandやFaceでも推定を行いたい方は、VisualStudioの外でも使えるようにしないといけないため、

  • openpose\models ファイル

  • openpose\build\bin の中身

openpose\build\x64\Releaseにコピーしてください。

gyazo.com

OpenPoseDemo.exe --face --handで、手と顔の推定もできるようになります。

https://i.gyazo.com/2d453c9fa1a89c97e00f73f6d5251de1.gif

ここでOpenPoseのインストールが終わります。

OpenPoseは静止画像や事前に用意した映像の姿勢を推定することができます。

詳しくはここの説明です:
github.com

 Unityで使えるようなるには

以上のタスクが済みましたら、

  • OpenPosePlugin/Assets/OpenPose/のgetPlugins.batをダブルクリックで実行してください。必要なファイルを集めてくれます。

  • OpenPosePlugin/Assets/StreamingAssets/models/のgetModels.batをダブルクリックで実行してください。必要なモデルを集めてくれます。

以上のステップが終わりましたら、Unityでプロジェクトを開きます。
gyazo.com 

Asset/OpenPose/Scenes/Demo シーンを開くと、エラーが多数出ていることが分かります。

2019年4月時点では、オフィシャルのプロジェクトのプレファブ壊れているため、なんとなくロジックを真似して復元したプロジェクトをここのおいておきます!

1drv.ms

よろしければ、確認してみてください。

ちなみに、Unity上のデモはこのような感じになります。

https://i.gyazo.com/dc19bef3e6ddac07e18da33ac76cc0d4.gif

終わりに

OpenPoseを使った面白いコンテンツの発想があれば、ぜひ下にコメントくださいね!

ちなみに、前に発表した記事はこちら:

qiita.com

では。