Windows11にDeepLabCut3.0をインストールし、ラベルのついた動画を作成するまで。
anacondaは使いません。
2024/3/31に利用規約が改訂され、無償で使える条件がかなり狭くなりました(利用規約)
用意するもの
WindowsPC (GPU搭載)
動画ファイル(ここで使っているデモファイルはDeeplabcutが提供しているm3v1mp4.mp4)です)
手順
1 仮想環境を作成
2 DeeplabCutのインストール
3 画像にラベル付け
4 学習
5 評価
6 分析
7 ビデオ作成
1 仮想環境を作成
(インストール作業により、今まで動いていた他のものが動かなくなると困るので個別の環境をつくります)
python -m venv dlc
3. 作った名前の仮想環境に入ります
.\dlc\Scripts\activate
先頭に (dlc) とついていればOK
2 DeeplabCutをインストール
仮想環境(dlc)の中にDeeplabCutをインストールします。(2025/05/30時点の最新ver)
pip install deeplabcut[gui,modelzoo,wandb]==3.0.0rc8
DeeplabCutを起動します
python -m deeplabcut
インストールしたバージョンのdeeplabcutの画面です
3 画像にラベル付け
ラベル付けするにあたって、まずはプロジェクトを新規作成します
-
Create New Project
を選択
・プロジェクト名や氏名を入力
・Bodypats to track にはラベル付けしたい箇所の名前を入力します
・Brows folders for videos では動画のフォルダを選択した後、必要な動画以外✓をはずします
・Copy videos to project folder を✓してフォルダ内に動画をコピーしておきます
-
Create
をクリックすると lacation の場所に作成されます -
内容を変更するには
Edit Config.yaml
を選択します。
(bodypartsの名前や、印の大きさ、色、静止画の枚数など変更できます)
-
Extract Frame
タブで動画から静止画を作成します(初期値20枚)
抽出方法(自動、手動)、手法(クラスタの平均か、時間か)、トリミングの範囲などを指定することができます
(今回はこのままの指定でExtract Frame
をクリック)
-
作成された静止画にラベル付けをします
Label frames
タブ内Label frames
ボタンをクリック -
ラベル付けをしたデータをもとに学習するためのデータセットを作成します。
Create training dataset
タブで重みの初期化やモデルの種類を選択します。
(今回はこのままの指定でCreate training dataset
をクリック
4 学習(Train network)
データセットをもとにTrain network
タブで学習方法を選択します
shuffle 複数のシャッフルデータセットを作成可
Display iterations トレーニングの状況表示間隔
Maximum epochs データセットの反復回数
Number of snapshots to keep 保存するスナップショット数
save_epochs スナップショット保存の間隔(エポック単位)
5 評価(Evaluate network)
学習済のモデルを評価します
plot predictions
に✓をいれると評価画像に予測をplotします
評価された画像はevalutaion-results-pytorch
フォルダ内に保存されます。
(自分がラベリングしたポイントとの誤差を確認できます)
6 分析(Analyze videos)
ビデオを分析し、ラベリングしたポイントの座標をCSVファイルに保存することができます
Select videos
で分析したいビデオを選択します
csvファイルに残したい場合は Save results as csv
に✓をいれる
視覚的に軌跡を表示したい場合はPlot trajectories
に✓をいれる
videoフォルダ内に結果のファイルが保存されます
7 ビデオ作成(Create videos)
学習した内容を元にラベルの位置を予測したビデオを作成します
Draw skeleton
骨格の接続(bodyparts間)
Create videos
をクリックするとvideoフォルダにラベルの付いた動画が保存されます