当前位置: 首页 > news >正文

【ISP】HDR算法

  问题:对于高动态场景,相机sensor表示范围有限,容易出现过曝问题。


方法:

1. Burst Photography

HDR+ 使用 burst photography 方法,利用N帧欠曝帧(同gain低shutter)融合成一张正常曝光图像(等效同gain长shutter)。

但是此方法,相对于使用等效曝光时间得到的正常曝光图像,读噪声(高斯底噪)变为原来的N倍,导致暗部信噪比差。

 2.  exposure bracketing

包围曝光通过取一帧长曝帧,用来改善暗部细节,将暗部区域融合长曝光帧。

长曝帧一般后取(快门之后获取)。

正常场景欠曝帧可以前取(预览流)

夜景全部后取

  2.  exposure bracketing 2.0

1. 暗部区域通过长曝帧改善。

2. 高光过曝直接通过低gain的欠曝帧改善(数字gain后,信噪比等效中爆)。

3. 中曝通过多帧融合进行多帧降噪,进一步减少中间调的底噪和泊松噪声。

类型欠爆 中爆长曝光噪声(比G+S)
burst photographyN
G+S(短)
底噪变为N倍
泊松相等
exposure bracketingN
G+S(短)
1
G+S(长)
底噪降低
泊松相等
exposure brackting2.01
G(小)+S
N/2
G+S
1
G+S(长)
底噪降低
泊松降低

 

 Deghost重建

1. 对齐到中爆帧,检测中曝帧(base帧)和参考帧的运动区域(差异区域)。

优点:可以对齐到base帧,欠曝帧非高光运动区域使用高帧,避免噪声太强问题。

缺点:高光运动区域重建困难,容易产生鬼影。

  • (低→高)重建高曝帧对齐到base帧;“运动”区域取base帧。
  • (高→低)  重建低曝帧对齐到base帧;“运动”区域取base帧,“高光运动区域”进行保留或生成。
    • 对于base高光运动区域若在欠曝帧上存在(例如黄色区域),则对欠曝帧计算光流warp后进行保留。
    • 对于base高光运动区域若在欠曝帧不存在 (例如欠曝帧手臂区域),则留空进行后续生成算法处理。

中曝帧(base),欠曝帧,高爆帧。 

2. 对齐到欠爆帧,检测欠曝帧和参考帧的运动区域(差异区域)。

优点:没有高光运动重建,不易产生鬼影。

缺点:非高曝运动区域使用欠曝帧信息,信噪比较低(特别是阴影区域)。

对运动区域依次重建中曝帧,和高曝帧。

高动态融合

重建后将高光区域融合欠曝帧,阴影融合高曝帧,可以得到一张高质量的高动态图像。

若不进行重建直接进行融合,会得到一张错误的融合结果。 

 PIPLine参考:

参考资料:

2021  HDR+ with Bracketing on Pixel Phones

2018 See Better and Further with Super Res Zoom on the Pixel 3

2019 Handheld Multi-Frame Super-Resolution

2021 HDR Video Reconstruction: A Coarse-to-fine Network and A Real-world Benchmark Dataset

2022 A Lightweight Network for Hight Dynamic Range Imaging

2019 Attention-guided Network for Ghost-free High Dynamic Range Imaging

2021 Efficient Multi-Stage Video Denoising with Recurrent Spatio-Temporal Fusion

http://www.dtcms.com/a/101913.html

相关文章:

  • AWS Lambda 集成更新详解:打造无缝云函数体验
  • Vuex状态管理
  • socket系统调用的参数涵义
  • 卡尔曼滤波入门(二)
  • Python之文件操作详解
  • Python FastApi(7):请求体
  • 在win11 环境下 新安装 WSL ubuntu + 换国内镜像源 + ssh + 桌面环境 + Pyhton 环境 + vim 设置插件安装
  • 私有化部署dify + DeepSeek-R1-Distill-Qwen-32B + bge-m3
  • Razer macOS v0.4.10快速安装
  • 【21期获取股票数据API接口】如何用Python、Java等五种主流语言实例演示获取股票行情api接口之沪深A股阶段主力动向数据及接口API说明文档
  • 【Linux】System V信号量与IPC资源管理简易讲解
  • Dubbo 通信流程 - 服务的调用
  • TCP可靠传输与慢启动机制
  • 项目上传github——SSH连接配置文档
  • 无参数读文件RCE
  • STRUCTBERT:将语言结构融入预训练以提升深度语言理解
  • AWS Aurora存算分离架构
  • Java可变参数:灵活的函数调用方式
  • 前端Material-UI面试题及参考答案
  • 洛谷题单1-P1001 A+B Problem-python-流程图重构
  • 初识 spring ai 之rag、mcp、tools calling使用
  • 存储效能驱动业务价值:星飞全闪关键业务场景性能实测报告
  • 解释 Webpack 中的模块打包机制,如何配置 Webpack 进行项目构建?
  • 调用deepseek大模型时智能嵌入函数
  • 使用 Spring AI Aliabab Module RAG 构建 Web Search 应用
  • 中药材图像分类,解锁小样本高精度建模秘籍-MATLAB赋能科研:基于AlexNet的迁移学习
  • 力扣hot100——最长连续序列(哈希unordered_set)
  • 力扣 第 153 场双周赛 讲题
  • 【redis】集群 数据分片算法:哈希求余、一致性哈希、哈希槽分区算法
  • 通过万能SPI设备驱动spidev.c来操作挂接在SPI总线上的SPI设备(DAC模块)【spidev.c代码详解、SPI控制器及SPI设备的设备树语句解析】