论文解读之 One-to-Many Network for Visually Pleasing Compression Artifacts Reduction

论文题目:One-to-Many Network for Visually Pleasing Compression Artifacts Reduction



这是一篇针对图像压缩恢复的论文,近来的研究大多采用one-to-one的映射模式,利用逐像素的L2 loss进行优化训练,得到的结果往往过于平滑,丢失了较多的图像细节纹理信息,即便得到的结果拥有较高的PSNR,但是在视觉效果上不能令人满意,因此,作者提出了一个one-to-many的映射模式,采用3个loss:感知损失perceptual loss,naturalness loss, JPEG loss进行训练,然而,反卷积的结果通常呈现网格状(grid-like),作者提出了一个shift-and-average策略,解决网格状问题。


图像的压缩恢复是一个有损的过程,作者针对于JPEG压缩的恢复任务,目标是JPEG compression artifacts reduction。近年来,基于学习的相关深度学习方法,包括ARCNN、DDCN、D3等虽然在图像压缩领域取得了长足的进步,但是这些方法的结果呈现了过度的平滑和纹理细节模糊,并不能令人满意。


采用一个图像作为输出,首先将图像分为不重叠的图像块(block),随后对每个block进行DCT变换,对DCT变换的结果进行量化得到量化表。在处理完毕后,对处理结果进行反DCT变换,即可得到输出的结果。许多基于学习的方法,包括之前提到的ARCNN、D3、DDCN只是学习了一个one-to-one的映射模式,即一个压缩后的图像(输入)与原图(ground truth)的映射,但是由于每个人的主观偏好是不同的,一个输出结果,或许满足A的偏好,但是不能满足B的偏好,因此,作者设计了一个one-to-many的映射模式,输出多个候选结果,为用户提供一系列的高质量候选图,让用户选择他们所喜欢的结果。


然而,衡量输出结果的质量是一个困难的任务,通常采用的逐像素的L2 loss(MSE),因为L2 loss鼓励找到一个由已有像素值(input)到目标像素值(ground truth)的映射,但是,L2 loss是一个凸面函数,只有1个峰值,最终只能输出1个结果(也就是峰值),不符合one-to-many的设计思路,而且采用L2 loss这是1个many-to-one的设计思路,会导致不正确的结果,

这里解释一下为什么说L2 loss是many-to-one的策略,举例而言,假设有4个像素点,像素值分别为1,2,3,4,经过DCT量化后全部量化为数值1,那么采用L2 loss的话,无论怎么映射,那么最终这4个像素点都会被映射为同一个像素值(然而ground truth中这4个像素点的数值是不同的),如果采用L2 loss进行梯度下降训练,那么最终映射的结果会是4个像素点的平均值,在本例中,结果为(1+2+3+4)/4=2.5 显然2.5与4个像素点的原始数值均不相同,也就是得到错误的结果,这也就解释了为什么采用L2 loss输出的结果过于平滑,因为输出的结果是区域块的均值,大量的图像细节在均值过程中丢失,导致了最终的结果过于平滑。


此外,L2 loss不能很好地表现感知差别,例如,有两个一模一样的图,分别为A图和B图,修改A图中1个像素点的数值,那么在感官上,A图和B图仍然是一样的,但是对于L2 loss而言,这两个图则是不同的,甚至差别很大。

近来的研究表明,可以采用感知损失(perceptual loss)能更好的输出符合人的主观感知的结果。感知损失,即利用网络中得到的high-level特征进行损失计算,对网络参数进行调整,目前通常采用VGG的一部分层作为损失模型,例如,relu5_4之前的层为感知损失计算层,固定VGG中relu5_4之前的层的学习率,将图像压缩网络的输出结果与输出结果对应的ground truth同时进入感知损失网络,对得到的结果计算L2 loss(MSE),并对图像压缩网络进行反向传播调整参数,即为感知网络。

采用感知损失,与L2 loss相比,取得了比较成功的结果,然而,high-level特征对low-level的图像细节不敏感,得到的结果会有视觉上的模糊,纹理细节不够。


因此,作者又想到了生成对抗网络,GAN能产生较好的图像细节,输出的结果比较自然。

在论文中,作者采用了感知loss和GAN,提出一个one-to-many的网络,网络包括两个部分,proposal component与measure component,其中,proposal component输出一系列的结果候选,而measure component则评价结果的质量,包括感知损失(利用VGG 进行损失评估)输出感知结果,利用判别网络输出比较自然的结果,此外,作者发现利用感知损失和判别网络不足以输出好的结果,这两个loss均对图像颜色亮度细节不敏感,输出的结果的颜色分布与ground truth有区别,因此作者额外增加1个JPEG loss,利用JPEG量化表,对DCT系数进行规范化,以缓解结果图像亮度问题。同时,作者提出,当采用非凸的loss函数(非凸说明存在多个峰值,输出多个结果,也就是one-to-many),反卷积时会导致网格状的结果,因此作者提出一个shift-and-average策略去解决这个问题。整个架构如下图所示。


在网络的proposal component分支中,除了输入图像Y,作者还输出了一个辅助变量Z(一个标准偏差为1的以0为中心的正态分布),Y和Z都被输入网络,作一个非线性映射。由于图像压缩不是最优的,被JPEG编码器忽视的冗余信息可以在压缩后的图像中找到,因此,图像Y经过一个CNN可以有效地发现并利用这些信息去修复在量化过程中丢失的图像细节,同时,Z的存在为网络增加了随机性,鼓励网络产生较好的候选图像。


Y和Z同时进入2个分支(每个分支包含5个residual unint),2个分支的输出进行concat,随后进入1个由10个residual unit组成的网络,网络的输出经过上采样完成输出。至于为什么进行上采样,作者解释为,图像进入网络前进行了下采样,下采样可以减少计算量。

反卷积会带来损失,作者提出了shift-and-average策略,如下图所示,下图是1个1-D的sample,反卷积之后,得到结果A1,对A1进行shift 1个pixel得到A2,将A1与A2进行average,同样这个策略适用于2-D图像,可以shift right,shift down,shift right and down




在measure componet中,

1.perceptual loss:之前的研究表明,图像分类网络提取的特征可以很好的描述感知信息,低层特征倾向于保留photography accurate information,而高层特征对颜色、纹理、形状不敏感,感知损失通过采用VGGNET中relu5_4之前作为感知网络,



2.Naturalness Loss:尽管感知损失拥有高度的几何不变性和光度不变性,但是产生的结果依然平滑,因此作者引入了naturalness loss,在引入naturalness loss后,其实也就是一个GAN,proposal component F作为生成网络,建立一个额外的判别网络D,让D去判别F的输出结果是否自然,




从以上公式可以看出,生成网络F倾向于生成足够natural的图片,令判别网络D无法区分网络的输出结果与真实的ground truth。判别网络D倾向于避免被欺骗。

判别网络D的结构如下表所示:


3.JPEG loss:由于感知loss和naturalness loss对图像颜色不敏感,因此引入JPEG loss来保证输出结果的颜色分布。在图像压缩过程中,JPEG 编码器通过一个量化表划分输入图像的DCT系数,并将结果旋转至最近的整数(the JPEG encoder divides DCT coefficients of an input image by a quantization table, and then rounds the results to the nearst integet),JPEG解码器根据量化表进行解压缩(decompression),因此,压缩后的图像Y与相关的未压缩图像X满足以下关系:



则可以推出


根据公式5,作者提出了JPEG loss:


4.joint training for the one-to-many network

合并之前的3个loss:


训练优化采用梯度下降, λ 1 为1,λ 2 需要一些处理。整体而言,训练与GAN类似

首先,固定proposal component F,优化判别网络D

其次,固定判别网络D,优化网络F。 If an input patch is aligned with JPEG coding block boundaries, set λ 2 to 0.1; otherwise set λ 2 to 0


结果如下:




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值