1 引言:为什么行为追踪至关重要
神经科学的终极目标是将神经活动与行为联系起来。无论我们使用电极记录锋电位、用钙成像观察神经群活动,还是用fMRI测量血氧水平依赖信号,这些神经数据如果不与行为参照系对齐,很大程度上是难以解读的。
行为追踪的任务是将动物的运动——小鼠在旷场中的探索、果蝇的求偶舞蹈、斑马鱼的逃避反应——转化为可量化的数字坐标。这些坐标作为行为表型的量化指标,既是神经数据分析的时间锚点,也是理解神经编码的参照框架。
本教程将系统介绍行为神经科学领域的追踪工具,从经典的视觉编程框架Bonsai到新一代AI驱动的无标记姿态估计。
2 Bonsai:开源视觉编程框架
2.1 什么是Bonsai?
Bonsai(https://bonsai-rx.org)是由葡萄牙Champalimaud研究所开发的开源视觉编程框架。其核心设计理念是数据流编程——研究者通过拖拽和连接功能模块(称为“节点”),构建数据处理的有向图。
Bonsai的设计初衷是解决传统行为追踪软件的两个痛点:一是闭源商业软件的黑盒特性,无法满足定制化需求;二是文本编程框架(如Python)在实时性方面难以达到闭环实验所需的低延迟。
2.2 核心概念:Node和Workflow
Bonsai的工作流(Workflow)由多个节点(Node)组成:
源节点(Source):数据流的起点,如相机采集(CameraCapture)、串口读取(SerialPort)或模拟信号输入。
处理节点(Transform):对数据流进行转化,如颜色空间转换(ConvertColor)、阈值分割(Threshold)、轮廓查找(FindContours)。
汇节点(Sink):数据流的终点,如显示图像(ImageView)、存储数据(FileWriter)或输出到硬件设备(DigitalOutput)。
节点间的连接形成有向图,数据以强类型的方式在节点间传递——每个节点的输出类型固定,只有匹配的输入端口才能连接。
2.3 实操:构建一个简单的轨迹追踪Workflow
以下以追踪小鼠在旷场中的质心为例,演示Bonsai的基本操作。
步骤1:安装Bonsai
-
下载Bonsai安装程序(官网提供Windows版本)
-
安装完成后,打开Bonsai编辑器
步骤2:添加相机源节点
-
从左侧工具箱中找到“CameraCapture”节点(在“Acquisition”分类下)
-
拖拽至画布
-
在属性面板中选择相机设备(USB摄像头或采集卡)
步骤3:添加图像处理节点
-
拖拽“ConvertColor”(“Vision”分类)节点,连接至CameraCapture的输出
-
在属性中选择转换类型:
Bgr→Gray(灰度转换) -
以下步骤依次添加并连接:
-
Threshold:设置阈值(如80-255),将灰度图转为二值图 -
Morphology:闭运算(closing)去除噪点,填充分离区域 -
FindContours:查找轮廓
-
步骤4:提取质心
-
拖拽“Centroid”(“Vision”分类)节点
-
连接至FindContours的
Contours输出 -
Centroid输出为矢量点
步骤5:可视化结果
-
拖拽“TextOverlay”节点,连接至Centroid输出
-
拖拽“ImageView”节点,连接至TextOverlay输出
-
运行Workflow(按F5),在视频窗口中将看到叠加的十字质心和坐标标签
步骤6:数据记录
-
拖拽“CsvWriter”节点,连接至Centroid输出
-
在属性中设置输出文件路径(如
tracking.csv) -
运行Workflow,坐标数据实时写入CSV
2.4 进阶:闭环反馈
Bonsai的一个核心优势是低延迟闭环。以下示例演示如何根据动物位置触发奖励:
添加区域检测和奖励输出:
-
定义兴趣区域(ROI),使用
Rectangle节点定义矩形区域 -
使用
InRectangle判断质心是否在ROI内 -
当动物进入ROI时,True信号触发
DigitalOutput节点 -
将数字输出连接到奖励泵(如Med Associates或Arduino)
整个闭环延迟可控制在10-20毫秒,满足大多数行为实验的实时性要求。
2.5 Bonsai的局限性
尽管Bonsai在实时处理和视觉编程方面表现出色,但也存在明显的局限性:
-
无内置行为追踪:用户需自行构建处理流水线,对非编程背景的研究者有一定门槛
-
无内置物种/范式模板:不同于商业软件预设模板(如旷场、T迷宫),用户需自行配置每一种实验范式的分析参数
-
文档分散:虽然社区活跃,但系统教程相对商业软件欠缺
3 商业软件替代方案
3.1 ANY-maze
ANY-maze是经典的闭源行为追踪平台,以易用性著称。
特色:
-
向导式实验设置,20分钟可完成旷场实验参数配置
-
内置20+种行为范式模板(旷场、高架十字迷宫、水迷宫等)
-
自动计算行为指标(速度、距离、区域停留时间、直立次数等)
局限:
-
帧率受限(6-8 fps),难以捕捉快速动作
-
不支持姿态估计(仅追踪单点)
-
闭源价格较高(许可费用$5,000-10,000)
3.2 EthoVision XT
Noldus公司的EthoVision是功能最丰富的商业平台。
特色:
-
支持多区域追踪(最多30个区域)
-
3点追踪(头-中-尾),可区分朝向
-
与第三方行为识别软件(Observer)集成
局限:
-
成本较高($10,000-25,000以上)
-
每年维护费用约15-20%许可费
-
仍然不支持AI姿态估计
3.3 SMARTSMART 3.0
Panlab的中端解决方案,25 fps追踪,支持单点追踪和区域分析,兼容多品牌硬件,成本中等但功能相对基础。
4 AI驱动的无标记姿态估计
4.1 DeepLabCut
DeepLabCut是当前最流行的开源AI姿态估计工具。
核心原理:使用迁移学习+深度学习,基于少量标注帧(通常50-200帧)训练神经网络,自动追踪任意数量的身体部位。
工作流:
步骤1:创建项目
import deeplabcut # 创建新项目 config_path = deeplabcut.create_new_project( 'MyTrackingProject', experimenter='Researcher', videos=['/path/to/video.avi'] )
步骤2:标注训练集
# 启动标注界面 deeplabcut.label_frames(config_path)
在GUI中标注20-30帧的关键点,每帧标注所有部位位置。
步骤3:训练网络
# 训练(GPU强烈推荐) deeplabcut.train_network(config_path)
步骤4:分析视频
# 对新视频进行姿态估计 deeplabcut.analyze_videos(config_path, ['/path/to/new_video.avi'])
步骤5:滤波和可视化
# 滤波异常值 deeplabcut.filterpredictions(config_path, ['/path/to/new_video.avi']) # 生成标签视频 deeplabcut.create_labeled_video(config_path, ['/path/to/new_video.avi'])
DeepLabCut的优势:
-
极高灵活性:可追踪任意部位数
-
高准确性:与人工标注一致性达95%+
-
开源免费:无许可成本
不足之处:
-
需要GPU用于训练和推理
-
初期标注工作(50-200帧)不能跳过
-
模型泛化性有限:新环境需重新训练
时间估算:
-
标注150帧:1-2小时
-
训练(500k迭代,RTX 3080):4-6小时
-
分析10分钟视频:约30分钟
4.2 商业AI方案:ConductVision
ConductVision是最成熟的商业AI行为追踪平台之一。
核心优势:
-
零标注:预训练模型支持13种常见物种(小鼠、大鼠、斑马鱼、果蝇等)
-
高帧率:30-60fps追踪
-
范式模板:内置旷场、高架十字迷宫、Y迷宫、水迷宫等12种范式分析脚本
技术规格:
-
关键点数量:小鼠11点(鼻尖、双耳、四肢末端、尾根等)
-
数据输出:CSV + 姿势骨架视频 + 行为事件表
限制:
-
闭源软件绑定特定AI模型
-
对自定义物种(非13种)支持有限
-
价格定位商业中等
5 工具选择决策框架
| 维度 | Bonsai | ANY-maze / EthoVision | DeepLabCut | ConductVision |
|---|---|---|---|---|
| 成本 | 免费 | $$$ | 免费 | $$ |
| 追踪类型 | 自定义 | 单点/3点 | 任意关键点数 | 11点预定义 |
| 帧率 | 硬件限制 | 6-25 fps | 硬件限制 | 30-60 fps |
| AI姿态估计 | 否 | 否 | 是 | 是 |
| 实时闭环 | 是 | 部分 | 否 | 否 |
| 学习曲线 | 中等 | 低 | 高 | 低 |
| 适用场景 | 定制化实验 | 标准范式 | 高精度姿态 | 高吞吐量 |
选择建议:
-
高精度姿态(精细行为):DeepLabCut
-
高吞吐量标准实验:ConductVision
-
实时闭环定制:Bonsai
-
快速验证标准范式:ANY-maze / EthoVision
6 总结
行为追踪正在经历从手动/半自动向AI驱动的深刻转型。Bonsai提供了难能可贵的开源实时框架,而DeepLabCut等工具将姿态估计提升至前所未有的精度。商业AI方案则填补了高吞吐量需求与零学习成本之间的市场空间。选择哪一工具,最终取决于实验的具体需求——精度、通量、实时性和预算之间的权衡。