ISP(Image Signal Processor)——HDR技术总结

传统多帧融合技术

拍摄一系列不同曝光时长的图像帧(LDR),然后使用融合算法进行融合成HDR图像。

融合算法可以分为两种

基于照度图估计的融合

基于照度估计需要拟合相机响应函数,详细可以参考如下论文:

Recovering High Dynamic Range Radiance Maps from Photographs

该论文描述了如何求解相机响应曲线。

通常相机对于现实世界的亮度是一个非线性映射,它决定了场景中的亮度如何转换成为输出图像中的像素值。通过该曲线可以查找到所有现实场景亮度对应的像素值,在同时拍摄了过曝光图像A和欠曝光图像B后,A中欠曝光过暗(黑色区域)地方的像素值可以通过B图乘以一个比例因子,而该比例因子可以根据相机响应曲线中Exposure的比值来确定。

假设相机在拍摄一个场景,对于场景中某个点处辐照度为E,则曝光为

X=E\cdot \Delta t

该曝光经过相机处理(相机响应曲线)输出的原始数据

Z=f(X)=f(E\cdot \Delta t)

需要注意的是,对于拍摄场景中的同一个点,辐照度是现实场景真实存在的参数,短时间内可认为是恒定的,即某个点的真实场景亮度短期是恒定的。由于使用不同的\Delta t曝光时长,造成了同一场景可以拍摄出不同亮度的图像。而这些图像序列的对应像素点都源于同一场景对应点的相同辐照度。

这里的f即为相机响应曲线。

例如下列案例

欠曝光B图
过曝光A图

假设该响应曲线已知,知道欠曝光B图的参数\Delta t_B和像素值Z_B,过曝光A图的参数\Delta t_A和像素值Z_A。在B图中,暗光区域(黑区)的像素值由于没有正确曝光(黑区中Z_B无法表达场景),需要通过A图对应位置来获取,也就是以下公式:

根据已知信息可知

f(E\cdot \Delta t_A) =Z_A

f(E\cdot \Delta t_B) = Z_B

根据上述同一场景某个点处辐照度E短时间内是恒定的,可以得出将A图中正确曝光Z_A像素映射到B图中黑区对应位置的值如下:

Z_{B}' =f(\frac{f^{-1}(Z_A)}{\Delta t_A}\cdot \Delta t_B)

同理可以得到欠曝光B图中正常曝光区域(在B图中是高光饱和区域)的像素值Z_B映射到A图中对应区域位置的像素值Z_A

以上描述的仅是利用相机响应曲线中的最简单融合方式。

值得注意的是:笔者认为,应该在Bayer域求解相机响应曲线,因为ISP后续的一些部分会引入非线性变换,这些非线性变换很有可能会扭曲相机响应曲线。

多曝光直接融合

参考最经典的论文:

Exposure Fusion: A Simple and Practical Alternative to High Dynamic Range Photography

以饱和度、对比度、曝光度等简单的质量指标为指导进行多帧图像的加权和多尺度融合。

对比度指标:拉普拉斯滤波器应用于每个图像的灰度图,并获得滤波器响应的绝对值C作为对比度指标。

饱和度指标:饱和度测量S,它被计算为每个像素的R、G和B通道内的标准偏差。

曝光度指标:像素的曝光度使用高斯曲线根据每个像素强度接近0.5的程度E

多尺度融合过程如下所示:

将输入图像分解为拉普拉斯金字塔(提取细节层),该金字塔基本上包含不同尺度的带通滤波图像。然后分别对每个级别进行混合。多分辨率(多尺度)融合在避免接缝方面非常有效,因为它混合了图像特征而不是强度。

另一篇有意思的论文:

An Analysis and Implementation of the HDR+ Burst Denoising Method

传统多帧的HDR图像融合方式最大的缺点是容易产生运动伪影,在拍摄高速运动场景中的运动物体时候或者相机发生抖动的时候,由于拍摄多帧之间的帧间隔时间,图像内容往往会发生较大改变(不仅仅是亮度),因此需要联合鬼影消除和图像配准等方式,算法会变得更为复杂。

HDR Sensor

现代HDR技术更多依赖于硬件的支持,其中最重要的就是CMOS Image Sensor。

Interlaced HDR(iHDR)

为了解决鬼影问题,诞生了隔行曝光(Interlaced)HDR。采用这种技术的sensor,以行为单位,一组做长曝光,一组做短曝光,比如奇数组短曝光,偶数组长曝光(由于bayer阵列的结构,一般是两行为一组)。这样在一帧中就同时包含了长曝光和短曝光的行。算法最后会进行融合处理。iHDR会使得空间分辨率损失一半,主要的iHDR的技术有Sony的BME-HDR和OV的Alternate row HDR。

索尼的BME 是 binned multiplexed exposure 的缩写。这种 sensor 每隔两行的曝光时间分别设为 短曝光和长曝光。然后融合长短曝光的两帧图像,成为行数减半的一帧 HDR 图像。空间分辨率损失了一半,就好像是做了 1x2 binning,所以叫做 binned multiplexed exposure。 IMX135 和 IMX258 使用了这一技术。

OV的alternate row HDR 是每两行用一个曝光,long 或者short。对应长曝光、短曝光行的gain也可以分开控制。与sony 的BME HDR 类似,这个alternate row HDR 会损失一半的空间分辨率。

zHDR(Zig-zag HDR)

iHDR技术最大的问题是空间分辨率损失的问题,zHDR基本思想源自iHDR,但做了改进。zHDR不再以行为单位做曝光时间区分,而是按照Z字形方式组织长曝光和短曝光的数据。 zHDR是由SONY提出的iHDR的升级版本, 具体的实现方案主要是SONY的SME-HDR。

SME 是 Spatially multiplexed exposure 的缩写。这种 sensor 在空间上以棋盘格的 pattern 排列着长曝光和短曝光的像素。然后通过算法处理融合两个曝光的图像成为一帧 HDR 图像。IMX214 采用了这一技术。

QHDR(QB-HDR)

QBC 是 quad bayer coding 的缩写。这种 sensor 的设计是:每个像素是有四个子像素组成, 他们公用一个 color filter。在非 HDR 模式下,四个像素合并成一个输出值,在 HDR 模式时,会把四个像素分成两组,对角线方向的分到同一组,135 度的那组曝光要短于 45 度的那组,然后再 scale+combine,这样就生成完全 pixel 位置的 HDR 图像。IMX294CJK 采用了这个技术。

行交织HDR(Digital-Overlap)

索尼的DOL(Digital-Overlap) HDR相比传统HDR读取完每一行所有像素然后开始曝光,完成后再分别进行长中短这种低效模式下,DOL HDR的长中短三次读取曝光是同时进行的(准同时)效率更高。DOL HDR相比传统HDR读取完每一行所有像素然后开始曝光,完成后再分别进行长中短这种低效模式下,DOL HDR的长中短三次读取曝光是同时进行的(准同时)效率更高。IMX290 使用了这一技术。(IMX274LQC也使用了该技术)

OV的Staggered HDR:staggered HDR 与sony 的Dol 类似,不同的是Sony 最多支持4:1 曝光输出,即long,medium,short,veryshort。而OV 最多支持3:1 输出,即long,medium,short。

传统的多帧HDR是以帧为单位,只有第一帧所有行完成曝光后才开始第二帧的曝光,如下图所示

而行交织DOL  HDR只要长曝光行曝光结束就开始短曝光行的曝光,这种方式避免了传统多帧HDR方式对于拍摄高速移动物体场景的限制。

大小pixel HDR Sensor

与普通CFA的不同,大小pixel技术的sensor在相邻位置有一大一小两个pixel,他们空间上非常接近,可以认为对空间采样相同。IMX490 采用了此技术

由于pixel的大小不同,物理上的sensitivity不同,FWC也不同,会产生与时域HDR一样的不同曝光效果,形成了对不同动态范围的覆盖。

DCG Sensor 

据说这是小米10 至尊纪念版主摄技术

Dual一词也就说明了一个pixel下有两个方案--Low conversion gain(LCG)和high conversion gain (HCG)。 LCG应对于明亮的场景,DCG处于打开状态;HCG应对低光场景,DCG处于关闭状态,灵敏度增加。CG值越高,电子更容易被探测到,也就是sensitivity越高。

双摄HDR

这个不用多说,就是使用两个摄像头,一颗摄像头负责短曝光,一颗摄像头负责长曝光,后期通过HDR多帧融合算法融合即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

首程控股再发停车资产类REITs,行业走向“资产管理模式”

伴随着资产证券化的快速发展,交易结构设置和底层资产类型也愈加丰富多样。 近日,首程控股完成“国君-首程控股智慧停车第二期资产支持专项计划”的正式发行。据了解,该产品的优先级利率为2.40%,发行规模达到人民币3.70亿元&#…

如何写出优秀的单元测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 写出优秀的单元测试需要考虑以下几个方面: 1. 测试用例设计 测试用例应该覆盖被测试代码的不同场景和边界情况,以尽可能发现潜在的问题。…

PostgreSQL的学习心得和知识总结(一百六十四)|深入理解PostgreSQL数据库之在 libpq 中支持负载平衡

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

批量合并多个Excel到一个文件

工作中,我们经常需要将多个Excel的数据进行合并,很多插件都可以做这个功能。但是今天我们将介绍一个完全免费的独立软件【非插件】,来更加方便的实现这个功能。 准备Excel 这里我们准备了两张待合并的Excel文件 的卢易表 打开的卢易表软件…

shell编程(完结)

shell编程(完结) 声明! 学习视频来自B站up主 ​泷羽sec​​ 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其…

docker 容器相互访问

目前采用 network 方式 1. 创建自定义网络 docker network create network-group 如下 2. 相互访问的容器更改(目前演示redis 以及netcore api 访问redis ) //redis 原有容器删除 跟之前区别就是加入 --network network-group docker run \ -p 6379:…

nVisual关于钉钉小程序打开项目及调试说明

关于钉钉小程序开发者工具的使用对于没有接触过的人可能比较陌生。如果需要部署钉钉小程序是需要对钉钉小程序开发者工具有一定的了解的,需要在此做部分上线前的测试及在开发者工具中上传项目包,故此做部分工具的解释。 分三部分来进行解释:…

免费下载 | 2024算网融合技术与产业白皮书

《2024算网融合技术与产业白皮书(2023年)》的核心内容概括如下: 算网融合发展概述: 各国细化算网战略,指引行业应用创新升级。 算网融合市场快速增长,算力互联成为投资新热点。 算网融合产业模式逐渐成型…

基于docker搭建pulsar和使用攻略

pulsar Pulsar是一个由yahoo公司于2016年开源的消息中间件,2018年成为Apache的顶级项目 我们先来看一下架构,从架构来看,和其他的消息中间件差不多,都是有消费者,生产者和broker,唯一一点不同的是pulsar的数据存储是…

[代码随想录16]二叉树的重新构造,路径总和,左下角的值

前言 关于二叉树的题目,我认为主要是把基础的思想掌握了,剩下的还是拼装和组合的题目,我们重要的就是学会一些基本的二叉思路,递归好还是迭代好,怎么递归和怎么迭代,二叉树的题目在面试过程中考的是挺多的&…

数据链路层(Java)(MAC与IP的区别)

以太网协议: "以太⽹" 不是⼀种具体的⽹络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等; 例如以太⽹中的⽹线必须使⽤双绞线; 传输速率有10M, 100M, 1000M等; 以太…

梳理你的思路(从OOP到架构设计)_基本OOP知识04

目录 1、 主动型 vs.基於被动型 API 1)卡榫函数实现API 2)API的分类 3)回顾历史 4)API >控制力 2、 结语&复习: 接口与类 1)接口的表示 2)Java的接口表示 1、 主动型 vs.基於被动…

题解 - 取数排列

题目描述 取1到N共N个连续的数字(1≤N≤9),组成每位数不重复的所有可能的N位数,按从小到大的顺序进行编号。当输入一个编号M时,就能打印出与该编号对应的那个N位数。例如,当N=3时,可…

FPGA实现GTP光口数据回环传输,基于Aurora 8b/10b编解码架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案 3、工程详细设计方案工程设计原理框图用户数据发送模块基于GTP高速接口的数据回环传输架构GTP IP 简介GTP 基本结构GTP 发送和接收…

【Linux】常用Linux命令大全(持续更新)

前言 汇总常用linux命令及用法,方便大家在日常工作中操作linux的便捷性 一、top命令 top 是一个在 Linux 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息    在键入top命令…

美畅物联丨JS播放器录像功能:从技术到应用的全面解析

畅联云平台的JS播放器是一款功能十分强大的视频汇聚平台播放工具,它已经具备众多实用功能,像实时播放、历史录像回放、云台控制、倍速播放、录像记录、音频播放、画面放大、全屏展示、截图捕捉等等。这些功能构建起了一个高效、灵活且用户友好的播放环境…

SQL server学习03-创建数据表

目录 一,SQL server的数据类型 1,基本数据类型 2,自定义数据类型 二,使用T-SQL创建表 1,数据完整性的分类 2,约束的类型 3,创建表时创建约束 4,任务 5,由任务编写…

右玉200MW光伏电站项目 微气象、安全警卫、视频监控系统

一、项目名称 山西右玉200MW光伏电站项目 微气象、安全警卫、视频监控系统 二、项目背景: 山西右玉光伏发电项目位于右玉县境内,总装机容量为200MW,即太阳能电池阵列共由200个1MW多晶硅电池阵列子方阵组成,每个子方阵包含太阳能…

【Linux系统】—— 权限的概念

【Linux系统】—— 权限的概念 1 权限1.1 什么是权限1.2 为什么要有权限1.3 理解权限 2 文件的权限2.1 文件角色2.2 文件权限2.3 修改文件权限2.3.1 修改目标属性2.3.1.1 字符修改法2.3.1.2 8进制修改法 2.3.2 修改角色 3 文件权限补充知识点3.1 只能修改自己的文件权限3.2 没有…

重生之我在异世界学编程之C语言:深入文件操作篇(上)

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 函数递归与迭代 引言正文一、为什么要用文件二、文…