「喰う・書く・逃げる」に棲む処

 動物に関するデータ分析者のブログです

AIで動画から座標を推定するソフトウェア: DeepLabCut

みなさんは動画から座標を推定したことがあるでしょうか。おそらくこの記事にたどり着いてしまったほとんどの人は座標を推定しているか、したことがある人なのではないでしょうか。この記事では最初の一文を読んでイメージがわかない人、すなわち座標を推定する作業をしたことがない人向けに執筆しています。前置きはどうでもいいから早くDeepLabCutの使い方を知りたいという方はこちらへどうぞ。

krhb.hatenablog.com

動画の座標推定とは?

"ネズミの座標推定"
座標推定の例

この写真はネズミの足の動きをトラッキング(追跡)しているものです(キャプションのリンクに飛んでもらえればGIFで見られます)。座標推定とは動画の中の動く物体をトラッキングして座標の連続データを取得することです。もちろん動物だけでなく自動車や粒子の動きをトラッキングすることも可能です。座標推定に使うソフトウェアをトラッキングソフトと読んでいるのですが以下のようなものがあります。

MTrackJ
ImageJのプラグインですがImageJ本体のトラッキングソフトよりも遥かに扱いやすい。手動でトラッキングするなら絶対オススメ。ImageJのプラグインなので非圧縮形式のファイルでないと扱えない。

Kinovea
操作の直感的なわかりやすさはずば抜けている(個人的感想)。物体にマーカーが付いているか映像がキレイならば自動でトラッキングできる。手動でのトラッキングもできるが、一旦自動トラッキング機能を使ってトラッキングしてそれを修正していく作業になるのでそれなりに大変。

UMAtracker
自動トラッキング用のソフトウェア。おそらく動画を二値化してトラッキングしていると思われる。映像の条件が良ければ精度良く自動でトラッキングできる。

Dipp-Motion Ⅴ
歪み補正などかゆいところに手が届く機能が満載。精度は高くないが自動トラッキングもできる。一番のネックはソフト自体が高額なこと。

など...

これらの既存のソフトウェアは自動トラッキングできたとしても精度が低く、手動でのトラッキングに頼らざるを得ないのが現状です。そして、手動トラッキングの作業は時間と腱鞘炎、そして精神との戦いでもあります。そのような中、突如として出現したのがDeepLabCutなのです。

DeepLabCutとは?

DeepLabCutとはAIに欲しい座標の教師データを渡して学習させることで動画を自動的にトラッキングさせるソフトウェアです。Deep Learning の手法を用いることで画期的なトラッキング精度を実現しているようです。こちらの動画がDeepLabCutの性能を示す良い例なのではないかと思います。座標推定を経験された方ならこの動画で自動トラッキングできてしまうことに驚くことでしょう。一部の研究分野の界隈でざわついたのも納得です。

こちらの記事でも詳しく解説されていました。 marvin.news

ただ、このソフトウェアの推奨スペックは以下に示すとおり、それなりのハイスペックPCになります。

DeepLabCutを使ってみた感想としてはGPUを使うにしてもメモリは64GBぐらいはあったほうが良いと思います。私が使っているパソコンではDeepLabCutでメモリが40GB消費されることがありました。また、CPUだけでも運用は可能ですがCore i9-9900Kでも一回のトレーニングが自動終了するまで3日程度かかりました(一応、ほどほどのところで途中終了させることはできます)。トレーニングを3ラウンドするなら10日程度必要になるかもしれません。GPUに投資しておいたほうが無難でしょう。

パソコンに投資する余裕がないという方には次のような方法があるようです。 qiita.com

次の記事ではOSがUbuntuのPCへのインストールの仕方を解説していきます。GPUも使うとなるとオリジナルの論文の手順通りではうまく行かずなかなかにトリッキーでした。CPUのみならオリジナルの論文の手順に従えば動きます。

参考