Paper Deep Reading · IEEE TPAMI Survey

从图像恢复三维物体:深度学习时代的表示、监督与评测地图

这篇综述将 2015–2019 年的图像三维重建研究组织为一套可操作的坐标系:输入条件、三维表示、网络结构、监督信号、数据来源与性能指标。它没有训练一个新模型;核心贡献是梳理 149 篇工作,并将其中的通用物体重建方法放在同一比较框架中。

Xian-Feng Han · Hamid Laga · Mohammed BennamounarXiv v3 · 2019-11-01IEEE TPAMI 43(5) · 2021 · 1578–1604DOI 10.1109/TPAMI.2019.2954885

先确认这篇论文做了什么

作者研究的是从一张或多张 RGB 图像恢复物体三维几何的深度学习方法,主体覆盖通用物体,同时讨论人体、人脸与整场景。传统多视图几何、纯深度估计、形状补全、草图建模和新视角合成只作为邻近问题出现。

Survey corpus
149

作者收集的 2015 年以来论文总数。原文说明收集截止时仍未覆盖大量 CVPR 2019 与即将召开的 ICCV 2019 工作。

Generic reconstruction
88

通用三维物体重建算法,是方法分类与性能表的主体。

Specialized classes
11 + 6

11 篇人脸重建与 6 篇人体形状重建;类特定先验使问题更受约束。

研究缺口

2015 年之后,CNN、VAE、GAN、可微渲染以及大型三维数据集让单图重建迅速发展。已有综述分别处理传统几何、深度估计或非刚性形状分析,缺少围绕深度学习图像三维物体重建的统一整理。本文用“表示—结构—监督—数据—评测”五个维度连接分散工作。

证据边界

综述没有统一复现实验,也没有重新训练表中模型。Table 6 汇总原论文报告值,训练数据、预处理、阈值与评测协议仍存在差异,因此横向排名需要谨慎。

Paper Verified
作者明确声明:综述覆盖 149 篇工作,并提供分类、关键方法性能比较、开放问题与未来方向。页面中的单模型结构和结果均属于被综述论文。

问题形式化与分类轴

给定同一物体的一组 RGB 图像,目标是学习预测器,使输出形状尽量接近未知真实形状。

\[ \mathbf{I}=\{I_k\mid k=1,\ldots,n\},\qquad \widehat{X}=f_{\theta}(\mathbf{I}),\qquad \mathcal{L}(\mathbf{I})=d\!\left(f_{\theta}(\mathbf{I}),X\right). \]

\(\mathbf{I}\) 是一张或多张输入图像;\(X\) 是真实三维形状;\(\widehat{X}\) 是预测结果;\(\theta\) 是模型参数;\(d\) 根据输出表示选择体素、点集或表面距离。

输入

单图、多图或视频;摄像机内外参可知或未知;图像可以包含单物体或多物体、干净背景或杂乱背景;轮廓、分割与语义标签可以充当额外线索。

输出

体素占用、概率占用、SDF/TSDF、参数化曲面、模板变形网格、点云;也可先预测深度、法线或轮廓,再融合为三维形状。

网络

基础形式是 \(f=g\circ h\):编码器 \(h\) 把图像映射到潜变量,解码器 \(g\) 生成三维表示。训练时还可加入 3D 编码器、判别器或多任务分支。

潜空间

离散或连续、扁平或层级、纠缠或解耦。理想潜空间应保持相似性、局部连续性、视角不变性,并让同一对象的 2D 与 3D 观测落在邻近区域。

监督

完整 3D 标注、2D 多视图轮廓/深度/法线、视频运动与 SfM、未标注 3D 形状、对抗先验,以及重建与分割联合训练。

评测

IoU、交叉熵、Chamfer Distance、Earth Mover Distance、对称表面误差,同时关注 3D 监督量、运行时间和内存。

原 Table 1:深度学习图像三维物体重建分类

分类维度子维度原文列出的选择
输入训练单张或多张 RGB;3D ground truth;单物体或多物体;统一背景或杂乱背景;segmentation
测试单张或多张 RGB;segmentation
输出体积高分辨率或低分辨率
表面参数化、模板变形、点云
路径直接重建或经中介表示重建
网络结构训练结构Encoder–Decoder
训练结构TL-Net
训练结构Conditional GAN / GAN
训练到测试变化3D-VAE-GAN → 测试时保留 3D-VAE
训练监督程度2D 或 3D supervision;weak supervision;loss functions
训练程序adversarial training;joint 2D–3D embedding;与其他任务联合训练

原 Table 2:编码阶段分类

潜空间性质原文对应结构作用
离散或连续ConvNet、ResNet、FC、3D-VAE连续 VAE 潜空间支持采样与插值;普通编码器没有连续性保证。
扁平或层级层级 latent variables 与 skip connections不同层次编码局部与全局特征,缓解单一潜变量造成的模糊重建。
解耦表示shape code、pose / lighting / transformation code把形状同相机姿态和照明分开,减少无关变化进入形状表示。

三维表示决定解码器

早期方法借助规则体素网格直接迁移二维卷积;随分辨率需求上升,研究转向八叉树、连续隐式场、网格与点云。

Volumetric

体素、SDF 与 TSDF

规则占用网格适配 3D CNN,能表达任意拓扑和内部结构,内存复杂度随分辨率立方增长。概率占用便于学习;SDF 提供清晰表面位置与法线;TSDF 适合从局部深度观测增量融合。

32³ / 64³octreecontinuous field

Mesh

参数化与模板变形

几何图像、球面映射或多个二维 patch 把曲面转成规则域;模板变形直接预测顶点位移或 FFD 参数。它们节省内存并输出显式表面,常受固定拓扑、genus-0 或模板类别限制。

geometry imageGCNNFFD

Point cloud

无序点集

点集可用全连接层直接生成,也可先投影到规则网格或通过 KD-tree 排序后使用一维卷积。表示紧凑、无需固定连接关系,代价是邻域结构与连续表面需要额外恢复。

FC decodergridKD-tree

OctNet 固定八叉树HSP 深度优先层级空间划分OGN 广度优先生成八叉树
原论文 Figure 1:OctNet 使用网格—八叉树混合结构;HSP 与 OGN 分别以深度优先和广度优先方式逐步生成高分辨率空间结构。

体积解码路线表(原 Table 3 的完整方法行)

引用采样 / 内容分辨率策略网络输入到输出
[7]规则 / 占用低分辨率LSTM + UpConv图像 → 体素
[25]规则 / 占用低分辨率UpConv图像 → 体素
[17]规则 / 占用低分辨率UpConv图像 → 体素
[4]规则 / 占用低分辨率UpConv图像 → 体素
[6]规则 / 占用128³UpConv图像 → 2.5D → 体素
[26]规则 / SDFpatch synthesisUpConv扫描 → 体素
[27]规则 / 占用低分辨率UpConv图像 → 体素
[12]规则 / 占用DCT 子空间IDCT图像 → 体素
[18]规则 / 占用低分辨率UpConv图像 → 体素
[28]规则 / 占用128³,volume slicingCNN → LSTM → CNN图像 → 体素
[24]规则 / 占用低分辨率UpConv图像 → 体素
[29]规则 / TSDF部件分解LSTM + MDN深度 → 包围盒基元
[30]Fruxel / 占用128³UpConv图像 → 体素
[31]规则 / TSDFPCA 子空间FC图像 → 体素
[32]自适应固定 O-CNNoctree CNN未列
[33]自适应学习 OGNoctree generator未列
[8]规则 / 占用低分辨率UpConv图像 → 体素
[9]规则 / 占用128³UpConv图像 → 2.5D → 体素
[34]自适应 / 占用O-CNN + patch-guidedUpConv图像 → 体素
[13]规则 / 占用低分辨率UpConv图像 → 体素
[35]规则 / TSDFOctNet,global-to-localUpConv扫描 → 体素
[11]规则 / 占用低分辨率UpConv图像 → 体素
[36]自适应 / 占用HSPUpConv nets图像 → 体素
Pixel2Mesh 模板顶点变形DeformNet 参数域变形
原论文 Figure 2:上方是模板顶点变形,下方是参数域中的 Free-Form Deformation。两者都把无约束表面生成转为受先验约束的变形问题。

网格解码路线表(原 Table 4)

引用表示变形模型模板解码器
[52]Geometry Image——UpConv
[53]Geometry Image——ResNet blocks + 2 Conv
[54]Patch-based——MLP
[55]Meshvertex deformationsphereFC
[56]Meshvertex deformationellipseGCNN blocks
[20]MeshvertexcubeUpConv
[57]Meshvertex deformationlearned CNN templateFC
[58]MeshFFDk-NNFC
[59]MeshFFDNNUpConv
[60]MeshFFDk-NNfeed-forward
Our Interpretation
这套分类最有价值的部分是把表示的工程代价同网络设计直接连接起来:体素拥有规则局部邻域,但内存代价很高;网格拥有显式连通性,但拓扑变化困难;点云拓扑自由,但局部关系需要另行建模。2019 年之后的隐式函数与神经场路线延续了作者已经观察到的“连续场降低分辨率绑定”方向。

监督信号如何替代昂贵的三维标注

综述把训练分成 3D 监督、2D 重投影监督、视频监督,以及联合潜空间和对抗训练。下列公式属于被综述方法与通用评测形式。

三维监督

\[ \mathcal{L}_{\mathrm{vol}}(I)=d\!\left(f(I),X\right),\qquad \mathcal{L}_{\mathrm{CE}}=-\frac{1}{N}\sum_{i=1}^{N}\left[p_i\log \widehat{p}_i+(1-p_i)\log(1-\widehat{p}_i)\right]. \]

体素输出常用 \(L_2\)、负 IoU 或交叉熵。概率占用中,\(p_i\) 和 \(\widehat{p}_i\) 分别是真实与预测占用概率。

点集监督

\[ \mathcal{L}_{\mathrm{EMD}}=\min_{\phi:S_{\mathrm{gt}}\rightarrow S_{\mathrm{rec}}}\sum_{p\in S_{\mathrm{gt}}}\lVert p-\phi(p)\rVert_2. \]

EMD 寻找双集合之间的匹配;Chamfer Distance 使用最近邻近似,计算代价更低。

多解重建

\[ \mathcal{L}_{\mathrm{MoN}}=\sum_i\min_{\mathbf{r}\sim\mathcal{N}(0,\mathbf{I})}d\!\left(f(I_i,\mathbf{r}),S_{\mathrm{gt},i}\right). \]

Min-of-N 用随机变量扰动输入,使单张图像能够生成多个合理三维解释。

二维重投影

\[ \mathcal{L}_{\mathrm{proj}}(I)=\frac{1}{n}\sum_{j=1}^{n}d\!\left(P\!\left(f(I);\alpha^{(j)}\right),S^{(j)}\right). \]

\(P\) 是可微投影器,\(\alpha^{(j)}\) 是相机参数,\(S^{(j)}\) 是第 \(j\) 个真实轮廓。监督更易获得,但轮廓通常只约束 visual hull。

对抗训练

\[ \mathcal{L}_{\mathrm{3D\text{-}GAN}}=\log D(X)+\log\!\left(1-D(g(\mathbf{x}))\right). \]

判别器约束生成形状落在合理类别流形上。原文同时指出高分辨率 GAN 难以稳定训练,需要平衡生成器与判别器。

由深度法线轮廓组成的2.5D中介流程
原论文 Figure 4:先预测深度、法线和轮廓等 2.5D sketch,再从中介表示恢复三维体积。分解任务能注入几何约束和中间监督。
联合二维三维嵌入TL 网络3D VAE GAN 架构
原论文 Figure 5:训练时使用 3D 编码器或判别器;测试时移除辅助模块,仅保留图像编码器与三维生成器。TL embedding 先训练 3D 自编码器,再让图像编码器回归同一潜表示,最后联合微调。

训练流程的实际输入与输出

1 · 3D supervision

输入图像—形状配对,输出体素、网格或点云;直接计算三维重建误差。监督精确,采集成本高。

2 · 2D / video supervision

用多视图轮廓、深度、法线、相机参数或 SfM 结果作为监督;预测三维形状后投影回观测空间。

3 · priors and multitask

用未标注 3D 形状、GAN 判别器、分割分支或姿态分支约束输出,提高合理性与局部结构。

Author Claim
作者认为弱监督、无监督、域适配和逼真合成数据将缓解三维标注不足。原文给出方法趋势和部分代表结果,没有通过统一实验验证所有未来判断。

数据决定可比较性

原 Table 5 共列出 14 个常用数据集。合成 CAD 数据规模大却缺少自然图像;真实图像数据通常只有少量三维标注;场景数据带来多物体、杂乱背景与相机标定。

数据集年份图像数量 / 尺寸场景属性类别 / 三维对象三维真值相机参数
ShapeNet [139]2015— / —单物体;渲染;统一背景55 / 51,30051,300 个 3D model内参
ModelNet [3]2015— / —单物体;渲染;统一背景662 / 127,915127,915 个 3D model内参
IKEA [140]2013759 / 可变单物体;真实室内;杂乱7 / 219759 张图像有 3D model内参 + 外参
Pix3D [9]20189,531 / 110×110 至 3264×2448单物体;真实室内;杂乱9 / 1,0159,531 张图像有 3D model焦距 + 外参
PASCAL 3D+ [141]201430,899 / 可变多物体;真实室内外;杂乱12 / 36,00030,809 张图像有 3D model内参 + 外参
ObjectNet3D [142]201690,127 / 可变多物体;真实室内外;杂乱100 / 44,14790,127 张图像有 3D model内参 + 外参
KITTI12 [143]201241,778 / 1240×376多物体;真实室外;杂乱2 / 40,00012,000 张图像有 point cloud内参 + 外参
ScanNet [144]2017–20182,492,518 / RGB 640×480,1296×968多物体;真实室内;杂乱296 / 36,123全部图像有 dense depth内参 + 外参
Stanford Car [145]201316,185 / 可变单物体;真实室外;杂乱196 / ———
Caltech-UCSD Birds 200 [146,147]2010–20116,033 / 可变单物体;真实;杂乱200 / ——外参
SUNCG [148]2017130,269 / —多物体;合成;杂乱84 / 5,697,217depth + voxel grid内参
Stanford 2D-3D-S [149,150]2016–201770,496 / 1080×1080多物体;真实室内;杂乱13 / 6,005point cloud + mesh内参 + 外参
ETHZ CVL RueMonge [151]2014428 / —多物体;真实室外;杂乱8 / —428 张图像有 point cloud + mesh内参
NYU V2 [152]20121,449 / 640×480多物体;真实室内;杂乱894 / 35,064dense depth + 3D points内参
复现提示
Table 5 的“对象数”“带三维真值的图像数”和“类别数”并非同一统计口径。PASCAL 3D+ 在原表中分别写为 30,899 张图像与 30,809 张带三维真值图像,本页保留这两个原始数值。使用这些数据复现实验时,应回到对应数据集版本与原方法划分,核实渲染视角、背景合成、体素化分辨率、相机坐标系和测试类别。

原 Table 6:代表方法性能全表

数值顺序为 ShapeNet、Pix3D、PASCAL3D+。破折号表示综述没有报告。IoU 的体素化分辨率会显著影响数值;CD 的缩放也依赖原论文协议。

方法训练 / 测试输入输出监督 / 网络IoUCD时间 / 内存
Xie et al. [86]训练 \(n\ge1\) RGB + 3D GT;测试 1 RGB / 20 RGB;杂乱体素 32³3D;VGG16 encoder + 3D decoder + refiner(0.658, —, 0.669) / 20-view (0.705, —, —) @32³—9.9 ms;114.4M 参数
Richter et al. [51]训练 1 RGB + 3D GT;测试 1 RGB;干净体素 512³3D;3D encoder + 2D decoder(0.641, —, —) @32³——
Tulsiani et al. [11]训练多 RGB + segmentation;测试 1 RGB;杂乱体素 + pose2D multiview;encoder/decoder + pose CNN(0.620, —, —) @32³——
Tatarchenko et al. [33]训练 \(n\ge1\) RGB + 3D GT;测试 1 RGB;杂乱体素 512³ / 32³3D;Octree Generating Network512³ 未报;32³ (0.596, —, 0.504) @32³—2.06 s / 0.88 GB;32³ 为 16 ms、12.46M、0.29 GB
Tulsiani et al. [8]训练多 RGB + silhouette + 可选 depth;测试 1 RGB;杂乱体素 32³2D multiview;encoder-decoder(0.546, —, 0.536) @32³——
Wu et al. [6]训练 1 RGB + 3D GT;测试 1 RGB;杂乱体素 128³2D + 2.5D;TL + 3D-VAE + encoder-decoder(0.570, —, 0.390) @128³——
Gwak et al. [97]1 或 5 RGB + silhouette + pose;可加未标注 3D;测试 1 RGB体素2D / 2D+U3D;GAN1-view 0.257;+U3D 0.403;5-view 0.444;+U3D 0.4849,均 ShapeNet @32³——
Johnston et al. [12]训练 1 RGB + 3D GT;测试 1 RGB;杂乱体素 128³ / 32³3D;encoder + IDCT128³ (0.417, —, 0.4496);32³ (0.579, —, 0.5474)—32 / 15 ms;2.2 / 1.7 GB
Yan et al. [4]训练多 RGB + silhouette + pose;测试 1 RGB;干净体素 32³2D;encoder-decoder(0.570, —, —) @32³——
Choy et al. [7]训练 \(n\ge1\) RGB + 3D GT;测试 1 / 20 RGB;杂乱体素 32³3D;encoder-LSTM-decoder1-view (0.560, —, 0.537);20-view (0.636, —, —) @32³—73.35 ms;35.97M;超过 4.5 GB
Kato et al. [155]训练 1 或 20 RGB + silhouette + pose;测试 1 RGB;杂乱mesh + texture2D;encoder-decoder1-view (0.513, —, —);20-view (0.655, —, —) @32³1-view (0.0378, —, —)—
Mandikal et al. [81]训练 1 RGB + 3D GT;测试 1 RGB;干净point cloud 16,3843D;Conv + FC,global-to-local—(8.63, —, —)13.3M 参数
Jiang et al. [74]训练 1 RGB + 3D GT;测试 1 RGB;杂乱point cloud 1,0243D;两组 encoder-decoder + GAN(0.7116, —, —) @32³——
Zeng et al. [80]训练 RGB + silhouette + pose + 3D;测试 1 RGB;杂乱point cloud 1,0243D + self;encoder-decoder + point autoencoder(0.648, —, —) @32³(3.678, —, —)—
Kato et al. [55]训练 1 RGB + silhouette;测试 1 RGB;杂乱mesh 6422D;encoder + FC(0.602, —, —) @32³——
Jack et al. [58]训练 RGB + FFD parameters;测试 1 RGB;干净mesh 16,3843D;encoder + FC(0.671, —, —) @32³——
Groueix et al. [54]训练 1 RGB + 3D GT;测试 1 RGB;干净mesh 1,0243D;multibranch MLP—(1.51, —, —)—
Wang et al. [56]训练 RGB + 3D GT;测试 1 RGB;干净mesh 2,4663D;Pixel2Mesh 路线—(0.591, —, —)—
Mandikal et al. [21]训练 1 RGB + 3D GT;测试 1 RGB;杂乱point cloud 2,0483D;3D-VAE + TL embedding—(5.4, —, —)—
Soltani et al. [19]训练 20 silhouettes + poses 或 1 silhouette;测试 1 silhouette;干净20 depth maps2D;3D-VAE20-view (0.835, —, —);1-view (0.679, —, —) @32³——
Fan et al. [72]训练 1 RGB + 3D GT;测试 1 RGB;杂乱point set 1,0243D;point generation network(0.640, —, —) @32³(5.62, —, —)—
Pontes et al. [60]训练 1 RGB + GT FFD;测试 1 RGB;干净mesh3D;encoder + FC(0.575, —, 0.299) @32³——
Kurenkov et al. [59]训练 1 RGB + 3D GT;测试 1 RGB;干净point cloud 1,0243D;2D encoder + 3D encoder/decoder—(0.3, —, —)—
ShapeNet体素方法IoU趋势ShapeNet表面方法IoU趋势ShapeNet表面方法CD趋势
原论文 Figure 6:ShapeNet 上代表方法的 IoU 与 CD。多视图训练或测试通常提高 IoU;表面方法在作者汇总中略高于早期体素方法;3D 监督整体略优于 2D 监督。

多视图信号有效

同一方法内,多视图通常提升结果:Choy et al. 从 0.560 到 0.636;Xie et al. 从 0.658 到 0.705;Kato et al. 从 0.513 到 0.655。

稀疏结构降低内存

综述给出的 32³ 内存对比中,OGN 为 0.29 GB,Johnston et al. 为 1.7 GB,Choy et al. 超过 4.5 GB。实现复杂度限制了八叉树方法的广泛采用。

协议差异限制排名

输入视图数、背景、类别、三维监督、输出分辨率和体素化阈值均不同。Soltani et al. 的 0.835 来自 silhouette 输入与 20-depth-map 表示,不能直接视作通用 RGB 单图重建胜者。

特殊对象与场景

人体

参数方法以 SCAPE、SMPL 等统计模型回归形状和姿态;体积方法直接预测占用场。SMPL 强先验提升单图稳定性,却限制可表达细节;BodyNet 通过 2D 姿态、2D 分割、3D 姿态和体积形状四级级联引入中间监督。

人脸

3DMM 路线从图像回归身份、纹理、表情、姿态和光照参数;FineNet、shape-from-shading 或高分辨率深度分支补充皱纹等细节。弱监督方法通过可微渲染或人脸识别特征训练。

完整场景

场景解析需要检测、布局、姿态、尺度与对象几何。早期系统常从 CAD 库检索后再变形;端到端方法可以在 ROI 中预测 32³ 体素和姿态,但通常依赖合成场景标注。

Reviewer Commentary

Strengths

分类框架仍然清晰

  • 将表示、编码、监督、训练程序和数据集放进同一体系。
  • Table 3、4、5、6 连接实现选择、资源代价和性能。
  • 明确讨论单图歧义、visual hull 上限、合成域偏差和识别偏差。
  • 同时覆盖通用物体、人体、人脸与场景,边界说明充分。
Weaknesses

比较仍受原论文协议制约

  • 没有统一代码、统一数据划分与统一重算指标。
  • Table 6 的 IoU 分辨率、CD 尺度、输入视图与监督量不同。
  • 检索期截止于 2019 年,未覆盖 NeRF、3D Gaussian Splatting、大规模扩散先验等后续路线。
  • 系统综述流程没有给出明确数据库、检索式、筛选流程与排除标准。
Potential Improvements

更可复验的综述协议

  • 发布结构化方法表、统一 benchmark 脚本和版本化检索记录。
  • 按 seen-instance、seen-category、unseen-category 分开报告泛化。
  • 统一输出为表面采样点后计算尺度归一化 CD、F-score 与法线一致性。
  • 同时报告显存峰值、推理延迟、三维监督量和相机先验。
Research Extension

对当前研究的可延伸问题

可将作者的“识别先验与几何证据结合”扩展为显式 test-time optimization:生成模型提供类别和外观先验,多视图或单图可微渲染误差提供实例证据,搜索过程同时优化相机、拓扑与表面参数。评测应把逼真度、几何一致性、未见类别泛化和计算成本分别报告,避免由单一感知指标掩盖几何失败。

Paper Verified / Research Extension 边界
训练数据、未见对象、细尺度重建、识别偏差、多物体、3D 视频与场景解析来自原论文 Section 11。生成先验结合 test-time optimization 的具体方案属于本页研究延伸。

来源与版本说明

  1. Han, Laga, Bennamoun. arXiv:1906.06543v3:2019-06-15 首次提交,2019-11-01 修订;本页方法、公式、图表与未来方向以 v3 PDF 为主。
  2. IEEE DOI 10.1109/TPAMI.2019.2954885:期刊在线发表记录对应 2019;卷期版本为 IEEE Transactions on Pattern Analysis and Machine Intelligence, 43(5), 1578–1604, 2021。
  3. arXiv HTML:用于核对章节、表格结构与官方托管 Figure 资源。
阅读时应保留的时间边界这是一篇 2019 年完成检索与写作的综述。页面评价其分类价值时采用该时间范围;后续方法只用于说明历史覆盖边界,没有写入原论文结论。