噪声建模在一小时:最小化准备工作的自监督低光RAW图像去噪

论文标题:
Noise Modeling in One Hour: Minimizing Preparation Efforts for Self-supervised Low-Light RAW Image Denoising
发表日期:
2025年5月
作者:
Feiran Li, Haiyang Jiang*, Daisuke Iso
发表单位:
Sony Research, Tokyo University
原文链接:
https://arxiv.org/pdf/2505.00045
开源代码链接:
https://github.com/SonyResearch/raw_image_denoising

引言

在低光环境下拍摄RAW图像时,噪声问题总是令人头疼。传统降噪方法需要大量成对的干净-噪声图像进行训练,而索尼研究院的这项研究提出了一种自监督学习方法,仅需1小时的准备时间就能完成噪声建模,性能还比现有方法提升了0.54dB。这项技术将大大降低低光摄影的门槛,让更多人能拍出清晰的照片。

论文中的方法架构图展示了这个创新的降噪流程:

实验结果对比图显示,该方法在保持图像细节的同时有效去除了噪声:

实验结果对比图

量子效率统计图展示了该方法在传感器特性分析方面的创新:

量子效率统计图

问题背景及相关工作

在低光环境下拍摄RAW图像时,噪声问题尤为突出。相比标准RGB图像,RAW图像保留了原始噪声特性,具有更高的位深度,因此在降噪方面展现出巨大潜力。然而,基于学习的方法需要大量成对的干净-噪声图像进行训练,这在实践中往往难以实现。

传统噪声合成方法通常需要传感器特定的建模,包括信号依赖和信号无关的噪声合成两个步骤。这些步骤往往需要大量人工干预和复杂流程,如系统增益校准和噪声分析,耗时可达数天。

现有的噪声合成方法主要分为两类:基于统计模型的方法和基于神经网络的方法。前者如ELD方法识别了RAW传感器数据中的四种关键噪声元素;后者如NoiseFlow使用流模型进行噪声建模。但这些方法都存在实现复杂或部署困难的问题。

方法概述

本论文提出了一种简单实用的噪声合成流程,通过详细分析噪声特性和广泛验证现有技术,大大减少了准备时间。该方法的核心在于:

假设量子效率:通过假设量子效率值来合成光子散粒噪声,避免了繁琐的系统增益校准过程

直接采样信号无关噪声:直接从传感器采集暗帧作为信号无关噪声的样本,省去了复杂的噪声分析步骤

暗影校正:通过暗影校正消除时间一致性噪声的影响,提高训练效果

术语解读

RAW图像:直接从相机传感器输出的未经处理的图像数据,保留了更多的原始信息

系统增益K:由量子效率(QE)和模拟增益(AG)组成,K=QE×AG,是噪声建模中的关键参数

暗帧:在完全黑暗条件下拍摄的图像,仅包含传感器自身产生的噪声

光子散粒噪声:由光的量子特性引起,服从泊松分布,是信号依赖噪声的主要成分

核心设计

本方法的整体流程如图2所示:

图2:降噪流程概览。在准备阶段,本文为每个模拟增益收集多个暗帧并计算相应的暗影。为了合成一对训练图像,本文假设一个系统增益K来生成泊松散粒噪声图,并将其与采样得到的暗影校正暗帧一起添加到干净图像中。在推理阶段,给定一个噪声图像,本文从中减去暗影后输入网络。

该方法的核心创新点在于:

基于假设的散粒噪声合成:通过假设量子效率值来估计系统增益K,避免了复杂的校准过程

直接采样信号无关噪声:使用直接从传感器采集的暗帧作为信号无关噪声的样本

暗影校正:通过暗影校正消除时间一致性噪声的影响

论文主体思路

本论文的主要研究思路可以总结如下:

应用场景:低光环境下RAW图像去噪

问题建模:通过噪声合成实现自监督学习,解决成对数据不足的问题

模型Backbone:采用U-Net作为去噪网络,与现有工作保持一致

损失函数:使用L1损失函数

训练数据集:使用合成的噪声-干净图像对

测试数据集:SID、ELD和LRID数据集

训练方法:使用Adam优化器训练1000个epoch,其中400个epoch用于微调

方法优势:准备时间从数天缩短至1小时,性能提升0.54dB

方法缺点:需要已知模拟增益(AG),对普通消费者相机用户可能不友好

主要创新点

基于假设的散粒噪声合成:通过假设量子效率值来估计系统增益K,避免了复杂的校准过程

直接采样信号无关噪声:使用直接从传感器采集的暗帧作为信号无关噪声的样本

暗影校正:通过暗影校正消除时间一致性噪声的影响

简化流程:将准备时间从数天缩短至1小时,同时保持甚至提升去噪性能

核心原理推导

本方法基于以下图像形成模型:

其中Kd是用于亮度调整的数字增益,Ka是应用于模拟信号的系统增益,X是与场景辐照度成正比的实际光子数,Np是信号依赖噪声,N1和N2是两种信号无关噪声。

信号依赖噪声主要来自光子散粒噪声,服从泊松分布:

系统增益K由量子效率(QE)和模拟增益(AG)组成: 

基于量子效率的物理约束(通常在30%-70%之间),可以安全地假设K值而不需要精确校准。

数据准备及实验设计

实验使用了三个流行的低光RAW图像去噪数据集:

SID:使用Sony-A7S2全画幅单反相机拍摄

ELD:使用另一台Sony-A7S2相机拍摄

LRID:使用Redmi K30智能手机的IMX686传感器拍摄

实验对比了多种方法,包括:

监督方法:使用真实噪声-干净图像对训练

自监督方法:基于干净图像合成噪声

混合方法:使用合成数据进行预训练,真实图像对进行微调

实验结果

在SID和ELD数据集上,本文方法以46.43dB的平均PSNR刷新了自监督降噪记录,甚至超过部分监督学习方法。来看关键数据对比:

图3:不同噪声合成方法的定性对比。所有图像都经过简单的图像信号处理流程转换为sRGB格式以便更好可视化。ELD和SFRN在图像边界处表现出明显的颜色偏差,而本文方法则没有。

在智能手机传感器测试集LRID上,本文方法展现出45.08dB的惊人表现,比现有最佳方法提升0.54dB。更令人惊喜的是,使用仅10个暗帧进行在线校准时的性能损失不超过0.1dB!

图4:不同模型拟合信号无关噪声的分位数-分位数图

图4:不同模型拟合信号无关噪声的分位数-分位数图。左:重采样数据与用于模型拟合数据的对比(即建模精度)。右:重采样数据与未见暗帧数据的对比(即泛化精度)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Puppeteer 浏览器自动化操作工具

pyppeteer 是 Python 版本的 Puppeteer,而 Puppeteer 是由 Google 开发的一个 Node.js 库,用于控制 Chrome 或 Chromium 浏览器。pyppeteer 允许你通过 Python 代码自动化操作浏览器,实现网页爬取、自动化测试、生成截图或 PDF 等功能。 核心…

接口性能测试-工具JMeter的学习

接口登录链接http://111.230.19.204:8080/blog_login.html 一、JMeter基本使用流程 1、启动Jmeter 2、在“测试计划”下添加线程组 3、在“线程组”下添加“HTTP”取样器 4、填写“HTTP请求”的相关请求数据 5、在“线程组”下添加“查看结果树”监听器 6、点击“启动”按钮…

mybatis-plus与jsqlparser共用时报sql解析错误

手动引入jsqlparser-4.6版本,但mybatis-plus中引用为4.4版本 解决方法一: jsqlparser版本与mybatis-plus中引用版本一致。 解决方法而二: 排除掉mybatis-plus中的jsqlparser。

用MMdetection框架训练自己的数据集(全流程实战)

前面我们准备好了COCO格式的数据集:将YOLO格式的数据集转换为mmdetection格式-CSDN博客https://blog.csdn.net/qq_54708219/article/details/148224187?spm1001.2014.3001.5501 下面我们使用MMdetection开始训练。 1.创建新的数据集类 首先,在mmdet/d…

VS Code中Maven未能正确读取`settings.xml`中配置的新路径

在VS Code中Maven未能正确读取settings.xml中配置的新路径,通常是由于以下原因导致的: 一、VS Code未使用你修改的settings.xml文件 VS Code的Maven插件可能使用了默认配置或指向其他settings.xml文件。解决方法: 手动指定settings.xml路径…

2021年认证杯SPSSPRO杯数学建模A题(第二阶段)医学图像的配准全过程文档及程序

2021年认证杯SPSSPRO杯数学建模 A题 医学图像的配准 原题再现: 图像的配准是图像处理领域中的一个典型问题和技术难点,其目的在于比较或融合同一对象在不同条件下获取的图像。例如为了更好地综合多种信息来辨识不同组织或病变,医生可能使用…

RPM之(1)基础使用

RPM之(1)基础使用 Author: Once Day Date: 2025年5月26日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Linux实践记录_Once-Day的博客-CSDN博客 …

国内可做大批量pcb的工厂有哪些?

在电子产业升级浪潮中,PCB作为电子设备的基础载体,其批量生产能力直接决定着终端产品的市场响应速度与品质稳定性。本文精选五家具备核心竞争力的厂商,从工艺深度、产能规模到服务模式展开剖析,为采购决策提供专业参考。 猎板PCB…

【视频】使用海康SDK保存的MP4无法在浏览器(html5)中播放

1、问题描述 在使用海康 SDK 的 NET_DVR_SaveRealData 接口,将视频流保存成MP4文件后,通过浏览器无法播放MP4,播放其它的MP4正常。 2、原因分析 对比可以正常播放的MP4 和 无法播放的MP4文件,比较它们的详细信息,发…

AI时代新词-生成对抗网络(GAN)

一、什么是生成对抗网络(GAN)? 生成对抗网络(Generative Adversarial Network,简称GAN)是一种由生成器(Generator)和判别器(Discriminator)组成的深度学习模…

使用AutoKeras2.0的AutoModel进行结构化数据回归预测

1、First of All: Read The Fucking Source Code import autokeras as ak import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error# 生成数据集 np.random.seed(42) x np.random.rand(1000, 10) # 生成1…

实战设计模式之访问者模式

概述 访问者模式允许我们在不改变类的前提下,向已有类添加新的功能。简单来说,就是将算法与对象的数据结构进行分离的一种方法。在实际应用中,当我们需要对一组对象执行一些操作,而这些操作又需要随着需求的变化而不断变化时&…

centos7.9使用docker-compose安装kafka

docker-compose配置文件 services:zookeeper:image: confluentinc/cp-zookeeper:7.0.1hostname: zookeepercontainer_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: confluentinc/cp-kafka:7.0…

STM32:Modbus通信协议核心解析:关键通信技术

知识点1【 Modbus通信】 1、Modbus的概述 Modbus是OSI模型第七层的应用层报文传输协议 协议:说明有组包和解包的过程 2、通信机制 Modelbus是一个请求/应答协议 通信机制:主机轮询,从机应答的机制。每个从设备有唯一的地址,主…

LeetCode 3362.零数组变换 III:贪心+优先队列+差分数组——清晰题解

【LetMeFly】3362.零数组变换 III:贪心优先队列差分数组——清晰题解 力扣题目链接:https://leetcode.cn/problems/zero-array-transformation-iii/ 给你一个长度为 n 的整数数组 nums 和一个二维数组 queries ,其中 queries[i] [li, ri] …

ORM++ 封装实战指南:安全高效的 C++ MySQL 数据库操作

ORM 封装实战指南:安全高效的 C MySQL 数据库操作 一、环境准备 1.1 依赖安装 # Ubuntu/Debian sudo apt-get install libmysqlclient-dev # CentOS sudo yum install mysql-devel# 编译时链接库 (-I 指定头文件路径 -L 指定库路径) g main.cpp -stdc17 -I/usr/i…

JESD204B 协议介绍

一、协议概述 JESD204B是由JEDEC(固态技术协会)制定的高速串行接口标准,专为模数转换器(ADC)、数模转换器(DAC)与逻辑器件(如FPGA、ASIC)之间的数据传输设计。其核心目标…

yolov8,c++案例汇总

文章目录 引言多目标追踪案例人体姿态估计算法手势姿态估计算法目标分割算法 引言 以下案例,基于c,ncnn,yolov8既可以在windows10/11上部署, 也可以在安卓端部署, 也可以在嵌入式端部署, 服务器端可支持部署封装为DLL,支持c/c#/java端调用 多目标追踪案例 基于yolov8, ncnn,…

运动规划实战案例 | 图解基于状态晶格(State Lattice)的路径规划(附ROS C++/Python仿真)

目录 1 控制采样 vs 状态采样2 State Lattice路径规划2.1 算法流程2.2 Lattice运动基元生成2.3 几何代价函数2.4 运动学约束启发式 3 算法仿真3.1 ROS C仿真3.2 Python仿真 1 控制采样 vs 状态采样 控制采样的技术路线源自经典的运动学建模思想。这种方法将机器人的控制指令空…

BERT框架:自然语言处理的革命性突破

引言 在自然语言处理(NLP)领域,2018年Google推出的BERT(Bidirectional Encoder Representations from Transformers)框架无疑是一场革命。作为基于Transformer架构的双向编码器表示模型,BERT通过预训练学习…