在摄影中,曝光是非常重要的一个参数,曝光时间过长,最终拍摄的图像会显得泛白,就是我们常说的 “过曝”,曝光时间不足的话,图像会显得比较暗,也就是所说的 “欠曝” ,现在的拍摄,一般都有一个自动曝光的估计,通过测量环境光照的强度,来设置合适的曝光时间,让最终的图像明亮比较合适。

在真实的场景中,环境光照有一个很宽泛的范围,sensor 一般很难覆盖整个范围,这就是我们所说的高动态范围场景,拍照的人,都有这样的体验,在阳光明媚的时候,在室内拍摄人像,要么就是人像比较清晰,而窗外一片白,要不就是窗外的景色比较清晰,而人像非常暗。这就是 sensor 的动态范围,涵盖不了环境的动态范围,只能捕捉某一段的动态范围所致。

现在的 sensor 一般是 10 bit 或者 12 bit,好的 sensor 可以到 14 bit 甚至 16 bit,这样的一个动态范围,我们以 12 bit 为例,最亮和最暗的比例是 4096 : 1,这个范围在自然场景中,算是非常低的一个范围了,为了捕捉场景中完整的动态范围,目前主流的方法,就是通过多次不同曝光,然后进行合成,如下图所示:


通过将不同曝光的图像进行融合,最后可以得到一张非常完整的曝光合适图像,能反应整个环境的关照。每张曝光图像,只捕捉某一局部的细节,最后合成出来的图像,就呈现了全部的细节。

图像融合的公式其实很简单,假设有 nnn 张图像,那么融合后的图像,就是这 nnn 张图像的线性叠加:

XF=∑i=1nWiXi\mathbf{X}_{F} = \sum_{i =1}^{n} W_i \mathbf{X}_i XF​=i=1∑n​Wi​Xi​

最后的问题,就是要如何求这个融合系数 WiW_{i}Wi​

如果是在 RAW 域上做图像融合,那么由于 RAW 图上的像素值和环境关照是线性关系,

I(x,y)=clip(t∗L(x,y)+en)I(x, y) = \text{clip} (t * L(x, y) + e_{n}) I(x,y)=clip(t∗L(x,y)+en​)

I(x,y)I(x, y)I(x,y) 表示 RAW 图的像素值,L(x,y)L(x, y)L(x,y) 表示环境的辐射值,ttt 表示曝光时间, ene_nen​ 表示噪声,基于这个假设,那么 I(x,y)I(x, y)I(x,y) 过高或者过低的像素值,应该对应饱和溢出或者暗处的噪声,这种像素值,一般是无效的,所以选择 I(x,y)I(x, y)I(x,y) 的时候,都会加一个范围,比如选择动态范围 [0.05, 0.95] 之间的像素值,作为有效的像素值,这个范围的像素值,我们认为是有效的,然后根据上式,我们可以求出环境照度:

L(x,y)=I(x,y)/tiL(x, y ) = I(x, y) / t_i L(x,y)=I(x,y)/ti​

根据环境照度,可以估计出每张 RAW 图的权重,然后归一化,最后进行融合。

如果不是 RAW 图,而是压缩后的图如何融合呢,我们知道 RAW 图一般是 12 bit 表示,而压缩后的图,一般是 8 bit,这意味着动态范围有损失,一般来说,可以估计出这个压缩动态范围的函数,然后求出逆函数,让图像的动态范围,映射回 RAW 图的动态范围,再用上面介绍的方法进行权重的计算。

还有一种融合的方法,就是根据细节的丰富程度来确定权重,每张图像都可以求出一个梯度,然后对不同图的梯度进行归一化,求出每张图的权重,最后再进行融合。

多张图的融合,是非常有效的解决高动态范围的一种方法,不过多张图融合带来的问题就是对运动非常敏感,如果场景中有运动的物体,或者相机在拍摄的时候,有移动,融合的图像,可能会产生 ghost 或者模糊,也就是我们所说的鬼影。

除了多张图的融合,也有针对单张图的 tone-mapping 算法,如下图所示:


上面这个算法流程,就是利用双边滤波来做 tone-mapping 的,这种方法,就是利用双边滤波,保留细节,对低频部分进行对比度的调整,然后再把细节和颜色铁灰了,最后出来的图像,显得更加细节丰富,色彩饱满。

参考文献: computational photograph, CMU 2018

计算摄影: 高动态范围成像相关推荐

  1. HDR(High Dynamic Range Imaging)在摄影中指高动态范围成像

    HDR(High Dynamic RangeImaging)在摄影中指高动态范围成像.国内的教程基本语焉不详,找到一篇比较详尽的国外教程翻译出来,希望对大家有帮助.^_^ 原文地址:http://ph ...

  2. 从暗通道先验去雾到海底图像修复-三维重建辅助计算摄影

    点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 一. Sea Thru:海底图像修复 我想很多朋友一定看过海底的各种 ...

  3. 双冠!网易互娱AI Lab包揽NTIRE 2022高动态范围成像(HDR)两项冠军

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:网易互娱 AI Lab 点击进入-> CVer 微信技术交流群 近日网易互娱 AI Lab 获得 ...

  4. 计算摄影——图像超分

    这一节主要介绍一下基于单张图的图像超分算法.图像超分,就是要从低分辨率的图像恢复为高分辨率的图像,它在日常的图像和视频存储与浏览中都有广泛的应用. 基于深度学习的图像超分算法 不同的采样结构 图像超分 ...

  5. 50. 从暗通道先验去雾到海底图像修复-三维重建辅助计算摄影

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达推荐阅读 42个pycharm使用技巧,瞬间从黑铁变王者Google ...

  6. 【计算摄影】图像与视频超分辨,深度学习核心技术与展望

    大家好,这是专栏<计算摄影>的第七篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科. 作者&编辑 | 言有三 图像超分,就是要将低分辨率的图像恢复为高分辨率的图像,它在日常的 ...

  7. 媒体观点 | 手机拍照“神仙打架”背后,厂商死磕计算摄影到底在比什么?

    手机上越来越多的镜头,真的都能派上用场吗? 如果非要在当下旗舰智能手机大战中选一个最重要的比拼焦点,那大概率是拍照. 在iPhone带火了智能手机计算摄影浪潮后,经过十几年发展,如今的旗舰手机拍照基本 ...

  8. 【完结】重磅!深度学习计算摄影的12篇干货文章

    文/编辑 | 言有三 计算摄影是指使用数字计算而不是光学处理的数字图像捕获和处理技术.计算摄影可以提高照相机的能力,或者引入基于胶片的摄影根本不可能的特征,或者降低照相机元件的成本或尺寸(本段来自维基 ...

  9. 【计算摄影】浅析图像修复背后的核心技术

    大家好,这是专栏<计算摄影>的第十篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科. 作者&编辑 | 言有三 今天要介绍的一个问题是计算机视觉领域中的非常经典的问题,即图像修 ...

  10. 荣耀Magic3刷新影像标杆,苹果告别计算摄影“王座”

    每年到了这个时候,都是手机行业"相机大战"的时间. 和往年有所不同的是,在不少KOL的对比测试中,核心焦点已经不再是像素和光圈,计算摄影预料之中的成了新的话题中心. 同时苹果也不再 ...

最新文章

  1. 维护服务器技术员流程,技术员岗位工作的流程表.doc
  2. man、info、help
  3. NHibernate3剖析:Query篇之NHibernate.Linq标准查询
  4. 串行异步通信_单片机串行口介绍
  5. c# 中Stopwatch 类的运用
  6. LiveVideoStack线上分享第四季(八):实时远程医学影像服务质量保障与网络优化...
  7. java中的双与_java 双冒号是什么操作符?
  8. Bash脚本教程之循环
  9. python判断某年是否为闰年_python如何判断某年是否是闰年_后端开发
  10. 4月1日见!小米9王源定制版官宣:透明版背壳加持
  11. 实现一维卷积神经网络
  12. SaaS行业乘风杨帆,中小企业市场潜力分析
  13. vs2008软件测试实战 3 web test(1)
  14. (12.05)Java小知识!
  15. mysql封包拦截修改工具_web封包拦截修改工具
  16. linux下安装杰奇2.4,实现关关采集器远程采集详细教程
  17. 《英语语法新思维初级教程》学习笔记(八)一般时态
  18. gnuplot使用简介
  19. 高精度地图-使用ArcMap标注高精度地图
  20. html表格背景颜色

热门文章

  1. JAVASE篇的入门经典书籍推荐
  2. SQLI-LABS——Page-2 Advanced Injections Less21~Less37
  3. java爬取网页上qq号,邮箱号等
  4. c语言数据类型转换规律,c语言,数据类型转换
  5. vue接入百度翻译api
  6. 修复华为移动服务器,移动app云服务器异常
  7. 使用后处理Alpha通道丢失的问题
  8. 图像处理的Alpha通道
  9. 湖北飞young使用任意路由器教程
  10. Ordinal Regression with Multiple Output CNN for Age Estimation-(系列一_年龄估计)