Anipose 开源项目使用教程

1. 项目介绍

Anipose 是一个开源工具包,用于从多个摄像机视图中进行鲁棒的无标记3D动物行为跟踪。它利用机器学习工具箱 DeepLabCut 在2D中跟踪关键点,然后跨摄像机视图进行三角测量以估计3D姿态。Anipose 由四个模块化组件组成:

  • 3D校准模块:设计用于最小化异常值的影响。
  • 滤波器集:用于解决2D检测中的错误。
  • 三角测量模块:集成时间和空间约束以获得准确的3D轨迹,尽管存在2D跟踪错误。
  • 处理大量视频的管道:这些模块打包在一起,但校准和三角测量功能也可作为独立库(aniposelib)使用,无需完整管道和超越姿态估计的应用。

2. 项目快速启动

安装 Anipose

首先,确保你已经安装了 Python 3 和 Anaconda。然后,按照以下步骤安装 Anipose:

# 创建并激活虚拟环境
conda create -n anipose python=3.8
conda activate anipose

# 安装 Anipose
pip install anipose

配置 Anipose

创建一个配置文件 config.toml,并根据你的项目需求进行配置。以下是一个简单的配置示例:

[project]
name = "my_anipose_project"

[calibration]
camera_names = ["camera1", "camera2"]

[triangulation]
temporal_fill = "linear"
spatial_fill = "linear"

运行 Anipose

使用以下命令运行 Anipose:

anipose run --config config.toml

3. 应用案例和最佳实践

应用案例

Anipose 已被广泛应用于各种动物行为的3D跟踪研究中,例如:

  • 果蝇行为研究:通过多摄像机系统跟踪果蝇的飞行轨迹。
  • 小鼠行为研究:在实验室环境中跟踪小鼠的运动和姿态。

最佳实践

  • 校准摄像机:确保所有摄像机都经过精确校准,以提高3D跟踪的准确性。
  • 数据过滤:使用 Anipose 提供的滤波器对2D检测数据进行预处理,以减少噪声和错误。
  • 多视图三角测量:利用多个摄像机视图进行三角测量,以获得更准确的3D轨迹。

4. 典型生态项目

Anipose 作为一个开源项目,与其他相关项目形成了良好的生态系统,例如:

  • DeepLabCut:用于2D关键点检测的机器学习工具箱。
  • OpenCV:用于图像处理和计算机视觉的基础库。
  • NumPySciPy:用于数据处理和科学计算的库。

这些项目与 Anipose 结合使用,可以构建一个完整的动物行为分析系统。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐