CN117501300A - 图像处理方法和图像处理装置 - Google Patents
图像处理方法和图像处理装置 Download PDFInfo
- Publication number
- CN117501300A CN117501300A CN202180099529.1A CN202180099529A CN117501300A CN 117501300 A CN117501300 A CN 117501300A CN 202180099529 A CN202180099529 A CN 202180099529A CN 117501300 A CN117501300 A CN 117501300A
- Authority
- CN
- China
- Prior art keywords
- neural network
- size
- layer
- image
- output image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 86
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000013528 artificial neural network Methods 0.000 claims abstract description 115
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000003860 storage Methods 0.000 claims description 30
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 238000003062 neural network model Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种图像处理方法和图像处理装置,涉及人工智能领域。该方法包括:获取神经网络处理系统的资源参数和第一神经网络的模型参数;根据资源参数和模型参数确定输入图像的第一切片尺寸和第一填充尺寸以及拼接层在第一神经网络中的层数,其中,当第一神经网络根据第一切片尺寸、第一填充尺寸和拼接层对输入图像进行处理时得到的输出图像的质量在预设的阈值范围内。该方案在使得输出图像的质量满足预设的阈值范围的前提下,根据系统资源参数和模型参数确定合适的切片大小、填充大小和拼接层,从而能够有效降低运算开销和内存消耗。
Description
本申请涉及人工智能领域,并且更具体地,涉及一种图像处理方法和图像处理装置。
随着人工智能(artificial intelligence,AI)技术的快速发展,神经网络(例如,深度神经网络)近年来在图像、视频以及语音等多种媒体信号的处理与分析中取得了很大的成就。对于图像处理方面,在通过深层神经网络模型处理高分辨率图像的这种高要求下,如何降低计算量和内存消耗变得至关重要。
为了解决上述高分辨率输入图像的处理计算量大和内存消耗大问题,出现了切片的思想,也就是说,将输入图像划分为多个切片再分别对各个切片进行处理,然后将处理后的结果进行拼接。为了确保拼接后的图像与不进行切片处理得到的输出图像尽可能相同,需要在切片上填充相邻像素。但是现有技术中切片的填充容易出现连接处显示出块状伪像的问题,从而导致视觉质量、检测成功率等性能下降。由于填充会一定程度增加计算量,所以导致现有技术的划分(包括切片和填充)图像的方法,要么虽然降低了计算量和内存消耗,但输出图像的失真度过大;要么虽然保证了较小的输出图像的失真度,但计算量和内存消耗并没有得到有效降低。
因此,如何在保证输出图像质量的前提下降低计算量和内存消耗是亟待解决的技术问题。
发明内容
本申请实施例提供一种图像处理方法和图像处理装置,能够在保证输出图像质量的前提下降低计算量和内存消耗。
第一方面,提供一种图像处理方法,该方法包括:获取神经网络处理系统的资源参数和第一神经网络的模型参数;根据资源参数和模型参数,确定第一神经网络的输入图像的第一切片尺寸和第一填充尺寸以及拼接层在第一神经网络中的层数,其中,第一输出图像的质量在预设的阈值范围内,第一输出图像是当第一神经网络根据第一切片尺寸和第一填充尺寸和拼接层对输入图像进行处理时得到的输出图像。
在本申请的技术方案中,在使得输出图像的质量满足预设的阈值范围的前提下,根据系统资源参数和模型参数来确定合适的切片大小和填充大小以及拼接层在第一神经网络中的层数,从而能够有效降低运算开销和内存消耗,不会出现运算量过大或失真过于严重的情况。
该资源参数用于表示该神经网络处理系统的运算能力和存储能力。该第一神经网络是指可以被该神经网络处理系统调用的任意神经网络(即神经网络模型),也可以理解为, 第一神经网络是可以在该神经网络处理系统中运行的任意神经网络。
神经网络处理系统可以是处理器、芯片、硬件模块等。
可选地,可以对第一神经网络进行网络架构分析,从而得到其模型参数。第一神经网络的模型参数用于表示该第一神经网络需要的运算量和存储量,模型参数可以包括其感受野、算子、每层神经网络的运算量等参数。
拼接层可以理解为就是第一神经网络中的在将一个个切片进行处理之后,把这些处理结果拼接成一个整体的特征图的神经网络层,“拼接层在第一神经网络中的层数”换而言之就是,第一神经网络中的哪一层(第几层)是拼接层。因此,可以看出,假设第一神经网络由第0层至第L-1层组成,共计L层,则拼接层在第一神经网络中的层数必定是0至L-1中的某个取值,L为大于1的正整数。
在本申请实施例中,质量例如可以用失真度或图像精度来表示,质量越高,当将输出图像用于后续图像识别、图像分类等处理的时候,结果越准确。
结合第一方面,在第一方面的某些实现方式中,第一切片尺寸和第一填充尺寸以及拼接层在第一神经网络中的层数是使得第一输出图像的质量在预设的阈值范围内的情况下,第一神经网络需要的运算量或存储量最小的值。这样能够进一步达到更好的降低运算开销和内存消耗的技术效果。
结合第一方面,在第一方面的某些实现方式中,第一切片的尺寸小于或等于输入图像的尺寸,拼接层的层数小于或等于第一神经网络的总层数,第一填充尺寸是根据预设的阈值范围和拼接层的感受野确定的,第一神经网络的每一层需要的运算量或存储量不超过神经网络系统的运算能力或存储能力。
结合第一方面,在第一方面的某些实现方式中,上述所述方法还包括:根据第一切片尺寸和第一填充尺寸将输入图像划分为多个图块,在拼接层对多个图块对应的处理结果进行拼接,以及根据拼接后的图像得到第一输出图像,多个图块对应的处理结果是第一神经网络对多个图块进行处理得到的。
结合第一方面,在第一方面的某些实现方式中,第一输出图像的质量在预设的阈值范围内具体为:第一输出图像的质量与第二输出图像的质量的比值在预设范围内,第二输出图像是当第一神经网络直接对输入图像进行处理时得到的输出图像。
第二方面,提供了一种图像处理装置,该装置包括用于执行上述第一方面的任意一种实现方式的方法的单元。
第三方面,提供了一种图像处理装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令, 所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
图1是本申请实施例的图像处理方法的示意性流程图。
图2是本申请实施例的图像处理方法的执行过程的示意性流程图。
图3是本申请实施例的图像处理方法的测试效果示意图。
图4是本申请实施例的图像处理装置的示意性框图。
图5是本申请实施例的图像处理装置的硬件结构示意图。
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例涉及神经网络,为了更好地理解本申请实施例的方法,下面先对神经网络的相关术语和概念进行介绍。
在传统方案中,为了减少运算量和降低内存消耗,对输入图像进行了切片,但现有技术没有考虑更好的填充方式,只是为了方便运算用0等进行填充,导致连接处显示出块状伪像的问题。此外,填充也会带来一定的运算量,而现有技术没有考虑如何兼顾运算量和失真度。简而言之,现有技术没有考虑不同划分方式会使得计算量、内存消耗和失真度不同,导致虽然对输入图像进行了划分,但这些划分图像的方法,要么虽然降低了计算量和内存消耗,但输出图像的失真度过大;要么虽然保证了较小的输出图像的失真度,但计算量和内存消耗并没有得到有效降低。也就是说,现有技术的方案无法有效提高图像处理性能。
针对上述问题,本申请实施例提出一种图像处理方案,根据神经网络处理系统的资源参数和神经网络的参数来确定拼接层的层数、切片尺寸和填充尺寸,且保证神经网络的输出结果的质量在预设的阈值范围内,从而解决上述划分图像所导致的问题。
在本申请实施例中,划分图像可以理解为对输入图像进行切片以及对切片进行填充,从而将输入图像划分为多个图块。
图1是本申请实施例的图像处理方法的示意性流程图。下面对图1所示各个步骤进行介绍。
101、获取神经网络处理系统的资源参数和第一神经网络的模型参数。
该资源参数用于表示该神经网络处理系统的运算能力和存储能力。该第一神经网络是指可以被该神经网络处理系统调用的任意神经网络(即神经网络模型),也可以理解为,第一神经网络是可以在该神经网络处理系统中运行的任意神经网络。
神经网络处理系统可以是处理器、芯片、硬件模块等。
可选地,可以对第一神经网络进行网络架构分析,从而得到其模型参数。第一神经网络的模型参数用于表示该第一神经网络需要的运算量和存储量,模型参数可以包括其感受野、算子、每层神经网络的运算量等参数。
102、根据上述资源参数和模型参数,确定第一神经网络的输入图像的第一切片尺寸和第一填充尺寸以及拼接层在第一神经网络中的层数。
拼接层可以理解为就是第一神经网络中的在将一个个切片进行处理之后,把这些处理结果拼接成一个整体的特征图的神经网络层,“拼接层在第一神经网络中的层数”换而言之就是,第一神经网络中的哪一层(第几层)是拼接层。因此,可以看出,假设第一神经网络由第0层至第L-1层组成,共计L层,则拼接层在第一神经网络中的层数必定是0至L-1中的某个取值,L为大于1的正整数。
可选地,可以是根据上述资源参数和模型参数,确定切片尺寸和填充尺寸以及拼接层的层数的备选范围,再从备选范围内选择任意切片尺寸和填充尺寸作为上述第一切片尺寸和第一填充尺寸。
为了获得更好的技术效果,还可以是根据上述资源参数和模型参数,确定切片尺寸和填充尺寸以及拼接层的层数的最优值,再将上述最优值作为上述第一切片尺寸和第一填充尺寸以及拼接层的层数。
在确定第一切片尺寸、第一填充尺寸和拼接层在第一神经网络中的层数的过程中,还需要使得第一输出图像的质量在预设的阈值范围内,该第一输出图像是第一神经网络根据上述第一切片尺寸、第一填充尺寸和拼接层的层数对上述输入图像进行处理后得到的。这是因为,如果只考虑降低运算量和内存消耗,而不关系最终输出结果,就会导致,虽然计算量下降了很多,但是输出图像的质量非常差(例如严重失真),无法使用,就失去了图像处理的意义。
在本申请实施例中,质量例如可以用失真度或图像精度来表示,质量越高,当将输出图像用于后续图像识别、图像分类等处理的时候,结果越准确。具体用于衡量质量的质量参数例如可以采用下文中的mAP、IoU等。这样就可以使得在保证输出图像的质量在可接受范围内的情况下进一步选择能够使得运算量、内存消耗等更低的切片尺寸和填充尺寸,以及拼接层的层数,也就是说,在保证输出图像的质量的同时,进一步降低运算量和内存消耗。
可选地,还可以结合第一神经网络的性能指标来确定上述切片尺寸和填充尺寸,以及拼接层的层数。该性能指标可以为运算量或内存消耗或延迟等,也就是说,用于评价第一神经网络本身的一些性能的参数。为了便于理解,本申请实施例主要以运算量为例进行介绍。
在一些实现方式中,例如可以是根据上述资源参数和模型参数,确定切片尺寸和填充尺寸以及拼接层的层数的备选范围,之后根据性能指标和上述预设的阈值范围,确定切片尺寸和填充尺寸以及拼接层的层数的最优值。假设性能指标为运算量,则相当于,先根据上述资源参数和模型参数确定了切片尺寸和填充尺寸以及拼接层的层数在某个备选范围内时,第一神经网络对划分后的图像进行处理的整体运算量不会超过神经网络系统的运算能力,且第一输出图像的质量在预设范围内,然后从该备选范围内找到使得上述运算量最优的切片尺寸和填充尺寸,还可以找到使得上述运算量最优的拼接层的层数。
假设第一神经网络Π是L层的网络,分别为第0层到第L-1层,其中第0层获取输入图像,第L-1层输出处理后的图像;神经网络处理系统的片上存储器大小为M字(words,1个word为32比特(bit)),为了方便统计,输入图像、算子系数、输出图像、算子输出等需要的存储量的精度为1字;输入图像的尺寸为(H,W,C),其中H表示输入图像的高度,W表示输入图像的宽度,C表示输入图像的通道数;使得第一输出图像的质量在 预设的阈值范围内的超参数为λ,当λ=1时表示上述第一输出图像的质量和第二输出图像的质量的比值,也就是λ的取值范围为0≤λ≤1,当λ=1时表示上述第一输出图像的质量和第二输出图像的质量相同,为了便于理解而,可以看作是用户对图像划分后输出图像的质量的下降容忍度。
可选地,可以通过使得Π的运算量F最小,确定第一切片尺寸、第一填充尺寸和拼接层的层数。该过程可以用下面的式子(1)表示。
其中,
表示拼接层的层数最优值,
表示切片大小的高度的最优值,
表示切片大小的宽度的最优值,F
Π表示第一神经网络处理过程中的运算量,(h
l,w
l,c
l)分别表示第l层的输入特征图的高度、宽度和通道数,l为大于或等于0小于或等于L-1的整数。式子(1)是将使得运算量最小的
分别确定为上述拼接层的层数、第一切片大小的高度、第一切片大小的宽度。式子(1)还需要满足下面的约束条件。
0≤l
c≤L-1;
0≤h
t≤H-1;
0≤w
t≤W-1.
也就是说,前面的L个约束条件是为了保证第一神经网络的每一层(从第0层至第L-1层)的输入、输出和算子系数所占用的内存总和不能超过M字的限制;后面3个约束条件则是为了保证拼接层l
c的层数范围为第一神经网络的层数范围(从第0层至第L-1层),切片的高度h
t小于输入图像的高度H(小于或等于H-1),切片的宽度w
t小于输入图像的宽度W(小于或等于W-1)。
用N
T表示将输入图像按照没有填充的切片大小的高度h
t与宽度w
t进行分割之后得到的切片数量,则
也就是说,切片数量N
T为输入图像大小除以没有填充的切片大小得到的商的上取整值。且第l层的输入特征图的高度和宽度(h
l,w
l)满足下面的式子(2)。
其中,第l
c层的输入图块拼接在一起;r
l是第l层的输入的感受野大小;(λr
l+h
t,λr
l+w
t)是经过填充之后的图块大小,填充大小为p=λr
l/2,因此,式子(2)中,
是第0层的填充后的图块大小,具体而言,是经过填充大小为
的填充之后得到的图块大小;H
Π(m,h)表示输入特征图的高度为h时,在第m层的输出特征图的高度,因此,式子(2)中H
Π(l-1,h
l-1)表示输入特征图的高度是h
l-1时,在第l-1层的输出特征图的高度;W
Π(m,w)表示输入特征图的宽度为w时,在第m层的输出特征图的宽度,因此,式子(2)中H
Π(l-1,w
l-1)表示输入特征图的宽度是w
l-1时,在第l-1层的输出特征图的宽度。假设
分别表示第l层算子的高度和宽度。如果算子是卷积,则算子的高度和宽度就是卷积核的高度和宽度。如果算子是池化,则对于最大池化, 算子的高度和宽度均为0,而对于平均池化,则是池化的高度和宽度。如果算子是激活函数,则假设激活函数可以实现为不涉及任何计算的查找表,那么算子的高度和宽度为0。式子(2)中的
表示,当l=l
c时,取值为
即为N
T;当l≠l
c时,取值为
即为1,也就是说,在拼接层取值为N
T,在非拼接层取值为1。
是当拼接层(第l
c层)的輸入为N
T个输入图块,第0层的已经经过填充之后的输入图块的大小为(h
0,w
0)时的整个第一神经网络的总运算量;f
Π(n,m,x,y)表示从第n层到第m层的运算量,其中第n层的输入特征图的大小为(x,y),因此,f
Π(0,l
c-1,h
0,w
0)N
T表示从第0层到第l
c-1层的运算量,由于图块数为N
T,所以运算量为每个图块的运算量乘以图块数,其中第0层的输入特征图的大小为(h
0,w
0),
表示从第l
c层到第L-1层的运算量,由于第l
c层将多个图块的处理结果进行拼接得到一个特征图,所以运算量与拼接得到的特征图的大小相关,其中第l
c层的输入特征图的大小为
在本申请实施例中填充大小的最优值为
通过调整超参数λ的大小,就可以实现对于上述输出图像的预设的阈值范围的调整。假设上述预设阈值范围是输出图像的图像质量的下降范围,则λ越接近1,图像质量下降越少,λ越接近0,图像质量下降越多。所谓输出图像的图像质量下降可以理解为第一输出图像的质量比第二输出图像的质量差。
在确定切片大小和拼接层的层数的最优值的过程中,可以通过详尽搜索h
t、w
t、l
c的参数空间来执行优化。例如可以以参数幅度的增加顺序开始搜索,因此,从切片大小的最小允许值迭代到最大允许值,并且l
c从0(获取输入)迭代到L-1(产生最终输出)。为了加快优化速度,如果考虑以下因素,可以在不降低优化性能的情况下减少参数搜索空间。假设在满足所有L个约束的情况下,在搜索中探索了{l
c=0,…,m},{h
t},{w
t}。首先,假设l=m是激活函数层(例如Relu,Sigmoid函数等)或池化层,其中(h
m,w
m)=(h
m+1,w
m+1)。在这两种情况下,对于l
c=m+1和l
c=m,第一神经网络的总运算量和L个约束的满足条件相同,这是因为M
m+1(m)≤M
m(m)和M
m+1(i)=M
m(i),i≠m,其中,当l
c=l时,M
l(m)是第m层的存储需求。因此,可以在搜索中跳过l
c=m+1、{h
t}和{w
t}。其次,对于给定的图块大小(h
t,w
t)和拼接层l
c,假设第l层(l≤l
c)的内存需求超过M。由于r
0≤r
1≤…≤r
L-1,因此对于拼接层l
c'>l
c,图块大小(h
t'>h
t,w
t'>w
t),第l层(l≤l
c’)的内存需求也超过M。因此,搜索拼接层l
c'>l
c和图块大小(h
t'>h
t,w
t'>w
t)是不必要的,可以终止。
也就是说,在从备选范围中确定切片大小时,可以跳过对于激活函数层和池化层中的下一层。
103、根据第一切片尺寸和第一填充尺寸将输入图像划分为多个图块。
也就是说,将输入图像按照步骤102确定的切片尺寸进行分割得到多个切片,再按照确定的填充尺寸对多个切片进行填充就可以得到多个图块。
104、对上述多个图块对应的处理结果进行拼接,以及根据拼接后的图像得到第一输出图像,上述多个图块对应的处理结果是第一神经网络对多个图块进行处理得到的。
也就是说,将上述多个图块分别输入到第一神经网络可以得到多个图块对应的处理结果,将这些处理结果进行拼接之后,就能得到拼接后的处理图像,该拼接后的处理图像可以作为第一神经网络的下一层的输入,也可以作为第一神经网络对输入图像的目标处理结 果,即上述第一输出图像。
在本申请实施例中,假设将输入图像直接输入到第一神经网络得到的输出图像称之为第二输出图像,则第一输出图像的质量越接近第二输出图像的质量越好。
拼接需要得到所有上述多个图块的处理结果才执行。
在图1所示方案中,在使得输出图像的质量满足预设的阈值范围的前提下,根据系统资源参数和模型参数来确定合适的切片大小和填充大小以及拼接层的层数,从而能够有效综合输出图像的质量和降低运算开销和内存消耗,即有效提高了图像处理的性能,不会出现运算量过大或失真过于严重的情况。此外,确定切片大小和填充大小以及拼接层的层数的时候选择可以使得输出图像的质量满足预设的阈值范围的前提下第一神经网络的运算量或存储量最小的值,这样能够进一步达到更好的降低运算开销和内存消耗的技术效果。
图2是本申请实施例的图像处理方法的执行过程的示意性流程图。图2可以看作是图1的一个示例。
201、对神经网络模型进行分析,得到神经网络模型的感受野、算子和每层神经网络的运算量。
可以利用网络架构分析模块对神经网络模型进行分析,得到上述感受野、算子和每层神经网络的运算量。
该神经网络模型可以看作是图1中第一神经网络的一例。
202、获取神经网络处理系统的内存大小。
该内存大小例如可以是快速的片上存储器的存储空间大小,可以用于评价神经网络系统的运算能力和存储能力。上述片上存储器例如可以包括:L1、L2、L3、HBM、DDR等。内存大小可以看作是图1所述资源参数的一例。
步骤201和步骤202可以看作是步骤101的一个示例,步骤201和步骤202可以同时执行也可以不同时执行,且执行无先后顺序的限制。
203、确定输入图像的第一切片尺寸和第一填充尺寸以及拼接层的层数。
步骤203可以完全参照步骤102的介绍。
204(a)、对输入图像进行划分,得到多个图块。
步骤204得到多个图块的内容可以完全参照步骤103的介绍。
204(b)、神经网络模型的当前处理层N设为0,从步骤204(a)得到的多个图块中选出下一个要处理的图块。
205、将要处理的图块输入到神经网络模型的第N层进行处理,得到该图块的处理结果,成为下一个要处理的图块。
206、判断第N层是否为最后一层,如果判断结果为“是”,则执行步骤207;如果判断结果为“否”,则执行步骤208。
207、输出第一输出图像。
也就是说,第一输出图像时神经网络模型的最后一层的处理结果。
208、判断第N层是否为拼接层,如果判断结果为“是”,则执行步骤209;如果判断结果为“否”,则执行步骤210。
209、判断是否可以拼接,如果判断结果为“是”,则执行步骤211;如果判断结果为“否”,则执行步骤204(b)。
步骤209对于是否可拼接的判断依据是,第N层是否对所有多个图块都进行了处理。
210、N的值累加1,执行步骤205。
也就是说,利用下一层神经网络层对输入的图块进行处理。步骤210的作用是遍历所有神经网络层。
211、将多个图块分别对应的处理结果进行拼接,拼接好的图块成为下一个要处理的图块,执行步骤210。
步骤204-211可以看作是步骤103-104的一例,主要实现了下面的过程。首先,将输入图像划分为带有选定大小的填充的图块。步骤0,将神经网络模型的当前处理层N设置为0,此时还可以将来自输入图像的下一个图块作为数据输入加载到内存中。步骤1,在将第N层的内核加载到内存中之后,开始对第N层进行数据处理。假设N是网络的最后一层,则第N层的输出是神经网络模型对输入图像处理结果的最终输出。假设N既不是最后一层也不是拼接层,则第N层的输出将成为第N+1层的输入,因此保留在内存中,将N累加1,重复执行此步骤1。假设N不是最后一层,而是拼接层,则如果第N层已经对多个图块都进行了处理,则将第N层的所有处理结果进行拼接,拼接后的图块保留在存储器中,并且将N累加1,重复步骤1;否则,重复步骤0。
为了便于理解本申请实施例的方案的技术效果,下面以一个较为具体的测试例子进行说明。本申请实施例的方案可以用于卷积神经网络等各类神经网络,下面的测试以残差网络(residual network,ResNet)为例。残差网络是在2015年提出的一种深度卷积网络,相比于传统的卷积神经网络,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。残差网络的核心是解决了增加深度带来的副作用(退化问题),这样能够通过单纯地增加网络深度,来提高网络性能。残差网络一般会包含很多结构相同的子模块,通常会采用残差网络连接一个数字表示子模块重复的次数,比如ResNet50表示残差网络中有50个子模块。
在该例子中,将输入图像的分辨率调整为1600x1600,将已训练ResNet50的第11层(Conv2_9)设置为拼接层。ResNet50的第11层的感受场大小为51,因此可以推断出当填充大小的取值大于或等于26(通过51/2计算得到)时,可以保证拼接后的图块不出现块状伪像,确定了三个切片大小分别为:96x96、192x192、384x384(即切片大小的测试取值),填充大小测试取值为0,64。测试结果如图3所示。
图3是本申请实施例的图像处理方法的测试效果示意图。在图3中,曲线A、曲线B、曲线C分别为切片大小384x384、192x192、96x96的对应质量参数的变化曲线。从图3可以看出,当填充大小等于64时,相当于p=64,λ=1的情况,输出图像的质量参数与不进行切片的情况下是相同的。。当填充大小从64降低为0的过程中,相当于p=0,λ=0的情况,三种切片大小的输出图像的质量参数均下降了,但在填充大小相同的情况下,切片大小越大,输出图像的质量参数越高。与填充大小=64相比,当填充大小=0时,对于大小为384x384切片,质量下降了0.6%(即(0.354-0.352)/0.354),运算量减少了约27%。对于大小为192 x 192的切片,质量下降了0.8%(即(0.354-0.351)/0.354),运算量减少了约44%;对于大小为96x96的切片,质量下降了2.3%(即(0.354-0.346)/0.354),运算量减少约64%。
需要说明的是,在图3所示例子中,上述质量参数采用的是常见的目标检测的评价指 标,mAP@IoU。mAP表示平均精度均值(mean average precision);IoU表示交并比(intersection over union),mAP@IoU表示了训练得到的模型在特定IoU的所有类别上的检测精度,IoU表示了产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率或者说重叠度,也就是它们的交集与并集的比值,最理想情况是完全重叠,即比值为1。在图3所示例子中,该神经网络模型对该输入图像(分辨率为1600x1600)进行处理的目标检测性能指标为mAP@IoU=0.5:0.95,即当IoU在0.5与0.95之间范围时的mAP。
所以上述三种切片都可以以非常小的质量下降为代价来换取较大幅度的运算量减少。
下面先结合图4对本申请实施例的图像处理装置进行介绍。图4所示的图像处理装置可以用于执行本申请实施例的图像处理方法的各个步骤,该图像处理装置可以是电脑、服务器等运算能力足以用来构建神经网络的装置。
图4是本申请实施例的图像处理装置的示意性框图。图4所示的装置2000包括获取单元2001和处理单元2002。
装置2000可以用于执行本申请实施例的图像处理方法的步骤。例如,获取单元2001可以用于执行图1所示方法中的步骤101,处理单元2002可以用于执行图1所示方法中的步骤102至步骤104。又例如,获取单元2001可以用于执行图2所示方法中的步骤201、202,处理单元2002可以用于执行图13所示方法中的步骤203至步骤211。
图4所示的装置2000中,获取单元2001可以相当于图5所示的装置3000中的通信接口3003,通过该通信接口3003可以获取上述资源参数和模型参数,或者,获取单元2001也可以相当于图5所示的装置3000中的处理器3002,此时可以通过处理器3002从存储器3001中获取上述资源参数和模型参数。
此外,上述图4所示的装置2000中的处理单元2002可以相当于图5所示的装置3000中处理器3002。
图5是本申请实施例的图像处理装置的硬件结构示意图。图5所示的装置3000包括存储器3001、处理器3002、通信接口3003以及总线3004。其中,存储器3001、处理器3002、通信接口3003通过总线3004实现彼此之间的通信连接。
存储器3001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器3001可以存储程序,当存储器3001中存储的程序被处理器3002执行时,处理器3002和通信接口3003用于执行本申请实施例的图像处理方法的各个步骤。
处理器3002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理装置中的单元所需执行的功能,或者执行本申请实施例的图像处理方法的各个步骤。
处理器3002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的图像处理方法的各个步骤可以通过处理器3002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器3002还可以是通用处理器、数字信号处理器(digital signal processing, DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的图像处理方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3001,处理器3002读取存储器3001中的信息,结合其硬件完成本申请实施例的图像处理装置中包括的单元所需执行的功能,或者执行本申请实施例的图像处理方法的各个步骤。
通信接口3003使用例如但不限于收发器一类的收发装置,来实现装置3000与其他设备或通信网络之间的通信。例如,可以通过通信接口3003发送推理结果所对应的控制参数。
总线3004可包括在装置3000各个部件(例如,存储器3001、处理器3002、通信接口3003)之间传送信息的通路。
需要说明的是,尽管上述装置3000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置3000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置3000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置3000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图5中所示的全部器件。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件 还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
- 一种图像处理方法,其特征在于,包括:获取神经网络处理系统的资源参数和第一神经网络的模型参数,所述资源参数用于表示所述神经网络处理系统的运算能力和存储能力,所述模型参数用于表示所述第一神经网络需要的运算量和存储量;根据所述资源参数和所述模型参数,确定所述第一神经网络的输入图像的第一切片尺寸和第一填充尺寸以及拼接层在所述第一神经网络中的层数,其中,第一输出图像的质量在预设的阈值范围内,所述第一输出图像是当所述第一神经网络根据所述第一切片尺寸和所述第一填充尺寸和所述拼接层对所述输入图像进行处理时得到的输出图像。
- 如权利要求1所述的方法,其特征在于,所述第一切片尺寸和所述第一填充尺寸以及拼接层在所述第一神经网络中的层数是使得所述第一输出图像的质量在预设的阈值范围内的情况下,所述第一神经网络需要的运算量或存储量最小的值。
- 如权利要求1或2所述的方法,其特征在于,所述第一切片的尺寸小于或等于所述输入图像的尺寸,所述拼接层的层数小于或等于所述第一神经网络的总层数,所述第一填充尺寸是根据所述预设的阈值范围和所述拼接层的感受野确定的,所述第一神经网络的每一层需要的运算量或存储量不超过所述神经网络系统的运算能力或存储能力。
- 如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:根据所述第一切片尺寸和所述第一填充尺寸将所述输入图像划分为多个图块;在所述拼接层对所述多个图块对应的处理结果进行拼接,以及根据拼接后的图像得到所述第一输出图像,所述多个图块对应的处理结果是所述第一神经网络对所述多个图块进行处理得到的。
- 如权利要求1至4中任一项所述的方法,其特征在于,所述第一输出图像的质量在预设的阈值范围内具体为:所述第一输出图像的质量与第二输出图像的质量的比值在预设范围内,所述第二输出图像是当所述第一神经网络直接对所述输入图像进行处理时得到的输出图像。
- 一种图像处理装置,其特征在于,包括:获取单元,用于获取神经网络处理系统的资源参数和第一神经网络的模型参数,所述资源参数用于表示所述神经网络处理系统的运算能力和存储能力,所述模型参数用于表示所述第一神经网络需要的运算量和存储量;处理单元,用于根据所述资源参数和所述模型参数,确定所述第一神经网络的输入图像的第一切片尺寸和第一填充尺寸以及拼接层在所述第一神经网络中的层数,其中,第一输出图像的质量在预设的阈值范围内,所述第一输出图像是当所述第一神经网络根据所述第一切片尺寸、所述第一填充尺寸和所述拼接层对所述输入图像进行处理时得到的输出图像。
- 如权利要求6所述的装置,其特征在于,所述第一切片尺寸和所述第一填充尺寸和所述拼接层是使得所述第一输出图像的质量在预设的阈值范围内的情况下,所述第一神经网络需要的运算量或存储量最小的值。
- 如权利要求6或7所述的装置,其特征在于,所述第一切片的尺寸小于或等于所述输入图像的尺寸,所述拼接层的层数小于或等于所述第一神经网络的总层数,所述第一填充尺寸是根据所述预设的阈值范围和所述拼接层的感受野确定的,所述第一神经网络的每一层需要的运算量或存储量不超过所述神经网络系统的运算能力或存储能力。
- 如权利要求6至8中任一项所述的装置,其特征在于,所述处理单元还用于:根据所述第一切片尺寸和所述第一填充尺寸将所述输入图像划分为多个图块;在所述拼接层对所述多个图块对应的处理结果进行拼接,所述多个图块对应的处理结果是所述第一神经网络对所述多个图块进行处理得到的。
- 如权利要求6至9中任一项所述的装置,其特征在于,所述第一输出图像的质量在预设的阈值范围内具体为:所述第一输出图像的质量与第二输出图像的质量的比值在预设范围内,所述第二输出图像是当所述第一神经网络直接对所述输入图像进行处理时得到的输出图像。
- 一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至5中任一项所述方法的指令。
- 一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至5中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/102742 WO2023272432A1 (zh) | 2021-06-28 | 2021-06-28 | 图像处理方法和图像处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501300A true CN117501300A (zh) | 2024-02-02 |
Family
ID=84690947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099529.1A Pending CN117501300A (zh) | 2021-06-28 | 2021-06-28 | 图像处理方法和图像处理装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117501300A (zh) |
WO (1) | WO2023272432A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168066B (zh) * | 2023-04-25 | 2023-07-21 | 河海大学 | 基于数据分析的建筑物三维点云配准预处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3642591B2 (ja) * | 1994-11-29 | 2005-04-27 | 株式会社日立メディコ | 画像処理装置 |
CN111383157B (zh) * | 2018-12-29 | 2023-04-14 | 北京市商汤科技开发有限公司 | 图像处理方法、装置、车载运算平台、电子设备及系统 |
JP2020191030A (ja) * | 2019-05-24 | 2020-11-26 | 株式会社日立製作所 | 画像処理装置 |
CN112257759A (zh) * | 2020-09-27 | 2021-01-22 | 华为技术有限公司 | 一种图像处理的方法以及装置 |
CN112215854A (zh) * | 2020-10-19 | 2021-01-12 | 珠海金山网络游戏科技有限公司 | 一种图像处理的方法及装置 |
-
2021
- 2021-06-28 CN CN202180099529.1A patent/CN117501300A/zh active Pending
- 2021-06-28 WO PCT/CN2021/102742 patent/WO2023272432A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023272432A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9916531B1 (en) | Accumulator constrained quantization of convolutional neural networks | |
US11887005B2 (en) | Content adaptive attention model for neural network-based image and video encoders | |
CN111192292A (zh) | 基于注意力机制与孪生网络的目标跟踪方法及相关设备 | |
US20100177957A1 (en) | Object detecting device, learning device, object detecting method, and program | |
WO2017190691A1 (zh) | 图片压缩方法和装置 | |
US20200374526A1 (en) | Method, device, apparatus for predicting video coding complexity and storage medium | |
CN112990440B (zh) | 用于神经网络模型的数据量化方法、可读介质和电子设备 | |
CN112950579B (zh) | 图像质量评价方法、装置和电子设备 | |
KR20210024126A (ko) | 특징 맵 확대 방법, 장치, 디바이스 및 컴퓨터 판독 가능 기록 매체 | |
KR20220045424A (ko) | 인공 신경망을 압축하는 방법 및 장치 | |
CN114494775A (zh) | 视频切分方法、装置、设备及存储介质 | |
US11983866B2 (en) | Image defect detection method, electronic device using the same | |
CN117501300A (zh) | 图像处理方法和图像处理装置 | |
CN109615620B (zh) | 图像压缩度识别方法、装置、设备及计算机可读存储介质 | |
US7873226B2 (en) | Image encoding apparatus | |
CN111050169B (zh) | 图像编码中量化参数的生成方法、装置及终端 | |
CN111476362A (zh) | 确定fl值的方法及装置 | |
CN116630302A (zh) | 细胞图像分割方法、装置以及电子设备 | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
KR20230119463A (ko) | 선택적 이미지 전처리 기반의 객체 인식 방법 및 장치 | |
CN115294361A (zh) | 一种特征提取的方法及装置 | |
US20140133772A1 (en) | Electronic device and method for splitting image | |
WO2022024165A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
US20200372280A1 (en) | Apparatus and method for image processing for machine learning | |
CN113506287A (zh) | 全视野病理切片图像分类方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |