| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【Transformer养猪】Livestock Monitoring with Transformer -> 正文阅读 |
|
[人工智能]【Transformer养猪】Livestock Monitoring with Transformer |
贡献
PIGTRACE
?图中每一行对应一个来自不同场区的视频,每一列对应连续的注释帧。动物身上的数字是它们唯一的身份标识 颜色代表猪的行为:
STARFORMERSTARFORMER是一种基于DETR扩展的多任务Transformer模型,用于对牲畜进行分割、跟踪、动作识别和再识别(STAR) DETR引入了对象查询(object queries)的概念——使用固定数量的object queries作为可学习的positional embeddings,可以将这些embeddings提取为图像中可能的对象实例的表示。 基于此,STARFORMER扩展了DETR,使用固定数量的object queries作为可学习的individual embeddings,使其通过STAR多任务学习更能识别一个实例。 上图表示了STARFORMER的架构,一个ResNet-101主干网络,后跟一个包含6个编码器-解码器层的标准Transformer,具有固定大小的位置编码(object queries)。基于对猪数量的先验知识,Transformer模块产生N个潜在编码,每个对应一个单独的猪。STARFORMER的关键思想是通过设计四个头来改善嵌入,每个头优化STAR任务的一个损失函数。
检测损失:使用DETR原文提出的损失函数(匈牙利算法二分图),但只有一个类(猪)。这种损失主要结合分类损失(交叉熵损失训练模型分类为猪或背景)和边框损失(L1损失和IoU损失的线性组合)
分割损失:将embeddings传递给实例分割头,并简单地对每个像素的掩码分数使用argmax,并将相应的类别分配给得到的掩码。掩模的最终分解为4步,每个掩模都使用DICE/F-1损失和Focal loss进行独立监督。
空间对比损失:引入了一个定制的对比损失项,训练模型更好地区分同一帧内的多个猪。此时embedding设为
,是最后一个Decoder层从视频第
帧中得到并输出的。其中
为猪的序号,并设一帧中总共有
头猪。时空对比
损失定义为
,其中,Ls和Lds分别表示相似损失项和不同损失项,λs和λds分别为权重项。
先分别计算每一帧的相似损失Ls,对于第t帧
为了计算Lds,选择视频的τ个连续帧,并计算所有N个目标的损失。
行为损失:?二元交叉熵损失,将每头猪分为两类,即活跃(站立)或不活跃(坐着) 实验
基线与评价指标分割:比较MaskR-CNN和DETR,其解码器和object queries是使用我们的训练数据集微调。注意,在评估STARFORMER和DETR时,我们将预测的数量(DETR是100)固定为该视频中猪的数量。这在畜牧业环境中可能是有益的,因为封闭环境中的动物数量在视频过程中将保持固定。这就限制了模型不允许过多或过少地预测嵌入的数量。我们报告了不同IoU阈值上的平均精度(mAP),从0.5到0.95(写成0.5:0.95),以及在0.5阈值上的平均精度(mAP)。 跟踪:利用分割模型得到的分割掩码进行时间匹配,实现多目标跟踪。猪的数量在整个视频中保持不变,我们利用这个约束条件,将预测的数量固定为视频中已知的猪的数量N。对于每个视频,我们只考虑所有对象查询中的前N个预测。同时还可以得到猪数量的初步估计。为了更好地分析跟踪模块的性能,我们使用了两种不同的匹配算法,并比较了每种算法的性能。以下是对它们的简要描述。
我们提出了约束多目标跟踪和分割精度(cMOTSA)作为评价有约束跟踪问题的指标。由于在整个视频中牲畜的固定计数的限制,将不会有假阴性(FN),因为现在在ground-truths和从prediction获得的各自实例之间存在1-1映射。我们希望这个评估指标能够准确地评估STARFORMER在学习每个猪实例的独特表示方面的能力。它被定义为真阳性TP(掩码IoU大于0.5的匹配实例对)与所有阳性预测(|TP| + |FP|)的比率。假阳性(FP)是掩码IoU小于或等于0.5的实例对。此外,我们还使用scMOTSA来评估跟踪性能,scMOTSA是cMOTSA的一个软变体,定义为scMOTSA = ,其中表示软真阳性。 行为:与经过专门训练的ResNet-101激励模型(Ac-ResNet)进行比较来评估,该模型将每头猪分为两类——不活动(坐着)或活动(站着)。以AUC-ROC曲线下面积作为评价指标。 再识别:使用累积匹配特征(CMC)评分来比较STARFORMER和DETR之间的再识别。CMC-k,度,表示在排名前k的检索结果中出现正确匹配的概率。在我们的例子中,排名是通过计算不同帧猪之间的Embedding距离来完成的。如果前k个值中出现正确匹配,CMC top-k精度为1,否则为0。我们绘制了离散帧间间隔的CMC top-k精度,即进行重新识别的两帧之间的时间间隔。 结果对于分割任务,除了下表所示以外,使用Swin - transformer骨干重新训练了STARFORMER,在PIGTRACE数据集上获得了0.76 mAP的结果。 为了进一步理解拥有多个任务头的影响,我们还分析了从最初的STARFORMER模型中移除多个任务头中的一个的几个情况。 去除STC损失的头部,对分割性能没有不利影响,但跟踪性能降低约1%。分割不会有任何变化,因为在我们的例子中,STC损失主要关注的是时序信息,而分割在每一帧中处理彼此独立的对象。类似地,当移除动作分类损失时,跟踪性能将受到显著影响。 对于再识别任务DETR和STARFORMER在CMC-k上表现相当。然而,大的k值并不适合实际用途,在较低的k值下的性能更重要。对于较低的值,我们可以看到,对于所有帧间间隔的选择,DETR的性能都会显著下降。相反,当k值较低时,STARFORMER更稳定,下降很小。这意味着,对于长期跟踪,STARFORMER有望更可靠。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 2:36:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |