论文阅读笔记--JSI-GAN: GAN-Based Joint Super-Resolution and Inverse Tone-Mapping with UHD HDR video

Kim S Y , Oh J , Kim M . JSI-GAN: GAN-Based Joint Super-Resolution and Inverse Tone-Mapping with Pixel-Wise Task-Specific Filters for UHD HDR Video[J]. ECCV 2019.

 摘要:

最近已经探索了对超分辨率(SR)和逆色调映射(ITM)的联合学习,以将遗留的低分辨率(LR)标准动态范围(SDR)视频转换为高分辨率(HR)高动态范围(HDR)视频,以满足不断增长的需求超高清HDR电视/广播应用程序。但是,以前的基于CNN的方法直接从LR SDR帧重建HR HDR帧,并且仅以简单的L2损失进行训练。在本文中,我们采用分而治之的方法设计了一种新颖的基于GAN的联合SR-ITM网络,称为JSI-GAN,它由三个特定于任务的子网组成:图像重建子网,详细信息恢复(DR)子网和局部对比度增强(LCE)子网。我们精心设计了这些子网,以便对它们进行适当的训练以达到预期目的,并通过DR子网学习了一对按像素划分的1D可分离滤波器,以进行细节还原,并通过LCE子网学习了按像素划分的2D局部滤波器,以增强对比度。此外,为了有效地训练JSI-GAN,我们提出了一种新颖的detailGAN损失以及常规GAN损失,这有助于增强局部细节和对比度,以重建高质量的HR HDR结果。当所有子网都经过很好的训练后,可获得更高质量的预测HR HDR结果,其PSNR增益至少比以前方法生成的结果高0.41 dB。正式的Tensorflow代码可从https://github.com/JihyongOh/JSI-GAN获得

贡献总结如下:

•我们首先提出了一个用于联合SR-ITM的GAN框架,称为JSI-GAN,具有新颖的细节损失和特征匹配损失,可以恢复现实的细节并进行稳定的训练。”

•JSI-GAN的设计旨在具有特定于任务的子网(DR / IR / LCE子网络),这些子网具有像素级的1D可分离滤波器以改善局部细节,并具有2D局部滤波器以增强局部对比度,方法是考虑给定放大系数的局部上采样操作。

•DR子网专注于高频分量,以精心还原HR HDR输出的细节,而LCE子网通过专注于LRSDR输入的基础层分量,有效地恢复了局部对比度。 

网络结构:

Generator

Detail Restoration(DR) Subnet:

是上采样滤波器, 输入是细节层 \large X_d 包含了 LR SDR 输入图片的高频分量, \large X_d = X \oslash X_b  , 其中\large X_b是X应用引导滤波器的输出, \large \oslash表示按元素相除.  在我们的实现中,向分母添加一个较小的值\large 10^{-15},以防止在\large X_b接近零的情况下\large X_d发散.\large X_d用于生成水平和垂直一维可分离滤波器. 

残差模块(Res-Block) RB定义:

 \large RB(x) = (Conv \circ RL \circ Cove \circ RL)(x) +x, 其中 x 是 ResBlock 的输入, Conv 是卷积层, RL是 ReLU激活函数.

水平1D滤波器 \large f_{1D}^h = (Conv \circ RL \circ RB^4 \circ Conv)(X_d), 其中\large RB^n 表示 n个 ResBlock 串行级联. 垂直 1D滤波器\large f_{1D}^v用同样的方式获得. 在生成1D水平和垂直滤波器时,除最后一个卷积层外的所有层都共享.  

最后两个卷积层中的每一个都由41×scale×scale 输出通道组成,其中41是一维可分离kernel的长度,每个通道应用于其对应的网格位置,scale × scale 考虑了对于上采用因子scale 的像素混洗重组操作. 动态可分离上采样操作 (\large \dot{*}_s) 表示使用两个1D可分离滤波器产生空间上采样输出.

DR subnet 输出为: \large D = X_d \quad \dot{*}_s \quad (f^v_{1D}, f^h_{1D})

生成的一维kernel是位置特定的,也是细节特定的,因为针对不同的细节层生成了不同的kernel,这与训练后固定的卷积滤波器不同, 在实现中,  首先通过每个比例通道的局部过滤将\large f^v_{1D} 应用于细节层, 然后在其输出应用\large f^h_{1D}, 最后,将像素混洗应用到具有scale * scale 个通道的最终滤波输出上,以进行空间放大

Local Contrast Enhancement(LCE) Subnet

LCE子网在每个像素网格位置生成一个9×9 2D局部滤波器, 同样是上采样滤波器, 在最后一层具有9×9×scale×scale输出通道

\large f_{2D} = (Conv \circ RL \circ RB^4 \circ Conv)(X_b)

LCE 网络输出\large C_l = 2 \times sigmoid(X_b \dot{ \ast} f_{2D})

由于将Cl视为LCE掩码,并且将其逐个元素地与IR和DR子网的两个输出之和相乘,因此JSInet与singmoid函数更好的融合,没有它,初始预测输出(与Cl相乘后)的像素值太小,需要更长的训练时间才能使JSInet的最终HR HDR输出达到合适的像素范围

Image Reconstruction (IR)Subnet

输入LR SDR 图像X, 产生中间特征 \large i_{IR} = (RB \circ Conv)(X) 

IR 网络的输出 \large I= (Conv \circ PS \circ RL \circ Conv \circ RL \circ RB^3)([i_{IR}, i_{DR}]), PS 是 pixel-shuffle 操作, [x, y ] 表示在通道方向x与y 进行拼接.

 

最终HR HDR预测值\large P = (I+ D) \times C_l 

 

Discriminator

输入x (P[生成器预测的结果] 或 Y[ground truth]), 判别器的输出 \large D^f (x) = (BN \circ FC1 \circ BN \circ FC512 \circ LRL \circ BN \circ 4Conv2 \circ DB^4 \circ LRL \circ 3Conv1)(x)

其中, BN表示 batch normalization, LRL 表示 Leaky ReLU激活slope size 为0.2, FCk 表示全连接层有k个输出通道. K Conv s表示k*k 大小的 kernel size , stride 为s

DB(DisBlock) \large DB(x) = (LRL \circ BN \circ 3Conv1 \circ LRL \circ BN \circ 4Conv2)(x)

对抗损失(Adversarial loss):

\large L^D_{adv} = \underset{Y}{\mathbb{E}}[ max(0, \widetilde{Q}_{Y,P}^{(-)} ] + \underset{P}{\mathbb{E}}[ max(0, \widetilde{Q}^{(+)}_{P,Y}) ]

\large L^G_{adv} = \underset{P}{\mathbb{E}}[max(0, \widetilde{Q}^{(-)}_{P,Y})] + \underset{Y}{\mathbb{E}}[ max(0, \widetilde{Q}^{(+)}_{Y,P}) ]

其中, \large \widetilde{Q}^{(\pm )}_{P,Y} = 1 \pm \widetilde{D}_{P,Y}, \quad \widetilde{D}_{P,Y} = D_f(P) - \mathbb{E}_YD_f(Y)

 

feature-matching loss:

 \large L_{fm} = \sum^4_{i=1}|| fm_i(Y) - fm_i(P) ||_2

Detail GAN loss:  \large L_{adv}^d为了增强训练稳定性和提供局部对比度和细节产生更好的结果.

d 上标表示 细节层.  对于\large L_{adv}^d 我们采用不同于第一鉴别器(D1)的第二鉴别器(D2),两者的结构相同,但D2取两个输入Pd和Yd,由等式(1)计算得出[\large P_d = P \oslash P_b]。

 

total loss:

\large L_{D_1} = L_{adv}^{D_1}, \quad L_{D_2} = \lambda_d \cdot L_{adv}^{d, D_2}

\large L_G = \lambda_{rec} \cdot || Y-P ||_2 + \lambda_{adv} \cdot (L_{adv}^G + \lambda_d \cdot L_{adv}^{d,G}) + \lambda_{fm} \cdot (L_{fm} + \lambda_d \cdot L_{fm}^d)

上标d表示细节层成分(Pd,Yd)的损失

 

实验:

三个losses(\large L_G, L_{D_1}, L_{D_2}), 权重按经验设置为\large \lambda _{rec} =1, \lambda_{adv} = 1, \lambda_{fm}=0.5, \lambda_d=0.5

D1和D2的输出channel c = 32.   LR SDR patch size 80*80(2倍) 或 40*40(4倍)从8-bit YUV帧中裁剪得到. HR HDR patch size 160*160 从10-bit YUV 帧裁剪得到. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值