阅读论文“CycleISP:Real Image Restoration via Improved Data Synthesis”

   2020 CVPR,实现在raw和rgb域上的相互转换,并在raw和rgb域上进行噪声合成,在最后使用去噪网络在合成数据上进行训练去噪。和unporcessing denoise那篇论文相比,这里不需要获得相机设备的先验知识(虽然是借助FiveK的raw实现的,感觉很奇怪)。这篇论文整体是沿着CVPR 2019 raw SR那篇论文继续做的,出发点是在RAW域上对噪声建模比sRGB域上要简单,通过cycleISP合成更多的比较真实的仿真数据,实现性能提升,质量还是比较高的。整体框架如下所示:

第一步是实现RGB2RAW和RAW2RGB的数据合成。对于RGB2RAW,如上图上路所示,先通过一系列网络实现ISP的大部分操作,然后加马赛克,最后加上Bayer转换成RAW。该部分loss如下所示:

对于RAW2RGB这个分支,这里将RAW pack成RGGB形式,减少分辨率,从而减少计算量,最后用pixel shuffle进行上采样。和CVPR 2019 RAW SR那篇论文一样,这里也使用了color correct引导的方式使得RAW2RGB这个过程可以泛化到任何相机上。该部分操作在上图有所示,RGB引导之前先进行模糊处理去掉一些噪声。RAW2RGB分支使用L1 loss进行训练。
   上面两个分支首先是分别进行训练的,网络里使用了RRG模块包括channel和spatial attention,如下所示:

最后对两部分进行联合训练,其中RGB2RAW分支可以接受到来自RAW2RGB分支loss的梯度,更加有利于最终sRGB图像的重建。
   产生噪声时,生成RAW部分的带噪数据,直接在最后的RAW上加入shot and read噪声即可。对于sRGB部分生成带噪图像,这里使用SIDD数据集finetune CycleISP,这里噪声通过真实带噪RAW减去真实干净的RAW产生,加在合成的RAW上,该部分如下图所示:

最后的去噪网络,这里如下所示,对于RGB没有特殊操作,对于RAW去噪,这里输入是带噪RAW图和其noisy map,noisy map通过RAW里的shot and read噪声获得。

最后部分结果如下所示:

0%