Ingredient-oriented Multi-Degradation Learning for Image Restoration论文阅读

news2025/4/3 6:22:32

摘要:重点在于关联多个任务本质的联系。
不同恢复任务的关联性很重要。
揭示退化现象的内在机理联系很有意义。
多合一的方法能在单一模型中处理多种退化问题,可扩展性较差。
成分导向范式挖掘不同图像退化现象背后的物理规律或特征模式。
成分导向退化重构框架IDR包含两个核心阶段:任务导向知识收集与成分导向知识整合。
一、根据底层物理原理对退化类型进行定制化操作,为每类退化建立相应的先验中心库。
二、通过可学习的主成分分析PCA将任务导向的先验中心库重构为统一的成分导向中心库,并采用动态路由机制实现概率性未知退化去除。


摘要

探索不同图像恢复任务之间的关联性对于揭示退化现象背后的内在机理具有重要意义。近年来,各类"多合一"方法蓬勃发展,能够在单一模型中处理多种图像退化问题。然而,在实际应用中,鲜有研究尝试通过挖掘各类退化现象的根本性成分来建立任务间的关联性,导致当涉及更多任务时,模型的可扩展性较差。本文提出一种新颖的成分导向范式,以替代传统的任务导向范式,从而实现可扩展的学习。具体而言,我们提出的方法名为成分导向退化重构框架(IDR),包含两个核心阶段:任务导向知识收集与成分导向知识整合。在第一阶段,我们根据底层物理原理对不同退化类型进行定制化操作,并为每类退化建立相应的先验中心库。第二阶段则通过可学习的主成分分析(PCA)逐步将任务导向的先验中心库重构为统一的成分导向中心库,并采用动态路由机制实现概率性未知退化去除。大量实验表明,我们的方法在多种图像恢复任务上展现出优异的有效性和可扩展性。更重要的是,IDR框架对未知下游任务表现出良好的泛化能力。


1. 引言

图像恢复旨在从降质观测中重建高质量图像,这是涵盖一系列低级视觉任务的通用术语。除了在摄影领域实现令人满意的视觉效果外,图像恢复还广泛应用于自动驾驶、监控等现实场景。复杂环境对图像恢复算法提出了更高要求,尤其是当退化类型具有多样性和不确定性时。由于大多数现有方法专注于单一退化去除(如去噪[15,24,61]、去雨[20,52,55]、去模糊[8,40,42]、去雾[26,44,45]、低光增强[14,34,50]等),这些方法难以满足现实场景的应用需求。

近年来,“多合一”方法逐渐兴起,可在单一模型中处理多种图像退化。这类方法大致可分为两类:特定退化型和与退化无关型。前者(如文献[2,28])通过独立子网络处理不同退化,需预先指定退化类型,限制了应用范围;后者(如文献[25,47])则摆脱了退化类型的先验约束,提升了灵活性。然而,两者均面临扩展性不足的问题——随着任务数量增加,模型性能受限于潜在能力瓶颈,且未挖掘退化类型间的内在关联(即任务导向范式)。

为解决上述问题,我们提出两个核心问题:
i) “不同退化是否存在共性?” 近十年来,鲜有研究关注这一领域。文献[10]首次揭示了图像去雾与低光增强之间的关联。进一步观察发现,此类关联普遍存在,例如去模糊与去雨中的方向性特征、去雨与去噪中的非自然图像层叠现象。因此,探索不同恢复任务间的关联以学习退化背后的本质成分(即成分导向范式)具有重要意义。
ii) “退化图像是否必然仅属于单一退化类型?” 在现实场景中,多重退化可能同时存在(如暴雨常伴随薄雾,夜间监控中的低光与模糊叠加[63])。因此,孤立地学习每项恢复任务并不合理。

本文提出面向图像恢复的成分导向退化重构框架(IDR),提供了一种通过深入解析退化本质成分的新视角。具体而言,IDR的学习过程包含两个阶段:任务导向知识收集与成分导向知识整合。我们通过元先验学习模块(MPL)实现这一重构,该模块可嵌入任何基于Transformer的骨干网络。第一阶段根据底层物理原理对不同退化进行定制化操作,预嵌入各退化类型的物理特性先验,并建立独立的任务导向先验中心库,用于挖掘特定退化成分的组合表示。第二阶段通过可学习的主成分分析(PCA)逐步将任务导向中心库重构为统一的成分导向中心库,在成分层面寻找跨退化的共性,同时尽可能保留各自的差异信息。此外,MPL采用动态软路由机制,根据第一阶段嵌入的操作先验,实现概率性未知退化去除。

本工作的主要贡献总结如下:

  • 重新审视当前“多合一”方法的范式,提出通过挖掘退化本质成分提升模型扩展性。
  • 提出成分导向退化重构框架(IDR),包含两个阶段:任务导向知识收集与成分导向知识整合,协同作用于退化表征与退化操作。
  • 大量实验验证了方法的有效性。据我们所知,IDR是首个能以“多合一”方式同时处理五类图像恢复任务的方法。

2. 相关工作

2.1 图像恢复

图像恢复旨在通过缓解设备或环境带来的不利影响,将退化图像复原为干净版本。近年来,图像恢复任务经历了从传统方法到基于学习的方法的重大范式转变,后者在去噪[15,24,61]、去雨[20,52,55]、去模糊[8,40,42]、去雾[26,44,45]、低光增强[14,34,50]等任务中展现出卓越性能。此外,还提出了多种通用图像恢复方法。文献[3]提出了一种非线性激活自由网络作为图像恢复的简单基线;文献[4]探讨了归一化在低级视觉任务中的潜力;文献[43,58,59]则通过展开策略将图像恢复建模为深层理性过程,强调上下文信息和空间细节的保持。随着视觉Transformer的兴起,其全局建模能力和对输入内容的适应性催生了一系列图像恢复方法,包括基于窗口注意力[29,49]、通道交互[57]和潜在注意力[5]的模型。

近年来,“多合一”方法逐渐流行,可在单一模型中处理多种退化问题。文献[2]提出了一种基于Transformer的多头多尾框架用于多退化去除;文献[28]设计了多编码器单解码器网络,并结合神经架构搜索以应对多种恶劣天气处理任务;文献[25]提出了一种无需任务特定头或尾的先验网络,通过对比学习提升灵活性;文献[47]利用天气类型查询,通过单编码器解码器Transformer处理多退化问题;文献[30]则尝试学习任务无关的先验知识,以应对各类图像恢复任务。


2.2 多任务学习

多任务学习[1]早于深度学习兴起前就被引入,并已应用于计算机视觉[31,37]、自然语言处理[16]、语音合成[51]和强化学习[17]等多个领域。由于多任务学习常伴随优化冲突,一系列研究被开发出来。文献[6]提出利用梯度幅度平衡各任务的损失函数;文献[22]基于每项任务的同方差不确定性设计了权重机制;文献[54]将多目标元学习建模为多目标双层优化问题,并提出基于梯度的优化算法寻找共同下降方向。

多任务学习的核心优势在于挖掘任务间的关联性。文献[19,21]通过任务聚类构建凸优化框架;文献[32,37]则提出关系网络和交叉缝合网络,以发现任务间的关系并学习共享表示与任务特定表示的最优组合。


3. 方法

本节首先介绍各类图像退化的建模原理,随后引入IDR的核心组件——元先验学习模块(MPL),该模块可显式嵌入任何Transformer架构以实现实用性(第3.1节)。IDR的优化过程包含两阶段学习流程:(a) 任务导向知识收集(第3.2节)和 (b) 成分导向知识整合(第3.3节)。优化目标简要概述于第3.4节。


退化建模

在文献中,图像退化过程通常定义为:
y = ϕ ( x ; A ) + N , ( 1 ) y = \phi(x; A) + N, \quad (1) y=ϕ(x;A)+N,(1)
其中 ϕ ( ⋅ ) \phi(\cdot) ϕ() 表示退化函数, A A A 是其参数, N N N 代表加性噪声, y y y x x x 分别表示退化观测值和潜在干净图像。当 ϕ ( ⋅ ) \phi(\cdot) ϕ() 为元素级加法时,式(1) 可重写为:
y = A + x + N = A ^ + x , ( 2 ) y = A + x + N = \hat{A} + x, \quad (2) y=A+x+N=A^+x,(2)
这对应图像去雨[48]和去噪[9]的通用形式,其中 A A A 分别表示雨痕和独立同分布零均值高斯噪声。当 ϕ ( ⋅ ) \phi(\cdot) ϕ() 为元素级乘法时:
y = A ⋅ x + N = A ⋅ x + ϵ ⋅ x = A ^ ⋅ x , ( 3 ) y = A \cdot x + N = A \cdot x + \epsilon \cdot x = \hat{A} \cdot x, \quad (3) y=Ax+N=Ax+ϵx=A^x,(3)
这对应图像去雾[45]和低光增强[50]的通用形式,根据大气散射模型[36,41]和Retinex理论[23], A A A 分别表示透射图和光照图。当 ϕ ( ⋅ ) \phi(\cdot) ϕ() 为卷积时:
y = A ∗ x + N = A ∗ x + ϵ ∗ x = A ^ ∗ x , ( 4 ) y = A * x + N = A * x + \epsilon * x = \hat{A} * x, \quad (4) y=Ax+N=Ax+ϵx=A^x,(4)
这对应图像去模糊[60]的通用形式,其中 A A A 表示模糊核。需注意,我们通过重新参数化噪声项来突出底层物理规律,而更复杂的退化可通过上述函数的组合建模(例如暴雨伴随雨幕效应)。本质上,不同退化类型基于上述基本原理遵循不同的组合建模原则。

在这里插入图片描述


3.1 元先验学习模块

元先验学习模块(MPL)旨在通过学习一组先验嵌入(在模型中预先“内置”一些关于图像退化类型的已知知识,比如物理规律或特征模式,帮助模型更高效地理解和处理不同的图像问题)来缓解特征上的已知退化影响,并可在优化过程中实例化为任务导向先验学习或成分导向先验学习。图2展示了MPL的结构,包含两个核心部分:基于先验的退化表示基于物理原则的退化操作

给定退化特征(退化图本身)输入和一组先验嵌入 P(其中 N 为先验中心库容量且N << C_d ),我们首先对 ( x ) 应用监督降级注意力模块(SDAM),以稀释背景内容并增强潜在的细微退化特征。这一设计灵感源自文献[59],但仅替换了退化监督信号。基于先验的退化表示过程可表示为:
h p = MHCA ( LN ( SDAM ( x ) ) , LN ( P ) , LN ( P ) ) ( 5 ) h_p = \text{MHCA}(\text{LN}(\text{SDAM}(x)), \text{LN}(\mathcal{P}), \text{LN}(\mathcal{P})) \quad (5) hp=MHCA(LN(SDAM(x)),LN(P),LN(P))(5)
其中,(\text{MHCA}) 表示多头交叉注意力模块,(\text{LN}) 为层归一化。不同于将额外先验作为查询向量的方法[30,47],我们借鉴字典学习思想,将少量内在先验嵌入作为“键”,而释放大量退化特征标记作为“查询”,以实现知识压缩。退化表示 ( h_p \in \mathbb{R}^{H \times W \times C} ) 是通过先验字典查询建模的共注意力矩阵对先验中心库 (\mathcal{P}) 的聚合结果。我们通过投影矩阵对 (\mathcal{P}) 和 (x) 的维度进行对齐。

结合提取的 (h_p),基于物理原则的退化操作过程旨在根据底层物理规律修正退化特征,其数学表达式为:
x ′ = ∑ j ∈ { a , m , c } ϕ j ( x ; θ j ( [ W h h p , W x x ] ) ) ( 6 ) x' = \sum_{j \in \{a, m, c\}} \phi_j(x; \theta_j([W_h h_p, W_x x])) \quad (6) x=j{a,m,c}ϕj(x;θj([Whhp,Wxx]))(6)
其中,([\cdot]) 表示通道级拼接,(W_h) 和 (W_x) 分别为两个独立的多层感知机(MLP),用于公共空间投影;(\phi_j) 表示基础物理原则函数(加法、乘法和卷积),(\theta_j) 为其参数生成函数。特别地,每个 (\theta_j) 包含一个 (3 \times 3) 卷积层和两个残差块,而 (\theta_c) 额外包含一个 (1 \times 1) 卷积层用于核生成。通过先验中心库 (\mathcal{P}) 和物理原则函数 (\phi_j),退化特征 (x) 被修正为伪干净特征 (x’ \in \mathbb{R}^{H \times W \times C})。为增加非线性能力并保持与Transformer块的一致性,我们在MPL末尾保留了前馈网络(FFN)。


3.2 任务导向知识收集

MPL在3.1节中需从退化特征中提取内在退化成分,但直接学习通用先验对多样化退化效果有限。因此,我们首先为不同恢复任务建立独立的任务导向先验中心库 ({T_k}_{k=1}^K)((K) 为任务数量),以挖掘特定退化成分,此时MPL实例化为任务导向的先验学习。

任务导向的退化表示 (h_k^{(i)}) 可表示为:
h k ( i ) = ∑ j = k MHCA ( LN ( SDAM ( x k ( i ) ) ) , LN ( T j ) , LN ( T j ) ) ( 7 ) h_k^{(i)} = \sum_{j=k} \text{MHCA}(\text{LN}(\text{SDAM}(x_k^{(i)})), \text{LN}(T_j), \text{LN}(T_j)) \quad (7) hk(i)=j=kMHCA(LN(SDAM(xk(i))),LN(Tj),LN(Tj))(7)
其中仅特定 (T_k) 与退化特征交互,避免其他先验库的干扰。根据退化类型分配对应的物理原则函数 (\phi_j)(如去雨使用加法),且仅涉及单一原则。任务导向的独立先验学习与硬性原则分配的协同设计,有助于收集强任务相关先验,得益于原则解耦的一致性。


3.3 成分导向知识整合

核心目标是通过挖掘任务间的关联性,实现通用退化成分的泛化学习。在获得任务导向先验中心库 ({T_k}_{k=1}^K) 后,第二阶段通过可学习主成分分析(PCA) 将其整合为统一的成分导向中心库 (I_0 \in \mathbb{R}^{N \times C_d})。

具体步骤如下:

  1. 奇异值分解(SVD):对每个 (T_k) 进行SVD分解,得到 (T_k = U_k S_k V_k^T)。
  2. 子空间整合:通过可学习函数 (G_u) 和 (G_v) 对奇异向量 ({U_k}) 和 ({V_k^T}) 进行整合(式(8)),同时冻结梯度以避免破坏任务导向先验。
  3. 动态权重调整:通过预测头 (M(x_k)) 对奇异值矩阵 ({S_k}) 进行加权重组(式(9)),生成动态倾向性矩阵 (S_I)。

最终,成分导向中心库为 (I_0 = U_I S_I V_I^T)。退化表示 (h_I) 通过 (I_0) 与退化特征的交互生成,同时采用动态软路由机制替代硬原则分配,根据物理原则动态调整各 (\phi_j) 的权重。


3.4 优化目标

我们通过重建损失 (L_{\text{rec}}) 和分类损失 (L_{\text{cls}}) 的组合端到端优化IDR:
L total = L rec + λ cls L cls ( 10 ) L_{\text{total}} = L_{\text{rec}} + \lambda_{\text{cls}} L_{\text{cls}} \quad (10) Ltotal=Lrec+λclsLcls(10)
其中:

  • 重建损失 (L_{\text{rec}}) 包含恢复图像 (I) 与真实图像 (Y) 的 ℓ1 损失,以及各SDAM模块的退化监督:
    L rec = L 1 ( I , Y ) + ∑ s ∈ C ∥ L 1 ( I x s , D s ) ∥ ( 11 ) L_{\text{rec}} = L_1(I, Y) + \sum_{s \in C} \|L_1(I_{x_s}, D_s)\| \quad (11) Lrec=L1(I,Y)+sCL1(Ixs,Ds)(11)
  • 分类损失 (L_{\text{cls}}) 采用交叉熵损失,用于任务标签预测:
    L cls = ∑ s ∈ C ∥ L CE ( M s ( x s ) , y ) ∥ ( 12 ) L_{\text{cls}} = \sum_{s \in C} \|L_{\text{CE}}(M_s(x_s), y)\| \quad (12) Lcls=sCLCE(Ms(xs),y)(12)
    其中 (M_s(\cdot)) 为阶段预测头,(y) 为任务标签。

术语一致性说明

  • 先验嵌入(Prior Embeddings):预存的退化类型知识库(如去雨、去雾的物理规律)。
  • 动态路由(Dynamic Routing):根据退化类型自动分配修复策略的机制。
  • 可学习PCA:通过神经网络整合任务导向先验的子空间分解方法。

翻译过程中确保技术术语与上下文一致,数学公式与原文严格对应。

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

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

相关文章

java项目挂机自动重启操作指南

前段时间有个伙伴问我&#xff0c;java项目挂机怎么自动重启。。。。。。今天就写一个 .sh脚本来实现应用挂机的自动重启功能 #!/bin/bash # 查询mita的进程个数 countps -ef | grep mita.jar | grep -v "grep" | wc -l # echo $count nowtimedate "%Y-%m-%d %H…

Vue el-table-column内el-tooltip识别换行符 \n

结构&#xff1a; <el-table-column prop"callSummary" width"300" label"摘要"><template slot-scope"scope"><el-tooltip class"item" effect"dark" placement"top"><div v-ht…

【C++指南】一文总结C++二叉搜索树

&#x1f31f; 各位看官好&#xff0c;我是egoist2023&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C二叉搜索树的实现。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给…

【报告】内镜视频图像分析Foundation Model

来源&#xff1a;医疗基础模型 仅供个人学习&#xff0c;侵权请联系我删除

使用HTML5和CSS3实现炫酷的3D立方体动画

使用HTML5和CSS3实现炫酷的3D立方体动画 项目介绍 本文将详细介绍如何使用HTML5和CSS3技术实现一个交互式3D立方体动画。这个项目不仅展示了现代Web前端技术的强大功能&#xff0c;还能帮助读者深入理解CSS3的3D变换和动画特性。 技术栈 HTML5CSS3 (transform-style, persp…

MySQL数据库和表的操作之SQL语句

&#x1f3af; 本文专栏&#xff1a;MySQL深入浅出 &#x1f680; 作者主页&#xff1a;小度爱学习 MySQL数据库和表的操作 关系型数据库&#xff0c;都是遵循SQL语法进行数据查询和管理的。 SQL语句 什么是sql SQL&#xff1a;结构化查询语言(Structured Query Language)&…

多模态大语言模型arxiv论文略读(二)

Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representation Space ➡️ 论文标题&#xff1a;Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representat…

全局曝光与卷帘曝光

文章目录 曝光方式优点缺点应用场景 为何全局曝光帧率比卷帘曝光方式低 卷帘曝光和全局曝光是CMOS传感器两种常见的曝光模式&#xff0c;以下是二者的对比&#xff1a; 参考&#xff1a;B站优致谱视觉 曝光方式 卷帘曝光&#xff1a;传感器的每一行像素按顺序逐行扫描曝光&…

【一起来学kubernetes】31、Helm使用详解

一、Helm 简介 Helm 是 Kubernetes 的包管理工具&#xff0c;类比 Linux 中的 yum 或 apt&#xff0c;用于简化应用的打包、部署和版本管理。其核心功能包括&#xff1a; Chart 管理&#xff1a;将 Kubernetes 资源&#xff08;Deployment、Service 等&#xff09;打包为可复…

python 常用的6个爬虫第三方库

Python中有非常多用于网络数据采集的库&#xff0c;功能非常强大&#xff0c;有的用于抓取网页&#xff0c;有的用于解析网页&#xff0c;这里介绍6个最常用的库。 1. BeautifulSoup BeautifulSoup是最常用的Python网页解析库之一&#xff0c;可将 HTML 和 XML 文档解析为树形…

blender场景导入Unity的流程(个人总结)

处理找不到贴图的问题 blender场景导入Unity遇到的主要问题是贴图找不到。经研究是blender里材质的着色器结构不是贴图-原理化BSDF-输出导致的。目前还没有自动解决方法&#xff0c;总结了一个效率还可以的手动解决流程。 打开后到材质预览&#xff0c;看一下显示没问题&…

可编辑36页PPT | “新基建”在数字化智慧高速公路中的支撑应用方案智慧高速解决方案智慧交通方案

这份文档是一份关于“新基建”在数字化智慧高速公路中支撑应用方案的PPT内容介绍&#xff0c;它详细阐述了新基建在智慧高速建设中的背景、总体要求和建设内容。从政策背景来看&#xff0c;多个政府部门发布了相关政策文件&#xff0c;推动交通运输基础设施的数字化升级和智慧交…

一文解读DeepSeek在保险业的应用

引言 随着人工智能技术的深度渗透&#xff0c;保险行业正经历从传统经验驱动向数据智能驱动的转型。作为国产高性能开源大模型的代表&#xff0c;DeepSeek 凭借其低成本、高推理效率及跨模态处理能力&#xff0c;已成为保险机构突破服务瓶颈、重构业务逻辑的核心工具。截止目前…

物联网时代,HMI 设计的创新机遇与挑战

随着物联网&#xff08;IoT&#xff09;技术的蓬勃发展&#xff0c;各种智能设备如雨后春笋般涌现&#xff0c;从智能家居到智慧城市&#xff0c;物联网的应用场景愈发广泛。作为人与设备之间的桥梁&#xff0c;人机界面&#xff08;HMI&#xff09;设计在物联网时代扮演着至关…

【区块链安全 | 第二十四篇】单位和全局可用变量(二)

文章目录 单位和全局可用变量&#xff08;Units and Globally Available Variables&#xff09;特殊变量和函数1. 区块和交易属性2. ABI 编码和解码函数3. bytes 成员函数4. string 成员函数5. 错误处理6. 数学和加密函数7. 地址类型成员函数8. 与合约相关9. 类型信息 单位和全…

C语言:指针数组、函数、二级指针

1.指针数组 指针数组是一个数组&#xff0c;数组中的每个元素都是指针。这些指针可以指向各种类型的数据&#xff0c;如整数、字符、结构体等&#xff0c;甚至可以指向其他数组或函数。 指针数组的声明格式通常为&#xff1a; 数据类型 *数组名[数组大小];其中&#xff0c;数…

批量修改记事本文本文件编码,可以解决文本文件乱码问题

对于文本文件来说&#xff0c;通常都可以设置不同的编码格式&#xff0c;每一种不同的编码格式支持的字符都可能是不一样的。因此当编码格式出现错误的时候&#xff0c;文本文件可能会出现乱码的问题。如何将文本文件的编码由一种格式变为另外一种格式呢&#xff1f;如果文件出…

亚马逊云科技提供完全托管的DeepSeek-R1模型

近日&#xff0c;亚马逊云科技宣布在Amazon Bedrock上线完全托管的DeepSeek-R1模型。DeepSeek是首个登陆Amazon Bedrock的国产大模型&#xff0c;自今年1月底推出以来&#xff0c;已有数千客户使用Amazon Bedrock的自定义模型导入功能部署了DeepSeek-R1模型。 DeepSeek在过去几…

利用 Chrome devTools Source Override 实现JS逆向破解案例

之前讲解 Chrome 一大强势技术 override 时&#xff0c;给的案例貌似没有给大家留下多深的印象 浏览器本地替换&#xff08;local overrides&#xff09;快速定位前端样式问题的案例详解&#xff08;也是hook js的手段&#xff09;_浏览器的 overrides 替换功能-CSDN博客 其实…

容器C++ ——STL常用容器

string容器 string构造函数 #include<iostream> using namespace std; #include<string.h> void test01() {string s1;//默认构造const char* str "hello world";string s2(str);//传入char*cout << "s2" << s2 << endl;s…