cedro-blog

Kapaoで、人物検出と姿勢推定を行う

1.はじめに

 通常、姿勢推定などのタスクではヒートマップを使った回帰の手法を使いますが、今回ご紹介するのはヒートマップを使わずに姿勢推定を行うKapaoという技術です。

*この論文は、2021.11に提出されました。

2.Kapaoとは?

 通常、姿勢推定などのタスクではヒートマップを使った回帰のアプローチを取りますが、生成と後処理に大量の計算処理が必要です。

 Kapao(Keypoints and Poses as Objects)は、もっと処理効率を上げるために、画像を細かなグリッドに分割して、人間のポーズオブジェクトキーポイントオブジェクトを同時に検出・融合し姿勢推定を行います。

 下記は、Kapaoのネットワークの概要です。入力画像を深い畳み込みネットワークでマッピングし、ポーズオブジェクトとキーポイントオブジェクトをそれぞれ検出した後、この2つの情報を融合し結果を得ています。

 では、早速コードを動かしてみましょう。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンクをクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 

 最初に、指定動画をYoutubeからダウンロードして変換するデモを demos/flash_mob.py を使って行います。–weights で学習済みパラメータの指定、–start で変換開始時間(秒)の指定、–end で変換終了時間(秒)の指定を行います。

 作成された動画 flash_mob_inference_kapao_s_coco.mp4 のコーデックは MPEG4 Video で、このままでは扱いにくいので汎用性のあるコーデック H.264 に変換し flash_mob.mp4 で保存します。

 動画を再生します。

 

 次に、movieフォルダーの動画を変換するデモを test.py を使って行います。–name で動画の指定、–weights で学習済みパラメータの指定、–start で変換開始時間(秒)の指定、–end で変換終了時間(秒)の指定を行います。

 自分の動画でやりたい場合は、movieフォルダーに自分の動画をアップロードして、その動画を指定して下さい。

 作成された動画 output.mp4 のコーデックは MPEG4 Video で、このままでは扱いにくいので汎用性のあるコーデック H.264 に変換し out.mp4 で保存します。

 動画を再生します。

では、また。

(オリジナルgithub)https://github.com/wmcnally/kapao

2022.1 colabアップデート

リンク:https://github.com/cedro3/kapao/blob/master/kapao_latest.ipynb

(twitter投稿)