1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows11にDeepLabCut3.0をインストール(GoogleColab利用)

Posted at

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 仮想環境を作成

(インストール作業により、今まで動いていた他のものが動かなくなると困るので個別の環境をつくります)

  1. コマンドプロンプトを起動
    検索欄に コマンドプロンプト と入力して探しだしてください。
    img1-1.png

  2. 仮想環境に名前を付けて作成します(ここではdlcにします)

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

img2.png

インストールしたバージョンのdeeplabcutの画面です

3 画像にラベル付け

ラベル付けするにあたって、まずはプロジェクトを新規作成します

  1. Create New Projectを選択
    ・プロジェクト名や氏名を入力
    ・Bodypats to track にはラベル付けしたい箇所の名前を入力します
    ・Brows folders for videos では動画のフォルダを選択した後、必要な動画以外✓をはずします
    ・Copy videos to project folder を✓してフォルダ内に動画をコピーしておきます
    img3.png

  2. Createをクリックすると lacation の場所に作成されます

  3. 内容を変更するにはEdit Config.yamlを選択します。
    (bodypartsの名前や、印の大きさ、色、静止画の枚数など変更できます)
    img4.png

  4. Extract Frameタブで動画から静止画を作成します(初期値20枚)
    抽出方法(自動、手動)、手法(クラスタの平均か、時間か)、トリミングの範囲などを指定することができます
    (今回はこのままの指定でExtract Frameをクリック)
    img5.png

静止画はlabeled-dataフォルダに作成されます
img6.png

  1. 作成された静止画にラベル付けをします
    Label framesタブ内Label framesボタンをクリック

  2. 別ソフト(napari)が起動します
    ここで20枚の静止画にbodyparts毎の印をつけていきます
    img7-1.png

  3. つけ終わったら保存してソフトを閉じます
    img8.png

  4. ラベル付けをしたデータをもとに学習するためのデータセットを作成します。
    Create training datasetタブで重みの初期化やモデルの種類を選択します。
    (今回はこのままの指定でCreate training datasetをクリックimg9.png

4 Googlecolabで学習

ここからはPCにとても負荷がかかります。
GPUがないと学習にめちゃくちゃ時間がかかるので、Googlecolab(仮のサーバー)にやってもらいます。(googleアカウントを取得しておいてください)

Googlecolab内にDeeplabCutをインストール

  1. Googlecolabでノートブックを新規作成する
    Googlecolabと検索し、Colabへようこそを選択、ノートブックを新規作成でOK(または既に用意されているこちらのipynbを利用してもOK)

  2. GPUを使いたいので、メニューのランタイムよりランタイムのタイプを変更から、GPUを選択しておいてください(T4 GPU)。

  3. 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

グーグルドライブにデータを移動

  1. 自分のPC内に作成したDeeplabCutのプロジェクトフォルダをグーグルドライブに移動します(マイドライブ内なら場所はどこでも結構です)
  2. 移動したフォルダにアクセスできるようにグーグルドライブをマウントします

from google.colab import drive
drive.mount('/content/drive')

3. アクセスの許可をもとめられるのでご自分のアカウントで接続してください
4. MyDriveフォルダ内に自分が移動させたDeeplabCutのプロジェクトフォルダがあるはずです
img10.png

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ファイルに保存します

  1. ビデオの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の契約で回避できます

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?