基于语义信息的精细化边缘检测方法

2022-03-12 05:56冉浩杉
计算机工程 2022年3期
关键词:边缘语义卷积

黄 胜,冉浩杉

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 概述

边缘检测是计算机视觉以及图像处理领域的研究热点,在早期被定义为检测图像像素强度中不连续的变化[1],通过检测图像像素强度中的一阶或者二阶梯度变化信息提取图像的边缘。边缘检测算法主要有Sobel算子[2]、Canny 算子[3]等。传统边缘检测算法虽然实时性好,但是容易受复杂自然场景的影响(如光照、自然噪声等),需要人工设置阈值,且难以满足不同场景下的要求。除传统边缘检测算法之外,基于人工设计特征的边缘检测算法主要有基于信息论人工设计特征算法(如gPb 分割算法[4]、Pb 算法[5])和基于学习人工设计特征的方法(如BEL算法[6]、Multi-scale算法[7]和Structured Edge 算法[8]等)。尽管基于人工设计特征的边缘检测方法具有较优的性能,但对于人工设计特征的依赖限制了该方法性能的提升。

基于卷积神经网络(Convolutional Neural Network,CNN)的方法是边缘检测的主要研究方向,文献[9]利用CNN 学习到的深度特征提高边缘检测的准确度。文献[10]利用CNN 提取不同尺度的特征图,融合预测图像边缘,提出端到端训练的整体嵌套边缘检测(Holistically-nested Edge Detection,HED)网络。文献[11]在HED 模型的基础结构上进行改进,提出用于边缘检测更丰富的卷积特征(RCF)模型,该模型添加了更多特征提取卷积块,以提取更丰富的图像特征并进行融合。这些方法在伯克利分割(BSDS500)[12]等主流数据集指标中具有较优的效果。

基于CNN 的边缘检测方法能够较准确地提取具有语义信息的边缘图像,但其相较于经典方法提取的图像边缘粗糙,且检测到的边缘线条较粗糙。在图像分割任务中,基于CNN 的边缘检测方法能够在分割图像任务中得到精细的图像边缘,且提取到更丰富的边缘语义特征。通过图像分割任务中提取到的语义信息特征可以增强边缘检测任务,以学习到更精细的图像边缘特征。

本文提出一种基于语义信息的精细化边缘检测方法。在主干网络中通过构建图像分割子网络以学习图像语义信息,将学习到的语义特征信息传入边缘检测子网络中进行融合,并指导边缘检测网络学习精细的图像边缘特征。同时,在边缘检测子网络中引入具有注意力机制的SE(Squeeze-and-Excitation)结构[13]进行多尺度特征图融合,并在训练中使用两阶段分步式训练策略,从而有效提高边缘检测的精细度。

1 精细化边缘检测方法

基于CNN 的边缘检测方法普遍存在图像边缘线条较厚、边缘模糊等问题,本文提出一种语义指导的精细化边缘检测方法。在RCF 网络的基础上构建子网络用于图像分割任务,通过图像分割任务学习图像中丰富的语义信息,利用学习到的语义信息指导边缘检测网络,再通过深层监督训练提高边缘检测精度。本方法的网络架构中同时进行边缘检测和图像分割任务,利用两阶段分步式训练策略训练网络,整个网络的训练采用端到端方式,其方法流程如图1 所示。

图1 精细化边缘检测方法流程Fig.1 Procedure of refined edge detection method

1.1 语义指导的边缘检测模型

语义指导的边缘检测模型的设计思想是对经典边缘检测模型RCF 网络进行改进,在主干网络VGG16[14]左端构建图像分割任务,右端构建边缘检测任务。语义指导的边缘检测模型分为图像分割子网络、边缘检测子网络、多尺度特征融合模块、语义融合模块4 个部分,其结构如图2 所示。

图2 语义指导的边缘检测模型结构Fig.2 Structure of edge detection model with semantic guidance

1)图像分割子网络

为构建图像分割子网络,本文在主干网络的末端构建一条拓展路径用于反卷积操作,在拓展路径上共由4 个反卷积组成,每个反卷积的卷积核为3×3,且使用双线性插值法进行初始化,通过将特征图尺寸放大2 倍,使得主干网络末端输出的特征图经过拓展路径后还原到原图大小,同时利用分割图像标签进行监督并输出分割图像。通过构建的拓展路径操作,主干网络与拓展路径能够组成一个类似U-Net[15]的图像分割子网络,该子网络能学习到更丰富的语义信息特征,并用于指导边缘检测子网络学习更精细的图像边缘特征。

2)边缘检测子网络

在主干网络的不同阶段中,边缘检测子网络能够提取不同尺度的边缘特征,由于不同深度的阶段感受野不同,因此提取到的特征层次也是不同的。例如在Stage_1 中提取到的低级细节特征较多,而语义特征较少;而Stage_5 中却能够提取大量的语义级别的高级特征和少量语义信息的细节特征。因此,主干网络将提取到的不同尺度图像特征信息送入到具有注意力机制的不同尺度特征融合模块(SE Fusion)中进行特征融合,在边缘检测标签的监督下利用低级细节特征与高级语义特征输出更精细的边缘图像。

主干网络能够提取更丰富的高级语义信息,在Stage_4 以及Stage_5 中加入混合膨胀卷积(Hybrid Dilated Convolution,HDC)[16]的卷积结构,将Stage中的3 个卷积块替换为膨胀率分别为1、2、5 的3×3大小的膨胀卷积核。主干网络利用混合膨胀卷积的结构,一方面在不增加额外参数的情况下扩大网络中Stage_4 与Stage_5 的感受野,使得提取到的高级语义特征更加丰富,另一方面防止仅使用膨胀卷积造成的空洞过多,卷积核无法计算像素中的所有像素,导致图像中像素信息连续性丢失。

本文方法将图像分割子网络的输出与边缘检测网络的最终输出相融合,利用两个子网络的输出特征图进行维度拼接并使用一个1×1 卷积进行特征压缩,最终在边缘标签的监督下得到边缘图像最终输出,使得图像分割子网络输出具有丰富语义信息的特征,指导边缘检测网络进行更加精细的边缘检测任务。

3)多尺度特征融合模块

在边缘检测子网络中,为了更好地融合不同尺度大小特征信息,并充分利用其中的高级语义特征和低级细节特征,本文结合SE 结构提出一种带注意力机制的特征融合模块,其模块结构如图3 所示。

图3 多尺度特征融合模块Fig.3 Multi-scale feature fusion module

本文利用SE 结构区分重要特征通道和不重要特征通道,使得在带SE 结构的特征融合模块中能够抑制特征信息中不重要的低级细节特征,并增加重要的高级语义特征。主干网络中各Stage 块输出不同尺度和不同通道数的特征图,输出的特征图像分别具有42 和63 的通道数,经过SE 模块后这些通道数会被分配不同的权重,通过权重来区分重要的特征信息,以抑制不重要的特征信息。

SE 结构能够嵌入到各类残差模块中,本文为了避免因模型深度的增加导致重要特征信息丢失,在SE 模块中加入ReNeXt[17]残差结构,实验结果表明,加入ReNeXt 结构的模型具有更优的边缘检测效果。

4)语义融合模块

本方法将分割子网络与边缘检测子网络输出的特征图像送入语义融合模块,并进行最终的语义指导融合。在此模块中,为充分利用分割子网络所提取的高级语义特征,本方法将带有两种不同语义信息的特征图像进行维度拼接(concat)操作后,再输入到SE 模块中赋予合适的权重。在本文语义融合模块中的高级边缘语义特征将得到较高权重并对其进行加强,然而不重要的细节语义特征使用较小权重进行抑制,使得边缘检测子网络充分提取高级边缘语义信息,最后使用1×1 卷积降维后输出边缘图像。

1.2 语义信息指导的边缘检测模型训练策略

1.2.1 数据集增强

模型在BSDS500 数据集上进行训练,该数据集同时具有图像分割标签以及边缘检测标签,能够满足本模型双标签训练的需求。BSDS500 数据集包含训练集图像200 张,测试集图像200 张,验证集图像100 张。模型因数据集过小导致训练出现过拟合,因此本文对数据集进行数据增强操作,采用单样本随机数据增强方法,以保证数据增强后数据集的质量。通过对训练集与验证集中共300 张图像进行仿射变换、增强对比度、裁剪、翻转等多种随机操作,使得训练集中图像增多到25 000 张。

1.2.2 模型损失函数

本模型是图像分割任务以及边缘检测同时进行的多任务网络,需分别对2 个任务中的代价函数进行定义,并利用图像分割任务的结果进行语义指导融合,最终输出精细化边缘预测图像。模型的最终输出也需要接受边缘检测标签的监督,因此需要定义3 个代价函数。对于输入图像X,本文将其在图像分割子任务中的预测图像表示为Fseg,在边缘检测任务中的预测图像表示为Fedg,最终输出的边缘预测图像如式(1)所示:

其中:f(*|W)为特征图融合操作;W为其中卷积操作的参数。对于图像分割子任务的目标损失函数,本文采用通用的交叉熵函数,如式(2)所示:

针对边缘检测中类别不平衡的问题,本文在边缘检测任务以及最终语义信息指导融合阶段均采用加权交叉熵函数,如式(3)所示:

其中:|Y|为图像像素总数;Y+和Y-分别为图像中边缘像素集和非边缘像素集,其权重参数β=|Y-|/|Y|,则1-β=|Y+|/|Y|,通过这2 个权重参数来保护边缘像素,以抑制非边缘像素;为边缘检测子任务预测图中的第i个像素;为在像素yi上的分类置信度;We为训练参数集合。

1.2.3 两阶段分步式训练

在网络模型训练阶段,本文采取两阶段分步式训练策略,使得在网络中的两个子任务得到更好的训练。在第一个阶段中进行两端子任务的训练,此时模型的目标损失函数如式(4)所示:

其中:λ为均衡系数,主要均衡两端子任务目标函数的比例,在本实验中设置为0.5,在此目标损失函数下将模型训练至基本收敛,且两端子任务能够输出较好的预测图像。

第二个阶段的训练是在第一个阶段模型收敛之后进行的,对第一个阶段训练得到的模型权重参数进行固定,并指导融合阶段边缘图像输出的训练,此时模型的目标损失函数如式(5)所示:

其中:Lfusion为加权交叉熵函数;Ffusion为语义指导融合后输出的边缘图像。在第二个阶段中将模型训练至收敛,在图像分割子任务中语义信息指导下,模型能够输出精细的边缘图像。

2 实验与结果分析

本文实验在数据增强后的BSDS500 数据集上进行,共有25 000 张训练图像,200 张测试图像。本文提出的模型使用谷歌开源的Tensorflow1.12.0 版本作为开发框架,在Linux 环境下进行实验,硬件设备为4 块NVIDIA GeForce GTX 1080 Ti GPU 同时训练,每张显卡内存12 GB,模型的测试环境为Windows 系统,CPU为Intel i5-4200。

2.1 实验训练参数设置

由于本文模型对输入图像的大小不敏感,因此本文将所有训练集的图像统一修改为256×256 像素。在模型训练过程中,本文使用Adam 优化算法作为训练的优化器,初始学习率设置为0.000 1,然后每迭代10 000 次,将学习率降低1/10,batch size 设置为4,momentum 设置为0.9。模型训练并未使用任何预训练模型,所有权重的初始化使用Xavier[18]初始化。

2.2 实验分析

本文使用固定轮廓阈值(ODS)和图像最佳阈值(OIS)作为评价指标,其中ODS 是在测试集中的所有图片均使用固定阈值进行评估得到的F-measure;OIS 是在测试集中每张图片使用这张图片最佳的阈值进行评估,以得到F-measure[19]。所有测试集的边缘图像输出都经过非极大值抑制[20]处理,再使用Edge Box[21]测量工具进行指标测量。

本文方法与目前主流的边缘检测方法的ODS和OIS 对比如表1 所示。表中前3 个为传统基于特征的方法,后4 个是基于卷积神经网络的方法,所有对比方法均使用与本文方法相同的实验环境和原论文参数。

表1 不同方法的ODS 和OIS 对比Table 1 ODS and OIS comparison among different methods

从表1 可以看出,相比HED,本文方法的ODS 和OIS 指标分别提高了3 和3.7 个百分点,相较于RCF分别提高了0.7 和1.1 个百分点。因此,本文方法能够提升边缘检测的精细度,在ODS 和OIS 指标上都有一定的提高。

图4 表示本文方法中两个子任务输出与最终语义信息指导输出的对比,可以看出,经过语义指导融合的边缘图像比边缘检测子任务中输出的边缘图像更加精细,且在边缘线条中保留了更多细节特征,从而提高了清晰度。

图4 两个子任务输出与最终语义信息指导输出的对比Fig.4 Comparison between the output of two subtasks and semantic information guidance output

为验证本文所提模块的有效性,本文进行了5 种不同配置的实验,所有实验训练参数均相同,并在增强后的BSDS500 数据集上进行训练。通过5 种不同配置下的实验分别验证混合膨胀卷积(HDC)、多尺度特征融合(SE Fusion)、语义指导(Semantic Guidance,SG)的有效性,表2 为不同配置下的实验结果。

表2 本文方法在不同模块下的ODS 和OIS 对比Table 2 ODS and OIS comparison of the proposed method on different modules

从表2 可以看出,在原始模型中依次添加HDC、仅包含ResNeXt 的SE 融合模块以及SG 模块,模型的ODS 和OIS 指标都得到了提高。在对比实验中,在加入图像分割子任务SG 模块后,模型ODS 和OIS分别提高了0.002 5 以及0.005 4,说明在图像分割子任务中能够提取到丰富的特征信息,其中包含高级语义信息和边缘细节特征信息,这些特征信息能够指导边缘检测任务以输出更精细的边缘图像。此外,在SE Fusion 模块中加入残差结构ResNeXt,模型能够进一步改进边缘检测效果。加入残差结构后的SE Fusion 模块在ODS 和OIS 上分别提升了0.001 7和0.002 3,表明加入残差结构配合SE 模块能够充分融合多尺度的特征图信息,一方面残差结构保留了更多的细节特征以及高级语义特征,另一方面SE 模块抑制了对于边缘检测任务不重要的特征通道,而增强了重要的特征通道,使得模型更注重边缘检测任务的特征。

为了从主观视觉上更好地与其他边缘检测方法进行对比,图5 表示基于全卷积网络和传统的边缘检测方法与本文方法的边缘检测效果对比,其中Canny 方法的超参数σ=2.0。从图5 可以看出,本文提出的方法能够有效解决基于全卷积网络的边缘检测方法输出边缘模糊、线条粗糙等问题,其得到的边缘图像在细节上更精细,且边缘线条更清晰。

图5 不同方法的边缘图像检测效果对比Fig.5 Edge image detection effects comparison among different methods

3 结束语

本文提出一种基于语义信息的精细化边缘检测方法。利用RCF 网络构建图像分割子网络,即在主干网络末端构建一条扩展路径用于反卷积操作,以提取图像丰富的语义信息。同时,在主干网络中加入混合膨胀卷积以增大网络感受野,构建具有SE 模块以及残差结构的多尺度特征融合模块。实验结果表明,本文方法在ODS、OIS 指标上均优于HED、RCF 等主流边缘检测方法,其预测的边缘检测图像更接近标签图像,且生成的图像边缘清晰准确。后续将在模型训练中融合分割子任务与边缘检测子任务的输出特征图,进一步优化语义信息指导效果。

猜你喜欢
边缘语义卷积
真实场景水下语义分割方法及数据集
基于3D-Winograd的快速卷积算法设计及FPGA实现
语言与语义
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
一张图看懂边缘计算
“吃+NP”的语义生成机制研究
汉语依凭介词的语义范畴
在边缘寻找自我