基于卷积神经网络的区域和像素级融合的显著性检测方法与流程

文档序号:11832980阅读:516来源:国知局
基于卷积神经网络的区域和像素级融合的显著性检测方法与流程

本发明涉及一种基于深度学习的图像处理方法,具体涉及一种基于卷积神经网络的区域和像素级融合的显著性检测方法。



背景技术:

随着深度学习的发展和兴起,基于深度学习的显著性检测技术也不断发展。显著性检测可分为自底向上的数据驱动模型和自顶向下的任务驱动模型两大类。自底向上的显著性检测是指对于给定的任意一幅图像,找出图中引人注意的目标,该目标可为任何类别的事物。而自顶向下的显著性检测方法通常从给定图片中找出给定类别的目标,并赋予不同的显著性值。目前,对自底向上的显著性检测方法的研究最多。

已有的自底向上的显著性检测方法可分为两类,分别为基于手工设计特征的方法和基于卷积神经网络的方法。由于基于手工设计特征的方法通常利用图像中的表面信息(比如颜色、纹理等)来进行特征提取,而提取的这些手工特征不能捕捉显著性目标的深层特性和多尺度信息,从而不能取得很好的性能。最近随着深度学习的兴起,有部分研究者开始使用卷积神经网络来进行显著性目标检测。目前已有的大部分基于卷积神经网络(CNN)的显著性目标检测方法首先将图像分割成多个区域,然后对每个区域用训练好的CNN模型来预测其显著性值。但这些方法不能得到精确的像素级的显著性预测结果。



技术实现要素:

为了克服上述问题,本发明提出了一种新的基于CNN的显著性检测方法,即基于卷积神经网络的区域和像素级融合的显著性检测方法。该方法包含三个阶段,分别为区域级显著性估计、像素级显著性预测和显著性融合,每个阶段都涉及到一个CNN模型。该方法可得到精确的像素级的显著性图,从而能更有效地推动基于显著性的相关应用的发展。

本发明的目的是通过以下技术方案实现的:

本发明提供了一种基于卷积神经网络的区域和像素级融合的显著性检测方法,该方法研究的对象是静态图像,其中图像的内容可以是任意的,研究的目标是从图像中找出吸引人眼注意力的目标,并为其赋予不同的显著性值。本发明主要提出了一种自适应的区域生成技术,并设计了两个CNN网络结构,分别用于像素级显著性预测和显著性融合。这两个CNN网络模型以图像作为输入,以图像的真实结果作为监督信号用于网络模型的训练,并最终输出与输入图像大小一致的显著性图。本发明能有效地进行区域级显著性估计和像素级显著性预测,得到两个显著性图,最后使用进行显著性融合的CNN将两个显著性图及原始图像进行融合得到最终的显著性图,整个系统框图如图1所示。

本发明的具体实施步骤如下:

一、区域级显著性估计

第一步、采用自适应的区域生成技术对输入图像I进行分割

(1)使用SLIC算法对输入图像I进行超像素分割,得到n个超像素;

(2)从每个超像素中提取一个简单的特征向量,用来表征该超像素的特性;

(3)使用一个基于图的合并聚类算法对超像素进行聚类得到不同的区域;

第二步、使用Clarifai网络模型进行区域显著性估计

(1)从每个区域的中心线周围随机选取m个超像素;

(2)设置m个超像素的中心作为窗口的中心构建m个窗口,且这些窗口包含整个图像;

(3)将构造的m个窗口图像经过CNN模型,得到m个显著性值;

(4)计算m个显著性值的均值并将其作为该区域的显著性值;

二、像素级显著性预测

(1)以模型VGGNet作为预训练模型,将VGGNet中的最后一个模块移除,对第四和第五模块的输出进行去卷积操作,并在特征通道方向将它们进行拼接,用于多尺度特征学习;然后采用大小为1* 1的卷积核对拼接后的特征图进行卷积得到一个概率图;

(2)在像素级CNN模型训练阶段,使用叉熵损失函数计算概率图和真实结果图之间的误差,并将误差进行回传以便更新像素级CNN模型参数;

(3)像素级CNN模型训练完之后,将输入图像I直接输入到像素级CNN模型中预测其对应的像素级显著性图;

三、显著性融合

(1)构建融合CNN网络结构:CNN网络结构包含一个拼接层、三个卷积层和一个损失层;

(2)将输入图像I和步骤一、二的两个显著性图拼接成一个5通道的图像,然后将其送入三个卷积层;

(3)在融合CNN网络训练阶段,使用损失层中的叉熵损失函数计算最后一个卷积层的输出与真实显著性图之间的误差,并将误差进行回传以便更新融合CNN模型参数;

(4)测试时,将输入图像I直接输入到训练好的融合CNN模型中,该模型最后一个卷积层的输出即为最终预测的显著性图。

本发明具有如下优点:

1、本发明提出了一种新的基于CNN的显著性检测方法,该方法充分发挥了区域级显著性估计和像素级显著性预测的优势,并取得了很好的显著性检测性能。

2、本发明提出了一种自适应的区域生成技术,该技术可为不同的图像生成不同数量的区域,并能很好的保持物体的边缘。

3、本发明设计了一个CNN网络结构,该网络结构可有效地挖掘图像中的多尺度信息,除了可用于像素级显著性预测外,还可进行与像素分类相关的任务,比如图像分割。

4、本发明提出了一种新的基于CNN的显著性融合策略,不仅充分利用了显著性图之间的互补信息,还利用了原始图像中丰富的信息,从而在很大程度上提高了显著性检测的性能。

附图说明

图1为本发明整个系统框图;

图2为自适应区域生成结果实例,a-原始图像,b-真实结果,c-超像素分割结果,d-区域生成结果;

图3为区域级显著性估计结果实例,a-原始图像,b-真实结果,c-区域级结果;

图4为像素级CNN网络结构;

图5为像素级显著性预测结果实例,a-原始图像,b-真实结果,c-像素级结果;

图6为融合CNN网络结构;

图7为本发明进行显著性检测的结果,a-原始图像,b-真实结果,c-融合结果,d-像素级结果,e-区域级结果。

具体实施方式

下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。

本发明提供了一种基于卷积神经网络的区域和像素级融合的显著性检测方法,具体实施步骤如下:

一、区域级显著性估计

在区域级显著性估计过程中,其中第一步就是从输入图像中生成大量的区域。最简单的方法是使用超像素作为区域来进行显著性估计,从而使得如何确定分割的超像素个数变得很困难。如果超像素个数太少,从而使得属于同一个显著性目标的区域可能会被欠分割。如果超像素个数太多,从而使得属于显著性目标或背景的区域可能会被过分割。无论是欠分割还是过分割,都可能使得显著性目标或背景的显著性值不一致。因此,对于不同的图像,由于它们的不同特性,应该被分割成不同数量的超像素。为了解决上述问题,本发明提出一种自适应的区域生成技术来进行图像分割。给定一个输入图像I,该自适应区域生成技术的过程如下:

(1)使用SLIC算法对I进行超像素分割得到n个超像素。综合考虑到方法的效果和效率,在本发明中,n=300。

(2)从每个超像素中提取一个简单的特征向量(包含了Lab颜色空间上的平均颜色和平均空间位置坐标),用来表征该超像素的特性。

(3)使用一个基于图的合并聚类算法对超像素进行聚类得到不同的区域。

经过上述过程之后,图像I中颜色相似的且相邻的超像素通常被聚类到同一个区域中。对于不同的图像,最终聚类后得到的区域个数也是不同的,且都要远远小于超像素的个数n。图2给出自适应区域生成技术得到的三个生成的结果实例。

得到生成的区域之后,下一步是区域显著性估计。本发明使用Clarifai网络模型(其是ImageNet2013中图像分类任务取得最好性能的CNN模型)来进行区域显著性估计。具体而言,首先从每个区域的中心线周围随机选取m个超像素,然后设置这m个超像素的中心作为窗口的中心来构建m个窗口,且这些窗口包含了整个图像。选择区域中心线周围的超像素是为了(1)使得所构建的窗口的中心尽可能地远离区域的边界,(2)来自不同区域的窗口中的内容尽可能不同。在本发明中,当区域中包含的超像素的个数大于5时,设置m=5,否则,将m的值置为超像素的个数。由上可知,对于每一个区域,将构造m个窗口图像,经过CNN模型后,将得到m个显著性值,计算它们的均值并将其作为该区域的显著性值,从而使得该区域的显著性值对噪声更加鲁棒。图3给出了三个区域级显著性估计的结果实例。

二、像素级显著性预测

尽管区域级显著性估计能得到一致的且边缘保持很好的显著性图,但不能得到像素级精度的显著性图。对此,本发明提出一种CNN网络结构(记为像素级CNN)用来进行像素级显著性预测。该像素级CNN以原始图像为输入,以与原始图像等大小的显著性图为输出。为了得到精确的显著性预测,该CNN结构应当是深层的且拥有不同步幅(strides)的多尺度阶段,以至于为图像像素学习到判别能力强的多尺度特征。当训练样本规模较小时,要重头开始有效地训练这样一个网络结构是一个非常艰巨的任务。为了克服这类问题,一个很好的做法就是使用一些在大规模数据集上训练好的模型(比如那些在ImageNet上非常成功的网络模型VGGNet和GoogleNet)作为预训练模型,然后在需要的任务上的小数据集上对模型进行微调,从而可训练得到一个学习能力强的模型。

本发明在VGGNet模型的基础上对其进行修改,从而构建该像素级CNN模型。VGGNet由六个模块(block)组成,前五个模块由卷积层(记为conv)和池化层(记为pooling)组成,如图4所示。最后一个模块由一个池化层和两个全连接层组成。本发明将VGGNet中的最后一个模块移除。为了利用图像的多尺度信息,本发明融合第四和第五个模块的输出来实现多尺度特征学习。由于最后两个模块的输出大小不同且远小于原始图像的大小,因此为了使该像素级CNN模型能自动学习多尺度特征用于像素级显著性预测,本发明首先将对最后两个模块的输出进行去卷积操作(记为deconv),使得它们的大小与原始图像保持一致,并在特征通道方向将它们进行拼接(记为concat)。然后采用大小为1* 1的卷积核对拼接后的特征图进行卷积得到一个概率图,在该概率图中,值越大意味着越显著。在测试时,该概率图实际上就是输入图像的显著性图。在训练时,使用叉熵损失函数(记为loss)来计算该概率图和真实结果图之间的误差,并将误差进行回传以便更新模型参数。到此,整个像素级CNN网络结构已经全部构建完成,如图4所示。在模型训练阶段,标准的随机梯度下降算法被用来最小化损失函数。模型训练完之后,将图像直接输入到模型中来预测其对应的像素级显著性图。图5给出了三个像素级显著性预测结果的实例。

三、显著性融合

对于给定的一个图像,由上述过程可有效地得到两个显著性图,分别为:区域级显著性图和像素级显著性图。由于它们是利用了图像中的不同信息的CNN模型计算得到,因此它们具有互补性。若能有效地对其进行融合,必将进一步提高显著性检测的性能。

本发明设计一个简单的CNN网络结构(记为融合CNN)并学习一种非线性变换来充分挖掘区域级显著性图和像素级显著性图之间的互补信息,从而达到提高性能的目的。该CNN网络结构包含了一个拼接层(concat)、三个卷积层(conv)和一个损失层(loss),如图6所示。首先将原始图像和它的两个显著性图拼接成一个5通道的图像,然后将其送入后续的三个卷积层(具体配置见图6)。在测试时,最后一个卷积层的输出即为最终预测的显著性图。在训练时,使用损失层中的叉熵损失函数来计算最后一个卷积层的输出与真实显著性图之间的误差。由上可知,在本发明提出的显著性融合方法中,除了使用两个得到显著性图外,还使用了原始图像。这是因为引入原始图像丰富的信息可纠正某些无法被仅使用显著性图进行融合时纠正的错误。

该融合CNN可以进行单独训练,也可与前面的CNN网络进行联合学习来获得最终性能的提升。在区域级显著性估计中,最开始需要从输入图像中生成多个区域,然后使用区域级CNN对每个区域进行显著性值估计。而像素级CNN和融合CNN则直接以图像作为输入,并直接输出得到显著性图,因此是一个端到端的过程。因此,很难将上述三个CNN网络结构融入到一个统一的网络中,并进行端到端的联合学习。为了简化这一过程,最终,三个CNN都先进行单独训练,而后,像素级CNN和融合CNN在预训练的基础上进一步进行联合学习,如图1所示。测试时,将图像输入图1中的框架,融合CNN的输出为最终预测到的显著性图。图7给出了四个本发明提出的显著性检测方法的检测结果实例,由图7可知,本发明检测的结果与真实结果很接近,由此说明了本发明的有效性。

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