Summary

Eine schrittweise Implementierung von DeepBehavior, Deep Learning Toolbox für automatisierte Verhaltensanalyse

Published: February 06, 2020
doi:

Summary

Der Zweck dieses Protokolls besteht darin, vorgefertigte konvolutionale neuronale Netze zu verwenden, um die Verhaltensverfolgung zu automatisieren und detaillierte Verhaltensanalysen durchzuführen. Verhaltensverfolgung kann auf alle Videodaten oder Sequenzen von Bildern angewendet werden und ist verallgemeinerbar, um jedes benutzerdefinierte Objekt zu verfolgen.

Abstract

Das Verständnis von Verhalten ist der erste Schritt, um neuronale Mechanismen im Gehirn, die es antreiben, wirklich zu verstehen. Herkömmliche Methoden zur Verhaltensanalyse erfassen oft nicht den Reichtum, der dem natürlichen Verhalten innewohnt. Hier bieten wir detaillierte Schritt-für-Schritt-Anleitungen mit Visualisierungen unserer aktuellen Methodik, DeepBehavior. Die DeepBehavior Toolbox verwendet Deep Learning-Frameworks, die mit konvolutionalen neuronalen Netzwerken erstellt wurden, um Verhaltensvideos schnell zu verarbeiten und zu analysieren. Dieses Protokoll veranschaulicht drei verschiedene Frameworks für die Erkennung einzelner Objekte, die Erkennung mehrerer Objekte und die dreidimensionale (3D) Personengelenkverfolgung. Diese Frameworks geben kartesische Koordinaten des Objekts zurück, das für jeden Frame des Verhaltensvideos von Interesse ist. Die aus der DeepBehavior-Toolbox gesammelten Daten enthalten viel mehr Details als herkömmliche Verhaltensanalysemethoden und bieten detaillierte Einblicke in die Verhaltensdynamik. DeepBehavior quantifiziert Verhaltensaufgaben auf robuste, automatisierte und präzise Weise. Nach der Identifizierung des Verhaltens wird Nachbearbeitungscode bereitgestellt, um Informationen und Visualisierungen aus den Verhaltensvideos zu extrahieren.

Introduction

Eine detaillierte Analyse des Verhaltens ist der Schlüssel zum Verständnis der Gehirn- und Verhaltensbeziehungen. Es gab viele spannende Fortschritte in der Methodik für die Aufzeichnung und Manipulation neuronaler Populationen mit hoher zeitlicher Auflösung, jedoch haben sich Verhaltensanalysemethoden nicht mit der gleichen Rate entwickelt und sind auf indirekte Messungen und einen reduktionistischen Ansatz beschränkt1. Kürzlich wurden Deep Learning-basierte Methoden entwickelt, um automatisierte und detaillierte Verhaltensanalysendurchzuführen 2,3,4,5. Dieses Protokoll bietet eine schritt für Schritt-Implementierungsanleitung für die DeepBehavior-Toolbox.

Herkömmliche Methoden zur Verhaltensanalyse umfassen häufig die manuelle Beschriftung von Daten durch mehrere Evaluatoren, was zu Einer Varianz bei der Definition eines Verhaltens durch Experimentatorenführt 6. Die manuelle Kennzeichnung der Daten erfordert Zeit und Ressourcen, die überproportional zur Menge der gesammelten Daten führen. Darüber hinaus reduzieren manuell beschriftete Daten die Verhaltensergebnisse in kategoriale Messungen, die den Umfang des Verhaltens nicht erfassen und subjektiver sein werden. Daher können die aktuellen traditionellen Methoden bei der Erfassung der Details in den natürlichen Verhaltensweisen begrenzt sein.

Die DeepBehavior-Toolbox stellt eine präzise, detaillierte, hochzeitliche und automatisierte Lösung dar, die Deep Learning für die Verhaltensanalyse verwendet. Deep Learning ist mit Open-Source-Tools und -Paketen schnell für alle zugänglich geworden. Convolutional neural networks (CNNs) haben sich bei Objekterkennungs- und Tracking-Aufgaben als hochwirksam erwiesen7,8. Mit modernen CNNs und Hochleistungs-Grafik-Verarbeitungseinheiten (GPUs) können große Bild- und Video-Datasets schnell mit hoher Präzision7,9,10,11verarbeitet werden. In DeepBehavior gibt es drei verschiedene konvolutionale neuronale Netzarchitekturen, TensorBox, YOLOv3 und OpenPose2.

Das erste Framework, Tensorbox, ist ein vielseitiges Framework, das viele verschiedene CNN-Architekturen für die Objekterkennungenthält 12. TensorBox eignet sich am besten zum Erkennen von nur einer Objektklasse pro Bild. Die resultierenden Ausgaben sind Begrenzungsrahmen des Objekts von Interesse (Abbildung 1) und der kartesischen Koordinaten des Begrenzungsrahmens.

Das zweite CNN-Framework ist YOLOv3, das für “You Only Look Once”13steht. YOLOv3 ist vorteilhaft, wenn es mehrere Objekte von Interesse gibt, die separat nachverfolgt werden müssen. Die Ausgabe dieses Netzwerks umfasst den Begrenzungsrahmen mit der zugeordneten Objektbeschriftungsklasse sowie die grenzgebenden kastenkarteschen Koordinaten des Objekts im Videoframe (Abbildung 2).

Die beiden vorherigen Rahmen sind vorteilhaft für generalisierte Verhaltensdaten, die aus Standardlaborexperimenten an tierischen Probanden erhoben wurden. Das letzte CNN-Framework ist OpenPose14,15,16, das für die Schätzung der menschlichen Gelenkpose verwendet wird. OpenPose erkennt menschliche Körper-, Hand-, Gesichts- und Fußschlüsselpunkte auf Bildern. Die Ausgänge des Rahmens sind beschriftete Bilder des menschlichen Subjekts sowie die Koordinaten aller 25 Schlüsselpunkte im Körper und 21 Schlüsselpunkte jeder Hand (Abbildung 3).

Diese detaillierte Schritt-für-Schritt-Anleitung für die Implementierung unserer kürzlich entwickelten Open-Source-Toolbox DeepBehavior verwendet modernste konvolutionale neuronale Netze, um das Verhalten von Tieren (z. B. Bewegung einer Pfote) oder menschliches Verhalten (z. B. Erreichen von Aufgaben) zu verfolgen. Durch die Verfolgung des Verhaltens können nützliche Kinematiken aus dem Verhalten wie Position, Geschwindigkeit und Beschleunigung abgeleitet werden. Das Protokoll erklärt die Installation der einzelnen CNN-Architekturen, zeigt, wie Trainings-Datasets erstellt werden, wie die Netzwerke trainiert werden, wie neue Videos im trainierten Netzwerk verarbeitet werden, wie die Daten aus dem Netzwerk auf den neuen Videos extrahiert werden und wie Sie die Ausgabedaten nachderverarbeitung, um sie für weitere Analysen nützlich zu machen.

Protocol

1. GPU und Python Setup GPU-SoftwareWenn der Computer zum ersten Mal für Deep Learning-Anwendungen eingerichtet ist, sollten GPU-geeignete Software und Treiber installiert werden, die auf der jeweiligen Website der GPU zu finden sind. (siehe Materialtabelle für die in dieser Studie verwendeten Materialien). Python 2.7 InstallationÖffnen Sie eine Eingabeaufforderung für die Eingabeaufforderung auf Ihrem Computer.Befehlszeile:…

Representative Results

Wenn das Protokoll befolgt wird, sollten die Daten für jede Netzwerkarchitektur den folgenden ähneln. Für TensorBox gibt es einen Begrenzungsrahmen um das Objekt von Interesse aus. In unserem Beispiel haben wir Videos von einem Lebensmittelpellet verwendet, das Aufgaben angeht, und die richtigen Pfoten beschriftet, um ihre Bewegung zu verfolgen. Wie in Abbildung 1 zu sehen,kann die rechte Pfote sowohl in der Frontansicht als auch in der Seitenansicht von K…

Discussion

Hier bieten wir eine Schritt-für-Schritt-Anleitung für die Implementierung von DeepBehavior, unserer kürzlich entwickelten Deep Learning-basierten Toolbox für die Analyse vonBildgebungsdatenfür tier- und humanes Verhalten 2 . Wir bieten detaillierte Erläuterungen für jeden Schritt für die Installation der Frameworks für jede Netzwerkarchitektur und stellen Links für die Installation der Open-Source-Anforderungen bereit, um diese Frameworks ausführen zu können. Wir zeigen, wie sie insta…

Disclosures

The authors have nothing to disclose.

Acknowledgements

Wir möchten Pingping Zhao und Peyman Golshani für die Bereitstellung der Rohdaten für Zwei-Maus-Tests zur sozialen Interaktion mit zwei Mäusen danken, die in der Originalarbeit2verwendet werden. Diese Studie wurde von NIH NS109315 und NVIDIA GPU Grants (AA) unterstützt.

Materials

CUDA v8.0.61 NVIDIA n/a GPU Software
MATLAB R2016b Mathworks n/a Matlab
Python 2.7 Python n/a Python Version
Quadro P6000 NVIDIA n/a GPU Processor
Ubuntu v16.04 Ubuntu n/a Operating System

References

  1. Krakauer, J. W., Ghazanfar, A. A., Gomez-Marin, A., MacIver, M. A., Poeppel, D. Neuroscience Needs Behavior: Correcting a Reductionist Bias. Neuron. 93 (3), 480-490 (2017).
  2. Arac, A., Zhao, P., Dobkin, B. H., Carmichael, S. T., Golshani, P. DeepBehavior: A Deep Learning Toolbox for Automated Analysis of Animal and Human Behavior Imaging Data. Front Syst Neurosci. 13, 20 (2019).
  3. Pereira, T. D., Aldarondo, D. E., Willmore, L., Kislin, M., Wang, S. S., Murthy, M., et al. Fast animal pose estimation using deep neural networks. Nat Methods. 16 (1), 117-125 (2019).
  4. Mathis, A., Mamidanna, P., Cury, K. M., Abe, T., Murthy, V. N., Mathis, M. W., et al. DeepLabCut: markerless pose estimation of user-defined body parts with deep learning. Nat Neurosci. 21 (9), 1281-1289 (2018).
  5. Stern, U., He, R., Yang, C. H. Analyzing animal behavior via classifying each video frame using convolutional neural networks. Sci Rep. 5, 14351 (2015).
  6. Tinbergen, N. On aims and methods of ethology. Zeitschrift für Tierpsychologie. 20, 410-433 (1963).
  7. LeCun, Y., Bengio, Y., Hinton, G. Deep Learning. Nature. 521 (7553), 436-444 (2015).
  8. Zhao, Z., Zheng, P., Xu, S., Wu, X. Object Detection With Deep Learning: A Review. IEEE Transactions on Neural Networks and Learning Systems. , 1-21 (2019).
  9. He, K., Zhang, X., Ren, S., Deep Sun, J. Residual Learning for Image Recognition. arXiv. , (2015).
  10. Krizhevsky, A., Sutskever, I., Hinton, G. E. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. 1, 1097-1105 (2012).
  11. Szegedy, C., Wei, L., Yangqing, J., Sermanet, P., Reed, S., Anguelov, D., et al. Going deeper with convolutions. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). , 7-12 (2015).
  12. Stewart, R., Andriluka, M., Ng, A. Y. End-to-End People Detection in Crowded Scenes. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). , 27-30 (2016).
  13. Redmon, J., Farhadi, A. YOLOv3: An Incremental Improvement. arXiv. , (2018).
  14. Cao, Z., Simon, T., Wei, S. E., Sheikh, Y. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. arXiv. , (2017).
  15. Simon, T., Joo, H., Matthews, I., Sheikh, Y. Hand Keypoint Detection in Single Images using Multiview Bootstrapping. arXiv. , (2017).
  16. Wei, S. E., Ramakrishna, V., Kanade, T., Sheikh, Y. Convolutional Pose Machines. arXiv. , (2016).

Play Video

Cite This Article
Shukla, S., Arac, A. A Step-by-Step Implementation of DeepBehavior, Deep Learning Toolbox for Automated Behavior Analysis. J. Vis. Exp. (156), e60763, doi:10.3791/60763 (2020).

View Video