AI 简报 - 逆光也清晰 - 色彩增强算法 CURL
1.背景
查了下资料,vivo 逆光也清晰,其实是用了 Super HDR 影像技术,其拥有超高动态范围,能够逼近人眼视觉。这里主要是借个引子,本简报不会涉及到 HDR 技术,主角是色彩增强技术。
如下图,最左边是低光的图,最右边是人工调整, 中间两个算法自动生成。
本简报的论文是:CURL Neural Curve Layers for Global Image Enhancement, 是 ICPR 2020 的华为 Noah 实验室的一篇全局图像增强 paper。
2. 解读
CURL 也是监督学习的方法,需要配对的训练数据(低光图片-正常图片); CURL 用深度学习网络去模拟学习 PS 修图过程中 curve 曲线的调整,来达到自动增亮修图的功能。
PS 中的 curve 调整,curve 是 SPline Curves 即样条曲线(由不同的控制点组成的曲线,一般可分为插值样条和逼近样条两种)
曲线的横轴为输入,纵轴为输出。 调整曲线就是通过对不同的像素值进行映射生成新的像素。
CURL 解读:
成对训练数据集: Adobe five5k (https://data.csail.mit.edu/graphics/fivek/)
backbone 先上一个全景图,可以看出整个网络分为两个部分:TED(特征提取)+CURL block(在三个不同的颜色空间 CELab,RGB 和 HSV 模拟 curve)
TED: TED 是 Unet 的一种变种, Unet 是下采样和上采样过程中每一层级都进行 concat。作者认为 unet 并不一定十分适合这种图片转换的任务(unet 最早是用来语义分割),TED 只保留最上层的(下图右下角红色线 MSCA-skip),同时不是直接相加,而是(下图左边)多尺度(加不同的空洞卷积,形成不同的感受野,能够捕捉全景 global 和 mid-level 的 context)。
CURL block
CURL block 是学习三种调整 curve 参数,顺序是 Lab-->RGB-->HSV。具体来看,从 TED 学习的特征中拿 3 个 channel 有要学习图片,剩余为图像编码特征。每个颜色空间,通过卷积层来模拟学习 curve 曲线的特征,最终将 curve 曲线应用到 3 个 channel 的图片。
loss CURL 模型针对每个颜色空间都加了一个损失函数,来控制学习 curve 学习的好不好。
hsv loss: 主要是度量 hsv 空间生成的 image 和 gt 的差异
lab loss:亮度和 ab 是通过 ssim 来度量
rgb loss: 距离
正则 loss
3.方法和实现细节
github: https://github.com/sjmoran/CURL
CURL 实现上没有太多不一样的地方,主要点是如何对图像进行 curve 操作。采用的分段线性(piecewise-linear)叠加的方式。
训练上:
优化器: adam
lr: 1e-4(5e-5)
没有增强(如果需要增强,左右和上下翻转,需要注意 gt 不能变)
效果如下:依次是:原图--友商--预训练 CURL--调整后的 CURL
版权声明: 本文为 InfoQ 作者【AIWeker-人工智能微客】的原创文章。
原文链接:【http://xie.infoq.cn/article/11887b547acc6d2d647448338】。文章转载请联系作者。
评论