轮廓检测深度学习模型的多尺度特征解码网络
2021-07-12张晓林川王蕤兴
张晓 林川 王蕤兴
摘 要:轮廓检测旨在提取自然场景中目标形状以及区域与区域之间显著的分界线,是计算机视觉中的研究热点之一.近几年,基于卷积神经网络的轮廓检测模型取得了显著突破,这些模型由编码网络和解码网络两部分构成.编码网络一般采用现有的VGG16网络,研究者主要致力于解码网络设计.考虑到自然图像中包含许多不同尺度的轮廓,充分利用丰富的层级特征对于轮廓检测非常重要.因此,从充分利用多尺度特征的角度出发,提出一种能够有效整合不同尺度卷积特征信息的解码网络结构.将输入信息分成浅层、中层和深层3种特征,利用解码网络分别对不同尺度的特征进行整合,最后平均融合3种特征,进行图像到图像的轮廓预测,在BSDS500数据集上对模型进行评估.对比实验结果表明,模型预测的轮廓清晰,最佳数据集尺度指标达到了0.818,具有较好的性能评估指标.
关键词:轮廓检测;卷积神经网络;解码网络;多尺度特征;计算机视觉
中图分类号:TP391.41 DOI:10.16375/j.cnki.cn45-1395/t.2021.03.010
Zhang等[18]引入注意力机制,提出一种实时的注意力边缘检测框架,虽然检测精度一般,但是帧数很高.Lin等[19]提出基于权重卷积和临近连接的解码网络结构,该网络被称为横向提纯网络(lateral refined network,LRNet),能够较好地整合不同层次的特征信息.
上述CNN模型已经显著地提升了轮廓检测的性能水平.这些方法使用VGG16作为编码网络,只利用每个阶段最后1层的卷积特征,这样的做法不能充分利用VGG16豐富的卷积层特征,在预测细节上会有很多缺失.因此,从充分利用多尺度和不同层级的卷积特征角度出发,设计了1个能够更有效地融合多种卷积特征的解码网络,将VGG16所有卷积层的输出按照尺度进行分组处理,最后平均融合不同尺度的特征预测,得到最终预测结果.为了检验模型性能,在BSDS500数据集[5]上进行定性和定量的评价,并与其他CNN模型的检测效果进行对比.实验结果表明,本文提出的模型优于其他CNN模型,取得了较好的检测性能.
1 网络模型
1.1 网络架构
本文以VGG16作为编码网络,设计了更有效的解码网络.VGG16由13个卷积层和3个全连接层组成,在图像分类[13]、目标检测[20]等计算机视觉任务中实现了较好的性能.图1展示了本文提出的CNN模型结构,可以看到网络整体由编码网络和解码网络2部分构成,图像从编码网络输入,解码网络接收VGG16所有卷积层的输出特征,产生轮廓预测.图1(a)展示了编码网络,编码网络由改动后的VGG16网络构成.相比原来的VGG16结构,本文以池化层作为分界线,将VGG16的卷积层分成S1、S2、S3、S4和S5 5个阶段,同时去除网络最后的3个全连接层以及最后的1个池化层.原因有二:一是因为模型不进行分类任务,不需要全连接层;二是因为最后的1个池化层导致特征分辨率已变为原来的1/32.经过上采样后轮廓会很粗,这对于轮廓定位是有害的.同样,考虑到S5中的特征分辨率已经变为原来的1/16,将S5之前的池化层改成空洞卷积结构.空洞卷积是Chen等[21]提出的一种卷积核结构,他在图像分割任务中证明了这种结构的有效性.空洞卷积可以在不改变特征的分辨率和不增加网络计算参数的前提下,提取多尺度特征.图1(b)展示了解码网络的整体结构,解码网络具体的描述如下:
1)解码网络的输入来自编码网络的13个卷积层的输出特征.由于越深的卷积层提取到的轮廓特征越粗略,因此,将每个阶段中第一个卷积层的输出特征定义为浅层特征,记为“L”;第二个卷积层的输出特征定义为中层特征,记为“M”;第三个卷积层的输出特征定义为深层特征,记为“D”.随后,将浅层特征L1—L5、中层特征M1—M5、深层特征D1—D3分成3组,分别输入一系列精炼模块R中,“R”的具体结构见图2,通过逐级融合得到3种不同尺度的输出特征.输出_1和输出_2分别经过通道深度为1的1×1卷积层后得到相应尺度的预测,输出_3经过通道深度为1的1×1卷积层和双线性上采样后得到相应的预测.最后,将3种预测平均融合得到最终的轮廓预测,并计算其损失.
2)图2展示了精炼模块R的主体结构.精炼模块接收2个输入特征,每个输入分别经过1个权重卷积层,其中分辨率低的特征通过双线性上采样恢复分辨率,最后两者相加融合得到输出,输出特征的通道数与输入特征中通道数少的保持一致.
3)图3展示了精炼模块R中权重卷积层的具体结构.与Lin的结构[19]不同的是,模型增加了1个批归一化层(batch normalization,BN),减缓网络过拟合以及增强网络泛化能力.特征信息进入权重卷积层后,依次经过1个3×3卷积层、线性整流单元(rectified linear unit,ReLU)和BN层后,乘以1个经过sigmoid函数归一化的超参系数φ,最终输出.3×3卷积层的通道数与精炼模块的2个输入中通道数少的一致.
综上所述,本文将VGG16所有卷积层的特征组合到1个统一的框架中,从结构上看,本文提出的解码网络是1个水平方向上不断加深的网络,同时将不同层级的特征分别进行处理,这种慢慢的提纯操作使得解码网络有望解析出更精细的轮廓.
1.2 损失函数
从图1(b)可知,针对最后的轮廓预测图,计算每一个像素跟标签的损失.因为正负样本的分布不均衡,所以采用类平衡交叉熵损失函数.考虑到BSDS500数据集的标签被多人标注的问题,引入阈值[η]用于损失的计算.对于1张真实轮廓图[Y=yj, j=1, …, Y, yj∈0, 1],定义[Y+=yj, yj>η]和[Y?=yj, yj=0],[Y+]和[Y?]分别代表正样本集和负样本集,其他像素全部忽略,因此,损失计算如式(1)所示.
[l(P, Y)= ?αj∈Y?log(1?pj)?βj∈Y+log(pj)] (1)
[α=λ?Y+Y++Y?β=Y?Y++Y?] (2)
式(1)中:[P]代表轮廓预测,[pj]代表在预测的像素j处经过一个sigmoid函数处理后的值,[α]和[β]分别用于平衡正负样本,[λ]是用于控制[α]大小的权重.
2 实验结果与分析
2.1 网络训练
在BSDS500数据集上评估模型性能.BSDS500数据集是一个公开的用于训练和评估轮廓检测模型的数据集,包括200张训练图片,100张验证图片,200张测试图片,每张图片的标签由多人标注组成.与文献[14-15, 19]中的训练策略一样,将训练集和验证集合并,共同作为训练集,通过随机缩放、旋转和翻转来扩增数据集.同时,将BSDS500的扩增数据集和翻转的PASCAL VOC Context数据集[22]混合作为训练集去训练网络.本文也利用图像金字塔进行多尺度轮廓检测,以进一步提升检测性能.具体地,首先把1张输入图像的大小调整为3种不同的分辨率,并且把每一张图片都输入到网络.随后,通过双线性插值将输出调整为原始分辨率.最后,平均所有的输出得到最终预测.出于对精度和速度的权衡,在本文中使用的3种比例分别是0.5、1.0和2.0.
本文使用PyTorch實现网络设计,使用在ImageNet[23]上预训练的VGG16用于初始化主干网络,其他卷积层使用均值为0、标准差为0.01的高斯分布进行初始化.所有BN层的权重和偏差分别使用1和0初始化.解码网络中,权重卷积层的系数[φ]初始化为0.计算损失时,阈值[η]设置为0.2,参数[λ]设置为1.同时,将随机梯度下降(stochastic gradient descent,SGD)算法作为网络训练的优化器,批大小设置为4,初始全局学习率、动量(momentum)和权重衰减(weight decay)分别设置为1.0×10-6、0.9和0.2×10-3.由于显存限制,随机从每幅图片中裁剪280×280分辨率的图像块,共训练48 000次迭代,每12 000次迭代学习率衰减10倍.所有的实验均在一块11 G显存的NVIDIA GeForce 2080Ti 显卡上完成.
跟随之前的研究工作[12, 14-15, 19, 24],执行标准的非极大值抑制来获得最终的轮廓预测.最后,使用通用的F-measure评价体系对模型性能进行评估,在评估期间,轮廓预测和真实轮廓之间的容错距离设置为0.007 5.F值的计算见式(3).
[F=2PRP+R] (3)
[P=TPTP+FP] (4)
[R=TPTP+FN] (5)
式(3)中:P表示精确率(Precision),R表示回归率(Recall).式(4)和式(5)中:[TP]代表预测图中正确的轮廓像素个数,[FP]代表预测图中错误的轮廓像素个数,[FN]代表真实轮廓图中被漏检的轮廓像素个数.在F-measure评价体系下,使用3个定量标准指标来评估模型:最佳数据集尺度(optimal dataset scale,ODS)、最佳图像尺度(optimal image scale,OIS)和平均精确度(average precision,AP).
2.2 与其他模型的对比
为了定性观察模型的检测效果,从BSDS500数据集中随机选取了4张图片作对比,如图4所示.图4第一行为原图,第二行为真实轮廓图,第三行到第五行分别是CED[24]、LRNet[19]和本文模型的轮廓预测图.从图4中可以看出,本文模型的预测结果整体上轮廓线条更清晰,检测到的细节更多.
为了定量评估模型,在BSDS500数据集下,首先将本文模型同非深度学习模型进行比较,例如Canny[7]、PMI[25]、SE[10],随后同近几年的CNN模型进行比较,例如DeepContour[11]、DeepEdge[26]、HED[12]、COB[27]、RCF[14]、CED[24]、LPCB[15]、ContourGAN[16]和LRNet[19].表1展示了各个模型的定量评估结果,“VOC”表示使用混合了PASCAL VOC Context数据集的BSDS500数据集作为训练集,“MS”表示多尺度.从表1中可以看出,本文提出的模型比其他CNN模型实现了更好的ODS和OIS,单尺度ODS和多尺度ODS均比LRNet高出0.2%,同时也超过了人类在BSDS500数据集上的基准(ODS=0.803).CED模型实现了最好的AP指标,因为它使用HED的预训练模型,而不是VGG16预训练模型.图5展示了各CNN模型在BSDS500数据集上的P-R曲线.
3 结论
轮廓检测作为计算机视觉领域的一项基础任务,如何准确地区分对象轮廓与背景纹理一直是一项具有挑战性的研究点.近几年的轮廓检测模型主要是基于CNN的模型,研究集中于以VGG16为编码网络的解码网络设计上,这些模型大多利用VGG16的5个卷积层的特征,而没有充分利用其他卷积层特征,也没有考虑将卷积特征按照不同的层级和尺度进行处理.因此,本文从整合多尺度和不同层级的卷积特征角度出发,提出一种能更有效地整合VGG16所有卷积层特征的解码网络结构.实验结果表明,本文提出的解码网络能够更好地整合编码网络输入的特征,实现了更好的ODS值.同时,实验结果也表明,将特征按照不同层级进行处理的方式是有效的.本文通过简单的平均融合方式將浅层特征、中层特征和深层特征进行整合,这也是本文模型AP较低的主要原因.然而,不同层级的特征如何进行更有效的融合还有待更深入的研究.
参考文献
[1] 林川,曹以隽. 基于深度学习的轮廓检测算法:综述[J].广西科技大学学报,2019,30(2):1-12.
[2] FERRARI V,FEVRIER L,JURIE F,et al. Groups of adjacent contour segments for object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,30(1):36-51.
[3] YANG X W,LIU H R,LATECKI L J.Contour-based object detection as dominant set computation[J].Pattern Recognition,2012,45(5):1927-1936.
[4] WANG Y P,ZHAO X,HU X C,et al. Focal boundary guided salient object detection[J].IEEE Transactions on Image Processing,2019,28(6):2813-2824.
[5] ARBEL?EZ P,MAIRE M,FOWLKES C,et al. Contour detection and hierarchical image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(5):898-916.
[6] YILMAZ A,LI X,SHAH M. Contour-based object tracking with occlusion handling in video acquired using mobile cameras[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(11): 1531-1536.
[7] CANNY J. A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[8] 赵浩钧,林川,陈海杰,等. 基于颜色拮抗和纹理抑制的轮廓检测模型[J].广西科技大学学报,2018, 29(4):6-12.
[9] AKBARINIA A,PARRAGA C A. Feedback and surround modulated boundary detection[J].International Journal of Computer Vision,2018,126(12):1367-1380.
[10] DOLL?R P,ZITNICK C L. Fast edge detection using structured forests[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(8):1558-1570.
[11] SHEN W,WANG X G,WANG Y,et al. Deepcontour:a deep convolutional feature learned by positive-sharing loss for contour detection[C]//Conference on Computer Vision and Pattern Recognition,Boston,USA.IEEE,2015:3982-3991.
[12] XIE S N,TU Z W. Holistically-nested edge detection[J].International Journal of Computer Vision,2017,125(1-3):3-18.
[13] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]// International Conference on Representation Learning,2014.
[14] LIU Y,CHENG M M,HU X W,et al.Richer convolutional features for edge detection[C]//IEEE Conference on Computer Vision and Pattern Recognition,Honolulu,USA. IEEE,2017:5872-5881.
[15] DENG R X,SHEN C H,LIU S J,et al. Learning to predict crisp boundaries[C]//European Conference on Computer Vision. Switzerland:Springer,2018:562-578.
[16] YANG H J,LI Y,YAN X F,et al. ContourGAN:image contour detection with generative adversarial network[J].Knowledge-based Systems,2018,164:21-28.
[17] TANG Q L,SANG N,LIU H H.Learning nonclassical receptive field modulation for contour detection[J]. IEEE Transactions on Image Processing,2019,29:1192-1203. DOI:10.1109/TIP.2019.2940690.
[18] ZHANG R F,YOU M Y.Fast contour detection with supervised attention learning[J].Journal of Real-Time Image Processing,2020:1-11.DOI:10.1007/s11554-020-00980-1.
[19] LIN C,CUI L H,LI F Z,et al.Lateral refinement network for contour detection[J].Neurocomputing,2020, 409:361-371.
[20] REN S Q,HE K M,GIRSHICK R,et al. Faster r-cnn:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[21] CHEN L C,PAPANDREOU G,KOKKINOS I,et al. DeepLab:semantic image segmentation with deep convolutional nets,atrous convolution,and fully connected CRFs[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,40(4):834-848.
[22] MOTTAGHI R,CHEN X J,LIU X B,et al. The role of context for object detection and semantic segmentation in the wild[C]//Conference on Computer Vision and Pattern Recognition,Columbus,USA. IEEE,2014:891-898.DOI:10.13140/2.1.2577.6000.
[23] DENG J,DONG W,SOCHER R,et al. ImageNet:a large-scale hierarchical image database[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition,Miami,USA. IEEE,2009:248-255.
[24] WANG Y P,ZHAO X,HUANG K Q. Deep crisp boundaries[C]//IEEE Conference on Computer Vision and Pattern Recognition,Honolulu,USA. IEEE,2017:1724-1732.DOI:10.1109/CVPR.2017.187.
[25] ISOLA P,ZORAN D,KRISHNAN D,et al.Crisp boundary detection using pointwise mutual information[C]//European Conference on Computer Vision. Switzerland:Springer,2014:799-814.
[26] BERTASIUS G,SHI J B,TORRESANI L.DeepEdge:a multi-scale bifurcated deep network for top-down contour detection[C]//IEEE Conference on Computer Vision and Pattern Recognition,Boston,USA. IEEE,2015:4380-4389.DOI:10.1109/CVPR.2015.7299067.
[27] MANINIS K-K,PONT-TUSET J,ARBEL?EZ P,et al.Convolutional oriented boundaries[C]//European Conference on Computer Vision. Switzerland:Springer,2016:580-596.
Research on decoding network with multi-scale features of deep
learning model for contour detection
ZHANG Xiao, LIN Chuan*, WANG Ruixing
(School of Electric and Information Engineering, Guangxi University of Science and Technology,
Liuzhou 545616, China)
Abstract: Contour detection is one of the research hotspots in computer vision, which aims at extracting the target shape and the significant boundary between regions in natural scene. In recent years, significant breakthroughs have been made in contour detection models based on convolutional neural network, which are composed of encoding network and decoding network. The existing VGG16 is generally used in encoding network, and researchers are mainly committed to the design of decoding network. Considering that natural images contain many contours at different scales, it is very important to make full use of rich hierarchical features for contour detection. Therefore, from the perspective of make full use of the multi-scale features, a decoding network structure that can effectively integrate different scales convolutional feature information is proposed. The input information is divided into the shallow, middle and deep features. The decoding network is used to integrate the features of different scales, and finally the three features are averagely fused to perform image-to-image contour prediction. The model was evaluated on the BSDS500 dataset, and the comparative experimental results showed that the contour of the model prediction was clear, and the optimal dataset scale index reached 0.818, with a good performance evaluation index.
Key words: contour detection; convolutional neural network; decoding network; multi-scale features; computer vision
(責任编辑:黎 娅)