基于自注意力机制的多切块协同分类模型提升相机陷阱物种识别精度

《Methods in Ecology and Evolution》:Paying attention to other animal detections improves camera trap classification models

【字体: 时间:2026年03月06日 来源:Methods in Ecology and Evolution 6.2

编辑推荐:

  这篇研究论文(Methods in Ecology and Evolution, 2026)提出了一种创新的“多切块注意力分类器”(Multi-Crop Attention-based Classifier, MCA Classifier),旨在解决传统两阶段(检测-独立分类)相机陷阱(camera trap)图像分析模型难以利用图片序列中存在的上下文(如时间关联、多动物共存)信息的问题。该方法在现有流程基础上无缝集成了一个基于自注意力(self-attention)的轻量模块,通过对同一事件中检测到的所有动物切块(crop)的特征嵌入(embedding)进行联合处理,使模型能够学习切块间的关联,从而显著提高了物种分类的准确性,尤其是在具有挑战性的条件下(如运动模糊、遮挡)以及在多物种场景中。该方法为下游生态分析(如物种丰富度、占有率、种间互作估算)提供了更可靠的数据基础。

  
1 引言
相机陷阱已成为野生动物监测不可或缺的工具,实现了大规模、非侵入式的生态系统数据采集。然而,随之而来的是从成千上万张图片或视频中识别物种的巨大挑战。鉴于人工识别既耗时又繁琐,开发高效、准确的自动化分析流程成为迫切需求。目前,大多数现代相机陷阱分析流程采用两阶段流程:首先,一个物体检测器(如MegaDetector v5或v6)定位并裁剪出图片中的动物;随后,一个物种分类器独立地对每个动物切块图像进行物种预测。这种方法现已成熟,并集成在多个广泛使用的工具、软件和网络平台中。它也特别适用于多物种序列,因为每个切块被分类器独立处理,允许从同一张图片中预测多个物种。
尽管研究人员现在训练的物种分类深度学习模型准确率常超过90%,但要达到更高的精度似乎很复杂。这些模型在具有挑战性的条件下仍然表现不佳,例如运动模糊、遮挡、低图像质量或不寻常的动物姿态。这些错误会传播开来,并对下游的生态任务产生负面影响,例如估算物种丰富度、占有率或种间互作。
独立预测每个动物切块增加了错误的可能性,特别是对于那些离相机陷阱较远的动物,其切块质量往往较低。因此,人类标注员经常利用从其他地方积累的信息来做出更准确的物种识别。首先,由于相机陷阱通常捕捉连续的短图片序列,人类标注员经常使用时间上下文来做出更准确的物种识别。其次,由于许多社会性物种以群体形式被拍摄,人类标注员利用这些信息,基于群体中的其他个体来确认单个个体的识别。然而,现有的分类模型忽略了这些额外的信息。
将时间上下文或周围动物的信息纳入模型的一种直接方法是为每个单独的切块分配整张图片或整个序列中的最佳预测(或平均预测)。这类方法显示出良好的性能,但它们假定只存在单一物种。虽然在某些栖息地中多物种序列很罕见,但未能检测到它们仍然可能带来问题,因为这些共现情况通常对应于具有重要生态意义的种间互作。在其他栖息地,多物种序列则更为常见,假设单一物种的方法会导致许多分类错误。因此,为了复制人类跨图片或序列不同部分连接信息的能力,自动化系统必须包含一种能够学习对象(此处为切块)之间关系的机制。近年来,自注意力机制因其在大语言模型中的核心作用而流行起来。自注意力是一种可训练机制,用于学习序列中元素之间的依赖关系和上下文联系。在语言模型中,它作用于单词或标记(token);在最先进的视觉模型如Vision Transformers(ViT)中,它被应用于图像块(patch)。本研究提议利用这一原理来建模相机陷阱序列中切块之间的关系。
本研究的目标是在不要求改变其基本结构或损害多物种序列上性能的前提下,在两阶段框架内增强物种分类。我们旨在基于现有组件构建,例如MegaDetector和预训练的物种分类器,避免对动物边界框进行劳动密集型的标注,并允许使用高性能分类模型。我们的核心思想是提议添加一个基于自注意力的轻量模块。在本研究中,我们将自注意力应用于同一相机陷阱序列内检测到的所有动物切块的特征嵌入(embedding)集合,使模型能够捕捉它们之间的关系。自注意力允许每个切块嵌入通过结合图片或序列中所有切块的上下文信息得到优化。重要的是,该模块在推理时增加了最小的计算开销,并且可以无缝集成到现有流程中。我们设计了一个训练方案来有效训练这样一个用于特定用例的自注意力模块。由于缺乏在切块级别标注的多物种序列,我们引入了一种通过组合单物种序列来生成合成切块集合的方法。这种方法使模型能够用更多样化的数据进行训练,并学会如何处理多物种事件。
2 材料与方法
2.1 数据
为了评估我们的方法,我们使用了LILA知识库中公开的两个数据集:Snapshot Serengeti和Snapshot Safari 2024 Expansion。对于两个数据集,我们都使用了LILA上提供的MegaDetector检测结果,并应用了重复检测消除(RDE)过程以去除许多误报检测。对于每个置信度分数高于0.5的动物检测,我们提取包含动物边界框的最小正方形切块。源自同一全图片序列的所有裁剪图像继承其标签,并统称为一个切块集合。标记为空的序列被排除在此过程之外。我们使用Serengeti数据集训练我们的模型,重点关注与Norouzzadeh等人相同的46个物种。来自179个相机陷阱位置的图像用于训练,来自另外46个位置的图像则留作测试。对于分布外测试,我们使用包含相同46个物种图像的Safari2024数据集。
2.2 多物种序列
由于标签是在序列级别分配的,对于标注了多个物种的序列,无法可靠地将单个切块图像与特定物种关联起来。这凸显了相机陷阱项目中常用的序列级标注的内在局限性:它不提供标准监督学习所需的每个切块的标签。此外,这种不确定性甚至可以延伸到标记为单物种的序列,其中未标记的背景动物可能被检测到但未被标注。因此,我们从多物种序列中导出的所有切块集合,就我们的任务而言,都可以被认为是弱标记的:它们不能用于在切块级别进行监督训练或定量评估。因此,为了能够用多物种切块集合来训练和评估我们的模型,我们必须仅使用单物种集合创建合成集合。
2.2.1 合成集合
我们通过在一天中的同一小时内(但不一定在同一天)捕获的两个或三个单物种切块集合连接在一起来生成合成集合。更精确地说,为了创建合成集合,我们首先将在一天中同一小时内捕获的所有单物种集合分组在一起。然后,对于每个组,我们无放回地随机抽取集合对或三元组,并将它们连接起来形成合成集合。在训练期间,我们在每个训练周期重复此过程以创建新的组合,并增加模型看到的多样性。合成集合可能并非都是多物种的,因为该过程可能连接具有相同物种的集合。这对于训练目的实际上是好的,因为它允许模型也学习在单物种情况下如何使用上下文信息。为了评估,我们采用了这种方法的一个更现实的变体:分组由同一小时、同一年内同一月份、并且在相同相机陷阱位置捕获的集合形成。这产生了具有相同原始背景以及相似植被和光照条件的合成集合。因此,对这些更现实的合成集合进行评估,能更好地近似现实世界的性能。然而,这些更现实的合成集合并未用于训练,因为额外的约束减少了可能的组合数量,从而减少了对于鼓励泛化很重要的多样性。
真实但弱标记的多物种切块集合仍可用于评估。首先,我们可以通过与模型预测相关联的视觉检查来定性评估它们,从而深入了解模型在非合成多物种场景中的表现。其次,尽管单个切块标签未知,但已知存在的物种集合是可用的。由于集合不包含重复项,每个物种只计数一次,即使它在切块中出现多次。因此,我们可以在集合层面的多标签分类任务中评估它们:对于每个切块集合,我们希望尽可能准确地预测已知存在的物种集合。
2.3 模型
2.3.1 独立分类器基线方法
为了评估我们提出的新模型架构的益处,我们首先必须定义将与之比较的最先进基线方法。我们自然地选择了许多现有平台(如PyTorch-Wildlife、DeepFaune或AddaxAI)中常用的物种分类方法作为基线,将其命名为“独立分类器”基线方法。在该方法中,首先使用专用的物体检测器(通常是MegaDetector v5或v6)检测相机陷阱图片或序列中的动物。然后,每个检测到的动物被单独裁剪并使用物种识别模型进行分类。这种方法已被证明非常有效。然而,由于每个切块被独立处理,该方法无法直接利用集合内可用的上下文信息。
为了训练基线分类器,我们微调了最先进的DINOv2-Large模型。由于训练依赖于从标注为单物种的序列中提取的切块,因此集合中的所有切块预期属于同一物种。然而,我们观察到大量错误标记的切块。在某些情况下,标记有单一物种的全图片在背景中也包含其他物种。这些背景动物可能被MegaDetector检测到,导致切块被错误标记。为了解决这个问题,我们使用训练好的分类器来识别可能被错误标记的切块。如果预测的类别与真实标签不同且得分大于95%,或者真实类别的预测得分低于5%,则该切块被标记为可能不匹配。识别出的可能不匹配的切块(占训练数据的4.04%)被移除,以创建一个“清理过的”训练集。然后,我们使用与原始模型相同的架构和超参数,在此清理后的数据集上训练第二个分类器。重要的是,没有从测试集中移除任何切块。随后所有实验都使用在清理数据集上训练的第二个分类器。
2.3.2 多切块注意力分类器
我们提出了一种简单而有效的方法来联合处理切块集合,同时尽可能多地复用独立分类器基线的组件。大多数分类模型,如CNN和ViT,可以分为两部分:一个图像编码器,用于处理输入切块图像以产生特征嵌入(embedding);以及一个分类头(通常是具有softmax激活的单个线性层),将嵌入映射到最终的分类分数。在多切块注意力分类器中,架构在达到嵌入阶段之前与独立分类器完全相同。然而,不是直接将嵌入传递给分类头,而是首先用切块集合提供的上下文信息来丰富它们。具体来说,集合中所有切块的嵌入被拼接并通过多个Transformer块进行处理,以产生新的上下文感知的嵌入。然后,这些更新后的嵌入被独立地传递到分类头,以为每个切块生成最终预测。值得注意的是,不添加位置嵌入,使得模型对集合内切块的顺序不变。
Transformer块内部使用的自注意力机制允许每个切块嵌入关注集合中的所有其他切块。在这里,它使模型能够捕获与图片中或同一序列的其他图片中其他检测个体之间的关系。具体而言,给定一个嵌入集合,其中N是集合中切块的数量,D是嵌入维度,Transformer通过可学习的权重矩阵计算查询、键和值。通过使用查询和键之间的点积以及应用于行的softmax函数,我们得到注意力矩阵A。其中每个元素Ai,j可以看作切块i对切块j的关注程度。然后,通过将原始嵌入与注意力权重和值的加权和相加,得到新的嵌入。这些新嵌入然后通过一个多层感知机传递。在多个Transformer块之后,这些新的、富含上下文的切块表示然后被分类头处理。上面的描述针对单个自注意力头。实际上,使用了多个注意力头,但过程基本相同。此外,为了清晰起见,省略了每个步骤中包含的层归一化。
在训练期间,预训练分类器的图像编码器和分类头都保持冻结状态。为了公平比较,我们使用上一节训练的同一种分类器,尽管任何现有的预训练分类器都可以使用。切块嵌入被预先计算一次并保存在记忆库中;仅训练Transformer块。在我们的实验中,MCA分类器使用四个Transformer块、批量大小512、AdamW优化器和1e-4的学习率进行训练。在训练期间,一个批次内的所有集合必须具有相同的长度,这里我们使用固定的集合长度12个切块。较长的集合被随机下采样以符合此约束,较短的集合被丢弃。此限制仅适用于训练期间,因为在推理时该架构可以处理任意长度的集合。
由于MCA分类器是使用从用于训练独立分类器的切块中导出的嵌入进行训练的,这些嵌入比来自未见切块的嵌入“过拟合”程度更高,并可能产生分布偏移。为了提高鲁棒性,我们应用嵌入混合,这是一种正则化技术,其中嵌入与从记忆库中随机选择的嵌入混合,从而减少其携带的信息量。我们为三分之一的集合使用较高的混合因子λ=0.5,为剩余三分之二使用较低的λ=0.1。这些值是根据经验选择的,以平衡正则化强度,同时确保嵌入仍携带有意义的信息。
2.4 指标与实验
我们使用准确率作为主要评估指标来比较两种方法(独立分类器和MCA分类器)。准确率始终在切块级别计算,无论切块是单独处理还是在集合内处理。它对应于正确分类的切块比例。我们在原始和合成集合上评估两种方法。对于原始集合,我们只保留那些至少有两个切块的集合。
对于真实但弱标记的多物种切块集合,由于在切块级别没有标签,无法测量准确率。因此,我们使用Jaccard指数,这是多标签分类的标准指标。给定一个真实的标签集合和一个预测的标签集合,Jaccard指数J是它们交集的大小除以并集的大小。为了构建预测的标签集合,我们对每个切块进行分类,并仅保留置信度得分高于给定阈值的标签。然后,我们计算所有切块集合的平均Jaccard指数,并报告模型在不同阈值下的性能。对于每个阈值,我们还报告有多少切块因其预测分数低于阈值而被排除。
我们使用预期校准误差来衡量两种模型产生的分数的校准度。完美的校准将在ECE等于0时实现,因为在这种情况下分数可以被解释为预测为真的概率。我们在Serengeti测试集上使用温度缩放来校准模型,并使用相同的温度报告在Safari2024上的ECE。
为了提供参考点,我们还将我们的基线方法与SpeciesNet(一个用于相机陷阱图像的公开可用的最先进物种分类模型)进行了比较。由于SpeciesNet的类别集比我们的模型更大,我们将其类别映射到本研究中使用的类别。我们仅报告SpeciesNet在Safari2024上的准确率,因为本研究中使用的Serengeti测试集包含在SpeciesNet训练集中。
我们还进行了一项消融研究,通过将主要配置与只修改单个参数的替代设置进行比较,来评估我们训练设计选择的影响。最后,我们使用真实的多物种切块集合对模型进行了定性评估。特别地,我们可视化了来自最后一个Transformer块的注意力矩阵,因为它为模型的行为提供了有价值的见解。
3 结果
我们的新MCA分类器在测试数据集(真实的单物种集合)上达到了95%以上的准确率,在Serengeti上比独立分类器高出4.77个百分点,在Safari2024上高出2.38个百分点。相比之下,SpeciesNet在Safari2024上的准确率为86.39%,比独立分类器低6.25个百分点。
MCA分类器在合成(单物种或多物种)集合上也表现得更好。虽然在单物种集合上的差距较小,但在多物种集合上仍有显著改善,在Serengeti上比独立分类器提高了3.34个百分点,在Safari2024上提高了2.37个百分点。
由于真实多物种集合只是弱标记的,我们首先在切块层面进行定性视觉分析。一个说明性的例子展示在文档的图2中。然后,我们使用Jaccard指数在集合级别评估两种模型。对于独立分类器,Jaccard指数在阈值为0.5时从0.55开始,在阈值为0.8时达到峰值0.66,但排除了28.7%的切块,这表明它最初预测了过多的物种。然后,随着阈值变得过高,模型开始预测过少的物种,指数下降。相比之下,MCA分类器显示出最小的变化,在阈值为0.5时达到0.73,在阈值为0.7时达到最大值0.73,仅排除了1.5%的切块。
一项消融研究的结果显示,与主要配置(在结果中使用的配置,即使用合成集合训练、四个Transformer块和应用嵌入混合)相比,仅使用真实但单物种的集合进行训练,会显著降低多物种准确率,甚至比独立分类器表现更差。将Transformer块的数量从一个增加到两个带来了小幅改进,当使用四个块时观察到了进一步的微小增益。此外,在训练期间应用嵌入混合也带来了整体益处。
使用ECE评估两种方法产生的分数的校准度表明,独立分类器在最佳温度1.15缩放后ECE为1.84%。相比之下,MCA分类器达到了更低的ECE 1.13%,但需要显著更高的温度2.92。这表明,虽然MCA分类器在校准后提供了更可靠的分数,但最初比独立分类器更过度自信。
虽然MCA分类器提高了分类准确率,但量化其计算成本也很重要。额外的Transformer层训练效率高,在单个NVIDIA V100 GPU上每轮需要65秒,总共4小时10分钟。在推理时,MCA分类器方法引入了可忽略的开销,与独立分类器相比平均仅慢0.64%。在这些模型中,大部分计算由两种方法共享的图像编码器完成。
4 讨论
这项工作解决了相机陷阱图像自动分析中长期存在的问题:在识别相机陷阱图片中的物种时,我们如何复制人类整合时间上下文以及其他动物信息的能力?我们提出的解决方案既易于实施又有效。我们展示了自注意力机制(在大语言模型的成功中处于核心地位)可以在不需要复杂实现或劳动密集型标注的情况下,有效地用于相机陷阱物种分类流程中。通过将Transformer块直接应用于分类器的特征嵌入,我们能够生成利用整个集合中信息的新表示。这种方法不仅比基线有显著改进,而且学会了处理多物种集合,在这些情况下,上下文信息必须被谨慎解释以保留物种特异性信息。
文档中的图2和图3很好地说明了为每个切块独立预测标签时出现的一个常见问题:包含所有预测会增加假阳性(预测不存在的物种)的风险,而过滤掉低置信度的预测可能导致低估每个物种的个体数量。我们的方法以几乎零成本,在面对这种权衡时提供了更强的鲁棒性,从而为下游生态分析提供了更准确的估计。此外,它可以通过减少这些假阳性来提高用户对模型预测的信任。此外,自注意力层产生的注意力图可以提供一定的可解释性,帮助可视化模型依赖哪些切块来进行其预测。
虽然MCA分类器在校准后达到了更高的准确率和更低的ECE,但对高温缩放因子的要求(2.92对比基线的1.15)表明模型的原始预测明显过度自信。我们将此归因于自注意力机制跨多个切块汇集信息的性质,这可以放大一致的规律:当许多切块支持相同的解释时,模型对其预测变得越来越自信。这种行为突显了部署时的一个关键考虑:不应将模型的原始置信度分数解释为直接概率。尽管温度缩放在后处理中有效地纠正了这一点,但未来的工作可以研究在训练期间解决此问题的策略,例如标签平滑或混合。
在这项工作中,我们选择同时处理给定序列中的所有切块。然而,从技术上讲,该架构可以使用更多的上下文,例如,通过在给定的时间间隔内添加上一个或下一个序列的切块。然而,通过扩展上下文,存在将意外偏差引入模型预测的风险,特别是当添加的上下文与目标切块不直接相关时。这就提出了一个重要问题:向模型提供什么数量和类型的上下文是合适的?一个合理的答案可能是匹配人类标注员可用的上下文。在我们的案例中,本研究中使用的两个数据集都在Zooniverse上被标注,参与者在标注过程中可以访问相机陷阱产生的整个序列。
尽管能够分别训练分类器和Transformer块可以被视为该方法的一个优势,实现了模块化和效率,但它也可能限制架构的整体表达能力。由于Transformer块是在固定嵌入上进行训练的,因此Transformer优化嵌入的能力受到分类器所学内容的限制。联合训练分类器和Transformer有可能通过允许端到端优化在切块集合上实现更好的性能。然而,标准的联合训练将显著增加GPU内存需求,尤其是在大批量大小的情况下,并可能限制计算资源有限的研究人员训练模型的能力,从而降低其在更广泛采用和实验中的可访问性。尽管如此,未来的工作可以探索实现部分端到端优化的策略。例如,冻结图像编码器的早期层或使用低秩适应可以使模型能够针对多切块上下文特别优化特征提取,而不需要完全微调及其相关的高昂内存成本。
在本研究中,我们训练了物种分类模型和作用于其切块嵌入的Transformer块。然而,在实践中,预训练的分类器已经可用,例如在SpeciesNet或DeepFaune中,只需训练Transformer模块,前提是训练数据(无论是图片还是预计算的嵌入)可用。尽管如此,我们的方法有两个主要局限性。首先,训练数据必须包含序列标识符,即指示哪些切块属于同一序列的唯一ID。其次,训练数据必须覆盖分类器中存在的所有物种类别。要求序列标识符可以减少可用于训练的数据量,与传统独立分类器相比,因为此类标识符并不总是提供。由于图片元数据通常不包括序列信息,需要通过手动标注或从时间戳和位置数据(如果可用)推断来获得它,这需要额外的努力。
这种新方法通过提高在具有挑战性的条件下的性能,帮助解决了物种分类流程中的一些盲点,例如作物质量差或遮挡。然而,仅靠这些改进不足以达到完美的准确率,因为流程的其他地方仍然存在局限性。例如,即使是最准确的动物检测器也偶尔无法检测到动物,特别是在涉及小型或伪装良好的物种的情况下。相比之下,人类标注员通常可以依赖其在序列图片中的运动来识别此类动物。因此,开发新的通用动物检测模型,像人类一样可以利用运动来检测动物,可能使我们更接近完全自动化相机陷阱数据中的物种识别。这将是另一种处理时间上下文的方法,这次是用于检测目的。
最后,虽然我们证明了这种方法在物种分类方面的益处,但它也可以适用于其他可以从时间上下文和周围动物信息中受益的计算机视觉任务,例如行为分类或个体计数。许多为视频数据开发的模型依赖于短而规律的帧间隔,并且往往在相机陷阱序列上表现不佳,其中图片之间的时间间隔可能长达数十秒。相比之下,通过我们的方法,将自注意力应用于切块嵌入提供了一个简单而灵活的解决方案,因为它可以学习捕获切块之间的关系,而无需时间连续性。
5 结论
我们引入了一个轻量级的自注意力模块,通过利用同一事件中其他动物检测的上下文信息,提高了相机陷阱图片中的物种分类精度。我们的方法无缝集成到现有的两阶段流程中,处理多物种设置,并以最小的计算成本运行。通过减少物种错误分类,它能够对生物多样性指标(如物种丰富度、占有率和种间互作)进行更可靠的估计,这对于野生动物监测和保护至关重要。
相关新闻
生物通微信公众号
微信
新浪微博

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号