2
1

DEEPLABCUT2.3のインストールと操作

Last updated at Posted at 2023-03-23

追加情報 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

img1.png
ver2.3の起動画面です。

操作方法

用意した動画で簡単な学習をやってみます。

  1. まずはウィンドウ下のCreate New Progectをクリック
    プロジェクト名や名前を入力、使用するビデオを選択。
    copy video に☑をいれて Createボタンをクリックします。
    img2.png
    デスクトップにプロジェクト名-名前-日付のフォルダが作成されます。
    (中身はこんな感じです)
    img3.png
    config.yamlファイルを編集することで表示名や数、色など変更可能ですが、
    ここでは初期設定のまま進めます。

Extract frames

Extract framesタブに移ります
training datasetを作るために、動画から複数のフレーム(画像)を抽出します

そのままExtract Framesボタンをクリック。
img4.png
デスクトップに作成されたフォルダのlabeled-dataフォルダ内に静止画が作成されます。

Label frames

抽出したフレームに映る対象物の特定の部分(鼻、耳、尻尾など)をラベルして正解画像として使うためです。
保存された静止画を呼び出しますのでLabel Framesボタンをクリックします。
img5.png
napariウィンドウが立ち上がり
一枚目の静止画が表示されます。
img6.png

マーカーの大きさはpoint sizeで変更できます。
(ただし、実際に動画生成されるときのマーカーサイズは.yamlファイルに記述されているサイズになります)
指定箇所にマーカーを付け、ウィンドウ下のバーをクリックして2枚目に移ります。
すべて(20枚)の静止画にマーカーをつけたら、保存します。
FileメニューよりFile Save Selected Layer(s)を選択します。
Fileメニュー`または×ボタンで閉じます。

Create training dataset

作成したラベルデータを使ってtraining datasetを作成します。
img7.png

  • 「network architecture」は使用するNeural Network
  • 「augmentation method」は画像拡張(augmentation)のアルゴリズムを選択します。
    ※画像拡張とは、学習時にモデルの汎化性能向上や推論精度の底上げを目的に、ラベル画像に対して様々な変換を掛けて画像を増やすことです。その他のオプションは複数のモデルを比較するためのものです。
    今回は全てデフォルトのままでおこないます。Create Training Datasetをクリックします。

Train network

ラベルした画像を何度も反復して学習をおこないます
img8.png

  • 「Display iterations」は反復する間隔
  • 「Save iterations」は保存する間隔
  • 「Maximum iterations」は反復回数
    ここでは100 1000 50000と指定しています

    Train Networkをクリックすると学習がスタートします。
    img9.png

Evaluate network

img10.png
トレーニングを評価します。
Evaluate Networkをクリックします。

Analyze videos

学習させたモデルを使って動画を解析する
Analyze videosタブをクリック
img11.png

  • 「Select videos」で解析(推測)する動画を指定します。
  • 「Save result(s) as csv」は、ラベル位置のXY座標をCSV形式で出力できます。
  • 「Filter predictions」は、ラベル部位の推定に前後のフレームの情報も使用できます
    (前後のフレームの情報も考慮すると推定の精度が上昇するときがあります。)

Analyze videosをクリックします。

create videos

作成したラベルを使って、動画を作成します。
Create videosタブをクリック
img12.png

  • Draw Skeleton・・・骨格ラインを表示します
    Build skeletonボタンをクリックすると骨格ラインの設定ができます。
    skelton3.png
    マーカーをつなげてexportをクリックします(画面はなにも反応しないですが保存されるのでXで閉じます)
    Create videosをクリックすると動画がvideoフォルダ内に作成されます。

マーカーの大きさや骨格ラインの色は.yamlファイルを加工してます

補足
〇作成した動画をみて「もう少しマーカーを小さくしたいなー」と思った時は
 1.作成した動画を消す or 名前を変更する (作成済のファイルがあると新しく作成されません)
 2.デスクトップに作成されたフォルダ内の.yamlを修正、保存
 3.fileメニューよりopenで.yamlを指定しプロジェクトを呼び出す 
 4.Analyze videos を走らす
 5.create videos を走らす
 です。

2
1
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
2
1