View Selection for 3D Captioning via Diffusion Ranking¶
会议: ECCV 2024
arXiv: 2404.07984
代码: HuggingFace
领域: 3D视觉 / 3D-文本对齐
关键词: 3D captioning, diffusion ranking, view selection, hallucination, Cap3D
一句话总结¶
提出DiffuRank方法,利用预训练text-to-3D扩散模型(Shap·E)对3D物体渲染视角进行对齐度评分和排序,选出最具代表性的Top-6视角送入GPT4-Vision生成高质量字幕,修正Cap3D中约200k错误标注并扩展至150万条字幕。
研究背景与动机¶
领域现状:Cap3D通过将3D物体渲染为多视角2D图像再用图像描述模型生成字幕,为Objaverse数据集提供了66万条3D-文本对,推动了Text-to-3D、Image-to-3D、3D LLM预训练等多个方向。
现有痛点:(1) Cap3D中大量字幕包含幻觉内容——如将绿色生物误描述为"棒球"、将室内设计误描述为"立方体";(2) 根本原因是偶然视角(accidental views)——固定水平环相机不可避免地采样到特征对齐巧合导致误导的投影位置;(3) 这些困难视角连人类都难以准确描述,图像描述模型更容易出错,错误还会在GPT4文本汇总时级联放大。
核心矛盾:3D物体形态多样,无法用简单几何规则确定最佳视角,但不恰当的视角会系统性地引入字幕幻觉。
本文目标 自动筛选最能反映3D物体特征的渲染视角,减少字幕幻觉并提升描述质量。
切入角度:利用预训练text-to-3D扩散模型作为3D先验,通过扩散目标函数评估文本-3D对齐度来排序视角。
核心 idea:与3D物体特征对齐度高的字幕应能更好地引导扩散模型预测原始3D特征,因此可用扩散损失的大小来衡量视角的代表性。
方法详解¶
整体框架¶
3D物体 → 渲染28个视角(8个灰色背景ray-tracing + 20个透明背景EEVEE)→ BLIP2为每个视角生成5条字幕 → DiffuRank用Shap·E对每个视角的字幕进行对齐度评分 → 选Top-6视角 → 送入GPT4-Vision生成最终全局字幕。
关键设计¶
-
DiffuRank对齐度评分
- 对每个视角 \(I_i\) 的字幕 \(c_i^j\),利用预训练Shap·E计算条件扩散损失 \(\mathcal{L}_{c} = \|D_{\text{text-to-3D}}(\mathcal{O}_t | c) - \mathcal{O}_0\|\)
- 对多组随机采样的 \(\{t_k, \epsilon_k\}\) 取平均,得到对齐分数 \(\text{Cor}(\mathcal{O}, c_i) = -\mathbb{E}_{j,k} \mathcal{L}_{c_i^j, k}\)
- 设计动机:与3D物体真实特征对齐度高的字幕提供更有效的扩散引导,产生更低的去噪损失,因此损失越低代表视角越好
-
双渲染策略融合
- Cap3D渲染:8个灰色背景CYCLES视角(固定水平环,默认朝向)
- Shap·E渲染:20个透明背景EEVEE视角(归一化后随机采样)
- 两种背景对不同物体各有优劣,DiffuRank自动选出最适合的视角和背景组合
- 设计动机:让排序算法自动决策比人工规则更鲁棒
-
GPT4-Vision字幕生成
- Top-6视角图像直接送入GPT4-Vision生成综合字幕
- 相比Cap3D的"多字幕→GPT4文本汇总"流程,减少了错误级联
- 设计动机:用更少但更优质的视角(6 vs 28)反而能生成更准确详细的描述
损失函数 / 训练策略¶
DiffuRank本身无需训练,直接利用预训练Shap·E的扩散目标进行推理时评分。采用 \(x_0\)-prediction目标:\(L_{3D} = \mathbb{E}\|\hat{x}_\theta(x_t, t) - x_0\|_2^2\)。2D域扩展使用Stable Diffusion的 \(\epsilon\)-prediction目标。
实验关键数据¶
主实验¶
在5k Objaverse物体上进行A/B人类评估和自动指标评测:
| 方法 | Quality Score↑ | Quality Win%↑ | Halluc. Score↑ | Halluc. Win%↑ | CLIP Score↑ | R@1↑ | R@5↑ |
|---|---|---|---|---|---|---|---|
| Human | 2.57 | 31.9% | 2.88 | 39.9% | 66.2 | 8.9 | 21.0 |
| Cap3D | 2.62 | 32.7% | 2.43 | 25.8% | 71.2 | 20.5 | 40.8 |
| Ours (DiffuRank+GPT4V) | - | - | - | - | 74.6 | 26.7 | 48.2 |
| All 28-views | 2.91 | 37.9% | 2.85 | 35.1% | 73.5 | 24.9 | 46.7 |
| Bottom 6-views | 2.74 | 31.1% | 2.61 | 30.1% | 72.8 | 24.6 | - |
A/B测试中分数<3表示我们方法更优;Win%表示偏好我们方法的比例。
消融实验¶
| 视角选择策略 | CLIP Score↑ | R@1↑ | Quality Win% |
|---|---|---|---|
| DiffuRank Top-6 | 74.6 | 26.7 | 参照基准 |
| All 28-views | 73.5 | 24.9 | 43.6% |
| Horizontal 6-views | 73.8 | 25.8 | 44.5% |
| Bottom 6-views | 72.8 | 24.6 | 52.0% |
关键发现¶
- 用更少视角(6 vs 28)反而获得更高质量字幕,因为剔除了误导性偶然视角
- 对比Cap3D,幻觉Win率从25.8%提升至63.9%,字幕质量Win率从32.7%提升至60.2%
- DiffuRank扩展至2D域VQA任务时超越CLIP零样本性能
- 数据集扩展至150万条字幕,每条附带16384彩色点云和20张渲染图
亮点与洞察¶
- 首次将扩散模型的去噪目标函数作为跨模态对齐度度量工具,而非生成工具
- "少即是多"——6个精选视角优于28个全视角——在人类评估中得到验证
- 方法具有通用性:可扩展到text-to-2D扩散模型用于VQA等2D任务
- 数据贡献巨大:150万3D-文本对+点云+相机参数,ODC-By 1.0开放许可
局限与展望¶
- 依赖Shap·E作为3D先验,其编码器质量直接影响排序准确性
- GPT4-Vision的API调用成本和速度限制了大规模应用
- 未探索更高效的视角选择策略(如主动学习或贪心搜索)
- 伦理过滤仍依赖GPT4-Vision内部检测,可能存在漏检
相关工作与启发¶
- vs Cap3D:本文是Cap3D的改进版,通过DiffuRank解决偶然视角导致的字幕幻觉
- vs CLIP评分:CLIP仅度量2D图文相似度,DiffuRank利用3D先验建模3D对齐
- vs SDS:DiffuRank与SDS原理相关但用损失值评分而非梯度优化
- 启发:用生成模型作为质量评估器的思路可迁移到其他模态
评分¶
- 新颖性: ⭐⭐⭐⭐ 将扩散目标函数用作对齐度量的思路简洁有效
- 实验充分度: ⭐⭐⭐⭐ 大规模A/B人类评估+自动指标+消融实验+2D扩展
- 写作质量: ⭐⭐⭐⭐ 问题动机清晰,方法阐述直观
- 价值: ⭐⭐⭐⭐ 150万字幕数据集对3D-文本社区贡献显著