Camera2开发基础知识篇——HDR技术

前言

在前面的文章中,我们已经了解了手机影像相关的参数,今天这篇文章我们来看下HDR算法相关的知识。

一、技术简介

HDR,即High dynamic range,高动态范围。现实世界的亮度范围是很大的,人眼也能很容易捕捉到1000尼特的亮度,但是常规SDR(Standard Dynamic Range)的图像往往亮处不够亮(1000nits以上),暗处不够暗(0.01nits以下),呈现的图像细节不是很丰富。
在这里插入图片描述
而HDR技术就是采用多张图像合成的方式(一般三张,低曝光,普通曝光和高曝光),将多张图像的像素进行融合,以此保留高曝光下更多的色彩信息和低曝光下更丰富的暗部信息。
在这里插入图片描述

二、HDR图像处理流程

1、拍摄照片:使用相机或手机拍摄一系列不同曝光水平的照片。而曝光度的选择就需要先对当前画面进行测光,以此确定曝光度。

2、图像对齐:由于手持拍摄或其他因素,不同曝光水平的照片可能存在微小的对齐差异。在进行HDR处理之前,需要将这些照片对齐,以确保它们准确地重叠在一起。

3、曝光融合:将对齐后的不同曝光图像融合成一张图像。常见的曝光融合算法包括加权平均、图像融合算法、基于区域的方法等。这些算法根据像素的亮度值和相邻像素的关系,对不同曝光图像进行融合,以产生最终的HDR图像。

4、色调映射:生成的HDR图像将具有非常高的动态范围,但通常不能直接用于显示或打印。为了将其转换为可视的图像,需要进行色调映射。这一步骤涉及将HDR图像的亮度范围映射到标准的亮度范围内,以便于显示设备或打印。

5、色彩校正和后期处理:在色调映射之后,可能需要对图像进行色彩校正和其他后期处理。这包括调整对比度、饱和度、锐化等,以获得最终期望的外观。

6、导出和保存:完成所有处理后,将最终的HDR图像导出为适当的格式(如JPEG、TIFF等),以便在不同的设备上查看、打印或分享。

三、测光

HDR处理流程的第一步就是获取三张不同曝光的图像,而如何确定曝光程度,这时就需要测光。测光的方法主要有Range-agnostic methods、Range-aware methods、Noise-aware methods。

1、Range-agnostic methods:这个方法就是采用预定义或者用户提供的曝光度,比如ev0,ev-1和ev+1(ev是指Exposure Value)。这个方法虽然简单常见,但是它不能保证可以完全捕捉到场景的辐照度(场景的辐照度是指特定区域内接收到的辐射能量的密度),仍然会出现过曝或者过暗的区域,说白了就是比较死板,不能灵活适应各种亮度的场景。

2、Range-aware methods:这个方法会首先对于单个图像进行测光,然后确定其他两个图像的曝光值。图像中像素值的范围是由0—255,值越小则像素点越暗,反之越亮。单个图像测光目的是通过观察单个图像中的像素值分布图,来将过暗(0)和过亮(255)的像素数控制到最少,以此来保证覆盖场景中最亮和最暗的区域。一般这个方法会不断在预览中进行计算来确定图像的动态曝光范围。

3、Noise-aware methods:来源于Hasinoff等人的论文《Noise-aware Image Enhancement for Mobile Phones》(2010年)。在论文中引入了一个噪声模型,包含两种噪声:

一种是信号相关的噪声:该噪声主要由信号源的固有噪声和手机传感器的固有噪声引起。这种噪声与信号的本质相关,如高ISO设置或低光条件下引入的噪声。

另一种是信号无关的噪声:该噪声主要由手机图像处理管道中的各种因素引起,如色彩校正、图像压缩和后处理等。这种噪声与信号的内容无关,如JPEG压缩引起的块状噪声或锐化处理引起的伪影。

基于这个噪声模型,Hasinoff等人提出了一种噪声感知的图像增强方法。他们使用了一个衡量图像质量的目标函数,将图像增强问题转化为一个优化问题。优化过程中,他们通过对信号相关和信号无关噪声的建模,根据噪声特性进行处理,从而达到最佳的图像增强效果。

Hasinoff等人的论文提出了一种最佳的、与场景无关的、基于堆栈的HDR曝光时间的选择,为移动手机图像增强领域提供了重要的理论基础和实用方法,其噪声模型和图像增强算法对于改善移动设备拍摄的图像质量具有重要意义。

四、曝光融合(Exposure Fusion)

在曝光融合中,高斯金字塔和拉普拉斯金字塔是常用的图像金字塔表示方法,用于实现图像的多尺度处理和融合。

1、高斯金字塔(Gaussian Pyramid):高斯金字塔是通过将原始图像进行重采样和平滑处理而得到的一系列图像。它是通过使用高斯滤波器对图像进行模糊操作,然后下采样(降低分辨率)得到的图像序列。如下图,从第0层(naive图像)开始,每一层金字塔都是上一层金字塔图像的下采样版本。高斯金字塔的目的是在不同的尺度上提供图像的平滑近似,在较低分辨率的图像上进行融合操作可以减少计算量,提高算法的效率。
在这里插入图片描述

2、拉普拉斯金字塔(Laplacian Pyramid):拉普拉斯金字塔是通过从高斯金字塔中恢复原始图像并与较低分辨率版本进行差分得到的一系列图像。每一层金字塔是原始图像在对应尺度上的细节部分。通过对拉普拉斯金字塔进行上采样并与较低分辨率图像进行叠加,可以逐步恢复原始图像。由于高斯金字塔只能提供图像的全局的信息和大尺度的结构,所以还需要拉普拉斯金字塔来提供图像的细节和局部的信息。

注:差分(Difference)是指通过对图像进行相邻像素之间的差异计算来获得新的图像。差分图像显示了原始图像中像素之间的变化程度。

拉普拉斯金字塔的构建过程其实很简单,就是用高斯金字塔的每层图像减去上一层上采样之后的图像,由此得到一个残差图,用这个残差图作为拉普拉斯金字塔的一层。

注:如果一幅图像的高斯金字塔有 N+1 层,那么其对应的拉普拉斯金字塔就有 N 层

在这里插入图片描述
另一种图示,由下往上看,其实原理一样:
在这里插入图片描述
在曝光融合中,高斯金字塔和拉普拉斯金字塔的应用流程:
在这里插入图片描述
曝光融合的优点:

1、金字塔模型分层有利于提高计算效率(性能);

2、由图像误匹配引起的伪像通常可以通过调w的权重来减轻这种效果;

3、由于是直接在数字图像域,不用估算真实场景下辐照度,减轻计算机视觉任务量。
在这里插入图片描述

五、色调映射(Tone Mapping)

照片所能表现的亮度范围不足以表现现实世界中的亮度域,而如果简单的将真实世界的整个亮度域线性压缩到照片所能表现的亮度域内,则会在明暗两端同时丢失很多细节。HDR图像的灰度值分布的很不均匀,只有少数的像素点较亮,所以如果直接对图像进行线性的归一化(把灰度最大值映射为255,最小值映射为0)再显示,则图像会一片黑,经过色调映射之后,可以将HDR图像正常在显示器中显示出来。
在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值