基礎編 主要ソフトウェアの使い方
5 DeepLabCutの使い方
動物行動解析の定量化や自動化が求められるなか,DeepLabCutは,高精度かつ手軽に個体の姿勢推定を実現する革新的なツールとして人気を博している.追跡対象が視認できればラベル付けが可能で,GUI※1も備えているため,専門知識がなくても使用できる点が特に支持されている.転移学習により,どのような動物に対しても,髭などの微細な構造に対しても,最小限のトレーニングデータで対応可能である.近年では,マルチアニマルやリアルタイム解析や3次元トラッキングといったニーズにも対応している.本稿ではDeepLabCutのインストール方法から追跡対象のラベル付け,学習,ラベルを予測した動画を作成するところまでを紹介する.
※1 GUI
Graphical User Interface(グラフィカルユーザーインターフェース)の略で,コンピューターの画面上で,アイコンやボタンなどのグラフィック要素を使って視覚的に操作できるユーザーインターフェース.
はじめに
DeepLabCutは,動物の動きや姿勢を動画から自動で読みとるためのツールである.わずかな手作業で動物の体の一部,頭や足や関節などの特徴を覚えさせると,あとは多量の動画でも自動で対象とした部分を追いかけてくれる1).行動解析に必須となるトラッキングの作業を大きく助けてくれる便利な技術だ.
Python 3.10がインストールされていれば,Windows,Linux,macOSで実行可能である.以降,OSとして最もポピュラーなWindowsを対象として書き進める.ただし推奨はLinux(Ubuntu)である.DeepLabCutに限ったことではないが深層学習モデルのほとんどはLinux環境で開発されている.これから深層学習を本格的に導入しようとしているなら,GPU付きのLinux PCの導入を考えるとよい.
また,macOSは後述するNVIDIA製のGPUとの相性が悪く深層学習のプラットフォームとしては使いにくかったが,近年AppleSilicon(M1以降のMac)の搭載とともに導入されたUnified Memoryは深層学習との相性が非常に良く,DeepLabCutのための良いGPU環境を提供している.ちなみに巨大なUnified Memoryを搭載したMac miniやMac Studioは,昨今の大規模言語モデルのローカルサーバーとしての地位を築いている.
GPUはある?
深層学習モデルのトレーニングにはGPUが必要である.GPUはGraphics Processing Unitの略で,その名の通り元々パソコンのディスプレイへ送り出す画像を処理するための演算器として開発された.しかし現在では,その並列処理機能が深層学習にはなくてはならない存在となっている.深層学習が従来のパソコンの中央演算器であるCPUで稼働しないというわけではないが,計算時間の差は非常に大きくCPUでの演算は非現実的である.DeepLabCutの利用においても同様である.まずGPUを使える状況にしておくことが肝要である.ただし手元にGPUがなくてもクラウドのGPUを利用するという手もある(後述).
1. GPUの確認
GPUの有無はタスクマネージャーで確認できる.
- 画面下のタスクバーを右クリックして,「タスクマネージャー」を起動
- 左端の「パフォーマンス」アイコンをクリック
- 「GPU」が表示されていれば搭載されている(ドライバーのバージョンも記載されていればドライバーもインストール済み)
GPUのグラフィックメモリーは12 GB以上推奨.グラフィックメモリーは多ければ多いほうがいい(メインメモリーも同様で32 GB以上推奨で,多ければ多いほうがいい).NVIDIA製のGPU推奨であるが,Apple Silicon搭載のMacではUnified MomoryがGPUメモリーとして動作しDeepLabCutも使用可能(後述).GPUがない場合は,Google Colab※2でGPUを使用することができる(後述).
2. GPUドライバー
GPUが手元に用意できた人は,OSにGPUドライバーをインストールする必要がある.これらはGPUとOSを接続し,グラフィック機能が正常に動作するために必要なソフトウェアだ.OSがGPUの機能を認識し,グラフィック処理を正しく行うために,GPUドライバーは不可欠な役割を果たす.また,ドライバーは使用するGPUに適したものがインストールされている必要がある.
GPUドライバーはNVIDIAのホームページよりダウンロードが可能である.使用するGPUの種類やOSのバージョンを選択することで,自分のパソコンにインストール可能なドライバーを検索することができる*1.
*1 https://www.nvidia.com/ja-jp/drivers/
3. CUDA
次にCUDAのインストールである.CUDA(Compute Unified Device Architecture)は,NVIDIAが開発したGPU向けの並列コンピューティングプラットフォームだ.GPUの並列処理能力を最大限に活用し,高速な計算を可能にするために使われる.逆に言うと,CUDAはNVIDIA製のため,必然的にGPUもNVIDIA製になる.GPUを購入する際に注意したい.
CUDAはNVIDIA DEVELOPERのページよりインストールが可能である.自分の環境に合わせたCUDA Toolkitをインストールするのだが,ここで注意したいのが,バージョンだ.最新のバージョンではなく,インストールするCUDAは使用するPyTorchのバージョンによって異なるので注意が必要だ*2.
*2 https://developer.nvidia.com/cuda-toolkit(CUDAインストール)
https://pytorch.org/get-started/previous-versions/(CUDAとPyTorchの互換性)
GPUがなくても大丈夫
DeepLabCutのプロジェクト管理とデータのラベル付けまではGPUがなくても進めることができる.それ以降の学習などの操作は無償でGPUを使用できるクラウドサーバーを使うことで,問題なく解析をすることができる.本稿の後半ではその無償サーバーとしてGoogle Colabを使った解析の仕方も併せて紹介する.
文献
1) Mathis A, et al:Nat Neurosci, 21:1281-1289, doi:10.1038/s41593-018-0209-y(2018)
続きは書籍にてご覧ください
