カテゴリー: DeepLabCut

  • DeepLabCut2.3のインストール方法[2023年12月更新]

    DeepLabCut2.3のインストール方法[2023年12月更新]

    今回の記事ではDeepLabCutのインストール方法について説明していきます。

    参考サイト
    ・日本語サイト
    https://qiita.com/auditorycortex/items/1b3a55101cddf09553b2
    ↑非常にわかりやすい。とりあえずこれに従っておけば大丈夫なはず

    https://note.com/sakulab/n/n9caeb32d74d6
    ↑画像付き

    DeepLabCutホームページ
    GitHub

    インストール方法

    動作環境
    ・Windows 10
    ・NVIDIA 2060 SUPER, NVIDIA 1080 Ti, NVIDIA 3080で動作確認
    (NVIDIA 1060 SUPERでは動作せず)
    ・DeepLabCut 2.1
    ・NVIDIA Driver 最新版
    ・Anaconda3
    ・Python 3.8
    ・CUDA 11.8
    ・tensorflow-gpu 2.5

    手順
    まず初めに、GitHubのサイトのマスターファイルをダウンロードしておきます。

    Codeの”Download ZIP”よりダウンロードすることができます。

    次に、AnacondaのサイトからWindows 10 64bit版をダウンロード、インストールします。

    NVIDIAのドライバーをインストールします。(もともとインストールされている場合はスキップします。)

    DeepLabCutのサイトの下のほうへとスクロールし、右側の ”DOWNLOAS CONDA FILE” をクリックし、
    DEEPLABCUT.yamlをダウンロードします。

    PCのどこかにDeepLabCutフォルダーを作り(デスクトップ、もしくはCドライブのディレクトリがおすすめ)、その中にenvironmentフォルダーをつくりましょう。
    そして、そのファイルの中に先ほどダウンロードしたDEEPLABCUT.yamlのファイルを入れます。
    これは人の好みによりますが、僕は環境ファイルはある一定のところへと保存したい派ですので、このようにしております。

    Anaconda Promptを管理者権限で起動します。(なんか黒い文字ばっかのターミナル、もしくはコマンドプロントのような画面が出てくる)
    Anaconda PromptはAnacondaをダウンロードした際に、一緒に入っており、PCのソフト一覧から見つけることができると思います。

    さきほどダウンロードしたDEEPLABCUT.yamlファイルをつかって仮想環境を構築します。
    Anaconda Promptで

    conda env create -f C:\(DLC-GPU.yamlファイルの場所)\DEEPLABCUT.yaml

    と入力しましょう。
    DEEPLABCUT.yamlファイルの場所は、ファイルのプロパティから確認することができるので、そこから確認し、入力しましょう。

    このコードを動かすと、いろいろダウンロードなどをするかと思います。
    その後、作った仮想環境に入りましょう。

    conda activate DEEPLABCUT

    すると、(base)から(DEEPLABCUT)に代わっていると思います。
    そこまでいけばとりあえずは成功です。

    次に、CUDAとcuDNNをインストールします。

    conda install -c conda-forge cudnn

    これによって、CUDA toolkitとcuDNNをいい感じのバージョンをダウンロードしてくれます。

    その後、以下の4つのコードを入力し、インストールします。

    pip install numpy
    pip install deeplabcut
    pip install imgaug
    pip install torch

    DeepLabCutをアップデートし、インストールは完了です。

    pip install --upgrade deeplabcut

    ここまで出来たら、一度起動してみましょう。

    conda activate DEEPLABCUT
    python -m deeplabcut

    を入力することで、DeepLabCutのGUIを起動させることができます。

    DeepLabCutがGPUで動いてくれない時の対処

    trainingを開始してみたら、あれ?遅くね?ってなることがあります。
    それはGPUでDeepLabCutを動かしたいはずが、CPUで動かしてしまっているからです。

    よくある原因はCUDA, cuDNN, tensorflowのバージョンが合致していないという問題です。

    tensorflowなどは最新版にどんどん更新されていきます。
    なので、たまにうまくいかなくなることがあります。

    最新のバージョン情報に関しては、DeepLabCutのGitHubで確認してみてください。

    以上がインストール方法でした。
    次回以降は使い方を説明していきたいと思います。

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください

    追記 1

    DeepLabCutと同様に、行動のトラッキングを行うツールである”SLEAP”のインストール方法についても記事に書きました。

    SLEAPもDeepLabCutに負けないツールなので、ぜひ使って見てください。

  • 深層学習を用いた行動解析ツール DeepLabCut

    深層学習を用いた行動解析ツール DeepLabCut

    (上の画像が論文へのリンクとなっています。)

    生物学における行動解析は非常に重要な実験であり、特に脳の理解には行動を正確に定量が必要不可欠です。

    従来ではマーカー(センサーなど)を実験対象(人や実験動物など)に用いることによってポーズ推定を高精度で行うことができました。
    しかし、センサーを用いるということは実験対象にとっては邪魔なものとなり、それによって行動が変わったり、行動の制約が生まれたりする。

    マーカーを用いない方法として、スケルトンモデルを適用するという方法があるが、スケルトンモデルの開発は時間がかかり、大規模に行うこととなリマス。
    画像からポーズ推定のシステムもあるが、これはポーズ推定に伴うデータ量が膨大となり、これもまた設備の問題で一研究室が行うには非常に困難でした。

    DeepLabCutではパソコン一つあれば誰でも、そして非常に簡単にポーズ推定を行うことができます。
    深層学習を用いた画像認識によって、マーカーレスで、そして自分の好きなところを認識し追跡することができます。

    また、深層学習によりマーキングしているため、撮影した動画を補正することなく解析することができます。
    つまり、解析しようとするフィールドの光が均一でなくても、また角度によって映像が多少歪んでいたとしても、トラッキングすることができます。

    DeepLabCutの開発した研究室のページはこちらから。
    GitHubについてはこちらから。

    実際にDeepLabCutを使用してみて、解析に用いるパソコンのスペックとして、GPU(グラフィックボード)のメモリが8GB以上というのが必要であるとわかりました。
    ゲーミングPCのGPUではミドルエンドからハイエンドのGPUであり、普段使用しているノートパソコンでは快適な解析はできないことがわかりました。

    ただそのようなハイスペックのパソコンがなくともGoogle Colaboを使うことによって仮想GPUを使用し、解析をすることができます。
    ただまだやったことはないですが・・・。

    実際の解析では、プロットの精度は非常に高いと感じました。
    ただ学習させるデータと違う背景であったりすると、うまく解析してくれないことがよくあり、学習させるデータは実際に自分が解析したい環境を想定し、それに近い環境の学習データが良いと感じました。

    DeepLabCutは自分の興味のある数カ所のプロットだけではなく、解析に使わなくとも調べたい実験対象のある程度の骨格など全体をプロットすることで、よりプロットの精度が良くなることが論文で示されていました。
    また、学習し、解析したあとでうまくいかない時には、そのうまくいかないフレームを排除したり、新たな学習のデータセットを追加したりでき、学習を能動的に改善することができます。

    DeepLabCut自体使い勝手は非常に良く、誰でも簡単に使用することができます。
    ぜひ解析に使ってみてはいかがでしょうか。

    DeepLabCutのインストールや使い方の説明を今後していきたいです。