文章目录
-
- HDP-Net: Haze Density Prediction Network for Nighttime Dehazing
- Gated Context Aggregation Network for Image Dehazing and Deraining
- Single Image Haze Removal using a Generative Adversarial Network
- SC-FEGAN- Face Editing Generative Adversarial Network with User's Sketch and Color
- Perceptually Optimized Generative Adversarial Network for Single Image Dehazing
- Deep High-Resolution Representation Learning for Human Pose Estimation
- Physics-Based Generative Adversarial Models for Image Restoration and Beyond
- Multi-Scale Single Image Dehazing Using Perceptual Pyramid Deep Network
- Cycle-Dehaze: Enhanced CycleGAN for Single Image Dehazing
- Single Image Dehazing via Conditional Generative Adversarial Network
- Towards Perceptual Image Dehazing by Physics-Based Disentanglement and Adversarial Training
HDP-Net: Haze Density Prediction Network for Nighttime Dehazing
PCM 2018
论文主要不同点是采用不同的物理模型:I = J + H,雾图=无雾图+雾。所以设计了 Haze Density Prediction Network (HDP-Net)进行雾的浓度的预测,输入雾图得到雾的浓度图,然后通过雾图减去浓度图得到最终的无雾图。
物理模型来自于大气散射模型的衍生:
I h ( x ) = I ( x ) − J ( x ) I_{h}(x)=I(x)-J(x) Ih(x)=I(x)−J(x)
I h ( x ) = J ( x ) t ( x ) + A ( 1 − t ( x ) ) − J ( x ) I_{h}(x)=J(x) t(x)+A(1-t(x))-J(x) Ih(x)=J(x)t(x)+A(1−t(x))−J(x)
I h ( x ) = ( A − J ( x ) ) ( 1 − t ( x ) ) I_{h}(x)=(A-J(x))(1-t(x)) Ih(x)=(A−J(x))(1−t(x))
The haze density map could be obtained by extracting the feature value in [ − 1, 1] by CNN。
网络结构
Loss
采用均方误差: L o s s = ∑ ∥ J − ( I − I conv ) ∥ 2 Loss=\sum\left\|J-\left(I-I_{\text {conv}}\right)\right\|_{2} Loss=∑∥J−(I−Iconv)∥2
ps:
本文的重点是:模型的推理,可以作为一个模型创新应用到daytime dehaze,网络采用的也是简单的网络,并不复杂。但后续跟进发现本文最大的一个问题:训练数据集的问题,这是中山大学的一个工作,但是在数据集合成上,很粗糙,采用的是夜间图片切片,然后深度图采用DCP估计,这不是一个合适的做法。不过目前并没有公开的夜间雾图数据集,这个也算是第一个了,虽然质量真的不好!
Gated Context Aggregation Network for Image Dehazing and Deraining
WACV 2019
本文的创新点主要是网络架构的两点:1)采用latest smoothed dilation technique 取代dilated convolution以消除网格光晕。2)利用gated fusion sub-network进行不同levels上的feature maps的融合。
其次,本文的网络在deraining任务上也效果出众。
本身创新点看起来一般,但是本文的重点是最终的实验部分数据极其出色,远远高出各种SOTA方法(值得复现)。
网络结构
Loss
本文的学习目标也是雾图和无雾图之间的残差(雾!)
r = J − I r ^ = G C A N e t ( I ) L = ∥ r ^ − r ∥ 2 \begin{aligned} r &=J-I \\ \hat{r} &=G C A N e t(I) \\ \mathcal{L} &=\|\hat{r}-r\|^{2} \end{aligned} rr^L=J−I=GCANet(I)=∥r^−r∥2
Experiments
结果极好!
deraining效果
ablation experiment:各集成的创新点也效果明显。
tricks
- 卷积层后接instance normalization layer和ReLu layer,实验证明instance normalization效果比batch normalization好
- pre-calculated edge information作为辅助信息concatenate到input image上一起输入网络。
ps:1)实验可见gated fusion其实作用不大,倒是instance norm作用明显,考虑其他多尺度融合策略,如CVPR2019提出的HRNet的网络部分。2)Loss Function作者也说了,其他Loss如 the perceptual loss通常是可以增加效果的!3)特征图上的attention机制的尝试(基于全局深度图的考虑,它是需要全局信息的,若没有attention只是局部信息)。
Single Image Haze Removal using a Generative Adversarial Network
IET Image Processing 2018
由于IET的审稿周期较长,本文的内容显得有些寻常。
- 提出了单个的CGAN实现端到端去雾。采用54层的Tiramisu Model代替U-Net(这个有效吗?到目前为止大多数low-level task还是在使用U-Net作为生成网络),据文中所说,该模型能提高参数利用率,毕竟实验部分显示该文实验尽然是在笔记本GTX 950M (2GB)上完成的……(吐槽一下这国外的实验室尽然也……,忍不住看看是哪个学校……)
- 采用Patch Discriminator,采用L1 loss + Perceptual loss + cGAN loss 加权结合的总loss,这部分都是来自论文《Image-To-Image Translation With Conditional Adversarial Networks》,作者应该是深受这篇论文影响。
Generator
在原始的U-Net基础上使用 54 Layer Tiramisu (The one hundred layers tiramisu: Fully convolutional densenets for semantic segmentation,CVPRW2017)结构,据说可以加强数据和梯度的流动,训练参数能大大减少(1M)
Discriminator
采用原生的Patch GAN(Image-To-Image Translation With Conditional Adversarial Networks,CVPR2017),采用70x70
patch discriminator。This removes a good amount of artefacts in the images。
Input shapes are 256,256,3 for generator and 256,256,6 for the discriminator.
Loss
L o s s total = W g a n ∗ L A d v + W L 1 ∗ L L 1 + W v g g ∗ L v g g Loss_{\text {total}}=W_{g a n} * L_{A d v}+W_{L 1} * L_{L 1}+W_{v g g} * L_{v g g} Losstotal=Wgan∗LAdv+WL1∗LL1+Wvgg∗Lvgg
对抗Loss:
L A d v = E ( x , y ) [ log ( D ( x , y ) ] + E ( x , z ) [ log ( 1 − D ( x , G ( x , z ) ) ] L_{A d v} =\mathbb{E}_{(x, y)}[\log (D(x, y)] + \mathbb{E}_{(x, z)}[\log (1-D(x, G(x, z))] LAdv=E(x,y)[log(D(x,y)]+E(x,z)[log(1−D(x,G(x,z))]
Smooth L1 loss:减少光晕,reduce artefacts
L L 1 = E x , y , z [ ∥ y − G ( x , z ) ∥ 1 ] L_{L 1}=\mathbb{E}_{x, y, z}\left[\|y-G(x, z)\|_{1}\right] LL1=Ex,y,z[∥y−G(x,z)∥1]
Perceptual Loss:VGG-19 network(预训练好的网络,仅用做特征图的loss计算),文中采用的是VGG19的POOL-4输出
L v g g = 1 C W H ∑ c = 1 C ∑ w = 1 W ∑ h = 1 H ∥ V ( G ( x , z ) c , w , h ) − V ( y c , w , h ) ∥ 2 2 L_{v g g}=\frac{1}{C W H} \sum_{c=1}^{C} \sum_{w=1}^{W} \sum_{h=1}^{H}\left\|V\left(\mathrm{G}(x, z)^{c, w, h}\right)-V\left(y^{c, w, h}\right)\right\|_{2}^{2} Lvgg=CWH1c=1∑Cw=1∑W