跨层多尺度特征融合的边缘检测模型*
2023-07-11杨祖源刘华军
杨祖源 刘华军
(南京理工大学计算机科学与工程学院 南京 210094)
1 引言
边缘检测是在图像中提取物体显著的边缘信息[1],在绝大多数的视觉任务[2]中发挥着重要的作用,应用包括光流估计、图像分割[3]和生成图像修复[4]等。
边缘作为图像中的重要结构特征往往存在于不同的区域以及物体和背景之间。LapLace,Prewwit,Sobel[5]和Canny[6]算子等传统的边缘检测算法利用图像的颜色、纹理和梯度信息等特征来进行边缘检测,这些特征在复杂的环境中难以实现高质量的边缘检测。Dollar等[7]通过随机决策森林的方法生成图像块,进一步提高输出边缘的质量。上述方法都是基于人工设计的,这对于具有语义意义的边缘检测来说,使用手工设计的特征去表示高级复杂信息的能力是非常局限的。
由于深度学习理论在计算机视觉方面有了重大的突破,越来越多的研究人员开始使用卷积神经网络[8]进行边缘检测。Shen 等[9]提出的DeepContour 边缘检测算法对图像块进行分类,采用分治策略,最后对分类结果进行融合。Bertasius 等[10]提出的DeepEdge 模型同时在多个尺度上进行边缘检测,通过Canny 算子得到边缘候选点并结合图像的局部信息,从而提升了边缘检测的精度。Xie 等[11]提出HED 模型,通过使用全卷积神经网络和深监督的方式让网络能够自动学习提取边缘特征,让网络能够学习到边缘的高层语义信息。Liu等[12]提出了RCF 模型,在HED 模型的基础上对所有卷积层的输出都进行了融合,并且采用了鲁棒性更好的损失函数进行训练,但是得到的结果边缘较粗而且噪声较多。
因此,本文提出一种跨层多尺度特征融合(Cross-layer Multi-Scale Feature Fusion,CMFF)的边缘检测模型,在残差网络[13]中引入扩张卷积[14]和全局注意力模块;设计了多尺度融合模块,增大模型感受野的同时提取更高效的边缘特征;为了进一步提取更精细的边缘,设计了跨层融合模块,将高层含有全局信息的特征和低层含有细节纹理的特征进行融合,使得低层特征也能关注全局特征。
2 网络模型
2.1 模型总体结构
CMFF 模型以Resnet50[13]为主干网络,将第一个stage 和最后一个stage 的3×3 卷积核的步长设为1。对最后一个阶段的3 个Bottleneck 使用扩张系数分别为1、2、3 的扩张卷积,保证能够在不增加模型计算量的同时扩大感受野。在每个Bottleneck里加入全局注意力模块(Global Attention Module,GAM),网络能够学习到不同通道和不同位置像素点的关联性,从而提高了边缘检测精度。多尺度融合(Multi-Scale Fusion,MSF)模块对每个stage的侧边输出进行多尺度特征融合,让模型充分学习到不同尺度下的边缘特征。跨层融合(Cross-layer Fusion,CLF)模块对高层产生的特征图和低层产生的特征图进行跨层特征融合,使得低层也能够关注高层的全局特征。模型的结构图如图1所示。
图1 CMFF网络结构
2.2 全局注意力模块
在Bottleneck模块加入全局注意力[16]模块。全局注意力模块如图2 所示,通过融合特征图的通道维度信息和空间维度信息,使得生成的特征图更能关注全局显著的边缘。在通道维度方面,输入的特征图F分别经过平均和最大池化操作得到和,将两个特征图经过两个全连接层并将输出的特征进行元素加和,再经过Sigmoid 得到Mc。将Mc与F 对应元素相乘得到具有通道关注的边缘特征图F1。计算公式如下:
图2 全局注意力模块
其中,avgpool(·)表示平局池化操作,maxpool(·)表示最大池化操作,fc(·)表示全连接输出,σ(·)表示Sigmoid激活函数输出。
在空间维度方面,F1沿着通道维度经过平均和最大池化操作得到和,然后将这两个特征以级联的方式进行融合,通过卷积层进行卷积,再经过激活函数得到Ms。最后将Ms与F1对应元素相乘得到同时具有通道和空间关注的特征图F2。具体计算公式如下:
其中,c(·)表示特征连接操作,⊗表示卷积输出。
2.3 多尺度融合模块
多尺度融合模块结构如图3所示。
图3 多尺度融合模块
由于大尺度的卷积核会使模型的计算量急剧增大,从而导致模型的训练难度增大和训练时间变长,因此采用扩张卷积代替大尺度卷积核,保证在模型参数不增加的情况下也能学习到大尺度的特征信息。首先采用一个3×3卷积对输入的特征图F的特征维度降低到32,经过Relu 激活函数得到Fc,然后采用三个扩张系数分别为4,8,12 的3×3扩张卷积对图像进行特征提取,得到特征图F1,F2和F3,然后经过Relu 激活函数。最后,将F1,F2,F3和Fc进行元素相加融合,生成最终的特征图Fd。具体计算公式如下:
其中,relu(·)表示激活函数输出,⊗(·,d)表示扩张系数为d的卷积输出。
2.4 跨层融合模块
跨层融合模块结构如图4 所示,CLF 模块首先对高层的特征Fk+1上采样到低层特征Fk的大小,然后以元素加和的方式和低层的特征Fk进行特征融合,再通过Sigmoid激活函数得到Fadd。最后,将低层的特征图和经过Sigmoid激活函数后的特征图mask 对应的元素进行相乘得到Ffuse,低层特征能够充分学习高层特征的全局信息。具体计算公式如下:
图4 跨层融合模块
其中,upsample(·)表示上采样操作。
对于CLF模块的输出,一方面作为前一阶段的CLF 模块的输入;另一方面使用反卷积操作,上采样到原图像大小,通过标签图对每个阶段的输出进行深监督学习。
2.5 损失函数
边缘检测数据集通常由多个注释者进行标记。对于每一个图像,对所有标签加和取平均值得到一个边缘概率图。我们将概率等于0 的像素认为是负样本,概率高于η的像素认为是正样本,处于中间值的像素则认为是模糊的,不参与损失计算。本文模型使用文献[12]所使用的交叉熵函数作为损失函数,每个像素相对于标签的损失值计算公式如下:
其中,Xi表示第i 个像素点的像素值,yi表示第i个像素点的标签真值,P 表示边缘预测概率,W 表示模型的权重,|Y+|和 |Y-|分别代表正负样本的个数,参数λ用来平衡正负样本的数量比例。
2.6 不同阶段的损失权重
由于模型中每个阶段输出的边缘结果差异较大,每个阶段损失的量级可能不一样,而且最后的融合结果应该处于主导地位,因此本文设置了不同阶段的损失权重,增加了模型中最后两个阶段的损失比重和融合阶段的损失比重,使生成的检测结果更具鲁棒性。将模型的5 个stage 的损失权重设置为,最终融合层的损失权重为Sfuse,因此总损失函数可写为其中,n 代表每张图片像素点的总数,表示第k个stage的损失权重,Sfuse表示融合层的损失权重。
3 实验
3.1 数据集
BIPED 数据集是由文献[15]公开的一个经过仔细注释的边缘数据集。它包含250 幅1280×720像素的户外图像,其中200 张图像为训练图像,其余50 张图像为测试图像。为了增加训练图像的数量,对数据集进行了水平翻转,旋转角度等操作。
BSDS500[16]数据集是伯克利大学提供的用于边缘检测的数据集。该数据集包含训练集,验证集和测试集总共500 张图像。对训练集和验证集进行了类似BIPED 数据集的数据扩充。最后加上PASCAL VOC Context[17]数据集用于训练。
NYUDv2[18]数据集是由纽约大学提供的从室内场景捕获的密集标记的RGBD 图像。NYUDv2数据集包含381个训练图像,414个验证图像和654个测试图像。我们利用图像的深度信息来获取图像的HHA 特征,然后通过归一化将HHA 特征表示为彩色图像。最后对RGB图像和HHA特征图像分别进行训练,取两者输出的平均值作为模型最终的输出。
3.2 训练细节
在BSDS500数据集中,由于每个图像由多个注释者标记,所以在训练时,将η设为0.3。由于BIPED 数据集和NYUDv2 数据集提供了二值的标签,所以η在这里没有意义。NYUDv2 数据集中,RGB和HHA 的λ均设置为1.2,BIPED 数据集和BSDS500 数据集的λ设置为1.1。对于不同阶段的损失权重,本文将分别设为0.5,0.5,0.5,0.6,0.6,Sfuse设为1.2。
3.3 实验结果
边缘检测结果的指标通常包含ODS[19],OIS[19]和AP。用于评估的边缘图需要对模型输出的边缘图进行非极大值抑制处理。
在BIPED数据集上,本文与其他相关算法进行了对比,结果如表1 所示。从表中可以看出,CMFF模型的ODS 和OIS 分别比DexiNed 模型提高了0.7%和0.4%。
表1 各算法在BIPED的对比结果
BSDS500数据集上的对比结果如表2和图5所示。其中MS 表示多尺度输入,从表中可以看出CMFF模型的ODS和OIS分别比RCF-ResNet101模型提高了0.2%和0.1%。图6 给出了CMFF 模型和HED,RCF模型边缘输出的对比结果。从图中可以看出HED 和RCF 模型产生的边缘图像中包含较多无关的纹理细节,而且噪声也比较多,而CMFF 模型更能够关注物体整体的边缘,且对一些细节模糊的问题处理得更好。
表2 各算法在BSDS500的对比结果
图5 BSDS500评估结果
图6 不同模型在BSDS500的结果对比
NYUDv2 数据集有3 种类型的输入,分别为RGB,HHA和RGB-HHA。根据之前的相关工作[12],本文对3种输入都进行了评估。其中,对RGB模型和HHA 模型的输出取平均值作为RGB-HHA 的评估结果。本文与其他相关算法进行了对比,对比结果如表3和图7所示。
表3 各算法在NYUDv2的对比结果
图7 NYUDv2评估结果
从表中可以看出,CMFF 模型的ODS 和OIS 分别比RCF模型提高了0.4%和0.8%。
3.4 消融实验
为了查看CMFF 模型每个模块的提升效果,在BSDS500 数据集上进行了实验,实验结果如表4 所示。
表4 各模块改进效果的比对结果
在主干网络中引入GAM 注意力模块和扩张卷积后,模型的ODS 和OIS 分别提高了0.1%和0.1%,证明了本模型的主干网络提取的特征信息更加丰富有效。另外,在每个stage 通过MSF 模块对多尺度特征进行融合,ODS 和OIS 分别提高了0.4%和0.2%,说明模型能够充分融合不同尺度的特征提取更高效的边缘特征。通过CLF 模块跨层融合不同阶段的输出特征,ODS 和OIS 分别都进一步提高了0.3%和0.2%,说明通过将高层特征传递给低层后,模型能学习到更多的全局特征。
4 结语
本文提出了一种跨层多尺度特征融合的边缘检测模型。模型在Resnet50 主干网络中加入GAM模块,提高了模型的特征提取能力。在最后一个stage 采用扩张卷积提升模型的感受野。另外,模型采用了一种多尺度特征融合方式,使得每个stage 能提取更高效的边缘特征。模型还采用了一种由高到低的特征融合方式,使得模型能够更加注重全局信息。以上实验说明CMFF 模型能够生成更清晰,更具鲁棒性的边缘图像。