一种图像分类方法和装置与流程

文档序号:15984219发布日期:2018-11-17 00:42阅读:184来源:国知局

本发明涉及图像处理技术领域,特别涉及一种图像分类方法和装置。

背景技术

随着遥感图像的分辨率的不断提高,高分辨率遥感图像为遥感技术的发展带来新的机遇的同时,也由于自身的特点为遥感数据的处理带来新的挑战。遥感图像中地物越来越清晰,其结构也越复杂。深度学习技术的发展为图像智能化分析带来新的手段,尤其是基于像素级语义分割的全卷积神经网络。但是全卷积网络是基于像素的分类方法,若直接将全卷积网络应用到高分辨率遥感图像,则计算复杂度太大,并且,基于像素的处理还会带来图斑破碎的问题以及椒盐噪声的影响。



技术实现要素:

本发明提供一种图像分类方法和装置,用以实现更加高效的遥感图像分类。

本发明提供一种图像分类方法,包括:

根据预设特征对原始图像进行图像分割,得到互不相交的多个子区域,并记录每个子区域在所述原始图像中所占据的位置信息;

将原始图像中的每个子区域分别用每个子区域对应的一个像素特征值代替,得到第一图像;

利用全卷积神经网络对所述第一图像中的像素进行分类,得到第二图像;

根据所述位置信息,对所述第二图像进行图像重建,得到与所述原始图像的大小以及像素位置均对应的分类图像。

可选的,所述将原始图像中的每个子区域分别用每个子区域对应的一个像素特征值代替,得到第一图像,包括:

获取每个子区域各自对应的一个像素特征值;

根据每个子区域在原始图像中的顺序,排列所有像素特征值得到所述第一图像。

可选的,所述获取每个子区域各自对应的像素特征值,包括:

针对每个子区域:

将子区域的所有像素的均值作为该子区域的像素特征值;或者,

将子区域的所有像素的最大值作为该子区域的像素特征值;或者,

将子区域的所有像素的最小值作为该子区域的像素特征值。

可选的,所述根据每个子区域在原始图像中的顺序,排列所有像素特征值得到第一图像,包括:

根据每个子区域的中心相对于原始图像的左上角出现的顺序,排列所有像素特征值得到第一图像。

可选的,所述对原始图像进行图像分割,得到多个子区域之后,所述方法还包括:

根据多个子区域的数量确定所述第一图像的尺寸;

所述根据每个子区域在原始图像中的顺序,排列所有像素特征值得到所述第一图像,包括:

根据所述尺寸以及所述顺序,排列所有像素特征值得到所述第一图像。

本发明还提供一种图像分类装置,包括:

分割模块,用于根据预设特征对原始图像进行图像分割,得到互不相交的多个子区域,并记录每个子区域在所述原始图像中所占据的位置信息;

第一处理模块,用于将原始图像中的每个子区域分别用每个子区域对应的一个像素特征值代替,得到第一图像;

第二处理模块,用于利用全卷积神经网络对所述第一图像中的像素进行分类,得到第二图像;

第三处理模块,用于根据所述位置信息,对所述第二图像进行图像重建,得到与所述原始图像的大小以及像素位置均对应的分类图像。

可选的,所述第一处理模块,包括:

获取子模块,用于获取每个子区域各自对应的一个像素特征值;

排列子模块,用于根据每个子区域在原始图像中的顺序,排列所有像素特征值得到所述第一图像。

可选的,所述获取子模块用于,针对每个子区域:

将子区域的所有像素的均值作为该子区域的像素特征值;或者,

将子区域的所有像素的最大值作为该子区域的像素特征值;或者,

将子区域的所有像素的最小值作为该子区域的像素特征值。

可选的,所述排列子模块用于:

根据每个子区域的中心相对于原始图像的左上角出现的顺序,排列所有像素特征值得到第一图像。

可选的,所述装置还包括:

确定模块,用于根据所述多个子区域的数量确定所述第一图像的尺寸;

所述排列子模块还用于:根据所述尺寸以及所述顺序,排列所有像素特征值得到所述第一图像。

本发明的实施例提供的技术方案可以包括以下有益效果:

本实施例中,由于根据面向对象的思想对原始图像进行图像分割,把同一类的像素聚合为一个对象,该对象可以对应于全神经网络的输入图像的一个像素,因此将面向对象技术和全卷积神经网络进行了结合。这样可以大大降低全卷积神经网络的待分类目标的规模,提高计算速度,尤其对高分辨图像而言。并且,采用面向对象技术进行图像分割可以克服图斑破碎的问题以及椒盐噪声的影响,提高了分类的精度。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明一实施例中的图像分类方法的方法流程图;

图2为本发明一实施例中的全卷积网络模型的示意图;

图3为本发明一实施例中的图像分类方法的方法流程图;

图4为本发明一实施例中的图像分类方法的图像分割、图像编码的示意图;

图5为本发明一实施例中的图像分类方法的图像重建的示意图;

图6为本发明一实施例中的图像分类方法的整体流程示意图;

图7为本发明一实施例中的图像分类装置的结构示意图;

图8为本发明一实施例中的图像分类装置的结构示意图;

图9为本发明一实施例中的图像分类装置的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

相关技术中,全卷积神经网络是基于像素级进行语义分割,若直接将全卷积神经网络应用到高分辨率遥感图像会带来计算复杂度太大的问题,并且,基于像素的处理还会带来图斑破碎的问题以及椒盐噪声的影响。

为解决上述问题,本实施例将遥感图像根据面向对象的思想进行图像分割,将分割后的子区域作为全卷积神经网络的输入图像的像素,实现了将面向对象技术和全卷积神经网络结合,提供了更高效的图像分类方法。

参见图1,本实施例中图像分类方法包括:

步骤101:根据预设特征对原始图像进行图像分割,得到互不相交的多个子区域,并记录每个子区域在原始图像中所占据的位置信息。

步骤102:将原始图像中的每个子区域分别用每个子区域对应的一个像素特征值代替,得到第一图像。

步骤103:利用全卷积神经网络对第一图像中的像素进行分类,得到第二图像。

步骤104:根据位置信息,对第二图像进行图像重建,得到与原始图像的大小以及像素位置均对应的分类图像。

本实施例首先根据面向对象的思想对原始图像进行图像分割,把同一类的像素聚合为一个对象,该对象可以对应于全神经网络的输入图像的一个像素,因此将面向对象技术和全卷积神经网络进行了结合。这样可以大大降低全卷积神经网络的待分类目标的规模,提高计算速度,尤其对高分辨图像而言。并且,采用面向对象技术进行图像分割可以克服图斑破碎的问题以及椒盐噪声的影响,提高了分类的精度。

其中,图像分割是指将图像分成若干个特定的、具有独特性质的、互不相交的区域。本实施例不对图像分割的算法进行限定,可以使用任意合适的图像分割算法对原始图像进行分割。图像分割的方法和种类众多,通常可分为三类:基于阈值的分割算法、基于边缘的分割算法和基于区域的分割算法。其中:

基于阈值的分割算法:阈值处理可以分为单阈值处理与多阈值处理。在单阈值处理中最常用且分割效果也不错的算法是otsu(最大类间方差算法)算法。多阈值处理:k类由k-1个阈值来分离,即计算图像的多个类间方差。

基于边缘的分割算法:由于边缘是图像中灰度突变像素的集合,一般用微分进行检测,基本的边缘检测算法有:roberts算子、prewitt算子、sobel算子,稍高级的算法有:marr-hilderth边缘检测器、canny边缘检测器等。

基于区域的分割方法:主要包含区域分裂合并和区域生长两种类型。具体的算法例如分水岭算法、聚类分析、马尔科夫随机场方法、多尺度分割以及神经网络方法等。

本实施例中全卷积网络(fullyconvolutionalnetworks,fcn)模型可以有多种框架,如u-net(convolutionalnetworksforbiomedicalimagesegmentation)模型、segnet(adeepconvolutionalencoder-decoderarchitectureforimagesegmentation)模型和deeplab(semanticimagesegmentationwithdeepconvolutionalnets)模型等。

全卷积网络作为一种新型的深度卷积架构,具有两个明显的优点:一是可以接受任意大小的输入图像,而不要求所有的训练图像和测试图像具有相同的尺寸;二是经过一次卷积可以得到多个区域的特征,避免了分区域传入卷积神经网络重复计算卷积的问题,故更加高效。全卷积网络框架如图1所示,全卷积网络是由多个卷积层串接而成,为了减少网络中的训练参数个数,在卷积层后面加入池化层,最后对输出的特征图进行反卷积操作,将特征图尺寸恢复到输入图像大小。

fcn模型的卷积公式如公式(1)所示:

式中xm代表第m个输出映射,xi代表第i个输入,i代表输入特征映射的层数,kmi代表第m个输出所对应的卷积核中第i个分量,bm表示第m个输出对应的偏置,而f()表示激活函数,conv()表示卷积处理。kmi和bm均为预设的参数。

池化层主要通过下采样来进一步减少网络参数,同时提高特征对输入的平移等变化的鲁棒性。下采样对输入的某个固定大小的矩形区域进行运算,并不改变输入的层数。因此,根据池化结果可再次进行卷积处理,将池化结果作为二次卷积处理的输入。本实时例中池化方式使用最大值池化,参见公式(2):

x(i,j)=max({xi×s+k,j×s+k},k=0,1,…,k)(公式2)

式中x(i,j)表示为池化层的输出在图像坐标(i,j)处的值,k代表在下采样时所选取的正方形局部区域的边长,s表示计算过程中局部区域滑动的步长(如s=1)。

多次重复卷积和池化处理,如至少执行两次卷积和池化处理,然后进行一次反卷积处理,通过反卷积处理恢复出输入图像的大小。

其中,反卷积处理主要是通过上采样来使特征图恢复到输入图像相同的大小,保留了输入图像中的空间信息。因此,首先需要确定反卷积的卷积核大小。参见公式(3):

o=s(w-1)+k(公式3)

式中o为输入图像的大小,s为卷积步长,w为最后一次池化后图像的大小,k为反卷积的卷积核的大小。在已知输入和输出大小的情况下,可以反推出反卷积层应该设置的卷积核的大小。然后将k带入反卷积公式,得到全卷积网络模型,即f1(x),f2(x),…,ft(x)。通过训练样本集,每个训练样本集训练得到一组kmi和bm,即得到一个全卷积网络模型。

可选的,所述步骤102包括:步骤a1-步骤a2。

步骤a1:获取每个子区域各自对应的一个像素特征值。

步骤a2:根据每个子区域在原始图像中的顺序,排列所有像素特征值得到所述第一图像。

本实施例中,将每个子区域的像素特征值根据子区域的顺序进行排列,可以简单、方便地得到第一图像。

可选的,步骤a1获取每个子区域各自对应的像素特征值,包括:

针对每个子区域:

将子区域的所有像素的均值作为该子区域的像素特征值;或者,

将子区域的所有像素的最大值作为该子区域的像素特征值;或者,

将子区域的所有像素的最小值作为该子区域的像素特征值。

本实施例中,提供了不同的像素特征值的取值方法,可以根据不同的分类情况和分类效果选择不同的取值方法。

可选的,步骤a2包括:根据每个子区域的中心相对于原始图像的左上角出现的顺序,排列所有像素特征值得到第一图像。

本实施例中,提供了有效的排列像素特征值的方法,使得可以在分割后的子区域的不规则的情况下排列像素特征值。

可选的,步骤101之后,所述方法还包括:

根据多个子区域的数量确定第一图像的尺寸;

步骤a2包括:根据确定的第一图像的尺寸以及每个子区域在原始图像中的顺序,排列所有像素特征值得到第一图像。

本实施例可以根据多个子区域的数量确定第一图像的尺寸,从而使得排列像素特征值后得到的第一图像符合要求。

下面通过实施例来详细介绍实现过程。

参见图3,本实施例中图像分类方法包括:

步骤301:根据预设特征对原始图像进行图像分割,得到互不相交的多个子区域。

可以根据预设特征对原始图像进行图像分割,例如,根据灰度值特征、纹理特征、颜色特征、亮度特征或边缘特征等对原始图像进行分割,使得分割后得到的子区域中的像素具有相同或相似的某一类特性。如图4所示,原始图像被示例性地分为4个子区域a、b、c、d。在本发明的其他实施例中,划分出的子区域很可能大小不同、形状不规则且形状各不相同。

步骤302:记录每个子区域在原始图像中所占据的位置信息。

例如,如图4所示,分别记录4个子区域a、b、c、d中所包含的像素在原始图像中的位置信息。

步骤303:获取每个子区域各自对应的一个像素特征值。

由于同一子区域中的像素具有相同或相似的特征,因此,可以考虑使用一个像素特征值来代表一个子区域。

例如,可以将子区域的所有像素的均值作为该子区域的像素特征值;或者,将子区域的所有像素的最大值作为该子区域的像素特征值;或者,将子区域的所有像素的最小值作为该子区域的像素特征值。

如图4所示,在本实施例中,将子区域中的所有像素的均值作为该子区域的像素特征值。通过该步骤,可以获得4个子区域a、b、c、d分别对应的4个像素特征值a、b、c和d。

步骤304:根据每个子区域在原始图像中的顺序,排列所有像素特征值得到第一图像。

例如,如图4所示,根据4个子区域a、b、c、d在原始图像中的顺序,将4个子区域分别对应的4个像素特征值a、b、c和d进行排列,从而都得到第一图像。此时原始图像可以简化为四个像素的图像,大大降低了计算复杂度。上述步骤303和304也可以合并称为图像编码。

在本发明的另一实施例中,由于划分出的子区域很可能大小不同、形状不规则且形状各不相同,因此,可以根据每个子区域的中心相对于原始图像的左上角出现的顺序,排列所有像素特征值得到第一图像。

在本发明的另一实施例中,还可以先根据多个子区域的数量确定第一图像的尺寸。比如步骤301对原始图像进行图像分割后,得到第一行3个子区域,第二行2个子区域,第三行4个子区域,一共九个,那么确定第一图像的尺寸为3*3的矩形。然后,可以根据每个子区域的中心相对于原始图像的左上角出现的顺序开始排序,排列所有像素特征值得到一个3*3的图像,即为第一图像。此外,如果出现子区域的数量不能组合为矩形的情况,可以在最后补零,使第一图像成为规则矩形。

步骤305,利用全卷积神经网络对第一图像中的像素进行分类,得到第二图像。

全卷积神经网络可以基于像素级别对第一图像中的像素进行分类,得到的分类图像即为第二图像,第二图像与第一图像的大小相同、像素位置相对应。

步骤306,根据记录的每个子区域在原始图像中所占据的位置信息,对第二图像进行图像重建,得到与原始图像的大小以及像素位置均对应的分类图像。

由于第二图像是对于第一图像进行的分类,由于第一图像中的像素位置与原始图像的像素位置已经不同,因此,第二图像的像素位置和原始图像也完全不同,所以要根据图像分割时记录的子区域中像素的位置,将第二图像重建为与原始图像大小以及像素位置均对应的分类图像。

如图5所示,第二图像根据图像分割时记录的子区域中像素的位置重建得到最终分类结果。

本实施例提出的图像分类方法的总体流程可以如图6所示,首先对原始图像进行图像分割和编码,得到第一图像,第一图像通过全卷积神经网络模型的分类得到第二图像,第二图像经过重建(即图像解码)得到最终的分类图像。

通过以上描述介绍了图像分类的实现过程,该过程可由装置实现,下面对该装置的内部结构和功能进行介绍。

参见图7,本实施例中的图像分类装置包括:分割模块701、第一处理模块702、第二处理模块703和第三处理模块704。

分割模块701,用于根据预设特征对原始图像进行图像分割,得到互不相交的多个子区域,并记录每个子区域在所述原始图像中所占据的位置信息;

第一处理模块702,用于将原始图像中的每个子区域分别用每个子区域对应的一个像素特征值代替,得到第一图像;

第二处理模块703,用于利用全卷积神经网络对所述第一图像中的像素进行分类,得到第二图像;

第三处理模块704,用于根据所述位置信息,对所述第二图像进行图像重建,得到与所述原始图像的大小以及像素位置均对应的分类图像。

在本发明的一实施例中,如图8所示,第一处理模块702,包括:

获取子模块801,用于获取每个子区域各自对应的一个像素特征值;

排列子模块802,用于根据每个子区域在原始图像中的顺序,排列所有像素特征值得到所述第一图像。

在本发明的一实施例中,获取子模块801用于,针对每个子区域:

将子区域的所有像素的均值作为该子区域的像素特征值;或者,

将子区域的所有像素的最大值作为该子区域的像素特征值;或者,

将子区域的所有像素的最小值作为该子区域的像素特征值。

在本发明的一实施例中,排列子模块802用于:

根据每个子区域的中心相对于原始图像的左上角出现的顺序,排列所有像素特征值得到第一图像。

在本发明的一实施例中,如图9所示,装置还包括:

确定模块705,用于根据所述多个子区域的数量确定所述第一图像的尺寸;

排列子模块802还用于:根据所述尺寸以及所述顺序,排列所有像素特征值得到所述第一图像。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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