タグ: 行動解析ツール

  • 物体認識を使った新しい行動解析ツール”YORU”とは一体なんなのか

    物体認識を使った新しい行動解析ツール”YORU”とは一体なんなのか

    2024年11月にbioRxivにこれまでの行動解析ツールとは異なる手法を使ったYORUという行動解析ツールについて発表されました。
    今回はそのツールについてどのようなツールなのかを解説していきたいと思います。

    YORUのプレプリント

    YORUのドキュメント

    YORUとは

    YORUとは深層学習を使った動物の行動解析ツールです。

    YORUのサイトより引用


    これまでもDeepLabCutSLEAPといった深層学習を使ったツールは多く公開されています。
    これらのツールは深層学習と用いて動物の体の部位をトラッキング、そして姿勢推定を行うツールです。(ここではトラッキングツールと呼びます。)

    姿勢を推定することによって、動物がどのような姿勢をしているのかを明らかにし、行動解析を行います。

    これに対して、YORUは物体認識というアルゴリズムを用いて行動を認識します。
    簡潔には、身体部位のトラッキング等は行わず、動物の行動している様子から行動を直接定義します。

    人がりんごやみかんを見分けるときに、形や色といったことを情報に見分けていると思います。
    物体認識では物体を分類することに長けているため、こういった見た目によるものの見分けを行います。

    これを動物の行動解析に用いることで、動物の行動をその見た目から分類します。
    YORUのツール内では、これを行動オブジェクト(Behavior object)と呼んでいます。

    トラッキングツールでは行動は点と線で認識され、YORUでは行動をボックスで囲われるように解析されます。

    物体認識による行動定義のメリット

    物体認識による行動のメリットとしては

    ・個体数が増えてもエラーが出にくい

    ・動物の向きに影響されにくい

    ・解析速度が速い

    ・トラッキングでは捉えにくい行動(マウスがうずくまるといったような行動)を捉えられる

    といったことが考えられます。

    トラッキングツールの弱点である、複数個体の行動解析を簡単に、かつ解析コストをかなり抑えて解析することが可能です。
    さらに、身体部位の位置情報による行動定義が困難な行動も簡単に解析可能です。

    例えば、手をあける、閉じるという行動を考えてみましょう。
    トラッキングツールであればカメラで指先をトラッキングして閉じている、開いているを定義すると思いますが、手を閉じたときに指先が見えなくなると、トラッキングできず、位置情報を正確に計算できなくなります。

    しかし、物体認識であれば手がひらいた状態と閉じた状態の手の形を見ているので、一部が見えなくなっても正確に捉えることが可能です。

    個体数増加に強いという理由に関しても、トラッキングツールであれば個体数が増えると、身体部位がどの個体なのかを割り振って、正確に各個体の行動をとらえなければなりませんが、YORUであれば各個体の形状のみで解析するため、個体の識別や各個体への割り振りを行う必要がありません。

    解析速度も速いため、リアルタイム解析が可能であり、ある行動をしたときに装置制御を行うといったことも可能であり、行動実験の自動化を行うことができます。

    物体認識による行動定義のデメリット

    もちろんデメリットもあり、

    ・一連の行動は捉えることができない

    ・個体識別は行えない

    ・未知の行動を捉えることはできない

    ・見た目でわかりにくい行動は捉えられない

    ・定義した行動の詳細がわからない

    といったことがあります。
    これらのデメリットは逆にトラッキングツールの強みとしても挙げられるところであり、どちらが優れているというよりは、メリット・デメリットをお互いに補完し合っているような感じです。

    そのため、実験者は状況に応じた適切な手法を選ぶ必要があります。

    YORUは何がすごいのか

    さて、YORUの根本に使われている物体認識による行動解析のメリット・デメリットを述べましたが、YORUは一体何がすごいのでしょうか。

    全てGUI化されている

    YORUではプログラミングを行うことなく、行動解析を行うことが可能です。

    これはDeepLabCutやSLEAPなどのツールも同様であり、生物学者にとってこれらの解析を使うための一助となります。

    デザイン


    YORUのデザインはこれまでのツールと違い、かなり研究ツールっぽくはない感じがします。

    リアルタイム解析を導入している

    YORUではこれまでのツールでは珍しく、リアルタイム解析のGUIが完備されています。

    リアルタイム解析のシステムを作るのはプログラミングがある程度できればそこまで問題ではありませんが、そうでないとかなりハードルが高いです。

    ただ、YORUでは全てプログラミングなしで、リアルタイム解析、さらには外部トリガーまでを行うことが可能になっています。

    多様な実験装置に適応可能である点

    リアルタイム解析の最も高いハードルとして、自身の実験系の装置を動かすコードとこれらの解析をどのように組み合わせるのかというのがあります。

    YORUではプラグインシステムを導入しており、外部装置を制御するプログラムを選ぶことができます。

    つまり、自身のシステムにあったプラグインを選択すれば良いのです。

    また、プラグインは自作することも可能であり、自身の装置の制御プログラムをプラグインにすることで簡単にYORUのリアルタイム解析と合致させることができます。

    これは他のツールにはない、かなり使いやすいシステムとなっています。

    最後に

    YORUは発表されたてで、まだまだ使いにくい点・ドキュメントの不足が目立ちます。

    しかし、これからこれらが整備されていくことによって、どのように使われていくのか非常に楽しみです。

  • Python Video Annotatorインストール方法

    Python Video Annotatorインストール方法

    Python Video Annotatorとは

    Python Video Annotatorとは、撮影した動画を解析、動画内のイベントを時系列的にノートすることができるアプリケーションです。

    神経科学や行動学の研究者が、動物の動画を撮影し、その動物たちの行動を解析、定量するためなどに利用することができます。
    例として、マウスの行動を記録する際に、舌を出す、尻尾を振る、耳を動かすなど、記録したい行動があったとします。
    それが、動画のいつ起こっていて、どれぐらいの時間継続しているのか。
    毎度動画を見て、エクセルに記録するのだと、定義した行動が多いとあまりに大変です。
    こういったツールを用いることで、動画にノートとして記録し、時間情報やイベント情報を取り出すことができます。

    元々、動物の行動を記録するアプリケーションとして、VCodeと呼ばれるオープンソースのソフトがありました。
    しかし、現在のパソコンのOSに対応していないという問題がありました。

    Python Video Annotatorでは、最新のPCに対応し、必要な機能は残しつつ、さらに外部のセンサー情報(圧力計など)やDeepLabCutなどの行動定量ツールと組み合わせることができ、非常に研究を行う人にとって有用なツールとなっています。

    インストール方法

    ホームページにインストール方法は詳しく書かれていますが、僕のパソコンではうまく入れることができませんでした。(多分そのままインストールしたら、元々インストールされているパッケージとの相性が悪かったのかもしれません。)
    そこで、GitHubのサイトに記載されている、Anacondaを使って仮想環境を構築、インストールするという方法を行いました。

    言葉で言うと難しそうですが、やることは非常に簡単です。
    現在(2021年10月20日地点)では最新のmacOS(Big Sur 11.6)には対応していないらしく、近日中に改善されると思われます。
    なので、今回はWindowsを例にとって説明します。

    ただ、macOSでもAnacondaを入れて、condaコマンドを使えるようにしてからは基本的には操作は一緒なので、使えるようになったら参考にしてください。(詳しくは前回の記事より)

    Anacondaをインストールし、Anaconda promptを開きます。
    そして、仮想環境を作成し、仮想環境をアクティベートしましょう。

    conda create -n videoannotator python=3.6
    conda activate videoannotator

    その後、必要なパッケージをインストールします。

    pip install opencv-python-headless pyqt5==5.14.1 pyqtwebengine==5.14.0

    その後、python Video Annotatorをインストールします。

    pip install python-video-annotator

    色々処理が終わったらインストール完了です。

    起動するときは、仮想環境をアクティベートしてから、実行します。

    conda activate videoannotator
    start-video-annotator

    これでソフトが起動したら完了です。