基于改进Sobel算子的语义分割算法

2020-06-28 05:39刘清华仲臣徐锦修韩雨辰
现代信息科技 2020年24期
关键词:边缘检测图像分割深度学习

刘清华 仲臣 徐锦修 韩雨辰

摘  要:针对常用语义分割算法存在丢失边缘信息导致分割不够精确的问题,通过结合边缘检测算法进行语义分割,有效地改善了分割不准确及边缘模糊的问题。算法采用并行结构,通过边缘检测子网络所提取的边缘特征来对语义分割子网络所提取的语义分割特征进行信息的补充,采用concat融合两路特征进行卷积操作来获取最终分割结果。实验基于TensorFlow平台进行,所提出方法相比以往算法在计算速度接近的同时真实值和预测值的交并比上取得了一定提升,增强了分割结果。

关键词:图像分割;边缘检测;深度学习;全卷积神经网络

中图分类号:TP391.41;TP242      文献标识码:A 文章编号:2096-4706(2020)24-0101-05

Semantic Segmentation Algorithm Based on Improved Sobel Operator

LIU Qinghua1,2,ZHONG Chen1,2,XU Jinxiu1,2,HAN Yuchen1,2

(1.School of Space Information and Surveying Engineering,Anhui University of Science and Technology,Huainan  232001,China;

2.Key Laboratory of Aviation-Aerospace-Ground Cooperative Monitoring and Early Warning of Coal Mining-Induced Disasters of Anhui Higher Education Institutes,Anhui University of Science and Technology,Huainan  232001,China)

Abstract:Aiming at the problem of inaccurate segmentation caused by the loss of edge information in common semantic segmentation algorithms,the problem of inaccurate segmentation and fuzzy edge is effectively improved by semantic segmentation combined with edge detection algorithm. The algorithm adopts parallel structure. The edge features extracted by the edge detection sub-network are used to supplement the semantic segmentation features extracted by the semantic segmentation sub-network. The final segmentation result is obtained by convolution operation of concat fusion of two features. The experiment is based on TensorFlow platform. Compared with the previous algorithm,the proposed method achieves a certain improvement in the intersection and union ratio of the real value and the predicted value,and enhances the segmentation results.

Keywords:image segmentation;edge detection;deep learning;fully convolutional network

0  引  言

圖像语义分割是计算机视觉领域中极为重要的一个研究方向,其主要作用是以像素级别对目标图像中各事物进行图像识别及目标检测。方法为从像素级别分辨出所识别图像中的具体对象及对象位置,即先识别图片中的目标,后描绘各个体和场景之间的轮廓,最后将其分类并对同一类事物赋予同样颜色表示。但其存在着诸如不同类但较为相似物体难以区分、尺寸过小的物体难以识别等难点。而如今随着深度学习的成熟,基于深度学习的图像语义分割成为主流,在准确性和识别速度等各方面都有较大提高,且在自动驾驶、人脸识别、遥感影像及医学影像等领域广泛应用,具有很高的研究价值。

1  发展概况

1.1  语义分割发展概况

全卷积网络(Fully Convolution Networks,FCN)[1]是将深度学习应用到语义分割领域的鼻祖。DeepLab系列网络专门用于图像分割领域,DeepLab V1[2]将VGG16中全连接层转化为卷积层,网络中最后两个池化层后的卷积层转化为空洞卷积[3],并在网络的最后一层添加全连接条件随机场用以提升精确率。DeepLab V2[4]在V1的基础上以ResNet网络代替VGG16,且加入了空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP),在改善了神经网络训练过程中信息丢失问题,精度方面有较大提升。DeepLab V3[5]在V2的基础上添加了1×1的卷积层和批量归一化层(Batch Normalization,BN),设计了串行和并行空洞卷积模块并采用不同空洞率来获得多尺度特征信息,将获取到的全部特征融合一起。

编码器-解码器结构是目前采用较多的网络结构。其原理是编码器通过卷积池化获得像素点位置信息,对应解码器进行反卷积操作还原像素的位置信息,从而输出分割图像。最经典的编解码结构的分割网络是SegNet[6],有着相对较高的分割精度及分割速度,但会导致图像丢失部分高频细节,从而致使目标边缘模糊及分割结果细节丢失。U-Net[7]将网络中每层信息多层次融合,减少了因池化层丢失的信息,但不能恢复到与输入图相同的尺寸。Deeplab V3+[8]将DeepLab V3作为编码器后添加了一个简单的解码器用于捕获空间信息,取得了更高的精度。

还有部分方法通过构建特殊模块,将其添加到常用结构中来提升语义分割的性能。ENet[9]基于SegNet设计了一个采用池化层和卷积层并行计算的初始模块,可以减少网络的深度并降低计算量,该算法是一种速度极快的算法,可以达到SegNet算法的数倍。PSPNet[10]将复杂场景上下文加入FCN预测框架,通过金字塔池化模块聚合不同区域的上下文信息,常用于复杂场景的场景解析,可以提高对外观相似的不同物体的分割精度。

1.2  边缘检测发展概况

边缘加测算法的通过检测局部像素灰度值差异的变化进行确定边界点,通过确定的边界点连接进而获得开放或封闭的边界。边缘检测算法可以提供丰富的图像边缘信息,根据处理策略的不同可分为串行检测法和并行检测法两种。由于并行检测法过程相对简单,性能较为优良,故在实际应用中常采用并行检测法完成分割。常用的传统边缘检测算子有Prewitt算子[11]、Canny算子[12]和Sobel算子[13]等,其中Canny算子边缘定位准确且闭合性好,但必须人工设置检测阈值;Sobel算子操作简单切运算简便,但对斜向边缘的检测效果较差。本文通过对Sobel算子进行改良,在其原本仅有竖向及横向检测算子的基础上增加45°及135°兩个斜方向算子,对其斜向边缘不足进行补充,达到更好的效果。

2  结合改进Sobel算子的语义分割算法

针对单一语义分割算法存在的问题,本文提出一种新的算法,该算法通过结合边缘检测网络弥补语义分割算法存在的问题,通过结合深度学习,达到了较为理想的结果。

2.1  算法原理

本文提出的模型采用并行结构,如图1所示,主要由边缘检测、语义分割两个子网络和特征融合模块三部分组成。在输入图像后将图像分别送入两路网络,从而得到两种特征信息,特征信息采用concat融合方式进行初步融合,将结果进行多层卷积,利用卷积操作融合两个子网络特征,最后将多次卷积后的结果进行Softmax分类,从而得到最终的分割图像。

边缘检测子网络用于捕获和学习图像的边缘信息,获取更多的细节信息,从而为语义分割提供更精确的边缘信息。

语义分割子网络用于提取图像的区域特征,通过对输入的图像进行下采样后进行上采样,得到初步的语义分割特征,但在下采样时大量的细节信息会丢失。

特征融合模块用于融合获取的两路特征信息,通过将获得边缘检测特征和语义分割特征进行卷积融合,利用获取的边缘信息来补充语义分割中缺失的边缘信息,从而改善语义分割的效果。

2.2  边缘检测子网络

边缘检测子网络采用改进Sobel算子算法,该方法通过在传统Sobel算子算法的纵向及横向两个算子的基础上增加45°及135°两个方向算子,从而解决传统Sobel算子算法在斜方向上检测效果不佳的问题,改进算子结构如图2所示。

计算时采用四个方向的算子模板,对图像矩阵依次计算得到各分量的运算结果,用结果和替代像素点灰度值,边缘方向由新灰度值的模板的方向决定,选择合适的阈值TH并进行二值化处理,然后利用式(1)进行二值化判断。若像素点梯度方向接近水平、竖直、倾斜45°或倾斜135°方向之一,且梯度大于TH,则判断点位于图像边缘,否则视为非边缘点忽略。

(1)

其中,▽G?(x,y)为经过计算的梯度值,TH为选取的阈值。

2.3  语义分割子网络

语义分割子网络结构采用基于编码器-解码器结构的SegNet算法,结构图如图3所示。编码阶段主要对图像进行特征提取,算法采用VGG16网络模型,编码阶段由卷积层、BN层和池化层组成。卷积层获取图像特征,池化层进行图像下采样并将特征传送到下一层,BN层对图像进行归一化分布,增强学习效率。解码阶段由对应编码器的不同解码器组成,包含反卷积层、BN层和上采样层,解码器通过获取编码器对应存储的最大池化索引来获取信息,通过反卷积使得图像分类后特征得以重现,上采样层弥补编码阶段池化层对目标造成的细节损失。

2.4  特征融合模块

本文设计的结构中,获得边缘检测特征及语义分割特征后,需要对两路特征进行融合。因为边缘检测子网络所得特征多为表示图像边缘和细节信息,而语义分割子网络所得特征多为表示图像区域的信息。进行特征融合简单地进行加权难以达到预期的效果,所以本文采用一个特征融合模块,用于融合两个不同的子网络信息特征。

常用的网络模型融合方式一般有add和concat两种方式,add融合将对应的特征图相加,再进行卷积操作;concat融合则是通过通道数的增加,将多通道特征进行融合,常用于将多通道特征联合、多卷积特征框架获取的特征融合或者是将输出层的信息进行融合。对于本文设计的特征融合模块,首先对边缘特征和语义分割特征进行初步融合,然后进行多层卷积操作,利用多层卷积神经网络学习特征融合。综合两种融合方式及本文目的,最终选用concat方式进行特征融合。

3  实验结果

本文算法基于TensorFlow 2.3框架,系统为Windows 10,所使用的GPU为NVIDIA RTX 2070,并在Cityscapes数据集上进行试验检测。

3.1  数据集

Cityscapes数据集是一个大型的城市街景及道路交通场景的数据集,它具有8大类别30种类的像素级别标注,数据集来自50多个城市的街头场景中记录的不同视频序列,包含5 000张高精准度标注的图像及20 000余张粗略标注图像。整个数据集支持像素级别分割、实例级别分割及全景级别分割三个级别的分割性能评估。本文试验只使用了精准标注的图像,同时为了实验方便,将图像的分辨率调整为480×360,且每个像素都被注释为预定义的19类。

3.2  评价标准

本文采用当前语义分割方向常采用的两种标准度量指标平均交并比(mean Intersection Over Union,mIOU)和每秒钟可处理帧数(Frames Per Second,FPS)作为评价标准。mIOU通过计算真实值和预测值的交并集之比来评价算法精度,其计算公式为:

(2)

其中,k为前景对象个数,pij为原属于第i类但却被分到第j类的像素数量。

FPS通过计算每秒钟可处理的帧数来评价算法计算的速度,其计算公式为:

(3)

其中,N为图像数量,Tj表示处理第j张图像的时间。

3.3  实验模型

3.3.1  模型训练

本文提出的算法模型采用端到端的联合学习方式。在过程中选用SGD优化器,其相对于BGD优化器训练较快、可以增加训练样本,且其训练答案具有一般性,即对于服从同样分布的非训练集表现依然良好。

3.3.2  损失函数

由于本文采用两种分类网络,故采用两种损失函数。

针对边缘检测网络,其损失函数常采用交叉熵损失函数,其可以定义为:

(4)

其中,yedgelab为真实值,yedgepre为预测值,n为图像总像素数量。

针对语义分割网络,通常也采用交叉熵损失函数,其可以定义为:

(5)

其中,yseglab为真实值,ysegpre为预测值,n为图像总像素数量。

3.4  实验结果及分析

本文试验基于Cityscapes数据集,对照算法选用基于VGG16的SegNet算法和基于From Scratch的ENet算法进行对比,通过在精度mIoU和处理时间FPS两个指标来评定实验结果。本文选取了四幅输入图像的分割结果对比,图4给出了本文算法与其余两种算法的对比,表1是在同环境下本文算法与其余算法的分割效果对比。结果对比中图4(a)列为输入图像,图4(b)列为正确标注的分割结果,图4(c)为本文所采用算法获取的分割结果,图4(d)为SegNet算法分割结果,图4(e)为ENet算法分割结果。

由图4可以看出,本文所采用的算法对于物体边界的分割效果更为精确。部分较小或较细物体如路灯、电线杆、栏杆等其余算法不能很好地识别或识别不完全,本文算法在这方面具有一定改善,使得分割更为精确。

由表1可以看出,本文采用算法对SegNet算法在处理速度上较为接近,分割精度上具有优势;对比ENet算法虽在处理速度上有一定落后,但本文算法在精度方面有较大提升。综合精度及速度而言,本文算法仍具有较大优势。

本文所提出算法由于结合了边缘检测模块进行语义分割,有效地改善了传统算法中分割边缘模糊的问题,在精度及处理速度方面均有一定情况改善。且本文边缘识别模块采用了较为简单的改进Sobel算子算法,降低了对硬件的要求,使得不需要大型工作站的情况下可以取得较为理想的结果。综上所述,本文所提出方法具有有效性及可行性。

4  结  论

本文提出了一种结合边缘检测模块,利用深度学习进行卷积融合从而获取更精准结果的语义分割方法,通过将输入的图像进行语义分割及边缘识别处理后通过卷积操作进行融合,从而取得最终的分割结果。试验结果表明,本文方法可以有效改善原有算法存在的分割不准、边缘模糊等问题,得到更为精准的分割结果。

參考文献:

[1] LONG J,SHELHAMER E,DARRELL T. Fully Convolutional Networks for Semantic Segmentation [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,39(4):640-651.

[2] CHEN L,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,2018,40(4):834-848.

[3] YU F,KOLTUN V. Multi-scale context aggregationby dilated convolutions [J/OL].arXiv:1511.07122 [cs.CV].(2015-11-23).https://arxiv.org/abs/1511.07122.

[4] CHEN L,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,2018,40(4):834-848.

[5] CHEN L C,PAPANDREOU G,SCHROFF F,et al. Rethinking atrous convolution for semantic image segmentation [J/OL].arXiv:1706.05587 [cs.CV].(2017-06-17).https://arxiv.org/abs/1706.05587.

[6] BADRINARAYANAN V,KENDALL A,CIPOLLA R. Segnet:A deepconvolutional encoder-decoder architecture for imagesegmentation [J].IEEE transactions on pattern analysisand machine intelligence,2017,39(12):2481-2495.

[7] RONNEBERGER O,FISCHER P,BROX T. U-net:Convolutional networks for biomedical imagesegmentation [C]//International Conference on Medical image computing and computerassisted intervention.Cham:Springer,2015:234-241.

[8] CHEN L C,ZHU Y K,PAPANDREOU G,et al. Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation [C]// Computer Vision-ECCV 2018.Cham:Springer,2018:833-851.https://doi.org/10.1007/978-3-030-01234-2_49.

[9] PASZKE A,CHAURASIA A,KIM S,et al. Enet:A deepneural network architecture for real-time semanticsegmentation [J/OL].arXiv:1606.02147 [cs.CV].(2016-06-07).https://arxiv.org/abs/1606.02147.

[10] ZHAO H S,SHI J P,QI X G,et al. Pyramid scene parsing network [C]//Proceedings of the IEEE conference on computer visionand patternrecognition.Honolulu:IEEE,2017:6230-6239.

[11] YANG L,WU X Y,ZHAO D W,et al. An improved Prewitt algorithm for edge detectionbased on noised image [C]// 2011 4th International Congress on Image and Signal Processing.Shanghai:IEEE,2011:1197-1200.

[12] LI E S,ZHU S L,ZHU B S,et al. An adaptive edge-detection method based on the Canny operator [C]//2009 International Conference on Environmental Science and Information Application Technology.New York:IEEE,2009:465-469.

[13] GAO W,ZHANG X,YANG L,et al. An improved Sobel edge detection [C]//Proceedings of the 3rd IEEE International Conference on Computer Science and Information Technology.Chengdu:IEEE,2010:67-71.

[14] 徐輝,祝玉华,甄彤,等.深度神经网络图像语义分割方法综述 [J].计算机科学与探索,2021,15(1):47-59.

[15] 田萱,王亮,丁琪.基于深度学习的图像语义分割方法综述 [J].软件学报,2019,30(2):440-468.

[16] 缪成根,刘琛.基于改进索贝尔算子的灰度图像边缘检测 [J].物联网技术,2020,10(11):37-38+41.

[17] 袁铭阳,黄宏博,周长胜.全监督学习的图像语义分割方法研究进展 [J].计算机工程与应用,2021,57(4):43-54.

[18] 刘丽霞,李宝文,王阳萍,等.改进Canny边缘检测的遥感影像分割 [J].计算机工程与应用,2019,55(12):54-58+180.

作者简介:刘清华(1997—),男,汉族,山西晋中人,硕士研究生在读,研究方向:图像识别与图像处理。

猜你喜欢
边缘检测图像分割深度学习
一种改进的分水岭图像分割算法研究
唐卡图像边缘提取
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
一种图像超像素的快速生成算法
基于鲁棒性的广义FCM图像分割算法
水下大坝裂缝图像分割方法研究 
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现