《Fast Cost-Volume Filtering for Visual Correspondence and Beyond》
(2013 SCI 一区)
摘要: 许多计算机视觉任务可以表述为拉-贝林问题。理想的解决方案通常是空间平滑标记,其中标记过渡与输入图像的颜色边缘对齐。我们证明,这种解决方案可以有效地实现平滑的标签成本与一个非常快的边缘保持过滤器。本文提出了一个通用的简单框架,包括三个步骤:(i)构造成本卷(ii)快速成本卷过滤和(iii)赢家全包标签选择。我们的主要贡献是证明,有了这样一个简单的框架,可以为多个计算机视觉应用取得最先进的结果。特别是,我们实现了(i)实时视差图,其质量超过了米德尔伯里立体基准上所有其他快速(局部)方法,以及(ii)具有非常精细的结构和大位移的光流场。为了演示健壮性,我们的框架的几个参数被设置为两个应用程序几乎相同的值。同时,给出了交互式图像分割的竞争结果。通过这项工作,我们希望能激励其他研究人员将这个框架应用到其他应用领域。
1. 介绍
基于离散标签的方法已成功地应用于立体视觉、光流、交互式图像分割或目标识别等许多计算机视觉问题。在典型的标记方法中,输入数据用于构造三维成本体积,该体积存储在图像坐标x和y处选择标签l(即立体中的差异)的成本。对于立体,这些成本由相应像素之间的像素相关性(例如强度的绝对差)给出。
然后,目标是找到一个(i)符合标签成本,(ii)空间平滑的解决方案;(iii)标签的变化与图像的边缘对齐。为此,一种流行的方法是利用条件(马尔可夫)随机场模型(CRF)。这意味着能量函数是形式化的,其中标签成本被编码到一个数据项中,而空间平滑的边缘对齐解决方案由一个例如成对平滑项来实现。然后,使用全局能量最小化方法(如图割或信念传播)将该代价函数最小化。缺点是这样的全局方法通常比较慢,不能很好地适应高分辨率图像或大标签空间。快速近似(例如,26)通常以质量损失为代价,因为较少的全局优化模式。
连续标记方法与离散标记方法是基于凸能量函数的,凸能量函数可以在GPU上进行有效优化,如[17,13,10]。缺点是这些方法中的许多都有数据形式和平滑项的限制。例如,光流中的亮度恒常性假设通常是线性化的,因此只对小位移有效。为了克服这个问题,通常使用由粗到细的框架,但是仍然不能处理比其运动小得多的对象。另一个问题是光滑项的凸性,这可能会使解过于光滑。这可能就是为什么凸面模型还没有报道最先进的立体效果的原因。
对于基于能量的方法,一个有趣的替代方法是应用局部滤波方法。过滤操作实现了标签空间的空间局部平滑,与CRF的潜在空间全局平滑形成对比。尽管有这样的概念上的缺陷,观察这个和以前的工作[31]是“局部平滑”能够实现高质量的结果。我们认为原因是数据项相对于平滑项占主导地位。一个重要的发现是,数据项将在未来发挥更大的主导作用,因为视频和静态图像相机在帧分辨率和距离方面都在持续增长。注意,基于能量的方法和基于过滤的方法的详细比较超出了本文的范围,我们将在第6节简要讨论它们。
一般来说,在基于滤波器的离散标记问题的方法领域中所做的工作相对较少[31,19,8]。最重要的是,对于一般的多标签问题,没有一种既快速(实时)又能获得高质量结果的基于滤波器的方法。本文的主要贡献在于提出了这样一个框架。
让我们简要回顾一下现有的基于过滤器的方法的思想,这是我们工作的动机(详见第二节)。除了[8],所有的工作都集中在立体匹配的应用上。Yoon和Kweon[31]的结果表明,在成本体积上采用保留边缘的双边滤波器可以获得高精度的结果。注意,[31]的作者没有使用术语“过滤”来描述他们的方法,而是将其称为加权支持窗口聚合方案。这意味着它们使用的是双边筛选器的简单实现,这种实现速度较慢,并且削弱了本地方法相对于全局方法的运行时优势。Richard等人发现了这个缺点,并提出了一种近似但快速(实时)的滤波器实现。然而,他们的解决方案甚至无法达到立体匹配的最新水平。此外,他们的方法是专门为立体匹配量身定做的,因此没有传达出重要的见解,即这种过滤概念可以用于一般的标记任务,外部立体匹配。最近,[8]建议对不同于立体声的图像编辑任务的标签成本进行边缘敏感平滑。然而,基于快速测地滤波运算的方法,本质上仅限于两个标签的问题。
在这项工作中,我们克服了上述限制,并提出了一个过滤框架,有效地实现高质量的解决方案,一般多标签问题,因此是竞争的能源为基础的方法。这是可能的,因为最近提出的引导过滤器[11],它具有边缘保持属性和独立于过滤器大小的运行时。因此,可以实现最先进的结果,而不需要在准确性和效率之间进行权衡。
现在让我们从立体的角度来详细说明我们的方法。我们首先构造一个轴(x,y,l)的代价体,即立体[21]中的视差空间图像(DSI)。图1(b)显示了图1(a)中扫描行的(x,l)切片。我们可以通过在每个像素上选择成本最低的标签(即在图1(b)的列上选择arg min)来获得标签问题的解决方案。成本最低的像素在图1(b)中标记为红色。结果是有噪声的,因为解决方案不是正则化的。
为了使解决方案规范化,我们可以通过一个支持窗口(在立体匹配中称为基于窗口的方法)来聚合(平滑)成本。我们知道,这个聚合相当于使用box filter过滤成本卷[21]的(x,y)维。结果如图1©所示,我们在图1(b)中过滤了成本卷。花费最小的解决方案(图1©中的红色标记)是平滑的,但是没有与图像边缘对齐。这是因为框式过滤器与深度不连续部分重叠,如图1中的绿色虚线所示。这导致了众所周知的“边肥效应”立体声。
为了克服这个问题,我们用一个加权盒形滤波器平滑成本体积。选择这些权值是为了在输入图像中保留边缘。例如, 使用双边滤波器平滑成本体积(图1(d))给出了一个空间平滑的解决方案,它也与图像边缘对齐。由于双侧滤波器的快速逼近降低了滤波质量,因此我们采用了导频滤波器[11]。图1(e)显示了它的边缘保持属性。
我们的通用和快速的成本过滤框架,是广泛适用的,我们演示了三个应用程序:
- 一种实时立体方法,在速度和精度方面都优于米德尔伯里基准上的所有其他低卡方法。
- 一种处理精细(小尺度)运动结构和大位移的离散光流方法。我们通过快速的成本过滤来处理巨大的标签空间。
- 一种快速、高质量的交互式图像分割方法。
3.Cost-Volume过滤
在本节中,我们将描述我们的标签框架,并将其应用于第四节中的三个不同的视觉应用。
遮挡检测与填充: 为了检测遮挡,我们还以类似的方式计算了右图像I’的视差图f‘’。如果匹配像素的视差不同,我们将左视差图中的像素标记为遮挡。然后将遮挡像素分配给位于同一扫描线上(像素行)的空间上最近的非遮挡像素的最小视差值。
后处理: 这种简单的遮挡填充策略可以在视差图中生成条纹状的伪影。为了重新移动它们,同时保持对象的边界,我们对填充的像素进行加权中值滤波。作为滤波器的权重,我们希望理想地选择eq.(4)中定义的引导滤波器的权重。然而,计算这些权重需要构建一个大小为N×N的稀疏矩阵,其中N是图像像素的数目。该矩阵的非零项在大窗口下极大地增加,因此计算该矩阵需要巨大的内存和时间。因此,我们使用双边滤波器权重:
4.2、光流
我们的光流方法几乎与立体声相同。在这里,标签l对应于向量(u,v),它们分别定义了x和y方向的流动。
遮挡检测与填充: 我们使用与立体中相同的左右交叉检查程序来查找被遮挡的像素。对于遮挡填充,我们不能简单地为流向量指定空间上最接近像素的最小值。这是因为流大小较小的对象可以遮挡流大小较大的对象。因此,我们使用加权中值滤波器来填充透明区域,基于它们与可见流区域的颜色相似度。详细地,我们应用一个加权中值与权值在公式(6)对被遮挡的像素。中值滤波的窗口与非遮挡区域重叠,可以将流矢量传播到遮挡的图像部分。
亚像素精度: 为了找到亚像素级的精确流矢量,我们使用双三次插值来跟踪[23]并对输入图像进行简单的提升。这增加了标签维度中的成本卷的大小(但不包括x和y维度),因此增加了运行时间。在实际应用中,我们发现使用引导滤波器平滑最终的流向量可以补偿较低的上尺度因子。我们的经验发现,一个4的提升因子给出了视觉上令人满意的结果,但在本文中,我们通过8的提升因子来证明最佳性能。
4.3、交互式图像分割
在交互式图像分割中,标签编码一个像素是属于前景F还是背景B,因此L = {F,B}。在初始化时,用户将图像的一部分分配给前景和背景。