基于深度卷积神经网络的图像轮廓检测方法与流程

文档序号:11288441阅读:717来源:国知局
基于深度卷积神经网络的图像轮廓检测方法与流程

本发明涉及一种基于深度卷积神经网络的图像轮廓检测方法,该方法利用经训练的深度卷积神经网络全连接层的输出作为图像特征进行图像轮廓检测。



背景技术:

神经网络是一种模仿人类神经系统的机器学习模型,深度学习是近年来兴起的基于多层神经网络的机器学习算法。随着计算机运算速度的加快,复杂的深度神经网络不再难以训练,使得深度学习发展迅速,在图像识别领域有着广泛运用。

图像轮廓检测是计算机视觉中的一项基础而又有挑战性的任务。轮廓广泛存在于图像中物体与背景的边界处,轮廓提取的准确性对于图像分割,物体检测意义重大。由于轮廓处往往伴随着图像亮度的剧烈变化,因此传统的轮廓检测方法主要集中在设计基于梯度的各种图像特征,然后利用这些特征去区分轮廓与非轮廓点。

由于深度神经网络具有强大的学习能力,本发明设计了一种基于神经网络模型的轮廓提取算法,通过训练深度神经网络,提取神经网络学习到的特征,然后进行轮廓检测。



技术实现要素:

本发明的目的在于针对已有技术存在的不足,提供一种基于深度卷积神经网络的轮廓检测方法,借助于深度卷积神经网络的学习能力,实现精准快速的图像轮廓检测。

为了达到上述目的,本发明构思如下:

利用大量已标定轮廓的图像训练一个能够区分不同局部轮廓块形态的神经网络,该神经网络能够有效区分不同形状的局部轮廓块,比如直线形,斜线形,丁字形等等。由于该神经网络能够识别不同形状的轮廓块,因此其中间层的输出是一种对图像轮廓具有很强区分性的特征。

利用这种深度卷积神经网络学习到的特征代替传统轮廓检测中基于梯度的特征,输入到轮廓检测器中,得到轮廓检测结果。

根据以上发明构思,本发明采用如下技术方案:

一种基于深度卷积神经网络的图像轮廓检测方法,其特征在于具体操作步骤如下:

第一步:数据提取和处理:从已标定轮廓的图像中随机取出一些轮廓块和对应位置的图像块xi,根据轮廓块的形态指定其类别yi=[1,2…k],例如t字形,直线型,斜线形等等;另取一部分不包含轮廓的图像块作为负样本yi=0;

第二步:训练深度卷积神经网络特征提取器:将第一步中得到的图像块输入到深度卷积神经网络,经过多层卷积层和全连接层,在全连接层的最后一层得到神经网络的预测的各个类别的概率并根据第一步中指定的轮廓块类别yi计算预测误差j:

上式中yi为图像块xi对应的轮廓类别,是深度卷积神经网络预测图像块xi对应的轮廓块属于类别j的概率,通过反复进行上述步骤来减小预测误差j,得到训练好的深度卷积神经网络;

本发明使用“正样例权值共享”策略计算深度卷积神经网络的预测误差:当深度卷积神经网络的预测在正样本类之间出现误差(例如将t字形识别为直线型),则降低这种误差的权重,当深度卷积神经网络的预测在正/负样本间出现误差,则加重这种误差的权重。上式中λ为调节系数,当λ=0时类间/类内误分类将被平等对待,当λ=1时将完全忽略正样本类之间的预测误差,只考虑正/负样本间的预测误差。本发明取λ=0.9,重点考虑正/负样本间的预测误差同时兼顾正样本类之间的预测误差;

第三步:训练结构森林轮廓检测器:将训练图片块输入到第二步得到的深度卷积神经网络模型中,取神经网络第一个全连接层的输出作为训练图像块的特征,用该特征以及第一步中图像块对应的轮廓块训练结构森林轮廓检测器,训练完成的结构森林轮廓检测器具有如下功能:输入图像块对应的特征,输出该图像块对应的轮廓块;

第四步:提取测试图像特征:将待检测图像分块输入到第二步训练出的深度卷积神经网络模型中,得到第一个全连接层的输出,作为测试图像块的特征;

第五步:检测测试图像轮廓:将第四步中得到的各测试图像块特征依次输入到第三步训练出的结构森林检测器中,得到各测试图像块对应的轮廓块检测结果,然后将这些轮廓块拼接在一起,得到整幅图像的轮廓检测结果。

本发明与现有技术相比较,具有以下显而易见的突出实质性特点和显著的技术进步:

1)由于图像特征由深度卷积神经网络自动学得,相比现有方法中常用的手工设计的基于图像梯度的特征,对轮廓检测更有区分性,更能抑制由于光照明暗变化等带来的误检测,检测精度更高;2)利用到结构森林的特性,能够一次检测到一个图像块对应轮廓块的结构信息,相比现有的一些逐像素预测的方法,所检测出的轮廓更加平滑和连续。

附图说明

图1是本发明的流程框图。

图2是本发明中训练深度卷积神经网络特征提取器的流程框图。

图3是本发明中训练结构森林轮廓检测器的流程框图。

图4是本发明中检测图像轮廓的流程框图。

图5是训练图像和已标注的轮廓,以及从训练图像中取得的图像块,轮廓块。

图6是深度卷积神经网络训练过程的示意图。

图7是结构森林训练过程的示意图。

具体实施方式

下面结合附图,对本发明的优选实施例做详细说明。

实施例一:

参见图1,本基于深度卷积神经网络的图像轮廓检测方法,其特征在于具体操作步骤如下:

1)数据提取和处理;

2)训练深度卷积神经网络特征提取器;

3)训练结构森林轮廓检测器;

4)提取测试图像特征;

5)检测测试图像轮廓。

实施例二:本实施例与实施例一基本相同,特别之处如下:

所述步骤1)数据提取和处理:从训练图像和对应的轮廓图像中剪裁出50像素长宽的图像块xi和轮廓块,并根据轮廓块的形态为其指定类别yi

所述步骤2)训练深度卷积神经网络特征提取器的具体操作步骤:

①数据提取和处理:根据权利要求2中所述方法得到图像块xi和轮廓块类别yi

②输入神经网络:将图像块xi输入到深度卷积神经网络中,得到神经网络预测该图像块属于各类别的概率分别为图像块xi属于0到k类的概率;

③计算预测误差:与步骤①中指定的轮廓块类别yi计算预测误差j:

公式中λ是一个常数,取为0.9,n为训练图像块总个数,k为步骤①中指定轮廓块类别总数,i是训练图像块编号,j是类别编号,是卷积神经网络预测图像块xi属于类别j的概率,即卷积神经网络预测图像块xi属于类别0的概率;

④迭代训练:通过反复迭代训练来减小预测误差j,得到训练好的深度卷积神经网络。所述步骤3)训练结构森林轮廓检测器的具体操作步骤:

①数据提取和处理:根据权利要求2中所述方法得到图像块xi和轮廓块类别yi

②输入神经网络:将训练图像块xi输入到步骤2)训练出的卷积神经网络中;

③提取特征:取卷积神经网络第一个全连接层的输出作为图像块xi的特征;

④训练结构森林:用图像块特征与相应的轮廓块一起训练结构森林轮廓检测器。

所述步骤4)提取测试图像特征:将测试图像分块输入到步骤2)训练出的卷积神经网络中,取第一个全连接层的输出作为该图像块的特征。

所述步骤5)检测测试图像轮廓的具体操作步骤:

①图像分块:与步骤1)类似地将测试图像分成50像素长宽的图像块;

②提取图像块特征:用步骤4)所述方法提取测试图像块特征;

③检测图像块轮廓:将图像块特征逐一输入步骤3)训练出的结构森林,得到检测出的轮廓块;

④轮廓拼接:将各图像块检测结果按顺序拼接,得到整幅图像的检测结果。

实施例三:

本实施例是针对现有的轮廓提取方法提取的特征区分度不够的困难,提出了一种基于神经网络自主学习的特征提取方法,并结合结构森林轮廓检测技术,达到快速精准轮廓检测的目的。

图1为本发明轮廓检测方法的流程框图。如图所示,本发明包含以下几个具体步骤:

s1数据提取和处理:

步骤s1-1:从用于训练的200张已标注轮廓的图像中取出十万个50*50像素大小的图像块,该图像块中心区域存在轮廓,我们称之为正样本。另从图像中取十万个同样大小的图像块,图像块中心区域不存在轮廓,我们称为负样本。将所有的正样本对应的轮廓块使用k-means算法进行聚类操作,取类别为100,这样相似形态的轮廓块被聚为一类,一共得到100种不同形态的轮廓类,加上负样本,一共是101类。图5是训练图像和对应的轮廓标注,以及从该训练图像中取到的图像和轮廓块。经过步骤s1-1,每一个图像块都可以指定一个唯一的0-100之间的轮廓类别标识号,0表示负样本。

s2训练深度卷积神经网络特征提取器:

步骤s2-1,数据提取和处理:由步骤s1-1得到图像块与轮廓块类别;

步骤s2-2,输入神经网络:将得到的图像块输入到深度卷积神经网络中,得到神经网络的预测结果,即该图像块属于各类别的概率;

步骤s2-3,计算预测误差:将预测结果与步骤s1-1中指定的轮廓类别进行比较,并根据以下式(1)计算预测误差j:

式中yi为步骤s1-1中为图像块xi指定的类别号,是卷积神经网络预测图像块xi属于类别j的概率,n为训练图像块总个数,本发明中使用了50万个,其中正负样本中各25万个,k为轮廓块类别总数,本发明中指定了100种不同形态的轮廓块以及一种负样本,共计101种。式中λ为一常系数,当λ=0时预测误差将同等对待正样本内和正负样本间的预测误差,而当λ=1时将忽略正样本不同形态轮廓间的预测误差,只考虑正负样本间的预测误差。本发明采用”正样本权值共享”预测误差计算策略,取λ=0.9,这样能让深度卷积神经网络准确区分轮廓与背景部分,但同时对不同形态轮廓亦有鉴别能力,最终能在特征提取阶段提供更有区分度的特征,图6简要示例了该神经网络的训练过程。

步骤s2-4,迭代训练:通过反复进行上述步骤来减小预测误差j,得到训练好的深度卷积神经网络特征提取器;本发明使用梯度下降法训练深度卷积神经网络以得到预测误差最小的神经网络模型。假设深度卷积神经网络为h(xi;θ),θ为神经网络的参数,对任意输入图像块xipi为神经网络对图像块xi的轮廓类别的预测结果,具体地,为神经网络预测图像xi属于类别j的概率,j=0,1…k。梯度下降法按照公式(2)不断迭代更新神经网络参数:

(2)式中θt为t时刻深度卷积神经网络的参数,θt+1为下一时刻的参数,梯度下降法通过不断地计算当前时刻预测误差函数j对参数θ的导数并将参数θ往误差函数j下降最快的方向(梯度方向)移动,从而得到使误差函数j最小时的参数θ,梯度下降法也因此而得名。(2)式中α为一很小的常数称为学习率,表示参数θ每一次移动的距离,本发明中使用初始值为0.01,并在迭代过程当预测误差j接近最小值时不断减小α。神经网络往往有上百万的参数,因此以上参数θ指的是参数组成的向量,并不是一个值,(2)式中的求导为向量求导。

s3训练结构森林轮廓检测器:

步骤s3-1,数据提取和处理:由步骤s1-1得到图像块与轮廓块类别;

步骤s3-2,输入神经网络:将训练图像块输入到s2训练出的卷积神经网络模型中;

步骤s3-3,提取特征:取卷积神经网络第一个全连接层的输出作为对应图像块的特征;

步骤s3-4,训练结构森林:用步骤s3-3中得到的图像块特征和步骤s1-1中得到的该图像块对应轮廓块训练结构森林轮廓检测器,图7简要示例了结构森林的训练过程。

s4提取测试图像特征:

步骤s4-1:以待检测图像的每一个像素点为中心,取与步骤s1-1大小一致的图像块;

步骤s4-2:将上一步得到的图像块输入到步骤s2中训练好的神经网络模型,得到其第一个全连接层的输出,作为对应图像块的特征。

s5检测测试图像轮廓:

步骤s5-1,图像分块:与步骤s1-1类似地将测试图像分成50像素长宽的图像块;

步骤s5-2,提取图像块特征:按s4所述方法提取测试图像块特征;

步骤s5-3,检测图像块轮廓:将得到的图像块特征逐一输入s3训练出的结构森林轮廓检测器,得到图像块的轮廓检测结果;

步骤s5-4,轮廓拼接:将图像块的轮廓检测结果按输入图像中的位置拼接到一起,得到整幅图像的检测结果。

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