Summary

En trinnvis implementering av DeepBehavior, Deep Learning Toolbox for automatisert atferdsanalyse

Published: February 06, 2020
doi:

Summary

Formålet med denne protokollen er å bruke forhåndsbygde konvolutionale nevrale nett for å automatisere atferdssporing og utføre detaljert atferdsanalyse. Atferdssporing kan brukes på alle videodata eller sekvenser av bilder og kan generaliseres for å spore et hvilket som helst brukerdefinert objekt.

Abstract

Forstå atferd er det første skrittet for å virkelig forstå nevrale mekanismer i hjernen som driver den. Tradisjonelle atferdsanalysemetoder fanger ofte ikke rikdommen som ligger i den naturlige oppførselen. Her gir vi detaljerte trinnvise instruksjoner med visualiseringer av vår nylige metodikk, DeepBehavior. DeepBehavior-verktøykassen bruker dype læringsrammer bygget med convolutional nevrale nettverk for raskt å behandle og analysere atferdsvideoer. Denne protokollen demonstrerer tre forskjellige rammeverk for registrering av enkeltobjekt, registrering av flere objekter og tredimensjonal (3D) menneskelig felles positursporing. Disse rammeverkene returnerer kartesiske koordinater til objektet av interesse for hver ramme av atferdsvideoen. Data som samles inn fra DeepBehavior-verktøykassen, inneholder mye mer detaljer enn tradisjonelle atferdsanalysemetoder og gir detaljert innsikt i atferdsdynamikken. DeepBehavior kvantifiserer atferdsoppgaver på en robust, automatisert og presis måte. Etter identifisering av virkemåte gis etterbehandlingskode for å trekke ut informasjon og visualiseringer fra atferdsvideoene.

Introduction

En detaljert analyse av atferd er nøkkelen til å forstå hjernen og atferdsrelasjoner. Det har vært mange spennende fremskritt i metoder for opptak og manipulering av nevronale populasjoner med høy timelig oppløsning, men atferdsanalysemetoder har ikke utviklet seg i samme hastighet og er begrenset til indirekte målinger og en reduksjonistisk tilnærming1. Nylig har dyp læring basert metoder blitt utviklet for å utføre automatisert og detaljert atferdsanalyse2,3,4,5. Denne protokollen inneholder en trinnvis implementeringsveiledning for DeepBehavior-verktøykassen.

Tradisjonelle atferdsanalysemetoder inkluderer ofte manuell merking av data ved flere evaluatorer, noe som fører til varians i hvordan eksperimenterere definerer en virkemåte6. Manuell merking av dataene krever tid og ressurser som øker uforholdsmessig til mengden data som samles inn. Videre reduserer manuelt merkede data atferdsresultatene til kategoriske målinger som ikke fanger opp atferdens rikdom, og vil være mer subjektive. Dermed kan dagens tradisjonelle metoder være begrenset i å fange detaljene i den naturlige atferden.

DeepBehavior-verktøykassen presenterer en presis, detaljert, svært tidsmessig og automatisert løsning ved hjelp av dyp læring for atferdsanalyse. Dyp læring har raskt blitt tilgjengelig for alle med åpen kildekode verktøy og pakker. Convolutional nevrale nettverk (CNNer) er bevist å være svært effektive i objektgjenkjenning og sporing oppgaver7,8. Ved hjelp av moderne CNNer og høyytelses grafikkbehandlingsenheter (GPU-er) kan store bilde- og videodatasett behandles raskt med høy presisjon7,9,10,11. I DeepBehavior er det tre forskjellige convolutional neural net architectures, TensorBox, YOLOv3 og OpenPose2.

Det første rammeverket, Tensorbox, er et allsidig rammeverk som inkorporerer mange forskjellige CNN-arkitekturer for objektdeteksjon12. TensorBox er best egnet for å oppdage bare én objektklasse per bilde. De resulterende utgangene er grenser bokser av objektet av interesse (Figur 1) og kartesiske koordinater av markeringsboksen.

Den andre CNN rammeverket er YOLOv3, som står for “You Only Look Once”13. YOLOv3 er fordelaktig når det er flere objekter av interesse som må spores separat. Utdataene for dette nettverket inkluderer markeringsboksen med den tilknyttede objektetikettklassen samt markeringsboksen kartesiske koordinater for objektet i videorammen (figur 2).

De to foregående rammeverkene er fordelaktige for generaliserte atferdsdata samlet inn fra standard laboratorieforsøk hos dyreforsøk. Det siste CNN-rammeverket er OpenPose14,15,16 som brukes til menneskelig felles positurestimering. OpenPose oppdager menneskelige kropp, hånd, ansikts- og fotnøkkelpunkter på bilder. Utdataene av rammeverket er merket bilder av det menneskelige motivet, samt koordinatene til alle de 25 nøkkelpunktene i kroppen og 21 nøkkelpunkter for hver hånd (figur 3).

Denne detaljerte trinnvise veiledningen for implementering av vår nylig utviklede open-source DeepBehavior verktøykasse bruker toppmoderne convolutional nevrale nett for å spore dyratferd (f.eks. bevegelse av en pote) eller menneskelig oppførsel (f.eks. nå oppgaver). Ved å spore virkemåten kan nyttige kinematikk utledes fra virkemåten som posisjon, hastighet og akselerasjon. Protokollen forklarer installasjonen av hver CNN-arkitektur, demonstrerer hvordan du oppretter opplæringsdatasett, hvordan du trener nettverkene, hvordan du behandler nye videoer på det trente nettverket, hvordan du pakker ut dataene fra nettverket på de nye videoene, og hvordan du utdata for å gjøre det nyttig for videre analyse.

Protocol

1. GPU- og Python-oppsett GPU-programvareNår datamaskinen først er satt opp for dype læringsprogrammer, bør GPU-passende programvare og drivere installeres som finnes på GPU’s respektive nettsted. (se materialtabellen for de som brukes i denne studien). Python 2.7 InstallasjonÅpne en ledetekst på maskinen.Kommandolinje: sudo apt-get installere python-pip python-dev python-virtualenv 2. TENS…

Representative Results

Når protokollen følges, bør dataene for hver nettverksarkitektur være lik følgende. For TensorBox sender den ut en markeringsboks rundt objektet av interesse. I vårt eksempel brukte vi videoer fra en matpellet som nådde oppgaven, og merket de riktige potene for å spore bevegelsen. Som vist i figur 1, kan høyre pote oppdages i forskjellige posisjoner i både front- og sidevisning-kameraer. Etter etterbehandling med kamerakalibrering kan 3D-baner av re…

Discussion

Her gir vi en trinnvis veiledning for implementering av DeepBehavior, vår nylig utviklede dyplæringsbaserte verktøykasse for dataanalyse av data analyse av data for dyre- og menneskelig atferdbildebehandling 2. Vi gir detaljerte forklaringer for hvert trinn for installasjon av rammeverkene for hver nettverksarkitektur, og gir koblinger for installasjon av kravene til åpen kildekode for å kunne kjøre disse rammene. Vi viser hvordan du installerer dem, hvordan du oppretter opplæringsdata, hvo…

Divulgations

The authors have nothing to disclose.

Acknowledgements

Vi vil gjerne takke Pingping Zhao og Peyman Golshani for å gi rådataene for to-mus sosiale interaksjonstester som brukes i det opprinnelige papiret2. Denne studien ble støttet av NIH NS109315 og NVIDIA GPU-tilskudd (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