勉強しないとな~blog

ちゃんと勉強せねば…な電気設計エンジニアです。

OpenPoseやってみる - 1

次のネタ。
OpenPoseを使って、画像からの人の姿勢推定をやってみたい。

概要

こちらはOpenPose本家のGitHubページ。

github.com

リポジトリの最終更新は2023年7月だが、最新リリース版は2020年11月のv1.7.0になっている。もう開発は止まっているのかもしれない。

コードはC++メインで書かれているよう。

できればPythonから使いたい。
C++も使えれば、それはそれでいいのかもしれないが。

Pythonから使う方法を調べてみる。

やり方候補

PythonからOpenPoseを使う方法はいくつか見つかった。
スタンダードなやり方、というのはいまいちなかった。

OpenPoseの学習済みモデルを、OpenCVのdnnモジュールで読み込む

割とシンプルか?

miyashinblog.com

learnopencvというGitHubリポジトリで公開されているサンプルを使っている。

GitHub - spmallick/learnopencv: Learn OpenCV : C++ and Python Examples

使っているのはCaffeというフレームワーク(上で学習した学習済みモデル)になるが、これは2018年にPyTorchにマージされたとのこと。
今からこれを使うのは将来性が良くないか?学習し直したいとかなった時に。

Caffe - Wikipedia

tf-pose-estimationリポジトリを使う

qiita.com

使っているリポジトリを見てみると、最終更新日は2018年2月になっている。
ちょっと古い。 公式の最新リリース版より古いので、最新のアップデートが取り込まれてないと思われる。

OpenPoseをTensorFlowで実装したものとのこと。

GitHub - ZheC/tf-pose-estimation: Openpose from CMU implemented using Tensorflow with Custom Architecture for fast inference.

pytorch-openpose

こちらはPyTorchでの実装。

self-development.info

使っているGitHubリポジトリは、最終更新は2021年6月。
一番新しいOpenPoseコードは使われていそうか?

GitHub - Hzzone/pytorch-openpose: pytorch implementation of openpose including Hand and Body Pose Estimation.

OpenPose公式のドキュメント

Pythonからの使用について、公式GitHubリポジトリでドキュメントとサンプルコードがある。

↓ ドキュメント

github.com

↓ サンプルコード

github.com

公式だから一番安心か?
ただ、これを使った記事が見当たらなかったのが気になるところ。
ちゃんと動作実績あるのか?

やり方選択

まず公式サンプルコードを動かしてみたいと思う。
公式というところを重視。

動作実績が見当たらないので、うまくいかないかもしれない。
その場合、ほかのやり方でやり直すことにする。

ここまで

今回はやり方選択まで。
次回、実際にOpenPoseをインストールしたり、GitHubリポジトリを取ってきたりしたい。