目标形体形状轮廓重建:ICCV2019论文解析
目标形体形状轮廓重建:ICCV2019论文解析
Shape Reconstruction using Differentiable Projections and Deep Priors
论文链接:
摘要
研究了在存在视点不确定性的情况下,由含噪和不完全投影重建形状的问题。将该问题转化为对由投影算子和先验算子获得的给定形状测量值的优化。本文提出了一些重建问题的可微投影算子,当与深度图像先验或形状先验相结合时,可以通过梯度下降进行有效的推断。本文将本文的方法应用于各种重建问题,例如少数样本的层析重建,包含视图不确定性的可视船体重建,以及噪声深度图的三维形状重建。实验结果表明,本文的方法对此类形状重建问题是有效的,无需任何特定任务的训练。
1. Introduction
考虑从轮廓重建三维形状的问题。经典的视觉外壳算法与每个视点的可见体积相交,易于实现,但对视点估计误差和轮廓噪声敏感。针对这个问题的贝叶斯方法是在形状和视点估计上添加适当的先验并进行后验推理。这一挑战有两个原因。首先,由于没有紧凑的形状基础来搜索一般形状,因此三维形状的搜索空间很大。其次,对于高维数据,贝叶斯推理通常代价高昂。为此,本文提出了可微投影算子T和深形状先验,它们可以通过随机梯度下降及其变体进行贝叶斯推断[23]。
虽然存在许多先验,但令人感兴趣的是Ulyanov等人的“深形状先验”。[21]表明自然图像x的空间可以表示为参数族fθ(η),其中f是卷积网络,θ是其参数,η是固定输入。他们的工作表明,对自然图像的搜索可以被对网络θ的参数的搜索所代替,这是有效的通过梯度下降完成。本文的工作使这个想法更进一步。首先,本文赋予深度图像先验以3D卷积,从而得到深度形状先验。其次,在给定投影参数φ(如视点)的情况下,引入可微投影算子T,对投影测量(如轮廓)进行建模。因此,在给定噪声投影测量y的情况下,对形状x的推断可简化为对网络参数θ和投影参数φ的以下优化:
本文证明,对于许多形状构造问题,如断层重建、轮廓形状或深度图,可以使用现有的神经网络构建块来构造投影算子,这些神经网络构建块对于输入参数和投影参数都是可微的。因此,使用“反向传播”机制可以最小化目标,这通常比使用马尔可夫链蒙特卡罗(MCMC)技术的贝叶斯推理快得多。 除了选择网络架构和投影运营商外,该方法不需要任何特定任务的培训。尽管如此,它在低采样状态下的层析重建中产生了令人信服的结果,在低采样状态下,它优于基于迭代BM3D的最新方法[13]。本文的工作还表明,将深度图像推广到三维体之前,对三维形状的建模是有效的。在诸如可视船体重建或深度图重建等问题中,即使在视图估计中存在不确定性,或深度图被噪声污染时,本文也可以仅从少数视图准确估计物体的三维形状。重建结果明显优于手工制作的前驱。这些任务如图3-9所示。
2. Related work
在本节中,本文简要总结了用于解决形状图像和体积重建的反问题的技术:
数据项E和投影算子T是应用程序专用的,但在对前一项P建模时有相当大的灵活性。这些包括平滑度优先项,如总变差(TV)[17]和L0梯度[25]、面片上的高斯混合模型[29]、去噪自动编码器[22]。深度图像先验[21]将图像表示为具有来自固定(随机)输入的随机参数的输出卷积网络。结果表明,由多个卷积层和合流层组成的网络输出,再由多个反卷积层组成,这些层之间的跳跃连接很少或没有跳跃连接,都会产生自然图像。最*,对深度图像先验的一个扩展表明,它与高斯过程是渐*等价的[5]。这就提出了一种贝叶斯方法来解决这个问题:通过Langevin dynamics进行后验推理避免了提前停止的需要,并提高了去噪和修复任务的结果。深度图像先验也与过程先验有关,例如双边滤波[20]、非局部均值[3]或块匹配3D(BM3D)[7]。这些模型利用图像中斑块的非局部自相似性对其进行整体去噪。对于包含噪声和不完全测量y的复杂投影算子T,应用过程先验是非常重要的。假设y和z表示被噪声污染的观测和未观测投影测量:(y,z)=T(x)+δ。例如,y可以表示傅里叶变换中的频率子集,或压缩传感应用中的数据投影。Maggioni等人 [13] 提出了以下迭代方案:
优化将重构与先验解耦合。第一个涉及图像先验和平方损失项的推断。第二个目标是z的二次型,可以用共轭梯度下降法求解。解耦允许使用显式或隐式先验,以及学*的*端投影算子[4,26]proj(z-u,ρ),该算子将向量z-u映射到距离自然图像流形ρ一段距离内的x,类似于去噪自动编码器,以解决反问题。最后,一类方法直接学*逆映射G:Y→X,使用丰富的参数模型,如完全有监督的神经网络。这些模型在训练过程中分散了推理,并在噪声测量的情况下实现了有效的推理。这些模型已经成功地应用于各种反问题,如超分辨率[8]、去噪[24]、着色[12,28]以及从图像中估计深度和法线[9]。然而,缺点是模型的结构和参数可能是专门针对噪声和投影操作员的,这需要为每个任务分别进行培训。与这项工作密切相关的是,最*的一些方法利用对深度特征的几何变换来生成三维物体的新视图[14,19]。与本文的方法相反,这些技术并没有明确定义投影算子——它们是由一个深层神经网络参数化的。因此,推断的表示并不直接对应于三维形状,而是对应于由模型学*的更高级别的表示。
3. Method
本文的贝叶斯推理方法是使用随机梯度下降(SGD)优化方程1中的目标。这对应于最大似然估计(MLE),或最大后验估计(MAP),前提是参数θ上的先验被相加。虽然存在基于SGD的后验抽样的更复杂的方案[5, 23 ],但是本文认为SGD对于本文考虑的问题席工作相当好。用SGD求解重建问题需要构造形状上的可微投影算子和可微先验。本文将深度图像先验用于基于图像的重建任务,而将三维卷积版本用于形状重建任务。在早期的工作中,深度图像先验被用来解决线性测量的重建问题[21]。例如,在去噪中,投影运算符是标识变换,而在修复中,投影运算符是指示哪些像素存在或不存在的掩码。在这一节中,本文提出了三种可微投影算子,它们可以与深度神经网络相结合,从局部和噪声观测中重建形状。
3.1. Radon Projection (TR)
其中S是图像的大小。注意,Radon变换R的结果也是一个图像(称为sinogram,由φ和R参数化),如图3所示。最后,本文的算子TR接收大小为S×S的图像I,表示投影角度的一组值φ,并输出大小为S×|φ|的图像。该过程是可微的,并且可以实现为多个旋转图像的一维和。
3.2. Silhouette Projection (TS)
基于轮廓的形状重建包括以下问题:给定一组来自不同视图的同一物体的轮廓图像,估计物体的三维形状。
3.3. Depth Image Projection (TD)
现在本文得到了每个体素的可见性值,投影图像中像素的深度值就是a沿视线的线积分:
。这将沿着可见的整个视线累积体素的数量,因此它给出深度值。有关图示,请参阅图2。当把这个算子和神经网络一起使用时,本文发现如果本文应用指数衰减,它会更好地工作。因此,本文可以定义深度投影运算符TD如下:
这会平滑地将深度值映射到[0,1]之间的范围。具体来说,它将深度值映射为0到0,并将单位映射为1,同时仍然保持可微运算符。
4. Experiments
网络架构。
在体积重建实验(即分别从轮廓图像和深度图像重建3D形状)中,网络结构是完全卷积的UNet[16],其中编码器具有5层8、16、32、64和128个滤波器。解码器是编码器的镜像版本,跳过连接仅应用于两个最内层。通过双线性/三线性插值和卷积完成上采样。所有卷积都有滤波器大小3,然后是批量标准化和ReLU激活函数。网络的输入是一个与输出大小相同的张量,其值从N(0,1)采样。
4.1. Tomography Reconstruction
层析成像的标准解是滤波反投影(FBP):它使用傅立叶切片定理反转Radon变换。当角度采样率较低时,使用FBP进行的重建会产生严重的混叠伪影,如图3第三列所示。电视先验极大地改善了所有三幅图像的重建效果。第2节中描述的迭代BM3D方法[13]运行了100次迭代。本文注意到PSNR值在100次迭代后收敛,在前20次迭代中PSNR的增益最大。请注意,在FBP重建上运行BM3D对应于此方法的一次迭代。对于深度先验,本文通过运行2000个梯度步长来获得结果。与迭代BM3D相比,deep prior生成的重建具有显著更好的SSIM值和可比较或更好的PSNR值(图3中的最后两列)。BM3D的相对较差的性能可能是因为与图像去噪应用中观察到的噪声相比,CT重建中的混叠噪声往往更结构化,不像自然图像噪声。迭代BM3D算法需要多次迭代才能消除radon逆变换产生的伪影,但这会导致底层结构的平滑,从而降低SSIM分数。
4.2. Shape-from-Silhouette 3D Reconstruction
结果如图4所示。即使只有少量的轮廓图像,本文的方法也能重建出合理的三维形状。选择本例的视点通过沿水平轴均匀旋转对象(例如,在4个视图中,每个视图相距90度;在8个视图中,每个视图相距45度,依此类推)。这个问题的一个基线方法是空间雕刻,它将所有投影视图的交集生成占用网格。本文在图5中显示了与空间雕刻的定性比较。空间雕刻为大多数形状提供了合理的重建,但有些对象包含诸如折痕甚至丢失的部分等人工制品。另一方面,深的形状往往会产生过于平滑的形状,这有时意味着移除对象的某些部分(图5中的椅子)或添加应该存在尖锐边界的内容(图5中的灯)。
View uncertainties
本文将本文的方法与空间雕刻基线进行了比较,并在表1中报告了估计占用网格在并集上的交集。该方法在不扰动视点的情况下仍优于一般的空间雕刻,证明了该方法对视点扰动的鲁棒性。图7显示了重建形状的定性比较。本文的方法重建形状与高精细度,保留细节和薄结构。另一方面,正如本文在图7中所看到的,空间雕刻最终会重建缺少零件和粗糙结构的物体。
Reconstructions using captured images
本文还评估了本文的方法,使用从相机捕获的图像。结果如图6所示。拍摄对象是一个玻璃物体,本文在一个均匀的背景色下拍摄了4个等距的视图,彼此之间的水平旋转角度为45度。然后本文使用[1]移除背景并将每个图像转换为二值轮廓 形象。本文用本文的方法与标准视觉外壳(即空间雕刻)进行比较。正如可以观察到的,本文的方法导致了平滑的重建,结果对象看起来更自然。相比之下,视觉外壳结果包含伪影和围绕更改视图的尖锐过渡,这将需要大量视图来消除。
4.3. Shape-from-Depth Images 3D Reconstruction
深度图像的三维重建设置与二值图像相同,除了使用投影TD而不是TS。所有输入深度图像的范围都使用等式(8)中的指数映射缩放为[0,1]。分析了该方法在4个视点下对不同高斯噪声扰动下的深度图像进行三维形状重建的能力。结果如图8所示。此外,本文还分析了在改变视图数目的情况下重建的质量。结果如图9所示。在这些实验中,本文保持了很高的噪声水平(σ=0.1)。本文注意到,即使在处理非常嘈杂的投影时,如果给出足够的视图,本文的方法也能够重建高质量的形状。
5. Conclusions
结论将深度图像或体积先验与可微投影算子相结合,可以得到可以用随机梯度下降从一些噪声投影测量中重建。该方法是免费学*的,可以作为一个通用的先验。尽管如此,在相对简单的网络架构下,本文的方法在基于图像和体积重建任务中的性能优于一些手工制作的和过程性的prior。尽管本文给出了断层扫描和轮廓和深度图形状重建的结果,但只要渲染或测量过程是可微的,就可以使用该方法。这些问题包括从阴影估计形状和从多个阴影图像估计几何图形。一个潜在的问题是对形状使用体积表示,这会导致较高的内存要求和较长的运行时间。一个可能的研究方向是研究更紧凑的三维表示(如点云或多视图)的形状先验。将深先验知识与可微计算机图形学管道上的工作相结合,开辟了在许多应用中应用这种方法求解反问题的可能性。
目标形体形状轮廓重建:ICCV2019论文解析的更多相关文章
- 人脸真伪验证与识别:ICCV2019论文解析
人脸真伪验证与识别:ICCV2019论文解析 Face Forensics++: Learning to Detect Manipulated Facial Images 论文链接: http://o ...
- 人脸标记检测:ICCV2019论文解析
人脸标记检测:ICCV2019论文解析 Learning Robust Facial Landmark Detection via Hierarchical Structured Ensemble 论 ...
- 深度学习数据特征提取:ICCV2019论文解析
深度学习数据特征提取:ICCV2019论文解析 Goal-Driven Sequential Data Abstraction 论文链接: http://openaccess.thecvf.com/c ...
- 结构感知图像修复:ICCV2019论文解析
结构感知图像修复:ICCV2019论文解析 StructureFlow: Image Inpainting via Structure-aware Appearance Flow 论文链接: http ...
- 面部表情视频中进行远程心率测量:ICCV2019论文解析
面部表情视频中进行远程心率测量:ICCV2019论文解析 Remote Heart Rate Measurement from Highly Compressed Facial Videos: an ...
- 大型图像数据聚类匹配:ICCV2019论文解析
大型图像数据聚类匹配:ICCV2019论文解析 Jointly Aligning Millions of Images with Deep Penalised Reconstruction Conge ...
- 视频动作定位的分层自关注网络:ICCV2019论文解析
视频动作定位的分层自关注网络:ICCV2019论文解析 Hierarchical Self-Attention Network for Action Localization in Videos 论文 ...
- 摄像头定位:ICCV2019论文解析
摄像头定位:ICCV2019论文解析 SANet: Scene Agnostic Network for Camera Localization 论文链接: http://openaccess.the ...
- 细粒度语义分割:ICCV2019论文解析
细粒度语义分割:ICCV2019论文解析 Fine-Grained Segmentation Networks: Self-Supervised Segmentation for Improved L ...
随机推荐
- 深度解析Django REST Framework 批量操作
我们都知道Django rest framework这个库,默认只支持批量查看,不支持批量更新(局部或整体)和批量删除. 下面我们来讨论这个问题,看看如何实现批量更新和删除操作. DRF基本情况 我们 ...
- 看了这篇还不会Linux性能分析和优化,你来打我
前言 一般互联网的项目都是部署在linux服务器上的,如果linux服务器出了问题,那么咱们平时学习的高并发,稳定性之类的是没有任何意义的,所以对linux性能的把握就显得非常重要,当然很多同学可能觉 ...
- Java中常见的包
目录 JDK自带的包 第三方包 JDK自带的包 JAVA提供了强大的应用程序接口,既JAVA类库.他包含大量已经设计好的工具类,帮助程序员进行字符串处理.绘图.数学计算和网络应用等方面的工作.下面简单 ...
- Open VAS 漏扫工具的安装
wget -q -O - http://www.atomicorp.com/installers/atomic |sh .安装openvas [root@localhost ~]#yum -y ins ...
- Intel汇编程序设计-整数算术指令(上)
第七章 整数算术指令 7.1 简介 每种汇编语言都有进行操作数移位的指令,移位和循环移位指令在控制硬件设备.加密数据,以及实现高速的图形操作时特别有用.本章讲述如何进行移位和循环移位操作以及如何使用移 ...
- 简化mapstruct代码: mapstruct-spring-plus
mapstruct MapStruct 是一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现.MapStruct官网地址: h ...
- c#基于supersocket的简单websocket服务端收发消息实现
using log4net; using SuperSocket.SocketBase; using SuperSocket.WebSocket; using System; using System ...
- Java中NIO的简单介绍
NIO基本介绍 Java NIO(New IO) 也有人称之为Java non-blocking IO 是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API.NIO与原来的 ...
- Spring与Springboot
1.Spring能做什么 1.1.Spring的能力 1.2.Spring的生态 https://spring.io/projects/spring-boot 覆盖了: web开发 数据访问 安全控制 ...
- Java Arrays.sort()重写comparator方法
先看一下接口 Arrays.sort(T[],Comparator<? super T> c); comparator要重写compare方法 compare方法大概长这样,返回值> ...