可逆自编码器、编解码方法以及图像压缩方法、装置与流程

文档序号:20679804发布日期:2020-05-08 18:16阅读:377来源:国知局
可逆自编码器、编解码方法以及图像压缩方法、装置与流程

本发明属于数字图像处理领域和图像压缩领域,具体地说,涉及的是一种基于提升结构的可逆自编码器,基于提升结构的可逆自编码方法以及采用可逆自编码方法的图像压缩方法、图像压缩装置。



背景技术:

近年来,深度神经网络在图像处理领域大放异彩,在多种图像处理任务上都取得了令人惊异的成果。其中,在图像压缩方向上,一些利用深度神经网络代替传统方法中的变换、量化及熵编码模块,实现了端到端的图像压缩方法。这类方法在图像的主观评价指标下表现较好,达到相同ms-ssim值的条件下,端到端的图像压缩方法通常可以相对hevc的帧内编码方法节省30%-50%的码流开销。同时,在峰值信噪比(psnr)为代表的客观指标下,端到端的图像压缩也可以达到接近hevc的帧内编码方法相近的码流开销。

现有的自编码器(autoencoder)一般包含编码单元和解码单元两部分,虽然端到端的方法带来了性能上的巨大提升,但是这类方法通常包含了大量需要训练的神经网络参数,因此会占用大量的存储和计算资源。以当前领先的某端到端图像压缩方法为例,与hevc的帧内编码方法相比,需要多占用约667倍的储存空间与约176倍的计算开销来解码相同的图像。因此,对于端到端的图像压缩方法,需要引入新的方法减少其储存空间开销与计算开销。

经过对现有技术的文献检索发现,fabianmentzer,eirikuragustsson,michaeltschannen,radutimofte和lucvangool在2018年的ieeeconferenceoncomputervisionandpatternrecognition会议上发表的"conditionalprobabilitymodelsfordeepimagecompression"一文中提出了一种方法,它通过端到端的方式优化神经网络参数,对图像进行压缩,利用了多层连接的残差单元,以达到对图像特征进行非线性特征变换的目的。这种方法相比传统的图像压缩方法实现了端到端的优化,实现了各模块参数之间的联合优化,但参数量也随着性能提升而大量增加。相对传统法,该方法的存储空间增加了上百倍。



技术实现要素:

本发明针对上述问题,提供了一种可逆自编码器、编解码方法以及图像压缩方法、装置,可以替代在端到端图像压缩方法中占据了大量参数的自编码器结构,实现编码器端与解码器端的参数复用,可节省一半的存储开销。

根据本发明的第一方面,提供一种基于提升结构的可逆自编码器的编码单元,包括:

编码信号分离模块,该模块将输入的图像或高维信号分离为双路子信号;

级联可逆编码模块,该模块包括多级基于提升结构的可逆编码子模块,将所述编码信号分离模块分离得到的为双路子信号做分解,前一级所述可逆编码子模块的双路输出作为后一级所述可逆编码子模块的输入;

编码信号合成模块,该模块将通过所述级联可逆编码模块处理后的双路信号重新合成为一路信号。

可选地,所述可逆编码子模块包括:

基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对双路输入信号中的一路进行变换,并与另一路输入进行求和操作,获得对应这一路输入的输出,作为新的双路输出信号的一路;

基于卷积网络的更新算子,该算子将上述预测算子和求和操作所生成的一路输出作为输入,利用卷积网络的非线性拟合能力,自适应地进行变换,并与输入信号的另一路输入做求和操作,作为新的双路输出信号的第二路;

可选地,基于提升结构的可逆自编码器的编码单元还包括:

网络调控模块,该模块控制所述级联可逆编码模块的级数和每一个可逆编码子模块的变换属性。

根据本发明的第二方面,提供一种基于提升结构的可逆自编码器的编码方法,包括:

将输入的图像或高维信号分离;

采用级联可逆编码模块将分离得到的信号进行分解,级联可逆编码模块包括多级基于提升结构的可逆编码子模块,其中前一级所述可逆编码子模块的双路输出作为后一级所述可逆编码子模块的输入;

将通过所述级联可逆编码子模块处理后的双路信号重新合成为一路信号。

可选地,可逆自编码方法还包括:控制所述级联可逆编码模块的级数和每一个可逆编码子模块的变换属性。

根据本发明的第三方面,提供一种基于提升结构的可逆自编码器的解码单元,包括:

解码信号分离模块,该模块将输入的信号分离为双路子信号;

级联可逆解码模块,该模块包含多级基于提升结构的可逆解码子模块,对编码分解的信号进行重构,前一级可逆解码子模块的输出作为后一级可逆解码子模块的输入;

解码信号合成模块,该模块将通过所述级联可逆解码模块处理后的双路子信号重新合成为一路信号。

可选地,所述可逆解码子模块包括:

基于卷积网络的更新算子,该算子利用卷积网络的非线性拟合能力,自适应地将双路输入信号中的一路变换,并与另一路输入求差,作为输出双路新信号中的一路;

基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对已生成的一路新信号做变换,并与输入中的另一路输入求差,作为输出双路新信号中的第二路。

根据本发明的第四方面,提供一种基于提升结构的可逆自编码器的解码方法,包括:

将高维信号分离为双路子信号;

采用级联可逆解码模块对编码分解的信号进行重构,该级联可逆解码模块包含多级基于提升结构的可逆解码子模块,前一级可逆解码子模块的双路输出作为后一级可逆解码子模块的输入;

将通过所述级联可逆解码模块处理后的双路信号重新合成为一路信号。

根据本发明的第五方面,提供一种可逆自编码器,包括:

编码信号分离模块,该模块将输入的图像或高维信号分离;

级联可逆编码模块,该模块包括多级基于提升结构的可逆编码子模块,将所述信号分离模块分离得到的信号做分解,前一级所述可逆编码子模块的双路输出作为后一级所述可逆编码子模块的输入;

编码信号合成模块,该模块将通过所述级联可逆编码模块处理后的双路信号重新合成为一路信号;

解码信号分离模块,该模块将所述编码信号合成模块的合成信号分解为双路子信号;

级联可逆解码模块,该模块对所述解码信号分离模块分解后得到的双路子信号进行重构,该模块包含多级基于提升结构的可逆解码子模块,前一级可逆解码子模块的双路输出作为后一级可逆解码子模块的输入;所述级联可逆解码模块的级数与所述级联可逆编码模块中的可逆编码子模块数量相同,所述可逆解码子模块与所述可逆编码子模块一一对应,对应的一对所述可逆解码子模块与所述可逆编码子模块中的参数相同,其中,所述级联可逆解码模块中的可逆解码子模块排列顺序与所述级联可逆编码模块中的可逆编码子模块的排列顺序相反;

解码信号合成模块,该模块将通过所述级联可逆解码模块处理后的双路信号重新合成为一路信号。

可选地,所述可逆编码子模块包括:

基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对双路输入信号中的一路进行变换,并与另一路输入进行求和操作,获得对应这一路输入的输出,作为新的双路输出信号的一路;

基于卷积网络的更新算子,该算子将上述预测算子和求和操作所生成的一路输出作为输入,利用卷积网络的非线性拟合能力,自适应地进行变换,并与输入信号的另一路输入做求和操作,作为新的双路输出信号的第二路;

所述可逆解码子模块复用所述可逆编码子模块中的基于卷积网络的预测算子和基于卷积网络的更新算子;其中:通过参数共享,实现可逆解码子模块中的基于卷积网络的预测算子和基于卷积网络的更新算子调用可逆编码子模块中的预测算子和更新算子的参数。

可选地,所述可逆自编码器,还包括:

网络调控模块,该模块控制所述级联可逆编码模块以及所述级联可逆解码模块的级数和每一对所述可逆编码子模块与所述可逆编码子模块的变换属性。

根据本发明的第六方面,提供一种可逆自编解码方法,包括:

将输入的图像或高维信号分离为双路子信号;

采用级联可逆编码模块将分离得到的双路子信号进行分解,级联可逆编码模块包括多级基于提升结构的可逆编码模块,其中前一级所述可逆编码模块的双路输出作为后一级所述可逆编码模块的输入;

将通过所述级联可逆编码模块处理后的双路信号重新合成为一路信号,得到合成的高维信号;

将所述合成的高维信号分离为双路子信号,适配级联解码模块的输入;

采用级联可逆解码模块对所述合成的高维信号分离后的双路子信号进行重构,该级联可逆解码模块包含多级基于提升结构的可逆解码模块,前一级可逆解码模块的双路输出作为后一级可逆解码模块的输入;其中:所述级联可逆解码模块的级数与所述级联可逆编码模块中的可逆编码模块数量相同,所述可逆解码模块与所述可逆编码模块一一对应,对应的一对所述可逆解码模块与所述可逆编码模块中的参数相同,其中,所述级联可逆解码模块中的可逆解码模块排列顺序与所述级联可逆编码模块中的可逆编码模块的排列顺序相反;

将通过所述级联可逆编码模块以及所述级联可逆解码模块处理后的双路信号重新合成为一路信号。

可选地,所述可逆自编解码方法还包括:

控制所述级联可逆编码模块以及所述级联可逆解码模块的级数和每一对所述可逆解码模块与所述可逆编码模块的变换属性。

根据本发明的第七方面,提供一种图像压缩方法,采用上述的任一项所述的可逆自编解码方法。

可选地,所述图像压缩方法,包括:

输入图像经过卷积神经网络的卷积层和relu层实现升采样,然后进行信号分离,得到原始分离信号;

采用级联可逆编码模块对所述原始分离信号进行前向编码,生成双路特征图;

将所得双路特征图合成一路特征图;

对生成的所述特征图进行量化、熵编码,获得二进制码流;

对所述二进制码流解码,得到重构的特征图;

将重构特征图分离为两路特征图;

采用级联可逆解码模块对所述重构的特征图进行反向解码,得到双路重构信号;

将反向解码得到的双路重构信号合成,并通过卷积层和relu层实现降采样重构图像。

根据本发明的第八方面,提供一种图像压缩装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可用于执行上述任一项的图像压缩方法。

与现有技术相比,本发明具有以下至少一种有益效果:

本发明上述的基于提升结构的可逆自编码器的编码单元、解码单元和方法,实现了编码单元与解码单元中的编码子模块与解码子模块的一一对应,为进一步地参数复用提供了可能性。

本发明上述的基于提升结构的可逆自编码器和编解码方法,实现了编码端与解码端的参数复用。可逆自编码器包括编码信号分离模块、级联可逆编码模块、编码信号合成模块、解码信号分离模块、级联可逆解码模块构成、解码信号合成模块,该结构可以替代在端到端图像压缩方法中占据了大量参数的自编码器结构,实现编码器端与解码器端的参数复用,可节省一半的存储开销。

本发明上述的图像压缩方法和装置,采用上述可逆自编解码方法,与基准神经网络相比,在达到相同压缩效果的前提下可以减少一半的参数量大大降低了存储开销。另外,上述的图像压缩方法和装置在训练过程中较基准神经网络减少了约一半的可学习参数,减少了训练过程中的计算量,提高了处理速度。

附图说明

图1为本发明一实施例中的基于提升结构的可逆自编码器的编码单元的结构框图;

图2为本发明一实施例中的可逆自编码器的编码方法的流程图;

图3为本发明一实施例中的基于提升结构的可逆自编码器的解码单元的结构框图;

图4为本发明一实施例中的可逆自编码器的解码方法的流程图;

图5为本发明一实施例中的可逆自编码器模块框图;

图6为本发明一实施例中的可逆自编解码方法流程图;

图7为本发明一实施例中的可逆自编解码方法的原理图;

图8为本发明一实施例中的图像压缩方法的流程图;

图9为本发明一实施例中的图像压缩方法中使用的可逆自编码器的编码单元的详细原理图;

图10为本发明一实施例中的图像压缩方法中使用的可逆自编码器的解码单元的详细原理图;

图11是本发明一实施例中图像压缩方法的试验效果图。

具体实施方式

下面结合具体实施例和附图,对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

如图1所示,为本发明一实施例中的基于提升结构的可逆自编码器的编码单元的结构框图。基于提升结构的可逆自编码器的编码单元包括:编码信号分离模块、级联可逆编码模块、编码信号合成模块,其中:编码信号分离模块将输入的图像或高维信号分离;级联可逆编码模块包括多级基于提升结构的可逆编码子模块,将编码信号分离模块分离得到的信号做分解,前一级可逆编码子模块的双路输出作为后一级可逆编码子模块的输入;编码信号合成模块将通过级联可逆编码模块处理后的双路信号重新合成为一路信号。

在该实施例中可逆编码子模块包括:基于卷积网络的预测算子和基于卷积网络的更新算子,其中:基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对双路输入信号中的一路进行变换,并与另一路输入进行求和操作,获得对应这一路输入的输出,作为新的双路输出信号的一路;基于卷积网络的更新算子,该算子将上述预测算子和求和操作所生成的一路输出作为输入,利用卷积网络的非线性拟合能力,自适应地进行变换,并与输入信号的另一路输入做求和操作,作为新的双路输出信号的第二路。

本发明上述实施例的基于提升结构的可逆自编码器的编码单元可以实现将输入信号变换到稀疏的变换域上表示,为后续的量化、编码阶段作铺垫;同时,编码单元所包含的提升结构为复用参数提供了可能性。

在一个优选实施例中,可逆自编码器的编码单元包括:编码信号分离模块、级联可逆编码模块、编码信号合成模块以及网络调控模块,编码信号分离模块、级联可逆编码模块、编码信号合成模块作用于上述实施例中完全相同,网络调控模块用于控制级联可逆编码模块的级数和每一个可逆编码子模块的变换属性,其中变换属性包括网络所对应的变换的上下界。通过调节该模块中的参数可以调节可逆自编码器的编码单元所需要训练参数的数量,在一定范围内增加参数,可以有效地提升压缩性能。另外,网络调控模块通过调节变换上下界可以使得整个变换对噪声稳定,使编码更加稳定。

上述实施例中,编码信号分离模块将输入信号按照位置分为两个等维度的信号。在实施时,针对高光谱图像等多通道的信号,在通道维度上划分;针对自然图像,根据像素位置划分。

上述实施例中,编码信号合成模块为编码信号分离模块的逆变换,即,将输入信号通过编码信号分离模块后直接输入编码信号合成模块即可得到原始信号。

图2为本发明一实施例中的可逆自编码器的编码方法的流程图。该方法可以用于上述图1所示的基于提升结构的可逆自编码结构中。参照图2所示,基于可逆自编码器的编码方法包括如下步骤:将输入的图像或高维信号分离;采用级联可逆编码模块将分离得到的信号进行分解,级联可逆编码模块包括多级基于提升结构的可逆编码子模块,其中前一级可逆编码子模块的双路输出作为后一级可逆编码子模块的输入;将通过级联可逆编码子模块处理后的双路信号重新合成为一路信号。

相应的,可逆编码子模块包含基于卷积网络的预测算子和基于卷积网络的更新算子,将双路输入记为a0和b0,基于卷积网络的预测算子和更新算子分别记为则可逆编码子模块中的具体操作如下:

上述公式中a1和b1是基于提升结构的可逆编码子模块的双路输出,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合。

本发明上述实施例的可逆自编码器的编码方法可以实现将输入信号变换到稀疏的变换域上表示,为后续的量化、编码阶段作铺垫;同时,编码单元所包含的提升结构为复用参数提供了可能性。

在部分优选实施例中,基于可逆自编码器的编码方法在图2所示流程的基础上,可以进一步包括:控制级联可逆编码模块的级数和每一个可逆编码子模块的变换属性。其中变换属性包括网络所对应的变换的上下界。通过调节自编码器的编码单元所需要训练参数的数量,在一定范围内增加参数,可以有效地提升压缩性能。另外,网络调控模块通过调节变换上下界可以使得整个变换对噪声稳定,使编码更加稳定。

图3为本发明一实施例的基于提升结构的可逆自编码器的解码单元的结构框图,所述解码单元与图1中所示的编码编码单元可以配合使用。如图3所示,基于提升结构的可逆自编码器的解码单元包括:解码信号分离模块、级联可逆解码模块、解码信号合成模块,解码信号分离模块将输入的信号分离为双路子信号;级联可逆解码模块包含多级基于提升结构的可逆解码子模块,对双路子信号进行重构,前一级可逆解码子模块的双路输出作为后一级可逆解码子模块的输入;解码信号合成模块将通过级联可逆解码模块处理后的双路信号重新合成为一路信号。

具体的,级联可逆解码模块中可逆解码子模块包括:基于卷积网络的预测算子和基于卷积网络的更新算子,其中:基于卷积网络的更新算子,该算子利用卷积网络的非线性拟合能力,自适应地将双路输入信号中的一路变换,并与另一路输入求差,作为输出双路新信号中的一路;基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对已生成的一路新信号做变换,并与输入中的另一路输入求差,作为输出双路新信号中的第二路。其中:

其中,基于卷积网络的预测算子和基于卷积网络的更新算子采用多层卷积神经网络实现;其中,为某可逆解码子模块的双路输入,为某可逆解码子模块的双路输出,为分别对b0和a1进行提升和预测变换,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合。

本发明上述实施例的可逆自编码器的解码单元可以实现将经过编码单元正向编码的信号变换回原始信号域;同时,解码单元中的参数可以复用上述实施例中的编码单元中的参数,通过将可逆编码子模块与可逆解码子模块一一对应,实现将图片恢复的同时节省一半的参数开销。

图4为本发明一优选实施例中的可逆自编码器的解码方法流程图。如图4所示,基于可逆自编码器的解码方法包括:将高维信号分离为双路子信号;采用级联可逆解码模块对编码分解的信号进行重构,该级联可逆解码模块包含多级基于提升结构的可逆解码子模块,前一级可逆解码子模块的双路输出作为后一级可逆解码子模块的输入;将通过级联可逆解码模块处理后的双路信号重新合成为一路信号。

具体的,可逆解码子模块包括基于卷积网络的预测算子和基于卷积网络的更新算子,具体操作如下:

其中,所述基于卷积网络的预测算子和基于卷积网络的更新算子采用多层卷积神经网络实现;其中,为某可逆解码模块的双路输入,为某可逆解码模块的双路输出,为分别对b0和a1进行提升和预测变换,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合。

本发明上述实施例的基于可逆自编码器的解码方法可以实现将经过编码方法编码的信号变换回原始信号域;同时,解码方法中的参数可以复用上述实施例的编码方法中的参数,实现将图片恢复的同时节省一半的参数开销。

图5为本发明一实施例中的可逆自编码器的结构框图。如图5所示,该可逆自编码器包括:编码信号分离模块、级联可逆编码模块、编码信号合成模块、解码信号分离模块、级联可逆解码模块、解码信号合成模块,其中:编码信号分离模块将输入的图像或高维信号分离;级联可逆编码模块包括多级基于提升结构的可逆编码子模块,将编码信号分离模块分离得到的信号做分解,前一级可逆编码子模块的双路输出作为后一级可逆编码子模块的输入;编码信号合成模块将通过所述级联可逆编码模块处理后的双路信号重新合成为一路信号;解码信号分离模块将合成的高维信号分离为双路信号,适配级联解码模块的输入;级联可逆解码模块对编码分解的信号进行重构,该模块包含多级基于提升结构的可逆解码子模块,前一级可逆解码子模块的双路输出作为后一级可逆解码子模块的输入;解码信号合成模块将通过级联可逆编码模块以及级联可逆解码模块处理后的双路信号重新合成为一路信号。

上述实施例中的可逆自编码器,级联可逆解码模块的级数与级联可逆编码模块中的可逆编码子模块数量相同,可逆解码子模块与可逆编码子模块一一对应,对应的一对可逆解码子模块与可逆编码子模块中的参数相同,级联可逆解码模块中的可逆解码子模块排列顺序与级联可逆编码模块中的可逆编码子模块的排列顺序相反。

具体的,上述可逆编码子模块包括:基于卷积网络的预测算子,该算子利用卷积网络的非线性拟合能力,自适应地对双路输入信号中的一路进行变换,并与另一路输入进行求和操作,获得对应这一路输入的输出,作为新的双路输出信号的一路;基于卷积网络的更新算子,该算子将上述预测算子和求和操作所生成的一路输出作为输入,利用卷积网络的非线性拟合能力,自适应地进行变换,并与输入信号的另一路输入做求和操作,作为新的双路输出信号的第二路。将对于双路输入记为a0和b0,基于卷积网络的预测算子和更新算子分别记为则可逆编码子模块中的具体操作如下:

上述公式中a1和b1是基于提升结构的可逆编码子模块的双路输出,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合;

基于提升结构的可逆解码子模块复用编码子模块中的基于卷积网络的预测算子和基于卷积网络的更新算子,具体操作如下:

其中,所述基于卷积网络的预测算子和基于卷积网络的更新算子采用多层卷积神经网络实现;其中,为某可逆解码模块的双路输入,为某可逆解码模块的双路输出,为分别对b0和a1进行提升和预测变换,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合。

具体的,上述实施例中,可逆解码子模块与可逆编码子模块一一对应及排列顺序如下:

记n级级联可逆编码模块中的可逆编码子模块集合为{ai(·,·;θi,μi)}1≤i≤n,且第i模块实现的操作记为:

[ai,bi]=ai(ai-1,bi-1;θi,μi)

此时,n级级联可逆编码模块实现:

[an,bn]=an(an-1(…a1(a0,b0;θ1,μ1)…;θn-1,μn-1);θn,μn)

而可逆解码子模块集合为{bi(·,·;θi,μi)}1≤i≤n,且第i模块实现的操作记为:

则n级级联可逆解码模块实现:

其中,{θi,μi}1≤i≤n为可逆解码子模块与可逆编码子模块复用的可学习参数。

本发明上述实施例的基于提升结构的可逆自编码器,实现了编码端与解码端的参数复用,可以替代在端到端图像压缩方法中占据了大量参数的自编码器结构,实现编码器端与解码器端的参数复用,可节省一半的存储开销。

在部分优选实施例中,可逆自编码器还可以进一步包括:网络调控模块,该模块控制级联可逆编码模块以及级联可逆解码模块的级数和每一对可逆解码子模块与可逆编码子模块的变换属性。其中,网络调控模块中的变换属性包括网络所对应的变换的上下界。进一步的,网络调控模块通过基于卷积神经网络的预测算子和更新算子所对应的变换上下界以控制控制每一对编码/解码子模块的变换上下界。具体的,通过在训练过程中在损失函数上增加与预测算子、更新算子中的卷积层的卷积核二范数成正比的惩罚项实现。

上述实施例中,编码或解码信号分离模块将输入信号按照位置分为两个等维度的信号。在实施时,针对高光谱图像等多通道的信号,在通道维度上划分;针对自然图像,根据像素位置划分。

上述实施例中,编码或解码信号合成模块为信号分离模块的逆变换,即,将输入信号通过编码或解码信号分离模块后直接输入编码或解码信号合成模块即可得到原始信号。

图6为本发明一实施例中的可逆自解码方法的流程图。该可逆自编解码方法可以用于上述图5所示的可逆自编码器中。

具体的,如图6所示的实施例,一种基于提升结构的可逆自编解码方法,包括如下步骤:将输入的图像或高维信号分离;采用级联可逆编码模块将分离得到的信号进行分解,级联可逆编码模块包括多级基于提升结构的可逆编码模块,其中前一级可逆编码模块的双路输出作为后一级可逆编码模块的输入;将通过所述级联可逆编码模块处理后的双路信号重新合成为一路信号;将合成的高维信号分离为双路信号,适配级联解码模块的输入;采用级联可逆解码模块对编码分解的信号进行重构,该级联可逆解码模块包含多级基于提升结构的可逆解码模块,前一级可逆解码模块的双路输出作为后一级可逆解码模块的输入;将通过级联可逆编码模块以及级联可逆解码模块处理后的双路信号重新合成为一路信号。

参照图7所示,上述实施例中,级联可逆解码模块的级数与级联可逆编码模块中的可逆编码模块数量相同,可逆解码模块与可逆编码模块一一对应,对应的一对可逆解码模块与可逆编码模块中的参数相同,其中,级联可逆解码模块中的可逆解码模块排列顺序与级联可逆编码模块中的可逆编码模块的排列顺序相反;

具体的,可逆编码子模块包含基于卷积网络的预测算子和基于卷积网络的更新算子;将对于双路输入记为a0和b0,基于卷积网络的预测算子和更新算子分别记为则可逆编码子模块中的具体操作如下:

上述公式中a1和b1是基于提升结构的可逆编码子模块的双路输出,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合;

上述实施例中,基于提升结构的可逆解码子模块复用编码子模块中的基于卷积网络的预测算子和基于卷积网络的更新算子,具体操作如下:

其中,所述基于卷积网络的预测算子和基于卷积网络的更新算子采用多层卷积神经网络实现;其中,为某可逆解码模块的双路输入,为一可逆解码模块的双路输出,为分别对b0和a1进行提升和预测变换,μ和θ为预测算子和更新算子对应的卷积网络的可学习参数集合。

在部分优选实施例中,上述的可逆自编解码方法还可以进一步包括:控制级联可逆编码模块以及级联可逆解码模块的级数和每一对可逆解码模块与可逆编码模块的变换属性。其中,网络调控模块中的变换属性包括网络所对应的变换的上下界。进一步的,网络调控模块通过基于卷积神经网络的更新算子和提升算子所对应的变换上下界以控制控制每一对编码/解码子模块的变换上下界。具体的,通过在训练过程中在损失函数上增加与更新算子、预测算子中的卷积层的卷积核二范数成正比的惩罚项实现。

本发明上述实施例的可逆自编解码方法,实现了编码端与解码端的参数复用,可以替代在端到端图像压缩方法中占据了大量参数的自编码器结构,实现编码器端与解码器端的参数复用,可节省一半的存储开销。

图8为本发明一实施例中的图像压缩方法的流程图,如图8所示,一种采用上述可逆自编解码方法进行的图像压缩方法,与基准神经网络相比,在达到相同压缩效果的前提下可以减少一半的参数量与计算量,大大降低了存储开销,提高了处理速度。

具体的,采用上述可逆自编解码方法进行的图像压缩方法在实施时,可以按照以下步骤进行:

s1,输入图像经过卷积神经网络的卷积层和relu层实现升采样,然后进行信号分离,得到原始分离信号;

s2,采用级联可逆编码模块对原始分离信号进行前向变换,生成特征图;

s3,将所得双路特征图合成一路特征图;

s4,对生成的特征图进行量化、熵编码,获得二进制码流;

s5,对二进制码流解码,得到重构特征图;

s6,将重构特征图分离为两路特征图;

s7,采用级联可逆解码模块对重构的两路特征图进行反向变换,得到双路信号;

s8,将反向变换得到的双路信号合成,并通过卷积层和relu层实现降采样重构图像,完成图像压缩。

在一些实施例中,量化方式是位平面编码,熵编码是自适应算数编码或者基于上下文的自适应算数编码。在一些实施例中,上下文建模的方式是神经网络或特征提取方法。

上述图像压缩方法的实施例中,有关可逆自编解码方法中技术特征,可以参照上述实施例中记载和现有技术进行,不再赘述。

基于上述的图像压缩方法,在另一实施例中,相应的提供一种图像压缩装置,该装置包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时可用于执行上述任一项的图像压缩方法。

如图8、9、10所示,为了更为详细的对上述的图像压缩方法以及其中涉及的各编码、解码技术进行说明,以下对上述的压缩图像方法的步骤一一进行展开,应该理解的是,这只是为了更好理解本发明的技术方案,本发明的实施例并不局限于以下特定情况。如图8所示,图像压缩方法的总体步骤涉及以下部分。

1.升采样与信号分离

自然图像是高维物体在二维平面上的投影,为了将充分利用卷积神经网络对高维数据结构的处理优势,在进行信号分离步骤前,可以利用卷积层与relu层实现对输入图像的升采样。

将一层卷积层与relu层作为一组,本实施例中用到了两组该结构实现升采样。其中,每个卷积层均实现对图像在长和宽上做步长为2的下采样,在通道上实现上采样。具体地,在通过第一个卷积层后,特征图的通道数变为64,在第二个卷积层过后,特征图的通道数变为128。

在升采样后,将特征图按照通道分离,前64通道组成一组特征图,记作a,后64通道组成另一路特征图,记为b。该两组特征图即级联可逆编码模块的双路输入。

2.级联可逆编码模块

如图9所示,级联可逆编码模块以可逆编码子模块为单元,通过级联该单元组成。该单元中包含基于卷积网络的预测算子和基于卷积网络的更新算子。将对于双路输入记为a0和b0,基于卷积网络的预测算子和更新算子分别记为则可逆编码子模块中的具体操作如下:

具体地,预测算子和更新算子中使用的卷积网络可能包含卷积层、非线性层和batch-normalization层。本实施例中,每个可逆编码子模块中的预测算子和更新算子的结构均相同,均由卷积层和relu层组成。假设输入信号为x,则relu层的具体实现为:

相应的,预测算子的结构如下:

1)卷积层,四维卷积核大小为3×3×64×64,步长为1;

2)relu层;

3)卷积层,四维卷积核大小为3×3×64×64,步长为1;

4)relu层;

5)卷积层,四维卷积核大小为3×3×64×64,步长为1;

其中,卷积层的参数均开放复用权限,便于解码模块调用。

而更新算子也采用相同的上述结构,在一些实施例中更新算子与预测算子的参数复用,以实现正交变换,但本实施例中并不复用。本实施例中使用了8层可逆编码子模块构造级联可逆编码模块。具体的,按顺序将8个模块记为a1(·,·;θ1,μ1),a2(·,·;θ2,μ2),...,a8(·,·;θ8,μ8),其中,编码子模块的参数与输入无关,故用’·’代表任意输入,则整个级联可逆编码模块可以记为

[a8,b8]=a8(a7(…a1(a0,b0;θ1,μ1)…;θ7,μ7);θ8,μ8)

其中涉及的参数集对{θi,ui}1≤i≤8,在级联可逆解码模块中被使用。

3.量化、编码过程

量化、编码过程是将多维特征图转化为二进制码流的过程。在实施中有多种方案可以采用,包括位平面编码、自适应算数编码等。在本实施例中,使用的量化方法为聚类方法,级联编码模块输出的特征图中共有n个符号(记为{zi|1≤i≤n}),将该n个符号聚类至8个中心点(记为{cj|1≤j≤8}),则符号zi将按以下标准被量化为

而为了方便端到端训练,反向传播时将利用下式软量化替代:

式中的σ为软量化参数,可以调整分布以逼近zi分布,提高编码效率。而具体的编码过程则使用了基于神经网络的上下文编码,通过神经网络对符号间的条件概率做预测,用以更新算数编码中的概率。

4.反量化、反编码过程

反量化和反编码过程为量化、编码过程的逆过程,得到恢复的双路重建特征图为

5.级联可逆解码模块

如图10所示,级联可逆解码模块是级联可逆编码子模块的逆过程,以可逆解码子模块为单元,并且复用编码模块中的基于卷积网络的预测算子和基于卷积网络的更新算子,具体操作如下:

与上述包含8个单元的级联可逆编码子模块相对应,按信号通过顺序将8个可逆解码子模块记为b8(·,·;θ8,μ8),...,b2(·,·;θ2,μ2),b1(·,·;θ1,μ1),则整个级联可逆编码模块可以记为

上式表明了8个单元一一对应的方式。

6.信号合成与降采样

为了恢复重构图像,先将两路特征图按照通道合成,即将两组特征图按照通道串联在一起合成新的特征图。这个特征图具有128个通道,每个通道的长和宽均为原始图像的

与升采样过程相对应的,降采样过程中使用的是反卷积层和relu层。将一层反卷积层与relu层作为一组,本实施例中用到了两组该结构实现降采样。其中,每个卷积层均实现对图像在长和宽上做步长为2的上采样,在通道上实现下采样。具体地,在通过第一个卷积层后,特征图的通道数变为64,在第二个卷积层过后,特征图的通道数依据彩色/灰度图像变为3/1。

7.实验结果:

将本实施例中的编码端和解码端分离,将中间的二进制码流作为压缩文件存储。假设输入图像为h×w×c,中间的二进制码流为b位,则图像的压缩率为位每像素(bitperpixel,bpp),而图像质量则通过主观评价指标ms-ssim衡量。根据这两个指标,在测试集上计算平均值,即可画出图像压缩方法的压缩率-损失曲线。

为了验证本实施例方法的有效性,实验对比中加入了一个基于残差网络的基准网络,用来和本发明实施例中提出的基于提升结构的可逆自编码器结构作对比。具体的,其单元可以实现

其中,结构如下:

1)卷积层,四维卷积核大小为3×3×90×90,步长为1;

2)relu层;

3)卷积层,四维卷积核大小为3×3×90×90,步长为1;

4)relu层;

5)卷积层,四维卷积核大小为3×3×90×90,步长为1;

在编码端采用了8个此残差块替代级联可逆编码模块,同时,在解码端采用了8个此残差块替代级联可逆解码模块,但这些残差块并不复用参数。通过这种方式,保证基准模型的参数量大致为本实施例方法的一半。在本实施例中,基于提升结构的可逆自编码器结构具有约124万个参数,而用作对比的参考网络具有约291万个参数。可以得到如图11的实验结果。实验表明,本发明上述实施例中的编码器、解码器可以替代端到端图像压缩方法中占据了大量参数的自编码器、解码器结构,实现编码器端与解码器端的参数复用,可节省一半的存储开销。

需要说明的是,本发明提供的所述方法中的步骤,可以利用所述系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。上述各优选特征在互不冲突的情况下,可以任意组合使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1