多只动物3D姿态估计与行为识别系统

动物社会行为的量化是动物科学研究的重要步骤。虽然现有的深度学习方法已经实现了对常见动物的精确姿态估计、识别和行为分类,但由于缺乏注释良好的数据集,其应用依然受到挑战。因此该研究展示了一个计算框架,即社会行为图谱(SBeA,Social Behavior Atlas),用于克服由有限数据集引起的问题。SBeA使用数量很少的 labelled frames 进行多个动物的3D姿态估计,实现后续的无标签识别。SBeA被证实可以揭示先前被忽视的自闭症障碍基因被敲除小鼠的社会行为表型(social behaviour phenotypes)。结果还表明,使用现有的数据集,SBeA可以在各种物种中实现高性能。这些发现突出了SBeA在神经科学和生态学领域量化微妙社会行为的潜力。

来自:Multi-animal 3D social pose estimation, identification and behaviour embedding with a few-shot learning framework

背景概述

动物建模在动物社区研究中起着重要作用。然而,难以捕捉到它们特定的行为作为生物标志物阻碍了我们的理解。解读动物社会行为的最大挑战是物种内的外观相似性。区分他们身份的一种直接方法是通过body markers,如射频识别设备。另一种方法是将深度信息与RGB图像相结合,以减少由遮挡引起的识别误差。最近,基于深度学习的多动物跟踪方法,如multi-animal DeepLabCut、SLEAP和AlphaTracker,一直在避免对body markers和depth information的依赖。它们通过使用连续运动或外观的特征来保持动物身份。尽管深度学习多动物姿势估计、身份识别和行为分类的这些进展在社会行为分析中表现出了良好的性能,但它们在各种实验场景中的应用受到高质量基准数据集可用性的限制。

姿态估计:通常,模型在多动物姿态估计中的性能取决于标记帧的数量。尽管有几个注释良好的多动物姿态估计数据集,但它们不能涵盖不同的其他社会行为。多只动物的频繁遮挡对手动数据标注来说是一个挑战。由于遮挡帧的手工标签不精确,模型的性能反而会降低。将多视角相机阵列与3D重建技术相结合可以提高面对遮挡时的姿态估计精度,但这些方法是为单个动物而不是为多个动物设计的。

身份识别:该任务需要精确跟踪同一只具体动物(才能分析它的个体行为),基于图像的动物识别方法性能也受到数据标注的限制。动物有相似的外表,因此在标注数据集时很难区分它们的身份。基于无监督跟踪的方法是动物识别的替代解决方案。当动物彼此相距相对较远时,它们表现出很高的性能,但动物之间的密切互动依然会导致难以区分身份问题。

行为识别:现有的行为分类数据集无法涵盖新的和异常的社会行为模式。以及一些亚秒时长的行为在设置标签时被随意忽略,因为它们太短了。这意味着有监督的行为分类方法不适用于检测这些行为。无监督行为分类方法的最新进展适用于揭示细微的行为差异,但它们仅针对单个动物设计。AlphaTracker是为使用人类定义的特征对社会行为进行无监督聚类而设计的,但这些特征无法区分四肢和爪子构建出的微妙行为。

为了应对这些挑战,作者提出了社会行为图谱SBeA,这是一个用于多动物3D姿势估计、身份识别和社会行为分类的小样本学习框架。其中提出了一种用于SBeA中数据增强的连续遮挡复制粘贴算法(COCA),该算法与多视角相机相结合,以实现具有少量数据注释(大约400帧)的多动物3D社交姿态估计。还提出了一种双向迁移学习身份识别策略,实现了多动物身份识别的零样本注释,准确率超过90%。最后,作者将Behaviour Atlas(一种无监督的行为分解框架)从单个动物扩展到多个动物,实现了纯度超过80%的无监督细粒度社会行为聚类。在一项关于自闭症和正常动物之间自由社交行为的研究中,SBeA能够自动识别有社交异常的动物,并解释这些异常社交行为的特征。这表明SBeA可以作为研究动物社会行为的一种有效工具。SBeA可以应用于小鼠、鹦鹉和比利时马利诺犬,展示了其适用于各种应用场景的泛化能力。

方法

SBeA初步概览

SBeA旨在全面量化动物的社会行为。它提出了两个重大挑战:姿势跟踪(pose tracking)和行为映射(behaviour mapping)。姿势跟踪包括识别每种动物的关键点及其身份,为了解决这个问题,SBeA开发了一个涉及多视角相机阵列的自由社会行为测试模型(图1a)。这种方法涵盖了更多的动物视角。相机阵列用于相机标定,然后是两个自由移动的动物的视频,用于社会行为测试(图1a Video capture phase 1)。最后,该阵列捕获单个自由移动动物的视频以进行识别(图1a Video capture phase 2)。

视频采集后,对视频采集阶段1的多动物轮廓和视频采集阶段2的单动物姿态进行手动标注,用于深度模型的训练,以输出具有动物身份的3D姿态(图1b和c)。多动物视频实例分割(VIS,video instance segmentation)、姿态估计和身份识别的任务是用相对较少的手动注释实现的(图1d,左)。通过结合相机参数,在几何约束的基础上匹配不同相机角度,以重建具有每种动物身份的3D姿势轨迹(图1d,中间和右边)。

行为映射的过程包括将动物的轨迹分解为不同的行为模块,并获得它们的低维表示。3D轨迹分别分解为位移动作、非位移动作和身体距离分量(图1e,顶部和中间)。然后将这些部分划分为多个部分,然后使用动态行为度量将其合并为社会行为模块(图1e,底部)。为了深入了解社会行为模块中特征的分布,有必要将其转换为低维表示(图1f)。这些表示包含了空间和时间方面,空间方面通过SBeA框架中距离特征的低维嵌入来捕捉(图1f,左)。时间方面由社会行为图表示(图1f,右)。这种方法可以更全面地了解社会行为模块中的特征分布。
fig1

  • 图1a:相机阵列用于行为捕捉,并通过棋盘图像进行校准。行为视频采集分为两个阶段,包括社会行为测试和动物身份数字化。阶段1拍摄两只老鼠的自由社交视频。阶段2捕获阶段1中每个鼠的身份。
  • 图1b:训练数据人工注释。SBeA需要多动物轮廓和单动物姿态的标注。
  • 图1c:用于3D姿态跟踪的多级神经网络。
  • 图1d:3D姿态跟踪的输出。左边显示了人工智能的输出,包括视频实例分割、多动物姿势和多动物身份。该图的中间区域展示了视频实例分割结果、多动物姿态和多动物身份与相机校准参数的组合,用于每个身份的3D重建。右侧显示了具有身份的3D姿态的可视化。
  • 图1e:身体轨迹的并行动态分解。两种动物的原始3D轨迹可以分解为位移、非位移和身体距离。
  • 图1f:社会行为指标。根据社会行为空间的分布,对社会行为主题进行聚类和表型分析。

SBM-VIS数据集

该研究中用到的两只C57BL/6小鼠,其自由社交行为被MouseVenue3D的第一个版本捕获。四台摄像机的前1分钟帧被注释为SBM-VIS数据集,总共7200帧。为了加快数据注释,作者使用了深度学习作为辅助。这里,30%的轮廓是手动标记的,其余的轮廓在经过手动标记的30%轮廓用于训练YOLACT++,再由YOLACT++标记。接下来,使用single-animal DeepLabCut通过人工检查来预测每帧中实例mask对应的pose。姿态被保存为csv文件,不同相机数据下的身份由人工注释进行更正。同样的,之后的实例分割和姿态估计依然使用YOLACT++和DeepLabCut。


DeepLabCut得到的是每个相机拍摄视频下的姿态估计结果(每个帧都预测),最终使用所有相机参数实现这些关键点的3D重建


相关推荐

最近更新

  1. CSS学习

    2024-01-30 07:00:01       0 阅读
  2. Unity 常用取整方法

    2024-01-30 07:00:01       1 阅读
  3. 华为机考真题 -- 攀登者1

    2024-01-30 07:00:01       1 阅读
  4. Linux内核 -- 内存管理之scatterlist结构使用

    2024-01-30 07:00:01       0 阅读
  5. 【国产开源可视化引擎Meta2d.js】数据

    2024-01-30 07:00:01       1 阅读

热门阅读

  1. LeetCode1504. Count Submatrices With All Ones

    2024-01-30 07:00:01       30 阅读
  2. 基于机器学习的无损缺陷检测技术研究进展

    2024-01-30 07:00:01       44 阅读
  3. 机器学习复习(1)——任务整理流程

    2024-01-30 07:00:01       36 阅读
  4. 怎么创建docker镜像

    2024-01-30 07:00:01       36 阅读
  5. 升级anaconda中python到3.10版本

    2024-01-30 07:00:01       26 阅读
  6. 中间件

    2024-01-30 07:00:01       30 阅读