一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像编码方法、解码方法、存储介质及终端设备与流程

2021-10-27 14:10:00 来源:中国专利 TAG:方法 终端设备 解码 图像处理 图像


1.本发明涉及图像处理技术领域,特别涉及一种图像编码方法、解码方法、存储介质及终端设备。


背景技术:

2.图像编码是指以较少的字节数表示原来的图像素矩阵的技术。通常在存储图像时为了节省存储空间需要对图像进行编码,或者在需要传输图像时为了提高图像传输速度,而在实际使用或展示图片时通过解码还原图像。然而,在图像编码过程中会丢失图像部分细节,这样在对编码得到图像进行重构时,重构得到的重构图像与原始的图像存在较大差异,从而造成重构图像失真。
3.因而现有技术还有待改进和提高。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的不足,提供一种图像编码方法、解码方法、存储介质及终端设备。
5.为了解决上述技术问题,本发明所采用的技术方案如下:
6.一种图像编码方法,其中,所述方法包括:
7.获取待编码图像的语义图,并根据所述语义图以及所述待编码图像生成编码目标图像;
8.将所述编码目标图像输入至预先训练的图像编码模型,通过所述图像编码模型输出所述待压缩图像对应的编码特征图;
9.根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件。
10.所述图像编码方法,其中,所述根据所述语义图以及所述待编码图像生成编码目标图像具体包括:
11.依据所述语义图的灰度值将所述语义图映射成语义张量,其中,所述语义张量的通道维度与语义图的灰度值相对应;
12.根据所述语义张量与所述待压缩图像生成编码目标图像。
13.所述图像编码方法,其中,所述根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件具体包括:
14.根据所述语义图以及所述编码特征图,确定所述待编码图像的残差图像;
15.对所述语义图像、所述编码特征图像以及所述残差图像进行编码处理,得到所述待压缩图像对应的编码文件。
16.所述图像编码方法,其中,所述根据所述语义图以及所述编码特征图,确定所述待编码图像的残差图像具体包括:
17.通过所述图像编码模型生成所述语义图对应的语义特征图,并根据所述编码特征图与所述语义特征图生成第一特征图;
18.将所述第一特征图像输入至预先训练的图像解码模型,以得到所述待编码图像对应的重建图像,其中,所述图像编码模型输出的重建图像与所述待编码图像的差异满足预设条件;
19.根据所述重建图像以及所述待编码图像生成所述待编码图像对应的残差图像。
20.所述图像编码方法,其中,所述对所述语义图像、所述编码特征图像以及所述残差图像进行编码处理,得到所述待压缩图像对应的编码文件具体为:
21.采用无损编码方式分别对所述语义图以及所述编码特征图进行编码,以得到所述语义图对应的编码文件以及所述编码特征图对应的编码文件;
22.采用有损编码方式进对所述残差图像行编码,以得到所述残差图像对应的编码文件;
23.根据所述语义图对应的编码文件、所述编码特征图对应的编码文件以及所述残差图像对应的编码文件生成所述待编码图像对应的编码文件。
24.所述图像编码方法,其中,所述对所述编码特征图进行编码之前,所述方法还包括:
25.对所述编码特征图进行量化,并将量化后的编码特征图作为编码特征图。
26.一种图像解码方法,所述方法包括:
27.对编码文件进行解码,得到语义图以及编码特征图;
28.根据解码得到的语义图以及所述编码特征图生成解码目标图像;
29.将所述解码目标图像输入至预先训练的图像解码模型,通过所述图像解码模型得到所述编码文件对应的重建图像。
30.所述图像解码方法,其中,所述根据解码得到的语义图以及编码特征图生成解码目标图像具体包括:
31.将所述语义图像输入至预先训练的图形编码模型,通过所述图像编码模型生成所述语义图的语义特征图,其中,所述图像编码模型输出的重建图像与所述待解码目标图像的差异满足预设条件;
32.根据所述语义特征图以及所述编码特征图生成解码目标图像。
33.所述图像解码方法,其中,所述编码文件包括残差图像,所述通过所述图像解码模型输入所述编码文件对应的重建图像之后还包括:
34.根据所述重建图像与所述残差图像生成重构图像,并将所述重构图像作为所述编码文件对应的重建图像。
35.所述图像解码方法,其中,所述残差图像采用有损解码方式解码得到的。
36.所述图像解码方法,其中,所述语义图以及所述编码特征图均采用无损解码方式解码得到的。
37.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的图像编码方法、解码方法中的步骤。
38.一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
39.所述通信总线实现处理器和存储器之间的连接通信;
40.所述处理器执行所述计算机可读程序时实现如上任一所述的图像编码方法、解码方法中的步骤。
41.有益效果:与现有技术相比,本发明提供了一种图像编码方法、解码方法、存储介质以及终端设备,所述编码方式包括获取待编码图像的语义图,并根据所述语义图以及所述待编码图像生成编码目标图像;将所述编码目标图像输入至预先训练的图像编码模型,通过所述图像编码模型输出所述待压缩图像对应的编码特征图;根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件。本发明实施例通过根据语义图和待编码图像生成编码目标图像,使得图像编码模型可以获取到语义图携带的语义信息,从而使得压缩得到的压缩图像保留有图像内容的细节,进而提高了根据压缩图像重构得到的重构图像相对于原始图像的真实性。
附图说明
42.图1为本发明提供的图像编码方法的流程图。
43.图2为本发明提供的图像编码模型和图像解码模型的训练过程的流程示意图。
44.图3为本发明提供的图像编码方法中图像编码模型的示意图。
45.图4为本发明提供的图像编码方法中图像解码模型的示意图。
46.图5为本发明提供的图像编码方法中残差模块的示意图。
47.图6为本发明提供的图像编码方法中上采样模块的示意图。
48.图7为本发明提供的图像解码方法的流程图。
49.图8为本发明提供的终端设备的结构原理图。
具体实施方式
50.本发明提供一种图像编码方法、解码方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
51.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
52.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
53.发明人经过研究发现,为了节省存储空间,通常会在存储图像时会对图像进行压缩,以减少图像所占用的存储空间。而在实际使用或展示图像是通过解码还原图像。然而,
在图像编码过程中会丢失图像部分细节,这样在对编码得到图像进行重构时,重构得到的重构图像与原始的图像存在较大差异,从而造成重构图像失真。
54.为了解决上述问题,在本发明实施例中,获取待编码图像的语义图,之后根据所述语义图以及所述待编码图像生成编码目标图像;将所述编码目标图像输入至预先训练的图像编码模型,通过所述图像编码模型输出所述待压缩图像对应的编码特征图;根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件。本发明实施例通过根据语义图和待编码图像生成编码目标图像,使得图像编码模型可以获取到语义图携带的语义信息,从而使得压缩得到的压缩图像保留有图像内容的细节,进而提高了根据压缩图像重构得到的重构图像相对于原始图像的真实性。
55.本实施例提供的图像编码方法和图像解码方法可以应用于图像编解码系统,所述图像编解码系统可以包括编码设备以及解码设备,所述编码设备与所述解码设备相连接,所述编码设备用于执行本实施例中图像编码方法的步骤,所述解码设备用于执行本实施例中图像解码方法的步骤。可以理解的是,所述编码设备获取待编码图像,采用本实施例中的图像编码方法对待编码图像进行编码,得到待编码图像对应的编码文件,并将编码得到的编码文件发送至解码设备,所述解码设备接收待编码文件,并采用本实施例中的图像解码方法解码所述编码文件,以得到待编码图像对应的重建图像。
56.进一步,所述编码设备和解码设备均可以由软件实现或硬件实现,应用于诸如智能手机、pc机、服务器、平板电脑或个人数字助理等之类的智能终端上。例如,所述编码设备为智能手机,所述解码设备为服务器,所述智能手机获取待编码图像并对待编码图像进行编码以得到编码文件;将编码文件发送至服务器,所述服务器接收所述编码文件,并对编码文件进行解码以得到待编码图像对应的重建图像。
57.可以理解的是,在上述应用场景中,虽然将本发明实施方式中图像编码方法的动作描述为完全由编码设备和图像解码方法的动作描述为完全由解码设备。但是,无论是图像编码方法中的动作和图像解码方法动作也具有各自对应的设备进行,部分有各自对应的设备连接的外部设备(例如,云端等)执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。
58.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
59.参见图1和图2,本实施提供了一种图像编码方法,所述方法包括:
60.s10、获取待编码图像的语义图,并根据所述语义图以及所述待编码图像生成编码目标图像。
61.具体地,所述待编码图像可以是通过运行图像编码方法的电子设备(例如,服务器)获取到的图像,该待编码图像可以是有图像采集设备采集的原始图像,其中,所述图像采集设备可以配置于运行有图像编码方法的电子设备,也可以配置于其他外部设备上,通过外部设备将获取到原始图像发送至运行有图像编码方法的电子设备中。在本实施例的一个可能实现方式中,所述图像采集装置配置于运行有图像编码方法的电子设备,这样在电子设备采集到图像后,可以直接对图像进行编码,一方面可以减少图像所占用的存储空间,另一方当需要将图像发送至其他外部设备时,可以发送编码后的图像,以提高图像传输速度。
62.进一步,所述语义图用于表示图像的语义信息,例如,图像为人站在草地上的图
像,那么所述图像的语音信息为人,所述语义图包括图像中人所在区域。本实施例中的语义图是根据待编码图像得到,以每个像素对应的标注来表示待编码图像中携带物品的语义信息,根据所述语义图可以确定待编码图像中各区域对应的物品类别。例如,当待编码图像中仅包含有人和树两个物品时,所述待编码图像对应的语义图包含两个区域,两个区域中一个区域对应的物品类别为人,表示人在待编码图像中所占区域,另一个区域对应的物品类别为树,表示树在待编码图像中所占区域,其中,人对应的区域中各像素点的像素值可以为1,树对应的区域中各像素点的像素值可以设置为2。在本实施例的一个实现方式中,所述语义图可以为单通道的灰度语义图,这样后续将语义图转换为语义张量时,可以直接进行转换,而无需经过将彩色语义图转换为灰度语义图的步骤,提高图像编码的速度。
63.进一步,在本实施例的一个实现方式中,所述语义图可以通过预先训练的语义分割模型(例如,pspnet(pyramid scene parsing network,金字塔式场景分析网络等)获取到的。可以理解的是,在获取到待编码图像后,可以将所述待编码图像输入至预先训练的语义分割模型中,通过语音分割模型输出所述待编码图像对应的语义图像。此外,在实际应用中,所述语义图可以预先获取到,即在获取待编码图像时同步获取到语义图。可以理解的是,用于获取语义图的语义分割模块可以与图像编码方法运行在不同电子设备中,例如,语义图的语义分割模型运行是终端设备上,图像编码方法运行在服务器上等。
64.进一步,在本实施例的一个实现方式中,在获取语义图时,可以采用不同的语义分割模型来获取,不同语义分割模型中可能部分语义分割模型输出的语义图为rgb图像,部分语义分割模型输入的语义图可以为灰度图。从而,在获取到语义图后,可以确定获取到的语义图为图像类型,当图像类型为rgb图像时,将该语义图转换为单通道的语音图;当图像类型为灰度图时,保持所述语义图不变。这样可以便于图像编码模型获取到语义图携带语义信息。
65.进一步,在本实施例的一个实现方式中,所述根据所述语义图以及所述待编码图像生成编码目标图像具体包括:
66.将依据所述语义图的灰度值将所述语义图映射成语义张量,其中,所述语义张量的通道维度与语义图的灰度值相对应;
67.根据所述语义张量与所述待压缩图像生成编码目标图像。
68.具体地,所述语义张量为用于表示语义信息包括的各物品类型的张量,所述语义张量包括为图像通道维度上的张量,该语义张量中的每个通道对应一个物品类别,该语义张量的通道数与用于确定语义图的语义分割模型对应的物品类别数量相等,例如,所述语义张量的通道数为3,则用于确定语义图的语音分割模型对应的物品类型为3。此外,所述语义分割模型对应的物品类型采用灰度值来确定,语义分割模型对应的物品类型的灰度值与语义张量的通道之间存在一一对应关系。可以理解的是,语义图中包括若干图像区域,各图像区域对用一物品类别,并且其图像区域内的每个像素点的值均配置于该物品类型对应的像素值。由此,在将语义图依据其灰度值映射成语义张量时,可以依据语义分割模型对用的物品类型的灰度值与语义张量的通道之间存储一一对应关系来确定语义图像包含的各物品类型对用的通道,其中,灰度值对应着该张量的相应值的通道,并且该通道中各像素点的像素值设置为1,其他没有灰度值与之对应的通道中各像素点的像素值设置为。此外,所述语义张量中各通道的宽和高与语义图的宽和高相等,所述语义图的宽和高与待编码图像的
宽和高相等。本实施例通过将语义图映射成语义张量,该语义张量可以根号体现待编码图像中的物品类别信息,从而使得图像编码模型准确的获取到待编码图像中的物品类别信息。
69.举例说明:用于获取所述语义图的语义分割模型对应物品类别a、物品类别b以及物品类别c,其中,物品类别a对应物品类别1,物品类别b对应物品类别2,物品类别c对应物品类别3,那么根据所述语义图映射得到的语义张量的通道数分别为3,即语义张量包括通道1,通道2以及通道3。假设待编码图像对应的语义图包括物体类别a和物品类别b,那么在将待编码图像对应的语义图映射成语义张量得到的语义张量中,通道1中各像素点的像素值设置为1,通道2中各像素点的像素值设置为1,通道3的中各像素点的像素值设置为0。
70.进一步,在本实施例的一个实现方式中,所述编码目标图像包括所述语义图的语义信息以及待编码图像的图像信息。可以理解的是,将包含语义图的语义信息以及待编码图像的图像信息的编码目标图像输入至预先训练的图像编码模块,以通过所述图像编码模型输出待编码图像对应的编码特征图像。所述根据语义图以及待编码图像生成编码目标图像的方式可以为:将语义张量与待编码图像在通道维度进行合并,以得到编码目标图像,其中,编码目标图像的通道数等于语义张量的通道数与待编码图像的通道数的和。例如,语义张量包括3个通道,待编码图像包括3个通道,那么编码目标图像包括6个通道。
71.s20、将所述编码目标图像输入至预先训练的图像编码模型,通过所述图像编码模型输出所述待压缩图像对应的编码特征图。
72.具体地,所述图像编码模型是基于卷积神经网络构建,该卷积神经网络可以包括至少一个卷积模块,输入卷积模块的图像经过与卷积模块的卷积核进行卷积运算,通过卷积运算后去除冗余的图像信息,输出包含有特征信息的特征图像。在本实施例的一个实现方式中,如图3所示,所述卷积神经网络包括六个卷积模块,分别记为第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块以及第六卷积模块;所述第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块以及第六卷积模块依次级联。
73.所述第一卷积模块包括依次级联的第一卷积、归一化层以及激活层,所述第一卷积层的卷积核为卷积核为7*7,卷积核数量为60,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第一卷积模块的编码目标图像,通过所述第一卷积模块后得到通道数为60的特征图m1,所述特征图像m1的宽和高的维度保持不变,即第一卷积模块输出的特征图m1的数据维度为(n,60,h,w);其中,n为用于训练图像处理模型的训练样本批的批次数。
74.所述第二卷积模块包括第二卷积层、归一化层以及激活层,所述第二卷积层的卷积核为卷积核为3*3,卷积核数量为120,所述第二卷积层的输出图像的宽和高的维度为第一卷积层的输出图像的宽和高的维度的一半,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第二卷积模块的特征图m1,通过所述第二卷积模块后得到通道数为120的特征图m2,所述特征图像m2的宽和高的维度为所述特征图像m1的宽和高的维度的一半,即第二卷积模块输出的特征图m2的数据维度为(n,120,h/2,w/2);其中,n为用于训
练图像处理模型的训练样本批的批次数。
75.所述第三卷积模块包括第三卷积层、归一化层以及激活层,所述第三卷积层的卷积核为卷积核为3*3,卷积核数量为240,所述第三卷积层的输出图像的宽和高的维度为第二卷积层的输出图像的宽和高的维度的一半,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第三卷积模块的特征图m2,通过所述第三卷积模块后得到通道数为240的特征图m3,所述特征图像m3的宽和高的维度为所述特征图像m2的宽和高的维度的一半,即第三卷积模块输出的特征图m3的数据维度为(n,240,h/4,w/4);其中,n为用于训练图像处理模型的训练样本批的批次数。
76.所述第四卷积模块包括第四卷积层、归一化层以及激活层,所述第四卷积层的卷积核为卷积核为3*3,卷积核数量为480,所述第四卷积层的输出图像的宽和高的维度为第三卷积层的输出图像的宽和高的维度的一半,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第四卷积模块的特征图m3,通过所述第四卷积模块后得到通道数为480的特征图m4,所述特征图像m4的宽和高的维度为所述特征图像m3的宽和高的维度的一半,即第四卷积模块输出的特征图m4的数据维度为(n,480,h/8,w/8);其中,n为用于训练图像处理模型的训练样本批的批次数。
77.所述第五卷积模块包括第五卷积层、归一化层以及激活层,所述第五卷积层的卷积核为卷积核为3*3,卷积核数量为960,所述第五卷积层的输出图像的宽和高的维度为第四卷积层的输出图像的宽和高的维度的一半,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第五卷积模块的特征图m4,通过所述第五卷积模块后得到通道数为960的特征图m5,所述特征图像m5的宽和高的维度为所述特征图像m4的宽和高的维度的一半,即第五卷积模块输出的特征图m5的数据维度为(n,960,h/16,w/16);其中,n为用于训练图像处理模型的训练样本批的批次数。
78.所述第六卷积模块包括第六卷积层、归一化层以及激活层,所述第五卷积层的卷积核为卷积核为3*3,卷积核数量为c(c为一个超参数,其值可以为2,4,8或者16),所述第五卷积层的输出图像的宽和高的维度与第四卷积层的输出图像的宽和高的维度相同,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第六卷积模块的特征图m5,通过所述第五卷积模块后得到通道数为c的特征图m6,所述特征图像m6的宽和高的维度为所述特征图像m5的宽和高的维度相同,即第六卷积模块输出的特征图m6的数据维度为(n,c,h/16,w/16);其中,n为用于训练图像处理模型的训练样本批的批次数。
79.进一步,在本实施例的一个实现方式中,所述图像编码模型对应一图像解码模型,所述图像编码模型输出的重建图像与待编码图像的差异数量满足预设条件,所述差异数量指的是重建图像中差异像素点的数量,差异像素点为像素值与目标像素点的像素值不同的像素点,目标像素点为待编码图像中与差异像素点相对应的像素点。例如,差异像素点为重建图像中的位置信息为(5,5)像素点,像素值为155,那么目标像素点为待编码图像中位置信息为(5,5)像素点,并且目标像素点的像素值不为155。此外,所述预设条件可以为图像编
码模型输出的重建图像与待编码图像的差异数量小于预设阈值,例如,10等。
80.进一步,所述图像编码模型与所述图像解码模型可以是经过同步训练而一起完成的,其中,所述同步训练指的是在对图像编码模型进行训练的过程同步对所述图像解码模型进行训练,并且所述图像编码模型和图像解码模型完成的训练的条件相同。相应的,所述图像编码模块与图像解码模块的训练过程可以为:
81.l10、获取训练图像的训练语义图,根据所述训练语义图以及训练图像生成编码目标图像;
82.l20、将编码目标图像输入至所述图像编码模型,通过所述图像编码模型生成预测编码特征图;
83.l30、将预测编码特征图与所述训练语义图对应的训练语义特征图按通道维度合并以得到解码目标图像,将所述解码目标图像输入至所述图像解码模型,以得预测编码图像;
84.l40、基于所述训练图像以及所述预测编码图像构建损失函数;
85.l50、基于损失函数更新图像编码模型的模型参数和/或图像解码模型的模型参数。
86.具体地,在所述步骤l10中,所述训练图像可以是从网络图库中随机选择的网络图像,也可以是在不同场景中采集的实际图像。可选地,样本图像可以根据待处理图像的图像格式、所针对的场景类型等确定,例如待处理图像为监控场景的图像,则样本图像可以从已有的监控场景图像中抽取。此外,所述取训练图像的训练语义图,根据所述训练语义图以及训练图像生成编码目标图像的过程与步骤s10的过程一样,具体可以参照步骤s10,这里就不在赘述。
87.进一步,在所述步骤l20中,在第一次将编码目标图像输入至图像编码模型是,可以设定图像编码模型的初始模型参数,以初始化图像编码模型,在执行后续的输入操作时,可以确定图像编码模型对应的模型参数为上一次执行输入操作之后更新的模型参数。此外,在将编码目标图像输入至图像编码模型,利用图像压缩模型包括的至少一个卷积层对编码目标图像进行特征提取,得到训练图像对应的编码特征图,作为图像编码模型的图像编码结果。
88.进一步,在所述步骤l30中,所述训练语义特征图是将通过所述图像编码模型输出的所述训练语义图像对应的特征图。可以理解的是,将训练语义图输入至所述图像编码模型,通过所述图像编码模型输入所述训练语义图像对应的训练语义特征图。在通过图像编码模型输出预测编码特征图和训练语义特征图后,根据预测编码特征图与训练语义图生成解码目标图像。其中,所述训练语义特征图是将所述训练语义图像输入所述图像编码模型,通过图像编码模型输出的所述训练语义图像对应的特征图,所述预测编码特征图是将所述训练语义图输入所述图像编码模型,通过图像编码模型输出的所述训练语义图对应的编码特征图。此外,所述预测编码特征图与训练语义特征图生成解码目标图像与步骤s10中的根据语义图以及待编码图像生成编码目标图像的过程一样,这里就不再赘述。此外,所述解码目标图像为将语义特征图与预测编码特征图按照通道维度合并得到的图像,所述预测编码图像为基于解码目标图像生成的训练图像的预测图像,其中,所述解码目标图像包括有训练图像的图像特征,预测编码图像为根据该图像特征生成的预测图像,其中,所述预测图像
的图像尺寸与训练图像尺寸相同,并包括训练图像的部分图像内容。在获取到解码目标图像后,可以将解码目标图像作为输入项编码目标图像解码模型,对解码目标图像进行反卷积运算以得到一幅预测图像,该预测图像的尺寸与训练图像的尺寸相同。
89.进一步,在本实施例的一个实现方式中,如图4所示,所述图像解码模型包括第七卷积模块、残差模块100、上采样模块200和第八卷积模块,所述第七卷积模块、残差模块100、上采样模块200和第八卷积模块依次级联,所述将所述解码目标图像输入至所述图像解码模型,以得预测编码图像具体包括:
90.l31、将解码目标图像输入至第七卷积模块,通过所述第七卷积模块输出解码目标图像对应的特征图d1;
91.l32、将所述特征图d1输入至所述残差模块,通过所述残差模块输出特征图d2;
92.l33、将所述特征图d1输入至所述上采样模块,通过所述上采样模块输出特征图d3;
93.l34、将所述特征图d3输入至所述第八卷积模块,通过所述第八卷积模块输出重建图像。
94.具体地,在所述步骤l31中,所述解码输入图的数据维度为(n,2c,h/16,w/16)。所述第七卷积模块包括依次级联的第七卷积、归一化层以及激活层,所述第七卷积层的卷积核为卷积核为3*3,卷积核数量为960,所述激活层采用非线性变换relu激活函数,通过采用非线性变换relu激活函数可以加强网络表示性,防止梯度消失并且梯度计算方便。可以理解的是,输入所述第七卷积模块的编码目标图像,通过所述第七卷积模块后得到通道数为960的特征图d1,所述特征图像d1的宽和高的维度与解码目标图像宽和高的维度相同,即第七卷积模块输出的特征图d1的数据维度为(n,960,h/16,w/16);其中,n为用于训练图像处理模型的训练样本批的批次数。
95.进一步,在所述步骤l32中,所述残差模块100包括依次堆叠的9个残差块,所述9个残差块的结构相同,如图5所示,每个残差块均包括级联的第一残差单元101和第二残差单元102,所述第一残差单元101包括卷积层a、归一化层和激活层,其中,卷积层a的卷积核为3*3,所述激活层采用非线性变换relu激活函数;所述第二残差单元102包括卷积层b和归一化层,其中,卷积层b的卷积核为3*3。此外,对于9个残差块中每个残差块,该残差块的输出图像的宽、高以及通道数均与该残差块的编码目标图像的宽、高以及通道数。可以理解的是,对于9个残差块中每个残差块,该残差块处理过程可以为:对于该残差模块的编码目标图像,首先经过第一残差单元的卷积层a,归一化层和激活层,然后由第二残差单元的卷积层b和归一化层处理,经过第二残差单元后输出的特征图与该残差块的编码目标图像相加,并相加得到的图像作为该残差块的输出。由此,经过9个残差模块处理之后可以得到特征图d2,其中,特征图d2的数据维度为(n,960,h/16,w/16)。
96.进一步,在所述步骤l33中,所述上采样模块200包括依次堆叠的4个上采样单元,4个上采样单元中各上采样单元的结构相同。如图6所示,每个上采样单元均包括上采样层201,以及卷积块202,所述卷积块202包括卷积层c,归一化层以及激活层,其中,四个上采样单元中的上采样层的步长均为2,并且四个上采样单元中的卷积层的卷积核均为3*3,所述激活层采用非线性变换relu激活函数。此外,四个上采样单元中按照堆叠顺序位于第一位的上采样单元的卷积层c的卷积核数据为480,第二位的上采样单元的卷积层c的卷积核数
据为240,第三位的上采样单元的卷积层c的卷积核数据为120,第四位的上采样单元的卷积层c的卷积核数据为60。其中,所述上采样层可以为双线性插值上采样层。
97.进一步,对于四个上采样单元中每个上采样单元,该上采样单元的工作过程可以为:对于输入该上采样单元的编码目标图像,先通过上采样层对编码目标图像进行2倍双线性插值上采样,以使得上采样层的输出图像的宽和高变为编码目标图像的2倍,然后,将上采样层输出的输出图像通过卷积层c、归一化层以及激活层处理,以得到该上采样单元的输出图像。可以理解的是,通过上采样模块的由4个上采样单元依次处理后得到的特征图d3,其中,特征图d3的维度数据为(n,60,h,w)。这里,经过上采样模块输入的特征图d3的宽和高与经过图像编码模块得到特征图d6的宽和高相同。
98.进一步,在所述步骤l34中,所述第八卷积模块包括卷积层d以及激活层,其中,卷积层d的卷积核为7*7,卷积核数为3,所述激活层的激活函数为非线性tanh函数,特征图d3经过卷积操作与非线性tanh函数之后,即可得到三通道的重建图像。
99.进一步,在所述步骤l40中,所述损失函数可以用于表示神经网络的预测结果与真实值之间的差异,也即用于表征神经网络的预测结果的精确度。在本实施例中,可以基于训练图像与将该训练图像编码目标图像编码模型和图像解码模型之后得到的预测编码图像之间的差异构建损失函数。具体地,损失函数l可以构建为:
[0100][0101]
其中,i
i
为第i幅训练图像的矩阵表示,j
i
为第i幅训练图像对应的预测编码文件的矩阵。
[0102]
进一步,在所述步骤l50中,基于损失函数更新图像编码模型的模型参数和/或图像解码模型的模型参数是可以采用梯度下降法更新图像编码模型的模型参数和/或图像解码模型的模型参数。在本实施例中,可以采用梯度下降法图像编码模型的模型参数和/或图像解码模型的模型参数,使得更新参数后图像编码模型和图像解码模型的模型得出的训练图像与对应的预测编码图像之间的差异缩小,这样通过多次迭代执行步骤l10-l50,使损失函数的值逐渐缩小,也即使得训练图像与对应的预测编码图像之间的误差逐渐缩小。
[0103]
进一步,在基于损失函数更新图像编码模型的模型参数和/或图像解码模型的模型参数之前,可以判断损失函数是否满足预设条件,若损失函数不满足预设条件,执行基于损失函数更新图像编码模型的模型参数和/或图像解码模型的模型参数的步骤。其中,所述预设条件包括损失函数值满足预设要求或者训练次数达到预设次数,例如,5000次等。由此,判断损失函数是否满足预设条件的过程可以为:首先判断所述损失函数值是否满足预设要求;若损失函数值满足预设要求,则结束训练;若损失函数值不满足预设要求,则判断所述预设网络模型的训练次数是否达到预测次数,若未达到预设次数,则根据所述损失函数值对所述预设网络模型的网络参数进行修正;若达到预设次数,则结束训练。这样通过损失函数值和训练次数来判断预设网络模型训练是否结束,可以避免因损失函数值无法达到预设要求而造成预设网络模型的训练进入死循环。
[0104]
s30、根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件。
[0105]
具体地,分别将所述语义图以及所述编码特征图进行编码指的是采用第一预设编
码方式对语义图进行编码,以及采用第二预设编码方式对编码特征图进行编码,其中,所述第一预设编码方式和第二预设编码方式可以相同,当然也可以不同。在本实施例中,所述第一预设编码方式和第二预设编码方式均为无损编码方式,这样可以避免编码得到的编码文件丢失图像细节,降低根据编码得到编码文件解码得到的重建图像的失真率。例如,所述第一预设编码方式和第二预设编码方式均为熵编码方式等。
[0106]
进一步,在本实施例的一个实现方式中,为了降低编码特征图的数据量,在对编码特征图进行编码之前,可以对编码特征图进行量化,并对量化后的编码特征图进行编码。相应的,所述对所述编码特征图进行编码之前可以包括:
[0107]
对所述编码特征图进行量化,并将量化后的编码特征图作为编码特征图。
[0108]
具体地,所述量化指的是将所述编码特征图的每个像素点的取值范围分成若干区间,并每个区间中所有像素点的值均采用设置为相同数值。所述对编码特征图进行量化可以采用现有的可以实现图像量化的量化方法。在本实施例的一个实现方式中,所述对所述编码特征图进行量化的方式可以为采用聚类量化方式对所述编码特征图进行量化。所述采用聚类量化方式对编码特征图进行量化的过程可以为:给定聚类量化中心点计算编码特征图中每个像素点与量化中心点的距离,并将获取到的所有距离中的最小距离作为量化值,其中,每个像素点与量化中心点的距离的计算公式可以为:
[0109]
q(input_x
i
):=argmin
j
(input_x
i-c
j
),
[0110]
其中,input_x
i
表示输入编码特征图的第i个数据,c
j
表示聚类量化中心点c={c1,c2,...,c
l
}的第j个分量,j∈[1,l],l为正整数。
[0111]
进一步,在图像编码模型和图像解码模型的训练过程中,为了保证误差反向传播,需要对每个像素点与量化中心点的距离先进行软量化处理,再进行硬量化处理。所述软量化处理的处理方式为:
[0112][0113]
所述硬量化处理的处理过程为:
[0114]
stop_gradient(q(input_x
i
)-soft_q(input_x
i
)) soft_q(input_x
i
)
[0115]
其中,stop_gradient(
·
)停止梯度计算。
[0116]
此外,在量化处理后,对量化得到各距离进行取整,根据取整得到的各距离来确定量化值,最后根据量化值对待编码图像进行量化,以得到量化后的编码特征图。
[0117]
进一步,为了提高图像解码模型解码得到的重建图像的真实性,所述待编码图像对应的编码文件中可以携带残差图像,通过所述残差图像来携带编码过程中丢失的细节信息,这样获取重建图像是可以通过残差图像获取到丢失的细节信息,降低重建图像的失真率。由此,在本实施例的一个实现方式中,所述根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件具体包括:
[0118]
根据所述语义图以及所述编码特征图,确定所述待编码图像的残差图像;
[0119]
对所述语义图像、所述编码特征图像以及所述残差图像进行编码处理,得到所述待压缩图像对应的编码文件。
[0120]
具体地,所述残差图像用于携带待编码图像与根据待编码特征图像得到的重建图
像的差异信息,其中,所述差异信息为携带待编码图像与重建图像的差异像素点,差异像素点为像素值与目标像素点的像素值不同的像素点,目标像素点为待编码图像中与差异像素点相对应的像素点。例如,差异像素点为重建图像中的位置信息为(5,5)像素点,像素值为155,那么目标像素点为待编码图像中位置信息为(5,5)像素点,并且目标像素点的像素值不为155。由此,在本实施例的一个实现方式中,所述根据所述语义图以及所述编码特征图,确定所述待编码图像的残差图像具体包括:
[0121]
通过所述图像编码模型生成所述语义图对应的语义特征图,并根据所述编码特征图与所述语义特征图生成第一特征图;
[0122]
将所述第一特征图像输入至预先训练的图像解码模型,以得到所述待编码图像对应的重建图像,其中,所述图像编码模型的编码目标图像与所述图像编码模型的输出图像的差异满足预设条件;
[0123]
根据所述重建图像以及所述待编码图像生成所述待编码图像对应的残差图像。
[0124]
具体地,所述语义特征图为将语义图输入至图像编码模型,通过图像编码模型生成的语义图对应的特征图,其中,所述图像编码模型为用于生成编码特征图的图像编码模型,并且根据语义图生成语义特征图的过程与根据待编码图像生成编码特征图的过程相似,仅是输入项不同,这里就不在赘述。
[0125]
进一步,在获取到语义特征图后,将所述语义特征图与编码特征图按照通道合并,以得到第一特征图,其中,所述第一特征图的通道数为语义特征图的通道数与编码特征图的通道数的和。在本实施例的一个实现方式中,所述编码特征图的通道数为c,所述语义特征图的通道数也为c,那么所述第一特征图的通道数为2c。此外,所述图像解码模型为图像编码模型对应的图像解码模型,所述图像解码模型的模型结构与图像解码模型和编码模型的联动训练过程中的图像编码模型的结构相同,具体可以参照步骤l30的说明,这里就不再一一赘述。此外,所述残差图像为待编码图像与重建图像相减得到的图像残差,其中,所述待编码图像与重建图像相减指的是对于待编码图像中的每个像素点,将该像素点与重建图像中该像素点对应的像素点相减。
[0126]
进一步,所述残差图像采用有损编码,这样可以通过改变残差图像的损失程度来调整待编码图像对应的压缩率。由此,在本实施例的一个可能实现方式中,所述对所述语义图像、所述编码特征图像以及所述残差图像进行编码处理,得到所述待压缩图像对应的编码文件具体为:
[0127]
采用无损编码方式对所述语义图以及所述编码特征图进行编码处理,得到所述语义图对应的编码文件以及所述编码特征图对应的编码文件;
[0128]
采用有损编码方式进对所述残差图像行编码处理,得到所述残差图像对应的编码文件;
[0129]
根据所述语义图对应的编码文件、所述编码特征图对应的编码文件以及所述残差图像对应的编码文件,生成所述待编码图像对应的编码文件。
[0130]
具体地,所述语义图以及所述编码特征图均采用无损编码,例如,熵编码等。所述残差图像采用有损编码方式,虽然有损编码会丢弃残差图像中的部分图像信息,但是语义图和编码特征图采用无损编码方式,使得语义图和编码特征图不会丢失,从而使得图像解码模型可以根据语义图以及编码特征图获取到图像信息,同时又可以采用有损编码后的残
差图像携带的细节信息对根据语义图以及编码特征图获取到图像信息进行补偿,保证了待编码图像对应的重建图像的失真率。同时,所述残差图像采用有损编码方式,可以通过改变残差图像的损失程度来调整待编码图像对应的压缩率,使得待编码图像可以生成不同压缩率的编码文件。当然,在实际应用中,所述残差图像可以采用bpg,jpeg2000,flil等编码方式。
[0131]
综上,本实施例提供了一种图像编码方法、解码方法、存储介质以及终端设备,所述编码方式包括获取待编码图像的语义图,并根据所述语义图以及所述待编码图像生成编码目标图像;将所述编码目标图像输入至预先训练的图像编码模型,通过所述图像编码模型输出所述待压缩图像对应的编码特征图;根据所述语义图以及所述编码特征图,得到所述待压缩图像对应的编码文件。本发明实施例通过根据语义图和待编码图像生成编码目标图像,使得图像编码模型可以获取到语义图携带的语义信息,从而使得压缩得到的压缩图像保留有图像内容的细节,进而提高了根据压缩图像重构得到的重构图像相对于原始图像的真实性。
[0132]
基于上述图像编码方法,本实施例还提供了一种图像解码方法,如图7所示,所述解码方法包括:
[0133]
m10、对编码文件进行解码,得到语义图以及编码特征图。
[0134]
具体地,所述编码文件包括语义图以及编码特征图,在获取到编码文件后,可以对所述编码文件进行解码,以得到所述编码文件包括的语义图以及编码特征图。在本实施例的一个实现方式,所述语义图和编码特征图均采用无损解码方式进行解码,这样可以获取语义图以及编码特征图携带的全部图像内容,避免了图像内容丢失,避免了重建图像相对于编码文件对应的编码图像的图像失真率。此外,所述编码文件为采用上述编码方法生成的,其中,所述编码特征图为基于编码文件对应的解码目标图像对应的语义图以及基于语义图和解码目标图像生成的编码目标图像以及预先训练的图像编码模型生成的。具体可以参照上述实施例中的步骤s10和步骤s20的说明。
[0135]
m20、根据解码得到的语义图以及所述编码特征图生成解码目标图像。
[0136]
具体地,所述解码目标图像用于输入预先训练的图像解码模型的编码目标图像,所述解码目标图像为根据语义图和编码特征图生成的,其中,在获取解码目标图像时,需要先获取所述语义图的语义特征图,再将语义特征图与所述编码特征图按照通道合并以得到解码目标图像。由此,在生成解码目标图像之前需要获取到语义图对应的语义特征图,相应的,所述根据解码得到的语义图以及编码特征图生成解码目标图像具体包括:
[0137]
通过预先训练的图像编码模型生成所述语义图的语义特征图,其中,所述图像编码模型的编码目标图像与所述图像编码模型的输出图像的差异满足预设条件;
[0138]
根据所述语义特征图以及所述编码特征图生成解码目标图像。
[0139]
具体地,所预先训练的图像编码模型为所述图像解码模型对应的图像编码模型,所述图像编码模型的模型结构以及工作过程与图像编码方法中的图像编码模型的模型结构以及工作过程相同,具体请参照图像编码方法中图像编码模型,以及通过图像编码模型获取特征图的过程,这里就不在一一赘述。此外,所述图像解码模型的训练过程与上述实例中的图像解码模型的训练过程相同,具体可以参照上述实例所述的训练过程。例如,所述图像解码模型与所述图像编码模型同步训练。
[0140]
m30、将所述解码目标图像输入至预先训练的图像解码模型,通过所述图像解码模型输入所述编码文件对应的重建图像。
[0141]
具体地,所述图像解码模型为预先训练的,所述图像解码模型的训练过程具体可以参照上述实施例中的步骤l30的过程,这里就不一一赘述。此外,在本实施例的一个实现方式中,所述编码文件包括残差图像,所述通过所述图像解码模型输入所述编码文件对应的重建图像之后还包括:
[0142]
根据所述重建图像与所述残差图像生成重构图像,并将所述重构图像作为所述编码文件对应的重建图像。
[0143]
具体地,所述根据所述重建图像与所述残差图像生成重构图像指的是将所述重建图像与所述残差图像相加以得到重构图像,其中,所述重建图像与所述残差图像相加指的是将对于重建图像中的每个像素点,将该像素点与残差图像中该像素点对应的像素点相加得到的。
[0144]
基于上述图像编码方法、解码方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的图像编码方法、解码方法中的步骤。
[0145]
基于上述图像编码方法、解码方法,本发明还提供了一种终端设备,如图8所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
[0146]
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0147]
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
[0148]
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0149]
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
[0150]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜