Summary

Une implémentation étape par étape de DeepBehavior, Deep Learning Toolbox pour l’analyse automatisée du comportement

Published: February 06, 2020
doi:

Summary

Le but de ce protocole est d’utiliser des filets neuronaux convolutionnels préconstruits pour automatiser le suivi du comportement et effectuer une analyse détaillée du comportement. Le suivi du comportement peut être appliqué à toutes les données vidéo ou séquences d’images et est généralisable pour suivre n’importe quel objet défini par l’utilisateur.

Abstract

Comprendre le comportement est la première étape pour vraiment comprendre les mécanismes neuronaux dans le cerveau qui le conduisent. Les méthodes traditionnelles d’analyse comportementale ne saisissent souvent pas la richesse inhérente au comportement naturel. Ici, nous fournissons des instructions détaillées étape par étape avec des visualisations de notre méthodologie récente, DeepBehavior. La boîte à outils DeepBehavior utilise des cadres d’apprentissage profond construits avec des réseaux neuronaux convolutionnels pour traiter et analyser rapidement les vidéos comportementales. Ce protocole démontre trois cadres différents pour la détection d’objets uniques, la détection d’objets multiples et le suivi tridimensionnel (3D) des articulations humaines. Ces cadres renvoient les coordonnées cartésiennes de l’objet d’intérêt pour chaque image de la vidéo comportementale. Les données recueillies à partir de la boîte à outils DeepBehavior contiennent beaucoup plus de détails que les méthodes traditionnelles d’analyse du comportement et fournissent des informations détaillées sur la dynamique du comportement. DeepBehavior quantifie les tâches de comportement d’une manière robuste, automatisée et précise. Après l’identification du comportement, le code de post-traitement est fourni pour extraire des informations et des visualisations des vidéos comportementales.

Introduction

Une analyse détaillée du comportement est essentielle pour comprendre les relations cérébrales et comportementales. Il ya eu de nombreux progrès passionnants dans les méthodologies pour l’enregistrement et la manipulation des populations neuronales avec une résolution temporelle élevée, cependant, les méthodes d’analyse du comportement n’ont pas développé au même rythme et sont limités à des mesures indirectes et une approche réductionniste1. Récemment, des méthodes basées sur l’apprentissage profond ont été développées pour effectuer une analyse de comportement automatisée et détaillée2,3,4,5. Ce protocole fournit un guide d’implémentation étape par étape pour la boîte à outils DeepBehavior.

Les méthodes traditionnelles d’analyse comportementale comprennent souvent l’étiquetage manuel des données par plusieurs évaluateurs, ce qui entraîne une variance dans la façon dont les expérimentateurs définissent un comportement6. L’étiquetage manuel des données exige du temps et des ressources qui augmentent de façon disproportionnée par rapport à la quantité de données recueillies. En outre, les données étiquetées manuellement réduisent les résultats de comportement en mesures catégoriques qui ne capturent pas la richesse du comportement, et seront plus subjectives. Ainsi, les méthodes traditionnelles actuelles peuvent être limitées dans la capture des détails dans les comportements naturels.

La boîte à outils DeepBehavior présente une solution précise, détaillée, hautement temporelle et automatisée utilisant l’apprentissage profond pour l’analyse comportementale. L’apprentissage profond est rapidement devenu accessible à tous grâce à des outils et des forfaits open source. Les réseaux neuronaux convolutionnels (CNN) se sont avérés très efficaces dans la reconnaissance d’objets et les tâches de suivi7,8. À l’aide de CNN modernes et d’unités de traitement graphique haute performance (GPU), les grands ensembles de données d’image et de vidéo peuvent être traités rapidement avec une grande précision7,9,10,11. Dans DeepBehavior, il existe trois différentes architectures neuronales convergentes, TensorBox, YOLOv3, et OpenPose2.

Le premier cadre, Tensorbox, est un cadre polyvalent qui intègre de nombreuses architectures CNN différentes pour la détection d’objets12. TensorBox est le mieux adapté pour détecter une seule classe d’objets par image. Les extrants qui en résultent sont des boîtes délimitées de l’objet d’intérêt (figure 1) et les coordonnées cartésiennes de la boîte de délimitation.

Le deuxième cadre CNN est YOLOv3, qui signifie “You Only Look Once”13. YOLOv3 est avantageux lorsqu’il existe plusieurs objets d’intérêt qui doivent être suivis séparément. La sortie de ce réseau comprend la boîte de délimitation avec la classe d’étiquette d’objet associée ainsi que les coordonnées cartésiennes de la boîte de délimitation de l’objet dans le cadre vidéo (Figure 2).

Les deux cadres précédents sont avantageux pour les données comportementales généralisées recueillies à partir d’expériences de laboratoire standard chez des sujets animaux. Le dernier cadre de CNN est OpenPose14,15,16 qui est utilisé pour l’estimation de pose conjointe humaine. OpenPose détecte les points clés du corps, de la main, du visage et du pied sur les images. Les sorties du cadre sont étiquetées images du sujet humain ainsi que les coordonnées de tous les 25 points clés dans le corps et 21 points clés de chaque main (Figure 3).

Ce guide détaillé étape par étape pour la mise en œuvre de notre boîte à outils DeepBehavior open-source récemment développée utilise des filets neuronaux convolutionnels de pointe pour suivre le comportement des animaux (par exemple le mouvement d’une patte) ou le comportement humain (par exemple, atteindre les tâches). En suivant le comportement, la cinématique utile peut être dérivée du comportement tel que la position, la vitesse et l’accélération. Le protocole explique l’installation de chaque architecture CNN, montre comment créer des jeux de données de formation, comment former les réseaux, comment traiter de nouvelles vidéos sur le réseau formé, comment extraire les données du réseau sur les nouvelles vidéos, et comment après le traitement des données de sortie pour les rendre utiles pour une analyse plus approfondie.

Protocol

1. Configuration GPU et Python Logiciel GPULorsque l’ordinateur est d’abord mis en place pour les applications d’apprentissage en profondeur, gPU-approprié logiciel et les pilotes doivent être installés qui peuvent être trouvés sur le site Web respectif du GPU. (voir le Tableau des matériaux pour ceux utilisés dans cette étude). Python 2.7 InstallationOuvrez une invite de ligne de commande sur votre machine.Ligne de com…

Representative Results

Lorsque le protocole est suivi, les données de chaque architecture de réseau doivent être similaires à celles qui suivent. Pour TensorBox, il produit une boîte de délimitation autour de l’objet d’intérêt. Dans notre exemple, nous avons utilisé des vidéos à partir d’une tâche d’atteinte de granule alimentaire, et étiqueté les pattes droites pour suivre leur mouvement. Comme on le voit dans la figure 1, la patte droite peut être détecté…

Discussion

Ici, nous fournissons un guide étape par étape pour la mise en œuvre de DeepBehavior, notre boîte à outils basée sur l’apprentissage profond récemment développé pour l’analyse des données d’imagerie du comportement animal et humain2. Nous fournissons des explications détaillées pour chaque étape pour l’installation des cadres pour chaque architecture de réseau, et fournissons des liens pour l’installation des exigences open-source pour être en mesure d’exécuter ces cadr…

Disclosures

The authors have nothing to disclose.

Acknowledgements

Nous tenons à remercier Pingping Zhao et Peyman Golshani d’avoir fourni les données brutes pour les tests d’interaction sociale à deux souris utilisés dans le document original2. Cette étude a été appuyée par les subventions du NIH NS109315 et du GPU NVIDIA (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