一种基于深度残差网络的对象级边缘检测方法与流程

文档序号:19741532发布日期:2020-01-18 05:18阅读:1213来源:国知局
一种基于深度残差网络的对象级边缘检测方法与流程

本发明属于智能视觉处理领域,具体涉及一种基于深度残差网络的对象级边缘检测方法。



背景技术:

面向对象的边缘检测旨在从自然图像中提出视觉上显著的边缘和对象边界,是智能视觉处理领域中的基本问题。目前大部分检测方法依然停留在传统的边缘检测算子阶段,这些算子主要利用图像的颜色梯度、亮度及纹理等低级视觉特征实现边缘检测。由于实时性高,传统检测方法在许多领域仍得以广泛应用,但它们的局限性也很明显,难以通过低级特征来检测语义层面的边缘,很难直接应用于自动驾驶、三维重建、智能图像压缩压缩等需要对象级别边缘检测的领域。因此,对象级别的边缘检测已经成为必然发展趋势。

为了检测图像中对象级的边缘,已有研究人员先通过对梯度、纹理等低级特征设计精细的人工特征,再使用复杂的学习范式对边缘和非边缘像素进行分类。konishi等人第一次使用数据驱动方法来实现边缘检测(见konishis,yuilleal,coughlanjm,etal.statisticaledgedetection:learningandevaluatingedgecues[j].ieeetransactionsonpatternanalysisandmachineintelligence,2003,25(1):57-74)。dollár等人尝试使用复杂的策略来捕获全局特征,采用随机决策森林来表示图像块中的结构,通过输入颜色和梯度特征,输出高质量的边缘(见dollár,piotr,zitnickcl.fastedgedetectionusingstructuredforests[j].ieeetransactionsonpatternanalysis&machineintelligence,2014,37(8):1558-1570)。但是上述基于精细人工特征实现的边缘检测,普适性较差,并且这些特征在对象级别上的边缘检测能力比较有限。

申请号为201810797828.2的专利公开了一种基于区域生长与蚁群优化算法相结合的边缘检测方法。该方法首先采用区域生长方法,对图像进行处理,提取感兴趣区域;然后对提取的感兴趣区域,采用蚁群优化方法获得信息素矩阵;最后使用信息素矩阵,计算阈值,确定图像边缘、分割图像。该方法虽然检测效率较高,但边缘检测效果上存在边界不清晰、线条不连续和噪声较多等问题。

随着深度学习理论的快速发展和计算机处理能力的大幅提升,深度卷积神经网络在人工智能等领域取得了一系列巨大的成功。自2012年alexnet的横空出世,涌现了许多经典的卷积神经网络模型,如vggnet、googlenet等,在图像识别、目标检测等多个领域获得了很好的性能。近几年深度残差网络resnet(见hekaiming,zhangxiangyu,renshaoqing,etal.deepresiduallearningforimagerecognition,ieeeconferenceoncomputervisionandpatternrecognition,2016:770-778)的出现,解决了卷积神经网络层数过深导致难以训练的问题,进一步推动了卷积神经网络的实际应用。

目前基于卷积神经网络的边缘检测方法主要有:1)基于局部图像块的边缘检测,代表性方法有n4-field、deepedge、deepcontour、hfl;2)基于全局的图像端到端的边缘检测,代表性方法有hed、rcf。申请号为201710666537.5的专利公开了一种基于深度融合修正网络的精细边缘检测方法。该方法通过卷积神经网络的前向传播部分网络,获取输入图像的多尺度特征;利用卷积神经网络的反向修正部分网络,采取逐渐增大特征分辨率的方法获取和输入图像具有相同分辨率的最终图像特征;将最终图像特征的特征通道降维为单通道,使用拟合函数生成边缘检测结果。虽然该方法能够较好地保留细节特征,边缘检测效果更好,但图像检测的结果噪声较多,不利于后续处理。申请号为201810836926.2的专利公开了一种基于神经网络的图像边缘检测方法。该方法使用vgg-16卷积神经网络提取图像的特征;搭建特征融合网络;对特征融合网络进行训练;将特征提取网络和特征融合网络进行特征融合,输出图像的边缘检测结果。虽然该方法有效提高了图像特征的利用率,但图像检测的准确率较低,分辨率不高,并且对象级的边缘检测能力仍然有限。



技术实现要素:

为了解决现有对象级边缘检测方法存在边缘分辨率低、噪声多等问题,本发明提供了一种基于多尺度残差网络的对象级边缘检测方法,具体包括以下步骤。

(1)神经网络的搭建。

(1-1)以深度残差网络为基础架构。

本发明使用深度残差网络作为基础网络架构,该网络参数少、训练快,而且可以大幅提升边缘检测的准确率。

(1-2)将深度残差网络的卷积残差结构以混合空洞卷积残差块替换。

空洞卷积是一种在特征图上数据采样的方式,通过在普通卷积核的每个像素之间插入零像素值,以增加网络的扩张系数,增大感受野。式(1)给出了空洞卷积核尺寸与扩张系数的关系,

kdsize=(γ-1)×(ksize-1)+ksize(1)

kdsize表示空洞卷积核尺寸,γ表示空洞卷积的扩张系数,其取值范围为[1,+∞),ksize表示普通卷积核尺寸,当γ=1时即为普通卷积核;若普通卷积核尺寸ksize为3×3,扩张系数γ为2,则空洞卷积核尺寸kdsize为5×5。

虽然空洞卷积能在不增加算法复杂度的情况下,有效地提高网络的感受野范围,但由于空洞卷积只是在普通卷积核中引入零像素值,而零像素值并不参与卷积运算,因此若采用多个单一扩张系数的空洞卷积容易导致空间信息不连续,即网格化现象,每层的感受野都是有空隙的,而过大的扩张系数还容易导致边缘小区域信息的丢失。因此,本发明设计了一种混合空洞卷积残差块,混合空洞卷积残差块为三层残差结构,三层残差结构的扩张系数γ分别设置为1、2、3,使得感受野增大的同时保证感受野能无盲区地覆盖整个区域。

(1-3)在深度残差网络中增加多尺度特征增强模块。

由于图像的边缘信息往往是不同尺度的,单一尺度的特征信息无法准确检测图像的边缘信息。不同尺度的卷积核能够提取到图像的多种特征,大尺度卷积核注重概貌特征,小尺度卷积核注重细节特征。因此,本发明设计了一种在三个不同尺度上进行特征信息增强的网络结构,该结构由特征提取层和特征融合层连接而成。

(1-3-1)特征提取层采用1×1、3×3、5×5三种不同尺度的卷积核同时对图像进行特征提取,分别得到16、32和64通道的特征图像;然后在卷积层之后设置激活层,选用relu为激活函数,由于残差网络层数较多,而该激活函数减少了参数的相互依存的关系,缓解了过拟合问题的发生;由于池化运算不可逆,不利于图像高频信息的恢复,从而导致对象边缘的模糊和不连续,因此该模块不进行池化运算。

(1-3-2)特征融合层采用级联的方式将上述得到的不同尺度信息的特征信息进行合并重组,构成新的特征图,并采用1×1的卷积核对融合结果进行卷积,使得输出特征图的通道数和输入的原始特征图一致,输出特征图作为下一单元,即金字塔多尺度特征融合模块的输入。

(1-4)在深度残差网络中增加结合顶层语义特征的金字塔多尺度特征融合模块。

卷积网络中低层特征分辨率高,包含更多边缘位置的细节信息,但是由于经过的卷积较少,其语义性较低,且噪声较多。相反,卷积网络中高层特征具有更强的语义信息,感受野丰富,利用高层特征的语义信息能更好的检测到边缘的语义信息,但是分辨率较低,对位置细节的感知能力较差。因此,两者的高效融合,是改善边缘检测模型的一大关键。

为了高效融合不同尺度下的特征信息,本发明设计了一种金字塔多尺度特征融合结构,具体步骤如下:

(1-4-1)对深度残差网络中间输出的低层特征图a,采用大小为1×1的卷积核进行卷积,得到特征图b;

(1-4-2)使用双线性插值的上采样方法对步骤(1-2)多尺度特征增强结构输出的高层特征图c进行上采样,得到与低层特征图a相同尺度的特征图d;

(1-4-3)在每次横向连接时,都加入深度残差网络中的顶层语义特征e,将其作为全局语义信息的引导,在其融合过程中,对其先进行最大池化运算,一方面对特征信息进行降维,避免过拟合发生,另一方面进行特征压缩,提取主要特征,再通过双线性插值得到与低层特征图a相同尺度的特征图f;

(1-4-4)通过级联方式对步骤(1-4-1)、(1-4-2)、(1-4-3)中得到的三路特征图b、d、f进行融合,并采用3×3的卷积核对融合结果进行卷积运算,消除上采样所带来的混叠效应。

(2)对神经网络进行训练优化。

本发明对第一部分所搭建的神经网络进行训练优化,包括数据集增强和训练过程中的超参数设置两部分。

(2-1)数据集增强。

为了在一定程度上避免过拟合,本发明对数据集进行数据增强:

(2-1-1)旋转:将图像以16个不同角度进行旋转[0°,22.5°,45°,…315°,337.5°];

(2-1-2)缩放:将图像按照[1.5,1.0,0.5]倍数进行放大及缩小;

(2-1-3)翻转:将图像按水平和垂直方向进行翻转;

(2-1-4)裁剪:将图像按水平和垂直方向的对称轴裁剪成原图像尺寸的一半;

(2-1-5)将上述处理得到的图像加入训练集中。

(2-2)训练过程中的超参数设置。

在训练过程中,学习率是深度神经网络中的重要超参,其决定着目标函数能收敛到局部最小值以及合适收敛到最小值。当学习率设置的过小时,收敛过程将变得十分缓慢。而当学习率设置的过大时,梯度可能会在最小值附近来回震荡,甚至可能无法收敛,固定学习率时,当到达收敛状态时,会在最优值附近一个较大的区域内摆动;而当随着迭代轮次的增加而减小学习率,会使得在收敛时,在最优值附近一个更小的区域内摆动。因此,选择一个合适的学习率,对于模型的训练将至关重要。

本发明的神经网络学习率初始设置为0.00005,使模型能快速收敛;从第8个周期开始(包括第8个周期),使目标函数能稳定收敛至局部最小值,因此每隔4个周期,将学习率除以10,训练总计16个周期。

(3)完成对神经网络的训练。

经过步骤(1)、步骤(2),完成对神经网络的训练。

(4)使用训练好的神经网络对通用图像进行检测:

使用步骤(3)中训练好的神经网络对通用图像进行检测,输出对象级边缘的灰度图像。

与现有技术相比,本发明具有以下有益效果:

本发明的技术构思为:在深度残差网络的基础上,设计了一种混合空洞卷积残差块,在不损失分辨率的情况下增大网络感受野;设计了一个多尺度特征增强结构,让每个空间位置能在不同尺度空间查看局部环境,进一步扩大整个网络的信息接收域;设计了一种金字塔多尺度特征融合结构,以融合不同尺度下的特征信息,提升边缘检测效果;在训练过程中,使用变化的学习率,使得模型训练能快速收敛,又可以稳定收敛至局部最小值;使用训练得到的模型参数,对输入的通用图像进行对象级边缘检测,取得较好的检测效果。

与现有技术相比,本方法具有以下有益效果:对具有复杂纹理信息,各种颜色背景的图像也能检测出精细的对象级边缘信息,检测结果更接近真实值,并且分辨率更高,噪声更少,能够满足实时性检测的要求。

附图说明

图1为本发明的内容框图;

图2为混合空洞卷积残差模块示意图,relu为激活函数;

图3为多尺度特征增强模块示意图;

图4为金字塔多尺度特征融合模块示意图,虚线部分为局部放大示意图;

图5为本发明总体网络结构图;

图6为本发明方法与其他方法的检测结果对比图。

具体实施方式

下面结合实施例和附图来详细描述本发明,但本发明并不仅限于此。

本发明方法选用运行的计算机硬件配置为intel(r)xeon(r)e5-2678cpu@2.50ghz,gpu为geforcegtxtitanxp,显存为12gb,内存为16gb;软件环境为64位的ubuntu16.04系统、pytorch0.4.1和matlabr2017b。边缘检测模型的检测指标主要包括:固定轮廓阈值ods(optimaldatasetscale,ods)、单图像最佳阈值ois(optimalimagescale,ois)、平均精度ap(averageprecision,ap)。

如图1所示,基于深度卷积神经网络的对象级边缘检测方法,包括以下四个部分:

(1)神经网络的搭建,包括四个子步骤:

(1-1)以深度残差网络为基础网络结构;

(1-2)将深度残差网络的卷积残差结构以混合空洞卷积残差块替换;

(1-3)在深度残差网络中增加多尺度特征增强模块;

(1-4)在深度残差网络中增加结合顶层语义特征的金字塔多尺度特征融合模块;

(2)对神经网络进行训练优化;

(3)完成对神经网络的训练;

(4)使用训练好的神经网络对通用图像进行检测。

第一部分神经网络搭建具体包括:

(1-1)以深度残差网络为基础网络结构

本发明选用深度残差网络rsenet-50为基础网络结构。

(1-2)将深度残差网络的卷积残差结构以混合空洞卷积残差块替换;

将步骤(1-1)网络的卷积结构替换为设计的混合空洞卷积残差块,混合空洞卷积残差块为三层残差结构,其中扩张系数γ设置为1、2、3,激活函数保持不变,如图2所示。

本发明引入混合空洞卷积残差块后,在算法复杂度不变的情况下,有效提升了卷积核的感受野范围;并且通过不同扩张系数的组合,保证感受野能无盲区地覆盖整个区域。在使用空洞卷积核结构后,客观指标ods和ois分别提高到0.806、0.823,且检测的速度与改进前相差不大。

(1-3)在深度残差网路中增加多尺度特征增强模块;

多尺度特征增强结构由特征提取层和特征融合层连接而成,网络结构如图3所示。

(1-3-1)特征提取层采用1×1、3×3、5×5三种不同尺度的卷积核同时对图像进行特征提取,分别得到16、32和64通道的特征图像;在卷积层之后设置了激活层,选用relu为激活函数;特征提取层不进行池化运算。

(1-3-2)特征融合层采用级联的方式将步骤(1-3-1)中的不同尺度的特征信息进行合并重组,构成新的特征图,并采用1×1的卷积核对融合结果进行卷积,使得输出特征图的通道数和输入的原始特征图一致,输出特征图作为金字塔多尺度特征融合模块的输入。

通过多尺度特征增强结构,让每个空间位置能在不同尺度空间查看局部环境,进一步扩大整个网络的信息接收域,从而提升边缘检测效果。在步骤(1-2)网络的基础上,进一步添加多尺度特征增强结构后,客观指标ods和ois分别提高上到0.814、0.833,且检测的速度与改进前相差不大。

(1-4)增加结合顶层语义特征的金字塔多尺度特征融合模块;

本发明设计了一种金字塔多尺度特征融合结构,将深度残差网络中的多路特征信息进行高效融合。

(1-4-1)如图4所示,对深度残差网络中间输出的低层特征图a,采用大小为1×1的卷积核进行卷积,得到特征图b。图5为本发明整体网络的结构图,其中深度残差网络有3路中间输出的低层特征图a1、a2、a3,经卷积得到特征图b1、b2、b3。

(1-4-2)使用双线性插值的上采样方法,对步骤(1-3)多尺度特征增强模块输出的特征图c进行上采样,如图4所示,得到与低层特征图a相同尺度的特征图d。在图5中,本发明的神经网络中共有3个多尺度特征增强模块,分别输出3路特征图c1、c2、c3,经上采样得到特征图d1、d2、d3。

(1-4-3)将深度残差网络的顶层语义特征e,作为全局语义信息的引导,如图4所示,在融合过程中,对其先进行最大池化运算,再通过双线性插值得到与低层特征图a相同尺度的特征图f。在图5中,顶层特征图e分为3路,经最大池化运算、双线性插值得到特征图f1、f2、f3。

(1-4-4)通过级联方式融合步骤(1-4-1)、(1-4-2)、(1-4-3)中得到的三路特征图b、d、f,并采用3×3的卷积核对融合结果进行卷积运算,如图4所示。在图5中,有三个金字塔多尺度特征融合模块pmff,分别对三组特征图进行融合,每组包含三路特征图b、d、f。

通过金字塔多尺度特征融合结构,对不同尺度的特征进行高效融合,显著改善边缘检测效果。在步骤(1-3)网络的基础上,进一步添加金字塔多尺度特征融合结构后,客观指标ods和ois分别提高到0.819、0.838,且检测的速度与改进前相差不大。

第二部分神经网络训练优化具体包括:

本发明对第一部分所搭建的神经网络进行训练优化,包括数据集增强和训练过程中超参数设置两部分。

(2-1)数据集增强;

本发明选择在增强版的伯克利分割数据集(berkeleysegmentationdataset,bsds500)和pascalvoccontext数据集上进行训练。传统的bsds500训练集只有200张图片,为了在一定程度上避免过拟合,本发明对bsds500数据集进行增强:

(1)旋转:将图像以16个不同角度进行旋转[0°,22.5°,45°,…315°,337.5°];

(2)缩放:将图像按照[1.5,1.0,0.5]倍数进行放大及缩小;

(3)翻转:将图像按水平和垂直方向进行翻转;

(4)裁剪:将图像按水平和垂直方向的对称轴裁剪成原图像尺寸的一半。

由于pascalvoccontext数据集中图片数量较多,共计10103张图片,因此不采用上述复杂的数据增强方法,仅简单地对图像进行水平及垂直方向上的翻转处理。

将上述处理得到的图像均加入到训练集中。

(2-2)训练过程中的超参数设置;

本发明的神经网络采用残差网络的预训练模型进行权重初始化,其中预训练模型是残差网络在imagenet数据集上训练得到的初始模型。权值衰减设置为0.0005,学习率初始设置为0.00005,从第8个周期开始(包括第8个周期),每隔4个周期,学习率除以10,训练总计16个周期。通过对神经网络训练进行优化,客观指标ods、ois和ap分别提升至0.819、0.838和0.849,主观检测效果也更接近真实值、噪声更少。

第三部分完成对神经网络的训练具体包括:经过第一部分和第二部分,在硬件配置为intel(r)xeon(r)e5-2678cpu@2.50ghz,gpu为geforcegtxtitanxp,显存为12gb,内存为16gb、软件环境为64位的ubuntu16.04系统的计算机上,使用深度学习框架pytorch,其版本为0.4.1,完成对神经网络的训练。

第四部分使用训练好的神经网络对通用图像进行检测具体包括:使用第三部分训练好的神经网络模型对通用图像进行检测,输出对象级边缘的灰度图像。

图6为本发明方法与其他方法的检测结果对比图,其中图6(a)为待检测图像、图6(b)为canny算子的边缘检测结果、图6(c)为rcf算法的边缘检测结果、图6(d)为本发明的边缘检测结果、图6(e)为图6(a)的真值图。本发明的检测结果更接近真实值,并且分辨率更高,噪声更少。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1