AnimalPose : 動物の骨格検出モデル

Kazuki Kyakuno
axinc
Published in
Jun 30, 2021

ailia SDKで使用できる機械学習モデルである「AnimalPose」のご紹介です。エッジ向け推論フレームワークであるailia SDKailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。

AnimalPoseの概要

AnimalPoseは動物の骨格検出モデルです。動物を入力として20のキーポイントを出力します。牛の骨格も検出可能なため、農業の分野に応用が可能です。

出典:https://pixabay.com/ja/photos/%e7%89%9b-%e5%ae%b6%e7%95%9c-%e4%b9%b3%e7%89%9b-%e4%b9%b3%e7%94%a8%e7%89%9b-%e5%8b%95%e7%89%a9-5717276/

AnimalPoseのアーキテクチャ

AnimalPoseは汎用的な骨格検出フレームワークであるmmposeの一部として公開されています。AnimalPoseの学習済みモデルはhrnetを使用するものと、pose_resnetを使用するものが提供されています。

いずれも、TopDownアプローチのモデルで、一体の動物のキーポイントを検出します。そのため、最初にYOLOなどで動物を検出し、各動物のキーポイントをAnimalPoseで検出します。

AnimalPoseのデータセット

AnimalPoseの学習にはAnimalPoseDatasetが使用されています。AnimalPoseDatasetは、PASCAL2011データセットのアノテーションとして提供されています。

3000枚以上の画像に、5つのカテゴリ(dog, cat, cow, horse, sheep)で、合計5517インスタンスのアノテーションを付与しています。各インスタンスには20のキーポイント(4 Paws, 2 Eyes, 2 Ears, 4 El- bows, Nose, Throat, Withers and Tailbase, and the 4 knees points)が定義されています。

出典:https://sites.google.com/view/animal-pose/

AnimalPoseの使用方法

AnimalPoseを使用するには下記のコマンドを使用します。動画ファイルから骨格を検出します。

$ python3 animalpose.py -v input.mp4

モデルはデフォルトではyolov3とhrnet32が使用されます。-d yolox_mオプションを使用することでyolox_mを、-m hrnet48オプションを付与することでhrnet48を使用することができます。より高精度な出力が必要な場合は、これらのオプションをご利用ください。

実行例です。

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Kazuki Kyakuno
axinc
Editor for

CTO — ax Inc. , Managing Director — AXELL