论文地址:https://arxiv.org/pdf/2001.06580.pdf
代码地址:暂未公布
摘要
基于重要性图(imporatnce map)结构来依据图像内容显著性来实现位分配(bit allocation)问题已经有不少研究了,目前,在低bpp下非重要性区域不充分的位分配导致图像严重失真,这也阻碍了基于内容加权的图像压缩方法。本文基于前者的基础上设计了一种新的重要性图结构以实现可微调的模型,在不用重新微调训练的情况下,可以得到不同bpp的模型,特别是针对低码率情况。实验证实了本文方法在bpp=0.5时,在Kodak数据集上MSSSIM指标比当下最新的方法高出10.3%。
本文的主要贡献
1. 针对GAN训练方法下的非重要性区域重构结果,作者发现非重要性区域的未分配严重的限制了在低bpp下基于内容的压缩算法的表现;
2. 不同于其他方法使用多个复杂网络来生成语义图与mask,作者使用一个简单的网络来识别图像中的重要区域并生成重要性图来引导未分配;
3. 与参考文献[20]不同的是,作者不只是在编码器中使用多尺度结构,在判别起中同样使用该结构。对于编码端和解码端中不同尺寸的目标,对称的多尺度结构更具有自适应性;
4. 作者提出了可调性的系统。作者通过一个超参数n而不是重新训练模型即可得到不同压缩率的模型。
作者提出的模型
模型结构
如图1所示,上端是作者模型基本结构,下端是极限压缩模型的基本结构。具体的模型结构如图2所示。
其中编码器中的多尺度金字塔解构模型如图3所示。
掩码模块
掩码模块是本文方法最核心的模块。掩码是由重要性图生成的,其具体的处理过程如图5所示。
如上图所示,重要性图的生成过程为:w -->卷积网络 -->y -->归一化 -->y_hat --> sigmoid() -->importance map: m,其中最核心和关键的处理是归一化阶段,归一化的实现方式如下:
其中表示矩阵y中i行j列的值,
和
分别为矩阵y的均值和方差。为了实现模型不用进行重新训练而能够可微调得到不同bpp,这里对均值
进行修改,加入超参数
,使用
代替
,其中
是一个在范围[-2,2]内的随机数,在模型训练时,每一个batch的训练
都会重新赋值。
在得到重要性图m之后,通过下面的变换方式,将2D的m转换为3D的mask(即).
针对图像中重要性的区域,图4展示了一个样本的inportance map.
正如上图所示,左侧(a)列上为原图,下为重要性图。右侧(b)为由重要性图生成的mask的各个通道(此处以chennel=16为例)的可视化展示。可以看出,随着通道数的增加,比特位主要分配给脸和身体区域,而不是背景区域。
量化
量化采用其他方法常用的最近邻量化方法,设定量化中心,量化计算方式如下:
其中
。
熵编码
对于编码后的z,需要对其进行熵编码。因为掩码区域为0,所以只需要编码非掩码区域,熵编码采用简单的哈夫曼编码。
编码器与解码器
编码器与解码器的结构图2有具体细节。
判别器
判别器与编码器相似也采用多尺度金字塔结构,具体结构见图2.
损失函数
损失函数影响着模型的效果,故其也很重要,本文方法的损失函数由对抗损失与失真损失构成,具体如下:
其中失真损失(公式第二项)采用的是MSE损失。
实验结果
本文方法以及其他方法在Kodak数据集上的表现。
在Kodak数据集上,本文方法在低bpp下,MSSSIM与PSNR都优于BPG。
针对可微调的超参数n,在Kodak数据集上,n在[-2,2]范围中,模型的bpp可以实现在[0.005,0.4]的范围内的多个码率。