6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Colab上で動物骨格推定モデルを実行した

Posted at

1. はじめに

以前から動物の骨格推定の例が無いか気になっていました。調べたところ、既存のモデルで意外と簡単に試せました。
Google Colab上で、動物骨格推定モデルに自前の画像を入力して推定させるまでの流れとその結果を紹介します。

2. 環境構築

ailia SDKの「AnimalPose」を使います。

下記のコマンドをcolabのセルに入力・実行し、ailia-modelsをクローンします。

!git clone https://github.com/axinc-ai/ailia-models.git

colabを開いてからカレントディレクトリを変更していなければ、/content下にローカルリポジトリが作られます。

クローンしたリポジトリをカレントディレクトリにし、必要なパッケージをインストールします。

%cd /content/ailia-models

!pip install -r requirements.txt

3. 動物骨格推定を実行

サンプル画像を入力とした場合

まずはリポジトリに含まれるサンプル画像で動物の骨格推定を試してみます。
pose_estimation/animalposeに移動しanimalpose.pyを実行します。

# pose_estimation/animalposeに移動し、試しに実行してみる
%cd /content/ailia-models/pose_estimation/animalpose

!python3 animalpose.py --input input.jpg --savepath output.jpg

実行に成功すると、animalposeディレクトリにREADMEの通りに推定された骨格が描画された画像output.jpgが出力されます。

output.jpg

自前の画像を入力とした場合

今回は下のウサギの画像を入力とします。

img.jpg

この画像を、Google Colabのファイル上にアップロードします。
(/content下にアップロードした前提とします。)

upload.png

骨格推定の実行方法はサンプル画像の時と同様です。

# サンプル画像以外の画像をモデルに入力する
!python3 animalpose.py --input /content/img.jpg --savepath /content/test_result.jpg

実行に成功すると、下図のように骨格推定の結果が確認できます。
後ろ足を見つけられていないようですが、概ね骨格推定ができているかと思います。

test_result.jpg

動画を入力とした場合

--videoオプションに動画ファイルのパスを指定することで、動画に対しても骨格推定を行えるようです。

# 動画を入力として骨格推定を実行
!python3 animalpose.py --video /content/video.mp4 --savepath /content/output.mp4

注意点として、元のソースコードをcolabで実行するとcv2.imshowの使用箇所でエラーが発生します。

animalpose.py 363-364行目372行目をコメントアウトすれば、推論を実行できます。

output.gif

精度は微妙ですが、骨格推定の結果が描画された動画を出力できました。

4. おわりに

環境構築の観点から、MMPoseのモデルを使うよりも簡単に動物骨格推定を試せました。
手間のかかる導入無しに動物骨格推定を試したい時にお勧めできます。

5. 参考

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?