最近在研究使用深度学习将LDR图像转为HDR图像,因此阅读几篇相关论文。
论文:《ExpandNet: A Deep Convolutional Neural Network for High Dynamic Range Expansion from Low Dynamic Range Content》
代码:https://github.com/dmarnerides/hdr-expandnet
网络结构:
- Local Branch:产生高频特征 —— 高频特征相当于图像中的细节部分。
- Dilation Branch:这一层使用扩张卷积(Dilated convolution),产生中频特征。
- Global Branch:产生低频特征 —— 低频特征相当于图像中的大体部分。
Loss Function:
- 第一部分采用
L1
来代替深度学习普遍采用的L2
函数,因为L2
会使得输出图像产生模糊性。 - 第二部分就是
cos
余弦函数,因为亮度的数量级差别很大,而cos
函数受矢量间角度影响大,但受矢量间幅值影响小。
实现细节:
- 由于采用上述的三种结构,所以本文没有采用
downsampling layers
和upsampling layers
,这样有利于保证输出图像的质量,因为upsampling layers
会降低图像质量。 - 采用
SELU
作为激活函数。 - 训练集的亮度都归一化为
[0,1]
范围内的相对亮度,因为只有一部分训练集有确切的亮度值。
DataSet:
- 本文通过HDR video,indoor image,web上的HDR图像来获得HDR图像集,随后采用
augment
的方法,从HDR图像获得LDR图像,这就是训练集的产生流程。 - augment方法的参数,如下:
实验结果:
左边为输入的LDR图像,右边为网络输出的HDR图像