点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

1利用其他线索

前面几节讨论了直接从二维观测重建三维对象的方法。本节展示了如何使用附加提示,如中间表示和时间相关性来促进三维重建。

1.1中间表示

许多基于深度学习的三维重建算法直接从RGB图像中预测物体的三维几何。然而,一些技术将问题分解为序列步骤,序列步骤估计2.5D信息,例如深度图、法线图或分割掩码,见下图。最后一步,可以使用传统的技术实现,如空间雕刻或三维反投影,然后过滤和配准,恢复完整的三维几何和姿势的输入。

早期的方法将不同的模块分开训练,最近的工作提出了端到端的解决方案。例如,Sun[1] 用了两个块。第一个块是一个编码器,然后是一个三分支解码器,它估计深度图、法线图和分割掩码(称为2.5D草图)。然后将它们串联并馈送到另一个编码器解码器中,该解码器回归完整的3D体积网格和一组完全连接的层,后者回归相机姿势,整个网络都是端到端训练的。

其他技术将中间深度图转换为3D占用网格或截断有符号距离函数,然后使用3D编码器-解码器网络进行处理以完成和细化,或部分点云,然后使用点云对模块进行进一步处理。

多阶段方法的主要优点是深度、法线和轮廓图更容易从二维图像中恢复。同样,从这三种模式中恢复三维模型比从单独的二维图像中恢复要容易得多。

1.2利用时空相关性

在许多情况下,同一对象的多个空间分布图像在一段较长的时间内被获取。基于单个图像的重建技术可以通过独立处理各个帧来重建三维形状,然后使用配准技术合并重建。理想情况下,我们希望利用帧之间存在的时空相关性来解决歧义,特别是在存在遮挡和高度混乱的场景时。

特别地,时间t时的网络应该记住时间t-1之前重建的内容,并且除了新的输入之外,还应该使用它来重建时间t时的场景或对象。通过使用递归神经网络(RNN)和长-短期记忆(LSTM)网络来解决处理顺序数据的问题,使网络能够在一段时间内记住它们的输入。

Choy[2]提出了一种称为3D递归重建网络(3D-R2N2)的体系结构,该结构允许网络在不同视点的(潜在冲突的)信息可用时自适应且一致地学习对象的合适3D表示。网络可以在每次新视图可用时执行增量优化。

它由两部分组成:一个标准卷积编码器解码器和一组放置在卷积解码器开始处的3D卷积长短期存储器(3D-LSTM)。它们获取编码器的输出,然后选择性地更新它们的单元状态,或者通过关闭输入门来保留状态。然后,解码器解码LSTM单元的隐藏状态,并以体素占用图的形式生成概率重建。

2训练

除了它们的体系结构外,深度学习网络的性能还取决于它们的训练方式。本节讨论了文献中使用的各种监督方式和训练过程。

2.1监督程度

早期的方法依赖于三维监督。然而,无论是人工获取还是利用传统的三维重建技术,获取真实三维数据都是极其困难和昂贵的。因此,最近的技术试图通过利用其他监督信号(如视图之间的一致性)来最小化3D监视的数量。

2.1.1三维监督训练

有监督的方法需要使用与其对应的真实3D形状配对的图像进行训练。然后,训练过程最小化一个损失函数,该函数测量重建的三维形状与相应的真实三维模型之间的差异。这种差异是用损失函数来测量的,损失函数必须是可微的,这样才能计算出梯度。此类损失包括:

(1)体积损失:定义为重建体与真实体之间的距离;

这里,d(·,·)可以是两个体积之间的L2距离或并集上的负交集(IoU)。这两种度量都适用于二进制占用网格和TSDF表示。对于概率占用网格,交叉熵损失是最常用的:

这里,p i是被占用的体素i的真实概率,p~i是估计的概率,N是体素的个数。

(2)点集损失:当使用基于点的表示时,可以使 Earth Mover’s Distance(EMD)或倒角距离(CD)来测量重建损失。EMD被定义为一个集合中的一个点和另一个集合中的一个点之间的距离之和在所有可能的对应排列上的最小值。更准确地说,给定Sgt和Srec两组点,EMD定义为:

这里,φ(p)∈Srec是Srec上最接近p∈Sgt的点。另一方面,CD损失被定义为:

Ngt和Nrec分贝时Sgt和Srec的大小,由于CD使用次优匹配来确定成对关系,因此它比EMD在计算上更容易。

(3)学习产生多种似乎合理的重建。从单个图像进行三维重建是一个不适定问题,因此对于给定的输入,可能存在多个合理的重建。Fan[3]提出了Min-of-N(MoN)最小损失来训练神经网络产生分布输出。其思想是使用从某个分布中提取的随机向量r来扰动输入。网络学习从输入的每一个扰动生成一个合理的三维形状。它是使用定义如下的损失来训练的;

这里,f(I,r)是用从多元正态分布N(0,I)抽样的随机向量r扰动输入后重建的三维点云,Sgt是真实点云,d(·,·)是重建损失,可以是上面定义的任何损失函数。在运行时,通过从N(0,I)中采样不同的随机向量r,可以从给定的输入生成各种似乎合理的重建。

2.1.2二维监督训练

即使是在小规模的训练中,获取用于监督的三维真实数据也是一个昂贵而繁琐的过程。然而,获得用于训练的多视图2D或2.5D图像相对容易。这类方法使用这样一个事实:如果估计的三维形状尽可能接近真实情况,那么三维模型的视图与重建的三维模型投影到这些视图中的任何一个视图之间的差异也将最小化。

实现这一想法需要定义一个投影运算符,该运算符从给定的视点渲染重建的三维模型,以及一个测量重投影误差的损失函数。

2.1.2.1投影运算符:投影几何中的技术可用于渲染三维对象的视图。然而,为了在没有梯度近似的情况下实现端到端的训练,投影算子应该是可微的。Gadelha[4]引入了一个可微投影算子P,定义为

其中V是3D体素网格,这个运算符汇总沿每条视线的体素占用值。Loper和Black[5]引入了OpenDR,这是一种近似可微的渲染器,适用于正交投影和透视投影。

Petersen[6]提出了一种新的用于图像到几何重建的C光滑可微渲染器。其思想是,该方法不是对像素中可见的三角形进行离散决策,而是柔和地混合它们的可见性。取相机空间z位置的加权最小值构成一个平滑的z缓冲区,从而得到一个C∞平滑渲染器,其中三角形的z位置相对于遮挡是可微的。在以前的渲染器中,只有xy坐标相对于遮挡是局部可微的。

2.1.2.2再投影损失函数:有几个损失函数已经被提出用于使用二维监督进行三维重建。将它们分为两大类:(1)基于轮廓的损失函数;(2)基于法线和深度的损失函数。

(1)基于轮廓的损失函数。其思想是在一定的摄像机内外参数下,由重建体投影出的二维轮廓应与输入图像的真实二维轮廓相匹配。这种差异是受空间雕刻的启发而产生的:

其中S(j)是原始3D对象X的第j个2D轮廓,n是每个3D模型使用的轮廓或视图的数目,P(·)是3D到2D投影函数,α(j)是第j个轮廓的相机参数。距离度量d(·,·)可以是标准L2度量、真实轮廓和重建轮廓之间的负交集(IoU)]或二元交叉熵损失。

Kundu[7]介绍了渲染和比较损失,它是根据真实轮廓Gs和渲染轮廓Rs之间的IoU以及真实深度Gd和渲染深度Rd之间的L2距离定义的,即

这里,Is和Id是二进制掩码,在像素处的值为1,这不会造成损失。由于这种损失是不可微的,作者使用有限差分近似其梯度。

(2)表面法向量和深度损失。其他线索(如曲面法线和深度值)可用于指导训练过程。设nx,y=(na,nb,nc)为某点(x,y,z)处曲面的法向量。向量nx=(0,-nc,nb)和(-nc,0,na)与nx,y正交。通过对它们进行规范化,得到两个向量nx’=(0,-1,nb/nc)和ny’=(-1,0,na/nc)。法向损失试图保证(x,y,z)±nx’和(x,y,z)±ny’处的体素应为1,以匹配估计的曲面法向。此约束仅适用于目标体素位于估计轮廓内的情况。预计表面法向损失为:

除上诉损失外,还包括预计深度损失。其思想是深度为vx,y,dx,y的体素应该是1,前面的所有体素应该是0。深度损失定义为:

这将确保估计的三维形状与估计的深度值匹配。

(3)合并多重损失。也可以将二维和三维损失结合起来。当一些真实三维数据可用时,这尤其有用。例如,可以先使用3D监督训练网络,然后使用2D监督对其进行微调,也可以取二维和三维损失的加权和。

2.1.2.3相机参数和视点估计:基于重投影的损失函数使用相机参数将估计的三维形状渲染到图像平面上,一些方法假设一对或多对观测相机可用。这里,可以是RGB图像、轮廓或目标3D形状的深度图。其他方法同时对摄像机参数和最能描述输入的三维重建进行优化。

Gadelha[4]使用完全连接的层将输入图像编码为隐表示和pose code。然后将pose code用作2D投影模块的输入,该模块将估计的3D体积渲染到输入的视图上。有些方法只估计了相机的姿态,与同时进行重建的技术不同,这些方法只使用姿态注释进行训练。例如,Kendall[8]介绍了PoseNet,它是一种卷积神经网络,可以从单个图像估计摄像机的姿态。该网络利用其位置矢量和方向四元数来表示摄像机的姿态,通过训练使真实数据和估计姿态之间的L2损失最小。

【1】X. Z. Xingyuan Sun, Jiajun Wu and Z.Zhang, “Pix3D: Dataset and Methods for Single-Image 3D Shape Modeling,” in IEEECVPR, 2018.

【2】 C. B.Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese, “3DR2N2: A unified approach forsingle and multi-view 3D object reconstruction,” in ECCV, 2016, pp. 628–644.

【3】H. Fan, H.Su, and L. Guibas, “A point set generation network for 3D object reconstructionfrom a single image,” in IEEE CVPR, vol. 38, 2017.

【4】M.Gadelha, S. Maji, and R. Wang, “3D shape induction from 2D views of multipleobjects,” in 3D Vision, 2017, pp. 402–411.

【5】M. M.Loper and M. J. Black, “Opendr: An approximate differentiable renderer,” inECCV, 2014, pp. 154–169.

【6】F.Petersen, A. H. Bermano, O. Deussen, and D. Cohen-Or, “Pix2Vex:Image-to-Geometry Reconstruction using a Smooth Differentiable Renderer,”arXiv:1903.11149, 2019.

【7】A. Kundu,Y. Li, and J. M. Rehg, “3D-RCNN: Instance-Level 3D Object Reconstruction viaRender-and-Compare,” in IEEE CVPR, 2018, pp. 3559–3568.

【8】A.Kendall, M. Grimes, and R. Cipolla, “PoseNet: A convolutional network forreal-time 6-DOF camera relocalization,” in IEEE ICCV, 2015, pp. 2938–2946.

本文仅做学术分享,如有侵权,请联系删文。

推荐阅读:

  • 专辑|相机标定

  • 专辑|3D点云

  • 专辑|SLAM

  • 专辑|深度学习与自动驾驶

  • 专辑|结构光

  • 专辑|事件相机

  • 专辑|OpenCV学习

  • 专辑|学习资源汇总

  • 专辑|招聘与项目对接

  • 专辑|读书笔记

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之训练相关推荐

  1. 基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之三维曲面解码...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1.三维曲面解码 基于体积表示的方法在计算上非常浪费,因为信息只在三维形状的表面或其附近丰富.直接处理 ...

  2. 基于图像的三维物体重建:在深度学习时代的最新技术和趋势综述之性能比较和未来研究方向...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1性能比较 本节讨论一些关键方法的性能,下面将介绍各种性能标准和度量,并讨论和比较一些关键方法的性能. ...

  3. 基于图像的三维物体重建:在深度学习时代的最新技术和趋势之人脸重建和场景分析...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1.三维人脸重建 基于精细密集图像的人脸三维重建是计算机视觉和计算机图形学中一个长期存在的问题,其目标 ...

  4. 深度学习时代的目标检测算法综述

    目标检测VS其他计算机视觉问题 分类问题 这或许是计算机视觉领域内最著名的问题.它主要指将一张图像归为某种类别.学术界最流行的一类数据集是ImageNet,由数以百万计已分好类的图像组成,(部分)用于 ...

  5. 基于图像的三维模型重建——基础介绍

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者梦寐mayshine授权转载,不得擅自二次转载.原文链接:https://zhuanla ...

  6. 基于深度学习的场景分割算法研究综述

    基于深度学习的场景分割算法研究综述 人工智能技术与咨询 来自<计算机研究与发展> ,作者张 蕊等 摘 要 场景分割的目标是判断场景图像中每个像素的类别.场景分割是计算机视觉领域重要的基本问 ...

  7. 图像超分中的深度学习网络

    图像超分中的深度学习网络 质量评估 操作通道 有监督算法 预上采样 后采样超分 逐步上采样 迭代上下采样 上采样的学习方式 残差块 递归学习 多路径学习 密集连接 通道注意力机制 其他卷积 像素递归网 ...

  8. Deep Learning Hierarchical Representations for Image Steganalysis【Ye-Net:图像隐写分析的深度学习层次表示】

    Deep Learning Hierarchical Representations for Image Steganalysis [Ye-Net:图像隐写分析的深度学习层次表示] Abstract ...

  9. SSRNet:用于大规模点云表面重建的深度学习网络(CVPR2020)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理人:袁赣张秦,付前程,张琛,廖新耀 论文: [1] Zhengxin Mi#, Yiming Lu ...

最新文章

  1. bootstrap跟vue冲突吗_知道微服务,但你知道微前端吗?
  2. C语言:一个涉及指针函数返回值与printf乱码、内存堆栈的经典案例
  3. javaweb过滤器_JavaWeb技术(2):SpringMVC中的Filter
  4. Python挑战题目,你会了吗?
  5. 使用支持向量机训练mnist数据
  6. udp本地通信需要注意哪些方面_验房注意什么?验房都需要检查哪些方面?
  7. python修改文件后缀_python实现遍历文件夹修改文件后缀
  8. 自动化测试特定区域滑动_自动化用户特定实体的访问控制
  9. Maven+Tomcat的热部署方案
  10. 【LeetCode笔记】11.盛最多水的容器(Java、双指针法)
  11. 机器学习中的相似性度量(转载)
  12. 2019年全网首发-vSphere 7之VCSA 7.0 RC部署指南(转载)
  13. 网站性能优化小结和spring整合redis
  14. 2篇word文档比较重复率_【软件】PDF转word黑科技 快来get!
  15. vcenter客户端控制虚拟服务器报错:“VMRC 控制台的连接已断开”
  16. 闲谈:渗透测试-红队版
  17. 线性代数笔记5——平面方程与矩阵
  18. 技术人员日本游学之精益管理
  19. 爬虫第六式:链家房源爬取
  20. UI设计中图标设计的有几大原则

热门文章

  1. sql server 日期
  2. ActiveMQ常见问题
  3. 字节一实习生误删公司所有lite模型,几百人为其善后,有员工处理事故到凌晨三点!...
  4. 阿里飞猪个性化搜索排序探索实践
  5. 华为选拔人才的五个素质
  6. OKR的火爆,正是基于这些价值
  7. Python做web前后端交互
  8. 软件开发环境-环境信息库
  9. 数据库期末复习重点,临时抱佛脚高分通过考试
  10. 郁闷。用户的无聊话题