Summary

En steg-för-steg-implementering av DeepBehavior, Deep Learning Toolbox för automatiserad beteendeanalys

Published: February 06, 2020
doi:

Summary

Syftet med detta protokoll är att använda förbyggda invecklade neurala nät för att automatisera beteendespårning och utföra detaljerad beteendeanalys. Beteendespårning kan tillämpas på videodata eller sekvenser av bilder och är allmänt användbart för att spåra alla användardefinierade objekt.

Abstract

Förstå beteende är det första steget för att verkligen förstå neurala mekanismer i hjärnan som driver den. Traditionella beteendeanalysmetoder fångar ofta inte rikedomen inneboende till det naturliga beteendet. Här ger vi detaljerade steg-för-steg-instruktioner med visualiseringar av vår senaste metod, DeepBehavior. DeepBehavior-verktygslådan använder djupinlärningsramverk byggda med invecklade neurala nätverk för att snabbt bearbeta och analysera beteendevideor. Det här protokollet visar tre olika ramverk för identifiering av enstaka objekt, flera objektidentifiering och 3D-spårning av mänskliga gemensamma poser (3D). Dessa ramverk returnerar cartesiankoordinater för objektet av intresse för varje bildruta i beteendevideon. Data som samlas in från DeepBehavior-verktygslådan innehåller mycket mer detaljer än traditionella beteendeanalysmetoder och ger detaljerade insikter om beteendedynamiken. DeepBehavior kvantifierar beteendeuppgifter på ett robust, automatiserat och exakt sätt. Efter identifiering av beteende, efter bearbetning kod tillhandahålls för att extrahera information och visualiseringar från beteendemässiga videor.

Introduction

En detaljerad analys av beteende är nyckeln till att förstå hjärnan och beteende relationer. Det har varit många spännande framsteg i metoder för att registrera och manipulera neuronala populationer med hög tidsmässig upplösning, men beteendeanalysmetoder har inte utvecklats i samma takt och är begränsade till indirekta mätningar och en reduktionistisk strategi1. Nyligen har djupinlärningsbaserade metoder utvecklats för att utföra automatiserad och detaljerad beteendeanalys2,3,4,5. Det här protokollet innehåller en steg-för-steg-implementeringsguide för verktygslådan DeepBehavior.

Traditionella beteendeanalysmetoder inkluderar ofta manuellt märkning av data av flera utvärderare, vilket leder till varians i hur experimentörer definierar ett beteende6. Manuell märkning av data kräver tid och resurser som ökar oproportionerligt till mängden insamlade data. Dessutom minskar manuellt märkta data beteenderesultaten i kategoriska mätningar som inte fångar beteendets rikedom och blir mer subjektiva. Således kan de nuvarande traditionella metoderna begränsas för att fånga detaljerna i de naturliga beteendena.

DeepBehavior-verktygslådan presenterar en exakt, detaljerad, mycket tidsmässig och automatiserad lösning med djupinlärning för beteendeanalys. Djupinlärning har snabbt blivit tillgängligt för alla med verktyg och paket med öppen källkod. Invecklade neurala nätverk (CNNs) har visat sig vara mycket effektiva i objektigenkänning och spårningsuppgifter7,8. Med hjälp av moderna CNNs och högpresterande grafik-bearbetning-enheter (GPU: er), stor bild och video dataset kan bearbetas snabbt med hög precision7,9,10,11. I DeepBehavior finns det tre olika invecklade neurala nätarkitekturer, TensorBox, YOLOv3 och OpenPose2.

Den första ramen, Tensorbox, är en mångsidig ram som innehåller många olika CNN-arkitekturer för objektdetektering12. TensorBox är bäst lämpad för att upptäcka endast en objektklass per bild. De resulterande utgångarna är begränsningslådor av objektet av intresse(figur 1)och de kartesiska koordinaterna för markeringsramen.

Den andra CNN ram är YOLOv3, som står för “You Only Look Once”13. YOLOv3 är fördelaktigt när det finns flera objekt av intresse som måste spåras separat. Utdata från detta nätverk innehåller begränsningsrutan med den associerade objektetikettklassen samt markeringsramens cartesiankoordinater för objektet i videoramen (bild 2).

De två föregående ramarna är fördelaktiga för generaliserade beteendedata som samlats in från vanliga laboratorieexperiment hos djurförsökspersoner. Den sista CNN ramen är OpenPose14,15,16 som används för mänskliga gemensamma pose uppskattning. OpenPose upptäcker människokroppen, handen, ansikts- och fottangenterna på bilder. Resultaten av ramen är märkta bilder av det mänskliga ämnet samt koordinaterna för alla 25 viktiga punkter i kroppen och 21 viktiga punkter i varje hand (figur 3).

Denna detaljerade steg-för-steg guide för genomförandet av vår nyligen utvecklade öppen källkod DeepBehavior verktygslåda sysselsätter state-of-the-art faltningneurala nät för att spåra djurbeteende (t.ex. förflyttning av en tass) eller mänskligt beteende (t.ex. nå uppgifter). Genom att spåra beteendet kan användbara kinematik härledas från beteendet såsom position, hastighet och acceleration. Protokollet förklarar installationen av varje CNN-arkitektur, visar hur du skapar träningsdatauppsättningar, hur du tränar nätverken, hur man bearbetar nya videor på det utbildade nätverket, hur du extraherar data från nätverket på de nya videorna och hur man efterprocessen utdata för att göra det användbart för ytterligare analys.

Protocol

1. GPU och Python Setup GPU ProgramvaraNär datorn är första installationen för djupinlärningsprogram bör GPU-lämplig programvara och drivrutiner installeras som finns på GPU:s respektive webbplats. (se materialförteckningen för dem som används i denna studie). Python 2.7 InstallationÖppna en kommandoradstolk på datorn.Kommandorad: sudo apt-get installera python-pip python-dev python-virtualenv <p class="jo…

Representative Results

När protokollet följs bör data för varje nätverksarkitektur liknaföljande. För TensorBox matas en markeringsram runt objektet av intresse. I vårt exempel använde vi videor från en matpellets som nådde uppgiften och kallade rätt tassar för att spåra deras rörelse. Som framgår av figur 1kan rätt tass detekteras i olika lägen i både frontvy- och sidokameror. Efter efterbehandling med kamerakalibrering kan 3D-banor för räckvidden erhållas<st…

Discussion

Här erbjuder vi en steg-för-steg guide för genomförandet av DeepBehavior, vår nyligen utvecklade djupinlärningsbaserade verktygslåda för djur- och mänskligt beteende imaging dataanalys2. Vi ger detaljerade förklaringar till varje steg för installation av ramverk för varje nätverksarkitektur och tillhandahåller länkar för installation av kraven på öppen källkod för att kunna köra dessa ramverk. Vi visar hur du installerar dem, hur du skapar träningsdata, hur du tränar nätver…

Divulgations

The authors have nothing to disclose.

Acknowledgements

Vi vill tacka Pingping Zhao och Peyman Golshani för att tillhandahålla rådata för två-mus social interaktion tester som används i det ursprungliga papperet2. Denna studie stöddes av NIH NS109315 och NVIDIA GPU bidrag (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).
check_url/fr/60763?article_type=t

Play Video

Citer Cet 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