Paper Reading · Sketch-based Modeling · PACM CGIT 2018

把一组草图
逐轮“压”成三维。

这篇工作没有寻找跨视图笔画对应,而是让一个 updater CNN 在已知相机下反复修正概率体素。它把单视图猜测、多视图约束、交互式建模和合成训练数据接成了一个低延迟闭环。

arXiv:1707.08390v4DOI 10.1145/320319715 页作者版 + Appendix原图内嵌浏览器验收

Johanna Delanoy · Mathieu Aubry · Phillip Isola · Alexei A. Efros · Adrien Bousseau
Proceedings of the ACM on Computer Graphics and Interactive Techniques 1(1), Article 21, 2018 · I3D 2018

01 / Identity

版本看似混乱,正式身份其实明确

正式出版
2018

PACM CGIT 1(1), Article 21,页码 21:1–21:22。

作者版
v4

arXiv 最后修订于 2018-06-19;本地 PDF 共 15 页。

输出分辨率
64³

每个 voxel 是 occupied / empty 二分类概率。

Paper Verified

arXiv 页面给出 related DOI 10.1145/3203197;官方项目页标注 “In I3D 2018”;DBLP 与 Inria 2018 年报将其列为 PACM CGIT 1(1), Article 21。PDF 页眉里遗留的 “Conference'17” 与占位 DOI 是作者版模板残留,不能当作正式 venue。

Figure 1. 最小工作流:第一张透视草图产生初始概率体;用户旋转检查,再从新视角重画并修正。最终还能快速制作实体原型。图源:论文作者版 p.1。
02 / Research motivation

真正缺的不是“画出轮廓”,而是把含糊、稀疏、互相不完全一致的线稿放进同一个三维状态

传统方法常要求干净矢量线、特定几何约束、正交轮廓或显式笔画对应;自由手绘恰好会违反这些假设。单视图方法又必须猜被遮挡部分。本文的核心假设是:合成数据学到的形状先验能补全第一视图,而后续视图可作为对共享三维概率状态的反复修正。

输入稀疏

线稿没有纹理与阴影,视角和深度均有歧义;粗略笔触还带有波动、过冲与不完整。

对应困难

多张自由手绘不会精确满足极线约束,直接做 multi-view stereo 或逐线匹配不可靠。

交互必须快

建模工具需要用户画完即看结果。论文报告 TitanX 上 1–4 视图为 140–350 ms。

Author Claim

作者称这是首个能从多张透视 bitmap drawings 自动重建三维模型的方法。论文没有系统穷举所有同时期系统,因此应把“首个”视为作者定位;可验证贡献是任意数量视图的迭代 updater 与配套交互界面。

Our Interpretation

最重要的系统设计不是某个新卷积算子,而是把“第一张草图的全局补全”与“后来视图的局部纠错”拆成两个网络,并用显式相机重采样把视角变化从网络学习负担中拿掉。这种分工让固定架构能接受可变数量输入。

03 / Problem formulation

输入是已标定的位图草图;隐藏状态是带不确定性的三维占据场

符号含义在系统中的位置
\(D_i\)第 \(i\) 个视角的 256×256 合成或用户线稿single-view 或 updater 的二维输入
\(C_i\)该线稿的已知透视相机把 world voxel grid 变换到视图坐标
\(V^{(k)}\in[0,1]^{64\times64\times64}\)第 \(k\) 轮的占据概率体共享三维状态;不做 0.5 threshold 后再送入 updater
\(S_{\theta}\)single-view U-net从第一张图生成初始体 \(V^{(0)}\)
\(U_{\phi}\)updater U-net把新图和现有概率体融合成新概率体
\(Y\in\{0,1\}^{64^3}\)ground-truth occupancy由 mesh 经 Binvox 体素化得到的监督信号
\[ V^{(0)} = T^{-1}_{C_1}\!\left(S_{\theta}(D_1)\right),\qquad V^{(k+1)} = T^{-1}_{C_i}\!\left(U_{\phi}\left(D_i,T_{C_i}(V^{(k)})\right)\right) \]
怎么读:先用第一张草图得到相机坐标系下的概率体,再用 \(T^{-1}_{C_1}\) 存回 world grid。处理第 \(i\) 张图前,用 \(T_{C_i}\) 把 world grid 重采样到当前相机;updater 融合后再用逆变换送回 world coordinates。公式是对论文流程的显式化,不是论文原文给出的闭式目标。
\[ \mathcal{L}_{\mathrm{vox}}(p,y) = -\sum_{v}\left[y_v\log p_v+(1-y_v)\log(1-p_v)\right] \]
训练目标:论文 Appendix 写的是 SoftMax + multinomial logistic classification loss;每个 voxel 在 occupied / empty 两类间分类。上式是二类情况下等价的交叉熵表达,便于说明,不声称作者用这行公式实现。
\[ \mathrm{IoU}(\widehat{Y},Y)=\frac{|\widehat{Y}\cap Y|}{|\widehat{Y}\cup Y|} \]
为什么用 IoU:体素网格大部分是远离物体的空白。普通 accuracy 会被大量“正确空 voxel”抬高;IoU 把注意力集中在形状占据区域。
04 / Algorithm

两个 U-net,一份共享概率体,五轮跨视图循环

1第一张 3/4 草图限定在 8 个 informative viewpoints,降低单图深度歧义。
2Single-view256² 线稿经 encoder-decoder 输出 64³ 占据概率。
3相机重采样将概率体旋到下一张草图的 viewing frame。
4Updater现有体在第二卷积层注入,与新图特征联合解码。
5反复访问每轮依次访问所有视图,共做 5 轮,再渲染 0.5 iso-surface。
Figure 2. 左侧是从 mesh 生成 voxel 与多视图 contour drawings,再分别训练 single-view 和 updater;右侧是用户从一张图开始、旋转、继续画、再融合的在线过程。图源:论文作者版 p.5。

Single-view U-net

把深度切片当成二维输出通道:每个图像位置对应 viewing ray,通道对应沿射线的不同深度。透视相机下,网格在三维空间形成视锥台;作者早期实验认为 perspective cues 有助于规则形体的深度推断。

Updater U-net

架构近似相同,但把连续值占据概率与第二卷积层输出拼接。保留概率而非二值化,是为了让 updater 看到 voxel uncertainty。论文没有 attention、RNN state 或显式 stroke matching。

Appendix 给出的精确网络

所有卷积/反卷积均为 4×4 kernel、stride 2。编码器为:

C64→C128→C256→C512→C512→C512→C512→C512

解码器从瓶颈返回,使用 \(\mathrm{DeCD}512\) 等层(D 表示 50% dropout),并把同分辨率 encoder 特征拼接到 decoder。第一层 C64 不做 BatchNorm;encoder Leaky ReLU slope 0.2,decoder 普通 ReLU。末端 SoftMax 输出两类通道,保留每对通道中的 occupied channel 形成 64³ 概率体。

Figures 3–6. 网络注入点、双视图循环、单视图反馈精修与三类训练数据。updater 的分阶段训练见论文 Figure 7:它只在 single-view 输出上训练,而推理时会读到自己的反复输出。图源:论文作者版 p.6。
教学交互 · 迭代不是投票

拖动轮次,看概率体如何稳定

下面的 8×8 投影只是机制示意。每轮 updater 可以同时填补、删除与移动占据概率;它并非简单求交或平均。论文 Figure 14 显示 successive-prediction 的 \(L^2\) 差异快速下降,但 accuracy 略降。

05 / Data & training

训练数据不是用户手绘,而是“mesh → 法线/深度边缘 → 合成线稿”

数据源规模 / split学到的先验与风险
ShapeCOSEG chairs400;90% train / 10% test类别特化明显;细腿受 64³ 分辨率影响。
ShapeCOSEG vases300;90% train / 10% test能从含糊轮廓学到 hollow vessel 先验,但对异类泛化差。
Procedural abstract20,000;50 个测试,其余训练轴对齐 cuboid/cylinder 经 CSG 加减并在 xy plane 对称;规模和多样性更大,对椅子/花瓶有次优但较强泛化。

数据生成

每个 mesh 用 Binvox 体素化到 64³,并缩放使网格覆盖 object bounding box 最大边的 120%。线稿为 256²:先渲染 normal map 与 depth map,再在图像空间检测法线不连续和深度不连续。single-view 只用包围盒上方角点附近的 8 个 3/4 views;updater 再加入 front / side / top 等 accidental views,总计 13 个可画视点。

相机扰动

single-view 固定物体到相机距离,并在 image plane 对相机做随机平移,从而学习二维平移不变性。updater 因为不同视图的二维平移会对应另一视图的 depth translation,改用相机的随机三维位移;它依赖现有体素预测来定位深度。

分阶段训练

先训练 single-view:\(D_i\rightarrow Y\)。训练 updater 时,选同一物体的另一视图送入已经训练好的 single-view,得到“真实会出现的初始预测” \(\widetilde V\),再用 \((D_i,\widetilde V)\rightarrow Y\) 训练 updater。这比拿 ground-truth volume 当 updater 输入更贴近第一次推理,但没有覆盖 updater 连续自回馈后的状态分布。

Optimizer
Adam

\(\beta_1=0.5,\ \beta_2=0.999,\ \epsilon=10^{-8}\)

Learning rate
2×10⁻⁴

正文未报告 scheduler、warmup 或 weight decay。

Training
1M

iterations;全系统约一周,NVIDIA TitanX。

Paper Verified

使用 BatchNorm;Appendix 说明部分 decoder 层 50% dropout。论文未公开 batch size、每类网络的精确训练时长拆分、初始化、数据增强采样比例、随机种子或 checkpoint 选择准则,不能补写成“默认 pix2pix 配置”。

06 / Interface & inference

界面不是装饰,它负责把真实用户输入拉回训练分布

约束视点

首图强制 3/4 视图;之后只能 snap 到 updater 见过的 13 个视点。自由旋转仅用于观察,不直接允许在任意角度画。

透视引导

屏幕显示 wireframe cube 与光标处三条轴向 vanishing lines,帮助用户画出与合成数据一致的透视。

分离线型

黑线送入网络;红色 construction lines 只作脚手架,不参与预测。工具提供 pen / eraser。

推理时对所有视图循环 5 轮。体素以 0.5 iso-surface ray-cast;导出时先 Marching Cubes,再用 bilateral filter 去 aliasing。论文没有 beam search、top-k、采样、reranking 或显式优化器:这是确定性的前向更新过程(dropout 推理行为未在文中另述)。

Figures 9–10. 两位专家每个对象使用 2–3 张手绘。系统能产生凹槽、孔洞和被遮挡部分;斜屋顶例子说明轴对齐 procedural training prior 并非硬约束,但只是 qualitative evidence。图源:论文作者版 p.9。
07 / Experiments

证据支持“交互快、形状先验有效”;不支持高保真重建

用户研究:六位新手,可用但精度不够

6 名参与者自评绘画技能 2.8/5、三维建模 2.3/5;观看 15 分钟 cube/cylinder 教程后,各建模两个预设对象之一。易用性均值 5.5/7,但“模型是否符合草图”只有 3.8/7。vanishing-line guidance 获 6.6/7。失败集中在构图尺度:画得太小丢细节,画得太大放不下零件;近似 cylinder 也难以识别。

Figure 11. P1/P6 因居中并遵循透视得到较好结果;P2 太小且轮子透视粗略,P5 没给锤柄留空间。该研究没有对照组、显著性检验或任务完成时间统计。图源:论文作者版 p.10。

数据集与 updater 收敛

Figure 13 表明每个 network 在同分布测试集最好。procedural network 在 chairs 与 vases 上是第二好,作者推测源于更大的规模和变化;这个实验混合了数据量、几何复杂度与类别差异,不能单独归因于“procedural representation”。Figure 14 用 50 个 procedural test shapes、2/3/4 随机视图测 successive iteration 的 \(L^2\) difference:很快稳定,却伴随 accuracy 轻微下降。作者选 5 轮是 coherence 与 accuracy 的经验折中。

Figures 12–14. 类别专化、procedural dataset 的相对泛化,以及 updater 的稳定性/精度张力。图中没有给出可无歧义抄录的完整数值表,因此本页不把柱高或曲线读数伪装成精确数字。图源:论文作者版 p.11。

Baseline 与 architecture ablation

论文用 silhouette carving 做主要 baseline:一版使用与本文相同的首张 3/4 + 后续随机视图;另一版给 carving 更有利的 orthogonal views。Figure 17 显示本文从单视图已有较高 IoU,四视图仍有竞争力;Figure 16 说明 learned prior 尤其能恢复 carving 无法产生的 concavity。Figure 18 还比较 binary occupancy 与 signed distance function、U-net 与改造后的 Eigen-Fergus multi-scale depth network;本文设计最好,但正文只给图形结果,没有误差条与显著性检验。

Figures 15–20. 噪声鲁棒性、silhouette carving 对比、表示/架构消融,以及 thin structure 与 occlusion 失败。图源:论文作者版 p.12。

运行时

硬件1 view2 views3 views4 views
Desktop NVIDIA TitanX GPU140 ms210 ms280 ms350 ms
MacBook Pro CPU1.0 s1.5 s2.2 s2.9 s

以上均为 64³、updater 5 iterations。single-view 与 updater 权重合计占 775 MB。随视图数近似线性增长。

08 / Evidence boundary

论文最诚实的一张图:更新已稳定,准确率却在下降

低分辨率

64³ 无法保留椅腿、细杆、轮辐等结构;Marching Cubes 与平滑只能改善表面观感,不能恢复已经消失的拓扑。

训练/推理状态错位

updater 训练时只读 single-view 的一次输出,推理却会反复读自己的输出。误差可累计,正对应 Figure 14 的 accuracy drift。

输入分布受控

网络在干净合成 contour 上训练。适度 wavy / incomplete / overshot 尚可,over-sketching、线宽变化、错误透视与多遮挡明显失败。

比较范围有限

定量 baseline 主要是 silhouette carving;没有与同时期另一套 learned multi-view sketch reconstruction 做同协议数值比较,也没有真实草图 benchmark。

Paper Verified

作者明确写出:更多细节可能使重建变差;建议允许用户冻结已有重建,把新增笔画作为新对象再做 volume union。这个 workaround 没有在论文系统中实现和评测。

Author Claim

作者说 updater “converges towards a stable solution”。实验证据是 successive prediction 差异趋小,不是数学收敛证明,也不等于趋向 ground truth;论文明确承认无 formal proof。

09 / Reviewer commentary

一个出色的系统论文,核心创新在状态设计与交互约束的共同工程

Strengths

可变视图数被化为固定接口

单次 updater 永远只处理“一张图 + 一个体”,所以输入视图数量不影响参数结构。显式相机重采样又避免网络隐式学 13 种空间旋转。这是清楚、实用而且可推广的设计。

数据与 UI 共设计

作者没有假装 synthetic-to-human gap 不存在,而是用视点 snap、vanishing-line guides、construction lines 和首图 3/4 约束主动缩小 gap。这种“改变输入协议来帮助模型”是 HCI 与 ML 结合的真正贡献。

证据中的弱点

  • 用户研究仅 6 人,任务由 grammar 可表达性预选。
  • 跨数据集实验没有控制训练集大小。
  • 架构消融只测 single-view,未直接验证 updater 设计。
  • Figure 14 用 accuracy 而非 IoU 展示漂移,且无置信区间。
  • 真实手绘没有大规模定量 test set。
  • 没有评估视图顺序敏感性,正文反而指出顺序会影响输出。
  • 权重 775 MB,相对 64³ 输出偏重。
  • 缺少 batch size、随机种子和训练采样策略。
Research Extension

把 updater 训练成真正的 test-time optimizer:随机展开多轮更新,以其自身历史输出为输入;用 view-consistency、rendered contour agreement 与 occupancy calibration 联合监督,并随机打乱视图次序。这样能直接针对 Figure 14 暴露的 exposure bias。

Research Extension

从固定 64³ 改成 coarse-to-fine implicit / sparse volume:粗体素负责全局拓扑与遮挡补全,局部 implicit field 或 octree 只在 surface band 加密。用户界面可用 epistemic uncertainty 标出下一张视图最有价值的区域,论文也把“告诉用户哪里 under-constrained”列为未来方向。

Research Extension

与程序化材质研究的连接:这篇论文没有 material graph、shader program 或 renderer-in-the-loop 材质优化。可迁移的是“共享状态 + 多视图顺序修正”机制:把三维占据场换成材质图/参数状态,每张参考图经已知相机和光照渲染对齐,再用 execution-aware updater 修正图结构或参数;必须把这一设想标为延伸,不能写成论文贡献。

10 / Reproducibility

模型、权重和生成数据曾公开;论文 recipe 仍不足以零猜测复训

项目公开状态复现意义
20K procedural meshes + contours + viewpoints官方项目页提供约 1 GB archive可复用作者的训练分布,并包含 ShapeCOSEG chairs/vases。
Procedural generation code官方项目页提供 C++ archive可生成新的 axis-aligned symmetric CSG shapes。
Database generation code官方项目页提供负责 voxelize / pack,连接 mesh、camera 与 drawing。
Custom Caffe fork官方项目页链接含加载与旋转 voxel grid 的输入层;主线 Caffe 不一定兼容。
Networks and weights官方项目页提供约 400 MB zip有利于复现前向推理;本任务未下载运行。
完整现代化环境未提供旧 Caffe/CUDA 依赖可能成为主要复现成本。
Paper vs. implementation boundary

本次核查了论文、Appendix 与官方项目页列出的 release artifacts,没有下载约 1 GB 数据和 400 MB 权重,也没有独立编译 custom Caffe 或重跑实验。因此本页能说明公开了什么、论文设置是什么,不能声称代码与论文所有细节一致。

最小复现清单

  1. 取得 64³ voxel 和每物体 13 个 camera-aligned 256² contours;严格保存相机内外参。
  2. 按 Appendix 搭建 U-net,先训练 single-view 1M iterations。
  3. 冻结或固定 single-view 生成预测,构造 updater 输入;论文未说明是否继续联合训练,应避免擅自端到端化后仍称原设置。
  4. 推理把 volume 存在 world grid;每张图前后重采样;视图循环 5 次。
  5. 以 occupancy 0.5 导出 surface;报告 IoU,同时单独记录 successive-update distance 与视图顺序方差。
11 / References

本页使用的一手资料

  1. arXiv:1707.08390v4 — 版本历史、作者、摘要、related DOI 与 HTML 全文;本地归档 PDF 为该 15 页作者版。
  2. ACM DOI 10.1145/3203197 — 正式出版标识。
  3. Inria 官方项目页 — I3D 2018 身份、视频、procedural database、生成代码、custom Caffe、网络与权重。
  4. DBLP 正式记录 — PACM CGIT 1(1), Article 21:1–21:22, 2018。
  5. 论文 Figures 1–20、Table 1 与 Appendix — 图像均从本地归档 PDF 渲染裁切后内嵌;本页重建的数值表只抄录论文明确列出的 timing。

核查日期:2026-09-26。正文中的“Paper Verified / Author Claim / Our Interpretation / Research Extension”用于区分证据层级。

放大后的论文图