Summary

Een stapsgewijze implementatie van DeepBehavior, Deep Learning Toolbox voor geautomatiseerde gedragsanalyse

Published: February 06, 2020
doi:

Summary

Het doel van dit protocol is om vooraf gebouwde convolutional neurale netten te gebruiken om gedragstracking te automatiseren en gedetailleerde gedragsanalyse uit te voeren. Gedragstracking kan worden toegepast op alle videogegevens of sequenties van afbeeldingen en is generaliseerbaar om elk door de gebruiker gedefinieerd object bij te houden.

Abstract

Inzicht in gedrag is de eerste stap naar echt begrijpen neurale mechanismen in de hersenen die het rijden. Traditionele gedragsanalyse methoden vaak niet vangen de rijkdom die inherent is aan het natuurlijke gedrag. Hier geven we gedetailleerde stapsgewijze instructies met visualisaties van onze recente methodologie, DeepBehavior. De DeepBehavior toolbox maakt gebruik van deep learning frameworks gebouwd met convolutional neurale netwerken om snel te verwerken en te analyseren gedragsvideo’s. Dit protocol toont drie verschillende frameworks voor detectie van één object, detectie van meerdere objecten en driedimensionale (3D) menselijke gezamenlijke pose tracking. Deze frameworks geven cartesiaanse coördinaten van het object van belang voor elk frame van de gedragsvideo terug. Gegevens verzameld uit de DeepBehavior toolbox bevatten veel meer detail dan traditionele gedragsanalysemethoden en bieden gedetailleerde inzichten in de gedragsdynamiek. DeepBehavior kwantificeert gedragstaken op een robuuste, geautomatiseerde en nauwkeurige manier. Na de identificatie van gedrag wordt nabewerkingscode verstrekt om informatie en visualisaties uit de gedragsvideo’s te extraheren.

Introduction

Een gedetailleerde analyse van gedrag is de sleutel tot het begrijpen van de hersenen en gedragsrelaties. Er zijn veel opwindende vooruitgang in methodologieën voor het registreren en manipuleren van neuronale populaties met een hoge temporele resolutie, echter, gedragsanalyse methoden hebben niet ontwikkeld in hetzelfde tempo en zijn beperkt tot indirecte metingen en een reductionistische aanpak1. Onlangs zijn deep learning gebaseerde methoden ontwikkeld om geautomatiseerde en gedetailleerde gedragsanalyse uit te voeren2,3,4,5. Dit protocol biedt een stapsgewijze implementatiehandleiding voor de DeepBehavior toolbox.

Traditionele gedragsanalysemethoden omvatten vaak handmatig labelen van gegevens door meerdere beoordelaars, wat leidt tot variantie in de manier waarop onderzoekers een gedrag definiëren6. Handmatig labelen van de gegevens vergt tijd en middelen die onevenredig toenemen tot de hoeveelheid verzamelde gegevens. Bovendien verminderen handmatig gelabelde gegevens de gedragsresultaten in categorische metingen die de rijkdom van het gedrag niet vastleggen en subjectiefer zullen zijn. Zo kunnen de huidige traditionele methoden worden beperkt in het vastleggen van de details in het natuurlijke gedrag.

De DeepBehavior toolbox presenteert een nauwkeurige, gedetailleerde, zeer temporele en geautomatiseerde oplossing met behulp van deep learning voor gedragsanalyse. Deep learning is snel toegankelijk geworden voor iedereen met open-source tools en pakketten. Convolutional neurale netwerken (CNN’s) zijn bewezen zeer effectief te zijn in objectherkenning en tracking taken7,8. Met behulp van moderne CN’s en krachtige grafische verwerkingseenheden (GPU’s) kunnen grote beeld- en videodatasets snel worden verwerkt met hoge precisie7,9,10,11. In DeepBehavior zijn er drie verschillende convolutional neurale net architecturen, TensorBox, YOLOv3, en OpenPose2.

Het eerste framework, Tensorbox, is een veelzijdig raamwerk dat veel verschillende CNN-architecturen bevat voor objectdetectie12. TensorBox is het meest geschikt voor het detecteren van slechts één objectklasse per afbeelding. De resulterende uitgangen zijn omsluitende vakken van het object van belang (figuur 1) en de cartesiaanse coördinaten van het selectiekader.

De tweede CNN kader is YOLOv3, wat staat voor “You Only Look Once”13. YOLOv3 is voordelig wanneer er meerdere interessantvoorwerpen zijn die afzonderlijk moeten worden bijgehouden. De uitvoer van dit netwerk omvat het selectiekader met de klasse van het bijbehorende objectlabel en de cartesian-coördinaten van het object in het videoframe (figuur 2).

De vorige twee kaders zijn voordelig voor gegeneraliseerde gedragsgegevens verzameld uit standaard laboratoriumexperimenten bij proefpersonen. De laatste CNN kader is OpenPose14,15,16 die wordt gebruikt voor menselijke gezamenlijke pose schatting. OpenPose detecteert menselijke lichaam, hand, gezicht, en voet belangrijke punten op beelden. De uitgangen van het kader zijn gelabeldbeelden van het menselijke onderwerp, evenals de coördinaten van alle 25 belangrijke punten in het lichaam en 21 belangrijke punten van elke hand (figuur 3).

Deze gedetailleerde stapsgewijze handleiding voor de implementatie van onze recent ontwikkelde open-source DeepBehavior toolbox maakt gebruik van state-of-the-art convolutional neurale netten om dierlijk gedrag (bijvoorbeeld beweging van een poot) of menselijk gedrag (bijvoorbeeld het bereiken van taken) te volgen. Door het gedrag te volgen, kunnen nuttige kinematica worden afgeleid uit het gedrag, zoals positie, snelheid en versnelling. Het protocol legt de installatie van elke CNN-architectuur uit, laat zien hoe u trainingsgegevensmaakt, hoe u de netwerken trainen, hoe u nieuwe video’s op het getrainde netwerk verwerken, hoe de gegevens uit het netwerk op de nieuwe video’s kunnen worden geëxtraheerd en hoe u na het proces van de uitvoergegevens om het nuttig te maken voor verdere analyse.

Protocol

1. GPU en Python Setup GPU-softwareWanneer de computer voor het eerst is ingesteld voor deep learning-toepassingen, moeten GPU-geschikte software en stuurprogramma’s worden geïnstalleerd die kunnen worden gevonden op de respectievelijke website van de GPU. (zie de Tabel met materialen voor de materialen die in deze studie worden gebruikt). Installatie python 2.7Open een opdrachtregelprompt op uw machine.Command line: sudo apt-g…

Representative Results

Wanneer het protocol wordt gevolgd, moeten de gegevens voor elke netwerkarchitectuur vergelijkbaar zijn met het volgende. Voor TensorBox wordt een selectiekader uitgevoerd rond het object van belang. In ons voorbeeld gebruikten we video’s van een voedselpellet die taak bereikte en bestempelden we de rechterpoten om hun beweging te volgen. Zoals te zien in figuur 1,kan de rechterpoot worden gedetecteerd in verschillende posities in zowel de voorkant en zijaanz…

Discussion

Hier bieden we een stapsgewijze handleiding voor de implementatie van DeepBehavior, onze recent ontwikkelde deep learning gebaseerde toolbox voor dier- en menselijke gedragsbeeldvormingsgegevensanalyse2. We geven gedetailleerde uitleg voor elke stap voor de installatie van de frameworks voor elke netwerkarchitectuur en bieden koppelingen voor de installatie van de open-source vereisten om deze frameworks te kunnen uitvoeren. We laten zien hoe je ze installeert, hoe je trainingsgegevens maakt, hoe …

Disclosures

The authors have nothing to disclose.

Acknowledgements

We willen Pingping Zhao en Peyman Golshani bedanken voor het verstrekken van de ruwe gegevens voor twee-muis sociale interactie tests gebruikt in het oorspronkelijke papier2. Deze studie werd ondersteund door NIH NS109315 en NVIDIA GPU subsidies (AA).

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