神经网络后处理:A New HEVC In-Loop Filter Based on Multi-channel Long-Short-term Dependency Residual Network

A New HEVC In-Loop Filter Based on Multi-channel Long-Short-term Dependency Residual Networks

论文
基于MLSDRN(multi-channel long-short-term dependency residual network)提出的HEVC环内滤波。作者提出MLSDRN解决以往神经网络实现后处理的两个问题:一是以往模型的当前状态只依赖直接前项状态,即短期依赖信息(short-term dependency information),所有的以前的状态(long-term dependency information)没有被考虑。二是虽然非常深的网络可以获取HR图像中绝大多数高频信息,但是仍然存在预测图像和基准图像在平均幅度方面的亮度差异。作者提出的MLSDRN包含三部分:特征提取网络(FENet:a feature extraction net),多通道更新单元(UCells:multi-channel update cells)和重构融合网络(reconstruction fusion network)。

网络结构:

网络结构
FENet处理输入图像表示成一组feature maps,UCells解决减少失真的问题,重构网络将多通道的feature maps转化到原始图像空间。
FENet作用在原始图像上,即:
FENet
假设将d个UCells堆叠起来作为一个通道的feature mapping,则有:
UCells

Update Cell

UCell的结构如下图所示:
UCell
UCell中蓝色虚线里的回归单元是生成短期依赖信息。UCell使用可变的卷积核来提供多尺寸的信息。3Dconv_a,2Dconv_b,1Dconv_c的核大小分别是5x5,3x3和1x1的。使用扩张卷积技术来加大感受野。使用Update Gate自适应选择依赖信息。
UCell中的第d个递归单元的输出如下图所示:
UCelld
F是残差函数,W是权重,F的公式是:
F
其中W是扩张卷积层的参数,为了简化取消了bias,$\tau $ 是PReLU激活函数。假设一个UCell钟有L个递推,则第L个递推公式是:
L
每个UCell的update gate接收来自相同channel的先前UCell的长期依赖信息和同一个递推单元的短期依赖信息。所以第d个UCell的输出为:
dUCell

训练

作者使用的损失函数为:L1+MSSIM
L1范式为:
损失函数1
y
损失函数2
使用L1范式,简化后为:
L1
所以,对每个像素p点的梯度为:
梯度
多尺寸的SSIM(MSSIM)为:
MSSIM
近似的,可以使用中心像素近似一个区域的像素,得:
LP
基于MSSIM的损失函数梯度为:
MMSIM损失
最后,结合两部分得最终的损失函数为:
总

实现:

采用Hollywood2 Scenes数据集,有570个训练样例和582个测试样例。测试4个QP值分别是22,27,32,37,分别在AI,LD,RA配置下。每个QP训练一个网络,只使用Y分量训练,生成YUV三个分量。裁剪成35x35大小的子图像,3-channels,第d个channel有d个UCells,每个UCell有4个递推单元,每个递推单元的输出feature map设置为4,8,16。padding 0使得输入输出大小相同。QP37随机初始化,其他QP通过transfer learning初始化。QP22,27,32,37在AdaDelta中的基本学习率为0.01,0.1,0.1和1。bias学习率设置为基本学习率的1/10。采用梯度裁剪技术加快收敛。

发布了37 篇原创文章 · 获赞 66 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/shayashi/article/details/86609116
今日推荐