请教一下关于SemVAE拼接和预处理的问题

#1
by vvhw - opened

感谢作者开源SeFi的代码和权重,关于训练阶段拼接Sem Latent和Tex Laten拼接有一个问题,比如输入
(3,512,512)的tensor,纹理VAE的latent的shape是(32,64,64),此时语义VAE的shape似乎不一致无法拼接,想问下对于输入进SemVAE是如何做预处理来适配不同分辨率的图片的?

SeFi-Image org

空间分辨率对齐发生在 VFM preprocessing 和 texture VAE patchify 上:

texture VAE 原始 latent 通常是 8x 下采样,即 RGB H x W -> raw latent H/8 x W/8。
pipeline 再做 2x2 patchify,得到 SFD 使用的 texture grid H/16 x W/16,通道变成 latent_channels * 4。
DINOv2-L 的输入会映射到 H * 7/8,patch size 14,所以 token grid 也是 H/16 x W/16。

SeFi-Image org

"(3,512,512)的tensor,纹理VAE的latent的shape是(32,64,64)" 我补充一下,换句话说,语义的那个branch的512x512图像会先resize 到 448x448,接着用 DINOv2-L-reg的 14x14 downsample 特征提取提取到 32x32的表征。纹理的那部分latent是64x64的,但是做2x2patchify之后就得到32x32的表征了。至此二者空间维度对齐。

deleted
This comment has been hidden (marked as Resolved)

Sign up or log in to comment