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

论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash

论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash

今天介绍的这篇文章是 2021 年 ICCV 的一篇 oral 文章,主要是为了解决极暗光下的成像问题,通过一个深红的闪光灯补光。实现了暗光下很好的成像效果,整篇文章基本没有任何公式,所用到的网络也比较简单,但最后成了一篇顶会的 Oral 文章,可能主要创新在于软硬件结合吧。

Abstract

本篇文章提出了一种新的闪光灯技术,利用一个深红波段的闪光灯进行补光,文章作者说,他们主要观察到在明亮环境下,人眼由视锥细胞主导成像感知,在暗光环境下,人眼主要由视杆细胞主导成像感知。人眼的视杆细胞对波长大于 620nm 的红外光谱并不敏感,然而相机 sensor 依然有感应。文章作者提出了一种新的调制策略,通过 CNN 网络实现图像引导的滤波,将一张有噪的 RGB 图像与一张闪光拍摄的图像进行融合。同时,文章将这个融合网络,进一步扩展到了视频重建,文章作者搭建了硬件原型,在不同的静态和动态场景都进行了验证,实验结果,证明这种新型闪光灯技术可以取得很好的成像效果,尤其是在暗光环境下。

Introduction

暗光成像是手机摄影中的一个重要特性,为了提升手机暗光成像的能力,现有的方法也做了多种尝试,从对 sensor 的改造,比如将 RGGB 的贝尔模式替换成了 RYYB 的贝尔模式,到后端算法的设计,比如利用多帧曝光技术。

基于闪光灯的摄影技术,同样也有非常悠久的历史,而且一般来说会获得更好的效果,尤其是在非常暗的环境下还有复杂运动的时候,这种时候,多帧融合的方式可能会存在配准对齐失效的问题。不过,闪光摄影技术也有一些弊端,一个是闪光灯发出的光随着距离的增加,衰减地很快,所以闪光灯一般能照射的有效距离不会太远;此外,闪光灯在闪光的一瞬间,对人眼会造成一个很强的炫目,在暗光环境下,这种强烈的闪光也会造成很不舒适的光污染,对暗视觉下的人眼系统造成损伤。如果利用不可见光波段比如近红外或者近紫外的闪光灯,可以一定程度上避免这个问题,不过目前的相机 sensor 一般对近红外或者近紫外没有光谱响应,需要进行定制化的设计。另外一个问题,RGB 域的图像与不可见光波段的图像域,由于物质对不同光谱的反射特性不一样的原因,可能存在一定的差异。这个对跨模态的图像配准与图像融合都存在一定的挑战。

1.1 Human Visual System

接下来,文章对人眼视觉系统做了分析,人眼的视网膜负责人眼对环境光的响应,视网膜上包含两种感光细胞,一种是视锥细胞,一种是视杆细胞,视锥细胞主要负责人眼对明亮环境以及颜色的感知,视锥细胞对 550nm 波长的光谱响应最强烈,视杆细胞主要负责人眼对暗光环境以及亮度的感知,视杆细胞对 500nm 波长的光谱响应最强烈,视杆细胞对长波长的光谱不敏感,视杆细胞对500nm 波长的光谱响应强度是对 650nm 波长的光谱响应强度的 3 倍。视锥细胞与视杆细胞的组合,形成了对中等光强环境的光谱响应。环境由明亮转为黑暗的时候,人眼需要一个更长的时间来适应,反过来,环境由暗转为明亮的时候,人眼的适应时间会更短。

1.2 Deep-Red Flash

文章作者接下来就提出用深红波段的闪光灯来实现暗光下的摄影,与常见的白光闪光灯比,可以感受到的光照强度会更低,对人眼的刺激会更小,而且夜晚视觉会也能够保存。与不可见波段的闪光灯技术相比,普通的相机 sensor 对深红波段是可以直接响应吸收的,不需要另外再对 sensor 定制,另外,深红波段也属于可见光范围内,与 RGB 图像可以更好地融合。

Camera and Flash Module

接下来,文章介绍了整个系统的硬件原型,从图中可以看到,一个可以发射深红波段的闪光灯放置在一个 Camear 旁边,LED 闪光灯通过信号触发,以便闪光灯与拍照能够同步。

在这里插入图片描述

Mesopic Flash Reconstruction

这一部分是文章的算法部分,首先文章分析了如何从深红闪光灯下的图像提取引导信息,文章中用到的 sensor,通过光谱响应分析测定,对于 660nm 波长的深红光谱来说,sensor 的红色通道的响应强度是绿色通道的 4 倍,是蓝色通道响应强度的 10 倍。一个直观的策略是直接用红色通道的信息作为引导信息,不过文章作者发现,这种方式可得到的动态范围比较窄,对于红色物体来说,可能很快就达到饱和了,而对于蓝色物体来说,却无法获得足够的能量强度。

为了分析不同物体对这种深红闪光灯的光谱响应,文章作者用 1269 Munsell 色卡进行分析,这个色卡基本可以代表大多数的自然物体,文章考虑了色卡上的每个色块在理想光照情况下对 660nm 的光谱响应,文章中使用一个恒定的光源,同时色块垂直光源发出的入射光线。最后的统计结果如下图所示:

在这里插入图片描述

上图左边的图表示的是,相比使用单个红色通道,使用三通道的信息,可以获得更大的动态范围。右边的图是一个统计直方图,表明 80% 的自然物体,对深红波段的光谱响应大于 0.1,说明深红波段有广泛的适用性。

接下来介绍图像融合,有了前面的大量铺垫,这个图像融合反而是比较简单的一种方法,文章中就是用了一个 UNet 来实现这个融合操作,文章中就是直接将没有闪光灯时的 RGB 图像与有闪光灯时的 RGB 图像连接在一起,然后送入一个 UNet 网络,实现整个的融合。

文章中,也介绍了如何对视频流进行操作,文章中提出了一种交叉采集图像,然后逐帧融合的方法,采集的时候,采集一帧有闪光的图像,然后再接一帧没有闪光的图像,这样交替地采集下去,为了实现时域的对齐,文章对 Flash-RGB 图像进行配准,因为常规的 RGB 图像噪声很大,很难配准对齐了。而 Flash-RGB 是通过深红闪光灯补光采集到的图像,所以图像的信噪比更好,更容易进行配准,通过 Flash-RGB 图像配准得到的位移向量场,文章中进行了拆分,一部分用于前一帧 Flash-RGB 图像的 warp,与当前帧的 No-Flash RGB 图像对齐融合,另外一部分用于当前帧的 No-Flash RGB 图像的 warp,与当前帧的 Flash-RGB 图像对齐融合,这样做,可以保证帧率不会减少。融合之后,还会再接一个时域平滑的网络,整体的算法框图如下所示:
在这里插入图片描述

Experiments

最后介绍一下实验部分,文章中在训练这个网络的时候,用的是仿真数据,文章中用的是 NYU v2 dataset,给定一张正常的 RGB 图像,通过给 RGB 图像加噪,来模拟暗光下的 RGB 图像,另外对 RGB 图像的三通道直接叠加,模拟深红闪光下的图像,不过为了更好的让网络学习如何利用这个引导信息,文章对模拟的深红图像进行了一个频率调制:

f ( x , y ) = α ⋅ sin ⁡ ( 2 π T ( x − x ˉ ) 2 + ( y − y ˉ ) 2 ) + β f(x, y) = \alpha \cdot \sin(\frac{2 \pi}{T} \sqrt{(x - \bar{x})^2 + (y - \bar{y})^2}) + \beta f(x,y)=αsin(T2π(xxˉ)2+(yyˉ)2 )+β

其中, x ∈ { 1 , 2 , . . . , W } x \in \{1, 2, ..., W \} x{1,2,...,W}, y ∈ { 1 , 2 , . . . , H } y \in \{1, 2, ..., H \} y{1,2,...,H}, α \alpha α 是幅度, x ˉ , y ˉ \bar{x}, \bar{y} xˉ,yˉ 是相位偏移, T T T 是周期, β \beta β 表示垂直偏移。

最后是一些效果样例的展示:
在这里插入图片描述
在这里插入图片描述

相关文章:

论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash

论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash 今天介绍的这篇文章是 2021 年 ICCV 的一篇 oral 文章,主要是为了解决极暗光下的成像问题,通过一个深红的闪光灯补光。实现了暗光下很好的成像效果,整篇文章基本没有任…...

将license验证加入到系统中

1.将ClientDemo下的cn文件夹的内容导入项目对应的java目录下。 2.将license-config.properties文件导入resources目录下。 3.在项目的pom.xml中添加如下依赖。 <properties><!-- Apache HttpClient --><httpclient>4.5.5</httpclient><!-- License…...

中断机制-interrupt和isInterrupted源码分析、中断协商案例

当前线程的中断标识为true&#xff0c;是不是线程就立刻停止&#xff1f; 答案是不立刻停止&#xff0c;具体来说&#xff0c;当对一个线程&#xff0c;调用interrupt时&#xff1a; 如果线程处于正常活动状态&#xff0c;那么会将该线程的中断标志设置为true&#xff0c;仅此…...

我与COSCon的故事【时光的故事】

曾经 2019年的时候&#xff0c;我还在日本读研究生&#xff0c;做一些物联网 (Internet of Things, IoT) 网络中的底层P2P (Peer to Peer) 通讯仿真模拟。这个方向是新来的Nguyen老师的新方向&#xff0c;它跟计算机强相关&#xff0c;但是很小众&#xff0c;实验室里也没有前辈…...

【科学文献计量】利用pybibx分析Scopus文献数据集(EDA,N-Grams,Cluster,Network analysis,NLP)

利用pybibx分析Scopus文献数据集 1 运行前准备1.1 数据集1.2 前置库2 加载库3 数据导入4 探索式数据分析,即EDA4.1 表格可视化4.2 词云图可视化4.3 N-Grams可视化4.4 文献聚类4.5 主题词演化4.6 桑基图可视化4.7 树图可视化4.8 作者生产力可视化5 网络可视化5.1 文献引用与被引…...

-带你看懂11种API类型及应用-

一起走进多样的API&#xff0c;多样的精彩 随着互联网行业的日益发展&#xff0c;API(Application Programming Interface)这个名词对于绝大多数来说都已不再陌生。然而&#xff0c;实际上&#xff0c;根据不同标准可以划分出不同类型的API。今天&#xff0c;让我们来走…...

集成友盟qq互联分享,导出风险问题处理

处理方案&#xff1a;移除 android:exported"true"即可。 注意友盟SDK QQ share 里默认配置是android:exported"true"&#xff0c;所以要覆盖即可。...

探索数字安全的卓越之选 - Digicert证书

在数字时代&#xff0c;数据安全和隐私保护变得尤为重要。无论是个人网站、电子商务平台还是大型企业&#xff0c;保护用户数据和建立信任都是至关重要的任务。在这个领域&#xff0c;Digicert是一个备受推崇的品牌&#xff0c;提供了卓越的数字证书解决方案&#xff0c;以确保…...

第五章 流程控制 Pro

五、流程控制 1、条件语句 一、if语句&#xff08;三种形式&#xff09; 1、单分支语句: if &#xff08;表达式&#xff09;语句&#xff1b; //表达式可以是任何表达式 0和非0 多条语句加{ }构成复合语句 2、双分支语句 if(表达式) 语句1&#xff1b; else 语句2…...

CSS之实现线性渐变背景

1. background: linear-gradient() background: linear-gradient是CSS中用于创建线性渐变背景的属性&#xff0c;这个属性允许你定义一个在元素的背景中进行渐变的效果&#xff0c;可以从一个颜色过渡到另一个颜色。 基本语法 background: linear-gradient(direction, color-…...

软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(7)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA&#xff08;6&#xff09; 所属章节&#xff1a; 第7章. 系统架构设计基础知识 第5节. 特定领域软件体系结构 相关试题 5. 特定领域软件架构&#xff08;Domain Specific Software Archite…...

CentOS-7网卡重启后关闭的解决方法

第一步查找网卡&#xff1a; ip addr 如下图&#xff1a; 于是发现网卡eth0。 第二步进入网卡配置目录并进行配置&#xff1a; cd /etc/sysconfig/network-scriptsvim ifcfg-eth0 第三步改配置如下图&#xff1a; 然后每次重启后网卡会自动启动。...

Linux CentOS7 用户组管理

Linux操作系统基于多用户的设计理念&#xff0c;允许多个用户同时使用系统资源。用户是登录系统并使用系统资源的个体&#xff0c;其都有自己的账户和密码。用户组是将众多用户归类为一组。Linux中的用户和用户组是系统安全和权限管理的基础。本文将探讨Linux中用户组的创建和管…...

C++算法:前缀和基础

相关 源码测试用例下载 https://download.csdn.net/download/he_zhidan/88430716 包括4个压缩包&#xff0c;初始代码&#xff0c;实现前缀和&#xff0c;实现前缀积&#xff0c;实现前缀异或。都是在前者的基础上修改的。 本博文是CSDN学院课程的讲义 https://edu.csdn.net/c…...

vue和react的区别

目录 1. 数据绑定 Vue React 2. 组件化 Vue React 3. 学习曲线 4. 状态管理 Vue React 5. 社区和生态系统 3. 学习曲线 4. 状态管理 Vue React 5. 生态系统 6. 社区和支持 7. 性能 8. 生产环境性能 9.语法和模板: 结论 当涉及到前端开发框架时&#xff0c…...

STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案

STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案_hal_uart_error_ore-CSDN博客...

递归最小二乘法RLS

参考&#xff1a;RLS递归最小二乘法(Recursive Least Squares)_hymwgk的博客-CSDN博客...

Apache Doris (三十九):Doris数据导出 - MySQL dump导出

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...

【Nginx32】Nginx学习:随机索引、真实IP处理与来源处理模块

Nginx学习&#xff1a;随机索引、真实IP处理与来源处理模块 完成了代理这个大模块的学习&#xff0c;我们继续其它 Nginx 中 HTTP 相关的模块学习。今天的内容都比较简单&#xff0c;不过最后的来源处理非常有用&#xff0c;可以帮我们解决外链问题。另外两个其实大家了解一下就…...

vue3后台管理框架之集成sass

我们目前在组件内部已经可以使用scss样式,因为在配置styleLint工具的时候,项目当中已经安装过sass sass-loader,因此我们再组件内可以使用scss语法!!!需要加上lang="scss" <style scoped lang="scss"></style> 接下来我们为项目添加一些…...

无需付费开会员,一个Python程序实现PDF转高清图片

今天需要将一个PDF导出为图片&#xff0c;但是一般的在线转换网站导出的图片清晰度都不高&#xff0c;分辨率只有1241*1754&#xff0c;这就导致输出的图片放大后字体是有点模糊的&#xff0c;所以就想到了使用Python中的PyPDF2库来处理PDF文件&#xff0c;以及Pillow库来处理图…...

为分布式系统设计数据库

【squids.cn】 全网zui低价RDS&#xff0c;免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 数据库设计是微服务和云原生解决方案的关键因素&#xff0c;因为基于微服务的架构导致了数据的分布式。数据管理不再在一个单一的过程中发生&#xff0c;而是可以通过多…...

Programming abstractions in C阅读笔记:p179-p180

《Programming Abstractions In C》学习第60天&#xff0c;p179-p180总结。 一、技术总结 1.palindrome(回文) (1)包含单个字符的字符串(如"a")&#xff0c;或者空字符串(如" ")也是回文。 (2)示例&#xff1a;“level”、“noon”。 2.predicate fun…...

在 VSCode 中使用 PlantUML

最近&#xff0c;因为工作需要绘制一些逻辑图&#xff0c;我自己现在使用的是 PlantUML 或者 mermaid&#xff0c;相比之下前者更加强大。不过它的环境也麻烦一些&#xff0c;mermaid 在一些软件上已经内置了。但是 PlantUML 一般需要自己本地安装或者使用远程服务器&#xff0…...

css3过渡属性属性名:transition

CSS3的过渡属性属性名是transition&#xff0c;它允许我们在状态改变时为元素添加过渡效果&#xff0c;例如在元素从一种样式变为另一种样式时添加平滑的过渡效果。 transition的语法如下&#xff1a; transition: property duration timing-function delay;其中&#xff0c;…...

关于数据链路层(初步)

以太网帧格式&#xff1a; 源地址和目的地址是指网卡的硬件地址&#xff08;也叫MAC地址&#xff09;&#xff0c;长度是48位&#xff0c;是在网卡出厂时固 化的&#xff1b; 帧协议类型字段有三种值&#xff0c;分别对应载荷的形式&#xff0c;有IP、ARP、RARP&#xff1b; …...

诊断DLL——CAPL_DLL集成安全访问算法

文章目录 前言一、CAPL DLL简介DLL生成C2338报错解决方案:二、添加27服务解锁算法三、CAPL调用dll前言 在实际诊断工程应用中,如UDS刷写——27服务,经常会遇到一些Seed2Key的算法问题,为了安全保密,这个算法的源码不便公开,我们可以将其打包成DLL,然后在CANoe诊断控制面…...

集合元素处理(传统方式和Stream方式)

1、集合元素处理&#xff08;传统方式&#xff09; 现在有两个ArrayList集合存储队伍当中的多个成员姓名&#xff0c;要求使用传统的for循环&#xff08;或增强for循环&#xff09;依次进行一下若干操作步骤&#xff1a; 第一个队伍只要 名字为 3 个字 的成员姓名&#xff1b;存…...

亲测好用,这3款免费高清录屏软件,效果惊人!

在当今社会上&#xff0c;录屏软件已经成为了人们日常生活中不可或缺的一部分。无论是在工作还是学习中&#xff0c;我们都需要使用录屏软件来录制屏幕上的内容。然而&#xff0c;许多录屏软件都是收费的&#xff0c;这对于那些想要尝试录屏软件但又不想花钱的人来说&#xff0…...

超声波清洗机洗眼镜真的可以洗干净吗?眼镜超声波清洗机推荐

截止2023年4月份近视眼的统计&#xff0c;我过近视人群高达3亿人&#xff0c;可想而知现在近视的群体是有多么庞大的。近视就免不了要戴眼镜&#xff0c;但是一副眼镜长时间的佩戴不清洗的话&#xff0c;镜片会不清晰&#xff0c;也有的朋友会眼镜脏了就去配一副新的&#xff0…...

龙华网站建设招聘/网站推广策划思路的内容

在2019腾讯全球数字生态大会新闻发布会上&#xff0c;腾讯云联合腾讯研究院&#xff0c;共同发布了行业重磅报告&#xff1a;《产业互联网——构建智能时代数字生态新图景》。报告首次阐述了产业互联网的战略框架和实践方法论。报告指出&#xff0c;产业互联网的实现&#xff0…...

多语言企业网站开发/优化大师win10下载

之前我们介绍了集成学习中的bagging算法以及决策树中的CART算法&#xff0c;其实在大家理解了这两个算法之后&#xff0c;随机森林就比较简单了&#xff0c;因为随机森林算法就是baggingCART。 随机森林方法的框架就是bagging的框架&#xff0c;其中每一个弱分类器就是C…...

怎么做网站视频/网站推广途径和推广要点

首先来一张图片大致了解一下这四个概念&#xff1a; 然后再来听一听鄙人的一些个人见解&#xff1a; 先解释最基础的概念, 之后用生活化的例子完成认知。 首先是blocking 和 non-blocking这两个概念。 这两个概念实质上是和IO没有关系的&#xff0c;他们是在说&#xff…...

企业网站建设方案 ppt/广东seo推广费用

BCGControlBar Pro for MFC最新试用版下载请猛戳>>>亲爱的BCGSoft用户&#xff0c;我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v25.0正式发布&#xff01;我们为您提供开发桌面应用最简单、最有效的方法&#xff01;接下来几篇文章将对…...

怎么做网站架构/整站优化关键词排名

service里&#xff1a; // 初始化广播接收器 private MyBroadcastReceiver receviver null;private void initBroadcastReceiver() {// 创建一个IntentFilter对象&#xff0c;将其action指定为BluetoothDevice.ACTION_FOUNDIntentFilter intentFilter new IntentFilter();int…...

技术支持 沧州辉煌网络-网站建设/上海百度推广客服电话

MySQL 常规操作 1. 查询 1.1 普通查询 select * from students; -- 获取所有数据 select * from students where age 15; -- 获取年龄为15的数据 select * from students where age 15 and sex male; 1. 2 模糊查询 select * from students where name like %小%; -…...