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

2024IJCAI | MetalISP: 仅用1M参数的RAW到RGB高效映射模型

文章标题是:《MetaISP:Effcient RAW-to-sRGB Mappings with Merely 1M Parameters》

MetaISP收录于2024IJCAI,是新加坡国立大学(Xinchao Wang为通讯作者)华为联合研发的新型ai-isp。

原文链接:MetaISP

【1】论文的主要motivation为目前的ai-isp为了提高在不同场景下的泛化性,一味的提增加AI-ISP架构的尺寸和复杂性,导致得到的模型根本无法在侧端(手机端)部署。

【2】论文的主要创新为:提出了一个可以针对不同输入自适应修改"parameters and network architecture"的新型ai-isp。这一点主要是依靠两个模块来实现的。MCCB(Meta Channel Correction Block)学习特征图中层级关系、MSCB(Meta Spatial Correction Block)学习空间注意力图,从而自适应的调整特征图包含的内容。

1. Abstract

SOTA的深度ISP模型通过增加网络的尺寸和复杂性缓解了对不同异质输入的有限泛化能力问题,但也不可避免地导致了网络参数量和FLOPs的急剧增长。为了解决这个问题,本文提出了MetaISP,一个通过"针对不同输入自适应调整参数和结构"以达到优越的图像重构质量的模型。我们的理论主要涉及为不同的输入生成对应的空间/通道注意力矫正矩阵,以帮助分配注意力(即模型应更关注图像的哪些部分)。我们通过“为每张输入图像预测动态权重把权重与多个可学习的基础矩阵相结合构建矫正矩阵“的方法实现上述理论。MetaISP在达到最好效果的同时保证了计算高效性。MetaISP在两个大规模数据集上达到了SOTA,在ZRR数据集上,MetaISP达到了23.8dB的PSNR(以9.2%的参数量和10.6%的FLOPs超过了之前的SOTA方法0.19dB);在MAI21数据集上,MetaISP达到了25.06dB(以0.9%的参数量和2.7%的FLOPs超过了之前的SOTA方法0.17dB)

2. Methods

先验知识:self-attention的计算复杂度很高,大概是 O(N2),N是输入序列长度;以SE (Squeeze and Excitation) 模块为代表的一系列基于CNN实现通道注意力机制的方法计算复杂度就比较低,大约是 O(r2) ,r是放缩率。

模型框架图如图1所示

img

图1. MetalISP的整体框架

 

2.1 整体流程

采用U-Net架构保证了模型可以学习到图像特征的底层及高层特征,促进了鲁棒的表示能力。输入是4通道的RAW图 I r a w ∈ R 4 × H / 2 × W / 2 I_{raw}\in \mathbb{R}^{4×H/2×W/2} IrawR4×H/2×W/2 ,输出是3通道的标准RGB图像 I r g b ∈ R 3 × H × W I_{rgb}\in \mathbb{R}^{3×H×W} IrgbR3×H×W 。MFEB将 I r a w I_{raw} Iraw提取成 F 0 ∈ R C × H / 2 × W / 2 F_0 \in \mathbb{R}^{C×H/2×W/2} F0RC×H/2×W/2

到U-Net架构的bottom层之前是4对MCCB和MSCB的堆叠,生成的特征图通道数为 { C , C , C , 2 C } \{C,C,C,2C\} {C,C,C,2C}低通道数意味着卷积核的数量也很少,保证了低计算复杂度。图中的下采样和上采样均使用的是3×3的卷积核和离散小波变换 。残差连接是基于逐像素加法实现的。

2.2 Meta Channel Correction Block (MCCB)

作者在介绍MCCB之前,先提了一嘴2018年很火的通道注意力 。作者说,这篇工作被广泛用于各个low-level的任务中 (包括深度ISP)去捕捉通道间的依赖关系,从而关注富有信息的特征并抑制冗余的特征。通道注意力CA(Channel attention),实现了计算高效性并且把全局信息带入了特征图中。但是,作者认为,CA中使用的计算方式(通道乘法及注意力预测层)过于简单,因此会导致次优的结果。与此同时,作者提到,基于Self-attention改进的算法又面临计算复杂度 O ( N 2 ) O(N^2) O(N2) 过大的问题,因此,作者提出了MCCB模块。

考虑输入的特征图经过层归一化,卷积,GELU之后,得到特征图 X ∈ R C × H × W X\in \mathbb{R}^{C×H×W} XRC×H×W被分别投射到高维空间 Y ∈ R K × H × W Y\in \mathbb{R}^{K×H×W} YRK×H×W获得更丰富的特征)以及预测得到权重向量 { w n } n = 1 , 2 , . . . , N = p ( X ) \{w_n\}_{n=1,2,...,N}=p(X) {wn}n=1,2,...,N=p(X)矫正矩阵(私以为可以理解为注意力图)的计算方式则为 M = Σ n = 1 N w n ( x ) ϕ ( n ) M=Σ_{n=1}^Nw_n(x)ϕ(n) M=Σn=1Nwn(x)ϕ(n) ,其中, { ϕ n } n = 1 , 2 , . . . , N \{ϕ_n\}_{n=1,2,...,N} {ϕn}n=1,2,...,N为基础矩阵。

后面的流程就不需赘述了,一切如流程图所示。

需要注意的是,MCCB仅仅使用了一些基础矩阵就修正了特征图并应用了动态软权重实现内容自适应的通道变换。MCCB在利用了CA的低计算复杂度的同时,实现了对通道间复杂关系的高效学习。

2.3 Meta Spatial Correction Block (MSCB)

作者在讲MSCB之前,先提了一嘴基于CNN的空间注意力机制。作者指出,使用CNN去学习注意力图强调了相关的空间区域,并且利用参数共享机制降低了计算复杂度,但是,也造成了有限的感受野,阻碍了其建模长范围的像素交互。然后勾连了上一节的SA叙述 (SA可以很好的感受全局信息但是计算复杂度很高,是输入序列长度的平方次),指出SA不适用于ISP任务中的高分辨率图像

为了利用CNN的低计算复杂度以及SA的全局上下文建模能力,作者提出了MSCB。

如图1所示,MSCB和MCCB的基础架构其实差不多,矫正向量的公式为: V = Σ n = 1 N w n ( x ) ε n V=Σ_{n=1}^Nw_n(x)ε_n V=Σn=1Nwn(x)εn ,其中 ε n ε_n εn 是第n个basis vector。

接下来有一些很细节的点,我们放大一下MSCB看看。

img

图2. MSCB

 

令改变形状后的特征图为 Y Y Y,则Y中的每一行都对应一个通道的特征图, Y Y Y中的每一竖列都对应一个像素在不同通道中的取值。接下来,作者使用公式 S w , h = Y w , h ∗ V ∣ Y w , h ∣ ∣ V ∣ S_{w,h}=\frac{Y{w,h}∗V}{|Y_{w,h}||V|} Sw,h=Yw,h∣∣VYw,hV来得到空间注意力图,再用逐元素乘法得到输出的 Y ^ = Y ⊗ S \hat{Y}=Y⊗S Y^=YS ,此处,我理解就是对每个元素使用矫正向量进行矫正。作者指出,这个过程的计算复杂度为 O ( H W ) O(HW) O(HW),是线性复杂度,同时高效利用了特征图的全局信息。

img

图3. MSCB的注意力可视化

 

作者可视化了MSCB的注意力图,并指出,U-Net架构不同层级的注意力关注点不同

3. Experiments

贴一下ZRR数据集的可视化结果图,在颜色上确实贴近GroundTruth.

img

图4. 实验结果可视化
 

【思考1】刚看完摘要的时候,我在想:针对不同输入自适应调整参数和结构是啥意思?难道网络权重在测试的时候还可以改变?看到Methods才明白,论文是搞了一些基础矩阵(Basis Matrices),不同的图像产生不同的权重,和矩阵运算得到注意力图,再跟对应层的特征运算,得到修正后的特征(这里以MCCB为例,MSCB也差不多)。这样相当于是对特征做了处理,但是这个处理模块对于不同的图像是不同的,此之谓"动态参数和动态结构"。

【思考2】作者在MCCB和MSCB架构中是怎么同时利用了CNN和SA的?依照我个人的理解,作者其实相当于简化了生成注意力图的过程,他们设计了一些basis matrices/vectors,只需用CNN给出weights就能生成注意力图,这个过程在SA中是 O ( N 2 ) O(N^2) O(N2) 复杂度的。

相关文章:

2024IJCAI | MetalISP: 仅用1M参数的RAW到RGB高效映射模型

文章标题是:《MetaISP:Effcient RAW-to-sRGB Mappings with Merely 1M Parameters》 MetaISP收录于2024IJCAI,是新加坡国立大学(Xinchao Wang为通讯作者)和华为联合研发的新型ai-isp。 原文链接:MetaISP 【1】论文的…...

aws-athena查询语句总结

完全归于本人mysql语句小白,是一点也写不出来,故汇总到此 1. cloudtrail ## 查询事件排序 SELECT eventname,eventtime,count(eventname) as num FROM your_athena_tablename where eventtime between 2024-11-10 and 2024-11-11 group by eventname…...

电信网关配置管理后台 upload_channels.php 任意文件上传漏洞复现

0x01 产品描述: ‌ 电信网关配置管理后台‌是用于管理和配置电信网关的设备,提供了一系列功能来帮助用户监控和管理网络设备。以下是电信网关配置管理后台的主要功能和操作方法。0x02 漏洞描述: 电信网关配置管理系统/bak_manager/upload_channels.php 接口存在文件上传…...

Vue全栈开发旅游网项目(11)-用户管理前端接口联调

联调基本步骤 1.阅读接口文档 2.配置接口地址 3.使用axios获取数据 4.将数据设置到模型层 1.发送验证码联调 1.1 配置接口地址 文件地址:src\utils\apis.js //系统相关的接口 const SystemApis {sliderListUrl:apiHost"/system/slider/list/",//发送…...

react 中 useContext Hook 作用

useContext是一个用于在组件之间共享数据的重要钩子函数 一、跨组件数据共享 1. 简化多层级组件数据传递 例如:在一个具有多层级菜单结构的应用中,如果要将用户权限数据从根组件传递到最深层的菜单项组件,可能需要经过多个中间组件的 prop…...

【HarmonyOS】鸿蒙系统在租房项目中的项目实战(一)

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…...

前 K 个高频元素

前 K 个高频元素 ​ 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1]提示&#xff1a; 1 < nums.le…...

【ubuntu】Geogebra

Geogebra 几何作图工具 是一款跨平台的几何作图工具软件&#xff0c; 目前已经覆盖了&#xff0c; windows&#xff0c;android&#xff0c; mac, linux 等操作系统。 Ubuntu 现状 Ubuntu 自带应用市场 Ubuntu 自带应用市场目前只有 Geogebra 4.0 版本&#xff0c; 不能画立…...

vue2和vue3的区别详解

vue2 VS vue3 对比vue2vue3配置脚手架cmd命令行可视化方式创建脚⼿架组件通信props、$emit、provide、$arrts、EventBus等props、$emit、provide、inject、arrts等数据监听watch,computedwatch,watchEffect,computed双向绑定Object.definePropertyProxyAPI⽣命周期四个阶段befo…...

一文读懂LEED绿建

LEED绿建&#xff0c;即获得LEED&#xff08;Leadership in Energy and Environmental Design&#xff09;认证的建筑&#xff0c;是一个旨在提高建筑环境性能和健康性能的评估体系。以下是对LEED绿建的详细解读&#xff1a; 一、LEED体系概述 定义&#xff1a;LEED是由美国绿…...

git上feature合并到development分支

git上从development分支拉了一个feature分支开发新内容&#xff0c;development也有新内容在开发&#xff0c;feature分支内容开发完毕后&#xff0c;如何合并feature分支新内容到development分支&#xff0c;要确保不会覆盖development分支的新内容 以下是将 feature 分支的新…...

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备:大华IPC摄像头局域网访问异常解决办法

在当今社会&#xff0c;安全监控已成为各类场所不可或缺的一部分。无论是家庭、学校、商业场所还是公共场所&#xff0c;安全监控设备都扮演着至关重要的角色。在众多监控品牌中&#xff0c;大华IPC摄像头凭借其高清画质、强大功能和卓越稳定性&#xff0c;赢得了市场的广泛认可…...

校园二手交易网站毕业设计基于SpringBootSSM框架

目录 一、引言 二、需求分析 2.1用户需求分析 2.1.1学生用户 2.1.2管理员 2.2系统功能需求 2.3系统非功能需求 ‌2.4技术需求 ‌2.4.1 技术选择 ‌2.4.2系统架构‌ 三、详细设计 3.1系统架构设计‌ ‌3.2前端设计‌ ‌3.3后端设计‌ ‌3.4数据库设计‌ 本文介绍…...

基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;

目录 基于大语言模型意图识别和实体提取功能 案例背景 零知识证明过程 具体例子 具体举例(简化) 具体ZK数值例子:加密货币交易验证 定义多项式 承诺 挑战 证明构造 证明验证 结论 zkLLM Zero Knowledge Proofs for Large Language Models 在大模型验证过程中处…...

论文笔记 SuDORMRF:EFFICIENT NETWORKS FOR UNIVERSAL AUDIO SOURCE SEPARATION

SUDORMRF: EFFICIENT NETWORKS FOR UNIVERSAL AUDIO SOURCE SEPARATION 人的精神寄托可以是音乐&#xff0c;可以是书籍&#xff0c;可以是运动&#xff0c;可以是工作&#xff0c;可以是山川湖海&#xff0c;唯独不可以是人。 Depthwise Separable Convolution 深度分离卷积&a…...

机器学习系列----KNN分类

目录 前言 一.KNN算法的基本原理 二.KNN分类的实现 三.总结 前言 在机器学习领域&#xff0c;K近邻算法&#xff08;K-Nearest Neighbors, KNN&#xff09;是一种非常直观且常用的分类算法。它是一种基于实例的学习方法&#xff0c;也被称为懒学习&#xff08;Lazy Learnin…...

贪心算法day 06

1.最长回文串 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;计算每个字符个数如果是偶数个那么肯定可以组成回文串&#xff0c;如果是奇数个就会有一个无法组成回文串&#xff0c;但是在最中间还是可以有一个不是成队的字符这个字符就从多的奇…...

HTML之列表学习记录

练习题&#xff1a; 图所示为一个问卷调查网页&#xff0c;请制作出来。要求&#xff1a;大标题用h1标签&#xff1b;小题目用h3标签&#xff1b;前两个问题使用有序列表&#xff1b;最后一个问题使用无序列表。 代码&#xff1a; <!DOCTYPE html> <html> <he…...

Redo与Undo的区别:数据库事务的恢复与撤销机制

在数据库中&#xff0c;redo 和 undo 是两个非常重要的概念&#xff0c;它们主要用于事务管理和恢复机制&#xff0c;确保数据的一致性和完整性。 下面分别解释这两个概念&#xff1a; Redo&#xff08;重做&#xff09; 定义&#xff1a;redo 操作记录了事务对数据库所做的所…...

【话题讨论】AI赋能电商:创新应用与销售效率的双轮驱动

目录 引言 一、AI技术在电商中的创新应用 1.1 购物推荐 1.2 会员分类 1.3 商品定价 1.4 用户体验 总结 二、AI技术提高电商平台销售效率 2.1 订单处理 2.2 物流配送 2.3 产品流转效率 2.4 库存管理和订单管理效率 2.5 实际案例分析 三、挑战和未来发展趋势 3.1…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...