(论文阅读)Towards Accurate Image Coding: Improved Autoregressive Image Generation with Dynamic Vector Quantization
1. 论文
题目:Towards Accurate Image Coding: Improved Autoregressive Image Generation with Dynamic Vector Quantization
代码: https://github.com/CrossmodalGroup/DynamicVectorQuantization
会议/期刊: CVPR2023
摘要:
早先的 VQ 方法通常将图像分割为固定尺寸的区域,每个区域具有固定长度的code。作者提出了一种 Dynamic Vector Qualification,核心思想是基于信息密度分割图像为不同粒度的区域,粗粒度(平滑)区域拥有更少的codes,细粒度(细节)区域拥有更多codes。此外,不同于早先的顺序生成,本文还提出了由粗粒度区域到细粒度区域生成的顺序。
2. Vector Qualification
首先定义 codebook:
其中, \(K\) 是codebook size,\(n_z\) 是 codes 维度。
(a) 提取特征
给定一张输入图片 \(\mathbf{X} \in \mathbb{R}^{H_0 \times W_0 \times 3}\) ,经过编码器 \(E\) 提取区域特征:
其中 \((H,W)=(H_0/f, W_0/f)\),\(f\) 是 downsampling factor.
(b) 向量量化
接下来我们对特征 \(Z\) 进行向量量化。对于 \(Z\) 中的 \(\forall z_0 \in \mathcal{R}^{n_z}\),经过一个量化算子 \(\mathcal{Q}(\cdot)\):
其中,quantized code 是 \(\mathcal{Q}(z,\mathcal{C})\),量化向量是 \(z^q = e(\mathcal{Q}(z,\mathcal{C}))\)。这样我们就得到了量化的编码特征 \(Z^q \in \mathbb{R}^{H \times W \times n_z}\)。
(c) 重构训练
随后,经过一个解码器 \(D\) 重构输入图像:
不足:每一个 code 都代表了固定 \(f^2\) 大小的图像块,每一个图像区域也由相同长度的code 表示,没有区分区域之间不同的信息密度。
3. 所提出方法:
3.1 Stage 1: Dynamic-Quantization VAE (DQ-VAE)
(1) 区域分割:
定义一系列下采样因子(实验中 K 取 2):
图像就可以通过一个分层 encoder \(E_h\) 被编码为相对应的分层特征:
其中 \(Z_i \in \mathbb{R}^{H_i \times W_i \times n_z},\) \((H_i, W_i) = (H_0 / f_i, W_0/f_i) \quad for \quad \forall i \in \{1, 2, \cdots, K\}\).
Remark 1: 为了匹配 encoder,会使用最近邻复制,来确保不同层次的特征数量一致。
**Dynamic Grained Coding (DGC) module: **
首先基于池化、归一的分层图像特征 \(\mathbf{Z}' = \{ \mathbf{Z}_1', \mathbf{Z}_2', \cdots, \mathbf{Z}_K'\}\) 计算每个图像区域的门控 logits:
接着,每个区域 \((i,j)\) 的logits \(g_{i,j} \in \mathbb{R}^K\) 被用来计算这个区域的粒度大小(即分成几块):

其中,\(\tau =1\).
Remark 2:这个图是不是画反了。
Budget Loss:
然而,如果不添加限制,DGC会使得所有区域都使用最细粒度,为此,Budget Loss 用来控制不同粒度的比例满足预先设定的百分比(实验中为各占一半):
Remark 3:\(p_{i,j}\) 怎么过渡到 \(r_k'\) ?
DQ-VAE 的总训练损失为:
3.2 Stage 2: DQ-Transformer
不同于现有方法,按照次序由上到下,由左到右的生成顺序,本文使用了一种由粗到细的生成顺序:
Remark 4:两种顺序在pde背景下都可能违反物理规律。是否可以借助双向扫描呢?
Training Sequence construction:
由图 a 可以看到,Sequence 由粗到细排列,带有共享的内容,不共享的位置index。

在 Stage 2,Position Transformer 被用来预测下一个位置(与早先工作的差异),Content Transformer 被用来预测内容。
更多细节见paper。
4. 实验:
可视化很理想。

我比较关注本文动态区域的选择,这种思想也适用于流体力学建模,例如,直觉上,复杂湍流区域需要不平等的关注。
posted on 2025-09-15 22:21 Orange0005 阅读(22) 评论(2) 收藏 举报
浙公网安备 33010602011771号