次のネタ。
OpenPoseを使って、画像からの人の姿勢推定をやってみたい。
概要
こちらはOpenPose本家のGitHubページ。
リポジトリの最終更新は2023年7月だが、最新リリース版は2020年11月のv1.7.0になっている。もう開発は止まっているのかもしれない。
コードはC++メインで書かれているよう。
できればPythonから使いたい。
C++も使えれば、それはそれでいいのかもしれないが。
Pythonから使う方法を調べてみる。
やり方候補
PythonからOpenPoseを使う方法はいくつか見つかった。
スタンダードなやり方、というのはいまいちなかった。
OpenPoseの学習済みモデルを、OpenCVのdnnモジュールで読み込む
割とシンプルか?
learnopencvというGitHubリポジトリで公開されているサンプルを使っている。
GitHub - spmallick/learnopencv: Learn OpenCV : C++ and Python Examples
使っているのはCaffeというフレームワーク(上で学習した学習済みモデル)になるが、これは2018年にPyTorchにマージされたとのこと。
今からこれを使うのは将来性が良くないか?学習し直したいとかなった時に。
tf-pose-estimationリポジトリを使う
使っているリポジトリを見てみると、最終更新日は2018年2月になっている。
ちょっと古い。
公式の最新リリース版より古いので、最新のアップデートが取り込まれてないと思われる。
OpenPoseをTensorFlowで実装したものとのこと。
pytorch-openpose
こちらはPyTorchでの実装。
使っているGitHubリポジトリは、最終更新は2021年6月。
一番新しいOpenPoseコードは使われていそうか?
OpenPose公式のドキュメント
Pythonからの使用について、公式GitHubリポジトリでドキュメントとサンプルコードがある。
↓ ドキュメント
↓ サンプルコード
公式だから一番安心か?
ただ、これを使った記事が見当たらなかったのが気になるところ。
ちゃんと動作実績あるのか?
やり方選択
まず公式サンプルコードを動かしてみたいと思う。
公式というところを重視。
動作実績が見当たらないので、うまくいかないかもしれない。
その場合、ほかのやり方でやり直すことにする。