2021 Image Compression with Recurrent Neural Network and Generalized Divisive Normalization
概要
该文提出了两种有效的新编解码块:采用卷积层和Generalized Divisive Normalization(GDN)的分析(analysis)和合成块(synthesis)。该文的网络利用pixel RNN方法进行量化。此外,为了改进整个网络,我们使用LSTM细胞对残差图像进行编码,以减少不必要的信息。
1. 网络结构
下图给出了两块图像压缩的总体体系结构:
每个输入(image patch)首先被传递到分析(analysis)编码器块,以丰富图像表示。类似地,合成(synthesis)-解码器块在循环神经网络细胞的帮助下重建解码图像。
在端端框架中有三个模块带有两个新模块,即编码器网络、分析块、二值化器、解码器网络和合成块。
端到端框架的单次迭代在(1)中表示:
其中Enc和Dec是迭代\(t\)的编码器和解码器,\(bin_t\)是二进制表示,\(\hat{x}_t\)是实际图像\(x\)的重建版本,\(\gamma =0\)是\(One\ shot\ reconstruction\)。
根据实际加权值和预测值之间的loss来进行每一次迭代训练。
在可变率框架的每次迭代时的总体损失为:
2.1 Analysis Block
提出了一种基于空间信息的有效的空间自适应分析块。我们的分析编码器块的结构包含三个输入通道和64个输出通道。图层的内核大小为3,步幅为1。该分析块由卷积层、广义分裂归一化技术组成。每一步都从仿射卷积开始:
\(v_i^{(k)}(m,n)\)其中 \(i^{th}\)是输入的channel维度,\(k^{th}\)是第\(k\ step,(m,n)\)是空间位置。\(x\)是输入图像,由\(vector\ v_i^{(0)}(m,n)\)组成,输出是\(y\),由\(vector\ u_i^{(3)}(m,n)\)组成。\(*\)代表2D卷积:
其中,步骤k处的降采样因子用\(s_k\)表示。每一步之后都是GDN操作。现在,式(7),定义了GDN操作的所有两个阶段,其中\(\beta_{k,i}\)和\(\gamma_{k,ij}\)是归一化操作的两个尺度和偏差参数:
2.2 Synthesis Block
考虑到最终重建图像的问题,该图像可能包含多个伪影。在量化后的解码器侧提出了一种有效的合成块,以保持解码图像的信息和质量。如上图所示,通过几个卷积和逆GDN层来重建输入图像。与上述的分析块相同,解码器模块由两个阶段组成,其中所有的过程都被反转。经过iGDN操作后,特征向量进入RNN单元进行进一步重建,反卷积层形成最终的重建图像。每一步都从卷积层开始,然后进行逆GDN运算,计算如下:
inverse GDN包括三个步骤,每一步都进行逆操作、降采样和inverse GDN。
2.3 RNN Cell
该图像压缩网络包括RNN个单元和一个像素深度方案。在每次迭代中,使用RNN单元从图像中提取特征。连续地记忆每个迭代过程中的残差状态,并重建图像。整个网络使用7个RNN单元,3个单元在编码器侧,4个单元在解码器侧。在每次迭代中,前一个单元格的估计结果都会传递到隐藏层以进行进一步的迭代。RNN单元格的简化视图如图所示:
RNN单元格的hidden layer和memory layer状态分别为ck−1和xk−1。第k次迭代的输入特征向量为\(x_k\),等于该迭代的上层输出。每个单元格由两个卷积层组成;\(conv\_{in}_i\)用于输入特征向量\(x_k\),\(conv\_h_i\)用于隐藏层。
在上述图中,\(x_k\)、\(c_{k−1}\)和\(h_{k−1}\)是输入向量。其中,\(X\)表示元素级的乘法。类似地,\(+\)表示元素级加法\(c_k\),\(h_k\)是这个单元格的输出向量和下一个单元格的输入向量。
这里,\(x_k、c_{k-1}和h_{k-1}\)是来自卷积层的输入向量。\(C_k\)和\(h_k\)是每次迭代的计算方法,定义为:
2.4 Entropy Coding
我们通过在二值化器模块中使用不同的隐藏值来提高网络的性能。
上图探究了一下通道数及GDN block的存在对于PSNR的影响。在上述实验中,该文的网络中使用了Block+Conv(Enc64+Bin38)的参数。
3. 结果
4.总结
该文提出了在基于RNN的图像压缩网络中嵌入的基于卷积层和GDN层的两个有效块,即分析块和合成块。采用像素级RNN方法,利用线性卷积构造了一种具有一定隐藏值的像素级二值量化方案。此外,为了进一步提高网络的性能,同时利用了RNN Cells。这些单元格被放置在编码器和解码器的部分,以提高性能。
论文是有提供代码的:代码
Reference:
Image Compression with Recurrent Neural Network and Generalized Divisive Normalization