Summary

Implementación paso a paso de DeepBehavior, Deep Learning Toolbox for Automated Behavior Analysis

Published: February 06, 2020
doi:

Summary

El propósito de este protocolo es utilizar redes neuronales convolucionales preconstruidas para automatizar el seguimiento del comportamiento y realizar un análisis detallado del comportamiento. El seguimiento del comportamiento se puede aplicar a cualquier dato de vídeo o secuencias de imágenes y se puede generalizable realizar un seguimiento de cualquier objeto definido por el usuario.

Abstract

Entender el comportamiento es el primer paso para entender realmente los mecanismos neuronales en el cerebro que lo impulsan. Los métodos tradicionales de análisis conductual a menudo no capturan la riqueza inherente al comportamiento natural. Aquí, proporcionamos instrucciones detalladas paso a paso con visualizaciones de nuestra metodología reciente, DeepBehavior. La caja de herramientas DeepBehavior utiliza marcos de aprendizaje profundo creados con redes neuronales convolucionales para procesar y analizar rápidamente videos de comportamiento. Este protocolo muestra tres marcos diferentes para la detección de objetos únicos, la detección de objetos múltiples y el seguimiento de poses de unión humana tridimensionales (3D). Estos marcos devuelven coordenadas cartesianas del objeto de interés para cada fotograma del vídeo de comportamiento. Los datos recopilados de la caja de herramientas DeepBehavior contienen mucho más detalle que los métodos de análisis de comportamiento tradicionales y proporcionan información detallada sobre la dinámica de comportamiento. DeepBehavior cuantifica las tareas de comportamiento de una manera robusta, automatizada y precisa. Después de la identificación del comportamiento, se proporciona código de postprocesamiento para extraer información y visualizaciones de los videos de comportamiento.

Introduction

Un análisis detallado del comportamiento es clave para entender el cerebro y las relaciones de comportamiento. Ha habido muchos avances emocionantes en metodologías para registrar y manipular poblaciones neuronales con alta resolución temporal, sin embargo, los métodos de análisis de comportamiento no se han desarrollado al mismo ritmo y se limitan a mediciones indirectas y un enfoque reduccionista1. Recientemente, se han desarrollado métodos basados en el aprendizaje profundo para realizar análisis de comportamiento automatizados y detallados2,3,4,5. Este protocolo proporciona una guía de implementación paso a paso para la caja de herramientas DeepBehavior.

Los métodos tradicionales de análisis de comportamiento a menudo incluyen la etiquetado manual de datos por varios evaluadores, lo que conduce a la varianza en la forma en que los experimentadores definen un comportamiento6. El etiquetado manual de los datos requiere tiempo y recursos que aumenten desproporcionadamente a la cantidad de datos recopilados. Además, los datos etiquetados manualmente reducen los resultados del comportamiento en mediciones categóricas que no capturan la riqueza del comportamiento y serán más subjetivos. Por lo tanto, los métodos tradicionales actuales pueden ser limitados en la captura de los detalles en los comportamientos naturales.

La caja de herramientas DeepBehavior presenta una solución precisa, detallada, altamente temporal y automatizada que utiliza el aprendizaje profundo para el análisis del comportamiento. El aprendizaje profundo se ha vuelto rápidamente accesible para todos con herramientas y paquetes de código abierto. Las redes neuronales convolucionales (CNN) han demostrado ser altamente eficaces en las tareas de reconocimiento y seguimiento de objetos7,8. Utilizando CNN modernas y unidades de procesamiento gráfico (GPU) de alto rendimiento, los grandes conjuntos de datos de imágenes y vídeo se pueden procesar rápidamente con alta precisión7,9,10,11. En DeepBehavior, hay tres arquitecturas de red neuronal convolucional diferentes, TensorBox, YOLOv3 y OpenPose2.

El primer framework, Tensorbox, es un marco versátil que incorpora muchas arquitecturas CNN diferentes para la detección de objetos12. TensorBox es el más adecuado para detectar solo una clase de objeto por imagen. Las salidas resultantes son cuadros delimitadores del objeto de interés(figura 1) y las coordenadas cartesianas del cuadro delimitador.

El segundo marco de CNN es YOLOv3, que significa “Sólo miraunas”13. YOLOv3 es ventajoso cuando hay varios objetos de interés que se deben realizar un seguimiento por separado. La salida de esta red incluye el cuadro delimitador con la clase de etiqueta de objeto asociada, así como las coordenadas cartesianas del cuadro delimitador del objeto en el fotograma de vídeo (Figura 2).

Los dos marcos anteriores son ventajosos para los datos de comportamiento generalizados recopilados de experimentos de laboratorio estándar en sujetos animales. El último marco de CNN es OpenPose14,15,16 que se utiliza para la estimación de la pose de articulación humana. OpenPose detecta los puntos clave del cuerpo, la mano, la cara y el pie en las imágenes. Los resultados del marco son imágenes etiquetadas del sujeto humano, así como las coordenadas de todos los 25 puntos clave en el cuerpo y 21 puntos clave de cada mano(Figura 3).

Esta guía detallada paso a paso para la implementación de nuestra caja de herramientas DeepBehavior de código abierto recientemente desarrollada emplea redes neuronales convolucionales de última generación para rastrear el comportamiento animal (por ejemplo, movimiento de una pata) o el comportamiento humano (por ejemplo, llegar a tareas). Mediante el seguimiento del comportamiento, la cinemática útil se puede derivar del comportamiento, como la posición, la velocidad y la aceleración. El protocolo explica la instalación de cada arquitectura CNN, demuestra cómo crear conjuntos de datos de entrenamiento, cómo entrenar las redes, cómo procesar nuevos videos en la red entrenada, cómo extraer los datos de la red en los nuevos videos, y cómo post-procesar los datos de salida para que sean útiles para su posterior análisis.

Protocol

1. Configuración de GPU y Python GPU SoftwareCuando el equipo se configura por primera vez para aplicaciones de aprendizaje profundo, se debe instalar software y controladores apropiados para GPU que se pueden encontrar en el sitio web respectivo de la GPU. (véase la Tabla de Materiales para los utilizados en este estudio). Instalación de Python 2.7Abra un símbolo del sistema en el equipo.Línea de comandos: sudo apt-get ins…

Representative Results

Cuando se sigue el protocolo, los datos de cada arquitectura de red deben ser similares a los siguientes. Para TensorBox, genera un cuadro delimitador alrededor del objeto de interés. En nuestro ejemplo, usamos videos de una tarea de llegar a pellets de alimentos, y etiquetamos las patas derechas para rastrear su movimiento. Como se ve en la Figura 1,la pata derecha se puede detectar en diferentes posiciones tanto en las cámaras de vista frontal como latera…

Discussion

Aquí, proporcionamos una guía paso a paso para la implementación de DeepBehavior, nuestra caja de herramientas recientemente desarrollada basada en el aprendizaje profundo para el análisis de datos de imágenes de comportamiento animal y humano2. Proporcionamos explicaciones detalladas para cada paso para la instalación de los marcos de trabajo para cada arquitectura de red y proporcionamos vínculos para la instalación de los requisitos de código abierto para poder ejecutar estos marcos. D…

Disclosures

The authors have nothing to disclose.

Acknowledgements

Nos gustaría agradecer a Pingping Zhao y Peyman Golshani por proporcionar los datos brutos para las pruebas de interacción social de dos ratones utilizadas en el documento original2. Este estudio fue apoyado por NIH NS109315 y nvidial GPU (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