论文地址:http://arxiv.org/abs/1705.09759
解读方面:【论文阅读】CASENet: Deep Category-Aware Semantic Edge Detection_dujuancao11的博客-CSDN博客
学习过程:直接翻译软件翻译-------》读翻译文章,更改不是很准确的表达或者公式问题--------》关注一下每部分的表达,特别是一个方面在不同部分的表达差异(这条路线是指在论文书写层面的阅读方式)
论文理解层面在这个博客,这边仅仅记录一下目前的学习方法,也希望自己可以探索出更加高效的方式,也希望对别人有帮助。
目录
摘要
边界和边缘线索在改善各种视觉任务方面非常有用,例如语义分割、对象识别、立体和对象建议生成。最近,边缘检测的问题被重新探讨,并且随着深度学习取得了重大进展。虽然经典边缘检测本身是一个具有挑战性的二元问题,但类别感知语义边缘检测本质上是一个更具挑战性的多标签问题。我们对问题进行建模,使得每个边缘像素可以与多个类别关联,因为它们出现在属于两个或多个语义类别的轮廓或连接中。为此,我们提出了一种新的基于ResNet的端到端深层语义边缘学习体系结构和一种新的跳跃层体系结构,在该体系结构中,顶部卷积层的分类边缘激活共享并与相同的底层特征集融合。然后,我们提出了一个多标签损失函数来监控融合激活。我们表明,我们提出的架构以更好的性能对这个问题有利,并且在标准数据集(如SBD和Cityscapes)上,我们的性能大大优于当前最先进的语义边缘检测方法。
1. 引言
图1。使用我们的方法进行边缘检测和分类。
给定一幅街景图像,我们的目标是同时检测边界,并为每个边缘像素分配一个或多个语义类别。
(b) 和(c)用HSV进行颜色编码,其中色调和饱和度共同代表类别的组成和相关强度。图1显示了Cityscapes数据集[8]中的道路场景图像,其中包含多个对象类别,如建筑、地面、天空和汽车。特别是,我们研究了同时检测边缘像素并根据与一个或多个对象类别的关联对其进行分类的问题[18,42]。例如,位于分隔建筑物和极点的轮廓上的边缘像素可以与这两种对象类别相关联。在图1中,我们将边界可视化,并列出典型类别组合的颜色,如“建筑杆”和“道路人行道”。在我们的问题中,每个边缘像素由一个向量表示,该向量的各个元素表示像素与不同语义类的关联强度。虽然大多数边缘像素将仅与两个对象类别相关联,但在交叉点[37]的情况下,人们可能期望边缘像素与三个或更多个对象类别相关联。因此,我们不限制一个像素可以关联的对象类别的数量,并将我们的任务表述为一个多标签学习问题。在本文中,我们提出了CASENet,一种能够检测类别感知语义边缘的深度网络。给定定义的语义类别,网络基本上会生成K分离的边缘映射,其中每个映射表示某个类别的边缘概率。图2给出了测试图像上单独可视化的边缘映射的示例。
图2。对应于边界框区域的测试图像和缩放边缘贴图的示例。可视化的边缘地图分别属于人、车和路的类别。
绿色和蓝色表示正确检测到的和遗漏的边缘像素。
边缘检测问题已被证明对许多计算机视觉任务非常有用,例如分割[1,3,4,6,52]、对象提议[3]、三维形状恢复[27]和三维重建[44]。通过更好地理解边缘类并将其用作先验或约束,可以合理地预期这些任务会有所改进。通过一点外推,不难看出,在没有任何附加信息的情况下,近乎完美的语义边缘可以解决语义分割、深度估计[21,38]、基于图像的定位[24]和目标检测[13]。我们认为,将语义边缘检测的准确度提高到一定水平对于实现场景的整体解读是非常重要的。
早期的工作倾向于将边缘信息作为低级线索来增强其他应用程序。然而,大量训练数据的可用性和深度学习方法的进步使得人们在过去几年中在边缘检测问题上取得了重大进展。特别是,出现了更新的数据集[18]。大规模语义分割数据集的可用性[8]也可以很容易地处理以获得语义边缘数据集,因为这两个问题可以被视为双重问题。
1.1 相关工作
随着时间的推移,边界或边缘检测的定义已从低级特征演变为高级特征:简单边缘过滤器[5]、深度边缘[17]、对象边界[40]和语义轮廓[18]。从某种意义上说,边缘检测算法的演变反映了计算机视觉从简单的卷积滤波器(如Sobel[29]或Canny[5])到充分发展的深层神经网络的进步。
低水平边缘:早期边缘检测方法使用简单的卷积滤波器,如Sobel[29]或Canny[5]。
深度边缘:之前的一些工作重点是将合成线条图[38]和受限设置下的真实图像中的轮廓标记为凸面、凹面和遮挡的轮廓[14,17]。室内布局估算也可以被视为识别凹面边界(折叠墙、天花板和地面的线条)[20]。通过恢复遮挡边界[22],可以获得场景中不同层的深度顺序。
感知边缘:各种各样的方法被用来提取感知边界[40]。Dollaret等人[9]使用不同面片上的增强决策树来提取边缘地图。Limet等人[33]使用随机森林计算了作为对象边界面片的草图标记。其他几种边缘检测方法包括统计边缘[31]、多尺度边界检测[43]和逐点互信息(PMI)检测器[25]。最近,Dollar和Zitnick[10]提出了一种使用结构化随机森林的实时快速边缘检测方法。使用深度神经网络的最新方法[3,30,50,51]将检测性能提升到了最先进的水平。
语义边缘:语义边缘检测的起源可能是[42]。作为一项高级任务,它也被隐式或显式地用于与分割[49]和重建[21]相关的许多问题中。在某种意义上,所有语义分割方法[7,8,12,16,35,36,41,45,48]都可以粗略地视为语义边缘检测,因为人们可以很容易地从分割结果中获得边缘,尽管不一定是准确的边缘。有一些论文专门将问题陈述表述为二进制或类别感知语义边缘检测[3,4,13,18,28,39,42,51]。Hariharanet al.[18]介绍了语义边界数据集(SBD),并提出了反向检测器,它结合了自底向上边缘和自顶向下检测器信息来检测类别的语义边缘。HFL[3]首先使用VGG[47]定位二元语义边缘,然后使用深度语义分割网络,如FCN[36]和DeepLab[7]获取类别标签。然而,由于预测过程是分离的,所以该框架不可端到端地训练。
用于边缘检测的DNNs:深度神经网络最近成为边缘检测的热门方法。相关工作包括基于稀疏编码的SCT[37]、N4fields[15]、deep contour[46]、deep edge[2]和CSCNN[23]。一种值得注意的方法是整体嵌套边缘检测(HED)[50],它以图像到图像的方式训练和预测边缘,并执行端到端训练。
1.2 贡献
我们的工作与采用嵌套架构的HED相关,但我们将工作扩展到更困难的类别语义边缘检测问题。我们在本文中的主要贡献总结如下:
- 为了解决边缘分类问题,我们提出了一个多标签学习框架,与传统的多类框架相比,该框架可以改进边缘学习。
- 我们提出了一种新的嵌套体系结构,它不需要对ResNet进行深度监督[19],其中底部特征仅用于增强顶部分类。我们表明,深度监管可能对我们的问题不利。
- 在SBD和Cityscapes数据集上,我们的表现优于之前最先进的方法。
2. 问题表述
给定一幅输入图像,我们的目标是计算对应于预定义类别的语义边缘映射。更正式地说,对于定义语义类别的输入图像,我们感兴趣的是获得边缘映射{Y1,····,YK},每个映射都具有相同的大小I。具有参数W的网络,我们表示Yk(p | I,W)∈[0,1]作为网络输出,表示在像素p的第k个语义类别上计算的边缘概率。
2.1 多标签损失函数
可能是由于语义分割的多类性质,一些关于类别感知语义边缘检测的相关工作或多或少地从多类学习的角度研究了这个问题。我们的直觉是,这个问题本质上应该允许一个像素同时属于多个类别,并且应该通过多标签学习框架来解决。
因此,我们提出了多标签损失。假设每个图像 I 是一组标签图像,其中是一个二值图像,表示第 K 类语义边缘的ground truth。多标签损失公式如下:
这里β是图像中非边缘像素的百分比,用于解释样本数的偏斜,类似于[50]。
3. 网络架构
我们提出CASENet,一种端到端可训练的卷积神经网络(CNN)架构(如图3(c)所示),用于解决类别感知语义边缘检测问题。在描述CASENet之前,我们首先提出了两种可供选择的网络体系结构,其中一种可以直接提出,因为之前有大量关于边缘检测和语义分割的文献。虽然这两种架构也可以解决我们的任务,但我们将分析与它们相关的问题,并通过提出CASENet架构来解决这些问题。
3.1 基本网络
我们在完全卷积网络框架下解决边缘检测问题。我们采用ResNet-101,去掉了原有的平均池化和全连接层,保留了底层的卷积块。为了更好地保留底层边缘信息,我们进一步修改了基本网络。我们将ResNet-101中第一个和第五个卷积块(图3中的“res1”和“res5”)的步长从2改为1。我们还将扩张因子引入后续的卷积层,以保持与原始ResNet相同的感受野大小,类似于[19]。
3.2 基本架构
一个非常自然的架构是图3(a)所示的基本架构。在基本网络的基础上,我们添加一个分类模块(图3(d))作为一个1×1卷积层,然后进行双线性上采样(由一个K分组反卷积层实现),以生成一组K激活图{A1,···,Ak},每个激活图都与图像大小相同。然后,我们使用等式(1)中给出的由Yk(p)=σ(Ak(p))给出的sigmoid单位,对属于第K类边缘的像素的概率进行建模。注意Yk(p)不是相互排斥的。
3.3 深度监督架构
整体边缘检测(HED)网络[50]的一个显著特征是具有深度监控的嵌套结构[32]。其基本思想是在顶部网络损失之外,对底部卷积侧施加损失。此外,通过监督侧面激活的线性组合,获得融合的边缘映射。
请注意,HED仅执行二进制边缘检测。我们将这种架构扩展到处理用于侧面输出的K通道和用于最终输出的K通道。我们称之为深度监督网络(DSN),如图3(b)所示。在这个网络中,我们将上述分类模块连接到每个剩余块堆栈的输出,生成5个侧面分类激活映射{A(1),…,A(5)},其中每个都有k个通道。然后,我们通过切片连接层(颜色表示图3(g)中的通道索引)融合这5个激活图,以生成一个5K通道激活图:
Af 被输入我们的融合分类层,该层执行K-grouped1×1卷积(图3(f))以产生K通道激活mapA(6)(绿色块引出来的)。最后,利用方程1在{A(1),…,A(6)}上计算出6个损失函数,以便对该网络进行深度监控。
图3。本文设计的三种CNN架构如(a)-(c)所示。
实心矩形表示CNN层的复合块。其宽度的任何减小都表明该块输出特征地图的空间分辨率下降了2倍。
除箭头外的数字表示块输出特性的通道数。蓝色实心矩形是一堆ResNet块。紫色实心矩形是我们的分类模块。
红色虚线表示块的输出由等式1中的损失函数监督。灰色实心矩形是我们的侧面特征提取模块。一个深绿色的实心矩形是我们的融合分类模块,它执行K-grouped1×1协同进化。(d) -(h)描述了(a)-(c)中使用的各种模块的更多细节,其中概述的矩形表示输入和输出特征图。
请注意,我们结合分组卷积而不是相应的常规操作执行切片级联的原因如下。由于5个侧激活是受监督的,我们隐式地约束这些侧激活的每个通道,以携带与相应类最相关的信息。
通过切片拼接和分组卷积,像素的融合激活由以下公式给出:
这实质上是将来自不同尺度的相应类特定激活整合为最终融合激活。我们的实验从经验上支持这种设计选择。
3.4 CASENet 架构
在回顾基本架构和DSN架构后,我们注意到在类别感知语义边缘检测任务中存在几个潜在的相关问题:
首先,底部的感受野是有限的,因此,鉴于上下文信息在语义分类中起着重要作用,要求网络在早期进行语义分类可能是不合理的。我们认为,语义分类应该发生在用高级信息编码特征的顶部。
其次,底部特征有助于增强顶部分类,抑制非边缘像素,并提供详细的边缘定位和结构信息。因此,在边缘检测中应该考虑它们。
我们提出的CASENet架构(图3(c))是为了解决上述问题。该网络采用嵌套式结构,在一定程度上与DSN相似,但也包含一些关键改进。我们将这些改进总结如下:
- 将底部的分类模块更换为特征提取模块。
- 将分类模块放在网络顶部,并仅对其进行监督。
- 执行共享连接(图3(h))而不是切片连接。
侧面特征提取和侧面分类之间的区别在于,前者输出的是单通道特征映射F(j),而不是K类激活。共享连接从1-3侧复制底部特征F={F(1),F(2),F(3)},以分别连接K个顶部激活:
产生的级联激活图再次通过K分组卷积馈入融合分类层,以产生K通道激活图A(6)。
一般来说,CASENet可以被认为是一个联合边缘检测和分类网络,通过一个跳跃层结构,让较低级别的特征参与并增强较高级别的语义分类。
4. 实验
在本文中,我们将CaseNet与之前最先进的方法进行比较,包括InvDet[18]、HFL[3]、弱监督对象边界[28]以及几种基线网络架构。
4.1 数据集
我们在SBD[18]上评估了这些方法,SBD是一个标准的数据集,用于语义边缘检测的基准测试。除了SBD,我们还将评估扩展到Cityscapes[8],这是一个流行的语义分割数据集,具有像素级的高质量注释和具有挑战性的街景场景。据我们所知,我们的论文是首次正式报告该数据集的语义边缘检测结果。
SBD:该数据集由来自PASCAL VOC2011[11]训练集合的11355张图像组成,分为8498张训练图像和2857张测试图像2。该数据集的语义边界标记为20个Pascal VOC类之一。
Cityscapes:该数据集包含5000张图像,分为2975张训练图像、500张验证图像和1525张测试图像。由于测试图像的标签目前不可用,我们在实验中将验证图像视为测试集。
4.2 评估协议
在SBD和Cityscapes上,使用官方基准代码和[18]中的ground truth评估每个类别的边缘检测精度。我们将所有设置和参数保留为默认值,并报告最佳数据集规模(ODS)下的最大F度量(MF)和每个类的平均精度(AP)。请注意,对于Citiscapes,我们严格按照[18]生成具有单像素宽度的ground truth边界进行评估,并考虑到评估速度,将ground truth和预测边缘贴图的大小沿每个维度减少一半。
4.3 实施细节
我们培训并测试了CASENet、HED[50],以及使用CAFFERLibrary[26]提出的基线架构。
Training labels:考虑到人类注释和真实边缘之间的不对齐,以及边界附近像素的标签模糊性,我们生成稍微厚一点的地面真实边缘用于网络训练。这可以通过观察像素的邻域并寻找分割标签中的任何差异来实现。如果存在这种差异,则该像素被视为边缘像素。在本文中,我们将邻域的最大范围设为2。在多标签框架下,不同类别的边可能会重叠。
Baselines:由于HFL和HED等几种主要比较方法使用VGG或基于VGG的架构进行边缘检测和分类,因此我们还采用了VGG上的CASENet和其他基线架构(表示为CASENet VGG)。特别是,我们删除了conv4之后的最大池层,并保持conv5、fc6和fc7的分辨率与conv4相同(输入的1/8)。与[7]类似,fc6和fc7都被视为卷积层,3×3和1×1卷积,尺寸设置为1024。对conv5和fc6应用2和4的扩张因子。
为了将我们的多标签框架与多类进行比较,我们使用每个类的非重叠边生成ground truth,重新加权softmax损失(与我们的论文类似),并用21类重新加权的softmax损失替换顶部。
Initialization:在我们的实验中,我们在CASENet中初始化ResNet/VGG的卷积块,并将所有基线与在MS COCO上预先训练的模型进行比较[34]。
Hyper-parameters:我们将所有比较方法的超参数统一在同一个基础网络上,并按照HED设置大多数超参数。特别是,我们在迭代大小为10的情况下执行SGD,并将损失权重固定为1,动量为0.9,重量衰减为0.0005.对于使用ResNet的方法,我们将学习速率、步长、gamma和裁剪大小设置为le−7/5e−8,10000/20000,0. 1/0. 2和352×352/472×472分别用于SBD和Cityscapes.。对于VGG,学习速率设置为le−8而其他人在SBD上与ResNet保持相同。对于有softmax损失的基线,学习率设置为0.01,而其他参数保持不变。根据经验,SBD和Cityscapes的迭代数分别设置为22000和40000。
Data augmentation:在训练期间,我们在SBD和Cityscapes上启用随机镜像和裁剪。此外,我们还通过缩放因子{0.5,0.75,1.0,1.25,1.5}调整每个图像的大小来增加SBD数据,而没有在Cityscapes上执行此类增强。
4.4 SBD结果
表1显示了在SBD上执行类别边缘检测的不同方法的MF分数,其中CASENet优于以前的方法。在使用[18]中的基准代码时,我们注意到曲线的召回分数并不是单调增加的,这主要是因为在测量精度和召回率时,后处理是在阈值化之后进行的。这是合理的,因为我们没有对获得的原始边贴图进行任何后处理操作。我们只在SBD上报告MF,因为在这种情况下,AP没有很好的定义。读者可以参考补充材料,了解class-wise精确回忆曲线。
Multi-label or multi-class?在基本架构下,我们将提出的多标签损失与重新加权的softmax损失进行了比较。可以看出,使用softmax会导致VGG和ResNet的性能显著下降,这支持了我们将任务描述为多标签学习问题的动机,这与以多类方式解决该问题的广为接受的概念形成了对比。
有必要进行深度监督吗?我们将CASENet与基线网络架构(包括图3所示的Basic和DSN)进行了比较。这一结果从经验上支持了我们的直觉,即可能没有必要对底层进行深入监督。特别是,CASENet在每班MF以及最终平均MF分数上经常获胜。我们的观察结果是,注释质量在一定程度上影响了网络学习行为和评估,导致不同方法之间的性能差异较小。这种区别在Cityscapes上变得更加明显。
是否需要高层监督?有人可能会进一步质疑,是否有必要对CASENet中的 Side-5 激活进行监督。我们使用CASENet−表示训练期间没有 Side-5 监督的同一案例网架构。增加 Side-5 监控后的改进表明,对更高级别的侧激活进行监控是有帮助的。我们的直觉是,Side-5监督帮助Side-5更多地关注语义类的分类,而不受底层交互的影响。
可视化侧面激活:我们将CASENet的结果可视化,CASENet−以及图5中测试图像上的DSN。总的来说,与其他两种方法相比,CASENet实现了更好的检测。我们在图6中进一步展示了该测试示例的侧面激活,从中可以看出,1Side-1, Side-2 和Side-3 DSN的激活比CASENet特征更模糊。
图5。SBD数据集上的示例结果。
第一行:输入和地面真相图像和类别的颜色代码。
第二行:不同边缘类别的结果,使用与图1相同的颜色代码。第三行:仅限人员边缘的结果。
最后一行:仅船边结果。绿色、蓝色、红色和白色分别表示阈值为0的真阳性、假阴性、假阳性和真阴性像素。5.最好用彩色观看。图6。图5输入图像上的侧面激活。
前两列分别显示了对应于船只和人员等级的DSN侧面分类激活。最后两列显示了CASENet的侧面功能和分类激活−和CASENet。
请注意,每个图像的像素值范围在其相应的侧面激活输出内分别标准化为[0255],以便可视化。这可能是由于对这些层施加了分类要求,考虑到接收范围和信息有限,这似乎有点咄咄逼人,可能会导致性能下降。此外,你可能会注意到CASENet之间“Side5 Person”和“Side5 Boat”的区别−和CASENet,CASENet的激活整体上包含更尖锐的边缘,再次显示了Side-5 监管的好处。
从ResNet到VGG:表1中的CASENet VGG的性能与HFL-FC8相当。在CRF后处理的帮助下,HFL-CRF的性能稍好一些。结果在一定程度上表明了我们的学习框架的有效性,因为HFL分别使用两个VGG网络进行边缘定位和分类。我们的方法也明显优于[28]中的HED基线,后者给出了MF/AP的44/41和检测的49/45。
其他变体:我们还研究了其他几种体系结构。例如,我们在“res1”中保持了2的步幅。这会降低输入分辨率的性能。另一种变体是使用相同的CASENet架构,但在1-3侧(图4中表示为CASENet edge)施加二进制边缘损失(其中像素被认为位于边缘上,只要它属于至少一个类别的边缘)。然而,我们发现,这种监督似乎与第五方的语义分类存在分歧。
图4。SBD数据集上不同类型案例网的训练损失。
损失分别以8000个核的长度移动平均。所有曲线均表示最终熔合损耗,CASENet-side5除外,它表示5侧输出的损耗。
请注意,案件净损失始终是最小的。
4.5 Results on Cityscapes
我们还使用ResNet作为Cityscapes的基础网络,对DSN和CASENet进行了训练和测试。与SBD相比,Cityscapes.具有相对较高的注释质量,但包含更具挑战性的场景。该数据集包含更多的重叠对象,这会导致更多情况下出现多标签语义边界像素,因此可以更好地测试所提出的方法。在表1中,我们提供了比较方法的MF和AP。据我们所知,这是第一篇定量报告Cityscapes 类别语义边缘检测性能的论文。我们可以看到,CASENet在所有类别中的表现都始终优于DSN,并有显著的优势。除了定量结果外,我们还将图7中的一些结果可视化,以便进行定性比较。
图7。城市景观的示例结果。
从左到右的列:输入、Cityscapes、DSN和CASENet。
CASENet在有挑战性的物体上显示出更好的检测质量,而DSN在非边缘像素上显示出略多的误报。最好是彩色的。
5. 结论
在本文中,我们提出了一种用于类别感知语义边缘检测的端到端深度网络。我们展示了所提出的嵌套结构CASENet,与一些现有的边缘检测和分割结构相比有了改进。我们还表明,提出的多标签学习框架在边缘检测方面有更好的学习行为。我们提出的方法比以前最先进的方法有很大的改进。在未来,我们计划将我们的方法应用于其他任务,如立体视觉和语义分割。