一种池化处理装置及池化处理方法与流程

文档序号:16266405发布日期:2018-12-14 21:56阅读:523来源:国知局
一种池化处理装置及池化处理方法与流程

本申请涉及深度学习领域,尤其涉及一种池化处理装置及池化处理方法。

背景技术

在深度学习领域的卷积神经网络中,池化操作是一种普遍应用的算法处理。而池化层位于卷积层之后,通过池化来降低卷积层输出的特征向量,同时改善结果(不易出现过拟合)。池化操作可以降低维度的原因在于图像具有一种“静态性”的属性,也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一种常用的方法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)来代表这个区域的特征。本质上,是在精简特征图数据量的同时,最大化保留空间信息和特征信息,其目的是,通过特征图进行压缩,减少到后面隐藏层的输出,进一步提高计算效率。

池化技术具有多种形式及方法。最常见的一般池化操作有平均池化(meanpooling)和最大池化(maxpooling)。平均池化是指计算图像区域的平均值作为该区域池化后的值。而最大池化是指选取图像区域的最大值作为该区域池化后的值。如果相邻池化窗口之间有重叠区域,则称之为重叠池化。还有一种池化方法称为空间金字塔池化。这种池化方法可以把任何尺度的图像的卷积特征转化成相同维度。不仅可以让卷积神经网络(convolutionalneuralnetworks,cnn)处理任意尺度的图像,还能避免裁剪和变形操作导致的信息丢失,具有非常重要的意义。一般的cnn都需要输入图像的大小是固定的,这是因为全连接层的输入需要固定输入维度。但对于卷积操作而言,并没有对图像尺度进行限制。采用空间金字塔池化,先让图像进行卷积操作,然后转化成维度相同的特征输入到全连接层,这个可以把cnn扩展到任意大小的图像。



技术实现要素:

本申请实施例提供了一种池化处理装置及池化处理方法,用于通过配置参数的不同来实现多种池化处理,提高了对图像数据进行池化处理的灵活性。

有鉴于此,本申请实施例第一方面提供了一种池化处理装置,可以包括:

数据选择器和下采样器,所述数据选择器包括第一配置端口,所述下采样器包括第二配置端口;

所述第一配置端口用于获取第一配置参数;

所述第二配置端口用于获取第二配置参数;

所述数据选择器用于根据所述第一配置参数对获取的图像数据进行最大池化或平均池化处理;

所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行重叠池化或空间金字塔池化处理。

可选的,在本申请的一些实施例中,所述数据选择器包括比较器和累加器;

当所述第一配置参数指示所述池化处理装置进行最大池化模式时,所述比较器用于根据所述第一配置参数对所述获取的图像数据进行最大池化处理。

可选的,在本申请的一些实施例中,当所述第一配置参数指示所述池化处理装置进行平均池化模式时,所述累加器用于根据所述第一配置参数对所述获取的图像数据进行平均池化处理。

可选的,在本申请的一些实施例中,当所述第二配置参数指示所述池化处理装置进行重叠池化模式时,所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行重叠池化处理。

可选的,在本申请的一些实施例中,当所述第二配置参数指示所述池化处理装置进行空间金字塔池化模式时,所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行空间金字塔池化处理。

本申请实施例第二方面提供一种池化处理方法,可以包括:池化处理装置获取图像数据;所述池化处理装置获取第一配置参数和第二配置参数;所述池化处理装置根据所述第一配置参数,对所述图像数据进行最大池化或平均池化处理,根据所述第二配置参数,对所述图像数据进行重叠池化或空间金字塔池化处理。

可选的,在本申请的一些实施例中,当所述第一配置参数指示所述池化处理装置进行最大池化模式时,所述池化处理装置根据所述第一配置参数对所述图像数据进行最大池化处理。

可选的,在本申请的一些实施例中,当所述第一配置参数指示所述池化处理装置进行平均池化模式时,所述池化处理装置根据所述第一配置参数对所述图像数据进行平均池化处理。

可选的,在本申请的一些实施例中,当所述第二配置参数指示所述池化处理装置进行重叠池化模式时,所述池化处理装置根据所述第二配置参数对所述图像数据进行重叠池化处理。

可选的,在本申请的一些实施例中,当所述第二配置参数指示所述池化处理装置进行空间金字塔池化模式时,所述池化处理装置根据所述第二配置参数对所述图像数据进行空间金字塔池化处理。

本申请实施例第三方面提供一种存储介质,需要说明的是,本申请技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述池化处理装置所用的计算机软件指令,其包含用于执行上述各方面为池化处理装置所设计的程序。

该存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例第四方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述各方面或各方面任一可选实现方式中所述的方法。

本申请实施例第五方面提供一种数据处理系统,所述数据处理系统包括现场可编程门阵列(field-programmablegatearray,fpga)板卡;

所述fpga板卡用于实现所述池化处理方法,利用预先设置的配置参数在fpga板卡上对所述图像数据进行池化处理;根据所述图像数据和对应于各种池化方法的配置参数,得到处理结果。

从以上技术方案可以看出,本申请实施例具有以下优点:

在本申请实施例中,数据选择器和下采样器,所述数据选择器包括第一配置端口,所述下采样器包括第二配置端口;所述第一配置端口用于获取第一配置参数;所述第二配置端口用于获取第二配置参数;所述数据选择器用于根据所述第一配置参数对获取的图像数据进行最大池化或平均池化处理;所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行重叠池化或空间金字塔池化处理。即可以通过参数配置来实现多种池化处理,提高了对图像数据进行池化处理的灵活性。其中,可以实现对图像数据进行最大池化、平均池化、重叠池化、空间金字塔池化等处理。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。

图1为本申请实施例中池化处理装置的一个示意图;

图2为本申请实施例中数据选择器的一个结构示意图;

图3为本申请实施例中比较器的一个结构器示意图;

图4为本申请实施例中比较器中的移位寄存器链路的示意图;

图5为本申请实施例中累加器的一个结构示意图;

图6为本申请实施例中下采样器的一个结构示意图;

图7为本申请实施例中池化处理装置的一个实施例示意图;

图8为最大池化处理的一个示意图;

图9为均值池化处理的一个示意图。

具体实施方式

本申请实施例提供了一种池化处理装置及池化处理方法,用于通过配置参数的不同来实现多种池化处理,提高了对图像数据进行池化处理的灵活性。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。

本发明提出了一种基于现场可编程门阵列(field-programmablegatearray,fpga)的参数化可配置池化处理装置及实现方法。

本发明通过对多种cnn网络结构的归纳,总结出具有通用性的可以通过参数配置来实现多种池化处理的方法。可以通过配置参数的变化,实现最大池化、平均池化、重叠池化、空间金字塔池化等四种模式,任意池化尺寸的池化处理。并通过硬件描述语言进行设计,在fpga上进行了硬件实现。

本发明根据多种模式的实现需要,设计了池化处理的内部运行结构,支持参数化配置,可以根据需要动态调整。

如图1所示,图1为本申请实施例中池化处理装置的一个示意图。池化处理装置包括数据选择器和下采样器。其中,数据选择器和下采样器都包括配置端口,该配置端口可实现参数化配置。可以理解的是,池化处理装置中包括的数据选择器和下采样器的个数不做限定。

需要说明的是,数据选择器根据最大模式和均值模式的不同,可以包括比较器和累加器。其中,比较器可以实现最大池化处理模式的需求,累加器可以实现均值池化处理模式的需求。输出结果可以根据配置参数的具体数值来进行选择输出。

在本申请实施例中,所述第一配置端口用于获取第一配置参数;所述第二配置端口用于获取第二配置参数;所述数据选择器用于根据所述第一配置参数对获取的图像数据进行最大池化或平均池化处理;所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行重叠池化或空间金字塔池化处理。

如图2所示,图2为数据选择器的一个结构示意图。数据选择器可以包括比较器和累加器。

当所述第一配置参数指示所述池化处理装置进行最大池化模式时,所述比较器用于根据所述第一配置参数对所述获取的图像数据进行最大池化处理。

当所述第一配置参数指示所述池化处理装置进行平均池化模式时,所述累加器用于根据所述第一配置参数对所述获取的图像数据进行平均池化处理。

用于计算最大值的比较器结构采用了矩阵式结构,根据配置参数的数值,可以实现指定范围内的最大值筛选。比较器的结构如图3所示,首先,需要对配置寄存器进行配置操作,配置参数可以由外部通过任意方式传递到配置端口,并保持不变。比较器根据配置参数的具体数值,对于同一行内的指定范围的数据进行同一行的数据比较,然后,比较指定范围内不同行但同列的数据。在比较器内部采用了长度可变的,由配置参数控制其长度的移位寄存器链路结构,如图4所示,图4为比较器中的移位寄存器链路的示意图。在图4所示中,是以输入宽度为256为例进行说明的。

用于计算最大值的比较器结构采用了矩阵式结构,根据配置参数的数值,可以实现指定范围内的最大值筛选。在比较器内部采用了长度可变的,由配置参数控制其长度的移位寄存器链路结构。

如图5所示,图5为累加器的一个结构示意图。累加器的内部结构如图5所示,可以根据配置参数的不同,先对输入的数值进行权值的相乘,然后再进行循环累加,即可得到特定区域内的均值。这样可以降低数据的位宽以及运算的复杂度,减少资源开销,提高运算速度。在结构方面采用了数据选择器级联下采样器的形式。在数据选择器内实现最大值或者平均值的计算。在下采样器中进行数据格式的转换。用于计算平均值的累加器结构采用了与权重相乘之后进行循环累加的方法。

如图6所示,图6为下采样器的一个结构示意图。首先池化处理装置根据配置参数的数值选择池化的大小,控制数据采集方式,将产生特定的下采样比例数据。示例性的,池化处理装置根据配置参数的数值,可以决定对图像数据进行重叠池化处理或者空间金字塔池化处理。

当所述第二配置参数指示所述池化处理装置进行重叠池化模式时,所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行重叠池化处理。

当所述第二配置参数指示所述池化处理装置进行空间金字塔池化模式时,所述下采样器用于根据所述第二配置参数对所述获取的图像数据进行空间金字塔池化处理。

本发明提出了一种基于现场可编程门阵列(field-programmablegatearray,fpga)的参数化可配置池化处理架构及实现方法。通过在fpga板卡上实现参数化可配置池化处理功能,可以灵活地满足各种cnn及循环神经网络(recurrentneuralnetwork,rnn)设计实现的需要,支持多种模式多种池化宽度的实现要求。同时可以作为独立的功能模块,用于其它算法结构之中,或者利用fpga实现,作为具有独立功能的硬件产品提供给使用者。

本发明在fpga环境下实现了参数化配置的池化处理功能,可以灵活适用于各种cnn或rnn结构之中,也可以用于其它运算结构中,具有广泛的应用前景。

上述对本申请中的池化处理装置进行了说明,下面对本申请实施例中的池化处理方法进行说明,如图7所示,图7为本申请实施例中池化处理装置的一个实施例示意图。可以包括:

701、池化处理装置获取图像数据。

702、池化处理装置获取第一配置参数和第二配置参数。

703、池化处理装置根据第一配置参数,对图像数据进行最大池化或平均池化处理,根据第二配置参数,对图像数据进行重叠池化或空间金字塔池化处理。

在本申请实施例中,当所述第一配置参数指示所述池化处理装置进行最大池化模式时,所述池化处理装置根据所述第一配置参数对所述图像数据进行最大池化处理。或者,

当所述第一配置参数指示所述池化处理装置进行平均池化模式时,所述池化处理装置根据所述第一配置参数对所述图像数据进行平均池化处理。

或者,

当所述第二配置参数指示所述池化处理装置进行重叠池化模式时,所述池化处理装置根据所述第二配置参数对所述图像数据进行重叠池化处理。

或者,

当所述第二配置参数指示所述池化处理装置进行空间金字塔池化模式时,所述池化处理装置根据所述第二配置参数对所述图像数据进行空间金字塔池化处理。

通过参数化配置的方式,可以支持最大池化、平均池化、重叠池化、空间金字塔池化等四种模式,任意池化尺寸的池化处理需要,并且可以在fpga平台上加以实现。

下面对几种池化模式进行简单的说明,如下所示:

1、最大池化(maxpooling)

max-pooling,即对邻域内特征点取最大值,如图8所示,图8为最大池化处理的一个示意图。

2、均值池化(meanpooling)

mean-pooling,即对邻域内特征点值求平均,如图9所示,图9为均值池化处理的一个示意图。

特征提取的误差主要来自两个方面:

(1)邻域大小受限造成的估计值方差增大;

(2)卷积层参数误差造成估计均值的偏移。

一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。

3、重叠池化

重叠池化正如其名字所说的,相邻池化窗口之间会有重叠区域。如果定义池化窗口的大小为sizex,定义两个相邻池化窗口的水平位移/竖直位移为stride,此时sizex>stride。

具体的说,池化操作可以看作池化单元网格以s像素为步长在移动,对以池化单元网格为中心的z*z局部区域进行特征概括。如果s=z,那么该池化操作就是传统的池化策略;如果s<z,则该池化操作就是重叠的池化方法。

4、空间金字塔池化

一般的cnn都需要输入图像的大小是固定的,这是因为全连接层的输入需要固定输入维度,但在卷积操作没有对图像尺度有限制,所以提出了空间金字塔池化,先让图像进行卷积操作,然后转化成维度相同的特征输入到全连接层,这个可以把cnn扩展到任意大小的图像。

空间金字塔池化由一个池化变成了多个尺度的池化。使用不同大小池化窗口作用于卷积特征,我们可以得到比如1x1、2x2或4x4的池化结果。假设卷积层中共有256个过滤器,便可得到1个256维的特征,4个256维的特征,以及16个256维的特征,然后把这21个256维特征链接起来输入全连接层,通过这种方式把不同大小的图像转化成相同维度的特征。

本发明提出的参数化可配置池化处理架构及实现方法可以作为独立的功能模块,用于其它算法结构之中,或者利用fpga实现,作为具有独立功能的硬件产品提供给使用者,不做具体限定。

本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图7所示实施例及任一可选实现方式中所述的方法。

本申请实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述图7所示实施例及任一可选实现方式中所述的方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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