Black_kitten092のブログ

初心者の置き場

【導入方法】コマンドのみでopenposeを使って姿勢推定してみる(windows)

目次

openpose

openposeは人骨格検出して姿勢推定できるもの。

注意点としてはある程度のスペックのPC・GPUが必要です。
低スペックだと1フレームでも時間がかかってコマ送りになってしまう。

使うもの

openpose(Github

github.com

Download visualstudio

visualstudio.microsoft.com

Download CUDA Toolkit 10.0

developer.nvidia.com

Download cuDNN

developer.nvidia.com

導入方法

cuDNN、CUDAのダウンロード

cuDNN、CUDAもバージョンを確認しながらセットアップしておく。

セットアップ方法は

qiita.com

などが参考になる。

cuDNN,CUDA versionについて www.tensorflow.org

openposeの取得

openposeをGithubから取ってくる。
以下のコマンドで取得できる。

cd c:\tools
git clone --recursive https://github.com/CMU-Perceptual-Computing-Lab/openpose

cmake の実行

Visual Studio 15 2017 Win64" -T host=x64」の部分は使用しているVisual Studio*1を選択してほしい。

cd c:\tools\openpose
del CMakeCache.txt
cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ^
-DDOWNLOAD_BODY_25_MODEL=ON ^
-DDOWNLOAD_BODY_COCO_MODEL=ON ^
-DDOWNLOAD_BODY_MPI_MODEL=ON ^
-DBUILD_PYTHON=ON ^
.

ビルド

releaseモードでビルドする。

cmake --build . --config release

ファイルをコピー

binファイルに x64\release内にあるものをコピーする。

cd c:\tools\openpose
copy x64\release\*.* bin

姿勢推定してみる

デモの動画で姿勢推定

examples\media内にデモの動画があるのでそれを使ってみる。

bin\OpenPoseDemo.exe --video examples\media\video.avi

処理中

f:id:Black_kitten092:20200803161458p:plain f:id:Black_kitten092:20200803161505p:plain f:id:Black_kitten092:20200803161516p:plain

終了時のログ

f:id:Black_kitten092:20200803161523p:plain

結果

  • GPUGTX 1660 SUPER:約13fps

  • 発見した人の最大数:たぶん16人

  • Total time:平均で約17seconds.

考察

  • 奥の横断歩道の手前までは認識しているが、奥は認識していない。
    つまり認識できる限界距離が横断歩道の手前までの距離。

  • 1枚目に関して、手前の人と人が重なっているところは認識できていない。
    つまり人から見ても人と判断しにくいところは認識できない場合がある。

  • 3枚目の画像の左半分にある複雑になっているところにいる黒い服の人は認識できていない。
    動画でみるとたまに認識(骨格が付いたり消えたりしている)

  • 手前の人達は骨格が安定していたが、奥になる(小さい骨格)の人は骨格が小刻みに揺れていた。

デモの画像で姿勢推定

examples\mediai内に複数のデモ画像があるのでそれを使ってみる。

bin\OpenPoseDemo.exe --image_dir examples\media

処理中

f:id:Black_kitten092:20200803170035p:plainf:id:Black_kitten092:20200803170040p:plainf:id:Black_kitten092:20200803170124p:plainf:id:Black_kitten092:20200803170044p:plainf:id:Black_kitten092:20200803170051p:plainf:id:Black_kitten092:20200803170058p:plainf:id:Black_kitten092:20200803170637p:plainf:id:Black_kitten092:20200803170643p:plainf:id:Black_kitten092:20200803170103p:plainf:id:Black_kitten092:20200803170109p:plainf:id:Black_kitten092:20200803170114p:plainf:id:Black_kitten092:20200803170648p:plainf:id:Black_kitten092:20200803170118p:plain

デモ画像の総数は20枚なんだけど、目視では確認できなかった画像もあった。
なので画像を目視で確認するには画像の保存か骨格のデータ保存が必要そう。

終了時のログ

f:id:Black_kitten092:20200803171447p:plain

結果

  • デモ画像の総数は20枚に対して、録画して目視できるのは10枚ほど

  • GPUGTX 1660 SUPER:約11fps(録画したので若干下がってるかも)

  • 発見した人の最大数:(8Frameの赤い服の電話しているおじさんで)9人

  • Total time:平均で約3seconds.

*1:Visual Studio 2019 64 ビット版:cmake -G "Visual Studio 16 2019" -A x64 -T host=x64