图像的处理方法和装置与流程

文档序号:26756714发布日期:2021-09-25 04:22阅读:104来源:国知局
图像的处理方法和装置与流程

1.本公开涉及图像处理,尤其涉及一种图像的处理方法和装置。


背景技术:

2.目前的一些应用程序可以提供一些图像的生成功能,即用户输入一个图像,应用程序通过对输入的图像进行指定处理,生成具有一定效果的图像。在这些应用中,通常使用神经网络模型来实现上述功能,例如生成对抗网络模型。这些神经网络模型在对图像处理进行处理时,通常需要经过tanh非线性处理来生成最终的图像。
3.由于生成对抗网络模型生成的图像尺寸往往较大,比如图像超分辨率处理,高清美颜处理等应用场景下生成的图像尺寸为256x256(3通道),甚至1080x720(3通道),由tanh的计算公式可知,tanh的计算包含较多的exp指数运算,导致tanh的计算耗时较长;而tanh非线性处理需要对每一个像素进行运算,处理量达到196kb甚至2mb,因此生成对抗网络模型常常由于应用了tanh激活函数,严重增加了图像生成所消耗的时间。
4.目前提高图像非线性处理效率的方法主要是用截断relu来代替tanh进行非线性处理,这样处理会避免exp()以及除法等复杂操作,对图像生成处理速度会有一定的提升,但通过relu处理来代替tanh会有数据的截断,会损失图像的部分信息,导致最终生成的图像质量下降。
5.针对现有技术中在使用神经网络模型进行图像生成时,由于非线性处理时间较长,导致图像生成效率较低的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本公开提供一种图像的处理方法和装置,以至少解决相关技术中现有技术中在使用神经网络模型进行图像生成时,由于非线性处理时间较长,导致图像生成效率较低的问题。本公开的技术方案如下:
7.根据本公开实施例的第一方面,提供一种图像的处理方法,包括:对目标图像进行线性处理,得到中间图像;将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果;其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,预计算数据包括:多个用于表示像素值的离散点和离散点对应的双曲正切运算结果。
8.作为一种可选的实施例,将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果的步骤包括:在所述部分指定像素的像素值大于0的情况下,确定插值参数为所述部分指定像素的像素值,并在所述部分指定像素的像素值小于0的情况下,确定插值参数为所述部分指定像素的像素值的绝对值;利用所述插值参数在预计算数据的离散点之间进行插值运算,得到所述插值参数对应的非线性处理结果;在所述部分指定像素的像素值大于0的情况下,确定所述部分指定像素对应的非线性处理结果为所述插值参数对应的非线性处理结果;以及在所述部分指定像素的像素
值小于0的情况下,确定所述部分指定像素对应的非线性处理结果为所述插值参数对应的非线性处理结果的相反数。
9.作为一种可选的实施例,所述预计算数据中的离散点均匀分布且具有对应的索引值,索引值根据离散点对应的像素值与预设步长确定,预设步长为预计算数据中任意两个相邻离散点之间的距离,利用插值参数在预计算数据的离散点之间进行插值运算,得到插值参数对应的非线性处理结果的步骤包括:获取插值参数除以预设步长的商值;对商值进行向下取整得到第一索引值,并对商值进行向上取整得到第二索引值;根据第一索引值和第二索引值在预计算数据中对插值参数进行插值运算,得到插值参数对应的非线性处理结果。
10.作为一种可选的实施例,根据第一索引值和第二索引值在预计算数据中对插值参数进行插值运算,得到插值参数对应的非线性处理结果的步骤包括:在预计算数据中查找第一索引值对应的第一双曲正切运算结果,以及第二索引值对应的第二双曲正切运算结果;获取第一双曲正切运算结果对应的第一权重和第二双曲正切运算结果对应的第二权重;通过第一权重和第二权重对第一双曲正切运算结果和第二双曲正切运算结果进行加权,得到插值参数对应的非线性处理结果。
11.作为一种可选的实施例,获取第一双曲正切运算结果对应的第一权重和第二双曲正切运算结果对应的第二权重的步骤包括:确定商值与第一索引值之差为第一权重;以及确定第二索引值与商值之差为第二权重。
12.作为一种可选的实施例,在对目标图像进行线性处理,得到中间图像之后,上述方法还包括:在所述中间图像内的部分非指定像素的像素值大于0的情况下,确定所述部分非指定像素对应的非线性处理结果为1,其中,所述部分非指定像素用于表示所述中间图像的像素中,像素值的绝对值大于所述预设值的像素;以及在所述部分非指定像素的像素值小于0的情况下,确定所述部分非指定像素对应的非线性处理结果为

1。
13.作为一种可选的实施例,上述方法还包括:获取预设的像素区间和预设步长,其中,所述像素区间为左半开区间,所述像素区间的左端点为0,所述像素区间的右端点为预设值;将像素区间按照预设步长进行离散化处理,得到多个离散点;对每个离散点所表示的像素值进行双曲正切运算,得到每个离散点对应的双曲正切运算结果;按照离散点对应的像素值由小至大的顺序确定每个离散点对应的索引值,并将每个离散点对应的索引值与离散点对应的双曲正切运算结果对应存储,得到预计算数据。
14.根据本公开实施例的第二方面,提供一种图像的处理装置,包括;线性处理单元,被配置为对目标图像进行线性处理,得到中间图像;插值单元,被配置为将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果;其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,预计算数据包括:多个用于表示像素值的离散点和离散点对应的双曲正切运算结果。
15.作为一种可选的实施例,上述插值单元包括:第一确定单元,被配置为在所述部分指定像素的像素值大于0的情况下,确定插值参数为所述部分指定像素的像素值,并在所述部分指定像素的像素值小于0的情况下,确定插值参数为所述部分指定像素的像素值的绝对值;第一运算单元,被配置为利用所述插值参数在预计算数据的离散点之间进行插值运
算,得到所述插值参数对应的非线性处理结果;第二确定单元,被配置为在所述部分指定像素的像素值大于0的情况下,确定所述部分指定像素对应的非线性处理结果为所述插值参数对应的非线性处理结果;以及在所述部分指定像素的像素值小于0的情况下,确定所述部分指定像素对应的非线性处理结果为所述插值参数对应的非线性处理结果的相反数。
16.作为一种可选的实施例,所述预计算数据中的离散点均匀分布且具有对应的索引值,所述索引值根据所述离散点对应的像素值与预设步长确定,所述预设步长为所述预计算数据中任意两个相邻离散点之间的距离,所述第一运算单元包括:商值获取单元,被配置为获取所述插值参数除以预设步长的商值;取整单元,被配置为对所述商值进行向下取整得到第一索引值,并对所述商值进行向上取整得到第二索引值;第二运算单元,被配置为根据所述第一索引值和所述第二索引值在所述预计算数据中对所述插值参数进行插值运算,得到所述插值参数对应的非线性处理结果。
17.作为一种可选的实施例,上述第二运算单元包括:查找单元,被配置为在所述预计算数据中查找所述第一索引值对应的第一双曲正切运算结果,以及所述第二索引值对应的第二双曲正切运算结果;运算结果获取单元,被配置为获取所述第一双曲正切运算结果对应的第一权重和所述第二双曲正切运算结果对应的第二权重;加权单元,被配置为通过所述第一权重和所述第二权重对所述第一双曲正切运算结果和所述第二双曲正切运算结果进行加权,得到所述插值参数对应的非线性处理结果。
18.作为一种可选的实施例,上述运算结果获取单元包括:第三确定单元,被配置为确定所述商值与所述第一索引值之差为所述第一权重;以及第四确定单元,被配置为确定所述第二索引值与所述商值之差为所述第二权重。
19.作为一种可选的实施例,上述装置还包括:第五确定单元,被配置为在对目标图像进行线性处理,得到中间图像之后,在所述中间图像内的部分非指定像素的像素值大于0的情况下,确定所述部分非指定像素对应的非线性处理结果为1,其中,所述部分非指定像素用于表示所述中间图像的像素中,像素值的绝对值大于所述预设值的像素;以及第六确定单元,被配置为在所述部分非指定像素的像素值小于0的情况下,确定所述部分非指定像素对应的非线性处理结果为

1。
20.作为一种可选的实施例,上述装置还包括:步长获取单元,被配置为获取预设的像素区间和预设步长,其中,所述像素区间为左半开区间,所述像素区间的左端点为0,所述像素区间的右端点为所述预设值;离散化处理单元,被配置为将所述像素区间按照所述预设步长进行离散化处理,得到多个离散点;第三运算单元,被配置为对每个离散点所表示的像素值进行双曲正切运算,得到每个离散点对应的双曲正切运算结果;存储单元,被配置为按照所述离散点对应的像素值由小至大的顺序确定每个离散点对应的索引值,并将所述每个离散点对应的索引值与所述离散点对应的双曲正切运算结果对应存储,得到所述预计算数据。
21.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如上述的图像的处理方法。
22.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的图像的处理方
法。
23.根据本公开实施例的第五方面,提供一计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述的图像的处理方法。
24.本公开的实施例提供的技术方案至少带来以下有益效果:本技术上述实施例对所述目标图像进行线性处理,得到中间图像;将所述中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到所述像素对应的非线性处理结果;其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,所述预计算数据包括:多个用于表示像素值的离散点和所述离散点对应的双曲正切运算结果。上述方案在进行生成图像时的非线性处理时,没有使用双曲正切函数对中间图像的每个像素进行处理,而是利用包含离散点和离散点的双曲正切运算结果的预计算数据,在离散点中对中间图像中的部分指定像素值进行插值,以得到其非线性处理结果。由于插值运算的运算量远远小于双曲正切函数的运算量,因此这样的非线性处理方式相比于对中间图像的每个像素进行双曲正切运算来说,运算量非常小,同时也缩短了运算所消耗的时间,提高了生成图像的效率,解决了现有技术中在使用神经网络模型进行图像生成时,由于非线性处理时间较长,导致图像生成效率较低的技术问题,提高用户使用体验。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是根据一示例性实施例示出的一种图像的处理方法的流程图。
28.图2是一种y=tanh(x)函数的函数曲线示意图。
29.图3是根据本技术实施例的一种非线性处理的示意图。
30.图4是根据一示例性实施例示出的一种图像的处理装置框图。
31.图5是根据一示例性实施例示出的一种用于执行上述视频处理方法的电子设备800的框图。
具体实施方式
32.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
33.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
34.图1是根据一示例性实施例示出的一种图像的处理方法的流程图,如图1所示,该方法可以用于短视频应用程序、或图像处理应用程序中,包括以下步骤。
35.在步骤s11中,对目标图像进行线性处理,得到中间图像。
36.具体的,上述目标图像为待进行图像转换的图像。在实际操作中,用户可以从设备的相册中选择目标图像,也可以调用设备的摄像头拍摄目标图像。
37.在一种可选的实施例中,可以首先获取用于将输入图像进行图像转换的图像变换模型,通过该图像变换模型对目标图像进行线性处理。具体的,该图像变换模型可以是神经网络模型,例如生成对抗网络模型。图像变换模型用于将输入图像进行图像转换,具体可以为图像的风格转换,以实现多种特殊效果。例如:对输入图像进行美妆处理、对输入图像转换为对应的油画、漫画等,对输入图像进行背景补全实现人像失踪效果等。需要实现何种风格的转换,可以使用目标风格的样本图像,对初始的生成对抗网络模型进行训练,以实现对应的图像变换模型。
38.在上述示例中,图像变换模型可以为gan为例,gan(generative adversarial networks)生成对抗网络,是一种深度学习模型,可以用于图像的生成。该模型通过框架包括生成模型(generative model)和判别模型(discriminative model),两个模型通过互相博弈学习产生较好的输出。在训练过程中,生成网络g的目标就是尽量生成真实的图片去欺骗判别网络d。而d的目标就是尽量把g生成的图片和真实的图片分别开来。这样,g和d构成了一个动态的“博弈过程”。最后博弈的结果是,在最理想的状态下,g可以生成足以“以假乱真”的图片。对于d来说,它难以判定g生成的图片究竟是不是真实的,这样就得到了可以应用的一个生成式的模型g。
39.gan中的生成模型g作为生成器,可以为naive bayes(朴素贝叶斯),mixtures of gaussians(混合高斯模型),hmms(隐马尔科夫模型),markov random fields(概率图之马尔可夫随机场)等多种网络模型。其均需要对输入图像的像素进行至少一层的卷积处理,此处的至少一层的卷积处理即为上述的线性处理。
40.在上述方案中,上述中间图像是等待进行非线性处理的图像,也即对上述中间图像进行非线性处理后,即可得到输出图像。
41.在步骤s13中,将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果;
42.其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,预计算数据包括:多个用于表示像素值的离散点和离散点对应的双曲正切运算结果。
43.具体的,上述双曲正切运算结果即为tanh运算结果。tanh是由基本双曲函数、双曲正弦和双曲余弦推导而来:具体的,在神经网络中,由于其图形在定义域0附近近似线性,并且在整个定义域有可导性,因此通常被作为神经元的激活函数使用。
44.图2是一种y=tanh(x)函数的函数曲线示意图,仍结合图2所示,根据函数曲线可知,输入像素值x∈(

∞,+∞),而非线性处理结果y∈(

1,1),即随着x逐渐减小,y逐渐无限趋向于

1,随着x逐渐增大,y逐渐无限趋向于1,因此在x的绝对值大于预设值的情况下,可以默认其非线性处理结果未1或者

1,从而仅在x的绝对值小于或等于上述预设值时通过插值运算获得其非线性处理结果,进而进一步减少运算开销。
45.上述离散点用于表示离散的像素值,也即一个离散点对应表示一个像素值。在预计算数据中,每个离散点具有一个对应的双曲正切运算结果。
46.在上述方案中,插值用于对中间图像中的每个像素点的像素值,在双曲正切函数上进行逼近,其可以利用函数在离散点处的取值情况(离散点对应的双曲正切运算结果),估算出双曲正切函数在中间图像中的每个像素点的近似值。具体所使用的插值法可以为多项式插值法、线性插值法、二次插值法等。
47.在一种可选的实施例中,在初次运算时,获取预计算数据,该预计算数据中包括多个离散点和每个离散点对应的双曲正切运算结果,将该预计算结果进行存储。在之后的运算过程中,在对中间图像的每个像素进行非线性处理时,无需再进行复杂的双曲正切运算,而是将中间图像的像素值在离散点之间进行插值,即可得到接近于双曲正切运算结果的非线性处理结果,这些中间图像的像素值的非线性处理结果即构成输出图像。
48.由此可知,本技术上述实施例对目标图像进行线性处理,得到中间图像;将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果;其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,预计算数据包括:多个用于表示像素值的离散点和离散点对应的双曲正切运算结果。上述方案在进行生成图像时的非线性处理时,没有使用双曲正切函数对中间图像的每个像素进行处理,而是利用包含离散点和离散点的双曲正切运算结果的预计算数据,在离散点中对中间图像中的部分指定像素值进行插值,以得到其非线性处理结果。由于插值运算的运算量远远小于双曲正切函数的运算量,因此这样的非线性处理方式相比于对中间图像的每个像素进行双曲正切运算来说,运算量非常小,同时也缩短了运算所消耗的时间,提高了生成图像的效率,解决了现有技术中在使用神经网络模型进行图像生成时,由于非线性处理时间较长,导致图像生成效率较低的技术问题,提高用户使用体验。
49.作为一种可选的实施例,将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果的步骤包括:在部分指定像素的像素值大于0的情况下,确定插值参数为部分指定像素的像素值,在部分指定像素的像素值小于0的情况下,确定插值参数为部分指定像素的像素值的绝对值;利用插值参数在预计算数据的离散点之间进行插值运算,得到插值参数对应的非线性处理结果;在部分指定像素的像素值大于0的情况下,确定部分指定像素对应的非线性处理结果为插值参数对应的非线性处理结果,在部分指定像素的像素值小于0的情况下,确定部分指定像素对应的非线性处理结果为插值参数对应的非线性处理结果的相反数。
50.仍结合图2所示,根据函数曲线和tanh的公式可以得到,tanh(

x)=

tanh(x),即tanh函数是关于原点对称的;因此可以只计算图像像素值大于0部分,而x<0时,可直接计算x的绝对值,然后将只需要取相反数即可,这样可以将像素处理范围缩小一半;并且由于其单调性以及平滑性,可以通过预计算加插值运算的方式进行快速处理像素。
51.基于图2中所示出的tanh函数的特性,对于负数的取值,可以获取其绝对值进行插值预算,再取插值运算的相反数,即可得到负数的像素值对应的线性数据结果。
52.上述方案中,基于tanh函数为原点对称函数特性,对负数的像素值取绝对值进行插值运算,再经过插值运算的绝对值取相反数,从而可以对输入图像的像素处理范围缩小
一半,达到了大幅缩小输入图像的像素值的处理范围的效果,进而简化非线性处理的复杂程度。
53.作为一种可选的实施例,所述预计算数据中的离散点均匀分布且具有对应的索引值,索引值根据离散点对应的像素值与预设步长确定,预设步长为预计算数据中任意两个相邻离散点之间的距离,利用插值参数在预计算数据的离散点之间进行插值运算,得到插值参数对应的非线性处理结果的步骤包括:获取插值参数除以预设步长的商值;对商值进行向下取整得到第一索引值,并对商值进行向上取整得到第二索引值;根据第一索引值和第二索引值在预计算数据中对插值参数进行插值运算,得到插值参数对应的非线性处理结果。
54.具体的,上述预设步长为预计算数据中,相邻离散点之间的距离。例如,如果离散点之间的距离为0.625,则上述预设步长也为0.625。
55.预计算数据中通过离散点对应的索引值表示离散点。离散点对应的索引值根据其在离散点中的顺序决定。例如,在离散点x[128]={0.0625,0.125,

,8.0}中,每个离散点对应的索引值即为(1,2,3,

,128]。
[0056]
在此基础上,插值参数除以预设步长的商值,可以确定将插值参数在哪两个离散点之间进行插值。具体的,商值向下取整得到的第一索引值和对商值向上取整得到的第二索引值,即可确定插值参数在第一索引值和第二索引值所表示的离散点之间进行插值。
[0057]
上述方案用于在预计算数据的离散点中对插值参数进行插值。其利用预计算数据中离散点之间的步长求取像素对应的商值,在依赖该商值确定用于插值的第一索引值和第二索引值,在第一索引值和第二索引值对应的离散点之间进行插值,以提高运算的速度。
[0058]
作为一种可选的实施例,根据第一索引值和第二索引值在预计算数据中对插值参数进行插值运算,得到插值参数对应的非线性处理结果的步骤包括:在预计算数据中查找第一索引值对应的第一双曲正切运算结果,以及第二索引值对应的第二双曲正切运算结果;获取第一双曲正切运算结果对应的第一权重和第二双曲正切运算结果对应的第二权重;通过第一权重和第二权重对第一双曲正切运算结果和第二双曲正切运算结果进行加权,得到插值参数对应的非线性处理结果。
[0059]
具体的,第一索引值对应的第一双曲正切运算结果,即为第一索引值对应的离散点的双曲正切运算结果;类似的,第二索引值对应的第二双曲正切运算结果,即为第二索引值对应的离散点的双曲正切运算结果。
[0060]
在一种可选的实施例中,可以直接设置第一权重和第二权重均为1/2,以计算插值参数的非线性处理结果。
[0061]
在另一种可选的实施例中,上述第一权重和第二权重可以用于表示插值参数与哪一个离散点更加接近,如果插值参数与第一索引值对应的离散点更加接近,则第一权重大于第二权重,如果插值参数与第二索引值对应的离散点更加接近,则第二权重大于第一权重。通过第一权重和第二权重对第一双曲正切运算结果和第二双曲正切运算结果进行加权,则能够得到插值参数对应的插值结果。
[0062]
上述方案通过获取第一双曲正切运算结果的第一权重和第二双曲正切运算结果的第二权重,以将第一双曲正切运算结果和第二双曲正切运算结果进行加权,从而实现了插值参数在预计算数据中的离散点之间的进行插值运算。
[0063]
作为一种可选的实施例,获取第一双曲正切运算结果对应的第一权重和第二双曲正切运算结果对应的第二权重的步骤包括:确定商值与第一索引值之差为第一权重;以及确定第二索引值与商值之差为第二权重。
[0064]
上述方案中,第一权重表示了当前像素的像素值与第一索引值对应的离散点之间的距离,类似的,第二权重表示的是当前像素的像素值与第二索引值对应的离散点之间的距离,因此第二索引值与商值之差即为第二权重。且由于两个相邻离散点之间的索引值之差为1,因此1与第一权重的差值也可以得到第二权重。
[0065]
上述方案使用商值(插值参数与预设步长的商值)与第一索引值的距离作为第一权重,使用商值与第二索引值的距离作为第二权重,并使用第一权重和第二权重对第一双曲正切运算结果和第二双曲正切运算结果进行加权,从而提高了插值的准确程度。
[0066]
需要说明的是,如果商值为0,则说明当前像素的像素值与离散点所表示的像素值相同,因此无需进行插值运算,而直接使用离散点对应的双曲正切运算结果即可。
[0067]
图3是根据本技术实施例的一种非线性处理的示意图,在该示例中,预设步伐为0.0625,预设上限为8.0,结合图3所示,在进行非线性处理可以包括如下步骤:
[0068]
s301,获取当前像素的像素值x。
[0069]
s302,判断x是否大于0,在判断结果为是的情况下进入步骤s304,否则进入步骤s303。
[0070]
s303,获取x的绝对值abs(x),并确定abs(x)为插值参数abs_x。
[0071]
s304,确定插值参数abs_x。
[0072]
s305,判断x是否大于8.0,在判断结果为是的情况下进入步骤s306,否则进入步骤s309。
[0073]
s306,判断x是否0,在判断结果为是的情况下进入步骤s307,否则进入步骤s308。
[0074]
s307,确定结果为1.0。
[0075]
s308,确定结果为

1.0。
[0076]
s309,获取插值参数与预设步伐的商值index_f,index_f=abs_x/0.0625。
[0077]
s310,对商值向下取整得到第一索引值index=floor{index_f}。
[0078]
s311,获取第一索引值对应的第一双曲正切运算结果y0=y[index]。
[0079]
s312,获取第二索引值index+1以及对应的第二双曲正切运算结果y1=y[index+1]。
[0080]
s313,确定第一权重alpha=index_f

index,第二权重1

alpha,插值参数对应的非线性处理结果result=y0*alpha+y*(1

alpha)。
[0081]
s314,判断x是否大于0,在判断结果为是的情况下进入不厚s315,否则进入步骤s316。
[0082]
s315,当前像素的像素值的非线性插值结果等于result。
[0083]
s316,当前像素的像素值的非线性插值结果等于

result。
[0084]
作为一种可选的实施例,在对目标图像进行线性处理,得到中间图像之后,上述方法还包括:在所述中间图像内的部分非指定像素的像素值大于0的情况下,确定所述部分非指定像素对应的非线性处理结果为1,其中,所述部分非指定像素用于表示所述中间图像的像素中,像素值的绝对值大于所述预设值的像素;以及在所述部分非指定像素的像素值小
于0的情况下,确定所述部分非指定像素对应的非线性处理结果为

1。
[0085]
由于tanh函数随着像素值的逐渐增大,双曲正切运算结果逐渐无限趋向于1。因此在上述方案中,在中间图像的像素的绝对值大于预设值的情况下,确定这些像素为部分非指定像素,并基于双曲正切函数的特性,确定像素值大于0的部分非指定像素的非线性处理结果为1,并确定像素值小于0的部分非指定像素的非线性处理结果为

1。
[0086]
上述方案通过将插值参数与像素区间的上限进行比较,从而对于大于像素区间上限的插值参数,无需进行计算而直接确定其非线性处理结果为1,进而可以进一步缩小对输入图像的像素的处理范围,简化非线性处理的复杂程度。
[0087]
作为一种可选的实施例,上述方法还包括:获取预设像素区间和预设步长,其中,所述像素区间为左半开区间,所述像素区间的左端点为0,所述像素区间的右端点为预设值;将像素区间按照预设步长进行离散化处理,得到多个离散点;对每个离散点所表示的像素值进行双曲正切运算,得到每个离散点对应的双曲正切运算结果;按照离散点对应的像素值由小至大的顺序确定每个离散点对应的索引值,并将每个离散点对应的索引值与离散点对应的双曲正切运算结果对应存储,得到预计算数据。
[0088]
上述图像变换模型生成图像的过程由一系列的线性处理与非线性处理叠加而成,其中tanh非线性处理会对上一层的线性处理得到的中间图像的每一个像素做tanh非线性处理。
[0089]
首先,基于上述仅对图像像素值大于0部分进行插值运算的方案可以确定,在获取预计算数据时,也可以只取大于0的离散点,因此上述像素区间为左半开区间,且左端点为0。再结合上述图2的特性可知,曲线在像素值x∈[0,2]范围内变化较快,在像素值x>2.0时,y值变化很小且趋近于1,因此上述像素区间的上限可以选择大于2的数据,该像素区间的上限越大,运算结果越精确,但相对数值较小的上限来说,运算的代价会有一定的增加。
[0090]
也正是由于tanh函数的上述特性,本技术对于超过上述像素区间上限的像素值,确定其非线性处理结果为1,也即在当前像素的像素值除以预设步长的商值向下取整后仍大于离散点的最大索引值的情况下,可以确定当前像素的像素值的非线性处理结果等于1。
[0091]
上述预设步长可以根据需求来确定,预设步长越大,运算速度越快,但精度越低,相反的,预设步长越小,运算速度越慢,但精确度越高。再对离散点按照由小至大的顺序获取离散点对应的索引值,并将离散点的索引值和其双曲正切运算结果对应存储,即可得到预计算数据。
[0092]
上述方案通过分析tanh函数的函数特性,设置一像素区间,并从这一像素区间中按照预设步长设置离散点,从而根据离散点的索引值和离散点的双曲正切运算结果确定该预计算数据。因此上述方案能够对输入图像像素值处理范围大幅缩小,简化非线性处理,并对采样像素值进行预计算并保存结果,以使得在生成图像时能够直接获取预计算的值进行插值运算,尤其是当非线性处理的像素值的范围较大时,该方案能够快速得到非线性处理结果。
[0093]
在一种可选的实施例中,仍结合图3所示,对获取预计算数据进行说明,获取预计算数据的步骤可以包括:
[0094]
步骤s401,s401,x∈(0,8];
[0095]
步骤s402,离散化处理,其中,step=0.625,得到x[128]={0.0625,0.125,


7.9375};
[0096]
步骤s403,计算tanh(x[i]),i∈[0,128];
[0097]
步骤s404,得到n个结果值并保存y[128]={0.5545997,0.84828364,

,1.0}。
[0098]
图4是根据一示例性实施例示出的一种图像的处理装置框图。参照图4,该装置包括线性处理单元41和转换模块42。
[0099]
线性处理单元41被配置为对目标图像进行线性处理,得到中间图像。
[0100]
该插值单元42被配置为将中间图像内部分指定像素的像素值在预计算数据的离散点之间进行插值运算,得到像素对应的非线性处理结果;
[0101]
其中,所述部分指定像素用于表示所述中间图像的像素中,像素值的绝对值小于或等于预设值的像素,预计算数据包括:多个用于表示像素值的离散点和离散点对应的双曲正切运算结果。
[0102]
作为一种可选的实施例,插值单元包括:第一确定单元,被配置为在部分指定像素的部分指定像素的像素值大于0的情况下,确定插值参数为部分指定像素的像素值,在部分指定像素的像素值小于0的情况下,确定插值参数为部分指定像素的像素值的绝对值;第一运算单元,被配置为利用插值参数在预计算数据的离散点之间进行插值运算,得到插值参数对应的非线性处理结果;第二确定单元,被配置为在部分指定像素的像素值大于0的情况下,确定部分指定像素对应的非线性处理结果为插值参数对应的非线性处理结果,在部分指定像素的像素值小于0的情况下,确定部分指定像素对应的非线性处理结果为插值参数对应的非线性处理结果的相反数。
[0103]
作为一种可选的实施例,所述预计算数据中的离散点均匀分布且具有对应的索引值,索引值根据离散点对应的像素值与预设步长确定,预设步长为预计算数据中任意两个相邻离散点之间的距离,第一运算单元包括:商值获取单元,被配置为获取插值参数除以预设步长的商值;取整单元,被配置为对商值进行向下取整得到第一索引值,并对商值进行向上取整得到第二索引值;第二运算单元,被配置为根据第一索引值和第二索引值在预计算数据中对插值参数进行插值运算,得到插值参数对应的非线性处理结果。
[0104]
作为一种可选的实施例,第二运算单元包括:查找单元,被配置为在预计算数据中查找第一索引值对应的第一双曲正切运算结果,以及第二索引值对应的第二双曲正切运算结果;运算结果获取单元,被配置为获取第一双曲正切运算结果对应的第一权重和第二双曲正切运算结果对应的第二权重;加权单元,被配置为通过第一权重和第二权重对第一双曲正切运算结果和第二双曲正切运算结果进行加权,得到插值参数对应的非线性处理结果。
[0105]
作为一种可选的实施例,运算结果获取单元包括:第三确定单元,被配置为确定商值与第一索引值之差为第一权重;以及第四确定单元,被配置为确定第二索引值与商值之差为第二权重。
[0106]
作为一种可选的实施例,上述装置还包括:第五确定单元,被配置为在对目标图像进行线性处理,得到中间图像之后,在所述中间图像内的部分非指定像素的像素值大于0的情况下,确定所述部分非指定像素对应的非线性处理结果为1,其中,所述部分非指定像素用于表示所述中间图像的像素中,像素值的绝对值大于所述预设值的像素;第六确定单元,被配置为在所述部分非指定像素的像素值小于0的情况下,确定所述部分非指定像素对应
的非线性处理结果为

1。
[0107]
作为一种可选的实施例,上述装置还包括:步长获取单元,被配置为获取预设像素区间和预设步长,其中,所述像素区间为左半开区间,所述像素区间的左端点为0,所述像素区间的右端点为预设值;离散化处理单元,被配置为将像素区间按照预设步长进行离散化处理,得到多个离散点;第三运算单元,被配置为对每个离散点所表示的像素值进行双曲正切运算,得到每个离散点对应的双曲正切运算结果;存储单元,被配置为按照离散点对应的像素值由小至大的顺序确定每个离散点对应的索引值,并将每个离散点对应的索引值与所述离散点对应的双曲正切运算结果对应存储,得到所述预计算数据。
[0108]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0109]
本技术还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的视频处理方法。
[0110]
图5是根据一示例性实施例示出的一种用于执行上述视频处理方法的电子设备800的框图。
[0111]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
[0112]
本技术还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的视频处理方法。
[0113]
本技术还提供了一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的视频处理方法。
[0114]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0115]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1