扫描补全整理

扫描补全模型是指从部分观察中推断完整环境的研究。主要分成如下几部分。

1.补全局部图像缺失

纹理集成方法可以用于缝补图像局部的缺失(洞)和图像推理。例如 Barnes【5】等人通过拷贝类似模块的结构来填补空洞。Pathak【6】等人训练一个自动编码器网络。这些方法可以对图像的空洞进行很好的修复。但是不能预测视野之外的场景内容。

注:

a.PatchMatch网络【5】

通过随机采样的方法,找到近似最邻近匹配,利用图片中其他区域补全缺失部分。

扫描补全整理_第1张图片

                                                                图 1 算法流程

整个算法分成初始化、迭代、重构三个部分。Patch指3*3或5*5的小区域。(a)图是初始化过程,将A图中的每一个像素随机赋予一个偏移量offset,在B图中找到相应像素与之对应,建立了一个映射图offsetMap。整个迭代过程分为“传播“和”随机搜索“两步。(b)是”传播“过程,每个像素搜索相邻块的偏移是否为更合适的匹配,如果是采用邻域最匹配的offsetMap。(c)是随机搜索过程,每一个像素点以现在的偏移量为中心设置搜索窗口,即搜索半径。在搜索窗口中随机取偏移量,比较相似程度,选取更加匹配的偏移量,代替当前偏移量。搜索的半径开始为图片的尺寸,每次搜索后以1/2的收敛速度减少半径,直到半径为1时结束。第三部分是重构,通过得到了offsetmap之后可以直接通过这个位移关系将新的图片通过“贴图”的方式将其生成。在纹理合成中一般会使用图像金字塔在不同的尺度进行合成,利用不同尺度的信息使融合效果更好。

 

b. Context Encoders: Feature Learning by Inpainting【6】

这篇文章的核心思想是利用卷积神经网络来学习图像中的复杂特征,增加鲁棒性,利用特征完成图像缺失部分的补全。文章提出的网络结构包括3个部分:编码器Encoder、channel-wise fully-connected layer和解码器Decoder。

扫描补全整理_第2张图片

                                                                              图 2  算法流程图

Encoder的结构引用了AlexNet网络前5层的卷积层结构。

Channel-wise fully-connected layer本质上是全连接层,进行了少许改进,用于传递特征图之间的信息。与全连接层不同的是,它没有连接不同要素图的参数,只在特征图组中传播信息,即输入层为n*n大小的m个特征图,输出仍为n*n的m个特征图,参数数量是4*n*m。然后使用步幅为1的卷积来跨通道传播信息。

Decoder的目的是将压缩的特征图一步步放大,恢复到原始图片的尺寸。文章提出采用5个上采样层,每层后接一个RELU激活层。上采样的结构如下。

作者结合Reconstruction Loss和Adversarial Loss两个损失进行训练。

Reconstruction Loss直接计算生成部分和原始图像的像素级误差,促使解码器产生预测对象的粗略轮廓,无法获得高频细节,降低了平均像素误差,但是导致平均图像模糊。

Adversarial Loss对抗性损失基于生成性对抗网络GAN。这里只固定Generator,试图通过极大化Loss来训练更强的Discriminator,提高补全部分的真实性。

 

2拼接来自网络的图像

有一些研究通过拷贝网络上类似图像来填补图像缺失。【7】提出通过拼接来自同一场景的拍摄的图像集合来产生“未被拍摄图像”。Hays【8】通过从类似图片中拷贝内容来填补图像的缺失。

 

3预测遮挡区域的3D 结构

最近很多研究解决了单个物体或场景的形状补全问题。在视野的遮挡范围内补全对象的形状。

a. Semantic Scene Completion from a Single Depth Image【9】

论文解决了从单张深度图进行场景语义补全的问题。

创新点:

1.之前很多工作将场景补全和语义标注视为两个任务,分别完成。这篇文章利用两个任务的耦合特性联合完成,场景补全有助于识别它的语义类,而知道对象的语义类别有助于补全被遮挡的区域。

2.网络使用3D-dilated层,有效的扩展感受野,实现三维上语义的学习。

3.建立了SUNCG数据集。

4.改进TSDF编码函数。

这篇文章引入语义场景补全网络(SSCNet),是一个端对端的三维卷积网络,将单个深度图作为输入,同时输出所有体素的占用和语义标签。网络目标是将体素映射到类标签C={c0,c1,…,cN+1}  ,N是对象类的数目,c0表示空体素。文章中将单个深度图作为输入并将其编码为3D体结构。然后将3D结构输入到3D卷积网络中,网络提取并集合局部几何和语义信息,生成体素分布和类别的概率。主要包括数据编码、网络架构、训练数据生成几部分。

采取截断的符号距离函数(TSDF)对3D空间进行编码,其中每个体素的值是其到最近表面的距离d,值得符号表示体素是否为被遮挡空间。对TSDF作了两方面的改进:一个是消除视角依赖,原来是在摄像机的视角中寻找最近的表面点,而这篇文章选择计算到完整观察表面上最近的表面点。另一方面,消除empty space边缘的强烈梯度。

网络SSCNet结构图如下:

扫描补全整理_第3张图片

                                                                      图 3  SSCNet网络

网络首先采用多个3D卷积层学习局部集几何表示,生成分辨率为输入1/4的 特征图。然后使用空洞卷积(3D-dilated)获取更高级别对象之间的语义信息。之后,将空洞卷积的每一层输出concat在一起,并送到另外两个卷积层来解决多个尺度问题,其中采用了跳跃连接(skip connection)使梯度更好传播与训练。最后采用softmax层来预测体素标签。几个重要的点:1.将2D-dilated层改为3D-dilated层来增大感受野,获取上下文信息。2.添加concat层聚集不同尺度上的信息。

 

4预测超出可见场景的语义概念

有一些研究通过输入图,预测超出可见场景的部分,进行场景补全。

 

a. Im2Pano3D网络【10】

Im2Pano3D 网络对于给定一个场景的部分观察,能够生成完整的场景结构和语义标签。

扫描补全整理_第4张图片

                                                                               图 4 预测结果图

 

创新点:

1. 利用从大型合成和现实室内场景中学习到的背景先验知识。为了使用语义先验,通过编码3d结构和语义的通道,在单个全景图像中表示3D场景。为了利用室内的几何先验,这篇文章用3D 的平面方程来表示每个像素的3D结构,而不是每个像素的原始深度值。

2. 为了简化3D结构,利用平面方程对3D表面进行参数化,训练模型直接预测这些参数。可以这样做的依据:室内环境通常由平面构成。由于同一平面的所有像素具有相同的平面方程,因此3D结构在典型的场景中是分段常数,使得平面方程的估计更稳健。

3.使用多个损失函数来解决像素级别(像素重建损失)和全局背景一致损失(对抗性损失和场景属性丢失损失)。

通过将输入图像和输出预测都表示为多通道全景图像,将语义结构视图外推问题表示为图像修复问题。网络的目的是预测输入全景图中所有缺失区域的3D结构和语义信息。对于语义预测,这篇文章其建模为语义类别的概率分布,而不是将其表示为离散类别。选择相机的中心,选择类似 sky-box的方式,将网络渲染到四个透视图像平面上。这篇文章用平面方程来表示3D表面。每个像素的3D位置可以通过与相机光线的交叉从其平面方程中求解。网络架构遵循编码器-解码器的结构,其中编码器从具有缺失区域的输入中产生潜在向量,解码器使用潜在向量生成一个弥补缺失区域的输出全景。

扫描补全整理_第5张图片

                                                                      图 5 网络架构

1.使用多流网络架构:

全景数据输入包含多个通道(RGB值,法线平面,深度信息,语义的概率分布),构建多流网络以在合并到中间层前后,用不相交的流处理每个通道。多流结构为网络提供了学习每个流中特定信道的参数和通过共享层联合信息的平衡。

2.利用PL层重建3D网络:

在网络中重新设计一个额外的层PN层,将法线和平面距离作为输入,使用平面公式来生成每个像素点位置的密度图(基于预测的n和p,以及像素位置)。由于该层是完全可微分的,所以可以在预测的3D点位置上添加额外的回归损失,添加表面法线和平面预测距离之间的一致性。

你可能感兴趣的:(总结篇)