卷积神经网络及基于卷积神经网络的图像处理方法

文档序号:25873566发布日期:2021-07-16 17:07阅读:231来源:国知局
卷积神经网络及基于卷积神经网络的图像处理方法

1.本公开涉及神经网络技术领域,尤其涉及一种卷积神经网络及基于卷积神经网络的图像处理方法。


背景技术:

2.近年来,深度神经网络在模式识别领域进行大量应用,例如,深度神经网络已应用于目标检测、人脸识别、语义分割等。这些应用与深度神经网络能够学习具有强表达能力的特征(图像的表示方法)息息相关。手工提取特征的方法通过引入专家知识能提取图像的低层级特征。与传统的手工提取特征的方法相比,深度神经网络依靠数据驱动,能够学习图像的包括低层级、中层级及高层级特征的各层级特征。神经网络提取图像特征的工作方式类似于人类的视觉系统,因而在识别效果上优于手工提取特征的方法。
3.卷积神经网络固有的平移不变性,使其对目标在图像中的位置具有很强的鲁棒性。但是卷积神经网络对旋转和尺度缩放比较敏感,不具有旋转和尺度不变性。最近,已经提出一些方案试图将旋转不变性引入到卷积神经网络。这些方案大致分为两类:
4.1)采用数据增广的方法,将训练集中的样本做旋转变换得到增广数据集,然后用来训练普通的卷积神经网络结构或者专门设计的一些卷积神经网络结构,得到具有旋转不变性的卷积神经网络模型。
5.2)完全不需要对训练集的样本进行数据增广,但改变卷积神经网络的卷积核的结构,来得到具有旋转不变性的卷积神经网络模型。
6.采用数据增广的方法,能够获得一定的旋转不变性,但是数据增广需要对数据做预处理,同时,增广使得训练集的样本量成倍增加,使得训练成本成倍增加。此外,数据增广需要更大的卷积神经网络模型,增加了模型过拟合的风险。通过改变卷积核结构的现有方法,无法主动的对输入做旋转变换。


技术实现要素:

7.本公开是考虑现有技术存在的上述问题而作出,本公开采用旋转卷积核及池化窗口的方式给卷积神经网络带来旋转不变性,从而克服现有技术中的上述缺陷之一或全部。
8.根据本公开实施例的一方面,提供了一种卷积神经网络,包括:至少一个卷积层,每个卷积层包括至少一个卷积核组,每个卷积核组包括两个以上的卷积核,每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核;以及至少一个池化层,每个池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
9.在根据本公开的一示例性实施例中,卷积神经网络还包括特征图选择层,特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行
比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。
10.在根据本公开的一示例性实施例中,卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由f
i
表示,则其他卷积核f
i
通过以下公式获得:
11.f
i
(c,p,q)=f0(c,p

,q

),其中
12.其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
13.在根据本公开的一示例性实施例中,第一卷积核的权重随着卷积神经网络的训练而改变。
14.在根据本公开的一示例性实施例中,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。
15.在根据本公开的一示例性实施例中,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0016][0017]
其中,(h
θo
,w
θo
)表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)旋转的角度。
[0018]
根据本公开实施例的又一方面,提供一种基于卷积神经网络的图像处理方法,方法包括:由卷积神经网络的各卷积层中的每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核;以及由卷积神经网络的各池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0019]
在根据本公开的一示例性实施例中,基于卷积神经网络的图像处理方法还包括:由卷积神经网络的特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。
[0020]
在根据本公开的一示例性实施例中,卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由f
i
表示,则其他卷积核f
i
通过以下公式获得:
[0021]
f
i
(c,p,q)=f0(c,p

,q

),其中
[0022]
其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
[0023]
在根据本公开的一示例性实施例中,第一卷积核的权重随着卷积神经网络的训练
而改变。
[0024]
在根据本公开的一示例性实施例中,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。
[0025]
在根据本公开的一示例性实施例中,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0026][0027]
其中,(h
θo
,w
θo
)表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)旋转的角度。
[0028]
根据本公开实施例的又一方面,提供了一种图像处理装置,其特征在于,包括存储器和处理器,处理器连接至存储器,存储器存储有处理器执行的程序指令,处理器在执行程序指令时能够执行上述的各方法。
[0029]
根据本公开实施例的又一方面,提供一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有包括程序指令的计算机程序,程序指令在被处理器或者计算机执行时执行上述的各方法。
[0030]
根据本公开实施例的又一方面,提供了一种处理器,其中,处理器用于运行程序,其中,程序由计算机或处理器运行时执行以上的各方法。
[0031]
根据本公开实施例的又一方面,提供了一种计算机程序产品,其中,计算机程序产品包括存储在非暂时性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行以上的各方法。
[0032]
根据本公开的各实施例的卷积神经网络及基于卷积神经网络的图像处理方法,通过直接对卷积核以及池化层进行改进,使得卷积神经网络从自身结构上具有了旋转不变性,使得旋转不变性不再依赖于数据增广。此外,本公开的卷积神经网络降低了卷积核的通道数,减少了卷积核的参数,在保持较好性能的同时降低了计算量与内存占用量。
附图说明
[0033]
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示例性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
[0034]
图1是根据现有技术的一种多列神经网络的示意图;
[0035]
图2是根据现有技术的一种空间变换器网络(stn)的示意图;
[0036]
图3是根据本公开的一实施例的卷积神经网络结构的示意图;
[0037]
图4是根据本公开的一示例性实施例的图像数据的图;
[0038]
图5a是根据本公开的一示例性实施例的由卷积核输出的特征图的示意图;
[0039]
图5b至图5d是根据本公开的一示例性实施例的池化窗口的示意图;
[0040]
图6为根据本公开的另一实施例的基于卷积神经网络的图像处理方法的流程图;以及
[0041]
图7为根据本公开的另一实施例的图像处理装置的方框图。
具体实施方式
[0042]
为了使本领域技术人员更好地理解本公开内容,下面将结合本公开实施例的各附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。以下示例性实施例仅用于说明本公开内容,但不用来限制本公开的范围。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当落入本公开内容的保护范围。
[0043]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不一定用于描述特定的顺序或先后次序。应该理解,这样使用的术语在适当情况下可以互换,以便文中描述的本公开的实施例能够以除文中图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含一系列步骤或模块或单元的过程、方法、系统、产品或设备不必限于明确列出的那些步骤或模块或单元,而是可包括没有明确列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块或单元。
[0044]
为了便于理解本公开内容,下面给出对关键术语的说明:
[0045]
特征:图像的一种表示方法。传统方法用rgb三通道的像素来表示图像。为了更好利用计算机进行识别,需要过滤掉rgb中的冗余信息,并提取出更加语义的特征,常常将图像表示成一个向量,这个向量称为特征。图像特征包含了图像中一些突出的信息,例如轮廓边缘、颜色等。
[0046]
尺度:图像的大小。
[0047]
特征不变性:特征对几何变化的敏感程度。如果图像变化一点,而特征不变,则具备特征不变性。
[0048]
数据增广:在图像读入到神经网络时,主动对图像做某种变换,例如对图像缩放、剪裁、旋转等。每种变换都能为神经网络提供对应的特征不变性。
[0049]
旋转不变性:在输入图像旋转的情况下,输出特征不变的特性,公式如下:其中,θ表示输入图像的任意大小的旋转角度,output表示输出的特征,input表示输入的图像。
[0050]
图1是根据现有技术的一种多列神经网络的示意图。图1所示的神经网络是采用数据增广的方法得到的具有旋转不变性的多列神经网络。如图1所示,最下部是输入图像,由正方形表示的位于输入图像上部的是滤波器,最左侧的是标准滤波器,标准滤波器右侧是多个变换滤波器。前述各滤波器对读入到神经网络的图像主动进行某种变换,例如图像缩放、剪裁、旋转等,每种变换都能为神经网络提供对应的特征不变性。然后将处理后的图像输入卷积神经网络的卷积层、池化层进行特征提取。图像经特征提取而获得的特征向量经级联后输入最上层的分类层进行分类。
[0051]
图1所示的多列神经网络采用多列的结构。每列网络读取一个旋转角度的图像,在最后将每列网络的输出特征向量级联起来作为图像的多角度表示。该神经网络需要在n列的每一列执行数据预处理,对预处理后的图像在n列进行训练,训练难度增加,图像分类精度很低。
[0052]
图2是根据现有技术的一种空间变换器网络(stn)的示意图。如图2所示的空间变
换器网络设置于神经网络结构之前,用于对将输入神经网络结构的图像数据进行旋转。
[0053]
如图2所示,左侧立方体u表示空间变换器网络的输入,右侧立方体v表示空间变换器网络的输出,空间变换器网络20包含三个子模块:定位网络22、网格生成器24和采样器26。定位网络22与网格生成器24定义了空间变换器网络输入与输出(例如图像)的坐标对应关系和采样参数。采样器26完成对输入的采样,例如双线性采样。
[0054]
空间变换器网络20作为一个独立单元设置到神经网络结构的数据层之后,主动的对输入数据做几何变换(尺度变换、旋转、平移等),从而使得网络学到了对应的几何不变性。该几何变换的参数一般由人工初始设定,然后在训练中更新。每种几何变换都要引入一个单独的、对应的空间变换器网络20。例如,要想利用空间变换器网络20对旋转、尺度缩放、平移建模,就需要在网络结构中加入3个空间变换器网络20。
[0055]
当空间变换器网络用于数据(图像)层之后时,其输出对应的是另一角度上的图像。深度神经网络在这些不同于原角度的图像上学习,便可学习到角度不变性。这与数据增广的思想类似。但是,当空间变换器网络用于网络的中间层级或高层级时,其输入是原角度的中、高层级特征,但输出却不是另一角度的中、高层级特征。换句话说,若对图像做插值旋转,输出是旋转后的图像;但对图像特征做插值旋转,输出却不是旋转后的特征。因此,此时空间变换器网络无法主动的对输入做旋转变换。
[0056]
如图1的示例的第一种方法采用数据增广的方法,能够获得一定的旋转不变性,但是数据增广的方法需要对数据做预处理,使得训练集的样本量成倍增加。数据增广需要更大的卷积神经网络模型,例如,使用n列的神经网络模型,这增加了模型过拟合的风险。如图2所示的第二种方法虽然能够使用单列神经网络模型,但是其不能用于网络的中间层级或高层级,此外,虽然仅使用单列神经网络,但是在图像旋转角度比较大时候,图像分类效果不好。此外,现有的其他卷积神经网络(cnn)如果不通过参照图1及图2所描述的方法进行数据增广,则不具有旋转不变性。例如在分类任务中,在没有数据增广的情况下训练出的卷积神经网络模型,无法识别摄像头旋转之后拍摄的图像。在进行数据增广的情况下,训练集的数据成本增加,增加了计算量与内存占用量。
[0057]
本公开是在方向响应网络(orn,orientation response network)中引入主动旋转滤波器(arf,active rotating filter),采用旋转卷积核的方式给卷积神经网络带来旋转不变性,是一种不需要数据增广的方法。本公开通过在方向响应网络的基础上,通过引入旋转的卷积核以及带方向的极大值池化层使得卷积神经网络在不做数据增广的情况下仍具有旋转不变性,本公开使得卷积神经网络只要能识别例如摄像头拍摄的直立(未旋转)的图像,就能较好的识别摄像头旋转之后拍摄的图像。
[0058]
根据本公开实施例的一方面,提供了一种卷积神经网络,包括:至少一个卷积层,每个该卷积层包括至少一个卷积核组,每个该卷积核组包括两个以上的卷积核,每个该卷积核组的各该卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,该卷积核组的一个卷积核经过旋转能得到该卷积核组的其他卷积核;以及至少一个池化层,每个池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0059]
下面参照附图详细说明根据本公开实施例的一方面的卷积神经网络。图3示意性地示出了根据本公开的实施例的卷积神经网络。如图3所示,卷积神经网络30包括从最上层到最下层的数据层302、第一卷积层304、第一池化层306、第二卷积层308、第二池化层310、特征图选择层312、分类层314以及第二池化层310与特征图选择层312之间未示出的第三至第n卷积层和第三至第n池化层,其中n表示大于3的自然数。
[0060]
数据层302表示由rgb三通道表示的输入图像。例如,数据层302可以是由如相机和手机等设备拍摄的任意图像。图4是根据本公开的一示例性实施例的图像数据的示意图。如图4所示的图像数据可作为数据层中的图像数据。该图像数据包含拍摄的数字“3”的图像,左侧表示未旋转的(直立)图像,即旋转角度为0
°
的图像,右侧图像表示旋转180
°
之后的图像。图4所示的图像数据仅用于说明之目的,图像数据之间的旋转角度可以是任意角度。
[0061]
卷积层和池化层的数量可根据数据处理的需要来设定。虽然图3中示出了第一卷积层304及第二卷积层308,但是卷积神经网络可仅有一个卷积层。虽然图3中示出了第一池化层306及第二池化层310,但是卷积神经网络可仅有一个池化层。
[0062]
如图3所示,第一卷积层304中有四个卷积核,第二卷积层308中有六个卷积核。在此,卷积核的数量仅是示例,各卷积层中的卷积核的数量可以是偶数个,并且彼此之间可不同。各卷积层的卷积核的数量可根据实际需要而设定。
[0063]
如图3所示,第一卷积层304包括两个卷积核组,其中左侧由小括号连接的两个卷积核形成第一卷积核组,右侧由小括号连接的两个卷积核形成第二卷积核组。在此,卷积核组的数量仅仅是示例,每个卷积层包括至少一个卷积核组。根据要提取的图像特征的数量,可以设定相当数量的卷积核组。图3中所示的卷积核组中的卷积核的数量为2个,但这仅仅是示例。每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图。图3所示的神经网络以图4的图像数据作为处理对象来举例说明,由于图4所示的图像数据仅包含两个旋转角度:0
°
和180
°
,相应地,每个卷积核组包括两个卷积核,该两个卷积核分别用于处理0
°
和180
°
的图像数据。根据待处理图像的旋转角度的情况,卷积核组可包含数量相当的卷积核。
[0064]
第一卷积层304中的两个卷积核组分别提取输入图像的两个不同特征,例如,左侧卷积核组提取数字“3”的轮廓作为特征,右侧卷积核组提取数字“3”的颜色作为特征。在其他示例中,第一卷积层304中的两个卷积核组可提取输入图像的两个相同特征。卷积核组中的各卷积核具有相同的元素,并且彼此可经过旋转相应的角度而获得。例如,对于第一卷积层304及第二卷积层308中的各卷积核组,右侧的卷积核可通过旋转左侧卷积核180
°
而获得,相应地,各卷积核组中的左侧卷积核输出旋转角度为0
°
的图像的特征图,而右侧卷积核输出旋转角度为180
°
的图像的特征图,其中,同一卷积核组中的两个卷积核提取的特征是同一特征。
[0065]
卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核。根据本公开的实施例,通过在卷积神经网络中引入旋转卷积核组,使卷积神经网络能够实现特征提取的旋转不变性。下面通过公式1~3来具体说明特征提取的旋转不变性。
[0066][0067]
公式1表示对旋转角度为0
°
图像的卷积的过程,卷积核的大小为3x3,步长为1。
[0068][0069]
公式2表示对旋转了90
°
的图像,在卷积核不变的情况下的卷积过程,可见,会得到对于同样的物体的拍摄图像,只是因为拍摄角度不同,提取出不同的特征的错误结果,导致卷积神经网络的性能下降。
[0070][0071]
根据本公开的实施例,将卷积核也旋转90
°
,如公式3所表示的,其输出与公式1的输出相同,表示获得了相同的特征,因此,虽然图像进行了旋转,但是本公开的神经网络对旋转前后的各图像进行处理时,获得的特征相同,表明了本公开的神经网络取得了图像特征提取的旋转不变性。
[0072]
第一卷积层304输出的特征图具有4个通道,从前到后分别为左侧卷积核组的左侧卷积核提取的旋转角度为0
°
的图像的特征图,左侧卷积核组的右侧卷积核提取的旋转角度为180
°
的图像的特征图,右侧卷积核组的左侧卷积核提取的旋转角度为0
°
的图像的特征图,右侧卷积核组的右侧卷积核提取的旋转角度为180
°
的图像的特征图。该具有4通道的特征图输入到第一池化层306。如上,旋转角度0
°
和180
°
仅用于说明性目的,旋转角度可以是其他任意角度。卷积核组中卷积核的设置数量可取决于旋转角度的数量。
[0073]
池化层通过减少特征的大小来降低图像数据的复杂性和空间分辨率,降低输出对变化的敏感度。如图3所示,每一卷积层后面设有对应的池化层,换言之,卷积层与池化层成对出现。每个池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图。相应地,图3所示的池化层306将包括两个池化窗口,分别与卷积核组中的两个卷积核对应,具体地,第一池化窗口与各卷积核组中左侧的用于对旋转角度为0
°
的图像进行特征提取的卷积核对应,用于对各卷积核组中左侧的卷积核输出的特征图进行池化;第二池化窗口与各卷积核组中右侧的用于对旋转角度为180
°
的图
像进行特征提取的卷积核对应,用于对各卷积核组中右侧的卷积核输出的特征图进行池化,也就是,池化函数对各卷积核输出的特征图进行池化时,根据各卷积核所针对的待处理图像的旋转角度的不同,应用的池化窗口不同。在本公开的示例中,池化通过对前一卷积层输出的一组m
×
m元素取最大值来实现,因此,池化函数的公式如下:
[0074]
o=max(i0,i1,i2,...,i
m
×
m-1
)
ꢀꢀꢀ
(公式4)
[0075]
其中o表示输出,i0,i1,i2,...,i
m
×
m-1
表示m
×
m池化窗口覆盖的元素,m是大于0的整数。
[0076]
池化窗口是指池化函数对特征图处理时用来覆盖特征图的一组元素的窗口。根据本公开的实施例,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0077]
下面参照图5a至图5d及图3来详细说明池化层306的池化处理。其中,图5a示出的是由图3所示的第一卷积层304输出的特征图。如图5a所示,特征图从前向后依次是提取的0
°
、180
°
、0
°
、180
°
图像数据的特征图,下文称作0
°
的特征图、180
°
的特征图、0
°
的特征图、180
°
的特征图。对不同旋转角度的特征图,使用不同的池化窗口,具体地,具有不同划分的池化窗口来进行池化处理。
[0078]
图5b至图5d是根据本公开的示例性实施例的池化窗口划分的示意图,其中,图5b示出了对0
°
的特征图进行池化处理时使用的池化窗口,图5c示出了对45
°
的特征图进行池化处理时使用的池化窗口,图5d示出了对180
°
的特征图进行池化处理时使用的池化窗口。表示对0
°
的特征图进行池化时应用的池化窗口从特征图的左上方到右下方均匀的布满整个特征图,如图5b所示,每一个矩形窗口大小为m
×
m。池化操作就是在每个m
×
m的像素中应用池化函数。不同于普通的池化操作,在本公开示例性实施例中,对于不是0
°
的特征图,池化窗口是带旋转角度的,如图5c和图5d所示。带有旋转角度的池化窗口通过将0
°
的特征图进行池化处理时使用的池化窗口旋转相应角度而获得,图5c和图5d所示的池化窗口的位置通过图5b所示的池化窗口分别旋转45
°
和180
°
而获得。由于本公开实施例的卷积神经网络仅使用由两个卷积核构成的卷积核组处理图4所示的图像数据,因此,可仅选择图5b和图5d所示的池化窗口划分方式对特征图进行池化。
[0079]
如图3所示,经过第一池化层306的池化后,特征图的通道数不变,但是特征图的尺寸变小。第一池化层306输出的池化后特征图输入第二卷积层308,经第二卷积层308处理后输入至第二池化层310。除了卷积核组的数量可能不同外,第二卷积层308与第一卷积层304相同,故在此省略其详细描述。同理,省略第二池化层310的描述。
[0080]
在根据本公开的一示例性实施例中,卷积神经网络还包括特征图选择层,特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。
[0081]
如图3所示,经过所有卷积层和池化层处理后,输出1
×
1的特征图,特征图的通道数是8。特征图选择层312将构成卷积核组的两个卷积核输出的特征图进行比较,并选择具有最大值的特征图作为该卷积核组所提取的图像数据的特征图,然后输出至分类层314用于分类。换言之,1
×1×
8的特征向量输入至特征图选择层312,特征图选择层312以卷积核组为单位,将8个1
×
1的特征图分成四组,从每组中选择具有最大值的特征图,然后输出1
×1×
4的特征向量给分类层314用于分类。
[0082]
在根据本公开的一示例性实施例中,卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由fi表示,则其他卷积核fi通过以下公式获得:
[0083]
f
i
(c,p,q)=f0(c,p

,q

),其中
[0084]
其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
[0085]
在图3所示的卷积核组为例说明,各卷积核组中左侧卷积核为f0,则右侧的卷积核为f1,根据上述公式将f0旋转180
°
可获得f1。
[0086][0087]
在根据本公开的一示例性实施例中,第一卷积核的权重随着卷积神经网络的训练而改变。在图3的示例中,每个卷积核组中的左侧卷积核为f0,卷积核f0的权重可随着神经网络的训练而改变,具有学习能力,卷积核组中的其他卷积核不随着卷积神经网络的训练改变,因此不具有学习能力。由于卷积核组中的各卷积核之间具有旋转对应关系,因此,其他的卷积核可根据卷积核f0的权重的改变而改变。
[0088]
在根据本公开的一示例性实施例中,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。由于神经网络是分层的结构,一个卷积层的输出也是另一个卷积层的输入。卷积核的通道数是从第二个卷积层开始减少的,通道数变为1/n,意味着参数量减少,运行的时候需要更小的内存。如图3所示,第一池化层池化后的特征图的通道数为4,旋转角度0
°
与180
°
的数量为2,则第二卷积层308中各卷积核的通道数为4/2=2。
[0089]
在根据本公开的一示例性实施例中,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0090][0091]
其中,h
θo
,w
θo
表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)旋转的角度。
[0092]
如图5b至图5d所示,图5b示出了对0
°
的特征图进行池化处理时使用的池化窗口,图5c示出了对45
°
的特征图进行池化处理时使用的池化窗口,图5d示出了对180
°
的特征图进行池化处理时使用的池化窗口。如果已设定图5b所示池化窗口的中心点坐标,图5c及图5d所示的池化窗口的中心点坐标可通过将θ
i
=45
°
和180
°
代入公式6而计算出。
[0093]
根据本公开实施例的又一方面,提供一种基于卷积神经网络的图像处理方法,包括:由卷积神经网络的各卷积层中的每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核;以及由卷积神经网络的各池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0094]
下面根据附图来描述根据本公开实施例的基于卷积神经网络的图像处理方法。图6示出了根据本公开实施例的基于卷积神经网络的图像处理方法的流程图。如图6所示,该方法包括步骤s601和步骤s603。
[0095]
在步骤s601,由卷积神经网络的各卷积层中的每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核。在步骤s603,由卷积神经网络的各池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。由于已参照图3详细描述了本公开示例性实施例的卷积神经网络的图像数据处理过程,因此,在此不再详述。
[0096]
在根据本公开的一示例性实施例中,基于卷积神经网络的图像处理方法还包括:由卷积神经网络的特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。
[0097]
在根据本公开的一示例性实施例中,卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由f
i
表示,则其他卷积核f
i
通过以下公式获得:
[0098]
f
i
(c,p,q)=f0(c,p

,q

),其中
[0099]
其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
[0100]
在根据本公开的一示例性实施例中,第一卷积核的权重随着卷积神经网络的训练而改变。
[0101]
在根据本公开的一示例性实施例中,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。
[0102]
在根据本公开的一示例性实施例中,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0103][0104]
其中,(h
θo
,w
θo
)表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)
旋转的角度。
[0105]
根据本公开实施例的又一方面,提供了一种图像处理装置。图7是示出了根据本公开的一实施例的图像处理装置。如图7所示,图像处理装置70,包括:存储器701和处理器702,处理器通过总线703等连接至存储器701,存储器701存储有处理器702执行的程序指令,处理器702在执行程序指令时能够执行如上述任一实施例的方法。
[0106]
根据本公开实施例的又一方面,提供一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有包括程序指令的计算机程序,程序指令在被处理器执行时执行上述的各方法。
[0107]
根据本公开实施例的又一方面,提供了一种处理器,其中,处理器用于运行程序,其中,程序运行时执行以上的各方法。
[0108]
根据本公开实施例的又一方面,提供了一种计算机程序产品,其中,计算机程序产品包括存储在非暂时性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行以上的各方法。
[0109]
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0110]
另外,在本公开各个实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是各个单元或模块单独物理存在,也可以两个或两个以上单元或模块集成在一个单元或模块中。上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元或模块的形式实现。
[0111]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(例如,电路)来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁盘或者光盘等各种可以存储程序代码的介质。
[0112]
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
[0113]
本公开还可配置如下:
[0114]
1)一种卷积神经网络,其特征在于,卷积神经网络,包括:
[0115]
至少一个卷积层,每个卷积层包括至少一个卷积核组,每个卷积核组包括两个以上的卷积核,每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核;以及
[0116]
至少一个池化层,每个池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0117]
2)根据条款1)的卷积神经网络,其特征在于,卷积神经网络还包括特征图选择层,特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。
[0118]
3)根据条款1)的卷积神经网络,其特征在于,卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由f
i
表示,则其他卷积核f
i
通过以下公式获得:
[0119]
f
i
(c,p,q)=f0(c,p

,q

),其中
[0120]
其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
[0121]
4)根据条款3)的卷积神经网络,其特征在于,第一卷积核的权重随着卷积神经网络的训练而改变。
[0122]
5)根据条款4)的卷积神经网络,其特征在于,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。
[0123]
6)根据条款3)的卷积神经网络,其特征在于,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0124][0125]
其中,(h
θo
,w
θo
)表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)旋转的角度。
[0126]
7)一种基于卷积神经网络的图像处理方法,其特征在于,方法包括:
[0127]
由卷积神经网络的各卷积层中的每个卷积核组的各卷积核对输入的具有不同旋转角度的图像数据的相同特征进行特征提取以获得特征图,其中,卷积核组的一个卷积核经过旋转能得到卷积核组的其他卷积核;以及
[0128]
由卷积神经网络的各池化层利用与卷积核组的各卷积核分别对应的池化窗口对各卷积核输出的特征图进行池化,以输出池化后的特征图,其中,通过绕与卷积核组的一个卷积核对应的池化窗口的中心而旋转该池化窗口,能得到与卷积核组中的其他卷积核对应的池化窗口。
[0129]
8)根据条款7)的基于卷积神经网络的图像处理方法,其特征在于,还包括:由卷积神经网络的特征图选择层将经过所有池化层池化后的且来源于属于同一卷积核组的各卷积核的特征图进行比较,并选出具有最大值的特征图,作为该卷积核组对图像数据提取的特征图。9)根据条款7)的基于卷积神经网络的图像处理方法,其特征在于,
[0130]
卷积核组包括第一卷积核,第一卷积核由f0表示,卷积核组中的其他卷积核由f
i
表示,则其他卷积核f
i
通过以下公式获得:
[0131]
f
i
(c,p,q)=f
o
(c,p

,q

),其中
[0132]
其中,i表示各卷积核在卷积核组中的索引,c表示卷积核的通道数,p,q分别表示
第i卷积核的高和宽的索引,θ
i
表示第i卷积核从第一卷积核旋转的角度,p’和q’分别表示第一卷积核的高和宽的索引。
[0133]
10)根据条款9)的基于卷积神经网络的图像处理方法,其特征在于,第一卷积核的权重随着卷积神经网络的训练而改变。
[0134]
11)根据条款10)的基于卷积神经网络的图像处理方法,其特征在于,对前一池化层池化后的特征图进行特征提取的卷积层中的每一卷积核的通道的数量是其输入的池化后的特征图的通道的数量的1/n,其中,n表示不同旋转角度的数量并且为大于2的自然数。
[0135]
12)根据条款9)的基于卷积神经网络的图像处理方法,其特征在于,与卷积核组中除第一卷积核之外的其他卷积核对应的各池化窗口的中心表示为(h
θi
,w
θi
),则池化窗口的中心(h
θi
,w
θi
)通过以下公式获得:
[0136][0137]
其中,(h
θo
,w
θo
)表示与第一卷积核对应的池化窗口的中心,θ
i
表示自中心(h
θo
,w
θo
)旋转的角度。
[0138]
13)一种图像处理装置,其特征在于,包括存储器和处理器,处理器连接至存储器,存储器存储有处理器执行的程序指令,处理器在执行程序指令时能够执行根据条款7)至12)中任一项的方法。
[0139]
14)一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有包括程序指令的计算机程序,程序指令在被处理器或计算机执行时执行根据条款7)至12)中任一项的方法。
[0140]
以上仅是本公开的优选实施例,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1