深度补全(二)-论文阅读-翻译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/uniqueyyc/article/details/82890657

Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-Scale Convolutional Architecture(用通用的多尺度卷积体系结构预测深度、表面法线和语义标签)2015

论文主页https://cs.nyu.edu/~deigen/dnl/

概述

本文实验一个单一的多尺度卷积网络架构来处理三种不同的计算机视觉任务:深度预测、表面正太估计、语义标记。本文的网络使用一系列的尺度逐步细化预测,并且在没有任何超像素或低层次分割的情况下捕获许多图像细节。


(一)介绍

场景理解是视觉中的一个核心问题,有很多不同的方面。包括描述不同场景部分标识大的语义标签;描述物理几何的表面法线或深度估计;单个对象范围的实例标签;并提供捕捉人们与环境的可能交互的功能。其中许多元素通常用像素映射表示,像素映射包含每个像素的值或标签,例如,包含每个像素可见对象的语义标签的映射,或表面法线方向的向量坐标的映射。

在本文中,我们将使用一个通用架构来处理这三个任务:深度预估、表面法向估计和语义分段。我们的多尺度方法直接从输入图像生成像素映射,而不需要低级的超像素或等高线。并且能够使用一系列用于提高分辨率的卷积网络堆栈来对齐许多图像细节。在测试时,这三个输出都可以实时生成(~30Hz)。

(二)相关工作

ConvNets近来被应用到其他许多任务中,包括姿态估计[36,27]、立体深度[39,25]和实例分割[14]。这些系统中的大多数都使用ConvNets来查找本地特性,或者生成离散提案区域的描述符;相比之下,我们的网络使用本地和全局视图来预测各种输出类型。此外,虽然这些方法最多只能处理一到两个任务,但我们能够将我们的网络应用于三个不同的任务。

本文的方法建立在Eigen等人采用的方法上,将两个卷积网络分阶段应用于单图像深度图的预测。此文开发了一个更通用的网络,它使用一个三个尺度的序列来生成特征,并将预测细化到更高的分辨率,这适用于多个任务,包括表面法线估计和逐像素语义标记。此外,我们还在深度预测方面改进了性能,说明了我们的改进如何帮助改进所有任务。

以前的语义分割工作包括许多不同的方法,既使用rgb数据[35,4,9],也使用RGB-D[31,29,26,6,15,17,13]。其中大多数都使用局部特性来分类过度分割的区域,然后进行全局一致性优化,例如CRF。相比之下,我们的方法基本上是反向的:**我们首先进行一致的全局预测,然后进行迭代的局部细化。**这样,本地网络就能意识到自己在全球舞台上的位置,并能利用这些信息进行精确的预测。

Gupta等人[13,14]首先通过生成轮廓来创建语义分段,然后使用手工生成的特征和SVM[13]对区域进行分类,或者使用卷积网络来检测对象[14]。值得注意的是,[13]还执行非模态补全,即通过从深度比较平面来在不同区域之间传输标签。

与我们的语义分割方法最相关的是使用卷积网络的其他方法。Farabet et al.[9]和Couprie et al.[6]都使用一个卷积网络应用于多个尺度的并行生成特性,然后使用superpixels聚合预测。我们的方法在几个重要方面是不同的。首先,我们的模型在最粗的尺度上有一个大的全像视场;正如我们所演示的,这非常重要,尤其是对于深度和法线任务。此外,我们不使用超像素或后处理平滑,本文网络产生相当平滑的输出,允许我们采取简单的像素级最大值。

Pinheiro等人[28]使用一个循环卷积网络,在这个网络中,每一次迭代都逐步合并更多的上下文,通过将一个更粗采样的图像输入与前一次迭代的本地预测相结合。这个方向与我们的方法正好相反,我们的方法是先进行全局预测,然后再迭代地进行改进。此外,尽管它们在所有尺度上应用了相同的网络参数,但我们学习了不同的网络,这些网络可以专门针对它们所处的阶段进行编辑。

最近,Long et al.[24]在并发工作中对最近的VGG ImageNet模型[32]进行了语义分割,在不同层次的特征映射上应用1x1卷积标签分类器,对应不同的尺度,并对输出进行平均。相比之下,我们将网络应用到不同的尺度上,这使得他们可以从完整的图像视域开始进行更复杂的编辑和细化。因此,我们的体系结构很容易适应许多任务,而通过考虑相对较小的上下文和总结预测,他们的体系结构是专门针对语义标记的。
在这里插入图片描述
在这里插入图片描述

(三)模型架构

本文的模型是一个多尺度深度网络,它首先预测基于整个图像区域的粗略全局输出然后使用更细尺度的局部网络对其进行细化。该方案如图1所示。虽然我们的模型最初基于[8]提出的体系结构,但它提供了一些体系结构改进。
第一,我们使模型更深(更复杂的层)。
第二,我们在更高的分辨率上增加了第三个尺度,使最终的输出分辨率达到输入的一半,即NYUDepth的147×109。
第三,我们没有将输出预测从1级传递到2级,而是通过了多通道特征图;通过这样做,我们发现我们还可以从一开始就联合训练网络的前两个规模,在一定程度上简化了训练过程,并获得了性能收益。

Scale 1:Full-Image View
网络的第一个尺度预测整个图像区域的粗糙但空间变化的特征集,基于一个大的,完整的视野,我们通过使用两个完全连接层来实现这一点。最后一个完整层的输出在其空间维度上由64个特征重新塑造成1/16尺度,然后由4到1/4尺度的因子向上采样。注意,由于特征向上采样是线性的,这对应于一个大的完全连通层从1.6层分解到更大的74×55映射;由于这样的矩阵会大得让人望而却步,而且只有在输入特征更受限的情况下才能产生模糊的输出,所以我们对分辨率和上采样进行了约束。但是,请注意,1/16的大小输出仍然足够大,可以捕获相当大的空间变化,实际上是粗堆栈的1/32大小最终卷积特性的两倍。

由于顶层完全连接,输出中的每个空间位置都连接到所有的图像特征,合并了一个非常大的视场。这与[6,9]的多尺度方法形成了对比,[6,9]的多尺度方法生成的地图中,每个输出位置的视场是一个以输出像素为中心的更局部区域。这种全视图连接对于深度和法线任务特别重要,我们将在第7.1节对此进行研究。

如图1所示,我们训练了模型的两种不同大小:一种是基于imagenet训练的的AlexNet[19],另一种是使用Oxford VGG网络[32]进行初始化。我们报告了所有任务中模型之间的性能差异,以度量每个任务中模型大小的影响。

Scale 2:Predictions
第二种比例尺的工作是产生中等分辨率的预测,通过结合更详细但更窄的图像视图以及粗网络提供的全图像信息。我们通过将粗糙网络的特征映射与以更精细的步幅执行的单个卷积和池层的特征映射连接起来(见图1)来实现这一点。第二个结构的输出尺度是一个55×74的预测(对于NYUDepth)通道的多少依赖于任务。我们联合训练模型的量表1和量表2,使用SGD对第4节描述的损失进行训练。

Scale 3:Higher Resolution
我们的模型的最终尺度将预测细化到更高的分辨率。我们将Scale-2输出与从原始输入生成的特征图连接在一起,以更精细的步长合并了一个更详细的图像视图。进一步的细化将输出对齐到更高分辨率的细节,生成空间上一致但非常详细的输出。最终的输出分辨率是网络输入的一半。

(四)任务

我们将相同的体系结构结构应用到我们研究的三个任务中:深度法线语义标记。每个都使用不同的损失函数和定义任务的目标数据。

4.1. Depth

在这里插入图片描述
loss:
在这里插入图片描述

其中和大于有效像素i和n是有效像素的数量(我们掩盖了缺少基本真相的像素)。在这里,rxdi和rydi是差值的水平和垂直梯度。我们的损失与[8]相似,[8]也在第一行中使用l2和标度不变差分项。然而,我们还包括一阶匹配项(rxdi)^2+ (rydi)^2,它将预测的图像梯度与地面真相进行比较。这鼓励了预测不仅有接近的值,而且有相似的局部结构。我们发现它确实产生了更符合深度梯度的输出,并且没有降低l2的性能。

4.2 Surface Normals

为了预测表面法线,我们将输出从一个通道改为三个通道,并在每个像素上预测法线的x、y和z分量。我们还将每个像素上的向量规范化为单位L2范数,并通过这种规范化反向传播。然后,我们使用一个简单的元素损失比较在每个像素的预测法线与地面真相,使用点积
在这里插入图片描述
对于标定过的真实数据,我们使用与Silberman等人的[31]方法相同的方法计算法线贴图,该方法通过将最小二乘平面拟合到点云中的相邻点集来估计从深度的法线。

4.3. Semantic Labels

对于语义标签,我们使用一个像素级softmax分类器来预测每个像素的类标签。最终的输出有多少个通道就有多少个类。我们使用一个简单的像素级交叉熵损失
在这里插入图片描述
在这里插入图片描述
当标记NYUDepth RGB-D数据集时,我们使用ground truth depth和normals作为额外的输入通道。我们将这三种输入类型(RGB、深度和法线)的每一种类型都用一组不同的3299个过滤器进行卷积,然后将得到的三个特征集连同上一个尺度的网络输出连接起来,形成下一个输入。我们还尝试了[14]提出的HHA编码,但是在我们的例子中没有看到任何好处,因此我们选择了直接使用depth和xyz-normals的更简单方法。注意,第一个缩放是使用ImageNet初始化的,我们只保留rgb。对每种输入类型分别应用卷积,而不是将像素空间中的所有通道连接在一起并过滤联合输入,从而在最低过滤级别的特性之间强制独立,我们发现这有助于提高性能。

(五)训练

5.1. Training Procedure

我们使用SGD对模型进行了两阶段的训练:首先,我们联合训练了scales 1和Scales 2。其次,确定这些量表的参数,训练量表3。因为Scale 3包含的像素是Scale 2的4倍,所以对于每个梯度步骤,使用整个图像区域进行训练的成本很大。为了加快训练速度,我们使用随机的大小为74x55的农作物:我们首先通过scales 1和scales 2对整个图像进行正向传播,上采样,裁剪生成Scale 3的输入,以及相应位置的原始RGB输入。将裁剪后的图像和尺度2预测通过尺度3网络进行前后传播,并更新权值。我们发现,这种方法将训练速度提高了大约3倍,其中包括前两个scales的推理开销,并且从增加的随机性中得到了几乎相同的误差(如果不是稍微好一点的话)。

这三个任务在几乎所有层中都使用相同的初始化和学习率,这表明超参数设置实际上对任务中的更改相当健壮。首先使用深度任务对每个任务进行调优,然后使用一个包含50个场景的小验证集验证为每个任务的适当数量级。
不同之处在于:
(1)法线任务的学习速度是深度或标签的10倍。
(2)对于深度/法线,1.6和1.7层的相对学习率分别为0.1,而语义标注分别为1.0和0.01。
(3)对于深度/法线,1.6层的辍学率为0.5,而语义标签的辍学率为0.8,因为训练图像更少。

我们使用经过imagenet训练的权值在Scale 1中初始化卷积层,并在Scale 2和3中随机初始化Scale 1和所有层的完全连接层。我们使用大小为32的批次对alexnet初始化模型进行培训,但是由于内存限制,VGG初始化模型的批次大小为16。在每一种情况下,在大约2米的梯度步长之后,我们将全局学习率降低10倍,并训练额外的0.5米步长。

5.2. Data Augmentation(增加数据)

在所有情况下,我们都应用随机数据转换来增加训练数据。我们使用随机缩放,平面旋转,平移,颜色,翻转和对比度。在转换输入和目标时,我们对RGB、深度、法线和标签应用相应的转换。注意,法向量变换是世界空间变换的逆转置:翻转和平面内旋转需要翻转或旋转法向量,而要将图像缩放一个因子s,我们将深度除以s,并且与法向量的z坐标相乘并重新规格化。

5.3. Combining Depth and Normals(结合深度与法线)

我们将深度网络和法线网络结合在一起,共享计算,创建一个网络,使用单个scale 1级堆栈,但单独的scale 2和scale 3堆栈。因此,在给定RGB图像的情况下,我们可以同时预测深度和法线。与使用两个单独的模型相比,这将产生1.6倍的加速。

(六)性能实验

6.1. Depth

我们首先将我们的方法应用于NYUDepth v2的深度预测。我们使用整个NYUDepth v2原始数据分布进行训练,使用官方训练/测试分布中指定的场景分割。然后我们测试普通的分布深度地图,包括填充区域,但仅限于轴对齐的矩形,那里有一个有效的深度地图投影。由于网络输出的分辨率低于原始的NYUDepth图像,并且排除了一个小的边界,我们将我们的网络输出以双线性方式向上采样到原始的640x480图像尺度,并使用一个跨双边滤波器推断缺失的边界。我们将我们的方法与Ladicky等以前的研究成果进行了比较。
在这里插入图片描述

结果如表1所示。由于我们更大的体系结构和改进的培训,我们的模型在所有指标中都获得了最好的性能。此外,我们的模型的VGG版本明显优于较小的AlexNet版本,再次强调了模型大小的重要性;尽管深度任务似乎与最初训练粗重的分类任务相差甚远,但事实确实如此。图2的定性结果显示,在细节清晰度方面有了实质性的改善。

6.2. Surface Normals

接下来,我们将我们的方法应用到表面法线预测。对比Fouhey等人[10,11]、Ladicky等人[21]、wang等人[38]的3D原语(3DP)和室内折纸作品。与深度网络一样,我们使用完整的原始数据集进行训练,因为所有图像都可以生成地面真实的法线贴图。由于不同系统计算地面真值法线贴图的方法不同,我们使用[21]中构造的地面真值和[31]中使用的方法进行比较。基本事实之间的差异主要是由于[21]使用了更积极的平滑;因此,[21]倾向于呈现比较平坦的区域,而[31]则比较吵闹,但会呈现更多的细节。我们使用与[10]相同的度量标准来衡量性能:所有未加掩蔽的像素的地面真实的平均和中值角度,以及角度在三个阈值以内的向量的百分比。
在这里插入图片描述
结果如表2所示。我们的模型的小版本的性能与Wang等人的相似或略好,而大版本的性能远远超过所有的比较方法。图3显示了示例预测。注意我们的方法捕捉的细节,例如第一行床上毯子的曲率,第二行沙发和最后一行物体。

6.3. Semantic Labels

6.3.1. NYU Depth

最后将我们的方法应用于语义分割,首先是NYU Depth。因为该数据提供了深度通道,所以我们使用ground-truth depth和normals作为语义分割网络的输入,如4.3节所述。我们分别在[31]、[6]和[13]中描述了带有4个、13个和40个标签的语义类集上评估我们的方法。4级分类任务使用高级类别标签地板、结构、家具和道具,而13级和40级任务使用不同的更细粒度的类别。我们比较了最近的几种方法,使用通常用于评估每个任务的指标:对于4类和13类任务,我们使用像素级和每类精度;对于40类任务,我们还使用每个类的平均像素频率加权Jaccard索引和平均Jaccard索引进行比较。

结果如表3所示。在4级和14级任务中,我们果断地超过了比较方法。在40级任务中,我们的模型在模型大小和Long等模型中都优于Gupta等人14。定性结果如图4所示。尽管我们的方法不使用超像素或任何分段常数假设,但它在大多数情况下都倾向于生成较大的常数区域。

6.3.2. Sift Flow

通过对Sift Flow dataset[22]进行评估,我们确认了我们的方法可以应用于其他场景类型。[22]包含了被划分为33类的户外城市景观和景观图像。我们发现不需要为这个数据集调整卷积核大小或学习速率,只需直接传输NYU Depth使用的值;然而,我们确实调整了层的输出大小以匹配新的图像大小。

对比Tighe等[35],Farabet等[9],Pinheiro [28], Long等[24]。注意,Farabet等人训练了两个模型,使用经验的或重新平衡的类分布通过重新采样超像素。通过在交叉熵损失中重新加权每个类,我们训练了一个更均衡的模型版本;我们用 c = median freq=freq©对每个像素进行加权,其中freq(c)是c类像素的个数除以存在c的图像中像素的总数,median_freq是这些频率的中值。

结果见表4;我们将模型的常规(1)和重加权(2)版本与比较方法进行比较。我们的小模型在性能上远远超过了Long等人,而我们的大模型的性能与Long等人相似。这表明我们的模型不仅对不同的任务具有适应性,而且对不同的数据也具有适应性。
在这里插入图片描述

6.3.3. Pascal VOC

此外,我们还用Pascal VOC验证了我们的方法。类似于Long等人。[24],我们使用由Hariharan et al.[16]收集的8498张训练图像增强的2011年训练集进行训练,并使用来自2011年验证集的736张图像进行评估,这些图像不属于Hariharan额外集,也不属于2011年和2012年测试集。我们在我们的NYUDepth和Sift流模型中执行在线数据扩充,并且使用相同的学习率。由于这些图像具有任意的长宽比,我们在方形输入上训练我们的模型,并将每个图像的小边缩放到256;在测试时,我们使用一个跨越128的模型来覆盖图像(两个应用程序通常就足够了)。

结果如表5和图5所示。我们比较了Dai等人[7],Long等人[24],Chen等人[5];后者是最近的一项工作,它增加了一个卷积网络,其中包含大量的顶层CRF和完全连接的CRF。我们的模型与Long等人的表现相当,甚至可以推广到多个任务,通过它在深度和法线预测方面的熟练程度来证明。
在这里插入图片描述

(七)Probe Experiments

7.1. Contributions of Scales

我们在表6中根据我们的模型中的不同尺度比较了性能分解。对于深度、法线和4级和13级语义标记任务,我们只使用1级、2级或所有3级来训练和评估模型。对于粗尺度-1预测,我们将粗堆栈的最后一个完全连通层替换为直接输出到目标大小的完全连通层,即根据任务的不同,像素映射为1、3、4或13个通道。空间分辨率与模型中粗糙特征的分辨率相同,并且以同样的方式向上采样。
在只使用rgb输入的标签网络中,我们发现粗尺度又是更大的贡献者,这表明了全局视图的重要性。(当然,这个量表也是使用ImageNet卷积权值初始化的,这些权值与语义任务相关;然而,即使是初始化随机达到54.5%的13类规模1,仍然是最大的贡献,虽然数额较小)。

7.2. 深度和法线输入的影响

事实上,我们可以从RGB图像中恢复大部分深度和法线信息,这自然会导致两个问题:
(i)在语义标记任务中,相对于RGB的深度和法线输入有多重要?
(ii)如果我们用网络的预测来代替真正的深度和法线输入,会发生什么

为了研究这个,训练和测试我们的网络仅单独使用scales 2或同时使用scale 1和scale 2为13类语义标记任务三个输入条件下:(a)RGB图像;(b)RGB图像和预测深度和法线;©RGB加上真正的深度和法线。
结果见表7:
在这里插入图片描述
使用地面真实深度/法线比起单独使用RGB图有了明显的改善。当使用两种scales时,预测的深度/法线似乎没有什么效果,但是如果只使用scale 2,就会有明显的改善。我们认为这是因为任何有关的信息提供的预测深度/法线标签也可以从输入;因此,标签网络可以从标签目标中学习到同样的信息。然而,这假设网络结构能够学习这些关系:如果不是这样,例如,当只使用Scale 2时,我们确实看到了改进。这也与第7.1节一致,其中我们发现粗网络对于所有任务的预测都非常重要,向scale 2提供预测深度/法线能够恢复仅rgb scale 1+2模型获得的大部分性能。

(八)Discussion

总之,深度、表面法线和语义标签为场景提供了丰富的描述。我们提出了一种使用卷积网络的简单快速的多尺度体系结构,在这三种模式下都有很好的性能。在我们研究的绝大多数基准测试中,模型都优于现有的方法。这是令人印象深刻的,因为许多这些方法都是特定于单一模态的,而且通常比我们的算法更慢、更复杂。因此,我们的模型为这三个任务提供了一个方便的新基线。

猜你喜欢

转载自blog.csdn.net/uniqueyyc/article/details/82890657