Summary

Un'implementazione passo-passo di DeepBehavior, Deep Learning Toolbox per l'analisi automatizzata del comportamento

Published: February 06, 2020
doi:

Summary

Lo scopo di questo protocollo è quello di utilizzare reti neurali convoluzionali pre-costruite per automatizzare il monitoraggio del comportamento ed eseguire analisi dettagliate del comportamento. Il monitoraggio del comportamento può essere applicato a qualsiasi dato video o sequenze di immagini ed è generalizzabile per tenere traccia di qualsiasi oggetto definito dall’utente.

Abstract

Comprendere il comportamento è il primo passo per comprendere veramente i meccanismi neurali nel cervello che lo guidano. I metodi di analisi comportamentale tradizionali spesso non catturano la ricchezza inerente al comportamento naturale. Qui, forniamo istruzioni dettagliate con le visualizzazioni della nostra metodologia recente, DeepBehavior. La casella degli strumenti DeepBehavior utilizza framework di deep learning compilati con reti neurali convoluzionali per elaborare e analizzare rapidamente video comportamentali. Questo protocollo illustra tre diversi framework per il rilevamento di un singolo oggetto, il rilevamento di più oggetti e il rilevamento della posa umana del giunto tridimensionale (3D). Questi framework restituiscono le coordinate cartesiane dell’oggetto di interesse per ogni fotogramma del video di comportamento. I dati raccolti dalla casella degli strumenti DeepBehavior contengono molti più dettagli rispetto ai metodi di analisi del comportamento tradizionali e forniscono informazioni dettagliate sulle dinamiche di comportamento. DeepBehavior quantifica le attività di comportamento in modo robusto, automatizzato e preciso. Dopo l’identificazione del comportamento, viene fornito codice di post-elaborazione per estrarre informazioni e visualizzazioni dai video comportamentali.

Introduction

Un’analisi dettagliata del comportamento è fondamentale per comprendere le relazioni tra cervello e comportamento. Ci sono stati molti entusiasmanti progressi nelle metodologie per registrare e manipolare le popolazioni neuronali con alta risoluzione temporale, tuttavia, i metodi di analisi del comportamento non si sono sviluppati allo stesso ritmo e sono limitati a misurazioni indirette e un approccio riduzionista1. Recentemente, sono stati sviluppati metodi basati sul deep learning per eseguire l’analisi del comportamento automatizzato e dettagliato2,3,4,5. Questo protocollo fornisce una guida dettagliata all’implementazione per la casella degli strumenti DeepBehavior.This protocol provides a step-by-step implementation guide for the DeepBehavior toolbox.

I metodi di analisi comportamentale tradizionali spesso includono l’etichettatura manuale dei dati da parte di più valutatori, determinando la varianza nel modo in cui gli sperimentatori definiscono un comportamento6. L’etichettatura manuale dei dati richiede tempo e risorse che aumentano in modo sproporzionato rispetto alla quantità di dati raccolti. Inoltre, i dati etichettati manualmente riducono i risultati del comportamento in misurazioni categoriche che non catturano la ricchezza del comportamento e saranno più soggettive. Così, gli attuali metodi tradizionali possono essere limitati nell’acquisizione dei dettagli nei comportamenti naturali.

La casella degli strumenti DeepBehavior presenta una soluzione precisa, dettagliata, altamente temporale e automatizzata che utilizza il deep learning per l’analisi comportamentale. Il deep learning è diventato rapidamente accessibile a tutti con strumenti e pacchetti open source. Le reti neurali convoluzionali (CNN) si sono dimostrate altamente efficaci nei compiti di riconoscimento e monitoraggio degli oggetti7,8. Utilizzando CNC moderne e unità di elaborazione grafica ad alte prestazioni (GPU), grandi set di dati di immagini e video possono essere elaborati rapidamente con alta precisione7,9,10,11. In DeepBehavior, esistono tre diverse architetture di reti neurali convoluzionali, TensorBox, YOLOv3 e OpenPose2.

Il primo framework, Tensorbox, è un framework versatile che incorpora molte architetture CNN diverse per il rilevamento di oggetti12. TensorBox è più adatto per rilevare una sola classe di oggetti per ogni immagine. Gli output risultanti sono i rettangoli di selezione dell’oggetto di interesse (Figura 1) e le coordinate cartesiane del riquadro di delimitazione.

Il secondo framework CNN è YOLOv3, che sta per “You Only Look Once”13. YOLOv3 è vantaggioso quando sono presenti più oggetti di interesse che devono essere tracciati separatamente. L’output di questa rete include il riquadro di delimitazione con la classe di etichette dell’oggetto associata e le coordinate cartesiane del riquadro di delimitazione dell’oggetto nel fotogramma video (Figura 2).

I due quadri precedenti sono vantaggiosi per i dati comportamentali generalizzati raccolti da esperimenti di laboratorio standard in soggetti animali. L’ultimo framework CNN è OpenPose14,15,16 che viene utilizzato per la stima della posa articolare umana. OpenPose rileva i punti chiave del corpo umano, della mano, del viso e del piede sulle immagini. Gli output del framework sono etichettati immagini del soggetto umano, nonché le coordinate di tutti i 25 punti chiave nel corpo e 21 punti chiave di ogni mano (Figura 3).

Questa guida dettagliata per l’implementazione della nostra cassetta degli attrezzi DeepBehavior open source recentemente sviluppata utilizza reti neurali convoluzionali all’avanguardia per monitorare il comportamento animale (ad esempio il movimento di una zampa) o il comportamento umano (ad esempio, il raggiungimento di compiti). Tenendo traccia del comportamento, è possibile derivare una cinematica utile dal comportamento, ad esempio posizione, velocità e accelerazione. Il protocollo spiega l’installazione di ogni architettura CNN, dimostra come creare set di dati di formazione, come addestrare le reti, come elaborare nuovi video sulla rete addestrata, come estrarre i dati dalla rete sui nuovi video e come post-elaborare i dati di output per renderli utili per ulteriori analisi.

Protocol

1. GPU e Python Setup GPU SoftwareQuando il computer è la prima configurazione per le applicazioni di deep learning, software gPU appropriati e driver devono essere installati che possono essere trovati sul rispettivo sito web della GPU. (vedere la Tabella dei Materiali per quelli utilizzati in questo studio). Installazione di Python 2.7Aprire un prompt dei comandi nel computer.Riga di comando: sudo apt-get install python-pip p…

Representative Results

Quando viene seguito il protocollo, i dati per ogni architettura di rete devono essere simili ai seguenti. Per TensorBox, viene generato un riquadro di delimitazione intorno all’oggetto di interesse. Nel nostro esempio, abbiamo usato i video di un’attività di raggiungimento del pellet alimentare ed etichettato le zampe giuste per monitorare il loro movimento. Come si è visto in Figura 1, la zampa destra può essere rilevata in diverse posizioni sia nella vi…

Discussion

Qui, forniamo una guida passo-passo per l’implementazione di DeepBehavior, il nostro toolbox basato sul deep learning recentemente sviluppato per l’analisi dei dati di imaging del comportamento animale e umano2. Vengono fornite spiegazioni dettagliate per ogni passaggio per l’installazione dei framework per ogni architettura di rete e vengono forniti collegamenti per l’installazione dei requisiti open source per poter eseguire questi framework. Dimostriamo come installarli, come creare dati di tra…

Disclosures

The authors have nothing to disclose.

Acknowledgements

Ringraziamo ping e Peyman Golshani per aver fornito i dati grezzi per i test di interazione sociale a due topo utilizzati nel documento originale2. Questo studio è stato sostenuto da NIH NS109315 e NVIDIA GPU grants (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