【OpenPose】のインストール方法とコンパイル詳細（約4時間）

# OpenPoseとは
OpenPoseは、人の体（膝、肘、目など）を検知し、そして検知した結果を可視化にしたライブライです。そしてこの技術はCVPR2017で発表された、DeepLearningを使った、単眼カメラでのスケルトン検出アルゴリズムが、OpenPoseという名称でライブラリ化・公開されました。

## 例:
![shake.gif](https://qiita-image-store.s3.amazonaws.com/0/173022/c675cae6-76e1-fa33-d48f-a1aaaa0ca543.gif)


この章では、OpenPoseのインストール方法とコンパイル詳細を主に紹介します。


# OpenPoseのインストール方法

まず、
https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md
このリンクにアクセスし、Windowsのところに移動し、書いてくれた順番で一つずつインストールしていきます。

（日本語で、そしてある程度省略したバージョンはこちら）

**↑のサイトの青文字を直接クリックすると、直接該当したサイトに移動できるので、ここは参照しながらインストールしてきましょう**

# 上のサイトの「Windows」のところに移動しましょう。

**↑のサイトの青文字を直接クリックすると、直接該当したサイトに移動できるので、ここは参照しながらインストールしてきましょう**

##①Installation - Demoのところに、一番最初にインストールするものは：

## (1)Visual Studio 2015
エディターをインストールしましょう（すでにあった場合は結構）

###(2)CUDA 8
デフォルトの場所```, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0```にインストールしてください
###(3)cuDNN 5.1
.Zipを解凍し、中身だけ取り出して```C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0```　にペーストください

## 2.Installation - Library
②ライブライをインストールします。
### (1)Python 2.4.13 64 bits - Windows x86-64 MSI installer.
デフォルトの場所```C:\Python27 (default)```にインストールしてください。
そして、コマンドをだして
```pip install numpy protobuf hypothesis```コマンドを打ってください。

### (2)Cmake: インストールしたら、パスを記録して、　

http://next.matrix.jp/config-path-win7.html

を参照して、環境変数のパスを登録しましょう


### (3)Ninja:インストールしたら、パスを記録して、　

http://next.matrix.jp/config-path-win7.html

を参照して、環境変数のパスを登録しましょう

## 3.openposeをダウンロード
https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/windows
にアクセスし、右上の緑ボタンー「Clone or download」→「Download ZIP」を押して、openposeをダウンロードをダウンロードしましょう。
ダウンロードしたZIPを解凍し、2番目の「openpose-windows」のファイルを丸ごと```C:/```に移動しましょう

## 4.Caffeをインストール
コマンドを出して、
```cd C:\openpose\3rdparty\caffe\caffe-windows```を打ちましょう。
そして```scripts\build_win.cmd```を打ちましょう。
前1～3ステップ問題なければ、無事にインストールは始まります。
そしてここのインストールの所要時間は大よそ0.5時間です。

そして最後のところで、質問：
```Does D:\openpose\3rdparty\caffe\caffe-windows\build\..\..\include\caffe specify a file name or directory name on the target (F = file, D = directory)?,```が出たら、「D」と答えてあげましょう。

##5.Visual Studioのslnを立ち上がる
```{openpose_path}\windows_project\OpenPose.sln.```のパスで、「OpenPose.sln」をダブルクリックして立ち上がりましょう。


次は、真ん中上の選択し、「Debug」を「Release」にし、コンパイルしましょう。

##6.残りのファイル
###(1)COCO model
サイトの青文字「COCO model」のサイトをアクセスし、 ```{openpose_folder}\models\pose\coco\```のところに「pose_iter_440000.caffemodel」を入れましょう。

###(2) MPI model (15 key-points, faster and less memory than COCO) 
サイトの青文字「 MPI model (15 key-points, faster and less memory than COCO) 」のサイトにアクセスし、
```{openpose_folder}\models\pose\mpi\```のところに「pose_iter_160000.caffemodel」を入れましょう。

###(3）中身全部取り出し、コピー＆ペストしましょう
```{openpose_folder}\3rdparty\caffe\caffe-windows\build\install\bin\```にあるもの全部コピーし、```{openpose_folder}\windows_project\x64\Release```にコピーしましょう

### (4) 3つファイルをコピー＆ペストしましょう
```{openpose_folder}\3rdparty\caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\bin\```にある
1.opencv_ffmpeg310_64.dll
2.opencv_video310.dll
3.opencv_videoio310.dll

をコピーし、


```{openpose_folder}\windows_project\x64\Release```にペストしましょう。

# 実行しましょう
コマンドで
```cd  C:\openpose-windows\windows_project\x64\Release```を打ち、
```.\OpenPoseDemo.exe```を打ちましょう。

そして、前の設定に問題なければ立ち合がるはずです。

## 他の設定を試しましょう（終了するときは「Esc」を落ちましょう）

**必ず```cd  C:\openpose-windows\windows_project\x64\Release```を打ってから以下のコマンド実行してください**

###```.\OpenPoseDemo.exe --net_resolution 320x176```
を打つと、FPSが上がり、遅延が減ります（パソコンのスペックに注意してください）

###```.\OpenPoseDemo.exe --video examples/media/video.avi```
を打つと、モデルの映像が読み込まれ、自動的に分析が始まります。

###```.\OpenPoseDemo.exe --write_pose_json output/```
を打つと、WebCamが開き、そして秒数によって、人のスケルトンの位置情報を
```C:\openpose-windows\windows_project\x64\Release\output``` まで保存される。

###　実行している途中でキーボードの「1～9」を打つと、各決めた番号のところだけが示されます。


よく使う：
```.\OpenPoseDemo.exe --write_pose_json output/ --image_dir examples\photo```