Closed sssssshf closed 6 months ago
都是好问题 我先去看看论文 再来回答
关于这几个问题:
我又去把所有的公式串起来再看了一下,大佬写的论文我小白入门看起来还是有一些疑惑,还有一些问题: 1 请问整个MOTIP 里 DETR和 ID decoder是一起训练的话 ID decoder的数据标签该如何给呢 。他的损失是从哪里来的呢,也就是公式7 里面的 Lcls 和L id 他的损失标签是怎么计算的 。
2 在3.2 history Trajectory中,公式3用到的e是o经过fpn得到的。公式4是用的o,包括前面O是有多个小o组成的,请问o和e只是经过了一个fpn变换,为什么就用到了两个地方呢 有什么特殊的含义吗。 3 在id predicetor模块,模型输入的是历史轨迹和当前帧的融合信息D 请问在不同时间里,历史轨迹的长度(也就是出现的目标数量)是不一样的,并且每个目标的轨迹长度也就是t也是不一样的 在文中只是简单的说了依据用6层的transformer来应对这个问题。 我不太清楚为啥是可以处理这种不同长度情况。 您能用简单的说法解答一下吗
- ID Decoder 的数据标签是随机赋予的,只需要保证同一个目标在一个训练周期内的标签一致即可。公式(7) 的 L{cls} 是来自于 DETR 的原版 Loss,我们只定义了 L{id}。
- 是的,从 e 到 o 只经过了一个简单的 FFN 变换,具体代码在这里。没有什么特殊的含义,增加一个 adapter 理论上可以帮助模型提升性能,因为可以进行特征空间的重组和筛选。
- 因为 Transformer Decoder 本身就可以处理不定长的序列,因此处理起来十分方便,这也是我们本文选择用其作为 ID Decoder 结构的主要原因。
Lid这个损失函数是怎么计算的呢,也就是在出了第一帧之外的id predict过程,有一个交叉熵计算损失,真是标签是怎么样的分配呢。是需要对视频切分后的每帧给每个目标 12 34 这样的类别标签吗
MOT 的 GT 中本来就有 ID 的数字标签,我们只需要将这些标签随机映射成为字典中的某一个索引即可(构建一个随机的简单 mapping 就可以)。这些索引就成为了该目标在训练过程中的 ID 标签,可以直接用于监督训练。
MOT 的 GT 中本来就有 ID 的数字标签,我们只需要将这些标签随机映射成为字典中的某一个索引即可(构建一个随机的简单 mapping 就可以)。这些索引就成为了该目标在训练过程中的 ID 标签,可以直接用于监督训练。 大概懂了。期待训练代码开源之后再对着代码去看。 感谢大佬。 这个工程可以对某个视频段进行跟踪展示吗,例如输入是一个mp4格式文件
目前并没有实现这一功能,可能会考虑在未来增加类似我们之前工作一样的 demo 展示功能,但是具体时间还不确定,因为还有其他的工作在同步推进。 或者你可以考虑自己修改一下之前的 demo 代码,接口应该差别不大。
- ID Decoder 的数据标签是随机赋予的,只需要保证同一个目标在一个训练周期内的标签一致即可。公式(7) 的 L{cls} 是来自于 DETR 的原版 Loss,我们只定义了 L{id}。
- 是的,从 e 到 o 只经过了一个简单的 FFN 变换,具体代码在这里。没有什么特殊的含义,增加一个 adapter 理论上可以帮助模型提升性能,因为可以进行特征空间的重组和筛选。
- 因为 Transformer Decoder 本身就可以处理不定长的序列,因此处理起来十分方便,这也是我们本文选择用其作为 ID Decoder 结构的主要原因。
关于1这个问题,ID decoder这个模块输入的是DETR的embedding作为input,中间层是一个c维向量 输出也是一个c维向量 是输出的地方用于与随机赋予的标签进行loss计算吗?我理解成u型网络那样 中间层作为 i与与e进行concat?
是在输出层与随机赋予的 ID 标签进行计算;不过只有在开头 i 与 e 进行 concat,后续只是逐层将输出作为输入进行计算,而不会在重复这一过程。
是在输出层与随机赋予的 ID 标签进行计算;不过只有在开头 i 与 e 进行 concat,后续只是逐层将输出作为输入进行计算,而不会在重复这一过程。
“输出层与随机赋予的id进行计算” 意思是 这个MOTIP有三个模块,DETR , id decoder 和id predict。iddecoder的训练损失也是由 id class这个模块传播得到的吗 它并没有自己的损失计算过程
是的,梯度是可以回传的,我们不需要单独监督 ID Decoder。这样的梯度也会回传到 DETR 中,因此我们在消融中也验证了,One-Stage 的训练会优于 Two-Stage 的训练。
1 文中公式1的id预测能力 这是一个单独的模型吗? 训练数据大概i是怎么样的一个数据对 输入是轨迹表达和Dt Dt是检测模型的输出是啥我看里面写的是一个embding 不是box吗 2 公式2 里的i是一个可学习的C 维向量 这个是放在哪里学习的 检测模型里的一个分支 ? 3 公式3 的e是一个检测模型的fpn输出向量 这个向量是全局的吧 为什么能够和id的k联系起来 难道不同的目标有不同的向量输出吗 有没有网络的结构图能够分享一下