sgoldenlab/simba

SimBA (Simple Behavioral Analysis): a pipeline and GUI for developing supervised behavioral classifiers from any major pose-estimation tool

SimBA (Simple Behavioral Analysis)

功能简介

SimBA 是一个基于 Python 的工具包,让研究人员能将动物追踪数据(来自 DeepLabCut、SLEAP 等的姿态估计结果)转化为特定行为的监督式机器学习分类器。它提供图形用户界面,让几乎没有编程经验的用户也能进行以下操作:

  • 加载姿态估计 CSV 或其他追踪格式。
  • 定义行为、标记视频帧并训练分类器(默认为随机森林模型)。
  • 使用精确率/召回率曲线、学习曲线图及基于 SHAP 的可解释性来评估模型。
  • 将训练好的模型应用于新视频,并导出逐帧的行为预测。
  • 生成广泛的定量摘要(行为次数、持续时间、速度、区域停留时间、社交方向指标等)以及可叠加在原始视频上的可视化效果。

适用对象

  • 神经科学家、动物行为学家及行为生物学家:记录小鼠、大鼠或其他小型动物,并需要对复杂社交或非社交行为进行可重现、高通量分析的研究人员。
  • 已使用姿态估计工具(DeepLabCut、SLEAP、DeepPoseKit 等)且希望在不编写代码的情况下建立下游分析流程的实验室。
  • 偏好点击式 GUI,但同时希望通过 API 进行脚本化工作流程的用户。

主要功能(详见 README)

类别 重点
输入 支持来自 DeepLabCut(含多动物 DLC)、SLEAP、DeepPoseKit、DANNCE (3‑D)、MARS、FaceMap、APT、SuperAnimal‑TopView、YOLO 及通用 blob 追踪的姿态估计输出。同时接受用户自定义的姿态方案。
输出 逐帧行为预测,包含标准评估指标(精确率、召回率、学习曲线)以及基于 SHAP 的特征重要性以实现可解释性。
行为分析 行为次数、持续时间、潜伏期、事件频率、严重程度评分;运动指标(速度、距离、轨迹);空间指标(区域内时间、进入次数、区域特定行为);社交/方向指标;时间结构分析(FSTTC、Kleinberg 平滑);现成检测(自发交替、幼崽检索、提示灯、明暗箱、冻结、绕圈等);非监督式分群与降维。
可视化 静态图表与视频叠加:姿态骨架、边界框、热图、甘特图、概率曲线、SHAP 摘要图、ROI 热图、方向箭头、检测特定可视化。
可解释性 整合 SHAP 以展示哪些姿态衍生特征驱动了每个分类器的决策。
GUI 基于 Tkinter 的桌面应用程序,安装 simba-uw-tf-dev 套件后执行 simba 启动。
扩展性 API 文档、示例笔记本、Docker 镜像,以及以程序化方式执行流程的能力。
资源 托管于 OSF 的预训练随机森林模型、数据集、姿态模型与权重;详尽的教学、基于情境的逐步指南及社区 Gitter 聊天室。
平台支持 Windows、macOS 与 Linux。

如何开始

  1. 通过 pip install simba-uw-tf-dev 安装套件(Python 3.6‑3.10)。
  2. 执行 simba 开启 GUI。
  3. 依照 Scenario 1 教学导入姿态数据、标记行为、训练分类器并在测试数据集上执行分析。
  4. 使用提供的预训练分类器,或为新行为建立自己的分类器。

重要性

行为神经科学越来越依赖高分辨率视频与姿态估计来捕捉细微动作。SimBA 弥补了原始追踪数据与科学严谨行为指标之间的差距,提供可在不同实验室间重现的可解释机器学习模型。其低代码方法降低了缺乏专职计算人员的实验室的门槛,同时为进阶用户提供高阶分析功能(SHAP、时间耦合、非监督式分群)。


以上所有信息均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目