本文首发于知乎专栏“关于语义分割的分享” ,经作者授权转载。
摘要:本文主要是给出一个类别感知的语义边缘检测算法。传统的边缘检测本身就是一个具有挑战性的二元问题,相比之下类别感知的语义边缘检测是一个更具有挑战性的多元问题。因为边缘像素出现在属于两个或更多个语义类的轮廓或连接点中,所以本文对每个边缘像素与至少两个类别相关联这个问题进行建模,并提出了一种新的基于ResNet的端到端深度语义边缘学习架构,以及新的跳跃结构,其中顶层卷积层上的类别边缘特征进行共享并与同一组底层特征进行融合。最后,提出了一个多类别的损失函数来监督特征的融合。
上图是CItyscapes数据集中的一张道路图,其中有几类物体,比如:建筑、地面、天空和汽车等等。其中位于建筑物和杆轮廓上的边缘像素可以与这两个类别都相关联。在上图中对边界进行了可视化,列出了典型的类别组合的颜色,如“建筑+杆”和“道路+人行道”。在本文的问题中,每个边缘像素由一个向量表示,其中向量的每个元素表示该像素与不同语义类别之间的关联程度。虽然大多数边缘像素只与两个类别对象相关联,但在路口的情况下,可能边缘像素与三个甚至更多的类别像素相关联。因此,不限制一个像素可以关联的类别对象的数量,这也奠定了本文是作为一个多标签学习问题来进行研究的。
在本文中,提出了CASENet,一个能够检测类别感知语义边缘的深度网络。给定个语义类别,网络实际上产生个独立的边缘图,其中每个图表示某个类别的边缘概率。上图分别给出了测试图像的边缘图。
本文的工作与HED(下面会介绍)同样采用了嵌套体系结构,但是将问题扩展到更困难的类别感知语义边缘检测问题上。其中主要贡献如下:
1. 为了解决边缘分类,提出了一种多类别的学习框架,比传统的多类框架更好地学习边缘特征。
2. 提出了一个新的嵌套结构,在ResNet上不使用深监督,其中底部的特征用于加强顶部的分类。本文还发现深监督对该问题没有益处(深监督可以参考DSN的结构,即对每一个侧面的输出都进行监督学习)。
给定输入图形,其目标是基于预定义类别计算相对应的语义边缘图。对于输入图像和语义类别,可以获得个边缘图,其中每个边缘图的大小与输入图像大小相同。网络中带有参数,把作为网络输出,该式表示像素的第个语义类别的边缘概率。
多类别的损失函数
可能由于语义分割的多类性质的原因,关于类别感知语义边缘检测的几个相关文章都是从多类学习的角度来研究问题(一个object属于一个label)。本文认为这个问题本质上应该允许一个像素同时属于多个类别的,并且应该由多标签学习框架来解决。
因此,我们提出多标签损失。假设每个图像都有一组标签图像,其中表示第类语义边缘的真值。多类别损失函数表示为下式:
其中是图像中非边缘像素占样本数偏度的百分比(这个偏度我也不是很懂)。
本文提出了CASENet,一种端到端可训练的卷积神经网络(CNN)架构(如图c所示)来解决类别感知语义边缘检测。在描述CASENet之前,首先提出两种可选的网络架构,尽管这两种架构也可以检测出边缘,但是都有一些无法解决的问题,本文通过提出CASENet架构来解决这些问题。
基本网络
本文采用ResNet-101框架,通过删除原来的平均池和完全连接的层,并保留底层卷积。 为了更好地保留低级边缘信息,进一步修改基本网络。本文将ResNet-101中的第一和第五卷积层(上图中的“res1”和“res5”)的步长大小从2变为1。将扩张因子(dilation)引入后续的卷积层,以保持与 原来的ResNet相同大小的感受野。
基本结构
在上面提出的基本网络的顶层,添加一个分类模块(图d),一个1×1卷积层后面加一个双线性上采样(由组反卷积层去实现)以产生个激活图,每个都与图像大小相同。 然后,由公式(多类别损失函数中的公式)中给出的单元来计算一个像素属于第类边缘的概率。
深监督框架
全局嵌套边缘检测(HED)网络的是一个有深监督的嵌套架构。基本思想是除了顶部的网络损失之外,也计算底部卷积层造成的损失。另外,通过监督侧面激活的线性组合来获得融合边缘图。
HED仅执行二进制的边缘检测。本文扩展了这种框架,用于处理K个通道的侧边输出的和K个通道的最终输出。如图b,这里称其为深度监督网络(DSN)。在该网络中,将之前描述的分类模块连接到每个残差块的输出,产生5个侧边分类激活图,其中每个激活图都有K个通道。然后通过切片级联层(图g中颜色表示通道下标)来融合这5个激活图,以产生5×K个通道的激活图:
被送入融合分类层进行组的1×1卷积(图f)以产生通道激活图。 最后,使用公式(多类别损失函数中的公式)基于计算6个损失函数,对网络进行深监督。
这里的连接采用切片级联和组卷积的原因如下:由于5个侧面激活是被监督的,所以限制侧面激活的每一个通道,以使它带来与相应类最相关的信息。
通过切片连接和分组卷积,像素的融合激活由下式给出:
这基本上集成了来自不同尺度的相应类的激活作为最终融合的激活,同样地,本文也使用了这种设计。
CASENet框架
在介绍完基本框架和DSN框架后,发现类别感知语义边缘检测任务中存在几个潜在的问题:
第一,底部的感受野是有限的。因此,由于早期的网络给出的语义分类是不合理的,所以给出上下文信息在语义分类中起着重要作用。本文认为,语义分类应该在顶部发生,其中特征由高级信息进行编码。
第二,底面侧面特征有助于增强顶级分类,抑制非边缘像素并提供详细的边缘定位和结构信息。因此,在边缘检测中应该考虑到它们。
本文提出的CASENet架构(图c)是可以解决上述问题的。该网络采用嵌套架构,在某种程度上与DSN有些相似,但也包含了几个关键的改进。总结这些改进如下:
1. 将底部的分类模块更换为特征提取模块。
2. 将分类模块放在网络的顶部,并进行监督。
3. 执行共享级联(图h),而不是切片级联。
侧面特征提取和侧面分类之间的区别在于前者仅输出单通道特征图而不是类激活图。共享级联从Side 1-3复制底层特征并分别连接到个顶部激活中的每个激活:
将所产生的连接激活图再次送入到有组卷积的融合分类层中以产生通道激活图。
一般来说,CASENet可以被认为是一个联合边缘检测和分类网络,通过让低级特征参与,并通过跳跃结构来增强更高层次的语义分类。
论文地址:https://arxiv.org/abs/1705.09759
论文视频地址 :http://v.youku.com/v_show/id_XMjgyMzYyNDk3Ng==.html
*推荐文章*
通过文字描述来生成二次元妹子!聊聊conditional GAN与txt2img模型
应用篇|漆远:AI在蚂蚁金服业务的应用(最新演讲实录+核心PPT)
*注*:如有想加入极市专业CV开发者微信群(项目需求+分享),请填写申请表(链接:http://cn.mikecrm.com/wcotd9)申请入群.