本实验方案的目的是利用预构建的卷积神经网络实现行为追踪的自动化,并进行详细的行为分析。行为追踪可应用于任何视频数据或图像序列,且可推广用于追踪任何用户自定义的对象。
需要JoVE订阅才能观看此内容。 请登录或开始免费试用
本实验方案的目的是利用预构建的卷积神经网络实现行为追踪的自动化,并进行详细的行为分析。行为追踪可应用于任何视频数据或图像序列,且可推广用于追踪任何用户自定义的对象。
理解行为是真正理解驱动行为的脑内神经机制的第一步。传统的行为分析方法往往无法捕捉自然行为本身所具有的丰富性。本文提供了我们近期开发的方法 DeepBehavior 的详细分步操作指南及可视化说明。DeepBehavior 工具箱采用基于卷积神经网络的深度学习框架,可快速处理和分析行为视频。本实验方案展示了三种不同的框架:单目标检测、多目标检测以及三维(3D)人体关节姿态追踪。这些框架可返回行为视频每一帧中目标对象的笛卡尔坐标。通过 DeepBehavior 工具箱采集的数据比传统行为分析方法包含更丰富的细节,能够深入揭示行为动态特征。DeepBehavior 以稳健、自动化且精确的方式量化行为任务。在完成行为识别后,本文还提供了后处理代码,用于从行为视频中提取信息并生成可视化结果。
对行为进行详细分析是理解大脑与行为关系的关键。近年来,在以高时间分辨率记录和操控神经元群体的方法上已取得许多令人振奋的进展,然而行为分析方法的发展却未能同步,仍局限于间接测量和还原论方法1。最近,基于深度学习的方法已被开发用于实现自动化且详细的行为分析2,3,4,5。本实验方案为 DeepBehavior 工具箱提供了逐步实施的操作指南。
传统的行为分析方法通常包括由多名评估者手动标注数据,这导致实验人员对行为的定义存在差异6。手动标注数据需要耗费大量时间和资源,且其投入与所收集数据量不成正比。此外,人工标注的数据将行为结果简化为类别化测量,无法充分反映行为的丰富性,且更具主观性。因此,当前的传统方法在捕捉自然行为细节方面可能存在局限性。
DeepBehavior 工具箱提供了一种基于深度学习的精确、详细、高时间分辨率且自动化的动物行为分析解决方案。随着开源工具和软件包的普及,深度学习已迅速为所有研究者所广泛获取。卷积神经网络(CNN)在物体识别与追踪任务中已被证实具有极高的有效性7,8。借助现代卷积神经网络和高性能图形处理器(GPU),可快速且高精度地处理大规模图像和视频数据集7,9,10,11。在 DeepBehavior 中,集成了三种不同的卷积神经网络架构:TensorBox、YOLOv3 和 OpenPose2。
第一个框架 Tensorbox 是一个多功能框架,整合了多种不同的卷积神经网络(CNN)架构用于目标检测12。TensorBox 最适合每张图像仅检测一个目标类别。其输出结果为感兴趣目标的边界框(图1)以及边界框的笛卡尔坐标。
第二种CNN框架是YOLOv3,即"You Only Look Once"13。当需要分别追踪多个感兴趣目标时,YOLOv3具有优势。该网络的输出包括带有相应目标标签类别的边界框,以及目标在视频帧中的边界框笛卡尔坐标(图2)。
前两种框架适用于从动物受试者的标准实验室实验中收集的广义行为数据。最后一种卷积神经网络(CNN)框架是OpenPose14,15,16,用于人体关节姿态估计。OpenPose可检测图像中人体、手部、面部和足部的关键点。该框架的输出结果包括标注后的人体受试者图像,以及身体25个关键点和每只手21个关键点的坐标(图3)。
本详细分步指南介绍了我们近期开发的开源 DeepBehavior 工具箱的实施方法,该工具箱采用先进的卷积神经网络来追踪动物行为(例如爪子的运动)或人类行为(例如伸手任务)。通过追踪行为,可从中提取有用的动力学参数,如位置、速度和加速度。本实验方案详细说明了每种卷积神经网络架构的安装方法,演示了如何创建训练数据集、如何训练网络、如何在训练好的网络上处理新视频、如何从新视频中提取网络输出数据,以及如何对输出数据进行后处理,以便用于进一步分析。
访问受限。请登录或开始试用以查看此内容。
1. GPU 和 Python 环境配置
2. TENSORBOX
3. YOLOv3
4. OpenPose
OpenPose 非常适合用于追踪人体受试者的多个身体部位。其设置和安装过程与之前的两个框架非常相似。但由于该网络已经使用人类数据完成训练,因此无需进行训练步骤。
访问受限。请登录或开始试用以查看此内容。
按照本方案操作时,每种网络架构的数据应与以下结果相似。TensorBox 会输出围绕目标物体的边界框。在本示例中,我们使用了食物颗粒抓取任务的视频,并对右前爪进行标注以追踪其运动轨迹。如图1所示,右前爪在前视图和侧视图摄像机中均能在不同位置被检测到。经过摄像机标定的后处理后,可获得抓取动作的三维轨迹(图1B)。
在 Yolov3 中,由于存在多个目标,输出结果也为多个边界框。如图 2B所示,感兴趣目标周围存在多个边界框,这些边界框可能对应身体的各个部位。
在 OpenPose 中,网络会检...
访问受限。请登录或开始试用以查看此内容。
本文提供了我们近期开发的基于深度学习的动物与人类行为成像数据分析工具箱 DeepBehavior 的逐步实施指南2。我们详细说明了每种网络架构框架的安装步骤,并提供了开源依赖项的安装链接,以确保这些框架能够正常运行。我们演示了如何安装这些工具、如何创建训练数据、如何训练网络,以及如何在训练好的网络上处理新的视频文件。此外,我们还提供了后处理代码,用于提取进一步分析所需的基本信息。
对于单个目标检测,我们推荐使用 TensorBox。如果目标是同时追踪多个目标,则推荐使用 YOLOv3。最后,为了获取人体运动学数据,我们推荐使用 OpenPose。在本方案中,我们已证明深度学习方法能够在以高精度追踪目标的同时,处理数十万帧图像。通过使用所提供的后处理代码,我们可以得出有意义的方法来分析所关注的追踪行为。这提供了一种更详细的行为捕捉方式,同时也提供了一种可自动化、稳健且可推广至多种不同类型行为任务的行为定义方法。
在使用新的虚拟环境或从互联网下载的代码时,出现“ModuleNotFo...
访问受限。请登录或开始试用以查看此内容。
作者无任何利益冲突需要披露。
我们感谢赵平平和Peyman Golshani提供原始论文中使用的双小鼠社交互动实验的原始数据2。本研究得到了美国国立卫生研究院(NIH)NS109315项目和NVIDIA GPU基金(AA)的支持。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| CUDA v8.0.61 | NVIDIA | n/a | GPU 软件 |
| MATLAB R2016b | Mathworks | n/a | Matlab |
| Python 2.7 | Python | n/a | Python 版本 |
| Quadro P6000 | NVIDIA | n/a | GPU 处理器 |
| Ubuntu v16.04 | Ubuntu | n/a | 操作系统 |
访问受限。请登录或开始试用以查看此内容。