Back to the Features:附录C Unconditional world model evaluations
Evaluation datasets
Cityscapes数据集详情
- 原生帧率16
- 分辨率(H×W=1024×2048(H \times W = 1024 \times 2048(H×W=1024×2048) 像素,宽高比2:1
- 30帧的序列,从0开始索引 ([0,…,29]([0, \ldots, 29]([0,…,29])
- 19个分割类别
- 对于每个视频,仅标注了第19帧,因此每个视频都被视为单个样本用于预测
- 预测协议,针对每个视频:
- 短期预测:选取帧 ([7, 10, 13, 16]) 并预测第19帧,即未来187.5毫秒
- 中期预测:选取帧 ([1, 4, 7, 10]),自回归地预测帧 ([13, 16, 19]) 并评估第19帧,即未来562.5毫秒
VSPW数据集详情
- 原生帧率15
- 分辨率480×854像素,宽高比16:9
- 每个视频的帧数不固定,通常在40到100帧之间,从0开始索引
- 所有帧都有标注。对于每个视频,我们考虑所有长度为20帧的子序列作为预测样本,例如 ([0,1,…,19]([0, 1, \ldots, 19]([0,1,…,19]),([1,2,…,20]([1, 2, \ldots, 20]([1,2,…,20]),([2,3,…,21]([2, 3, \ldots, 21]([2,3,…,21]) 等。
- 124个分割类别
- 预测协议,针对每个子序列:
- 短期预测:选取帧 ([7, 10, 13, 16]) 并预测第19帧,即未来200毫秒
- 中期预测:选取帧 ([1, 4, 7, 10]),自回归地预测帧 ([13, 16, 19]) 并评估未来600毫秒的第19帧
KITTI数据集详情
- 原生帧率10
- 分辨率512×1382像素,裁剪为352×1216像素(38:11)用于单目深度估计
- KITTI视频的帧数在200到1000帧左右,其中测试集中有652个标注样本,从0开始索引
- 预测协议:
- 短期预测:选取帧 ([5, 7, 9, 11]) 并预测第13帧,即未来200毫秒
- 中期预测:选取帧 ([1, 3, 5, 7]),自回归地预测帧 ([9, 11, 13]) 并评估未来600毫秒的第13帧
解析
这段内容详细介绍了三个数据集(Cityscapes、VSPW、KITTI)在视频预测任务中的相关设置和信息,具体包括以下几个方面:
- 帧率:分别给出了每个数据集的原生帧率,这反映了视频的时间采样频率。
- 分辨率:明确了每个数据集视频的图像分辨率,部分还提到了宽高比,这对于理解视频的空间信息很重要。
- 帧序列:说明了数据集中帧的索引方式以及每个视频包含的帧数情况。Cityscapes是固定30帧序列,VSPW帧数不固定,KITTI帧数在一定范围内。
- 标注信息:指出哪些帧有标注以及标注的类别数量。Cityscapes只有第19帧有标注且用于预测,有19个分割类别;VSPW所有帧有标注,有124个分割类别;KITTI测试集中有652个标注样本。
- 预测协议:详细描述了短期预测和中期预测的具体操作。包括选取哪些帧作为输入,预测哪一帧以及对应的未来时间间隔。不同数据集在帧选取和预测时间上有所不同,这有助于了解模型在不同数据集上的预测任务设置。
这些信息对于理解在这些数据集上进行视频预测实验的具体条件和要求非常重要,也为后续模型的训练和评估提供了基础。
Baseline models
COSMOS
COSMOS模型,特别是具有扩散解码器的自回归世界模型,具有以下推理约束:
- 模型以640×1024像素的固定分辨率运行。
- 由于实现了分词器,模型可以将单帧作为输入,也可以将9帧作为输入。
- 模型以自回归方式以25 FPS生成24帧。
DINO - Foresight
DINO - Foresight模型具有以下推理约束:
- 模型以448×896的固定分辨率运行,因为它分两个阶段进行训练,首先在224×448的低分辨率下,然后在448×896的高分辨率下。
- 模型将4帧作为输入,并预测序列中的下一帧。
- 每帧使用带有寄存器的冻结DINOv2 ViT - B/14进行编码,中间层[2, 5, 8, 11](从0开始索引)的特征被连接成一个4·768向量,并投影到前1152个主成分。
- 预测器之后,应用逆主成分分析(PCA)投影,并将得到的特征拆分回四个768维向量。
V - JEPA
对于V - JEPA模型,以下实现细节很重要:
V - JEPA模型包含两个编码器,分别称为编码器(encoder)和目标编码器(target encoder)。出于以下原因,在直观物理和密集预测评估中都需要这两个编码器。在训练时,模型按如下方式进行优化:
x^=LN(TARGETENCODER(v))x=PREDICTOR(ENCODER(v))L=MSE(x,x^)
\begin{align}
\hat{x} &= \text{LN}(\text{TARGETENCODER}(v)) \\
x &= \text{PREDICTOR}(\text{ENCODER}(v)) \\
\mathcal{L} &= \text{MSE}(x, \hat{x})
\end{align}
x^xL=LN(TARGETENCODER(v))=PREDICTOR(ENCODER(v))=MSE(x,x^)
其中层归一化(LN)不包含可学习参数,梯度仅传播到编码器和预测器。因此,为了提取当前时间特征,我们运行(LN(TARGETENCODER(v))(\text{LN}(\text{TARGETENCODER}(v))(LN(TARGETENCODER(v))),其中输入图像被复制以形成2帧视频。然后,为了根据过去帧预测未来帧的特征,我们运行(PREDICTOR(ENCODER(v))(\text{PREDICTOR}(\text{ENCODER}(v))(PREDICTOR(ENCODER(v)))。这些特征被假定为与目标编码器应用于未来帧的输出对齐。
V - JEPA以224×224的分辨率进行训练,视频为(T = 16)帧。然而,它在大小为2×16×16像素的3D块或管(tubelets)上运行,并且具有大小为8×14×14的学习位置编码。当我们向模型输入过去帧时,它们始终需要是2的倍数。当上下文帧数为奇数时,我们丢弃第一帧以使其为偶数。当帧产生的上下文管数短于模型的绝对位置编码时,我们保留学习位置编码的第一部分。例如,6帧给出3个管,因此我们使用8个中的前3个条目。当输入帧的分辨率高于模型时,我们对位置编码进行双线性插值以匹配输入分辨率。此操作不影响时间维度。最后,为了提取未来特定帧的特征,我们预测到该帧的所有管,必要时进行向上取整,然后从预测器的输出中选择相应的管。
解析
这段内容详细介绍了三个模型(COSMOS、DINO - Foresight、V - JEPA)的相关特性和实现细节:
- COSMOS模型:介绍了其推理约束,包括运行分辨率、输入帧的选择(单帧或9帧)以及生成帧的方式(自回归生成24帧,帧率为25 FPS)。
- DINO - Foresight模型:阐述了推理约束,如运行分辨率(分阶段训练的不同分辨率)、输入帧数(4帧)和预测方式(预测下一帧),还说明了帧的编码过程(使用DINOv2 ViT - B/14编码,特征连接和投影等操作)。
- V - JEPA模型:重点讲解了模型的结构(包含编码器和目标编码器)和训练优化方式(通过特定的公式计算损失函数),还详细描述了训练和推理过程中的一些操作,如输入帧的处理(保证帧数为2的倍数)、位置编码的使用(在不同分辨率下的插值操作)以及特征提取和预测的具体步骤。
这些信息对于理解模型的运行机制、训练和推理过程非常重要,有助于后续对模型进行评估、比较和改进。
Evaluation protocols
DINOv2 密集预测头
我们在 DINOv2 ViT-B/14 模型顶部为每个密集预测任务训练一个线性头,这些任务包括 Cityscapes 和 VSPW 数据集的语义分割,以及 KITTI 数据集的单目深度估计。
对于语义分割:
- 训练:
- a) 我们将分辨率为 448×448 的随机裁剪图像输入模型。
- b) 模型应用一层批量归一化,随后进行线性投影。
- c) 我们使用双线性插值将预测的逻辑值(logits)上采样到原始尺寸,并计算与真实标签的交叉熵损失。
- 评估:
- a) 我们调整测试图像和标签的大小,使最短边为 448 像素。
- b) 使用步长为 300 像素的滑动窗口,在 448×448 的裁剪图像上应用主干网络和预测头。
- c) 使用双线性插值将每个裁剪图像的预测逻辑值上采样到输入尺寸。
- d) 最后,我们对每个空间位置的预测逻辑值取平均值,并通过 arg max 操作确定预测的类别。
对于单目深度估计:
- 训练:
- a) 我们将分辨率为 352×704 的随机裁剪图像输入模型。
- b) 模型应用一层批量归一化,随后进行线性投影。
- c) 我们计算与真实深度标签的均方误差损失。
- 评估:
- a) 在分辨率为 352×1216 的完整图像上应用主干网络和预测头。
- b) 使用双线性插值将预测的深度值上采样到输入尺寸。
解析
整体概述
这部分内容主要介绍了在 DINOv2 ViT-B/14 模型基础上,针对语义分割和单目深度估计这两种密集预测任务,分别构建线性预测头,并详细阐述了训练和评估的具体流程。
语义分割部分
- 训练
- 输入处理:采用随机裁剪的方式,将输入图像统一为 448×448 的分辨率,这种做法可以增加训练数据的多样性,有助于模型学习到更鲁棒的特征。
- 模型操作:先进行一层批量归一化,这有助于加速模型收敛并提高训练稳定性;接着进行线性投影,将特征映射到适合语义分割任务的空间。
- 损失计算:使用双线性插值将预测的逻辑值上采样回原始尺寸,然后计算与真实标签的交叉熵损失,通过最小化该损失来优化模型参数,使预测结果更接近真实情况。
- 评估
- 输入调整:对测试图像和标签进行缩放,使最短边为 448 像素,保证输入图像尺寸的一致性。
- 模型应用:使用滑动窗口策略在 448×448 的裁剪图像上应用主干网络和预测头,步长为 300 像素,这样可以覆盖整个图像区域。
- 结果处理:对每个裁剪图像的预测逻辑值进行上采样,然后对所有裁剪图像在每个空间位置的逻辑值取平均,最后通过 arg max 操作确定每个像素的预测类别,得到最终的语义分割结果。
单目深度估计部分
- 训练
- 输入处理:将输入图像随机裁剪为 352×704 的分辨率,同样是为了增加数据多样性。
- 模型操作:与语义分割类似,先进行批量归一化,再进行线性投影,将特征映射到适合深度估计任务的空间。
- 损失计算:计算预测深度值与真实深度标签的均方误差损失,通过最小化该损失来优化模型,使预测的深度值更接近真实深度。
- 评估
- 模型应用:直接在分辨率为 352×1216 的完整图像上应用主干网络和预测头,无需进行裁剪操作。
- 结果处理:使用双线性插值将预测的深度值上采样到输入尺寸,得到最终的深度估计结果。
DINO-Foresight on Cityscapes.
在Cityscapes数据集上对DINO-Foresight进行评估。为了在Cityscapes和VSPW数据集上评估DINO-Foresight,我们在模型原生分辨率448×896下训练和测试分割头,且不使用滑动窗口。DINO-Foresight的预测器将四个中间DINOv2 ViT-B/14层的主成分分析(PCA)投影特征作为输入,并训练用于预测同一空间中的未来特征。因此,我们可以采用以下两种协议中的任意一种:
• 在最后一层原始DINOv2 ViT-B特征上训练分割头。然后,在预测时,对预测器的输出应用逆PCA投影,并对结果进行切片,以获得与分割头兼容的特征。
• 在通过连接四个中间层、应用PCA投影、应用逆投影并对结果进行切片以获得最后一层768维特征的DINOv2 ViT-B特征上训练分割头。然后,在推理时,对预测器的输出进行同样的操作。
第二种协议取得了更好的结果,这可能得益于中间层对训练分割头的贡献,因此我们采用该协议来报告实验结果。
评估背景与基本设置
- 评估目的:在Cityscapes和VSPW这两个数据集上对DINO-Foresight模型进行性能评估。
- 训练与测试分辨率:选择模型原生分辨率448×896来训练和测试分割头。这样做的好处是可以充分利用模型在原始分辨率下的特征提取能力,避免因分辨率调整带来的信息损失或特征变形。
- 不使用滑动窗口:与一些传统的图像处理方法不同,这里不采用滑动窗口策略。滑动窗口通常用于处理大图像,通过将大图像分割成小窗口进行处理,但会增加计算复杂度。不使用滑动窗口可以简化处理流程,提高处理效率。
DINO-Foresight预测器的输入与训练
- 输入特征:预测器将四个中间DINOv2 ViT-B/14层的PCA投影特征作为输入。PCA是一种降维技术,可以将高维数据投影到低维空间,同时保留数据的主要特征。使用PCA投影特征作为输入可以减少计算量,同时提取更有代表性的特征。
- 训练目标:预测器被训练用于预测同一空间中的未来特征。这意味着预测器需要学习如何根据当前的中间层特征来推断未来的特征状态,这对于实现准确的未来预测至关重要。
两种训练与预测协议
- 第一种协议
- 训练阶段:在最后一层原始DINOv2 ViT-B特征上训练分割头。这意味着分割头只利用了模型最后一层的特征信息,这些特征通常是经过多层抽象和聚合后的高级特征。
- 预测阶段:在预测时,对预测器的输出应用逆PCA投影,将低维特征恢复回高维空间,然后对结果进行切片,以获得与分割头兼容的特征。这种处理方式旨在将预测器的输出调整为与训练分割头时所使用的特征格式一致。
- 第二种协议
- 训练阶段:通过连接四个中间层、应用PCA投影、应用逆投影并对结果进行切片以获得最后一层768维特征的DINOv2 ViT-B特征上训练分割头。这种处理方式融合了多个中间层的特征信息,使得分割头能够利用不同层次的特征进行训练。不同中间层的特征可能包含不同级别的语义信息和细节信息,融合这些特征可以提高分割头的性能。
- 推理阶段:在推理时,对预测器的输出进行同样的操作,即连接中间层、投影、逆投影和切片,以获得与训练时一致的特征格式。
协议选择与结果报告
- 结果对比:第二种协议取得了更好的结果。这表明中间层的特征信息对训练分割头具有重要贡献,融合多个中间层的特征可以提高模型的性能。
- 结果报告:由于第二种协议表现更优,因此选择该协议来报告实验结果,以确保所报告的结果能够准确反映模型的最佳性能。
在Cityscapes数据集上评估COSMOS
为了在Cityscapes数据集上评估COSMOS:
a) 我们将Cityscapes视频调整为512×1024的尺寸,并用黑色条带填充顶部和底部,以匹配640×1024的尺寸。
b) 我们将每个视频视为一个分割预测样本,因为只有第19帧有标注。
c) 对于短期预测:
- 我们取索引为[8, 9, 10, 11, 12, 13, 14, 15, 16]的9帧,并将其输入到COSMOS中。
- COSMOS在原始序列中生成对应于[17, 18, 19, 20, …, 40]的24帧。
- 从生成的序列中,我们取第3帧,它对应于原始序列中的第19帧。
d) 对于中期预测:
- 我们取索引为[2, 3, 4, 5, 6, 7, 8, 9, 10]的9帧,并将其输入到COSMOS中。
- COSMOS在原始序列中生成对应于[11, 12, …, 19, …, 34]的24帧。
- 从生成的序列中,我们取第9帧,它对应于原始序列中的第19帧。
e) 我们移除填充并将图像调整为448×896,以匹配预训练分割头的分辨率。
f) 最后,我们应用预训练的DINO ViT-B主干网络和预训练的分割头,并将输出与真实分割标签进行比较。
g) 在实际应用中,短期和中期预测都是以自回归的方式获得的,因为模型无法生成未来任意时间步的帧。
在VSPW数据集上评估COSMOS
为了在VSPW数据集上评估COSMOS,我们采用与Cityscapes类似的流程,但有以下不同:
a) 我们将视频的最长边调整为1024像素,并用黑色条带填充顶部和底部。
b) 我们将每个长度为20的有效子序列视为分割预测样本,因为所有帧都有标注。换句话说,每个视频产生多个样本。
c) 移除填充后,我们调整帧的尺寸,使最短边为448像素,以匹配预训练分割头的分辨率。
在KITTI数据集上评估COSMOS
为了在KITTI数据集上评估COSMOS,我们采用与Cityscapes和VSPW类似的流程,但移除填充后,我们调整帧的尺寸,使最短边为352像素,以匹配预训练分割头的分辨率。
在KITTI数据集上评估DINO-Foresight
为了在KITTI数据集上评估DINO-Foresight,我们插值位置编码,以便能够按需将352×1216分辨率的完整图像前向传播,这在KITTI中是需要的。对于训练头,我们应用PCA投影及其逆投影,就像在Cityscapes中所做的那样。
在Cityscapes数据集上评估V-JEPA
为了在Cityscapes数据集上评估V-JEPA,我们在目标编码器的层归一化特征上训练头。然后,在推理时,我们使用在线编码器为预测器生成特征,并假设预测器输出与目标编码器的层归一化特征对齐。这种协议比在在线编码器上训练头能产生更好的结果。
解析
这部分内容详细介绍了在不同数据集(Cityscapes、VSPW、KITTI)上评估COSMOS、DINO-Foresight和V-JEPA模型的具体流程和步骤:
- 数据预处理:对不同数据集的视频进行尺寸调整和填充操作,以适应模型的输入要求。例如在Cityscapes数据集上,将视频调整为512×1024并填充黑色条带以匹配640×1024;在VSPW数据集上,将视频最长边调整为1024像素并填充;在KITTI数据集上,调整帧尺寸使最短边为352像素等。
- 预测流程:针对短期和中期预测,说明了如何选取输入帧、输入到COSMOS模型后生成帧的范围,以及如何从生成序列中选取对应帧。
- 模型应用与评估:移除填充并调整图像尺寸以匹配预训练分割头的分辨率,然后应用预训练的主干网络和分割头,将输出与真实标签进行比较。
- 不同模型评估差异:不同模型在不同数据集上的评估有一些特殊处理,如DINO-Foresight在KITTI数据集上需要插值位置编码;V-JEPA在Cityscapes数据集上有特定的训练和推理协议。这些步骤确保了在不同数据集上对模型性能进行准确评估。