Özet

Uma implementação passo a passo do DeepBehavior, caixa de ferramentas de deep learning para análise automatizada de comportamento

Published: February 06, 2020
doi:

Özet

O objetivo deste protocolo é utilizar redes neurais convolucionais pré-construídas para automatizar o rastreamento de comportamentos e realizar análises detalhadas de comportamento. O rastreamento de comportamento pode ser aplicado a quaisquer dados de vídeo ou sequências de imagens e é generalizável para rastrear qualquer objeto definido pelo usuário.

Abstract

Entender o comportamento é o primeiro passo para realmente entender mecanismos neurais no cérebro que o impulsionam. Os métodos tradicionais de análise comportamental muitas vezes não capturam a riqueza inerente ao comportamento natural. Aqui, fornecemos instruções detalhadas passo a passo com visualizações de nossa metodologia recente, deepbehavior. A caixa de ferramentas DeepBehavior usa estruturas de deep learning construídas com redes neurais convolucionais para processar rapidamente e analisar vídeos comportamentais. Este protocolo demonstra três estruturas diferentes para detecção de objetoúnico, detecção múltipla de objetos e rastreamento de pose articular humana tridimensional (3D). Esses quadros devolvem coordenadas cartesianas do objeto de interesse para cada quadro do vídeo de comportamento. Os dados coletados na caixa de ferramentas DeepBehavior contêm muito mais detalhes do que os métodos tradicionais de análise de comportamento e fornecem insights detalhados sobre a dinâmica do comportamento. DeepBehavior quantifica tarefas de comportamento de forma robusta, automatizada e precisa. Após a identificação do comportamento, o código pós-processamento é fornecido para extrair informações e visualizações dos vídeos comportamentais.

Introduction

Uma análise detalhada do comportamento é fundamental para entender as relações cerebrais e comportamentais. Houve muitos avanços emocionantes nas metodologias para registrar e manipular populações neuronais com alta resolução temporal, no entanto, os métodos de análise de comportamento não se desenvolveram no mesmo ritmo e estão limitados a medições indiretas e a uma abordagem reducionista1. Recentemente, métodos baseados em deep learning foram desenvolvidos para realizar análises de comportamento automatizadas e detalhadas2,3,4,5. Este protocolo fornece um guia de implementação passo a passo para a caixa de ferramentas DeepBehavior.

Os métodos tradicionais de análise comportamental geralmente incluem rotular manualmente dados por vários avaliadores, levando à variância na forma como os experimentadores definem um comportamento6. A rotulagem manual dos dados requer tempo e recursos que aumentam desproporcionalmente para a quantidade de dados coletados. Além disso, dados rotulados manualmente reduzem os desfechos de comportamento em medições categóricas que não capturam a riqueza do comportamento, e serão mais subjetivos. Assim, os métodos tradicionais atuais podem ser limitados na captura dos detalhes nos comportamentos naturais.

A caixa de ferramentas DeepBehavior apresenta uma solução precisa, detalhada, altamente temporal e automatizada usando aprendizado profundo para análise comportamental. O aprendizado profundo tornou-se rapidamente acessível a todos com ferramentas e pacotes de código aberto. As redes neurais convolucionais (CNNs) são comprovadamente altamente eficazes no reconhecimento de objetos e nas tarefas de rastreamento7,8. Usando CNNs modernos e unidades de processamento gráfico de alto desempenho (GPUs), grandes conjuntos de dados de imagem e vídeo podem ser processados rapidamente com alta precisão7,9,10,11. No DeepBehavior, existem três arquiteturas de rede neural convolucional diferentes, TensorBox, YOLOv3 e OpenPose2.

A primeira estrutura, Tensorbox, é uma estrutura versátil que incorpora muitas arquiteturas diferentes da CNN para detecção de objetos12. O TensorBox é mais adequado para detectar apenas uma classe de objeto por imagem. As saídas resultantes são caixas delimitadoras do objeto de interesse (Figura 1) e as coordenadas cartesianas da caixa de limitação.

O segundo quadro da CNN é YOLOv3, que significa “You Only Look Once”13. YOLOv3 é vantajoso quando há múltiplos objetos de interesse que devem ser rastreados separadamente. A saída desta rede inclui a caixa de limitadora com a classe de etiqueta de objeto associada, bem como as coordenadas cartesianas da caixa delimitadora do objeto no quadro de vídeo(Figura 2).

As duas estruturas anteriores são vantajosas para dados comportamentais generalizados coletados de experimentos laboratoriais padrão em indivíduos animais. O último quadro da CNN é OpenPose14,15,16 que é usado para estimativa de pose articular humana. OpenPose detecta pontos de chave do corpo, mão, facial e pé humano nas imagens. As saídas da estrutura são imagens rotuladas do sujeito humano, bem como as coordenadas de todos os 25 pontos-chave do corpo e 21 pontos-chave de cada mão (Figura 3).

Este guia detalhado passo a passo para a implementação de nossa caixa de ferramentas DeepBehavior de código aberto recém-desenvolvida emprega redes neurais convolucionais de última geração para rastrear o comportamento animal (por exemplo, movimento de uma pata) ou comportamento humano (por exemplo, chegar às tarefas). Ao rastrear o comportamento, os cinemáticas úteis podem ser derivados do comportamento como posição, velocidade e aceleração. O protocolo explica a instalação de cada arquitetura da CNN, demonstra como criar conjuntos de dados de treinamento, como treinar as redes, como processar novos vídeos na rede treinada, como extrair os dados da rede nos novos vídeos e como pós-processo os dados de saída para torná-los úteis para análise si só.

Protocol

1. Configuração GPU e Python GPU SoftwareQuando o computador é configurado pela primeira vez para aplicativos de aprendizagem profunda, o software e os drivers apropriados para GPU devem ser instalados que podem ser encontrados no respectivo site da GPU. (ver a Tabela de Materiais para os utilizados neste estudo). Instalação Python 2.7Abra um prompt de linha de comando em sua máquina.Linha de comando: sudo apt-get instalar…

Representative Results

Quando o protocolo é seguido, os dados de cada arquitetura de rede devem ser semelhantes aos seguintes. Para o TensorBox, ele produz uma caixa de limitador em torno do objeto de interesse. Em nosso exemplo, usamos vídeos de uma tarefa de alcance de pelotas de comida, e rotulamos as patas certas para rastrear seu movimento. Como visto na Figura 1,a pata direita pode ser detectada em diferentes posições tanto na visão frontal quanto nas câmeras de visão …

Discussion

Aqui, fornecemos um guia passo a passo para a implementação do DeepBehavior, nossa caixa de ferramentas baseada em aprendizagem profunda recentemente desenvolvida para análise de dados de imagem de comportamento animal e humano2. Fornecemos explicações detalhadas para cada etapa para a instalação das estruturas para cada arquitetura de rede e fornecemos links para a instalação dos requisitos de código aberto para poder executar essas estruturas. Demonstramos como instalá-los, como criar…

Açıklamalar

The authors have nothing to disclose.

Acknowledgements

Gostaríamos de agradecer a Pingping Zhao e Peyman Golshani por fornecer os dados brutos para testes de interação social de dois camundongos usados no artigo original2. Este estudo foi apoiado por concessões de GPU DA NIH NS109315 e NVIDIA 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

Referanslar

  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

Bu Makaleden Alıntı Yapın
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