摘要
目前最先进的单视图深度估计和语义分割方法的局限性与透视几何特性密切相关,即物体的感知大小与距离成反比。
在本文中,我们证明我们可以利用这个特性将像素深度分类器(pixel-wise depth classifier)的学习减少到一个更简单的分类器,它只预测像素在任意正确深度的可能性。在适当的图像处理后,应用相同的分类器可以得到任意深度的概率。这种将问题转化为规范深度的方法消除了训练数据对特定深度的偏见和视角的影响。该方法可以直接推广到多个语义类,直接针对独立方法的不足,提高深度估计和语义分割性能。在深度上调整语义标签提供了一种方法,使数据与它们的物理规模保持一致,从而学习更有辨别力的分类器。语义类的条件深度有助于分类器区分不适定问题的歧义性。
我们在KITTI road scene dataset和NYU2 indoor dataset上测试了我们的算法,得到的结果在单视图深度和语义分割领域都明显优于目前最先进的算法。
介绍
单幅RGB图像的深度估计一直是计算机视觉领域研究的热点问题,主要是由于其计算难度大、数据缺乏以及总体上存在明显的不确定性。然而,人类仍然可以轻松地完成这项任务,这表明像素深度编码观察到的特征,可以直接从数据中学习[20,1,10,16]。这种方法通常使用标准的对象识别,包括计算稠密或稀疏特征,构建丰富的特征表示,如bag-of-words(语义包?),并应用训练有素的分类器或回归器。来预测超像素的深度、方向或匹配平面。分类器或回归器的响应在概率框架中进行组合,并在很强的几何先验下估计最可能的场景布局。这个过程完全是数据驱动的,并且没有利用透视几何的已知特性,最重要的是,物体的感知大小与投影中心的距离(深度)成反比。这导致对训练集中深度分布的严重偏差;如果在训练阶段在同样的深度上没有看到类似的物体,就不可能估计物体的深度。该算法的这些缺点可以通过抖动jittering或对数据样本进行非常仔细的加权来部分解决,然而训练分类器不会在本质上是无偏的。
反对数据驱动深度估计的一个典型论点是,为了成功地执行这个任务,我们需要能够识别和理解场景。因此,人们应该等待,直到开发出足够好的识别方法。对于一些识别任务来说,这种情况已经出现了。计算机视觉和机器学习的最新进展导致了算法的发展[15,27,29,28],能够成功地将图像分类为数百个[4]甚至数千个不同对象类的[3]。进一步的研究表明,这些方法的成功在于如何约束问题;感兴趣的对象通常按图像的大小进行缩放,在此设置下,精心设计的特征表示将变得更具鉴别力。基于这一观察,很明显,限制计算机视觉任务算法性能的关键在于由于透视几何而导致的数据不对准。标准的语义分类器被训练成区分不同的语义类,但对尺度的变化具有较强的鲁棒性。这些期望属性之间的不协调使得学习变得不必要的困难。对于一个对象检测问题[2,5,27],通常通过将bounding-boxes缩放到与对象相同的大小,并在此转换之后为每个bounding-box构建一个特征向量来处理对象的变化的二维尺度。如果没有这一关键步骤,检测方法的性能将急剧下降。在场景的几何信息已知或者可以可靠估计的情况下,可以将边界框的位置限制在特定的位置上,例如在地面[11]上。然而,这些方法只能用于具有特定空间范围、形状和大小的前景对象,即“事物”。对于带有背景类的语义分割任务,“东西”,如道路、建筑物、草地或树,这种方法是不合适的。将草坪周围的边界框缩放到相同的大小并不会使特性表示更具区分性。然而,仍然存在与实际物理大小相关联的对象类的尺度概念。与草坪、建筑物或树木的大小相比,一片草叶、一扇窗户或一片树叶的物理尺寸变化要小得多。因此,对事物和事物都适用的最合适的对齐是对相同物理大小的规范化。这已经在Kinect相机的场景中得到了确认,其中深度是已知的。使用相对于测量深度[22]归一化的特征的分类器通常表现得更好。
语义类的视觉外观与其几何深度的相互依赖关系表明,语义分割和深度估计问题应共同解决。在两阶段算法中对语义分割的深度进行调节,可以显著提高性能。对于立体和多视图图像,[14,9]已经证明,联合语义分割和三维重建比单独执行每个任务的效果更好。在这些方法中,利用相互信息的较弱的来源是不同语义类的高度[14]或表面法线[9]的分布。
在本文中,我们证明了利用透视几何的性质,我们可以将像素深度分类器的学习减少到一个更简单的分类器,只预测像素在任意固定深度的可能性。在适当的图像处理后,应用相同的分类器可以得到任意深度的概率。这种将问题转化为规范深度的方法消除了训练数据对特定深度的偏见和视角的影响。该方法可以直接推广到多个语义类,直接针对独立方法的不足,提高深度估计和语义分割性能。在深度上调整语义标签提供了将数据对齐到其物理大小的方法,而在语义类上调整深度有助于分类器区分其他不适定问题的歧义。
我们在非常有限的街景KITTI数据集[6]和极具挑战性的NYU2室内数据集[25]进行实验,其中没有对场景布局的假设。我们的算法明显优于独立深度估计和语义分割方法,并在语义分割领域与使用完整的RGB-D数据的方法取得了相似的结果。我们的像素级分类器可以直接放置到任何竞争的识别或深度估计框架中,进一步提高结果;无论是作为CRF识别方法的一元潜力[13],还是作为将平面拟合到超像素[20]的预测。
无偏置深度分类器
令I是图像,✖几何缩放因子
α
\alpha
α,令
W
w
,
h
(
I
,
x
)
W^{w,h}(I,x)
Ww,h(I,x)为大小为w×h的图像I的(子)窗口,中心点是x,任何平移不变分类器
H
d
(
x
)
H_d(x)
Hd(x),预测像素x在深度d的可能性必须是任意大的固定尺寸w×h子窗口在点x中心的函数:
透视几何的特征是物体尺度与观察者投影中心的距离成反比。因此,对于任意无偏深度分类器
H
d
(
x
)
H_d(x)
Hd(x),像素x处于深度d的概率应该与缩放图像
α
×
I
\alpha×I
α×I中对应像素处于深度
d
/
α
d/\alpha
d/α的概率相同。
该特性对于保持分类器对训练数据波动的鲁棒性是至关重要的,对于小的和中等大小的数据集,训练数据的波动总是存在的。它看起来很简单,但是在以前任何数据驱动的深度估计方法中都没有使用它[20,1,16]。
这个特性意味着,深度分类可以简化为一个更简单的预测,即图像I中的像素x是否位于任意固定的正则深度
d
c
d_c
dc(canonical depth)。将相同的分类器
H
d
c
H_{d_c}
Hdc按
d
/
d
c
d/d_c
d/dc的因子应用于适当缩放的图像,可以得到任意其他深度d的响应:
这样,深度估计的问题就转化为由哪个变换(缩放)将像素投影到规范深度的估计。分类器的特殊形式直接暗示了它应该如何学习。在训练阶段,分类器应该学会区分转换为正则深度的训练样本和转换为非正则深度的训练样本。细节在很大程度上取决于选择的框架;如分类框架问题是作为一个标准的2-label阳性和阴性的问题,在训练样本的排名框架响应转换为规范化深度应(如果适当的足够的保证金)比样品的反应比规范转换为其他深度。
与直接从像素的特征表示学习深度相比,我们的分类器有几个优点。首先,预测某一物体(例如一辆汽车)在某一深度d时,不需要在训练阶段看到相同深度的类似物体。其次,我们的分类器没有训练数据不平衡的问题,这对于多类分类器或回归器来说总是存在的。直观地说,较近的对象包含更多的点,一些对象可能只是偶然出现在训练数据的某一深度。多类分类器或回归器的这些问题可以通过抖动数据(jittering the data)、使用适当的采样或调整训练点的权重来部分解决;然而,直接使用性质(2)必然是一个更好和更有原则的解决方案。
语义深度分类器
单视图深度估计通常是一个不适定问题。如果深度分类器以语义标签为条件,可能会解决几个歧义。
训练一个分类器,一方面要区分语义类,另一方面又要对尺度的变化具有鲁棒性,这是不必要的困难。如果训练样本是按比例排列的,那么问题就容易得多。最合适的对齐方式(同时适用于事物和事物)是根据物理大小进行归一化,这正是到规范深度(4)的投影所做的。
通过学习联合分类器
H
(
l
,
d
c
)
(
W
w
,
h
(
I
,
x
)
)
H_{(l,dc)}(W^{w, h}(I, x))
H(l,dc)(Ww,h(I,x)),预测一个像素x是否具有语义标签
l
l
l且处于正则深度
d
c
d_c
dc,可以直接将深度分类器推广到多个语义类。应用(4),分类器对任意其他深度d的响应为:
我们的分类器对某些深度不带偏见的优势现在更加明显。学习|D||L|-class分类器或|L|深度回归器(暂时不懂(@_@)的另一种方法需要非常大量的训练数据,足以表示每个标签在语义和深度叉积中的分布。在训练阶段,我们的分类器应该学会区分每一个转换到正则深度的类的训练样本和其他类的训练样本,以及转换到正则深度以外深度的样本。对规范深度的转换不适用于sky类(用于户外场景),测试期间的深度自动分配为1。
实施细节
将每个训练样本周围的窗口独立地转换为正则距离,并由此计算特征,在实际应用中是不可行的。因此,我们将测试阶段的深度估计问题离散化为一组离散的标签
d
i
d_i
di。基于物体尺度的预测误差随距离呈线性增长,表明相邻深度
d
i
d_i
di和
d
i
+
1
d_{i+1}
di+1应具有固定的比值
d
i
+
1
/
d
i
d_{i+1}/d_i
di+1/di,根据所需的精度选择。这使我们能够对每一个训练或者测试图像I将问题转化为一个金字塔形的图像分类
α
i
∗
I
=
d
i
/
d
c
∗
I
\alpha_i*I=d_i/d_c*I
αi∗I=di/dc∗I。
对于深度
α
i
d
c
\alpha_id_c
αidc的像素,图像缩放
α
\alpha
α对应于到标准深度的转换。因此在训练阶段,图像金字塔的一个点
x
j
i
∈
(
α
i
∗
I
)
x^i_j\in(\alpha_i*I)
xji∈(αi∗I)是根据原始无尺度图像中对应像素的真值深度
d
x
j
i
=
d
(
x
j
/
α
i
)
d_{x^i_j}=d_{(x_j/\alpha_i)}
dxji=d(xj/αi)有多接近深度
α
i
d
c
\alpha_id_c
αidc作为正样本还是负样本,如果它们的比值接近1,例如。
像素
x
j
x_j
xj对于对应的语义类是正的,对于所有其他类是负的。如果它们有足够的不同,例如。
α
i
\alpha_i
αi的缩放不会将示例转换为规范深度
d
c
d_c
dc,因此对所有语义类都是负的。
在训练阶段,无论距离多远,现实世界中相同大小和形状的物体对学习的分类器的影响都是相同的。因此,从
α
i
∗
I
\alpha_i*I
αi∗I中采样得到的样本对所有
α
i
\alpha_i
αi进行二次抽样如果满足相应的约束条件(5)或(6),则分别用作正或负。
将问题转换为规范化深度将根据实际物理大小对数据进行对齐,这对于不同的语义类可能会有很大的不同。因此,最合适的分类器是基于上下文的,具有自动学习上下文大小的,比如[24,23,13]。
实验结果