池化方法、装置、设备和存储介质与流程

文档序号:24736871发布日期:2021-04-20 20:07阅读:106来源:国知局
池化方法、装置、设备和存储介质与流程

1.本发明涉及图像处理技术领域,特别是涉及池化方法、装置、设备和存储介质。


背景技术:

2.在对图像进行处理的过程中,为了去除图像中的冗余信息,对图像特征进行压缩,通常需要对图像进行池化操作。
3.图像池化的过程中,需要根据待池化图像的尺寸设置滑窗参数、步长等各种池化参数,使用上述池化参数对待池化图像进行池化。然而,当对不同尺寸的图像进行池化操作时,需要用户自行设置每个图像的池化参数,这样,增加了用户的操作,导致图像池化的效率较低。


技术实现要素:

4.本发明实施例的目的在于提供一种池化方法、装置、设备和存储介质,解决池化的效率较低的技术问题。具体技术方案如下:
5.在本发明实施例的第一方面,首先提供了一种池化方法,包括以下步骤:
6.获取待池化图像的初始尺寸和目标输出尺寸;
7.根据所述初始尺寸和所述目标输出尺寸,确定池化参数;
8.根据所述初始尺寸和所述目标输出尺寸,或者,根据所述池化参数对所述待池化图像进行重排,得到重排图像,使得重排图像满足池化的条件;
9.根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像。
10.在本发明实施例的第二方面,还提供了一种池化装置,所述装置包括:
11.获取模块,用于获取待池化图像的初始尺寸和目标输出尺寸;
12.确定模块,用于根据所述初始尺寸和所述目标输出尺寸,确定池化参数;
13.重排模块,用于根据所述初始尺寸和所述目标输出尺寸,或者,根据所述池化参数对所述待池化图像进行重排,得到重排图像,使得重排图像满足池化的条件;
14.池化模块,用于根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像。
15.在本发明实施例的第三方面,还提供了一种设备,所述设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的指令,当其在计算机上运行时,使得计算机执行上述任一实施例所述的池化方法。
16.在本发明实施例的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一实施例所述的池化方法。
17.本发明实施例中,根据待池化图像的初始尺寸和目标输出尺寸,确定池化参数;在待池化图像为不同尺寸图像的情况下,无需用户再次设置待池化图像的池化参数,减少了
用户的操作,提高了图像池化的效率。此外,通过对待池化图像进行重排,得到重排图像,将池化步长为非统一步长数值的池化转变为池化步长为统一步长数值的池化,并使用池化参数对重排图形进行池化,得到具有目标输出尺寸的目标图像,通过上述使用池化参数对重排图像进行池化的方式,提高了图像池化的效率。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
19.图1为本发明实施例中池化方法的流程图;
20.图2a

图2b为本发明实施例中池化方法的一应用场景示意图;
21.图3为本发明实施例中池化装置的一结构示意图;
22.图4为本发明实施例中池化方法的另一应用场景示意图;
23.图5为本发明实施例中池化装置的另一结构示意图;
24.图6为本发明实施例中池化装置的结构示意图;
25.图7为本发明实施例中设备的结构示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
27.请参阅图1,图1为本发明实施例中池化方法的流程图。本实施例提供的池化方法,包括以下步骤:
28.s101,获取待池化图像的初始尺寸和目标输出尺寸。
29.本步骤中,上述初始尺寸可以理解为是待池化图像的尺寸,上述目标输出尺寸可以理解为是目标图像的尺寸,其中,目标图像即池化后的待池化图像。
30.应理解,上述初始尺寸和目标输出尺寸可以是自定义设置的经验值,本实施例对初始尺寸和目标输出尺寸的具体数值不作限定。
31.s102,根据所述初始尺寸和所述目标输出尺寸,确定池化参数。
32.本步骤中,初始尺寸包括初始高度和初始宽度,这里,可以将待池化图像的图像高度称为初始高度,可以将待池化图像的图像宽度称为初始宽度。
33.目标输出尺寸包括目标输出高度和目标输出宽度,这里,可以将目标图像的高度称为目标输出高度,可以将目标图像的宽度称为目标输出宽度。
34.本步骤中,使用相关公式对初始尺寸和目标输出尺寸进行计算,得到待池化图像的池化参数,具体的技术方案请参阅后续实施例。
35.s103,根据所述初始尺寸和所述目标输出尺寸,或者,根据所述池化参数对所述待池化图像进行重排,得到重排图像。
36.本步骤中,一种可选的实施方式为,基于待池化图像的初始尺寸和目标图像的输出尺寸,对待池化图像进行重排,也可以理解为待池化图像进行重塑,得到重排图像,具体如何使用初始尺寸和目标输出尺寸,对待池化图像进行重排,得到重排图像的技术方案,请参阅后续实施例。
37.另一种可选的实施方式为,基于待池化图像的池化参数对待池化图像进行重排,
得到重排图像,具体的技术方案,请参阅后续实施例。
38.应理解,该重排图像为满足池化的条件的图像。
39.s104,根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像。
40.本步骤中,使用池化参数对重排图像进行池化,需要说明的是,对重排图像进行池化操作能降低重排图像中的冗余信息,降低重排图像的数据大小,通过对重排图像进行池化,得到目标图像。
41.本发明实施例中,根据待池化图像的初始尺寸和目标输出尺寸,确定池化参数;在待池化图像为不同尺寸图像的情况下,无需用户再次设置待池化图像的池化参数,减少了用户的操作,提高了图像池化的效率。此外,通过对待池化图像进行重排,得到重排图像,将池化步长为非统一步长数值的池化转变为池化步长为统一步长数值的池化,并使用池化参数对重排图形进行池化,得到具有目标输出尺寸的目标图像,通过上述使用池化参数对重排图像进行池化的方式,提高了图像池化的效率。
42.可选地,所述根据所述初始尺寸和所述目标输出尺寸,确定池化参数包括:
43.根据所述待池化图像在池化方向上的初始高度和目标输出高度,确定第一步长和滑窗高度;根据所述待池化图像在池化方向上的初始宽度和目标输出宽度,确定第二步长和滑窗宽度。
44.如上所述,初始尺寸包括初始宽度和初始高度,目标输出尺寸包括目标输出宽度和目标输出高度。应理解,池化参数包括步长参数和滑窗参数,步长参数表征池化过程中的池化步长,步长参数可以为1个或多个,该步长参数包括第一步长和第二步长,在第一步长和第二步长为同一步长的情况下,确定步长参数为1个;滑窗参数表征池化过程中的滑窗,该滑窗参数包括滑窗宽度和滑窗高度。
45.本实施例中,待池化图像至少包括第一池化方向和第二池化方向,其中,一个池化方向可以是基于图像高度形成的从图像下方至图像上方的方向;另一个池化方向可以是基于图像宽度形成的从图像左方至图像右方的方向。
46.应理解,至少在一个池化方向上,初始尺寸和目标输出尺寸不同,为便于技术方案的阐述,后续实施例的应用场景为待池化图像在一个池化方向上进行池化。
47.本实施例中,可以根据初始高度和目标输出高度,确定第一步长和滑窗高度。可以根据初始宽度和目标输出宽度,确定第二步长和滑窗宽度。
48.以下,具体说明如何根据初始高度和目标输出高度,确定第一步长和滑窗高度:
49.可选地,所述根据所述待池化图像在池化方向上的初始高度和目标输出高度,确定第一步长和滑窗高度包括:
50.对高度比值向下取整,得到第一步长;将所述初始高度减去第一数值,得到所述滑窗高度。
51.本实施例中,使用以下公式计算第一步长:
52.stride_h=floor(input_size_h/output_size_h)
53.其中,stride_h为第一步长,(input_size_h/output_size_h)为高度比值,该高度比值为初始高度除以目标输出高度,input_size_h为初始高度,output_size_h为目标输出高度。
54.floor函数用于向下取整,例如,在高度比值为3.4的情况下,对高度比值向下取整,得到第一步长为整数3,可以用公式表示为floor(3.4)=3。
55.本实施例中,使用以下公式计算滑窗高度:
56.kernel_size_h=input_size_h

(output_size_h

1)*stride_h
57.其中,kernel_size_h为滑窗高度,input_size_h为初始高度,(output_size_h

1)*stride_h为第一数值,该第一数值为高度数值与第一步长的乘积,(output_size_h

1)为高度数值,高度数值为目标输出高度减去第一预设数值,上述公式中第一预设数值为1。
58.以下,具体说明如何根据初始宽度和目标输出宽度,确定第二步长和滑窗宽度:
59.可选地,所述根据所述待池化图像在池化方向上的初始宽度和目标输出宽度,确定第二步长和滑窗宽度包括:
60.对宽度比值向下取整,得到第二步长;将所述初始宽度减去第二数值,得到所述滑窗宽度。
61.本实施例中,使用以下公式计算第二步长:
62.stride_w=floor(input_size_w/output_size_w)
63.其中,stride_w为第二步长,(input_size_w/output_size_w)为宽度比值,该宽度比值为初始宽度除以目标输出宽度,input_size_w为初始宽度,output_size_w为目标输出宽度。
64.本实施例中,使用以下公式计算滑窗宽度:
65.kernel_size_w=input_size_w

(output_size_w

1)*stride_w
66.其中,kernel_size_w为滑窗宽度,input_size_w为初始宽度,(output_size_w

1)*stride_w为第二数值,该第二数值为宽度数值与第二步长的乘积,(output_size_w

1)为宽度数值,宽度数值为目标输出宽度减去第一预设数值,上述公式中第一预设数值为1。
67.上述实施例使用相关公式对初次尺寸和目标输出尺寸进行计算,得到池化参数,这样,在图像池化过程中,用户不必针对不同的待池化图像设置对应的步长参数,提高了图像池化的效率。
68.在得到待池化参数后,可以使用以下2种方式对待池化图像进行池化。
69.第一种使用池化参数对待池化图像进行池化的方式为:
70.可选地,所述根据所述初始尺寸和所述目标输出尺寸,得到重排图像包括:
71.根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像中的n个待拼接元素;按照待池化图像的池化方向,将每一所述待拼接元素添加至对应的拼接位置,得到重排图像。
72.可选地,所述根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像中的n个待拼接元素包括:
73.根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像在每个池化步骤对应的池化元素;将所述池化元素中重复的元素确定为待拼接元素。
74.出于清楚阐述本实施例的目的,请参阅图2a,图2a所示的应用场景中,待池化图像的初始高度为2,初始宽度为6;目标图像的目标输出高度为2,目标输出高度为2,目标输出宽度为4;池化过程中的第一步长为1,第二步长为2;池化过程中滑窗的滑窗高度为2,滑窗宽度为2,这里可以将每一个单元格称为池化元素。
75.在上述应用场景下,如图2a所述,需要通过4个池化步骤对待池化图像进行池化,以得到目标图像。其中,第一个池化步骤为对待池化图像的第1列和第2列包含的池化元素进行池化;第二个池化步骤为对待池化图像的第2列和第3列包含的池化元素进行池化;第三个池化步骤为对待池化图像的第4列和第5列包含的池化元素进行池化;第四个池化步骤为对待池化图像的第5列和第6列包含的池化元素进行池化。
76.如上所述,可以得到,在一次池化过程中,待池化图像第2列包含的池化元素和第5列包含的池化元素进行了2次池化。其中,第2列包含的池化元素在第一个池化步骤和第二个池化步骤进行了池化;第5列包含的池化元素在第三个个池化步骤和第四个池化步骤进行了池化。这里,可以将所有池化元素中重复的元素确定为待拼接元素,即可以将第2列包含的池化元素和第5列包含的池化元素为待拼接元素。
77.可以将待拼接元素添加至对应的待拼接位置,如图2b所示,每一待拼接元素对应的拼接位置位于待拼接元素和待拼接元素相邻的后一元素之间。这里,可以将第2列包含的池化元素称为第一待拼接元素,将第5列包含的池化元素称为第二待拼接元素。那么,第一待拼接元素对应的待拼接位置为待池化图像的第2列和第3列之间,第二待拼接元素对应的待拼接位置为待池化图像的第5列和第6列之间,可以在待池化图像的第2列和第3列之间插入第一待拼接元素,在待池化图像的第5列和第6列之间插入第二待拼接元素,对图像进行重排,得到重排图像。
78.应理解,重排图像满足普通池化的条件,其中,池化步长为统一步长数值,即可以通过普通池化对该重排图像进行池化,得到目标图像。
79.以下,具体说明如何确定每个池化步骤对应的池化元素:
80.可选地,所述根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像在每个池化步骤对应的池化元素包括:
81.将预设值与所述初始宽度的乘积,除以所述目标输出宽度,得到第三数值;对所述第三数值向下取整,确定待池化图像在所述池化步骤中的起点数值;计算所述预设值与第三预设数值的和,得到第一和值;将所述第一和值与所述初始宽度的乘积,除以所述目标输出宽度,得到第四数值;对所述第四数值向上取整,确定待池化图像在所述池化步骤中的终点数值。
82.本实施例中,对于任一池化步骤而言,可以通过以下公式确定该池化步骤对应的起点数值:
83.istartw=floor(ow*insizew/outsizew)
84.其中,istartw为起点数值,ow为该池化步骤对应的预设值,insizew为初始宽度,outsizew为目标输出宽度,floor函数为向下取整。
85.应理解,在一些实施例中,ow的值为池化步骤的排序值与1的差值,例如第一个池化步骤对应的ow为0,第二个池化步骤对应的ow为1。
86.应理解,上述起点数值与第二预设数值的和表征池化步骤的池化起点,该池化起点可以理解为该池化步骤中首次池化的池化元素,其中,第二预设数值可以为1。例如,一池化步骤对应的起点数值为0,该起点数值与第二预设数值的和为1,表示该池化步骤的池化起点位于待池化图像的第1列。
87.本实施例中,对于一池化步骤而言,可以通过以下公式确定该池化步骤对应的终
点数值:
88.iendw=ceil((ow+1)*insizew/outsizew)
89.其中,iendw为终点数值,ow为该池化步骤对应的预设值,insizew为初始宽度,outsizew为目标输出宽度,ceil函数为向上取整。
90.应理解,上述终端数值可以表征池化步骤的池化终点,上述池化终点可以理解为该池化步骤中最后池化的池化元素。例如,一池化步骤对应的终端数值为2,表示该池化步骤的池化终点位于待池化图像的第2列。
91.示例性的,如图2a所示,一种可能存在的应用场景为,待池化图像的初始宽度为6,目标输出宽度为4,预设值为池化步骤的排序值与1的差值。对于第一个池化步骤,可以通过上述公式计算得到起点数值为floor(0*6/4)=0,即第一个池化步骤对应的起点数值为0。通过上述公式计算终点数值为ceil((0+1)*6/4)=2即第一个池化步骤对应的终点数值为2。那么,第一个池化步骤对应的池化起点为1,即池化起点位于待池化图像的第1列;第一个池化步骤对应的池化终点为2,即池化起点位于待池化图像的第2列。
92.可选地,所述根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像包括:
93.在所述步长参数包括多个步长的情况下,使用第一目标步长和滑窗对所述重排图形进行池化,得到所述目标图像。
94.为便于理解,请参阅图2b,如图2b所示的应用场景中,待池化图像的初始高度为2,初始宽度为6;目标图像的目标输出高度为2,目标输出宽度为4。通过上述实施例可以得到第一步长为1,第二步长为2,滑窗高度为2,滑窗宽度为2,重排图像的高度为2,宽度为8。
95.上述应用场景中,可以将第一步长和第二步长中数值较大的步长确定为第一目标步长,即第二步长,使用第一目标步长和滑窗对重排图像进行池化,得到高度为2,宽度为4的目标图像。其中,该滑窗基于滑窗参数生成,滑窗的高度为2,宽度为2。
96.可选的,请参阅图3,在第一种使用池化参数对待池化图像进行池化的方式中,上述情况下,池化装置包括运算单元、重塑单元、存储器和池化单元。
97.运算单元用于对初始尺寸和目标输出尺寸进行运算,得到步长参数和滑窗参数;重塑单元用于根据步长参数和滑窗参数对待池化图像进行拼接操作,得到重排图像,并将重排图像存储至存储器;存储器用于将重排图像发送至池化单元;池化单元用于使用步长参数和滑窗参数对重排图像进行池化,并将池化后得到的目标图像存储至存储器。
98.第二种使用池化参数对待池化图像进行池化的方式为:
99.可选地,所述根据所述池化参数对所述待池化图像进行重排,得到重排图像包括:
100.基于所述步长参数,确定所述待池化图像在每个池化步骤对应的池化元素;基于每个池化步骤的排序,确定k个目标池化分组;基于所述k个目标池化分组对应的池化元素,将所述待池化图像转换为k个像素序列,得到所述重排图像。
101.可选地,所述基于所述步长参数,确定所述待池化图像在每个池化步骤对应的池化元素包括:
102.基于所述步长参数确定k个步长;依据所述k个步长,为每个池化步骤配置对应的步长;基于每个池化步骤对应的步长,确定所述待池化图像在每个池化步骤对应的池化元素。
103.本实施例中,一种可选的实施方式为,为每个池化步骤配置对应的步长,应理解,相邻池化步骤配置的步长不同,例如,步长参数包括2个步长,一个步长为1,另一个步长为2,这种情况下,若第一个池化步骤的步长为1,则第二个池化步骤的步长为2,第三个池化步骤的步长为1。
104.进而,基于滑窗和该池化步骤对应的步长,确定该池化步骤对应的池化元素,其中,每个池化步骤对应的池化元素的数量基于滑窗参数确定,例如,滑窗高度为1,滑窗宽度为2,则每个池化步骤对应的池化元素的数量为滑窗高度与滑窗宽度的乘积,每个池化步骤对应的池化元素的数量为6。
105.示例性的,请参阅图4,在图4所示的一应用场景中,待池化图像的初始高度为1,初始宽度为10;目标图像的目标输出高度为1,目标输出宽度为4。基于上述实施例的内容可以得到,第一步长为2,第二步长为3,滑窗高度为1,滑窗宽度为3。
106.这种情况下,第一个池化步骤的步长为0,可以确定第一个池化步骤对应的池化元素为待池化图像的第1列包含池化元素至第3列包含池化元素;第二个池化步骤配置的步长为2,可以确定第二个池化步骤对应的池化元素为待池化图像的第3列包含池化元素至第5列包含池化元素。
107.另一种可选的实施方式为,可以根据初始尺寸和所述目标输出尺寸,使用相应的公式得到每个池化步骤对应的起点数值和终点数值,进而基于起点数值和终点数值确定每个池化步骤对应的池化元素。该实施方式具体的技术方案已在前述实施例说明,在此不重复阐述。
108.本实施例中,可以根据待池化图像对应的池化步骤的排序,对所有池化步骤进行分类,得到k个目标池化分组,其中,每个目标池化分组包括l个池化步骤,且目标池化分组中相邻的池化步骤的排序数值的差值为k;k和l均为正整数,且k的数值与步长的数量相同。
109.示例性的,请参阅图4,在图4所示的应用场景中,存在2个步长,即第一步长和第二步长。由于第三个池化步骤的排序数值3与第一个池化步骤的排序数值1的差值为2,因此可以将第一个池化步骤和第二个池化步骤划分至一个目标池化分组,这里,将该目标池化分组称为第一目标池化分组。基于相同的原理,可以将第二个池化步骤和第四个池化步骤划分至另一个目标池化分组,这里,将该目标池化分组称为第二目标池化分组。
110.本实施例中,基于k个目标池化分组对应的池化元素,将待池化图像转换为k个像素序列。
111.示例性的,在图4所示的应用场景中,可以基于第一目标池化分组对应的池化元素和第二目标池化分组对应的池化元素,将待池化图像转换为2个像素序列,其中,第一个像素序列包括第一目标池化分组对应的池化元素,即待池化图像第1列至第3列和第6列至第8列包含的池化元素;第二个像素序列包括第二目标池化分组对应的池化元素,即待池化图像第3列至第5列和第8列至第10列包含的池化元素。
112.以下,具体说明如何对k个像素序列进行池化:
113.可选地,所述根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像包括:
114.使用滑窗和第二目标步长对所述k个像素序列进行池化,得到k个池化序列;基于目标元素对应的池化步骤的排序,将所述k个池化序列拼接为目标图像。
115.可选地,所述使用滑窗和第二目标步长对所述k个像素序列进行池化包括:
116.基于每个所述像素序列中的目标起点元素,使用滑窗和第二目标步长对所述像素序列进行池化。
117.本实施例中,可以将像素序列中排序最先的池化步骤确定为目标池化步骤,将目标池化步骤中的起点元素确定为目标起点元素,基于每个像素序列中的目标起点元素,使用滑窗和第二目标步长对像素序列进行池化,得到k个池化序列,其中,第二目标步长为步长参数中的步长之和。
118.示例性的,在图4所示的应用场景中,第二像素序列包括第二个池化步骤对应的元素和第四个池化步骤对应的元素,由于第二个池化步骤的排序先于第四个池化步骤,因此可以将第二个池化步骤确定为目标池化步骤。第二个池化步骤的起点元素为待池化图像第3列包含的元素,因此可以将目标起点元素设置为第3列包含的元素,使用第二目标步长和滑窗,以第3列为池化起点,对第二像素序列进行池化,得到池化序列。
119.本实施例中,可以将池化序列中的元素称为目标元素,且每一目标元素对应一个池化步骤,将所有的目标元素按照对应的池化步骤的排序进行拼接,得到目标图像。
120.例如,在图4所示的应用场景中,第一像素序列包括第一个池化步骤对应的元素和第三个池化步骤对应的元素,对第一像素序列进行池化得到的第一池化序列包括2个目标元素,其中,一个目标元素对应第一个池化步骤,另一个目标元素对应第三个池化步骤。基于相同的原理,第二池化序列包括2个目标元素,其中,一个目标元素对应第二个池化步骤,另一个目标元素对应第四个池化步骤。
121.这种情况下,将所有的目标元素按照对应的池化步骤的排序进行拼接,得到目标图像,该目标图像包括4个元素,其中该目标图像第1列的元素对应第一个池化步骤,第2列的元素对应第二个池化步骤,第3列的元素对应第三个池化步骤,第4列的元素对应第四个池化步骤。
122.可选地,请参阅图5,在上述情况下,池化装置包括运算单元、重塑单元、存储器、池化单元和拼接单元。
123.运算单元用于对初始尺寸和目标输出尺寸进行运算,得到步长参数和滑窗参数;重塑单元用于将待池化图像转换为k个像素序列,并将k个像素序列存储至存储器;存储器用于将k个像素序列一并发送至池化单元;池化单元用于对k个像素序列进行池化,并将池化后的池化序列发送至拼接单元;拼接单元用于将k个池化序列进行拼接,得到目标图像,并将目标图像存储至存储器。
124.如图6所示,本发明实施例还提供了一种池化装置200,包括:
125.获取模块201,用于获取待池化图像的初始尺寸和目标输出尺寸;
126.确定模块202,用于根据所述初始尺寸和所述目标输出尺寸,确定池化参数;
127.重排模块203,用于根据所述初始尺寸和所述目标输出尺寸,或者,根据所述池化参数对所述待池化图像进行重排,得到重排图像;
128.池化模块204,用于根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像。
129.可选地,所述确定模块202包括:
130.第一确定单元,用于根据所述待池化图像在池化方向上的初始高度和目标输出高
度,确定第一步长和滑窗高度;
131.第二确定单元,用于根据所述待池化图像在池化方向上的初始宽度和目标输出宽度,确定第二步长和滑窗宽度。
132.可选地,所述第一确定单元,还用于:
133.对高度比值向下取整,得到第一步长;
134.将所述初始高度减去第一数值,得到所述滑窗高度。
135.可选地,所述第二确定单元,还用于:
136.对宽度比值向下取整,得到第二步长;
137.将所述初始宽度减去第二数值,得到所述滑窗宽度。
138.可选地,所述重排模块203,还用于:
139.根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像中的n个待拼接元素;
140.按照待池化图像的池化方向,将每一所述待拼接元素添加至对应的拼接位置,得到重排图像。
141.可选地,所述重排模块203,还用于:
142.根据所述初始尺寸和所述目标输出尺寸,确定所述待池化图像在每个池化步骤对应的池化元素;
143.将所述池化元素中重复的元素确定为待拼接元素。
144.可选地,所述重排模块203,还用于:
145.将预设值与所述初始宽度的乘积,除以所述目标输出宽度,得到第三数值;
146.对所述第三数值向下取整,确定待池化图像在所述池化步骤中的起点数值;
147.计算所述预设值与第三预设数值的和,得到第一和值;
148.将所述第一和值与所述初始宽度的乘积,除以所述目标输出宽度,得到第四数值;
149.对所述第四数值向上取整,确定待池化图像在所述池化步骤中的终点数值。
150.可选地,所述池化模块204,还用于:
151.在所述步长参数包括多个步长的情况下,使用第一目标步长和滑窗对所述重排图形进行池化,得到所述目标图像。
152.可选地,所述重排模块203,还用于;
153.基于所述步长参数,确定所述待池化图像在每个池化步骤对应的池化元素;
154.基于每个池化步骤的排序,确定k个目标池化分组;
155.基于所述k个目标池化分组对应的池化元素,将所述待池化图像转换为k个像素序列,得到所述重排图像。
156.可选地,所述重排模块203,还用于;
157.基于所述步长参数确定k个步长;
158.依据所述k个步长,为每个池化步骤配置对应的步长;
159.基于每个池化步骤对应的步长,确定所述待池化图像在每个池化步骤对应的池化元素。
160.可选地,所述池化模块204,还用于:
161.使用滑窗和第二目标步长对所述k个像素序列进行池化,得到k个池化序列;
162.基于所述目标元素对应的池化步骤的排序,将所述k个池化序列拼接为池化序列。
163.可选地,所述池化模块204,还用于:
164.基于每个所述像素序列中的目标起点元素,使用滑窗和第二目标步长对所述像素序列进行池化。
165.本发明实施例还提供了一种设备,如图7所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;
166.存储器303,用于存放计算机程序;
167.处理器301,用于执行存储器303上所存放的程序;
168.所述计算机程序被处理器执行时,用于获取待池化图像的初始尺寸和目标输出尺寸;
169.根据所述初始尺寸和所述目标输出尺寸,确定池化参数;
170.根据所述初始尺寸和所述目标输出尺寸,或者,根据所述池化参数对所述待池化图像进行重排,得到重排图像;
171.根据所述池化参数对所述重排图形进行池化,得到具有所述目标输出尺寸的目标图像。
172.上述设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
173.通信接口用于上述终端与其他设备之间的通信。
174.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
175.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
176.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的池化方法。
177.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的池化方法。
178.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质
中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
179.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
180.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
181.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1