论文阅读:Auto White-Balance Correction for Mixed-Illuminant Scenes

论文阅读:Auto White-Balance Correction for Mixed-Illuminant Scenes

今天介绍一篇混合光照下的自动白平衡的文章

Abstract

自动白平衡(AWB)是相机 ISP 通路中比较重要的一个模块,主要用于校正环境光照引起的色偏问题,不过常见的 AWB 算法都是基于单光照的假设去做的,然而,实际场景中都是多光源环境,这篇文章提出了一种高效的方法去处理实际场景中的多光源问题,与传统 AWB 方法的一个显著不同点在于,这篇文章不需要对光照进行估计,而是通过对一组预设的白平衡参数,将预设的白平衡参数的权重进行调节,然后加权得到混合光照下的白平衡效果,实验结果说明这种方法相比之前的单光照或者混合光照下的白平衡算法都更有效。

Introduction

自动白平衡是相机 ISP 通路中的一个重要模块,ISP 通过一系列的处理模块,比如去马赛克,降噪,白平衡,tone mapping 等,将 sensor RAW 图处理得到最终的 RGB 图,白平衡处理是 ISP 通路中比较靠前的一个模块,这个模块的作用主要是为了校正环境光照引起的色偏,以模拟人眼的色彩常恒性的特点。

AWB 通常包括两个步骤,第一步是估计环境中的光源;第二步是基于环境中的光源估计,用相应的 AWB 参数进行白平衡处理。第一步是关键,准确的光源估计是白平衡是否校正成功的重要前提,因为第二步基本就是基于光源估计给出 RGB 三个通道的系数,让三个通道分别乘以这三个系数,就完成了白平衡的校正。

之前的很多 AWB 的工作都是基于单光源估计的 AWB 校正方法,这种单光源的假设对于实际场景来说,过于简单。如图一所示,图一展示了一个典型的混合光源场景,一部分是窗外的天空,一部分是室内的场景,如果用单一光源做白平衡校正,总会出现另外一部分场景出现色彩偏差的问题。

在这里插入图片描述

Method

在这里插入图片描述

这篇文章的算法流程如图-2 所示,给定一张去马赛克之后的图,先用一组给定光照下的 AWB 参数进行处理,然后最终 AWB 的图,可以基于这组图的一个线性组合:

I c o r r ↓ = ∑ i W i ⊙ I c i ↓ (1) I_{corr \downarrow} = \sum_{i} W_i \odot I_{c_i \downarrow} \tag{1} Icorr=iWiIci(1)

I c o r r ↓ I_{corr \downarrow} Icorr 是最终校正后的图, W i W_i Wi 是最终融合的权重。

为了构造这样的数据对,文章作者先将一张去马赛克之后的图进行一个固定 AWB(比如日光下) 的处理得到 I i n i t I_{init} Iinit,然后构造一个映射关系,将固定 AWB 下的图映射到对应光照下的图:

I ^ c i = M c i ϕ ( I i n i t ) (2) \hat{I}_{c_i} = M_{c_i} \phi (I_{init}) \tag{2} I^ci=MciϕIinit)(2)

I ^ c i \hat{I}_{c_i} I^ci 是目标 AWB 下的图, ϕ \phi ϕ 表示一个多项式的核函数, M c i M_{c_i} Mci 表示一个映射矩阵,通过类似一个最小二乘的方法,可以得到 M c i M_{c_i} Mci 映射矩阵。

然后,基于这些 I ^ c i \hat{I}_{c_i} I^ci,我们需要进一步去学习融合权重,文章中利用了一个 DNN 模型去学习这个映射权重,为了训练这个映射网络,文章利用了一个公开的数据集,里面包含了大约 65k 的图像样本,每个样本都有一个正确的 AWB 的校正图,这个作为 GT,从这个数据里面,文章作者挑选了大概 9200 张图,然后通过前面介绍的 AWB 处理方法,得到了不同关照下的 AWB 校正图,这些光照包括 2850 Kelvin (K), 3800 K, 5500 K, 6500 K, and 7500 K,分别对应一些典型的色温场景,然后构造了如下的 loss 函数进行训练:

L r = ∥ P c o r r − ∑ i W ^ i ⊙ P c i ∥ F 2 (3) \mathcal{L}_r = \left \| P_{corr} - \sum_{i} \hat{W}_i \odot P_{c_i} \right \|_{F}^{2} \tag{3} Lr= PcorriW^iPci F2(3)

其中, P c o r r P_{corr} Pcorr P c i P_{c_i} Pci 分别表示 GT 图像和输入图像中抽取的图像块,$\hat{W}_i $ 表示最终需要训练学习得到的权重图,为了在最终重建的输出图中,出现色彩空间之外的颜色,文章作者对输出做了一个 cross-channel softmax 的操作。为了保证权重图的平滑性,文章作者还加了一个 TV 平滑项:

L s = ∥ W ^ i ∗ ▽ x ∥ F 2 + ∥ W ^ i ∗ ▽ y ∥ F 2 (4) \mathcal{L}_s = \left \|\hat{W}_i \ast \bigtriangledown_{x} \right \|_{F}^{2} + \left \|\hat{W}_i \ast \bigtriangledown_{y} \right \|_{F}^{2} \tag{4} Ls= W^ix F2+ W^iy F2(4)

最终的损失函数如下所示:

L = L r + L s \mathcal{L} = \mathcal{L}_r + \mathcal{L}_s L=Lr+Ls

推理的时候,文章中先用固定的 AWB 参数生成不同的 AWB 图,然后连接到一起送入网络,为了提升最终的 AWB 校正效果,文章中还试过聚合的策略,将输入的图用了三个不同的尺度,1.0,0.5, 0.25,将这三个不同尺度的输出都上采样到原始大图的大小,然后再取平均,文章还提到用导向滤波的方式进行后处理,可以得到更边缘平滑的权重图,最后的 AWB 校正图如下式所示:

I c o r r = ∑ i W i ↑ ⊙ I c i (1) I_{corr} = \sum_{i} W_{i \uparrow} \odot I_{c_i} \tag{1} Icorr=iWiIci(1)

在这里插入图片描述

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

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

相关文章

js-webApi 笔记2之DOM事件

目录 1、表单事件 2、键盘事件 3、事件对象 4、排他思想 5、事件流 6、捕获和冒泡 7、阻止默认和冒泡 8、事件委托 9、事件解绑 10、窗口加载事件 11、窗口尺寸事件 12、元素尺寸和位置 13、窗口滚动事件 14、日期对象 15、节点 16、鼠标移入事件 1、表单事件 获取…

【信息安全】浅谈IDOR越权漏洞的原理、危害和防范:直接对象引用导致的越权行为

前言 ┌──────────────────────────────────┐ │ 正在播放《越权访问》 - Hanser │ ●━━━━━━─────── 00:00 / 03:05 │ ↻ ◁ ❚❚ ▷ ⇆ └───────────────────────────────…

vite+vue3+electron开发环境搭建

环境 node 18.14.2 yarn 1.22 项目创建 yarn create vite test01安装vue环境 cd test01 yarn yarn dev说明vue环境搭建成功 安装electron # 因为有的版本会报错所以指定了版本 yarn add electron26.1.0 -D安装vite-plugin-electron yarn add -D vite-plugin-electron根目…

【微软技术栈】C#.NET 中的管道操作

C#.NET 管道为进程间通信提供了平台。 管道分为两种类型: 匿名管道。 匿名管道在本地计算机上提供进程间通信。 与命名管道相比,虽然匿名管道需要的开销更少,但提供的服务有限。 匿名管道是单向的,不能通过网络使用。 仅支持一个服…

C++赋值运算符重载

c编译器至少给一个类添加4个函数 默认构造函数(无参,函数体为空)默认析构函数(无参,函数体为空)默认拷贝构造函数,对属性进行值拷贝赋值运算符 operator, 对属性进行值拷贝 如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝…

杭州-区块链前瞻性论坛邀请函​

2023密码与安全前瞻性论坛邀请函 生成合法节点或非法节点,测试共识协议

Leetcode -2

Leetcode Leetcode -263.丑数Leetcode -268.丢失的数字 Leetcode -263.丑数 题目:丑数就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 示例…

若依框架数据源切换为pg库

一 切换数据源 在ruoyi-admin项目里引入pg数据库驱动 <dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.2.18</version> </dependency>修改配置文件里的数据源为pg spring:d…

【AD封装】芯片IC-SOP,SOIC,SSOP,TSSOP,SOT(带3D)

包含了我们平时常用的芯片IC封装&#xff0c;包含SOP,SOIC,SSOP,TSSOP,SOT&#xff0c;总共171种封装及精美3D模型。完全能满足日常设计使用。每个封装都搭配了精美的3D模型哦。 ❖ TSSOP和SSOP 均为SOP衍生出来的封装。TSSOP的中文解释为&#xff1a;薄的缩小型 SOP封装。SSO…

TableUtilCache:针对CSV表格进行的缓存

TableUtilCache:针对CSV表格进行的缓存 文件结构 首先来看下CSV文件的结构&#xff0c;如下图&#xff1a; 第一行是字段类型&#xff0c;第二行是字段名字&#xff1b;再往下是数据。每个元素之间都是使用逗号分隔。 看一下缓存里面存储所有表数据的字段 如下图&#xff…

Consistency Models 阅读笔记

Diffusion models需要多步迭代采样才能生成一张图片&#xff0c;这导致生成速度很慢。Consistency models的提出是为了加速生成过程。 Consistency models可以直接一步采样就生成图片&#xff0c;但是也允许进行多步采样来提高生成的质量。 Consistency models可以从预训练的扩…

AI创作系统ChatGPT网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

C#WPF数据模板应用实例

一、数据模板定义 数据模板是一块定义如何显示绑定的数据对象的XAML标记。 有两种类型的控件支持数据模板: 1、内容控件 通过ContentTemplate属性支持数据模板。内容模板用于显示任何放置在Content属性中的内容。 2、列表控件(继承自ItemsControl类的控件) 通过ItemsTem…

tomcat8.5处理get请求时,控制台输出中文乱码问题的解决

问题描述 控制台输出中文乱码 版本信息 我使用的是tomcat8.5 问题解决 配置web.xml 注&#xff1a;SpringMVC中处理编码的过滤器一定要配置到其他过滤器之前&#xff0c;否则无效 <!--配置springMVC的编码过滤器--> <filter><filter-name>CharacterEn…

11月18日,每日信息差

今天是2023年11月18日&#xff0c;以下是为您准备的11条信息差 第一、香港空运物流能力大幅提升 第二、小米汽车已完成部分城市门店店长培训&#xff0c;每月薪资最高达3.5万元 第三、重庆东方雨虹生产研发物流基地屋顶光伏电站项目并网发电。据测算&#xff0c;项目建成后年…

数据分析思维与模型:多维度拆解分析法

多维度拆解分析法"&#xff08;Multi-Dimensional Analysis and Decomposition Method&#xff09;是一种用于深入分析和解决复杂问题的方法论。这种方法侧重于从多个角度或维度来考察问题&#xff0c;以便于更全面地理解和解决它们。它通常包括以下几个步骤&#xff1a; …

紫色调城市和奔跑人物剪影背景工会工作总结汇报PPT模板

这是一套紫色调城市和奔跑人物剪影背景工会工作总结汇报PPT模板&#xff0c;共33页&#xff1b; PPT模板封面&#xff0c;使用了蓝天白云、城市剪影、奔跑人物剪影背景图片。中间填写工会工作总结汇报PPT标题。界面色彩丰富充满活力。 PowerPoint模板内容页&#xff0c;由31张…

麒麟 ZYJ 服务器软件适配 参考示例

一、zyj 环境简介 1. ZYJ 概述 国产化 SMZYJ 是由国家 BM 主管部门鉴定并批准生产使用的国内自主开发的 整机 JM 国标设备&#xff0c;设备采用了自主设备基础硬件&#xff08;飞腾、国科微等&#xff09;、安全硬 件自主固件&#xff08;昆仑等&#xff09;自主 SM 专用操作…

Unity中Shader立方体纹理Cubemap

文章目录 前言一、什么是立方体纹理二、立方体纹理的生成方式1、使用6个面的生成方式2、使用单张图片的生成方式 三、Cubemap的采样方式四、在Unity中看一下Cubemap五、在Shader中&#xff0c;对立方体纹理进行采样使用1、我们在属性面板定义一个Cube类型的变量来存放立方体纹理…