联合编译:陈圳、章敏、Blake
摘要
数据驱动方法在边缘检测领域已被证明是有效的,且在最近的基准测试中取得了顶尖的成绩。然而,目前所有数据驱动的边缘检测都要求以手工标注区域分割或对象边界的方式对训练过程进行监督。特别是,人类标注者会标记出那些语义上有意义的边缘,然后将这些边缘用于训练。对于学习准确检测边缘来说,这种强的高水平监督真的必要吗?在本文中我们展示了一种简单但有效的无监督训练边缘检测的方法。为此我们利用了图像运动来进行。更特别地的是我们的方法唯一输入是帧之间的嘈杂半稠密匹配。我们从对边缘的(图像梯度)初步知识开始,在提高运动估计和边缘检测之间来轮流切换。通过使用庞大的视频数据素材,用我们的无监督方法训练出的边缘检测器已接近用完全监督方法训练的同类边缘检测器(差异在 3-5% 范围内)。最后,当将深度神经网络应用到这些边缘识别器时,我们的方法为对象检测提供了一种崭新的预训练模式。
1.引言
人类视觉系统很容易感知识别图像的突出边缘。突出边缘对于如光流、物体检测、物体建议等分类任务相当有用,所以建造同样视觉能力的机器系统对边缘检测也应该很有趣。然而,以往的尝试都表明边缘检测相当有难度,早期的方法大多依靠于亮度和色彩梯度等低阶指令。优化架构虽然能提高测试结果,但准确度仍然明显低于人类表现。
由人类标记边界组成的BSDS数据集,在边缘检测的关键转变上奠定了基础。与其他倚靠复杂手工特性不同,Doll´ar等人提出了一种数据驱动、监督型的方法用来学习检测边缘。现在的边缘检测器都是基于这个理念建造的,并潜在推动技术往使用更加精密的学习范例方向发展。
然而,现有的数据驱动方法都要求严格的训练监督。特别是像BSDS一样的数据集,人类标记者通过他们的图像构筑经验来标记语义上有意义的边缘。另外,最近的边缘检测器使用ImageNet来预先训练。在本文中,我们来进行探讨:目标级监督对于边缘检测是否不可替代?另外,边缘检测能在完全无人类监督下进行吗?
我们提出使用运动取代人类监督来训练边缘检测器。运动边界是图像边界的一部分,如图1所示。因为图像边界能够用来获得正面的训练样本。另一方面,在离运动边界较远的未知可能也包含图像边界。幸运的是,因为边缘很少,简单的对随机位置取样也能提供很少错误的负面训练结果。因此通过对假设准确动作预估,我们能够为边缘检测获得无限的训练数据。
图1
确实,光学流动和边缘检测时紧紧耦合在一起的。最新,Revaud等人提出了EpicFlow,给出一个具体的边界地图和框架之间的半稠密匹配,EpicFlow生成稠密的补充匹配结果,这符合最新的结果预期。
这个想法启发了我们的方法,我们一开始仅使用半稠密来匹配框架和基准图片(简单的图像梯度)。然后
在计算匹配流动和最佳图像边缘之间反复进行运算,在大量视频数据的训练下,我们获得高度精密的正向反馈和随机负向反馈,我们使用这些数据对我们的检测器进行提高,我们的结果如图2所示。
图2
我们对结构化边缘(SE)和整体化边缘(HE)进行了试验。SE是基于构筑架构,HE是基于深度网络。SE更快,HE更准确。两种检测器都实现了目前最佳的结果。本文主要的结果是,通过使用我们的无监督方法进行训练,这两种都实现了完全监督训练下的同等表现。
最后,我们证明这是能够作为一种新颖的针对深度网络的无监督预训练方法。特别的是,当将一种神经网络微调用来物体检测时,使用权重学习边缘检测比使用随机已有权重表现要好。虽然结果还很初步,但我们相信这是未来探索一个很有希望的方向。
2.相关工作
边缘检测:
早期的边缘检测器是使用图像梯度和质感梯度手工设计的。相关性强的是这些边缘检测器是数据导向训练的。在加入多重分类、特性学习、衰减、结果预测和深度学习后,这些问题都得到较好坚决。这些方法都要求严格的训练监督,在这个工作中我们探索无监督学习是否能被替代(针对我们的实验谈论)
光学流动:
全面回顾已超出我们的研究能力,我们主要是研究利用少数匹配和图像边缘做评价的方法。特别是我们运用边缘反馈,从稀到密的匹配添加来进行密集动作的描述。我们的关注点不在视觉估计,我们更加关注在没有人类监督下进行的边缘和边缘评价结果的联合。
利用运动进行知觉分类。在人类视觉中,运动在分类和物体识别中起着至关重要的作用。Ostrovsky等人利用视力刚恢复的人来进行视觉技巧研究,结果显示运动提示对于物体分类和识别能力十分重要。我们的研究也是受此启发:旨在利用运动提示研究边缘探测器。
利用视频进行研究:把视频作为视觉学习表现的监督信号是最近兴起的方法,例如,把提高相邻视频的相似性,学习连续帧的潜在表现,或是学着预测消失的或是未来的帧。Wang和Gupta利用物体追踪并加强被追踪帧在视频中的相似性,而不是通过简单加强视频中连续帧的相似性。结果网络很容易做出正常评价和物体探测。正如我们所展示的那样,我们的方法可作为一个新颖无监督且先于训练的体系。但是在之前的方法中,训练目标仅仅是作为一个代理去鼓励网络学会一个有用的表达,我们最初的目标是训练边缘探测器,而学会表达仅仅是一个意外结果。
3.从视频中学习边缘
我们最开始是使用电脑视觉中的标准工具制作一些简单的提示,例如点对应和图像梯度。我们使用DeepMatching去获得连续两帧(I,I’)之间的半稠密匹配。为匹配成功DeepMatching会计算不同部分和规模之间的联系。但与其名字刚好相反的是,此方法并未涉及到深度学习。在本文剩余部分,我们会完善M的匹配结果。
我们提倡使用在图2和算法1中提到的迭代过程。梯度级仅是图像边缘的粗略估计,因此可作为一个合理的起始点。在接下来的部分中我们更加详细地讨论此过程。
3.1 方法细节
EpicFlow
EpicFlow作为图像对输入(I,I'),图像之间的半稠密匹配M和第一帧的边缘图E。它能有效地计算出由E决定的在M中所有像素和匹配点之间的近似测地距离。对于每一个像素,测地距被用于寻找与K最接近的匹配,以及由加权组合的运动矢量决定的源像素运动。最后的优化是是使用最小的能量变化产生高精度的边缘保护流向图。我们会为读者提供更多细节。
运动边缘检测
在给定的光流估计中进行运动边缘检测极具挑战性,如图3。Weinzaepfel等人表示基于流动图的简单梯度计算,结果往往不太理想,且对于运动边缘检测不提倡使用以数据驱动的方法。在本项研究中,我们会使用一个相对简单但效果惊人的方法。我们使用基于图像边缘训练过的边缘检测器,为进行运动边缘评估把(图像)边缘检测器运用于有颜色编码的流向图。通过色彩,高度及饱和度对流动动向进行编码,把光流映射的2D流量矢变成3D的颜色空间。动作边缘经此编码变得十分清晰(我们尝试过其他颜色空间但HSV表现最好)。在有颜色的流向图使用边缘探测器,能让我们简单了解运动边缘检测机制。
图3.运动边缘检测的解释。(a)输入图片。(b)基于输入图片添加颜色。(c)通过运用边缘检测器计算运动边缘。(d)经校对后的边缘。经校对后的边缘可作为训练边缘检测的监督信号。
运动边缘校对
从流向计算出的运动边缘与图像边缘有些许不符。我们发现这会对训练造成不利影响,尤其对于HE来说,其产生的边缘较厚。为校对运动边缘,我们使用简单的探索方法:在运用非最大化的抑制和阙值后,我们把在彩色图像中探测到的超像素和运动边缘进行校对。尤其,我们利用涵盖90%图像边缘的SLIC超像素,使用双向匹配(同样也适用于BSDS评价中)对运动和边缘的超像素进行匹配。经匹配的运动边缘像素会转移到超像素边缘位置,而为匹配的运动边缘会被丢弃。这一改良(如图3d)能帮助我们过滤边缘不清楚的图像进而精准定位。
我们强调我们的目标并不是探测所有的边缘。对于训练只需一小部分精准判断。但是由于校准过程,我们的取样会稍有偏移。特别一些缺少对应图像边缘的运动边缘会经常缺失。而此缺陷和表现的影响会在第4部分进行讨论。
训练:经校对过的运动边缘图能作为训练边缘探测器的监督信号。阳性是在有准确率较高的地方进行取样。阴性是统一从有教小临界值的运动边缘中进行取样。但并未考虑运动边缘的模糊的地方。如我们将会展示一样,如此收集的样本对于训练来说会是一个将强的监督信号。
视频数据集
对于训练,我们会联合来自两个不同部分的视频数据集:视频分割标准(VSB)和YouTube物体数据集。我们使用这两个数据集中的所有高清视频(100+155)。省略掉Youtube物体数据集中的解释。视频的收集将会超过500K,对于边缘检测的训练来说已足够。
帧过滤。在给定的大量数据中,我们运用探测的方法选择对于运动评估来说最清楚的帧。首先我们会使用ORB广义匹配(计算很快)在连续帧之间安装单应矩阵。接着省去匹配度不高的帧,运动较慢(最大移位<2像素),运动较广(平均移位>15像素),或是全局平移移动。这些探索方法移除了光流不可靠或是包含运动边缘较少的帧。在所有试验中我们使用修剪过的50K左右的帧。
3.2 边缘检测器的细节
我们使用分别基于树状和深层网络的结构化边缘(SE)和整体化边缘(HE)探测器进行试验。SE因其准确度高且速度快被广泛运用,例如,流向评估和物体建议。HE方法更新但取得的效果不错。当使用未经监督的体系进行研究时,这两种方法的表现与在监督环境下的表现结果一致。
结构化的边缘(SE)
SE是通过提取较低水平的图像特征,如颜色和梯度渠道,进行边缘预测。这一方法通过结构化标签学习决策流程以决定在每一节点的相应功能。在测试中,每一个决定都为相应的节点输入。最终的图像是由每一个节点的重合部分构成的,而由此方法的结果也会很好。我们在训练中也会使用相同的参数。这一树状体系会有8个分支,每一分支最深会有64层。每一树状是由随机选择的106数据集进行训练,而这一数据集的阴性和阳性部分数量都一样。在训练中,我们把地区边缘节点转化为分割任务,就如SE计算边缘相关部分一样。我们会舍弃未跨越整个边缘的部分。在训练中的每一次迭代,树状系统都能从相互摩擦中有所收获。在测试时,为达到最好效果我们会在各范围运行SE。
整体边缘化(HE)
HE使用改良的VGG-16网络系统且带有跳层之间的联系和深层监督。实施过程如下。我们会去掉所有的连接层,留下汇聚层,结果是结构只剩下13层回旋层和4层汇聚层。通过附加线性分类器(1×1卷积)跳层能实施为各阶段的最后一个转化层,他们的结果都是用于产生最后的图像。在我们的实施中,我们去除了最深层次的监督(每一层都有不同的缺失函数)因为我们发现单一的函数缺失所受惩罚较小,更易用于训练。
我们用调整过的且在ImageNet进行过训练的网络和随机初始化的网络进行试验。对于调整,我们使用参数为学习率1e-6,重量衰变.0002,动量.9和批量10。从摩擦中进行学习时,我们在每一个卷积块的终点加上批量化层。这加速了训练也提高了汇聚。我们同样也提高了学习率(1e-5),重量衰减(.0005)。每一次迭代会对网络进行40次训练,这减少了一半的学习率。与SE不同,我们能从之前的迭代中重复使用网络作为后续迭代的起点。
4.试验和结果
我们对于每一个任务都使用2种不同的边缘检测器(SE,HE)且提供较为广泛的标准。我们的主要研究成果是,只用视频进行训练的图像边缘检测器与全面监督的训练模式相比,实现的成果更好。作为研究方法的副成果,我们同样产生了具有竞争力的光流动和运动边缘结果。最后,我们展示了使用视频的网络在物体检测方面有所提高。
4.1运动边界检测
虽然我们的重点不是运动边界检测,但运动边界作为我们唯一的监督信息来源,识别它是非常重要的。因此我们的第一个实验是基于运动边界的。
表1.基于VSB的运动边界结果。
我们用视频分割基准(VSB),以20帧为单位,注释地面真实运动的边界。我们在测试集中282个注释的帧上报告了结果(删除没有运动边界的帧并且将每个视频最后的帧作为所需的3帧),使用了三种标准的指标进行评估:固定轮廓阈值(ODS),每幅图像的最佳阈值(OIS),和平均精度(AP)。考虑到高精准度规则,我们引入了额外的措施:精度为召回的20%。非最大抑制适用于评估先前所有的运动边界。
表1中报告了四种基线的结果以及我们方法中最后一次迭代的运动边界GT(SE/HE-IMAGE).
这些基线包括:图像边界(SE/HE-IMAGE),光流的梯度幅值(EPLCFLOW),一种结合运动信息和超像素分割的方法(GaLasso ),以及最近的一个数据驱动的监督方法(WEINZAEPFEL)。
我们的方法,虽然简单,但在20%召回中具有66∼67精度,仅略差于[ 43 ],即使它没有受过针对运动边界检测的训练。它在高精度规则方面基本上比它的基线好的多。虽然我们的目标不是运动边界检测本身,但该结果是很重要的,因为它使我们能够获得高质量的正样本,它能用于训练图像边界检测器。
4.2 图像边界检测
我们下一步调查了边界检测的性能。结果的报告基于伯克利分割数据集和基准(BSDS),它由200个训练,100个验证,和200个测试图像组成。每一个图像都注释了地面实况边界。我们再一次用同样的三个标准的指标:固定轮廓阈值(ODS),每幅图像的最佳阈值(OIS),平均精度(AP),进行了精度评估。
图像边界检测是否可以被训练用于运动边界?我们的第一个实验验了这个问题。我们在VSB(591图像)中使用了所有可利用的地面实况边界,来训练SE和HE。结果在表2中(SE-VSB,HE-VSB)。对于这两种方法,与用图像边界监督(SE-BSDS,HE-BSDS)训练相比,结果都是在2到4点ODS。我们的结果表明:使用运动边界进行图像边界检测的学习是可行的。
我们接下来展示了使用视频作为监督信号的结果(SE-VIDEO,HE-VIDEO)。相比于监督情况下.746(SEBSDS),SE-VIDEO实现了.724ODS。HE的结果相似(.748和。785)。如结果所示,使用视频监督达到了竞争的结果(3%到5%之间)。有趣的是,从视频学习略胜了使用地面实况运动边界训练。我们认为这是最小规模的VSB。
表2BSDS测试集的边界检测结果。我们提供了使用了三种标准指标:BSDS, VSB, and
VIDEO (非监督)训练SE和HE的结果。HE在ImageNet上使用了VGG网络进行预训练,HE†表明网络是从零开始训练的。
对于HE,我们实验开始于一个ImageNet预训练模型和从零开始训练(HE†)。HE在整个训练场景中大大受益于在ImageNet的预训练。这是令人鼓舞的,因为它意味着对象级知识,对于边界检测是有用的。另一方面,我们的视频监督方案同样在ImageNet预训练中受益,因此,这意味着,在我们目前的设置没有训练出模型的全部潜力。
为了探讨性能如何演化,图4中,对于两种方法,我们在每一次迭代中都设置了ODS分数。在迭代0中Raw图像梯度为。543ODS(未展示)。随着大多数的收益进入第一次迭代,我们的迭代过程从图像梯度中提供了显著的改善。4次迭代之后,性能达到饱和(最后一次迭代,我们对SE使用了4百万的样本,对HE使用了80次训练,略微增加精度)。
图4.在迭代上收敛ODS和AEE。
图5中我们提供了可视化的边界结果(在NMS之前)。SE损失了一些薄弱的边界,但边界仍然很好地对准图像内容。由于使用向下采用卷积特征图,HE一般会产生较厚的边界,这使它很难产生尖锐的图像边界。结果HE-VIDEO/HE†-VIDEO,有着比HEBSDS/HE†-BSDS更厚的边界,可能是由于抽样策略用于运动边界训练。使用视频训练时,我们也观察到,边界检测的输出好的区域更少,并且更趋向于丢失薄弱的边界,这可能导致很大的性能差异。
4.3光流
我们在Middlebury和MPISintel数据集检测光流。Middlebury被广泛的使用,并且用很小的位移,组成复杂的运动。Sintel是从动画序列,大位移特征和挑战性的光照场景中获得的。我们使用了Sintel的“最终”版本,并且用公共的地面实况在训练集中测试。由于目标是测试产生边界的质量,我们只集中于EpicFlow的版本,和SInte如CVPR2015l,最高性能的方法。
图5 5个样本图片边界检测结果的说明(和[11]中使用的一样),前两排展示了原始图片和地面实况。第二和第三排是使用BSDS或VIDEO训练SE的结果。剩下的图显示了变型的HE在BSDS或者VIDEO中的结果。HE†表明网络是从零开始训练的。
表3.不同版本边界图EpicFlow的精准度。
表3显示了在Sintel和Middleburry使用不同边界图时,EpicFlow的平均终点误差(AEE)。大部分的边界图在Sintel引发了相同的结果(AEE在3.6~3.8附近)。特别是,使用SE-BSDS边界的原始EpicFLow;有SE-VIDEO边界的结果几乎是一样的。上面的结果是从HE-BSDS中获得的,而HE-VDEO和HE†-VIDEO结果稍差。在Middleburry中方法的排名是相似的。
作为上限,我们还介绍了给定地面实况(GT)动作边界的EpicFlow。精准度仅仅略微的优于最好的学习边界图。这意味着当前给定的匹配中EpicFlow的性能达到饱和。
最后,图4中每一帧我们都将AEE设置在Sintel上。所有的方法都提高了初始流量(AEE 4.016,不显示),在几次几次迭代之后结果再次饱和。
4.4目标检测
最后,我们测试了用于边界检测的无监督训练方案,能否被用于预训练目标检测网络。
最近一个很有趣的问题,强监督对于学习目标检测的良好视觉代表,是否必不可少。尽管不是工作的重点,我们证明了我们的方案同样可以用于网络初始化。
在该实验中,我们使用了HE†边界检测器(未经过ImageNet预训练)。鉴于[39]中的建议,实验使用了 PASCAL VOC 2007 and the Fast R-CNN目标检测器。结果通过了主集合平均准确率(mAP)评估。我们使用了两种网络对比结果。VGG和ZF,以及四个训练方案:无预训练,在 BSDS (HE†-BSDS)上预训练,以及使用视频(HE†-VIDEO)预训练。使用40K迭代训练-Val集微调所有的网络(从零开始时120K迭代)。表4中总结了结果。
表4.在 PASCAL VOC2007测试中使用VGG(左)和ZF(右)的目标检测结果。
VGG结果:我们尝试在VOC中从零开始训练VGG,但没得到有用的结果。甚至在120K迭代后检测的性能仍然很低(~15mAP)。在BSDS上预训练网络边界检测时,我们在PASCAL上的性能达到了42.1mAP。有趣的是,使用视频训练时,我们看到了mAP中超过了两个点的提高(尽管同样的网络差于边界检测)。
ZF结果:我们也进行这样的实验,训练一个更小的只有5个卷积层的ZF网络。我们微调网络边界检测,以便调整不同层之间的输出。由于ImageNet预训练,调整了ZF网络的Faet R-CNN在PASCAL中性能达到了58.6mAP,而没有预训练,mAP则下降到38.2。目标检测预训练,无论有无监督,在从零开始训练中性能都提高了~3mAP。
综上所述,我们总结出,目标检测预训练,可以提高训练从零开始检测器的性能(无论有无监督)。然而。ImageNet预训练本质上仍取得更好的效果。
4.5局限
在目标检测方面,无监督训练为什么没有比监督训练表现更好?理论上,一个足够大的视频集,应该提供一个无限制的训练集,并且在这足够大的集合中边界检测器的性能,应该优于那些更小的监督训练集。然而,有很多问题普遍的限制了性能。(1)在薄弱的边界方面,现存的流方法缺少精准度,另外,我们的调整方案也移除了薄弱的边界。因此,薄弱边界从我们的训练集中遗失了。(2)进一步提高图片边界不会改善光流,见表1.我们猜想,帧之间的匹配是EpicFlow的限制因素,而且直到他们提高,在当前方案中的光流和边界也不会改善。(3)训练受到噪音标签干扰,在特殊情况下,遗失了重要的标签,消极的标签,如果没有妥善处理,会控制后期阶段的梯度。
无监督学习方案是否捕获了目标级信息?目标的定义由它的边界决定,相反很多的边界只能被目标的知识识别。我们在边界和目标检测的结果,支撑了这个联系:一方面,ImageNet预训练对于边界检测是有用的,或许因为它在网络中注入了目标级的信息。另一方面。预训练一个边界检测网络改善了目标检测。原则上,边界网络需要学习高级别的波形信息,这或许可以解释预训练的效果。然而,我们注意到在整个情景中,ImageNet的预训练仍然有益于边界检测。而且,在目标检测方面ImageNet预训练本质上仍然优于视频预训练。显然,在捕获目标等级信息方面,当前的无监督方案没有和ImageNet预训练一样好的效果。
5.讨论
本文中,我们提出在没有明确监督时从视频中获得运动边界以便学习边界检测。
我们开发了一个迭代过程,使用边界结果交替更新光流之间的关系,并且学习基于光流的边界检测器,使精准度和流得以增加。
我们论文的主要结果是边界检测器在训练使用我们的无监督方案后,能达到和完全监督训练一样级别的性能。
此外,我们证明了我们的方法可以用于深度网络的新型无监督预训练方案。尽管预训练的结果不理想,我们坚信它是未来探索中一个非常有前途的方向。
从长远来看我们坚信,当无监督的方法可以访问无限的数据时,边界检测的无监督学习有潜力胜过监督训练,而我们的工作是该方向非常重要的第一步。
via FAIR CVPR 2016