追加情報 2024.8.1
Deeplabcutのバージョンが2.3になりました(2023)
旧バージョンとは違い、インストール方法が簡単です。
ubuntu22.04 で deeplabcut をインストールする際は CUDA11.7 cuDNN11.x にしてください。
CUDA12 とcuDNN12を入れるとdeeplabcutが動かない可能性があります。2023/2/1
ここではubuntu22.04,cuda11.7,cuDNN11.x,anaconda が既にインストールされている環境でやっています。
ここで使用した環境設定はこちらのページを参考にしています。
Anacondaのインストールまで行ったら仮想環境をつくって入っておいてください。
conda create -n お好きな仮想環境名
conda activate 作った仮想環境名
あと、好きな動画ファイルを1つ用意しておいてください。
Deeplabcutインストール
pip install 'deeplabcut[gui,tf]'
この1行で終わり。すごい簡単!!
次にDeeplabcutの起動
python3 -m deeplabcut
操作方法
用意した動画で簡単な学習をやってみます。
- まずはウィンドウ下の
Create New Progect
をクリック
プロジェクト名や名前を入力、使用するビデオを選択。
copy video に☑をいれてCreate
ボタンをクリックします。
デスクトップにプロジェクト名-名前-日付のフォルダが作成されます。
(中身はこんな感じです)
config.yamlファイルを編集することで表示名や数、色など変更可能ですが、
ここでは初期設定のまま進めます。
Extract frames
Extract frames
タブに移ります
training datasetを作るために、動画から複数のフレーム(画像)を抽出します
そのままExtract Frames
ボタンをクリック。
デスクトップに作成されたフォルダのlabeled-dataフォルダ内に静止画が作成されます。
Label frames
抽出したフレームに映る対象物の特定の部分(鼻、耳、尻尾など)をラベルして正解画像として使うためです。
保存された静止画を呼び出しますのでLabel Frames
ボタンをクリックします。
napari
ウィンドウが立ち上がり
一枚目の静止画が表示されます。
マーカーの大きさはpoint size
で変更できます。
(ただし、実際に動画生成されるときのマーカーサイズは.yamlファイルに記述されているサイズになります)
指定箇所にマーカーを付け、ウィンドウ下のバーをクリックして2枚目に移ります。
すべて(20枚)の静止画にマーカーをつけたら、保存します。
File
メニューよりFile Save Selected Layer(s)
を選択します。
File
メニュー`または×ボタンで閉じます。
Create training dataset
作成したラベルデータを使ってtraining datasetを作成します。
- 「network architecture」は使用するNeural Network
- 「augmentation method」は画像拡張(augmentation)のアルゴリズムを選択します。
※画像拡張とは、学習時にモデルの汎化性能向上や推論精度の底上げを目的に、ラベル画像に対して様々な変換を掛けて画像を増やすことです。その他のオプションは複数のモデルを比較するためのものです。
今回は全てデフォルトのままでおこないます。Create Training Dataset
をクリックします。
Train network
- 「Display iterations」は反復する間隔
- 「Save iterations」は保存する間隔
- 「Maximum iterations」は反復回数
ここでは100 1000 50000と指定しています
。
Train Network
をクリックすると学習がスタートします。
Evaluate network
トレーニングを評価します。
Evaluate Network
をクリックします。
Analyze videos
学習させたモデルを使って動画を解析する
Analyze videos
タブをクリック
- 「Select videos」で解析(推測)する動画を指定します。
- 「Save result(s) as csv」は、ラベル位置のXY座標をCSV形式で出力できます。
- 「Filter predictions」は、ラベル部位の推定に前後のフレームの情報も使用できます
(前後のフレームの情報も考慮すると推定の精度が上昇するときがあります。)
Analyze videos
をクリックします。
create videos
作成したラベルを使って、動画を作成します。
Create videos
タブをクリック
-
Draw Skeleton
・・・骨格ラインを表示します
Build skeleton
ボタンをクリックすると骨格ラインの設定ができます。
マーカーをつなげてexport
をクリックします(画面はなにも反応しないですが保存されるのでXで閉じます)
Create videos
をクリックすると動画がvideoフォルダ内に作成されます。
マーカーの大きさや骨格ラインの色は.yamlファイルを加工してます
補足
〇作成した動画をみて「もう少しマーカーを小さくしたいなー」と思った時は
1.作成した動画を消す or 名前を変更する (作成済のファイルがあると新しく作成されません)
2.デスクトップに作成されたフォルダ内の.yamlを修正、保存
3.fileメニューよりopenで.yamlを指定しプロジェクトを呼び出す
4.Analyze videos を走らす
5.create videos を走らす
です。