InsightTok:面向自回归图像生成的离散 Tokenizer 文本与面部保真度提升方法 InsightTok: Improving Text and Face Fidelity in Discrete Tokenization for Autoregressive Image Generation
用局部化、领域专属感知损失提升离散 tokenizer 的文字与人脸重建与生成质量
前置知识
VQGAN / 离散图像分词器
VQGAN 把图像压成离散符号序列,组件含编码器、量化器、码本 $C=\{e_k\}_{k=1}^K$、解码器。训练时联合 $\mathcal{L}_{\text{rec}}$ 重建、码本承诺、LPIPS 感知与 GAN 损失,让图像可被 Transformer 像文本一样建模。
InsightTok 直接改写 VQGAN 的训练目标,并保留其 16 倍下采样与 16k 码本设定,所以必须先理解标准 VQGAN 才能看懂它新增的两项感知损失起了什么作用。
LPIPS 感知损失
LPIPS 用预训练 VGG 多层特征比较两图,$\mathcal{L}=\sum_l \|w_l \odot (F^{(l)}(\hat{x})-F^{(l)}(x))\|_2^2$ 度量高层感知相似度。InsightTok 把它拆成文字/人脸的局部化版本来用。
InsightTok 把整图 LPIPS 拆解为针对文字与人脸的局部化版本,因此需要先理解原始 LPIPS 的特征匹配思路,才能体会为什么它对细小笔画与五官区域不敏感。
自回归图像生成
把分词器输出的 token 序列 $t=(t_1,\dots,t_n)$ 按光栅顺序建模,训练时最大化 $p(t\mid T)=\prod_i p(t_i\mid t_{<i},T)$,生成时逐步采样再解码,与语言模型共享范式。
论文的下游模型 InsightAR 完全是标准自回归生成范式,tokenizer 的文字/人脸质量直接决定文本可读性和身份保真度,因此 tokenizer 端的改进可被生成端无缝继承。
OCR 文字识别与面部识别网络
OCR 识别网络(如 CRNN)把文字块转字符序列;面部识别网络(如 ArcFace/ResNet50)把人脸映射到身份嵌入。InsightTok 用它们当特征提取器,构造高层感知损失。
这两类预训练网络分别学到了对字形和五官结构最敏感的中间特征,把它们作为损失网络相当于把"可读性/身份"等高层信号注入 tokenizer 训练,是 InsightTok 的核心工程思想。
面部对齐与仿射变换
用 5 个关键点(双眼、鼻尖、嘴角)估计相似变换 $\min_{s,R,t}\sum_k\|sRp_k+t-p_k^*\|_2^2$,把人脸 warp 到 $112\times112$ 标准模板以消除姿态与尺度影响。
InsightTok 的人脸感知损失只在 warped 后的标准模板上计算,不对齐会让同一身份因姿态不同产生巨大特征差异,从而污染损失信号。
研究动机
基于离散 tokenization 的自回归图像生成(典型代表 LlamaGen、Chameleon、Emu3)在通用图像重建上表现不错,但在文字与人脸这两类"人类最敏感"的细粒度结构上持续翻车。TokBench 评测显示,在 16 倍下采样、16k 码本设定下,IBQ-16k 的文字准确率 T-ACC$_m$ 仅 24.16%,人脸相似度 F-Sim$_m$ 仅 0.27;当前业界主流的修法是靠堆码本或堆 token 数(Emu3.5-IBQ 用 131k 码本达 41.52%),但算力开销和建模复杂度同步爆炸,且并未显式针对文字可读性与身份保真优化。在海报、版式、人像合成等真实场景下,文字错位和面部失真是用户最直观的痛点。
本文的目标是论文要设计一种"内容感知"的 tokenizer 训练目标 $\mathcal{L}_{\text{InsightTok}}=\mathcal{L}_{\text{image}}+\alpha_1 \mathcal{L}_{\text{text}}+\alpha_2 \mathcal{L}_{\text{face}}$,在不增加码本(仍为 16k)和不改变下采样率(仍为 16 倍)的前提下,把文字与人脸重建拉到 SOTA,并把这种提升顺滑迁移到自回归文本到图像生成。
与已有工作不同的是,现有工作要么从模型侧(diffusion 加 OCR glyph 条件或人脸身份条件)解决,要么用粗粒度全局损失(OCR-VQGAN 的 $\mathcal{L}_{\text{OCR-VQGAN}}$);InsightTok 的独特切入点是"在 tokenizer 训练阶段就引入局部化、领域专属的感知监督"——用现成的 OCR/面部识别网络当损失网络,对检测出的文字块与对齐后的人脸块算特征级距离,并通过面积加权防止小区域淹没总损失,开销仅 +2%。
核心方法
InsightTok 的整体思路可以一句话概括:把 tokenizer 训练从"整图均匀监督"升级为"整图+局部内容感知监督"。技术上沿用 VQGAN 的 16 倍下采样 CNN 编解码器(426M 参数、16,384 码本、256 维码向量),保留原始的重建、码本承诺、LPIPS、对抗四项损失 $\mathcal{L}_{\text{image}}$,再叠加上两项局部化损失 $\mathcal{L}_{\text{text}}$ 与 $\mathcal{L}_{\text{face}}$。其中 $\mathcal{L}_{\text{text}}$ 在文本检测框内裁剪 → resize 到 $32\times128$ → 送入文本识别网络取 5 层特征 → 计算 L2 距离;$\mathcal{L}_{\text{face}}$ 先做 5 点人脸关键点对齐到 $112\times112$ 标准模板,再用预训练 ResNet50 面部识别网络提取特征后算距离;两者都用"区域面积/全图面积"作权重,避免小区域或难样本主导训练。
与已有方法相比,本质区别是"把字形和五官结构当作一等公民":(1) 监督信号从像素级、VGG-通用感知级,进一步推进到 OCR-字形级与 ArcFace-身份级的高层语义特征;(2) 损失计算范围从全图降为局部 patch,且先做几何/尺度归一化(人脸对齐、文字 resize),让不同区域具有可比性;(3) 提出面积加权 $w_n=\text{Area}(b_n)/\text{Area}(x)$,既抑制小区域引发的梯度爆炸,也保留对大区域的关注;(4) 解码器单独 fine-tune 几乎无收益(表 4 中 T-ACC$_m$ 仅从 23.52% 提到 24.15%),证明收益来自 tokenizer 学到了更对齐字形/人脸的潜空间,而非单纯提升解码能力。
方法步骤详情
三阶段训练:Stage 1 用 LAION 子集做 200k 步 VQGAN 预训练让码本先占满;Stage 2 加载离线 DBNet++/RetinaFace 检测结果,对文字/人脸富集子集训 40k 步,加 $\alpha_1\mathcal{L}_{\text{text}}+\alpha_2\mathcal{L}_{\text{face}}$;Stage 3 冻结编解码量化器仅微调解码器 40k 步。文字端:检测框裁剪对 $(r_n,\hat{r}_n)$ → resize 到 $32\times128$ → 文本识别网络取 5 层特征 → 按 $\mathcal{L}_n^\text{text}=\frac{1}{L}\sum_l \frac{1}{H_lW_l}\|F^{(l)}(r_n)-F^{(l)}(\hat{r}_n)\|_2^2$ 计算并按面积比加权。人脸端 5 点相似变换 warp 到 $112\times112$,ResNet50 取特征同样加权。InsightAR 沿用 Janus-Pro 7B 架构与 1.5 亿图文对,仅替换视觉 tokenizer。
技术新颖性
技术新颖性体现在三方面。第一是"领域专属损失网络"的工程范式:用预训练 OCR 和人脸识别网络替代通用 LPIPS,把"可读性/身份"这种人类最敏感、却最难用像素损失刻画的高层信号反向注入 tokenizer,是离散表征学习里少见的"借力"式监督。第二是"局部化+面积加权"的训练稳定性技巧:表 3 显示无面积加权时 rFID 从 0.60 退化到 1.11、PSNR 从 23.65 跌到 22.41,证明该加权不是装饰,而是抑制小区域信号把整图训练拉偏的关键。第三是"tokenizer 端改进可顺滑迁移到生成端"的可迁移性证明:在 7B 规模、512 分辨率、1024 token 的 InsightAR 上,文字 NED 从 LlamaGenTok-AR 的 79.86% 提到 95.83%,MagFace 分数从 22.29 提到 23.33,验证了"分词器高质量 → 潜空间更可建模 → 生成端零额外代价获益"的链路。
实验结果
重建端 InsightTok 16k 码本把 T-ACC$_m$ 推到 53.05%、T-NED$_m$ 71.40%、F-Sim$_m$ 0.36,rFID 0.69、PSNR 23.64;相对同档 IBQ-16k 分别 +28.89pp、+27.74pp、+0.09,并反超 Emu3.5-IBQ(131k 码本 41.52%/65.39%/0.30)。生成端(InsightAR 7B/512)长文本 NED 95.83%(vs LlamaGenTok-AR 79.86%、Janus-Pro 32.29%),MagFace 23.33,GenEval 0.82、DPG-Bench 84.11 与 Janus-Pro 持平。消融:加两项损失 T-ACC$_m$ 从 30.89% 跳到 55.18% 但 rFID 退到 1.11;面积加权回稳到 53.05%/0.69;表 4 只微调解码器仅 +0.63pp,收益来自潜空间;表 5 局部化比 OCR-VQGAN 全局损失 T-ACC$_m$ 高 12.45pp;表 6 码本扩到 65k T-ACC$_m$ 进一步到 55.69%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 文字重建(TokBench) | T-ACC$_m$ (%) | 53.05 | IBQ-16k 24.16 / Emu3.5-IBQ 41.52 | +28.89pp(同档)/ +11.53pp(跨档击败 131k 码本) |
| 文字重建(TokBench) | T-NED$_m$ (%) | 71.40 | IBQ-16k 43.66 / Emu3.5-IBQ 65.39 | +27.74pp / +6.01pp |
| 人脸重建(TokBench) | F-Sim$_m$ | 0.36 | IBQ-16k 0.27 / Emu3.5-IBQ 0.30 | +0.09 / +0.06 |
| 通用重建(ImageNet val) | rFID ↓ / PSNR ↑ | 0.69 / 23.64 | IBQ-16k 0.64 / 23.39 | rFID +0.05(基本持平)/ PSNR +0.25 |
| 长文本生成(InsightAR) | Text NED (%) ↑ | 95.83 | LlamaGenTok-AR 79.86 / Janus-Pro 32.29 | +15.97pp / +63.54pp |
| 人脸生成(MagFace 分数) | MagFace-Score ↑ | 23.33 | LlamaGenTok-AR 22.29 / Janus-Pro 22.09 | +1.04 / +1.24 |
| 通用文生图 | GenEval / DPG-Bench | 0.82 / 84.11 | Janus-Pro 0.80 / 84.19 | +0.02 / -0.08(基本持平) |
局限与改进
作者坦诚的局限主要有三点:(1) 训练管线依赖外部 OCR 检测器与人脸检测器(DBNet++/RetinaFace),其召回率决定监督覆盖面——附录 C 表明检测器召回不足时提升幅度会下降;(2) 数据偏置——InsightAR 的训练集混入了 1.5 亿 LAION/Flux-Reason-6M/Echo-4o 及合成 OCR 渲染数据,这些数据的合法性、版权与偏见问题未在论文中系统讨论;(3) 计算与工程复杂度——虽只 +2% 训练开销,但完整的"检测 → 离线预处理 → 训练时按框取 patch"流程对中小团队仍是显著工程门槛。我们观察到的额外限制:评测协议仅在 TokBench 上跑文字与人脸,缺少中文字符、艺术字、模糊人脸、多人小脸等更细分的鲁棒性测试;InsightAR 仍用 Janus-Pro 7B 基座,没有在更大规模或更小规模上验证 InsightTok 收益的弹性;与 LDM/DiT 等连续表征模型的对比仅放附录 C,论文主线并未把"离散 vs 连续"的优劣讨论完整展开。
独立分析的弱点
独立分析下我们看到几个可改进点。第一,文字端"高分辨率裁剪 + resize 到 32×128"是硬编码策略,对竖排、弯折、极小字符(如水印)不友好,改进方向是引入可学习的多尺度 patch 采样或自适应 ROI Align。第二,训练流程把检测离线做完后用静态 box,没法应对训练中图像被强增强(如模糊、风格化)后 box 不再准确的问题,可考虑 end-to-end 可微检测或随机 box jitter 增加鲁棒性。第三,人脸损失只用了单张人脸的特征距离,没有处理多人/遮挡/极端姿态,改进方向是引入 ArcFace 的多 patch 聚合或人脸属性解耦的中间特征监督。第四,$\alpha_1,\alpha_2$ 是手工超参,缺少自适应调度,可以参考课程学习或 GradNorm 让文字/人脸/通用目标动态平衡。第五,InsightAR 的文字 NED 95.83% 是在"白底长文本"这一受控场景上跑出来的,实际海报/海报嵌入场景的泛化性需要更多 prompt 类型验证。
未来方向
作者在附录 C 暗示了几条延伸:更大模型/更大码本的可扩展性(表 6 已经从 16k 推到 65k)、与连续表征 tokenizer 的混合架构、对其他高敏感区域(手部、医学影像、表格)的迁移。基于成果还能延伸出几个方向:把"领域损失网络"泛化为可插拔的感知头,让用户按任务挂接不同识别器(如指纹、蛋白质、电路图);把 InsightTok 的两阶段预训练范式推广到视频分词器,对字幕与口型做局部监督;探索 tokenizer 端改进与 captioner/reward model 联合训练以进一步提升生成质量;以及把 InsightTok 蒸馏到更小的 AR 模型中以降低部署成本。
复现评估
论文已开源 InsightTok 代码与权重(github.com/LeapLabTHU/InsightTok),Tokenizer 部分架构完全沿用 VQGAN 的 CNN backbone,426M 参数 + 16k 码本 + 16× 下采样的设定可直接复用开源 VQGAN 实现再换 loss;数据预处理可使用论文指定的 DBNet++/RetinaFace 进行离线检测。训练算力方面,Tokenizer 三阶段合计约 280k 步(200k+40k+40k),按 A100 80G 估算单卡日 5–8k 步,整套 tokenizer 训练约需 35–55 张·天;InsightAR 7B 训在 1.5 亿图文对上需要 256+ 张 A100 数周,是主要门槛。复现难度:中等偏低——核心创新点(两项局部损失 + 面积加权)实现起来很轻量;最大难点在于高质量长文本 prompt 集与 OCR 渲染数据的准备,以及把 tokenizer 嵌入 Janus-Pro 训练流程的工程整合。
论文图表
散点图,横轴是每像素比特数(BPP)衡量压缩率,纵轴分别是 OCR 文字准确率(a)和人脸相似度(b)。图中对比 VQGAN、LlamaGen、Chameleon、OCR-VQGAN、Cosmos-DI、O-MAGVIT2(16k 与 262k)、IBQ-16k、Emu3.5-IBQ 以及 InsightTok,可见 InsightTok 在几乎所有压缩率区间都位于 Pareto 前沿。
这是论文最核心的"主张图",一句话传达"用更小码本同时在文字和人脸上打败所有现有 tokenizer",比表格更直观地展现方法优势。