视频加载失败

3D Common Corruptions and Data Augmentation 论文笔记

3D Common Corruptions and Data Augmentation 阅读笔记 论文:3D Common Corruptions and Data Augmentation(CVPR 2022 Oral,arXiv 2203.01441v3) 作者:Oğuzhan Fatih Ka

论文主题导航
文章目录

3D Common Corruptions and Data Augmentation 阅读笔记#

论文:3D Common Corruptions and Data Augmentation(CVPR 2022 Oral,arXiv 2203.01441v3)

作者:Oğuzhan Fatih Kar、Teresa Yeo、Andrei Atanov、Amir Zamir。机构:EPFL。项目页:https://3dcommoncorruptions.epfl.ch/

一句话总结#

把深度、3D 网格、相机参数和语义等场景几何引入图像损坏,构建包含 20 种损坏的 3DCC 鲁棒性基准,使损坏符合真实成像规律;再将其中一部分作为在线 3D 数据增强,提高模型面对几何相关分布偏移时的鲁棒性。

研究动机#

视觉模型部署到现实世界后会遇到运动模糊、光照变化、雾、遮挡和视角变化等自然分布偏移。现有方法存在真实性与可扩展性之间的矛盾:

  • Common Corruptions(2DCC)等可扩展方法通常在整幅图像上均匀施加二维变换,不考虑物体远近和场景结构。例如,真实运动模糊具有视差,真实雾会随距离变浓,但 2D 方法通常对所有像素同等处理。
  • 真实采集的数据最可信,但需要控制相机、光照、天气和物体状态,还要获得深度或语义真值,成本高且难以扩展。
  • 完整 3D 模拟器可以生成损坏,但模拟域与真实域之间可能存在泛化问题。

核心思想:图像损坏不应只由二维像素位置决定,还应由场景几何和成像过程决定。 以真实 RGB 为基础,再利用深度、3D mesh 或预测深度修改图像,可以兼顾真实性、生成效率、参数可控性和可扩展性。

主要贡献#

  • 提出 3D Common Corruptions(3DCC)生成框架与鲁棒性基准,包含景深、相机运动、光照、视频、天气、视角、语义和传感器噪声等 20 种损坏。
  • 提出基于场景几何的 3D 数据增强,将景深、相机运动和光照等损坏用于训练,使模型学习对更加真实的输入变化保持不变。
  • 使用 MiDaS 预测伪深度,将深度相关损坏扩展到 ImageNet、COCO 等没有真实 3D 标注的数据集,并通过真实深度对照实验验证其有效性。

3DCC 的组成#

3DCC 中的 corruption 是受控的图像退化或分布偏移,而不是文件损坏。20 种损坏为:

  • 景深:Near Focus、Far Focus;
  • 相机运动:XY-Motion Blur、Z-Motion Blur;
  • 光照:Flash、Shadow、Multi-illumination;
  • 视频:CRF Compression、ABR Compression、Bit Error;
  • 天气:Fog 3D;
  • 视角:Camera Pitch、Camera Roll、Field of View、View Jitter;
  • 语义:Occlusion、Scale;
  • 非 3D 噪声:Low-light Noise、ISO Noise、Color Quantization。

输入信息按生成难度分为三类:

  • RGB + Depth:可生成景深、3D 雾、运动和视频等损坏;普通数据集可用 MiDaS 预测深度代替真实深度。
  • RGB + 3D mesh/语义:用于视角变化、自然遮挡、尺度变化和完整光照渲染。
  • 仅 RGB:用于低照度、ISO 噪声和颜色量化。这三项不基于 3D,但因常见且有评测价值而被收入基准。

方法#

问题可以抽象为:给定清晰图像 RR、可用的场景信息 GG、损坏类型 kk 和强度 ss,生成损坏图像

Ik,s=Ck(R,G;s).I_{k,s}=C_k(R,G;s).

GG 可以是真实深度、预测深度、3D mesh、相机参数或语义标注。生成结果既可以离线保存为测试集,也可以在训练时在线采样作为数据增强。

景深损坏#

目的:模拟真实相机中由物体深度、焦平面和光圈共同决定的散焦效果,而不是对整幅图像做均匀模糊。

  • 根据深度分位数将场景离散为多个层;代码默认使用 8 个深度分段。
  • 选择近处或远处深度作为焦平面,分别生成 Near Focus 和 Far Focus。
  • 根据各层深度 dd、焦距位置 ff 和光圈强度 aa 计算模糊半径。代码使用的简化形式为
c(d)=a∣d−f∣d.c(d)=a\frac{|d-f|}{d}.
  • 对 RGB 生成不同模糊半径的图像栈,再根据每个像素所属的深度区间进行插值和合成。

这样,位于焦平面附近的像素保持清晰,远离焦平面的区域逐渐模糊。与逐像素卷积相比,分层模糊栈能够较高效地并行计算。

相机运动与视频损坏#

真实运动模糊具有视差:相同相机运动对近处和远处物体产生的像素位移不同。离线高质量生成流程为:

  1. 使用深度把单幅 RGB 图像反投影成点云;
  2. 定义相机沿 XY 平面或 Z 轴的运动轨迹;
  3. 沿轨迹渲染多个新视图;
  4. 使用 [49] 的方法修复单视图点云在去遮挡区域产生的空洞;
  5. 叠加多个视图,得到与视差一致的 XY/Z 运动模糊。

视频损坏复用这一流程,从单幅 RGB-D 图像生成多帧视频,再施加 H.265 的 CRF、ABR 压缩或传输比特错误,最后抽取一帧作为损坏图像。它不要求输入本身是视频。

3D 雾#

采用标准大气散射模型:

I(x)=R(x)t(x)+A(1−t(x)),I(x)=R(x)t(x)+A\bigl(1-t(x)\bigr),t(x)=exp⁡(−βd(x)),t(x)=\exp\bigl(-\beta d(x)\bigr),

R(x)R(x) 为清晰像素,AA 为大气光,d(x)d(x) 为深度,β\beta 控制雾浓度。深度越大,透射率 t(x)t(x) 越小,像素越接近大气光颜色,因此远处区域自然具有更浓的雾。该方法只需要 RGB 和深度,计算开销很低。

光照损坏#

使用 Blender 在 3D mesh 中添加光源并重新计算场景照明:

  • Flash:把光源放在相机位置,模拟相机闪光灯;
  • Shadow:在相机视锥体外随机放置光源,产生与几何一致的阴影;
  • Multi-illumination:组合多个位置和亮度不同的随机光源。

相比简单调节亮度,这种做法会考虑表面方向、物体遮挡和阴影位置。为了降低训练成本,可以预先计算照明或 reshading 图像。

视角与语义损坏#

  • 视角变化:修改相机俯仰、横滚、视场角和位置后,从 3D mesh 重新渲染图像。View Jitter 用于检查细微视点变化是否导致预测闪烁。
  • 自然遮挡:从带语义标注的 mesh 中选择目标物体,通过移动相机让其他物体自然挡住目标,并连续控制遮挡率。
  • 尺度变化:改变相机与目标物体之间的距离,在保持透视和场景关系的情况下改变其图像尺度。

这些操作依赖完整 mesh 和语义标注,不能仅凭普通 RGB 图像可靠生成,但可以提供传统随机遮挡无法构造的语义级评测。

传感器与量化损坏#

  • Low-light:降低像素强度,再加入泊松—高斯噪声;
  • ISO Noise:固定泊松光子噪声,随强度增加高斯电子噪声;
  • Color Quantization:减少 RGB 图像位深。

这组损坏不依赖 3D,作用是补充以往 2DCC 没有覆盖的现实传感器退化。

强度校准与初始数据集#

直接使用各生成器的参数,会导致不同损坏的 severity 不可比。作者因此使用 SSIM 校准五档强度:

  • 对在 2DCC 中有对应项的损坏,令每一档强度下 3DCC 与 2DCC 的平均 SSIM 相同;
  • 对没有直接对应项的损坏,调节参数,使其处于相近的 SSIM 范围;
  • 对视角和语义损坏,不离散成五档,而是连续改变相机参数、遮挡率或尺度。

初始数据集对 16,000 张 Taskonomy 测试图像施加 14 种损坏和五档强度,共约 16k×14×5≈10016\mathrm{k}\times14\times5\approx100 万张图像;另在 Replica 上渲染约 32,000 张连续视角与语义变化图像。

3D 数据增强#

训练时把几何一致的损坏图像作为输入,监督标签保持不变,使同一标签对应多种真实感输入变化,从而学习损坏不变性。论文主要概括为景深、相机运动和光照增强;发布代码中的训练调度进一步包含 3D 雾、闪光、随机景深、深度相关运动模糊和缩放模糊。

实现上要区分评测生成器与训练增强器:离线运动损坏采用点云渲染和去遮挡修复,训练时则为了速度使用深度分层和不同大小的模糊核进行近似。因此,增强不是逐行复现完整评测管线,而是生成同类、低成本的几何相关变化。

代码导航#

实验#

评测协议#

  • 主要任务:表面法线预测和深度估计,指标为预测与真值之间的 ℓ1\ell_1 误差。
  • 模型:在 Taskonomy 上训练的 UNet/DPT,以及在更大且更多样的 Omnidata 上训练的 DPT。
  • Taskonomy 模型:学习率 5×10−45\times10^{-4}、权重衰减 2×10−62\times10^{-6},使用 AMSGrad 优化带拉普拉斯先验的似然损失。
  • Omnidata DPT:学习率 1×10−51\times10^{-5}、权重衰减 2×10−62\times10^{-6},采用角度损失与 ℓ1\ell_1 损失。
  • 对比鲁棒性机制:DeepAugment、风格增强、对抗训练、Cross-Domain Ensembles 和 2DCC 数据增强。

主要结果#

  • 挑战性(图 6):现有鲁棒性机制虽然优于基线,但在 3DCC 上仍远弱于模型在清晰数据上的表现;2DCC 增强只能部分迁移到 3D 损坏。
  • 数据与架构(图 7):Taskonomy-UNet 与 Taskonomy-DPT 表现接近;采用更大、更多样 Omnidata 的 DPT 更鲁棒,尤其是在视角变化上。非视角类损坏的平均误差从 0.069 降至 0.061。不过该比较同时改变了架构和数据,不能把提升完全归因于 DPT。
  • 非冗余性(图 8):2DCC–2DCC、3DCC–3DCC 和 2DCC–3DCC 的平均误差相关性分别为 0.32、0.28、0.30。较低相关性说明 3DCC 提供了不同于传统 2DCC 的失效模式。
  • 与高质量合成的一致性(图 9–10):在 Hypersim 的 200 张图像上,3DCC 与 Adobe After Effects 生成的近/远景深造成的模型误差总体相关性约为 0.80,明显高于普通 2D 散焦和随机噪声对照。这里验证的是失效趋势相关,而不是证明两组图像完全相同。
  • 预测深度的有效性(图 11):在 Replica 上分别使用真实深度和 MiDaS 预测深度生成 1,280 张损坏图像,总体误差相关性约为 0.79;Near Focus、Far Focus、Fog 3D 分别为 0.90、0.69、0.78。
  • 语义遮挡(图 13):遮挡率增大时,Taskonomy 和 Omnidata 分割模型的 IoU 都会下降;Omnidata 模型通常更鲁棒,而且下降趋势与物体类别相关。
  • ImageNet-3DCC(图 14):鲁棒 ImageNet 模型仍显著退化;其总体趋势与 ImageNet-2DCC 有关,但 ANT、AugMix、DeepAugment 等方法的相对表现存在差异,说明 3DCC 能暴露额外问题。

3D 增强效果(表 1)#

基准O+DPTO+DPT+2DCCOurs:再加入 3D 增强
2DCC ℓ1\ell_1 误差(×100)6.435.785.32
3DCC ℓ1\ell_1 误差(×100)6.135.945.42
AE ℓ1\ell_1 误差(×100)7.846.504.94
OASIS 角度误差24.4223.6724.65

3D 增强显著改善 3DCC 和 AE 等损坏数据,AE 上收益最大;但 OASIS 清晰数据上的角度误差从 23.67 变为 24.65,并非严格提升。论文将 OASIS 的波动部分归因于真值稀疏、评估方差较大。

组件分析#

主论文没有像典型网络论文那样系统消融深度分层数量、图像修复算法或每一种增强的独立贡献,主要通过下列对照论证设计:

  • 3DCC 与 2DCC 的相关矩阵:说明新增损坏不是对 2DCC 的简单重复;
  • 3DCC 与 AE、预测深度与真实深度:分别验证损坏的合理性和可扩展性;
  • O+DPT、O+DPT+2DCC、O+DPT+2DCC+3D:验证 2D 与 3D 增强的增量作用;
  • Ours 与 Ours+X-TC:X-TC 将 2DCC/3DCC/OASIS 指标略微改善,但 AE 从 4.94 变差到 5.47,收益并不一致。

局限与未来工作#

  • 3DCC 的真实感上限取决于深度、mesh、相机参数和语义标注质量;错误深度会产生错误的模糊、雾和运动效果。
  • 20 种损坏只是起始集合,并不覆盖所有现实世界分布偏移或特定领域损坏。
  • 预测深度能扩展景深和雾等损坏,但遮挡、尺度、精确视角和复杂光照仍依赖完整 3D mesh。
  • 真实性验证主要集中于 AE 景深,没有针对全部 20 种损坏进行大规模真实相机验证。
  • 基准没有平衡不同损坏类别的数量,直接平均时可能使包含更多操作的类别权重更高。
  • 实验主要集中于深度和表面法线等稠密回归任务,对分类、检测和语义任务的覆盖有限。
  • 离线高保真评测损坏与在线低成本训练增强并不完全一致,二者之间仍存在近似误差。

评述与要点提炼#

  • 数据层面的贡献:论文的核心不是新网络,而是把鲁棒性测试从统一二维滤镜推进到几何感知的真实成像变化。
  • 现实性与可扩展性的折中:真实 RGB 保留原始外观,深度或 mesh 负责控制损坏的空间分布,避免完全依赖模拟器;预测深度进一步降低应用门槛。
  • 评测闭环较完整:论文依次论证挑战性、相对 2DCC 的非冗余性、与 AE 的一致性、预测深度的可用性以及训练增强的收益。
  • 结论需要克制:AE 只是现实损坏的代理,而且主要验证景深;0.80 的相关性说明两种方法倾向于暴露相似失效样例,不等于 3DCC 已完全复现真实世界。
  • 对后续工作的启示:构建鲁棒性基准时,应把深度、可见性、光照、相机运动和语义关系视为损坏生成条件,而不是只在 RGB 平面设计滤镜。
文章目录