前回の続き。
公式のOpenPoseのサンプルから試しに動かしてみる。
ビルド済みバイナリを動かしてみる
Pythonから動かす前に、ビルド済みバイナリを動かしてみることが推奨されていたので。
リリース版ダウンロード
Windows版のv1.7.0をダウンロードする。
Release OpenPose v1.7.0 · CMU-Perceptual-Computing-Lab/openpose · GitHub
ダウンロードしたzipファイルを適当なところに展開。
中身はこんな感じ。
モデルダウンロード
展開した中身のInstruction.txtを見ると、バッチファイルを実行して、必要なモデルファイルをダウンロードせよと書いてある。
OpenPoseドキュメントのinstallationのところにも書いてあった。
openpose/doc/installation/0_index.md at master · CMU-Perceptual-Computing-Lab/openpose · GitHub
getBaseModels.batをダブルクリックで実行。
Windows Defenderから警告が出てしまった。
気にしない。
どうも指定のURLに接続できない。
------------------------- BODY, FOOT, FACE, AND HAND MODELS ------------------------- ----- Downloading body pose (COCO and MPI), face and hand models ----- ------------------------- POSE (BODY+FOOT) MODELS ------------------------- Body (BODY_25) --2023-08-31 06:35:26-- http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel Resolving posefs1.perception.cs.cmu.edu (posefs1.perception.cs.cmu.edu)... 128.2.220.57 Connecting to posefs1.perception.cs.cmu.edu (posefs1.perception.cs.cmu.edu)|128.2.220.57|:80... failed: Unknown error. Retrying. --2023-08-31 06:35:48-- (try: 2) http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel Connecting to posefs1.perception.cs.cmu.edu (posefs1.perception.cs.cmu.edu)|128.2.220.57|:80... failed: Unknown error. Retrying. --2023-08-31 06:36:11-- (try: 3) http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel Connecting to posefs1.perception.cs.cmu.edu (posefs1.perception.cs.cmu.edu)|128.2.220.57|:80... failed: Unknown error. Retrying.
調べてみると、このサーバーがよく落ちるよう。
ただ、この投稿を見ると、DropboxとかKaggleとかにあげてくれている人がいるので、そこから手動でダウンロードする。
こちらのKaggleのデータを使わせてもらった。
先ほどのバッチファイルの中身を見てみると、以下の3つを所定の場所にダウンロードするようになっていた。
ダウンロードしてその通りに配置する。
- pose_iter_584000.caffemodel -> models/pose/body_25フォルダ
- pose_iter_116000.caffemodel -> models/faceフォルダ
- pose_iter_102000.caffemodel -> models/handフォルダ
デモ実行
早速動画データをOpenPoseにかけてみる。
使うデータは、YOLO試しのときに使ったのと同様、MOT16のものにする。
PowerShellで、bin/OpenPoseDemo.exeを実行する。
--image_dir
オプションで、画像ファイルのディレクトリを指定可能。
実行結果。
(base) PS C:\work\openpose_test\openpose> .\bin\OpenPoseDemo.exe --image_dir ..\..\MOT16\train\Mot16-09\img1\ Starting OpenPose demo... Configuring OpenPose... Starting thread(s)... Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0. OpenPose demo successfully finished. Total time: 56.761785 seconds. (base) PS C:\work\openpose_test\openpose>
なんだかできてる感じ。
これがディレクトリ内の全画像に対して実施された。
※MOT16データは連番の静止画になっている。
ただし、exeを実行すると、専用のウィンドウが現れて、検出した骨格を元画像に重畳して表示して、それで終わり。
データとしては残っていない。
今回はここまで
ひとまず動くのは確認できた。
このデモのexeだけでも、ほかに色々オプションがあったので、もう少し試してみる。