zoukankan      html  css  js  c++  java
  • 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法

    目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像。然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷。最近,腾讯优图和香港科技大学的研究者提出了一种基于深度学习的非光流 HDR 成像方法,能够克服动态场景下的大范围前景运动。

    论文:Deep High Dynamic Range Imaging with Large Foreground Motions

    论文链接:https://arxiv.org/abs/1711.08937

    摘要:本文章基于深度学习,提出了一种非光流的高动态范围(HDR)成像方法,能够克服动态场景下的大范围前景运动。目前最好的 HDR 成像方法,例如 Kalantari 在 2017 年提出的方法,通常是先利用光流将输入图像对齐,随后再合成 HDR 图像。然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷。与此相反,我们避免了光流,直接将 HDR 成像视为图像转换的问题,这为 HDR 成像提供了重要启示。而且,即使出现了完全遮挡、过曝、曝光不足等问题,简单的翻译网络也能够生成逼真的细节,这也是传统优化方法所做不到的。此外,这种方法还能根据不同的指定参照图生成 HDR 图像。我们通过足量定性和定量的对比,展示了这种方法能够生成高质量的 HDR 图像,与现有技术相比,生成结果的颜色缺陷和形状畸变都大幅减少了,而且对于不同输入具有鲁棒性,甚至是未进行辐射校正过的图像。

    贡献: 现有的数码相机一般都不足以记录整个场景的动态范围,而一些用于拍摄 HDR 图像的特制设备通常都过于昂贵或沉重,因此,合并多张在不同曝光拍摄的低动态范围(LDR)图像是另一种比较现实的方法。如果这些 LDR 图像是完美对齐的,也就是说拍摄时相机以及物体都没有移动,合并的问题已经基本被解决。但是在大范围前景位移与轻度相机位移存在的情况下,前景与后景的错位是不可避免的。后者很大程度上可以用单应性变换来解决,然而前景位移会让合并过程变得困难。很多已有的方法很容易在最终生成的高动态图中引入鬼影等缺陷。本文提出了一种用简易的端到端的卷积神经网络,即使有较大范围的前景位移的情况下也能学习如何把多张低动态图合并成没有鬼影的高动态图。不像 Kalantari 的方法,我们的神经网络是在没有光流对齐的情况下进行端到端的训练,从而在本质上避免了错误光流造成扭曲等问题。而且,通常由于饱和以及阻挡,一些内容在所有的 LDR 图像中都没有被拍摄到,神经网络同样可以幻化出合理的细节,这是在处理大范围的前景位移时是非常实用的。

    网络结构:

    我们利用翻译网络去学习多张 LDR 到 HDR 图像的映射。网络主体是对称的编码器解码器架构加以 Unet 与 ResNet 变化。Unet 是映射学习的常用工具。它主要是一个具有跳跃连接的编码器解码器的架构,编码器的输出的特征图直接与相应层的解码器的输入拼接。除了简单的 Unet, 我们也尝试了 ResNet,用残差模块取代中间层。整体来看,网络结构可以分为 3 个部分,编码器,合并器,解码器,对于每个不同的曝光输入,编码器的前两层是分立的,其余层共享参数。在抽取特征之后,合并器学习如何去合并他们,而解码器则负责生成 HDR 图像。

    定性比较:

    在没有物体位移的区域,所有的方法都生成了不错的结果,但是当过曝区域出现较大的物体位移时,其他的方法会出现较明显的颜色缺陷或几何畸变。相比之下,我们提出的两种网络都生成了很好的结果,ResNet 结构表现通常好于 Unet 结构。

    定量比较:

    我们用生成的图像与真实图像的 PSNR 和 SSIM 来比较。我们同时也计算了衡量 HDR 图像视觉效果的度量 HDR-VDP-2。尽管 Kalantari 的 PSNR 分数略微偏高,但我们的方法得到了相近的 SSIM 分数以及略微高一点的 HDR-VDP-2 分数。

    幻化:

    我们的方法能够幻化出缺失的细节,这些细节对于传统的优化方法是不可能恢复的。在 Fig.5 中,只输入中等曝光的图片,我们的网络可以合理地幻化出饱和区域里草地的纹理。

    如 Fig.6 所示,在过度曝光或者低度曝光的区域里,有些细节通常会在所有的 LDR 图像中都缺失,因此这种幻化效果在动态范围成像中显得十分有用。

    手机拍摄:

    为了验证实用性,我们在手机图片上测试了我们的模型。值得注意的是,这些输入图像都没有经过辐射校正,这也验证了我们模型的鲁棒性。

    运行时间:

    由于传统的优化方法是用 CPU 进行的,公平起见,我们在相同的 CPU 环境测试所有方法的运行时间。若在 GPU 环境下运行,我们的方法处理 896×1408 的图像则只需要 0.23 秒。

  • 相关阅读:
    npm 插件发布和使用
    git 配置与删除远程地址
    elment 编辑输出行数据后,过滤下拉,值必须全等于下拉值
    后台 接口 传值 不同类型的详细解说
    Vue vscode调试
    vue 标题和输入框分两行,调成一行
    ES6 学习笔记(持续更新中)
    vue开发WebApp 开发笔记(持续更新)
    移动端自适应方案 对应设计图制作
    css 颜色使用预览 码表
  • 原文地址:https://www.cnblogs.com/alan-blog-TsingHua/p/9789245.html
Copyright © 2011-2022 走看看