Windows11にDeepLabCut3.0をインストールする方法です
GPUが搭載されていない普通のノートPCでも学習をGoogleColabにお任せすれば大丈夫
(めちゃめちゃ初心者向けの内容となっています。)
GPUが搭載されているPCをお持ちの方はこちら
(GUPがあるかどうかは 画面下のタスクバーを右クリックして「タスクマネージャー」選択、左側の「パフォーマンス」アイコンをクリックしてGPUがあればOK)
anacondaは使いません。
2024/3/31に利用規約が改訂され、無料で使える条件がかなり狭くなりました(利用規約)
用意するもの
WindowsPC
好きな動画ファイル(ここで使っているデモファイルはDeeplabcutが提供しているm3v1mp4.mp4です)
手順
1 仮想環境を作成(自分のPC内)
2 DeeplabCutのインストール(自分のPC内)
3 画像にラベル付け(自分のPC内)
4 Googlecolabで学習
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 Googlecolabで学習
ここからはPCにとても負荷がかかります。
GPUがないと学習にめちゃくちゃ時間がかかるので、Googlecolab(仮のサーバー)にやってもらいます。(googleアカウントを取得しておいてください)
Googlecolab内にDeeplabCutをインストール
-
Googlecolabでノートブックを新規作成する
Googlecolab
と検索し、Colabへようこそ
を選択、ノートブックを新規作成
でOK(または既に用意されているこちらのipynbを利用してもOK) -
GPUを使いたいので、メニューの
ランタイム
よりランタイムのタイプを変更
から、GPUを選択しておいてください(T4 GPU)。 -
DeeplabCutのデモデータをGooglecolab内にコピーします。セル内に以下を入力し実行する
!git clone -l -s https://github.com/DeepLabCut/DeepLabCut.git cloned-DLC
5. DeeplabCutをインストールします
%cd /content/cloned-DLC/
%pip install "."
6. セッションが切れて、再起動するか聞いてくるので はい
7. DeeplabCutを起動します
import deeplabcut
グーグルドライブにデータを移動
- 自分のPC内に作成したDeeplabCutのプロジェクトフォルダをグーグルドライブに移動します(マイドライブ内なら場所はどこでも結構です)
- 移動したフォルダにアクセスできるようにグーグルドライブをマウントします
from google.colab import drive
drive.mount('/content/drive')
3. アクセスの許可をもとめられるのでご自分のアカウントで接続してください
4. MyDriveフォルダ内に自分が移動させたDeeplabCutのプロジェクトフォルダがあるはずです
5.このプロジェクトフォルダを読み込むためにconfig.yamlのpathを指定します
場所がわからない場合は次の方法でpathをコピペできます
(フォルダ内のconfig.yamlファイルを右クリックし、パスのコピー
をして、次の/content ~ /config.yaml
の中身を入れ替える)
config_path = '/content/drive/MyDrive/ご自分のプロジェクトフォルダの場所/config.yaml'
学習(Train network)
1. 指定した内容をもとに学習をします(数字は変更可)
shuffle=1, 複数のシャッフルデータセットを作成可(初期は1)
save_epochs=5, 5回毎にモデルを保存
epochs=200, データセットを200回反復処理
batch_size=8, 8枚の画像をまとめて学習
deeplabcut.train_network(config_path, shuffle=1, save_epochs=5, epochs=200, batch_size=8,)
評価(Evaluate network)
学習済のモデルを評価します
deeplabcut.evaluate_network(config_path, plotting=True)
評価された画像はevalutaion-results-pytorch
フォルダ内に保存されます。
(自分がラベリングしたポイントとの誤差を確認できます)
分析(Analyze videos)
ビデオを分析し、ラベリングしたポイントの座標をCSVファイルに保存します
- ビデオのpathを指定
videofile_path = ["/content/drive/MyDrive/プロジェクトフォルダ内の動画ファイルの場所.mp4"]
2.動画のpath、ビデオのタイプ、CSVを指定
deeplabcut.analyze_videos(config_path, videofile_path, videotype=".mp4", save_as_csv=True)
videoフォルダ内に結果のファイルが保存されます
ビデオ作成(Create videos)
学習した内容を元にラベルの位置を予測したビデオを作成します
deeplabcut.create_labeled_video(config_path, videofile_path)
作成された動画はvideo
フォルダ内に保存されます
視覚的に軌跡を描いた画像を保存することもできます
deeplabcut.plot_trajectories(config_path, videofile_path)
こちらもvideo
フォルダ内のplot-poses
フォルダに保存されます
90分ルールと12時間ルールに注意!!
Googlecolabは便利ですが、仮のサーバーなので使用時間が制限されています
90分ルール:なにもしないで90分経過するとリセット
(AutoRefresh で回避することも可)
12時間ルール:操作していても12時間経過するとリセット
リセットされるとGooglecolabにアップロードしたものがすべて消えます
(googledriveに保存したものはそのままです)
時間制限があると学習できない場合は、GPUを搭載したPCで行うか、Colab Proの契約で回避できます