一种图像压缩方法、装置、电子设备及存储介质

文档序号:32010068发布日期:2022-11-02 17:36阅读:103来源:国知局
一种图像压缩方法、装置、电子设备及存储介质

1.本技术涉及图像处理技术领域,尤其涉及一种图像压缩方法、装置、电子设备及存储介质。


背景技术:

2.近年来,随着数字化信息时代的到来和多媒体计算机技术的发展,使得人们所面对的各种数据量剧增,数据压缩技术的研究受到人们越来越多的重视。图像压缩就是在满足一定保真度和图像质量的前提下,对图像数据进行变换、编码和压缩,去除冗余的数据以减少标识数字图像时需要的数据量,便于图像的存储和传输。
3.目前,图像压缩方法主要包括传统图像压缩方法和深度学习图像压缩方法。其中,传统图像压缩方法一般采用变换编码技术、或是联合使用了预测编码技术和变换编码技术的混合编码框架来实现对图像的压缩。深度学习图像压缩方法则是对全分辨率的输入图像进行非线性变换,从而完成整个图像压缩过程。
4.但是,上述图像压缩方法一般只考虑对于压缩问题通用的失真率的优化,或只考虑在编码过程中对于编码开销的优化,不能同时兼顾失真度和编码开销的联合优化,造成计算资源和时间的浪费,或者压缩效果的损失。


技术实现要素:

5.有鉴于此,本技术实施例至少提供一种图像压缩方法、装置、电子设备及存储介质,可以在保证解压缩后的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
6.本技术主要包括以下几个方面:
7.第一方面,本技术实施例提供一种图像压缩方法,所述图像压缩方法包括:获取待压缩的原始图像;将所述原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量;将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
8.在一种可能的实施方式中,针对所述原始图像的任一所述区域图像;根据以下步骤确定所述区域图像对应的通道数量:将所述区域图像输入训练好的第一神经网络模型中的第一骨干网络,确定所述区域图像对应的图像特征信息;将所述区域图像对应的图像特征信息输入所述第一神经网络模型中的第一路由决策网络,确定所述区域图像对应的通道数量;其中,所述第一神经网络模型是依赖第二神经网络模型进行训练得到的,所述第一神经网络模型的网络规模小于所述第二神经网络模型的网络规模。
9.第二方面,本技术实施例还提供一种图像压缩装置,所述图像压缩装置包括:获取模块,用于获取待压缩的原始图像;确定模块,用于将所述原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量;处理模块,
用于将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
10.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的图像压缩方法的步骤。
11.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的图像压缩方法的步骤。
12.本技术实施例提供的图像压缩方法、装置、电子设备及存储介质,采用空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,与现有技术中的图像压缩方法一般只考虑对于压缩问题通用的失真率的优化,或只考虑在编码过程中对于编码开销的优化,不能同时兼顾失真度和编码开销的联合优化,造成计算资源和时间的浪费,或者压缩效果的损失相比,本技术可以在保证压缩性能的前提下,尽可能减少在压缩过程中的变换编码花费的计算时间,可以同时兼顾失真度和编码开销的联合优化。
13.进一步,本技术实施例提供的图像压缩方法,还可以通过将原始图像中的各个区域图像输入网络规模为轻量型的第一神经网络模型中,确定出各个区域图像分别适配的通道数量,而且第一神经网络模型是依赖于网络规模更大的第二神经网络模型进行训练得到的,这样,不仅可以保证输出的各个区域图像的通道数量的准确率,还可以提升计算各个区域图像的通道数量的计算效率,从而保证整个图像压缩过程的计算效率。
14.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
15.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
16.图1示出了本技术实施例所提供的一种图像压缩方法的流程图;
17.图2示出了本技术实施例所提供的另一种图像压缩方法的流程图;
18.图3示出了本技术实施例所提供的一种图像压缩装置的功能模块图之一;
19.图4示出了本技术实施例所提供的一种图像压缩装置的功能模块图之二;
20.图5示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
21.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中的附
图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
22.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本技术保护的范围。
23.为了使得本领域技术人员能够使用本技术内容,结合特定应用场景“图像压缩”,给出以下实施方式,对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
24.本技术实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行图像压缩的场景,本技术实施例并不对具体的应用场景作限制,任何使用本技术实施例提供的图像压缩方法及装置的方案均在本技术保护范围内。
25.值得注意的是,在本技术提出之前,现有方案中的传统图像压缩方法和深度学习图像压缩方法,一般只考虑对于压缩问题通用的失真率的优化,或只考虑在编码过程中对于编码开销的优化,不能同时兼顾失真度和编码开销的联合优化,造成计算资源和时间的浪费,或者压缩效果的损失。
26.针对上述问题,本技术实施例先将获取到的原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量,进而,通过空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,可以在保证解压缩后得到的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
27.为便于对本技术进行理解,下面结合具体实施例对本技术提供的技术方案进行详细说明。
28.图1为本技术实施例所提供的一种图像压缩方法的流程图。如图1所示,本技术实施例提供的图像压缩方法,包括以下步骤:
29.s101:获取待压缩的原始图像。
30.在具体实施中,获取要进行图像压缩处理的原始图像。
31.s102:将所述原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量。
32.在具体实施中,在获取到待压缩的原始图像之后,先按照预设切割规则对原始图像进行切割,得到该原始图像对应的多个区域图像,进而,分别确定每个区域图像在压缩过程中所需的有效通道的通道数量,这里,每个区域图像对应的通道数量是在保证解压缩后得到的重建图像满足一定质量(质量比如t图像失真度)的前提下,尽可能节约在图像压缩过程中的变换编码环节的计算时间来确定出的通道数量。
33.这里,本技术中确定出的原始图像的多个区域图像在图像压缩过程中所需的有效
通道的通道数量,可以以变换规格图(transform capacity map,tcm)的形式展示和存储,该变换规格图描述了各个区域图像对应的指定输出通道数的空间分布。
34.这里,给出一个具体的切割过程的示例,先按照预设块尺寸对原始图像进行切割,得到该原始图像对应的多个区域图像,在将该原始图像切割后不足以构成的与预设尺寸相一致的区域进行填充,从而得到多个与预设块尺寸相一致的区域图像。其中,该预设块尺寸可以根据图像压缩处理的实际需求进行设置。
35.其中,预设切割规则是在对原始图像进行图像压缩处理前预先设置好的。预设切割规则可以根据图像压缩处理的实际需求进行设置。
36.需要说明的是,确定原始图像切割得到的各个区域图像在图像压缩过程中所需的有效通道的通道数量可以有多种方式,确定方式包括但不限于通过神经网络模型确定、人工指定、通过机械学习方法确定、随机生成等等。
37.s103:将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
38.在具体实施中,在确定出原始图像切割后的各个区域图像在图像压缩过程中所需的有效通道的通道数量之后,就可以根据每个区域图像对应的通道数量来指导空域自适应压缩自编码器来对原始图像进行图像压缩处理,这里的“指导”可以理解成是对空域自适应压缩自编码器中各个卷积神经变换单元对应激活的滤波器数量的指示,以便通过各个卷积神经变换单元对应激活的滤波器数量来对原始图像进行处理,进而得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
39.需要说明的是,传统自编码器(autoencoder,ae)一般使用的是全连接层,对于一维信号并没有什么影响,而对二维图像或视频信号,全连接层会损失空间信息,而压缩自编码器(compressive auto-encoders,cae)是一种基于卷积的压缩自编码器,该压缩自编码器使用卷积层(conv)和池化层(gdn)替代了传统自编码器的全连接层,可以提取隐藏在图像中的空间信息,这样,通过卷积操作压缩自编码器能很好的保留二维信号的空间信息。
40.这里,压缩自编码器是使用卷积神经网络(cnn)来构造编码器和解码器产生的,属于传统自编码器的一个特例。cae的编码器和解码器都是cnn,编码器的卷积网络学习将输入编码为一组信号,然后解码器cnn尝试重构自动编码的输入。其中cnn作为通用特征提取器进行工作,学习如何最好地捕捉输入特征。随着卷积层的添加,传递到下一层的空间尺寸信息在减小,但是在编码器中,重构图像的大小和深度应与输入图片相同,这意味着解码器应该以某种方式调整图像大小和卷积来重构原始图像。另外,卷积计算可认为是一种有效提取图像特征的方法,在卷积计算时一般会用一个正方形的卷积核,按指定步长在输入目标潜在表示对应的特征图上滑动,遍历输入特征图中的每个像素点,对每个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点。其中,输入特征图的深度(通道数)决定了当前层卷积核的深度;当前层卷积核的个数,决定了当前层输出特征图的深度。
41.但是,由于图像内容的复杂程度(可表示为纹理丰富程度、高频分量的多寡、信息量多少)在不同图像间,以及同一幅图像内均存在差异,目前的压缩自编码器由于具有静态的神经网络推理过程,导致不同图像以及同一幅图像中的不同区域总是被施以无差别的计
算和处理过程,而忽视了其对卷积神经变换单元处理能力(即模型算力)的差异性需求。也就是说,目前的压缩自编码器无法在确定的计算和处理资源下为不同图像内容分配适当的算力,最终造成计算资源和时间的浪费,或者压缩效果的损失。
42.针对现有的压缩自编码器出现的上述问题,本技术中提出了一种空域自适应压缩自编码器(spatially-adaptive convolutional auto-encoders,sa-cae),该空域自适应压缩自编码器是对压缩自编码器进行改进后的编码器,该空域自适应压缩自编码器能够实现在空域计算可变的情况下对原始图像进行图像压缩,即,可以对原始图像的各个区域图像分配不同的算力来进行图像压缩,可以实现在输入的变换规格图指导下实现空域可变的图像变换,以此在保证压缩性能的前提下,尽可能节约变换编码的计算时间,来实现图像率失真和编码复杂度的联合优化。
43.具体的改进过程如下:本技术先对现有的压缩自编码器中的卷积神经变换单元进行重新定义,使得本技术中的空域自适应压缩自编码器能够将一组可扩展的滤波器应用于部分输入张量,也即可以支持空间自适应可伸缩推理的神经网络,本技术提供的自适应的卷积神经变换单元包括空域自适应卷积层和空域自适应池化层,即sa-conv和sa-tconv,其计算由本技术提出的变换规格图控制,变换规格图描述了各个区域图像对应的指定输出通道数的空间分布。相应地,sa-gdn根据输入特征图中,不同空间位置的有效通道数发挥其非线性归一化的作用。
44.这里,对于卷积计算,假定stride=1(步长)且padding=0(填充),输出特征图可以根据固定尺寸的输入特征图可以根据固定尺寸的输入特征图计算:
[0045][0046]
其中,指定了输出特征图上任意位置的特征通道数;作为sa-conv算子的权重张量;u,v为2d卷积核的坐标;x,y为输入特征图和输出特征图上的坐标;m为输出特征图的通道序号;n为输入特征图的通道序号;c为输入特征图的最大通道数;c'为输出特征图的最大通道数,或该卷积层的最大卷积核(滤波器)数量;k为卷积核边长;w为输入特征图的宽;h为输入特征图的高;w'为输出特征图的宽;h'为输出特征图的高。
[0047]
这里,m的取值范围随着特征图空间坐标(x,y)变化,可以认为通道维度上的规格由tcm对应给出。对于逆变换操作,由配备sa-tconv进行处理,其中sa-tconv具有等效定义。
[0048]
另外,公式中的tcm与输出特征图逐像素对齐,故可以对原始图像进分块也可以不进行分块,为了减少比特开销,本技术对原始图像进行了分割,具体地,采用基于块级tcm进行实现。如果tcm的粒度足够精细(例如:达到像素级),内存访问的开销(主要体现为计算过程中,对输入特征图多次进行零散索引造成的寻址开销和中间数据缓存开销),加之设备端卷积算法硬件加速实现的有限选择,可能会限制每秒所执行的浮点运算次数(floating-point operations persecond,flops)减少转化为实际的推理加速。相反,本技术遵循基于块的算力分配策略,二维卷积的计算由提出的基于分区机制演变而来。首先,将输入的特征图裁剪成更小的块,从而保证重叠像素的出现最少和效率最优。之后,对分割后的特征图进
行单独处理以生成卷积结果。最后,合并中间结果以重建全尺寸输出特征图。
[0049]
进一步地,下面对利用确定出的原始图像对应的变换规格图以及空域自适应压缩自编码器,来得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像的具体实施过程进行说明,这里,空域自适应压缩自编码器包括编码器、熵模型和解码器,也即,步骤s103中将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像,包括:
[0050]
步骤1031:基于所述原始图像中任一所述区域图像在图像压缩过程中所需的有效通道的通道数量,确定所述编码器的各个卷积神经变换单元需要的有效通道的通道数量;所述区域图像对应的通道数量用于表征所述编码器最终输出的目标潜在表示对应的通道数量。
[0051]
在具体实施中,变换规格图中每个区域图像对应的通道数量表征的是空域自适应压缩自编码器中的编码器最终输出的特征图对应的通道数量。这里,编码器输出的特征图即目标潜在表示,目标潜在表示也即潜在空间表示(latent-space representation)。通过该潜在空间表示指示的每个区域图像对应的通道数量,可以确定空域自适应压缩自编码器中的编码器的各个卷积神经变换单元需要的有效通道的通道数量。
[0052]
步骤1032:按照所述编码器中各个卷积神经变换单元需要的有效通道的通道数量,对所述区域图像进行神经网络变换,得到所述区域图像的目标潜在表示。
[0053]
这里,目标潜在表示可以理解为是对原始图像进行编码后的空间表示。
[0054]
步骤1033:将所述目标潜在表示输入所述熵模型中的编码单元进行数据编码,得到用于网络传输的目标码流。
[0055]
步骤1034:将所述目标码流输入所述熵模型中的解码单元进行数据解码,恢复出所述目标潜在表示。
[0056]
步骤1035:将恢复出的所述目标潜在表示输入所述解码器进行神经网络反变换,得到解压缩后的目标重建图像。
[0057]
在具体实施中,目标潜在表示中指示有各个区域对应的通道数量,所以可以按照指示的通道数量来进行解码,得到解压缩后的目标重建图像。
[0058]
在本技术实施例中,先将获取到的原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量,进而,通过将原始图像以及原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。本技术通过空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,可以在保证解压缩后的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
[0059]
图2为本技术实施例所提供的一种图像压缩方法的流程图。如图2所示,本技术实施例提供的图像压缩方法,包括以下步骤:
[0060]
s201:获取待压缩的原始图像。
[0061]
s202:将所述原始图像进行切割得到多个区域图像。
[0062]
s203:针对所述原始图像的任一所述区域图像,将所述区域图像输入训练好的第
一神经网络模型中的第一骨干网络,确定所述区域图像对应的图像特征信息;将所述区域图像对应的图像特征信息输入所述第一神经网络模型中的第一路由决策网络,确定所述区域图像对应的通道数量。
[0063]
其中,所述第一神经网络模型是依赖第二神经网络模型进行训练得到的,所述第一神经网络模型的网络规模小于所述第二神经网络模型的网络规模。
[0064]
需要说明的是,为了达到兼顾图像在压缩过程中的失真度和编码计算开销的联合优化的目标,即,率失真的优化,就需要保证解压缩后的图像在满足一定质量的前提下,尽可能可能节约压缩过程中的变换编码的计算时间,也就是为该区域图像分配适当的算力,而分配算力的多少由各个卷积神经变换单元对应的被激活的有效通道的通道数量决定。这里,可以使用神经网络模型(neural networks,nn)来确定每个区域图像所需的有效通道的通道数量。
[0065]
在具体实施中,一方面考虑到图像压缩过程中整体所花费的计算开销要尽量减少,这就要求确定每个区域图像所需的有效通道的通道数量的计算开销不能太大,不然就可能抵消掉由于使用与各个区域图像适配的算力所减少的计算开销,所以,本技术选择使用网络规模为轻量级的第一神经网络模型(学生模型)来确定区域图像对应的通道数量,这样,能够使得确定每个区域图像对应的通道数量所花费较少的计算开销,该第一神经网络模型的计算开销相比于空域自适应压缩自编码器编码所产生的计算开销几乎可以忽略不计。另一方面,轻量级的神经网络模型受网络规模所限,表示能力较弱,确定出的通道数量的准确度无法完全保证。对此,本技术先训练出网络规模较大的第二神经网络模型(教师模型),进而,通过知识蒸馏方法训练第一神经网络模型,使训练出的第一神经网络模型能近似第二神经网络模型的行为,这样,能够使第一神经网络模型的输出尽可能与第二神经网络模型的输出一样准确,以此,来提升第一神经网络模型输出的通道数量的准确率。
[0066]
这里,第一神经网络模型和第二神经网络模型可以使用轻量化网络(mobilenet),第一神经网络模型的网络规模小于第二神经网络模型的网络规模,第二神经网络模型的理论计算量大约是第一神经网络模型的理论计算量的三倍左右即可。一示例中,第一神经网络模型可以使用mobilenet-v3 large,第二神经网络模型可以使用mobilenet-v3 small。
[0067]
这里,本技术为了控制神经网络模型的网络规模,制定了一个具有精简主干网络(第一骨干网络)和单个路由决策预测头(第一路由决策网络)的轻量级的第一神经网络模型,以支持在更为严格的资源约束下,实现空域自适应变换路由在线决策功能。对于第一神经网络模型,通过限制网络深度,即堆叠反向残差块的层数,使其具有低于100m flops的理论计算量,能够在绝大多数计算设备上在极短时间内完成推理。
[0068]
进一步地,由于轻量型神经网络模型的模型规格较小,表达能力有限,一般的优化过程不利于其收敛至理想的性能水平。因此,本技术提出利用知识蒸馏方法进行优化和训练,来生成第一神经网络模型,具体地,根据以下步骤训练出所述第一神经网络模型:
[0069]
步骤2031:获取多个样本图像,并确定每个样本图像进行切割得到各个样本区域图像分别对应的真实通道数量。
[0070]
步骤2032:针对任一所述样本区域图像,将所述样本区域图像输入训练好的所述第二神经网络模型确定出所述样本区域图像的第一预测通道数量,以及将所述样本区域图像输入小型初始神经网络模型确定出所述样本区域图像的第二预测通道数量。
[0071]
步骤2033:根据所述样本区域图像的真实通道数量与第二预测通道数量之间的第一熵损,以及所述样本区域图像的第一预测通道数量与第二预测通道数量之间的第二熵损,确定所述样本区域图像对应的第一联合熵损。
[0072]
步骤2034:基于所述多个样本图像的各个样本区域图像对应的第一联合熵损,对所述小型初始神经网络模型的模型参数进行调整,直至满足第一预设训练截止条件,停止对所述小型初始神经网络模型的训练,生成所述第一神经网络模型。
[0073]
在具体实施中,本技术通过多个样本图像、每个样本图像对应的各个样本区域图像的真实通道数量(第一标签)以及第二神经网络模型确定出每个样本区域图像的第一预测通道数量(第二标签),来共同对小型初始神经网络模型进行训练,生成第一神经网络模型。
[0074]
这里,第一联合熵损对应的损失函数也即蒸馏损失函数定义如下:
[0075][0076]
其中,kl(
·
)代表kullback-leibler散度,代表动作损失函数(action loss function),参数σ为蒸馏目标的权重系数,z
pred
为该样本区域图像对应的第二预测通道数量,z
teacher
为该样本区域图像对应的第一预测通道数量,z
true
为该样本区域图像对应的真实通道数量,为该样本区域图像的真实通道数量与第二预测通道数量之间的第一熵损,kl(z
pred
,z
teacher
)为该样本区域图像的第一预测通道数量与第二预测通道数量之间的第二熵损。
[0077]
需要说明的是,第一预设训练截止条件可以是根据实际的需要进行设定的,也可以是第一联合熵损的损失值满足第一预设阈值,也可以是训练的轮数满足预设次数等等。
[0078]
这里,根据上面内容可以知晓的是,在第一神经网络模型的训练过程中,需要用到第二神经网络模型输出的各个样本区域图像的第一预测通道数量,也就是说,训练第一神经网络模型要使用到训练好的第二神经网络模型。下面对第二神经网络模型的训练过程进行说明,也即,根据以下步骤训练出所述第二神经网络模型:
[0079]
步骤a1:获取多个样本图像,并确定每个样本图像进行切割得到各个样本区域图像分别对应的真实通道数量以及真实降级失真代价值。
[0080]
步骤a2:针对任一所述样本区域图像,将所述样本区域图像输入大型初始神经网络模型,确定所述样本区域图像的第三预测通道数量以及预测降级失真代价值。
[0081]
步骤a3:根据所述样本区域图像的真实通道数量与第三预测通道数量之间的第三熵损,以及所述样本区域图像的预测降级失真代价值与真实降级失真代价值之间的第四熵损,确定所述样本区域图像的第二联合熵损。
[0082]
步骤a4:基于所述多个样本图像的各个样本区域图像对应的第二联合熵损,对所述大型初始神经网络模型的模型参数进行调整,直至满足第二预设训练截止条件,停止对所述大型初始神经网络模型的训练,生成所述第二神经网络模型。
[0083]
需要说明的是,第二神经网络模型包括第二骨干网络、第二路由决策网络和代价回归网络。第二神经网络模型的架构可以概括为建立在共享主干网络之上的两个预测器分支。其中,主干网络的架构确定为由堆叠反向残差块组成的cnn特征提取器
(第二骨干网络)。在主干网络的后级,放置了两个预测头(第二路由决策网络和代价回归网络),分别用于处理不同的学习目标,第二路由决策网络用于学习降级失真代价值目标,代价回归网络用于学习通道数量损失目标。
[0084]
这里,通过第二路由决策网络可以确定出每个样本区域图像的第三预测通道数量z
pred
;通过代价回归网络可以确定出每个样本区域图像的预测降级失真代价值δcost
pred
;两者的映射关系为:
[0085][0086][0087]
其中,第二路由决策网络与代价回归网络采用了相似的网络结构,均由中置激活函数的两个相邻的全连接层构成。
[0088]
这里,用于优化与内部参数的损失函数分别为动作损失函数和代理损失函数(surrogate loss function)分别对应前者的最优决策目标和后者替代实际运行sa-cae编码器,以获取压缩性能测试结果的学习目标,分别定义如下:
[0089][0090][0091]
其中,为该样本区域图像的真实通道数量与第三预测通道数量之间的第三熵损;为该样本区域图像的预测降级失真代价值与真实降级失真代价值之间的第四熵损;δcost
pred
为该样本区域图像的预测降级失真代价值;δcost
true
为该样本区域图像的真实降级失真代价值。
[0092]
对上面公式的两个损失函数进行组合,得到第二神经网络模型的第二联合熵损对应的损失函数:
[0093][0094]
其中,参数γ为两组相互关联的学习目标的平衡系数,控制对应子损失函数对于整体优化过程的影响程度。
[0095]
需要说明的是,第二预设训练截止条件可以是根据实际的需要进行设定的,也可以是第二联合熵损的损失值满足第二预设阈值,也可以是训练的轮数满足预设次数等等。
[0096]
还需要说明的是,在对第一神经网络模型和第二神经网络模型进行训练过程中,都需要事先确定每个样本区域图像的真实通道数量z
true
,每个样本区域图像的真实通道数量z
true
是依赖于训练好的空域自适应压缩自编码器(sa-cae)确定的,具体地,根据以下步骤确定所述样本区域图像的真实通道数量z
true

[0097]
步骤b1:将所述样本区域图像以及多个预设通道数量输入训练好的所述空域自适应压缩自编码器,得到各个预设通道数量分别对应的样本重建图像。
[0098]
其中,样本重建图像是指对样本区域图像进行图像压缩处理后得到的图像。
[0099]
这里,可路由的预设通道数量w选项限定于多个固定级别档次,从而简化标签z
true
(真实通道数量)生成过程,并减轻相关学习模型的负担。可以采用二分查找算法,进一步加速标签生成过程。此外,如果动态推理路由的动作空间支持更加细粒度的可路由预设通道数量w选项列表,则二分查找的迭代步骤可以限制在有限次循环内,从而尽可能提供最佳路由目标的近似解。可以指定固定档次的可路由子网络规格,采用枚举方法的时间复杂度同样可以被控制在合理范围,可以通过全量子模型的顺序推理完成代价函数的收集工作。
[0100]
步骤b2:针对任一所述预设通道数量,计算所述预设通道数量对应的样本重建图像和所述样本区域图像之间的图像失真熵损。
[0101]
这里,传统压缩自编码器(cae)的率失真联合目标对应的损失函数为:
[0102][0103]
其中,图像质量失真项通过基于范数的损失函数给出,码率项则通过变分推断方法进行估计。当平衡系数λ固定时,cae的优化程度可以通过损失函数的数值予以评价。
[0104]
其中,为该预设通道数量对应的样本重建图像和样本区域图像之间的图像失真熵损。
[0105]
步骤b3:计算最大通道数量的图像失真熵损与所述预设通道数量的图像失真熵损之间的损失差值,并将所述损失差值确定为所述样本区域图像在所述预设通道数量下得到样本重建图像对应的降级失真代价值;所述最大通道数量为所述空域自适应压缩自编码器中卷积神经变换单元具有的最多通道数量。
[0106]
还需要说明的是,为避免本技术提供的空域自适应压缩自编码器(sa-cae),会由于sa-cae中的卷积神经变换单元的容量降级(由于不是使用所有通道进行工作的方式)而导致不同程度的影响和后果。对此,一方面,申请人考虑到在率失真尺度上,点的位移不能仅通过距离度量来评分,因为位移矢量的方向对其影响也可能产生重要影响。另一方面,申请人考虑到虽然降级后的编码码率和失真指标可以被认为处在最高容量对应水平的附近,但单一的斜率指标也不能完全反映压缩性能的损失程度,因为退化造成的率失真性能漂移存在远近之分。受传统压缩自编码器(cae)的率失真联合目标对应的损失函数的启发,降级失真代价值δcost定义为:
[0107][0108]
其中,为最大通道数量对应的样本重建图像和样本区域图像之间的图像失真熵损;μ为变换路由背景下的平衡系数,可以在以μ0=1为中心的范围内进行调整;失真度量由原始失真度量经过如下归一化得到:
[0109][0110]
其中,λ

为计算路由代价时,与计算绑定的平衡系数,可以取与λ不同的值。需要特别指出,d

,r均按细粒度方式进行评估。
[0111]
步骤b4:从所述多个预设通道数量中,将对应的降级失真代价值小于或等于预设损失阈值的预设通道数量确定为候选通道数量。
[0112]
在具体实施中,图像样本级或块级的率失真数据被用于相应的代价计算。通过在原始目标中添加一个预设损失阈值,也即容限阈值ε,变换容量退化后的编码损失最大容限定义为:
[0113][0114]
其中,候选通道数量对应的图像失真熵损应小于
[0115]
步骤b5:从多个候选通道数量中选取最小通道数量,确定为所述样本区域图像的真实通道数量。
[0116]
这里,通过设置平衡系数μ、到原始代价线的外推距离d,可以为后续路由操作确定编码代价的提升阈值。在所有符合可忽略编码惩罚指定范围内的候选路由目标模型规格中,选择具有最小计算开销的子模型容量作为动态变换路由的期望动作(expected action),期望动作标签z
true
(真实通道数量)可以确定为下式中给出的恰可忽略惩罚下的模型容量(just-unpenalized model capacity,jumc):
[0117][0118]
其中,w是以主编码器支路中卷积核(2d卷积滤波器)数量表示的变换网络容量,即为预设通道数量,表示相应的子模型规格下,评估得到的图像失真熵损。
[0119]
s204:将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
[0120]
这里,对第一神经网络模型、第二神经网络模型、以及空域自适应压缩自编码器的训练先后次序进行总体说明,步骤c1为先对空域自适应压缩自编码器进行训练,再利用训练好的空域自适应压缩自编码器针对不同预设通道数量对各个样本区域图像进行压缩处理,得到各个预设通道数量对应的真实降级失真代价值,确定各个样本区域图像分别对应的真实通道数量。步骤c2为依赖空域自适应压缩自编码器得到的各个预设通道数量对应的真实降级失真代价值(标签)以及各个样本区域图像分别对应的真实通道数量,对第二神经网络模型进行训练。步骤c3为利用训练好的第二神经网络模型输出各个样本区域图像的第一预测通道数量(标签)以及依赖于训练好的空域自适应压缩自编码器经计算得到的各个样本区域图像的真实通道数量,来对第一神经网络模型进行训练。
[0121]
进一步地,对本技术提供的一种图像压缩方法进行完整说明,将空域自适应压缩自编码器与第一神经网络模型组合使用,可以实现空域自适应的图像压缩,具体过程如下:首先,通过第一神经网络模型对输入的原始图像进行分块预分析,得到用于控制空域自适应压缩自编码器的变换规格图。然后,空域自适应压缩自编码器在相应变换规格图的控制下,动态调整不同区域图像使用的变换规格(以特征通道数计),即可在保证压缩性能的前提下,尽可能节约变换编码的计算时间,可以同时兼顾失真度和编码开销的联合优化。这里,本技术还对空域一致的图像压缩方法与空域自适应的图像压缩方法(本技术提供的图像压缩方法)的编码性能与时间复杂度进行了对比,其中,表1为验证数据集的对比结果,表2为评估数据集的对比结果。
[0122]
表1编码性能与时间复杂度对比(验证数据集)
[0123][0124]
表2编码性能与时间复杂度对比(评估数据集)
[0125][0126]
实验证明,本技术提供的图像压缩方法相比于采用传统压缩自编码器的深度学习图像压缩方法,以及采用空域一致可伸缩cnn-cae的图像压缩方法相比,均具有明显改进。相比于原始的静态cnn-cae模型,本技术可以在压缩效率损失极小的条件下(平均码率上升控制在1%以内),为模型执行速度带来30%~40%的提升。相比于空域一致的可伸缩cnn-cae模型,本技术可以在同等或更优的压缩效率下,提供10%以上的额外运行加速。
[0127]
本技术公开的图像压缩方法能够通过分块自适应调整特征通道数,在基本不损失压缩效率的前提下,显着提升相关神经网络模型的计算效率,加速图像编解码过程。本技术可以改善基于深度学习的图像压缩方法计算时间长、实时性差的特点,有利于该类方法的大规模应用和多平台部署。
[0128]
其中,s201、s202、s204的描述可以参照s101至s103的描述,并且能达到相同的技术效果,对此不做赘述。
[0129]
基于同一申请构思,本技术实施例中还提供了与上述实施例提供的图像压缩方法对应的图像压缩装置,由于本技术实施例中的装置解决问题的原理与本技术上述实施例的图像压缩方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0130]
如图3、图4所示,图3为本技术实施例提供的一种图像压缩装置300的功能模块图之一,图4为本技术实施例提供的一种图像压缩装置300的功能模块图之二。如图3和图4所示,所述图像压缩装置300包括:
[0131]
获取模块310,用于获取待压缩的原始图像;确定模块320,用于将所述原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量;处理模块330,用于将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
[0132]
在一种可能的实施方式中,如图4所示,确定模块320包括第一确定单元321;针对所述原始图像的任一所述区域图像,所述第一确定单元321用于根据以下步骤确定所述区域图像对应的通道数量:将所述区域图像输入训练好的第一神经网络模型中的第一骨干网络,确定所述区域图像对应的图像特征信息;将所述区域图像对应的图像特征信息输入所述第一神经网络模型中的第一路由决策网络,确定所述区域图像对应的通道数量;其中,所述第一神经网络模型是依赖第二神经网络模型进行训练得到的,所述第一神经网络模型的网络规模小于所述第二神经网络模型的网络规模。
[0133]
在一种可能的实施方式中,如图4所示,确定模块320包括第一训练单元322;所述第一训练单元322用于根据以下步骤训练出所述第一神经网络模型:获取多个样本图像,并确定每个样本图像进行切割得到各个样本区域图像分别对应的真实通道数量;针对任一所述样本区域图像,将所述样本区域图像输入训练好的所述第二神经网络模型确定出所述样本区域图像的第一预测通道数量,以及将所述样本区域图像输入小型初始神经网络模型确定出所述样本区域图像的第二预测通道数量;根据所述样本区域图像的真实通道数量与第二预测通道数量之间的第一熵损,以及所述样本区域图像的第一预测通道数量与第二预测通道数量之间的第二熵损,确定所述样本区域图像对应的第一联合熵损;基于所述多个样本图像的各个样本区域图像对应的第一联合熵损,对所述小型初始神经网络模型的模型参数进行调整,直至满足第一预设训练截止条件,停止对所述小型初始神经网络模型的训练,生成所述第一神经网络模型。
[0134]
在一种可能的实施方式中,如图4所示,确定模块320包括第二训练单元323;所述第二训练单元323用于根据以下步骤训练出所述第二神经网络模型:获取多个样本图像,并确定每个样本图像进行切割得到各个样本区域图像分别对应的真实通道数量以及真实降级失真代价值;针对任一所述样本区域图像,将所述样本区域图像输入大型初始神经网络模型,确定所述样本区域图像的第三预测通道数量以及预测降级失真代价值;根据所述样本区域图像的真实通道数量与第三预测通道数量之间的第三熵损,以及所述样本区域图像的预测降级失真代价值与真实降级失真代价值之间的第四熵损,确定所述样本区域图像的第二联合熵损;基于所述多个样本图像的各个样本区域图像对应的第二联合熵损,对所述大型初始神经网络模型的模型参数进行调整,直至满足第二预设训练截止条件,停止对所述大型初始神经网络模型的训练,生成所述第二神经网络模型。
[0135]
在一种可能的实施方式中,如图4所示,确定模块320包括第二确定单元324;所述第二确定单元324用于根据以下步骤确定所述样本区域图像的真实通道数量:将所述样本区域图像以及多个预设通道数量输入训练好的所述空域自适应压缩自编码器,得到各个预
设通道数量分别对应的样本重建图像;针对任一所述预设通道数量,计算所述预设通道数量对应的样本重建图像和所述样本区域图像之间的图像失真熵损;计算最大通道数量的图像失真熵损与所述预设通道数量的图像失真熵损之间的损失差值,并将所述损失差值确定为所述样本区域图像在所述预设通道数量下得到样本重建图像对应的降级失真代价值;所述最大通道数量为所述空域自适应压缩自编码器中卷积神经变换单元具有的最多通道数量;从所述多个预设通道数量中,将对应的降级失真代价值小于或等于预设损失阈值的预设通道数量确定为候选通道数量;从多个候选通道数量中选取最小通道数量,确定为所述样本区域图像的真实通道数量。
[0136]
在一种可能的实施方式中,所述空域自适应压缩自编码器包括编码器、熵模型和解码器;如图4所示,所述处理模块330,具体用于:基于所述原始图像中任一所述区域图像在图像压缩过程中所需的有效通道的通道数量,确定所述编码器的各个卷积神经变换单元需要的有效通道的通道数量;所述区域图像对应的通道数量用于表征所述编码器输出的目标潜在表示对应的通道数量;按照所述编码器中各个卷积神经变换单元需要的有效通道的通道数量,对所述区域图像进行神经网络变换,得到所述区域图像的目标潜在表示;将所述目标潜在表示输入所述熵模型中的编码单元进行数据编码,得到用于网络传输的目标码流;将所述目标码流输入所述熵模型中的解码单元进行数据解码,恢复出所述目标潜在表示;将恢复出的所述目标潜在表示输入所述解码器进行神经网络反变换,得到解压缩后的目标重建图像。
[0137]
在本技术实施例中,先将获取模块310获取到的原始图像进行切割得到多个区域图像,并分别根据确定模块320确定各个区域图像在图像压缩过程中所需的有效通道的通道数量,进而,通过处理模块330将原始图像以及原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。本技术通过空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,可以在保证解压缩后的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
[0138]
基于同一申请构思,参见图5所示,为本技术实施例提供的一种电子设备500的结构示意图,包括:处理器510、存储器520和总线530,所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过所述总线530进行通信,所述机器可读指令被所述处理器510运行时执行如上述实施例中任一所述的图像压缩方法的步骤。
[0139]
具体地,所述机器可读指令被所述处理器510执行时可以执行如下处理:获取待压缩的原始图像;将所述原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量;将所述原始图像以及所述原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。
[0140]
在本技术实施例中,先将获取到的原始图像进行切割得到多个区域图像,并分别确定各个区域图像在图像压缩过程中所需的有效通道的通道数量,进而,通过将原始图像以及原始图像的各个区域图像分别对应的通道数量输入训练好的空域自适应压缩自编码
器,得到所述原始图像经由神经网络变换后的目标潜在表示和目标重建图像。本技术通过空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,可以在保证解压缩后的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
[0141]
基于同一申请构思,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的图像压缩方法的步骤。
[0142]
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述图像压缩方法,通过空域自适应压缩自编码器对原始图像的各个区域图像分别按照各自适配的特征通道数进行图像压缩,可以在保证解压缩后的目标重建图像满足一定质量前提下,显著提升图像压缩过程中的计算效率,可以同时兼顾失真度和编码开销的联合优化。
[0143]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本技术所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0146]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0147]
以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1