Priors in Deep Image Restoration and Enhancement: A Survey

深度图像恢复和增强中的先验:综述

在这里插入图片描述

论文链接:https://arxiv.org/abs/2206.02070

项目链接:https://github.com/VLIS2022/Awesome-Image-Prior (Preprint. Under review)

Abstract

图像恢复和增强是通过消除诸如噪声、模糊和分辨率退化等退化来提高图像质量的过程。深度学习(DL)最近被应用于图像恢复和增强。由于深度神经网络的病态性,人们已经探索了大量的先验知识来促进深度神经网络的训练。然而,到目前为止,学界还没有对先验的重要性进行系统的研究和分析。因此,本文首次对先验算法在深度图像恢复和增强方面的最新进展进行了全面的综述。我们的工作主要包括五个方面的内容:(1) 深度图像恢复与增强的先验理论分析;(2) 基于DL的方法中常用的先验层次结构分类法;(3 )对每个先验的原理、潜力和应用进行深刻的讨论;(4) 总结关键问题,强调未来可能的发展方向,特别是采用之前的大型基础模型,以激发更多的社区研究;(5) 一个开源存储库,提供所有提到的作品和代码链接的分类。

1 Introduction

在捕获、存储、传输和渲染过程中,图像质量经常会下降。典型的退化包括模糊、分辨率退化、噪声和其他伪影。图像恢复和增强是一个试图通过消除这些退化来提高图像质量,同时保留必不可少的图像特征的过程,如图1所示。

在这里插入图片描述

一般来说,图像的恢复和增强可以分为六种类型,如图2所示:

在这里插入图片描述

(1) 去除环境影响,去除图像中由于环境因素造成的伪影,包括雨[74]、雪[126]、雾霾[56]等;

(2) 相机处理流水线,即图像信号处理器(ISP),将光电信号转换为数字信号,包括去噪[185]、色彩校正[2]、去噪[213]、去噪[84]、高动态范围(HDR)成像[194]等;

(3) 去模糊,旨在通过去除主要由物体或相机运动引起的模糊伪影来恢复清晰的图像[230];

(4) 压缩伪影去除,旨在减少图像存储和传输过程中因有损压缩而产生的边缘模糊、阻塞、振铃伪影等低质量问题[180];

(5) 超分辨率(super-resolution, SR),旨在提高图像或视频的分辨率[203];

(6) 视频帧插值,又称超慢动作,目的是将低帧率视频转换为高帧率视频[70]。

图像恢复和增强在人脸识别[145]、自动驾驶[95]、医学图像分析[67]等领域有着广泛的应用。因此,许多早期的努力都在积极探索物理模型,以从退化版本中恢复高质量的图像内容[56]。

近年来,深度学习为图像恢复和增强带来了新的启示。基于DL的方法通常在各种任务上达到最先进(SOTA)的性能[246,213,19]。因此,各种深度神经网络(DNN)被开发出来,如卷积神经网络(CNN)[232]、循环神经网络(RNN)[246]、生成对抗网络(GAN)[91]和视觉Transformer(ViT)[114],它们都表现出强大的学习能力。然而,由于图像恢复和增强的高度病态性,基于DL的方法仍然存在许多挑战,例如严重依赖大规模数据,超参数选择和收敛不稳定。

因此,在许多图像恢复和增强任务中,已经探索了各种先验来加速DNN的收敛和提高精度[33,83]。具体而言,先验是指图像和视频内容所固有的特定知识和模式。在网络训练或推理过程中巧妙地整合这些先验可以加速收敛并显著提高网络性能[198,56]。在本文中,我们首先系统地将图像增强和恢复先验分为四大类:

(1) 结构先验,(2) 统计先验,(3) 语义先验,(4) 基于深度学习的先验。

这四个主要类别进一步包括十个子类别,代表了30多个特定先验的综合集合,如图3所示。注意,在传统的图像增强和恢复中,结构先验和统计先验中的大多数先验都是在基于DL的技术出现之前建立的。本文强调了这些先验在DL时代背景下的应用和潜力。相反,语义先验和基于DL的先验本质上与学习方法相关。

在这里插入图片描述

虽然不同的特定先验以不同的方式应用,但我们首先尝试使用数据的流形分布[98]来整体解释先验的有效性。流形的分布表明,自然图像倾向于聚集在高维图像空间 R H × W × 3 R^{H×W×3} RH×W×3内的非线性低维流形附近,其中H和W分别表示图像的高度和宽度,3对应于彩色图像,如图1所示。 R H × W × 3 R^{H×W×3} RH×W×3空间中的大多数图像表示随机噪声,而不是有意义的图像。有意义的图像集合构成 R H × W × 3 R^{H×W×3} RH×W×3空间的一个子集。图像先验是描述该图像子集内特定知识的有效手段。例如,暗通道先验[56]描述了对无雾图像的强约束。因此,先验可以有效地降低预测空间的维数(即从级的图退化像空间映射到高质量的图像空间)。第二节提供了更多的数学原理分析。

本文全面而系统地综述了先验算法在深度图像恢复和增强中的最新发展,例如大规模基础模型作为先验算法。以前,一些调查,如[194,230,203,117]只关注图像恢复和增强中的特定任务。例如,Liu等[117]提出了一种分类策略,将深度图像超分辨率方法分为不同的类别。Wang等人[194]回顾了深度HDR成像的关键方面,例如,域输入曝露、新的传感器数据和新的学习策略。Zhang等[230]讨论了图像模糊的常见原因,并分析了不同的基于CNN的方法。不同的是,本调查通过调查不同的任务来更好地理解先验在最近的深度图像恢复和增强方法中发挥的作用,从而考虑了更普遍的观点。直观地,我们强调了先验的重要性,这些先验有利于在深度图像恢复和增强的各种任务中作为指导。因此,这项调查是第一次对先验的最新进展进行有见地和系统的分析,这可能有助于激发社区的新研究努力。

本研究的主要贡献有五个方面:(I)对深度图像恢复与增强的先验算法进行了全面的综述,主要包括四个部分:结构先验(第3节),统计先验(第4节),语义先验(第5节),和基于深度学习的先验(第6节)。(II)我们提出了基于几何理论的先验在图像恢复和增强任务中有效性的一般数学基础(第2节)。(III)我们从层次和结构上分析了不同先验之间的联系以及每个先验在不同深度图像恢复和增强任务中的应用(第7节)。(IV)我们讨论了在深度图像恢复和增强任务中利用先验的公开挑战并确定未来的方向,以指导该领域的进一步研究,特别是之前的大规模基础模型(第7节)。(V)我们创建了一个开源存储库,其中包含所有提到的作品和代码链接的分类。我们的开源存储库将定期更新这个研究方向的新提交,我们希望它能对未来的研究有所启发。仓库链接是GitHub Link1。同时,我们在表1-8中对某些图像恢复和增强任务的一些代表性先验进行了突出和基准测试。由于篇幅所限,我们在补充材料中给出了一些具有代表性的先验算法用于深度图像恢复和增强任务的实验结果。

在接下来的章节中,我们将讨论和分析先验在深度图像恢复和增强任务中的各个方面。本文的其余部分组织如下。在第2节中,我们定义了深度图像恢复和增强任务中的先验,并从理论上分析了不同任务的原理。在第3节至第6节中,我们对每个主要先验及其相应的子类别先验进行了全面的讨论。在第7节,我们讨论了开放的问题和未来的方向。在第8节中,我们结束了本文。

在这里插入图片描述

注:给了图4但文中没体现。

2 Background and Theoretical Analysis

在本节中,我们提供了基于几何理论的先验在深度图像恢复和增强中的有效性的一般数学基础[98]。我们在公式1中表示高质量图像 I h I_h Ih和低质量图像 I l I_l Il之间的关系,其中 Φ Φ Φ是映射函数, θ α θ_α θα是参数。对于深度图像恢复和增强网络,可以灵活地将 Φ Φ Φ替换为DNN[246]。
I h = Φ ( I l ; θ α ) (1) I_h=\Phi(I_l;\theta_\alpha) \tag{1} Ih=Φ(Il;θα)(1)
退化函数是恢复和增强过程的逆,如公式2所示,其中 Φ − 1 Φ^{−1} Φ1为退化函数,如模糊模型、噪声模型、下采样模型, θ β θ_β θβ为其参数。
I l = Φ − 1 ( I h ; θ β ) (2) I_l=\Phi^{-1}(I_h;\theta_\beta) \tag{2} Il=Φ1(Ih;θβ)(2)
根据流形分布规律[98],我们将环境空间记为 R C × H × W \mathbb{R}^{ C×H×W} RC×H×W,其中C为RGB通道数,H和W分别为图像的高度和宽度。环境空间中的大多数图像都没有物理意义,就像噪声一样,如图1所示,红色圆圈代表的是没有意义的图像。我们只对包含有意义信息的图像感兴趣,比如自然图像、人脸图像和文本图像。在图像恢复和增强任务中,我们重点研究了高质量图像集 S h S_h Sh和低质量图像集 S l S_l Sl。它们都分布在环境空间的低维流形空间中,如图1所示。 R C × H × W \mathbb{R}^{ C×H×W} RC×H×W S h S_h Sh S l S_l Sl之间的关系如公式3所示,其中|·|表示基数,即集合的大小。
{ { S h ∪ S l } ⊂ R C × H × W ∣ S h ∣ ≪ ∣ R C × H × W ∣ ∣ S l ∣ ≪ ∣ R C × H × W ∣ D ( x ) = ∫ Ω c ( x , Φ ( x ; θ α ) ) d x \begin{align} &\begin{cases}\{S_h\cup S_l\}\subset\mathbb{R}^{C\times H\times W}\\|S_h|\ll|\mathbb{R}^{C\times H\times W}|\\|S_l|\ll|\mathbb{R}^{C\times H\times W}|\end{cases} \tag{3}\\ &D(x)=\int_{\Omega}c(x,\Phi(x;\theta_\alpha))dx \tag{4} \end{align} {ShSl}RC×H×WShRC×H×WSlRC×H×WD(x)=Ωc(x,Φ(x;θα))dx(3)(4)
一种深度图像恢复增强模型 Φ ( ⋅ ; θ α ) Φ(·;θ_α) Φ(⋅;θα)描述了从低质量图像集 S l S_l Sl到高质量图像集 S h S_h Sh的映射。训练映射模型 Φ ( ⋅ ; θ α ) Φ(·;θ_α) Φ(⋅;θα)是求公式4的最小值,其中 D ( x ) D(x) D(x)是两个分布映射的总代价, c ( ⋅ , ⋅ ) c(·,·) c(⋅,⋅)是代价函数,如 L 1 L_1 L1,MSE, [98], Ω Ω Ω是一个凸区域,表示考虑模型 Φ ( ⋅ ; θ α ) Φ(·;θ_α) Φ(⋅;θα)是一个同胚变换。不同的代价函数导致不同的映射模型。相应的,退化模型 Φ − 1 ( ⋅ ; θ β ) Φ^{−1}(·;θ_β) Φ1(⋅;θβ)描述了相反的映射。

因此,我们认为 p Φ p_Φ pΦ,图像恢复和增强模型的性能 Φ ( ⋅ ; θ α ) Φ(·;θ_α) Φ(⋅;θα),取决于三个方面:

(1) p l p_l pl,根据 S l S_l Sl(即低质量图像分布)估计输入分布的精度;

(2) p h p_h ph,根据Sh(即高质量图像分布)估计输出分布的精度;

(3) f Φ f_Φ fΦ,将输入映射到输出的能力。

当采样均匀时, p l p_l pl p h p_h ph与采样密度 ρ ρ ρ成正比。 f Φ f_Φ fΦ可以通过网络的映射能力来衡量。 p Φ p_Φ pΦ p l p_l pl, p h p_h ph, f Φ f_Φ fΦ之间的关系可以简化为公式5。
p Φ ∝ p l × p h × f Φ (5) p_{\Phi}\propto p_{l}\times p_{h}\times f_{\Phi} \tag{5} pΦpl×ph×fΦ(5)
假设 S D S_D SD为图像恢复增强数据集,可由公式6表示。这里, D l D_l Dl是低质量图像数据集。 D h D_h Dh为高质量图像数据集。 N l N_l Nl N h N_h Nh是数据集的计数。 I ( l , i ) I_{(l, i)} I(l,i) I ( h , j ) I_{(h,j)} I(h,j)分别是集合 S l S_l Sl和集合 S h S_h Sh中的采样点。通常,数据集是流形空间上采样点的集合,如图1所示。五边形是一个深绿色椭圆上的点,五边形的集合是一个高质量的图像数据集。低质量和高质量的采样密度如公式7所示,其中C为数据集的大小,|S|为集合的基数。因此,低质量图像和高质量图像的采样密度如公式8所示。另外, S l S_l Sl S h S_h Sh为常数,公式5 = 公式9。
{ D l = { I ( l , i ) ∣ i ∈ [ 1 , N l ] } D h = { I ( h , j ) ∣ j ∈ [ 1 , N h ] } S D = { ( I l , I h ) ∣ I l ∈ D l , I h ∈ D h } ρ = C ∣ S ∣ { ρ l = N l ∣ S l ∣ ρ h = N h ∣ S h ∣ p Φ ∝ N l × ∣ S l ∣ − 1 × N h × ∣ S h ∣ − 1 × f Φ \begin{align} &\begin{cases}D_l=\{I_{(l,i)}|i\in[1,N_l]\}\\D_h=\{I_{(h,j)}|j\in[1,N_h]\}\\S_D=\{(I_l,I_h)|I_l\in D_l,I_h\in D_h\}\end{cases} \tag{6}\\\\ &\rho=\frac{C}{|S|} \tag{7}\\\\ &\begin{cases}\rho_l=\frac{N_l}{|S_l|}\\\rho_h=\frac{N_h}{|S_h|}\end{cases} \tag{8}\\\\ &p_{\Phi}\propto N_{l}\times|S_{l}|^{-1}\times N_{h}\times|S_{h}|^{-1}\times f_{\Phi} \tag{9} \end{align} Dl={I(l,i)i[1,Nl]}Dh={I(h,j)j[1,Nh]}SD={(Il,Ih)IlDl,IhDh}ρ=SC{ρl=SlNlρh=ShNhpΦNl×Sl1×Nh×Sh1×fΦ(6)(7)(8)(9)
先验的有效性反映在对 p l p_l pl p h p_h ph f Φ f_Φ fΦ的影响上。一些先验可以约束高质量的图像集,如暗通道先验[56]、梯度分布[235]、 L 0 L_0 L0规则[238]。这些先验描述了高质量图像集 S h S_h Sh的一些属性,减少了网络估计 S h S_h Sh分布的搜索空间,相当于增加了 p h p_h ph。通常,先验可以通过增加 p l p_l pl p h p_h ph f Φ f_Φ fΦ的一个或多个值来提高网络性能。

在本次综述中,所有被调查的先验都可以通过这些原则进行分析。具体来说,一些先前的研究侧重于通过直接生成更多低质量图像来提高 p l p_l pl,例如,对核和噪声信息建模(第4.3.2节)或使用生成模型(第6.2.2节)进行训练集综合。此外,一些先前的研究侧重于通过将高质量图像的知识嵌入到深度学习框架中来提高 p h p_h ph值,例如,使用统计信息(第4.1节)或深度去噪(第6.2.3节)作为调节项,使用GAN Inversion(第6.2.1节)来利用潜在空间的知识。此外,其他一些先验专注于通过指导网络结构的设计来改进 f Φ f_Φ fΦ,例如,物理模型(第4.2节)、时间先验(第3.2节)、建模核和噪声(第4.3.1节)、非局部相似性(第3.3节),或者引入额外的信息来改进深度学习模型,例如,变换先验(第3.1节)、语义先验(第5.1节)、以人为中心的先验(第5.2节)。此外,深度图像先验(第6.1节)利用DNN结构 f Φ f_Φ fΦ增加 p h p_h ph,从而从单幅低质量图像进行图像恢复和增强。

3 Structure Prior

结构先验基于图像或视频的底层结构[173]和几何特征[59],为图像和视频重建提供规则和约束。我们考虑基于变换的先验、时间先验和非局部自相似先验作为结构先验的一部分,因为它们能够提供对图像结构的有价值的见解。

基于变换的先验(第3.1节)包括基于频率的转换和非基于频率的转换。基于频率的变换侧重于频域。通过分析和操纵图像的频率成分,这些变换可以揭示重要的结构信息,并指导恢复和增强过程[24,45,134,124]。另一方面,非基于频率的变换在空间域中操作,可以包括几何变换或其他空间操作。这些转换可以通过利用像素或区域之间的空间关系来帮助保留结构细节并提高整体图像质量[215,160,40]。

时间先验(第3.2节),特别是在视频中,利用帧序列的时间一致性和一致性[147,113]。通过考虑连续帧之间的动态结构变化,时间先验有助于在视频恢复和增强任务中保持时间清晰度并减少伪影。

非局部自相似性先验(第3.3节)是结构先验的另一个组成部分,它利用图像和帧中存在的固有自相似性。通过识别和利用图像或帧内相似的patch或区域,这些先验有助于保留结构细节和纹理,有助于整体图像的恢复和增强[197,237]。利用非局部自相似先验确保恢复图像保持结构的连贯性和一致性,从而提高视觉质量。

3.1 基于变换的先验

Insight:将图像转换到不同的域可以为网络训练带来有利的特性,例如,某些噪声模式在特定的频率子带中更加明显。

在本节中,我们回顾了使用变换作为先验来减小深度图像恢复和增强的解空间的代表性工作。与应用变换以提高数据多样性的数据增强不同,将变换用作先验的目标是利用来自转换领域的额外信息,以提高网络模型的性能和训练效率。前面使用的变换可以分为两类:基于频率的变换[122]和基于非频率的变换[218]。如前所述,利用基于频率的变换进行深度图像恢复和增强的代表性工作如表1所示,更详细的内容可在补充资料中找到。

在这里插入图片描述

3.1.1基于频率变换的学习

将数据转换到频域,例如使用如图6所示的离散傅立叶变换(DFT)或离散小波变换(DWT),可以将数据分解为不同的频率子带,以便进行成分分析。在基于DL的方法被开发出来之前,这些方法已经被广泛研究用于图像恢复[135,41]。在深度图像恢复的背景下,一些研究通过经验或实验表明,噪声[7]、摩尔纹[121]、雨[217]、雾霾[42]或雪[24]等图案在某些频率子带中更为明显。通过将频率信息整合到深度学习框架中,可以有效地提高网络训练效率。此外,不同的子带包含图像上下文的某些先验信息。例如,高频子带通常传递更多的纹理细节,而低频子带传递更多的结构信息,这可以有力地指导网络恢复缺失的细节,并保持图像SR的客观质量[54,62,32]。这些将基于频率的变换引入DNN的方法可以通过将变换后的数据直接作为输入和输出来实现[7,62,121,32,54,24],如图5(a)所示,或者将变换应用于中间特征映射[122,164,42],如图5(b)所示。

在这里插入图片描述

在这里插入图片描述

此外,利用基于频率的变换的先验也可以封装为现有深度学习流程中强大的即插即用模块。MWCNN[122]用DWT代替池化操作,并使用其逆变换作为上采样操作。因此,它可以扩大DNN模型的接受域,同时从特征图中捕获频率和位置信息。在此基础上,Rong等[164]也提出了一种基于Haar小波的小波池运算,以更好地去噪和重构相应的信号。此外,Maggioni等[134]在这种可逆变换操作中引入了可学习参数,进一步提高了DNN模型的性能。

Discussion:从我们的综述来看,现有的DNN模型,如[121],利用基于频率的转换,如先前,主要是基于实证研究。然而,强大的特定任务知识和广泛的实验是必需的。因此,有必要进行更多的理论分析,如[7],探索一种更普遍的先验,将基于频率的变换用于不同的深度图像恢复和增强任务。此外,现有的工作[122,164]主要侧重于使用上述转换将池化操作替换为先验操作。简而言之,未来的研究可以考虑通过引入可学习参数来设计更灵活的基于频率的变换模块,例如[134]。

3.1.2 基于非频率变换的学习

也存在一些基于非频率的变换,通过强调图像的一些重要模式,可以作为深度图像恢复和增强的信息先验。其中,从图像中获得的边缘信息可以视为信息先验,因为它可以为DNN训练提供详细的结构或几何指导。

Yang等[215]提出了以低分辨率(LR) canny边缘图和LR图像为输入分别预测高分辨率(HR)图像和HR边缘图的代表性工作。这迫使网络在SR中保留结构信息。Nazeri等人[143]提出了一个两阶段的SR框架,首先通过LR canny边缘图和LR图像的拼接来预测HR边缘图。然后,他们设计了一个图像补全模块,通过将预测的HR边缘图和LR图像作为输入来获得HR图像。为了更好地提取边缘信息,Ren等人[160]和Zhu等人[251]采用深度边缘检测器,如HDE[208]来生成边缘图,而不是使用手工算子。此外,Fang等[40]提出了一种软边缘辅助框架,通过同时优化边缘损失和SR损失,以端到端方式共同学习边缘映射和SR任务。

除了边缘变换,Ren等人[159]还探索了使用变换,包括白平衡、对比度增强和伽玛校正,作为深度图像去雾。特别地,他们提出了一种门控融合网络,将所有变换后的模糊图像作为输入来预测其相应的置信图。然后将这些置信度图与变换后的图像加权,以获得干净的图像。

Discussion:将选择的变换应用于先前的退化图像,对于深度图像恢复和增强任务显示出有效性。然而,如果我们可以将基于变换的先验引入到网络设计中,用联合子网络代替手工制作的变换算子,将会更有意义[40]。

3.2 时间先验

Insight:时间先验是为深度视频恢复和增强任务量身定制的。这种先验在视频中主要来源于帧之间的关系,即时间信息。

在本节中,我们介绍两种主要的时间先验:光流和时间锐度先验。它们通常用于深度视频恢复和增强任务中的时间特征对齐。

3.2.1 光流

光流反映了由观察者和场景引起的视频连续帧之间物体、表面和边缘的运动[12]。可表述如下:
I ( x , y , t ) = I ( x + Δ x , y + Δ y , z + Δ z ) , (10) I(x,y,t)=I(x+\Delta x,y+\Delta y,z+\Delta z), \tag{10} I(x,y,t)=I(x+Δx,y+Δy,z+Δz),(10)
式中(x, y)为图像I中的像素位置,t为两帧之间的时间变化,由光流计算得到。传统的方法侧重于稀疏光流,仅对图像中具有鲜明特征的像素进行估计,如变分方法[12]、Lucas-Kanade方法[13]。然而,大多数基于DL的方法都集中在密集光流上,这可以缓解传统方法的局限性。Dosovitskiy等[37]引入了FlowNet,这是第一个基于CNN的光流估计方法。该基线不断得到改进,如[66,157,177],已广泛应用于各种深度图像恢复和增强任务。

首先,视频超分辨率(VSR)是通过对相邻帧的运动估计来恢复高分辨率(HR)帧进行帧对齐。因此,通常使用光流来对齐相邻的帧,如图7(a)所示。Sajjadi等人[167]提出了一个代表性的框架,该框架依赖于基于流的编码器-解码器架构来估计光流。他们还设计了一个循环网络来传播长期时间信息,以恢复HR视频。ToFlow[210]联合训练流量估计组件和视频处理组件,以更好地计算VSR的光流。然而,光流受到光的不变性和大运动的限制。因此,DUF[76]、DCN[196,187]等几项研究都尝试使用基于CNN的对齐方法来实现帧对齐。此外,最近的许多研究使用光流作为辅助信息来支持帧对准,如图7(b)所示。BasicVSR++[19]是使用光流引导DCN进行帧对准的代表性框架。该作品在NTIRE 2021视频修复和增强挑战赛中获得了三个冠军和一个亚军[175]。与BasicVSR++类似,Liang等[113]利用光流引导自注意结构完成时间特征对齐。

在这里插入图片描述

在视频去模糊中,还利用光流处理不连续的模糊帧,如图7©所示。Pan等人[147]提出了第一个使用光流获得的扭曲的相邻帧来构建先验时间清晰度的工作,这将在下一节中讨论。最近的一些作品[103,168]也采用了类似的思想,将光流作为获得先验时间清晰度的先决条件。与文献[147,103,168]不同的是,Wang等[201]提出在图像字幕过程中使用光流先验估计运动幅度作为模糊度。该方法将光流作为模糊估计的先验,从而有效地指导去模糊网络聚焦于不同的区域。

此外,在多曝光HDR成像中,光流用于对低、中、高曝光帧,如图7(d)所示。代表性作品采用经典的光流估计方法[79,211]或基于DL的方法[152,151]对多曝光LDR图像进行对齐。然后,他们设计了基于DNN的框架来融合对齐的LDR图像来重建HDR图像。表2总结了与之前一样使用光流进行深度图像/视频恢复和增强的代表性任务。除了图7所示的方法外,光流还常用于其他任务,如深度视频去雨[216]、深度视频帧插值[9]。

在这里插入图片描述

Discussion:从前面的分析可以看出,在光照环境变化和运动较大的情况下,很难计算光流。因此,这些问题在现实世界的视频中是不可避免的。尽管许多研究[76,196,187]试图用DNN代替光流来进行帧对齐,但光流中包含的重要运动信息丢失了。为此,人们积极开展研究,以减轻对更好的框架对准的限制。近年来的许多研究表明,将光流估计作为初始或辅助成分与其他方法相结合,在深度视频恢复和增强中比仅使用先验方法效果更好。例如,[19,113]使用光流来引导VSR的DCN或自关注,[147,103,168]使用光流来生成视频去模糊之前的时间清晰度。未来的研究可以考虑将光流与深度神经网络结合起来,以解决现实应用中的挑战。

3.2.2 时间锐度先验

时间锐度先验是基于非连续模糊特性假设的深度视频去模糊的特定先验[147]。同一物体在不同帧中同时包含清晰像素和模糊像素。锐利的像素可以作为深度视频去模糊的先决条件。尽管一些传统方法[28]使用了这个先验,但它首次与基于深度学习的模型结合,并在[147]中明确定义。Pan等人[147]提出了一种比较当前帧和扭曲帧的代表性框架,该框架利用相邻帧的光流来构造时间清晰度先验。这可以限制基于CNN的深度模型利用锐帧来支持深度视频去模糊。Li等人[103]提出了类似的方法来处理视频中的大运动;然而,它需要多个连续帧作为输入来计算时间清晰度,以获得更有决定性的时间信息。而且,它的特征空间可以在多个尺度上匹配。Shang等[168]提出了一种双向长短期记忆(LSTM)架构,从前后相邻的帧中探测最近的两个锐帧(NSF)。原因是在合理范围内从相邻帧获得的时间锐度先验可以有效地促进深度视频去模糊。

Discussion:从我们的综述来看,先验时间锐度主要基于连续帧中的非连续模糊属性[147,103,168]。这个概念可以很容易地扩展到其他领域。例如,由于噪声在视频中也是不连续的,因此可以使用相同的假设来构造另一个先验。因此,未来的研究可以更多地关注具体的时间属性,探索新的时间先验,用于深度视频的恢复和增强。

3.3 非局部自相似作为先验

Insight:非局部自相似先验可以帮助恢复和增强图像中再现patch的特定细节。

非局部自相似性是图像的一个基本属性,它表明在给定的图像中,相同的小图案往往会重复出现[31],如图8所示。因此,许多低水平的视觉任务利用这种特性作为一个先决条件,以促进高质量图像的恢复。传统的方法,如3D变换BM3D[31]、WNNM[52]等,利用数学变换和映射,将相似的斑块叠加在一起,实现恢复任务。然而,这些方法严重依赖于人工制作的转换来学习自相似性。

在这里插入图片描述

另一方面,基于DL的方法将DNN与非局部自相似先验相结合,用于诸如去噪[96]、SR[138,137]和图像恢复[237]等任务。Lefkimmiatis等[96]提出了第一个基于DL的框架,对相似的patch进行分组并联合过滤。然而,先验本身严重依赖于人工设计,该方法的泛化能力有限。相比之下,[237]提出了一个具有代表性的框架,通过非局部注意网络[197]来解决[96]中的问题。原因是非局部注意很好地符合非局部自相似先验的性质,使得它对基于DL的模型更有效,减轻了人工设计的需要。Mei等人[137]将这一思想扩展到非局部稀疏注意,以获取远程相似度,即全局相似度信息。

Discussion:从以上分析中,我们假设非局部注意[197]可以有效替代人工设计的非局部自相似先验的作用。然而,正如[137]所指出的,非局部关注存在两个问题:对局部特征的关注有限和计算成本高。因此,值得探索稀疏关注或其他关注框架,以更好地提取深度图像的全局相似特征进行恢复和增强。

4 Statistical Priors

统计先验是基于成像中的统计特征和噪声模型,提供图像内容的特征分布。我们将统计先验分为三个部分:图像强度和梯度分布、基于物理的先验,以及核函数和噪声信息作为先验。

图像强度和梯度分布先验(第4.1节)利用图像内容的统计属性。例如,暗通道先验[149]和明通道先验[17]被广泛用于去模糊任务中的参数估计。基于物理的先验(第4.2节)将物理模型和原理纳入图像的恢复和增强。例如,大气散射模型[142]和去雨模型[111]利用大气和雨的物理性质来指导去雾和去雾任务。这些先验可以通过结合物理模型和原理提供统计约束和指导,提高图像质量。核和噪声信息先验(第4.3节)是另一种统计先验,它利用图像的核和噪声模型的知识来指导去模糊或去噪[241,50]。通过结合核和噪声的统计分布,这些先验可以帮助估计模糊核和降低噪声。

4.1 图像强度和梯度分布作为先验

Insight:图像强度和梯度分布作为图像 I ( x ) I(x) I(x)和图像导数 I ′ ( x ) I ' (x) I(x)的优先焦点。

在本节中,我们回顾了在估计DNN参数或将其嵌入DNN结构之前利用统计图像特征的代表性工作。先验统计图像特征可分为:先验统计强度特征和先验统计梯度特征。表3列出了使用这些先验的代表性作品。

在这里插入图片描述

4.1.1 统计强度特征作为先验

统计强度特征通常是指图像通道强度分布,如双色分布先验[148]、双色先验[77]、直方图均衡化先验[33,43]和极值分布,如暗通道先验[149,56]、亮通道先验[212,182,94]。

在这里插入图片描述

暗通道先验[56]描述了在一个局部邻域中至少有一个颜色通道具有强度值接近于零的像素。Yan等[212]将其扩展到先验的明亮通道,这约束了相邻小像素中至少有一个颜色通道具有非常大的强度,如图11所示。它们被广泛用于传统图像恢复任务中的核估计或参数约束,例如去雾、去噪和弱光增强。Lee等人[94]提出了第一个利用明亮通道先验进行弱光图像增强的无监督框架。该先验预测图像中的初始光照映射,然后用于建立无监督损失来优化编码器-解码器网络。相比之下,ECPeNet[17]直接将暗通道先验和亮通道先验插入到编码器-解码器网络中,用于图像去模糊。因此,该方法可以聚合先验和模糊图像表示的信息,指导动态场景去模糊。

在这里插入图片描述

4.1.2 统计梯度特征作为先验

统计梯度特征是指图像梯度分布以及局部梯度的极值分布,包括局部最大梯度先验[22]、梯度引导先验[132]、梯度通道先验[174, 83]。尽管它们在传统的图像恢复和增强任务中得到了广泛的应用,但它们很少被用于基于DL的框架。

Ma等人[132]提出了一种梯度分支网络,使用梯度作为先验来获取额外的结构信息并构建梯度损失。这种先验使得网络能够更加专注于图像SR的几何结构,如图10 (a)所示。Sun等[176]采用了类似的思路来获取结构信息来指导SR网络。

Discussion:通过综述,我们发现基于统计梯度特征的先验可以为深度图像恢复和增强任务提供额外的知识或指导[132]。然而,上述的一些先验,如局部最大梯度先验[22]、梯度通道先验[174,83],尚未应用到基于DL的深度图像恢复和增强方法中。因此,未来的研究可能会集中在这个方向上。

在这里插入图片描述

4.2 基于物理的先验

Insight:物理模型可以根据物理原理将输出分解为单独的组件或因素,从而降低学习难度并增加可解释性。

恶劣的天气,如雾霾、雨、雪等,在图像捕捉过程中会导致图像质量下降。传统方法,如[142],根据物理原理精心设计了退化模型。尽管许多研究使用深度神经网络直接从退化的图像中恢复干净的图像,但也有一些尝试将传统方法作为强先验引入深度学习管道。在这些物理模型中的先验知识的指导下,如图12所示,所设计的深度神经网络模型更加有效和可解释性,刺激了深度图像恢复和增强方法的发展。

在这里插入图片描述

4.2.1 Atmospheric Scattering模型

典型的退化模型是大气散射模型(ASM)[142],该模型被广泛用于图像深度去雾[16]。ASM的公式为 I ( x ) = J ( x ) t ( x ) + A ( 1 − t ( x ) ) I(x) = J(x)t(x) + A(1−t(x)) I(x)=J(x)t(x)+A(1t(x)),其中x为像素点位置,t(x)为介质透射图,A为全球大气光。J(x)为干净图像,I(x)为朦胧场景下的退化图像。DehazeNet[16]遵循ASM模型,使用CNN估计透射图t(x),并从估计t(x)的0.1%最暗像素处获得大气光a。为了获得更精确的大气光A,DCPDN[223]提出联合学习一个密集连接的金字塔网络来估计传输图t(x)和UNet[165]来估计大气光A。此外,为了减少单独估计t(x)和A所带来的累积误差,许多方法试图通过重新表述ASM模型来使用单个中间参数。例如,在AOD-Net[101]中,ASM模型被一个中间参数K(x)重新表述。因此ASM模型可以用 J ( x ) = K ( x ) I ( x ) − K ( x ) + b J(x) = K(x)I(x)−K(x) + b J(x)=K(x)I(x)K(x)+b来求解。AOD-Net[101]所显示的良好性能证明了ASM模型仍然可以很好地嵌入到DL框架中,而无需单独估计t(x)和a。随后,DehazeGAN[250]、FAMEDNet[225]和PFDN[35]也采用了这种简化的ASM模型。此外,ASM模型还可以用于其他任务,如去雪[23]和低光图像增强[81],通过估计相应的分量来指导DNN模型设计。

4.2.2 Rain模型

为了更好地适应不同的去雨模式,人们提出了各种去雨模型来进行深度图像提取。ACM (Additive composite model, ACM)[111]是最简单、应用最广泛的去雨模型,可以表示为 O ( x ) = B ( x ) + S ( x ) O(x) = B(x)+S(x) O(x)=B(x)+S(x),其中x表示像素的位置,B表示清晰背景层,S表示雨纹层,O表示雨纹导致的退化图像。基于 ACM,Fu等人[44]提出了一项代表性工作,该工作从细节层获取输入,并预测退化图像与ground truth清晰图像之间的残差。在[44]的思路基础上,DID-MDN[224]引入了额外的雨密度分类器以提高残差质量。RESCAN[109]提出了一个更简单的循环框架,通过残差学习执行多级去雨。JORDER[218]考虑到雨带和雨的积累,提出了另一种具有代表性的方法,即引入掩膜和附加雨带层。因此,JORDER中退化的雨图像可以分解为多个雨条层、雨区和干净的背景图像,作为多级去雨的预测目标。此外,一些研究通过不同的因素解释雨天场景,例如遮挡[120]、时间属性[216]或深度图[60]。

4.2.3 Retinex模型

基于人类对颜色的感知方式,Retinex模型[93]假设观察到的图像I可以分解为反射率R和照度L两个分量,Retinex模型的形式可以描述为 I ( x ) = R ( x ) ⋅ L ( x ) I(x) = R(x)·L(x) I(x)=R(x)L(x),其中x表示像素的位置,·表示逐像素的乘法运算。Retinex模型已被广泛地集成到深度低光图像增强方法中,如[204,239],显示出良好的性能。这些方法的基本思想是设计专门的子网络来分别学习光照和反射率分量。Retinex-Net [204] 是一项代表性工作,提出了一个分解网络,将输入图像分解成反射分量和照明分量。然后,设计增强网络对光照图进行调整。在遵循 Retinex-Net 流程的基础上,许多工作[239,234,219]已经提出了对预测或高级网络架构的更多限制。为了提高计算效率,LightenNet[102]提出使用更小的编码器来估计照度,并将输入图像除以照度映射得到增强图像。沿着这条思路,IM-Net[200]和RUAS[123]也仅仅关注深度神经网络框架设计中的光照估计。

Discussion:从综述来看,基于物理先验的深度学习方法通常依赖于分解策略来预测和组装不同的组件,这限制了它们在深度神经网络框架设计中的灵活性。可以将神经架构搜索技术(例如[104])与基于物理的更有效的DNN设计方案相结合。此外,物理模型通常是特定于任务的,或者专注于某些应用程序场景。因此,未来的研究可以集中在设计一个更通用的物理模型,可以用于各种深度图像恢复和增强任务。

在这里插入图片描述

4.3 核和噪声信息作为先验

Insight:建模核和噪声信息可以为特定于图像的恢复提供额外的信息,或者帮助生成更逼真的低质量图像。

在这里插入图片描述

使用预定义的退化模型对图像退化过程进行建模可以有效地减少解空间。在图像恢复的通用流程中,许多研究[50, 241]广泛采用了经典的退化模型。经典退化模型可表示为y = (x⊗k)↓s +n,其中y表示退化图像,x⊗k表示潜图像x与核k之间的卷积运算,↓s为尺度因子为s的下样本运算,n为噪声。这种退化信息,即核和噪声,可以作为先验用于DNN结构设计,如图13 (a)所示,也可以用于训练数据集合成,以提高网络性能和鲁棒性,如图13 (b)所示。

注:文中写错成14 (a)、14 (b)

4.3.1 DNN结构设计中的显式建模

有了这样的退化模型,许多研究[241,209,233,65]关注于利用退化模型的估计核或噪声信息来提高dnn的性能。SRMD[241]首次将模糊核和噪声图作为图像sr的额外输入。具体而言,SRMD提出了一种利用主成分分析(PCA)在矢量化模糊核上投影的拉伸策略,对核信息进行编码。沿着这条思路,UDVD[209]进一步提出了一个动态卷积块,从条件输入中提取特征,以生成逐像素的内核进行细化。Zhang等[233]通过考虑更多的退化信息作为条件输入,引入了一种图像SR的展开优化。他们还将训练目标转化为数据子问题和优先子问题,可以交替求解。类似地,FFDNet[240]提出将噪声级图连接起来作为图像去噪的条件输入。

除了使用预估计的退化信息的方法外,一些工作侧重于使用DNN模型估计核,然后将估计的核与上述以核信息作为条件输入的深度恢复方法相结合。KernelGAN [10] 提出使用深度线性网络作为生成器,以参数化图像超分辨率的潜在核心,同时设计了一个判别器来区分生成的图块和真实的低分辨率图块。训练完成后,对生成器中的所有卷积滤波器进行卷积,可以显式地获得估计的核。如图14所示,在KernelGAN中学习到的核可以比非DNN模型更鲁棒。FKP[115]提出了一种基于流的核建模方法来生成合理的核初始化,并遍历学习到的核流形以获得更好的核估计结果。

在这里插入图片描述

此外,一系列工作[50,64,53]以端到端的方式共同估计退化信息并学习目标恢复任务。ICK[50]提出了一种迭代核校正方法,基于前一阶段的SR结果对估计的核信息进行校正。Huang等人[64]通过迭代估计退化和恢复SR图像开发了一种深度交替网络。CBDNet[53]使用噪声估计子网络来预测噪声信息,并将其作为DNN模型的额外输入,用于图像去噪。

4.3.2 在训练集合成中的显式建模

其他一些方法也提出使用从真实图像估计的更真实的核来覆盖训练数据集中的更多退化模式。例如,Zhou等人[249]基于从真实LR图像估计的一些真实SR核构建了一个大型核池,并使用数据分布学习。RealSR[69]采用了类似的策略,使用更真实的内核构建更通用的训练数据集。Tran等[188]提出使用编码器-解码器架构将锐模糊图像对的模糊核编码为模糊核空间,并将学习到的核空间应用于模糊图像仿真。在图像去噪任务中,GCBD[21]和C2N[68]都使用GAN生成逼真的噪声来构建用于图像去噪的配对数据集。

Discussion:在现实场景中,图像的退化过程通常是未知的,并且可能受到预定义退化模型之外的各种因素的影响。因此,对核和噪声信息进行显式建模不能得到令人满意的结果,因为这些模型不包括退化。除了核和噪声图的格式之外,还可以使用更通用的方式来编码退化信息或补充信息,例如,可学习表示[193]和数据特征[89]。

在这里插入图片描述

5 Semantic Priors

语义先验基于图像的语义信息,提供关于图像内容的知识和高级信息。我们将语义先验分为两部分:(1)一般语义信息作为先验;(2)以人为中心的语义信息作为先验。作为先验的一般语义信息(第5.1节)包含各种对象、场景和其他视觉元素。由于其重要的研究兴趣,以人为中心的先验,如身体姿势、面部先验,在一般语义先验中代表了一种独特的形式,需要单独的介绍(第5.2节)。

5.1 通用语义信息作为先验

Insight:通用语义信息是指将语义分割[6]的结果或特征作为指导深度图像恢复和增强的先验信息。

语义信息可以对图像内容带来相当大的约束,例如自然场景和人体、人脸[198,118],这可能为深度图像恢复和增强提供足够的指导。最近,人们提出了许多方法来使用语义信息作为先验的任务,如去模糊[170,172],去雾[161],去雨[110],图像/视频SR[199,195,155,192],低光图像增强[39,243,112]以及图像去模糊和SR的组合[170,172,20,153]。

我们将这些方法大致分为四类,如图15所示。根据图像增强网络与语义分割网络的关系划分前三类,可以与图像增强网络同时训练。最后一类语义信息来自于一个大型的基础模型,例如Segment Anything model (SAM)[88],这是深度学习中一个全新的技术,目前正在蓬勃发展。

在这里插入图片描述

第一类方法的一般示例如图15(a)所示,其中将语义信息作为DNN的输入,用于图像恢复和增强。Wang等人[198]提出了第一个利用语义信息来估计固有反射参数的低光图像增强框架。这可以增强区域细节,并指导基于场景语义的自适应去噪。在此基础上,Ren等[161]提出了一种以全局语义结果为输入估计视频去雾中的传输映射的框架。与这些方法不同,Shen等[172]和Chen等[20]直接将语义分割结果作为图像增强网络的输入。具体而言,Shen等[170]采用带有语义信息的编解码网络来实现图像去模糊的目标。Chen等[20]取代了编码-解码框架,提出了一种语义感知的图像恢复风格转换框架。虽然这些方法利用语义先验作为指导,取得了良好的效果,但它们对语义分割网络积累的误差很敏感。

第二类方法联合训练深度图像恢复网络和语义分割网络,可以缓解累积误差带来的影响,如图15 (b)所示。Wang等[192]通过联合学习分割网络和SR网络,提出了一个代表性的框架。由于它们采用相同的编码器-解码器结构,共享编码器,因此从LR输入可以得到SR图像和SR分割结果,没有任何累积误差。类似地,Liu等人[118]发现图像语义分割网络和去噪网络的联合训练能够通过提高在复杂场景中的泛化能力来相互强化。

第三类方法探讨了图像恢复增强任务与高级任务之间的协同关系,并引入了两个网络训练的相互指导策略,如图15 ©所示。例如Li等[110]提出了一个包含去雨网络和分割网络的框架。去雨网络消除了图像级和特征级对分割网络的影响,而分割网络通过嵌入语义信息来学习空间感知特征,便于去雨。同样,Ma等[131]提出了一种基于相互协作的联合人脸SR和地标检测框架。此外,检测信息也可以被视为一种特殊类型的语义先验,可以应用于深度图像恢复任务[63,172,131]。Shen等[172]在区分人和背景之前利用检测信息,分别指导行人和背景图像去模糊的网络。这样做的好处是,先验可以更好地驱动每个任务的网络,使其专注于包含行人或背景的特定区域。

近年来,大规模基础模型[156,88]为计算机视觉领域提供了新的推动力。作为一项说明性研究,SAM[88]在目前可用的最大分割数据集上以提示方式进行训练。该数据集由1100万张图片上超过10亿个注释组成。SAM出色的分割能力为语义引导的图像增强提供了新的灵感,如图16所示。与上述提到的三个类别不同,基于 SAM 的方法[71, 207, 242, 129]直接从 SAM 预训练模型中获取语义信息,而不是联合训练图像增强网络和分割网络。例如,Xiao等人[207]将SAM先验调谐单元作为现有SR网络中的附加组件[226,26],旨在将SAM的语义信息作为引导机制。然而,这些方法仅仅采用了插件的方式,忽略了图像增强网络骨干网的优化,从而限制了取得的进展。作为一种强大但新兴的方法,其他大型基础模型也具有巨大的潜力,在大型基础模型一节(第6.2.4节)中进一步说明。

在这里插入图片描述

Discussion:综上所述,语义先验有助于提高深度图像恢复的性能[198],而恢复后的输出有助于学习语义分割网络[118]。因此,避免任务之间的依赖关系和开发更有效的相互协作策略值得更多的研究。另一方面,大规模基础模型的利用[88]具有巨大的潜力,因为它可以提供稳定和有弹性的语义信息用于指导。此外,根据第2节的理论分析,语义先验通过提供额外的语义信息来提升深度图像增强模型的能力 f Φ f_Φ fΦ,并且可以很容易地扩展到其他领域,例如HDR成像和图像压缩伪影去除。最后,通过语义先验来探索高阶任务和低阶任务的融合也很有前景。

在这里插入图片描述

5.2 Human-centric先验

Insight:如图17所示,人体或面部独特的几何和结构等特征可以用来指导深度图像恢复和增强。人脸先验越来越受到关注,基于人体的先验也得到了研究。

在这里插入图片描述

在本节中,我们将全面概述受到广泛关注的面部先验,接着分析有关人体的先验。尽管调查人体先验的研究数量相对有限,但对虚拟现实(VR)的蓬勃发展的兴趣已经引发了对这些先验的关注,用于增强包含人类的图像,以增强下游任务中的表现[245,72]。

面部先验可以分为三种类型[198]:面部特定先验[222,25,220],基于参考的先验[108,106,107]和生成面部先验[198,214]。广泛使用的人脸特异性先验是基于人脸处于受控环境中且变化很小的常识。因此,可以利用独特的几何和空间分布信息,如面部ground truth[131]作为几何面部先验[25,14,86,61,20]来完成人脸图像恢复任务。同时,每个组件的各种特征,例如眼睛,可以作为先验知识。典型地,FSRNet[25]是一个由两个阶段组成的代表性框架。在第一阶段,设计一个先验估计网络,同时提供面部地标热图和解析图。在第二阶段,提出了一种以热图和解析图为输入的恢复网络,以恢复干净的人脸图像。然而,由于低质量图像往往会丢失有关面部细节的纹理信息,人脸特异性先验的应用仍然受到限制。

基于参考的先验依赖于高质量面部图像[107,108]或面部成分字典[106]的指导。这些先验通常是通过传统的方法获得的,例如K-means,对面部成分的感知显著特征进行聚类。然后应用这些先验来解决更具挑战性的人脸图像恢复问题。

生成式人脸先验算法是应用最广泛的一种方法,能够提供丰富的参考信息。[20214198]。例如,GFPGAN[198]在实现关节恢复和颜色增强之前,利用预训练GAN捕获的面部分布作为面部。同时,提出了一些特定的人脸先验来约束深度神经网络的训练过程。例如,身份先验[49]利用预训练的识别网络模型为人脸幻觉提供辅助的识别信息。最后,这些特定的面部先验是否可以进一步扩展到更多的图像增强和恢复任务中,仍然值得探索。

以利用人体信息为重点的研究也备受关注。值得注意的是,出现了三部代表性工作。Liu等[125]将人体不同部位(如手臂、衬衫)的解析信息引入SR网络骨干网;Shen等[172]利用人体检测信息将人与背景区分开来,设计了一个多分支网络,分别处理前景和背景,以解决与人体运动相关的运动模糊问题;Lumentut[130]利用人体位置信息引导网络关注人体模糊化。human-centric图像增强技术利用人体区域和背景之间的语义差异,允许网络通过识别不同的区域来提高性能。

Discussion:一些研究在SR和去模糊中利用了human-centric的先验,有效地整合了人体和面部的先验知识,赋予网络有价值的几何和语义信息。SR和去模糊技术在human-centric的场景中,包括姿势估计、人物再识别和VR的各种下游任务中起着关键作用。鉴于目前VR应用的广泛采用,应特别注意涉及human-centric图像增强的任务。在未来的努力中,可以有效地利用来自面部先验应用的宝贵见解,将3D和其他先验纳入其中,引导human-centric图像增强技术的发展。

在这里插入图片描述

6 Deep Learning-based Prior

基于深度学习的先验是从深度学习模型(如CNN)中学习到的,利用深度神经网络的结构和参数对图像进行恢复和增强。我们将此先验分为两个不同的部分:深度图像先验(第6.1节)和作为先验的预训练模型(第6.2节)。

6.1 深度图像先验

Insight:随机初始化的CNN可以仅基于退化的图像生成高质量的图像。CNN的结构可以作为先验。

CNN在图像处理任务中表现出了很强的能力。Ulyanov等人[189]发现卷积神经网络(CNN)的结构本质上可以捕捉自然图像分布。具体来说,它证明了网络不需要外部数据集来训练,并且可以仅仅依靠自身来恢复或增强图像。因此,CNN本身就是一个先验,被称为深度图像先验(DIP)。给定一个由θ参数化的随机初始化CNN, DIP运行一个优化过程,通过最小化任务相关的损失函数L,从噪声输入通过θ恢复观测图像,如图18所示。在大多数任务中,通常使用L2距离能量函数来比较生成的图像x和退化的图像 x 0 x_0 x0。梯度下降为基础的方法被应用于优化θ产生一个有利的恢复图像 x ∗ x^ * x

在这里插入图片描述

DIP是一个普遍先验,这可能是由于CNN固有的图像级归纳偏置。它可以很容易地应用于几乎所有的图像处理任务,如SR[189]、去模糊[158]、去雾[46]、去噪[90]。DIP的关键是它对许多任务的兼容性和令人印象深刻的性能。DIP具有高度的通用性,因为它不依赖于手工制作的核或方程,因此显著减轻了臭名昭著的超参数调优问题。利用DIP最常用的方法可能是设计新颖的网络结构和防止网络发生灾难性过拟合。下面将介绍这两个重要的研究方向。

6.1.1 深度图像先验的网络结构

神经网络的多样性和灵活性使DIP具有丰富的潜力。Heckel等[58]提出减轻DIP中CNN的繁重参数,发现轻量级的非卷积神经网络就足以生成高质量的图像。SelfDeblur[158]认为DIP仅限于捕获模糊核的先验,因为它被设计为生成自然图像。因此,它采用了一个额外的全连接网络来建模模糊核。不同的任务甚至图像往往需要不同的网络结构来达到最佳性能。因此,一些研究试图自动搜索合适的架构。[5]在DIP中引入了神经结构搜索,并在搜索空间中加入了新的成分,如上采样cell和跨尺度残差连接。尽管搜索空间很大,但它们通过添加特定于图像的度量显著减少了搜索时间。

DIP端到端还原整个图像,充当黑盒。为了可视化并使其更明确,另一项研究将多个CNN组合在一起,以便每个图像可以根据任务分解为几个层。Yosef等[46]首先提出了双DIP (Double-DIP, D-DIP),将图像分解为几个基本成分。D-DIP使用一个DIP生成器网络构建一个层次,基于DIP能够捕捉整个图像的事实,这比一个层次更为复杂。这些基于解耦的方法可以很容易地应用于下游任务。例如,在去雾任务中,Li等[100]将雾霾图像分解为无雾图像层、透射图层和大气光层。最近,He等人[57]提出在网络中加入自注意,并将其命名为深度注意先验。出现的像素对应有助于更好的可解释性。

6.1.2 防止深度图像先验过拟合

DIP有一个基本原理:优化网络fθ以产生期望的输出 x ∗ x^* x。然而,优化仅仅是基于观察到的图像 x 0 x_0 x0,这样的单图像训练存在巨大的过拟合风险。在任何任务中,为了生成更好的图像,必须防止过拟合或在训练过程中及时中断。否则可能导致输出收敛到目标退化 x 0 x_0 x0或崩溃。

Cheng等[27]用贝叶斯方法对DIP进行了理论研究。他们表明,用随机梯度朗之万动力学代替随机梯度下降可以显著减少过拟合,并在去噪和补全任务中获得更好的结果。Quan等[154]提出使用基于伯努利采样的像素级dropout来减少去噪时的过拟合和预测偏差。此外,Jo等人[75]通过有效自由度监测DIP去噪过程,以施加及时停止。

先验可以指导搜索到高质量的图像,DIP可以灵活地与其他先验相结合。这里,其他图像先验作为DIP的显式正则化。一方面,一些下游任务将受益于给定的先验;另一方面,这些先验可以增强DIP并减轻过拟合。这种方法通常是在训练过程中将已有的先验作为损失函数的一项进行积分。例如,[136]采用去噪的方法进行正则化,Liu等[119]采用总变异TV先验。或者,Li等[105]提出在网络冻结的情况下优化初始噪声;MetaDIP[231]表明,用预训练的权值初始化网络也可以使优化时间更短,鲁棒性更强。

6.1.3 深度视频先验

由一系列图像组成的视频也可以从DIP中受益。Lei等人[97]提出了深度视频先验(Deep Video Prior, DVP),并表明输出帧中对应之间的距离可以通过CNN在内部最小化。这是基于这样一个事实:给定一个CNN,在训练的早期阶段,相似的patch会产生相似的结果。因此,DVP在输出帧之间实现了令人信服的时间一致性,并且不需要手工制作显式正则化项。

Discussion:DIP以其简单性和通用性而闻名于世。它为低级视觉任务提供了新的见解,并点燃了探索深度模型属性的研究。DIP是一种普遍适用的有效的无监督方法,通常不受图像大小、内容或质量的限制。尽管与许多有监督的衍生品相比,vanilla DIP仍有不足,但其特定任务的衍生品已接近最先进的监督方法。DIP的优化过程具有图像特异性。DIP虽然不需要大规模的训练,但通常需要数千次迭代才能生成一幅令人满意的图像,耗费大量的时间和计算资源。此外,DIP往往会对退化图像进行过拟合。研究人员仍在积极寻求解决这两个问题的办法。

在这里插入图片描述

6.2 预训练模型作为先验

Insight:预训练的模型通常包含高质量图像或低质量图像的特定知识,可以用作深度图像恢复和增强的生成器或正则化术语。

6.2.1 GAN Inversion作为先验

GAN在图像生成[162,3]和编辑任务[162,184]中占据主导地位。一个训练有素的生成器理论上可以复制任何图像,给定相应的潜在码z。因此,预训练的 GAN 模型,如StyleGAN [82],可以用作一种先验,即 GAN 先验。GAN先验是基于GAN Inversion的。首先将退化图像映射到唯一的潜在码,然后在潜在空间中搜索优选码。最后,通过优化后的代码可以直接生成恢复或增强的图像,如图19所示。简而言之,对于任意退化的图像 x ^ \hat{x} x^及其潜在码 z ^ \hat{z} z^,通过在预训练的生成器G的输出空间中找到一个自然潜在码z,即可得到自然图像x。

在这里插入图片描述

PULSE[139]首先通过在HR面部图像流形中提出一种有效的搜索策略,引入了人脸SR的GAN先验。由于隐码是一个维度有限的特征向量,可能无法捕捉到丰富的空间信息。为此,多码GAN先验[51]提出同时使用多个潜在码来处理一张图像。它们自适应地融合潜在代码在某个中间层G上产生的特征。有了这样一个更复杂的模型,GAN先验能够有更广泛的应用,如着色、去噪和补全。

然而,Pan等人[150]发现,生成器G捕获的图像流形与来自野外的输入图像之间存在差距,因为G可能会过拟合其训练数据集。为了解决这个问题,他们提出了深度生成先验(DGP),它同时更新G和潜在代码z,在各种恢复任务中显示出明显的改进。另一个更好地利用GAN先验的策略是训练编码器 E ( x ; θ E ) E(x;θ_E) E(x;θE)事先生成图像特定的分布z,然后将其馈送给G。lean[18]在G之前添加了一个可训练的编码器,在G之后添加了一个解码器,用于SR任务。同样,在人脸恢复中,GFP-GAN[198]增加了退化去除模块,获得了高质量的G专用多层次空间特征。这些预处理或后处理可以进一步挖掘GAN先验的潜力。

6.2.2 在训练集合成中的生成先验

GAN还可以用于利用数据分布学习,并在生成配对合成训练集之前作为退化。具体来说,基于GAN的方法通过使用一个或多个鉴别器来区分生成的图像样本和真实图像样本,从而对退化过程的生成器模型进行预训练。按照这种方式,退化GAN[15]是一个具有代表性的框架,它结合了一个预训练的退化生成器,从HR图像生成LR图像,并提出了一个SR网络来超分辨率LR图像。为了减少生成的LR图像与真实LR图像之间的域差距,DASR[205]建议使用这两种类型的图像来训练SR模型。Zhang等人[229]提出了第一个框架,该框架学习如何使用未配对的锐利和模糊图像数据集模糊锐利图像,然后生成用于训练去模糊模型的图像对。

6.2.3 基于模型方法的深度去噪先验

由于经典的基于模型的方法具有可解释性和自适应性,一些图像恢复方法提出将深度神经网络整合到MAP (Maximum A Posteriori)框架中,并使用迭代优化算法作为正则化先验。给定干净的图像x和退化的图像y, MAP框架最小化由数据项和正则化项组成的能量函数。数据项使解与退化过程保持一致,而前一项使解具有期望的性质,以减轻不适定问题。基于该框架,Zhang等人[232]提出的一项代表性工作将一组快速有效的CNN去噪器集成到先验项中,以解决各种恢复任务,如去噪、去模糊和超分辨率。扩展工作[228]提出使用更强的U-Net去噪器来获得更好的性能,并将其应用于更多的恢复任务。在[36]中也采用了类似的思想,用深度去噪模型替换先前的项。此外,深度展开网络[227]提出以端到端方式优化包括去噪先验项在内的所有参数,从而提供更好的性能。

6.2.4 基于大规模基础模型的先验

大规模基础模型[11],或大规模预训练模型,通过利用从大量训练数据中学习到的丰富表征,为各种图像恢复和增强任务提供了大量的先验知识。由于其强大的判别或生成能力,大规模基础模型,如连接文本和图像(CLIP)[156]、扩散模型[163]和分割任何模型(SAM)[88],在图像增强任务中,如超分辨率(SR)、去噪和去模糊方面已经引起了关注。然而,由于对高保真结果的要求很高,将这些模型应用于图像增强任务面临挑战。为了解决这个问题,研究人员开发了新的方法[1,73,242],利用基础模型的优势,同时为特定的任务定制它们。

CLIP[156]是一个大规模的基础模型,通过自然语言监督有效地获取视觉概念,利用包含超过4亿图像文本对的数据集。它可以在没有明确训练的情况下识别不同数据集的各种物体和场景。因此,ADIR[1]使用CLIP作为通用检索模型,检索语义相似的图像作为图像恢复任务的参考。TextIR[8]框架利用CLIP的文本-图像对齐特性,通过文本描述实现灵活可控的恢复。同时,[181]设计了一种恶劣天气图像恢复模型,该模型结合了空间自适应残差编码器和CLIP天气先验嵌入模块,以处理基于天气文本的不同天气条件。

Stable Diffusion[163]是一种潜在的文本到图像的扩散模型,该模型已经在包含23亿张英文字幕图像的庞大数据集上进行了训练。当提供文本输入时,该模型显示出生成逼真图像的能力。因此,它在图像恢复领域受到了极大的关注。盲SR方法[190]利用这些模型,采用时间感知编码器、可控特征包装模块和渐进聚合采样策略来克服尺寸限制,并在合成和现实世界基准测试中展示了出色的性能。

最后,对于分割基础模型,SAM[88]通过合并分割信息作为图像恢复任务的先验,特别是当退化与图像的语义内容相关时[71,207,242,129]。SAM的训练数据集目前是最大的分割数据集,包含超过1000万张图像和10亿个标签,如图20所示。该数据集的庞大规模超过了以往的数据集,从而使SAM模型表现出显著的泛化性能和鲁棒性,这将为图像增强领域带来巨大的机会。例如,已经开发了一种交互式图像恢复方法[71],允许用户从一系列结果中进行选择,并通过SAM生成的掩模在每个对象级别上操作,以生成不同的结果。在[207]中,SAM提供了先验知识,例如:语义掩码,作为提高现有图像恢复模型性能的额外功能。同样,Enlightenment Anything[242]将SAM的语义掩模与低光图像融合,以增强视觉感知。在视频SR中,语义掩码可以作为帧对齐和融合的引导信息。此外,SAM在从雾天图像中检测灰度分割掩模方面显示出巨大的潜力[73],可以为现有的去雾模型提供先验知识。这表明,将分割和恢复结合在一个统一的流水线中,可以大大提高恢复图像的质量。然而,由于SAM的新颖性,其全部潜在价值仍未被发掘。关于SAM进一步发展方向的讨论见第7.2节。我们希望本文能够为图像增强的基础模型提供新的思路。

在这里插入图片描述

Discussion:使用预训练模型作为先验的基本原理在于从大规模数据集中获得的知识的有效性,这可以作为图像增强的有价值的约束和指导。简而言之,预训练数据集提供的约束和指导的有效性随着其规模的增大而增加。最近,大型语言和视觉基础模型的出现引发了深度学习领域的新一波革命。利用这些大规模预模型在图像增强领域提供了一条有价值的研究途径,值得研究人员积极探索。

在这里插入图片描述

7 Open Problems and New Perspectives

7.1 开放性问题

到目前为止,我们回顾了各种深度图像恢复和增强任务的技术进展。这些先验相互紧密联系,在网络结构、数据生成、损失函数设计等方面起着举足轻重的作用。因此,了解先验和它们的应用范围之间的联系是至关重要的,这对于在社区中激发新的研究领域至关重要。本文主要讨论了先验的几个关键方面,包括它们之间的关系、泛化能力、潜在价值和应用。

先验与基于DL的方法的关系。根据第2节的理论分析,先验通过数据( p l p_l pl p h p_h ph)和网络( f ϕ f_ϕ fϕ)两种方式影响深度图像恢复和增强方法,如图10所示。从数据的角度来看,一些先验,如基于核信息的先验(4.3.2节),基于生成模型的先验(6.2.2节),可以利用低质量(合成)图像中的退化信息来提高 p l p_l pl。相比之下,与 p h p_h ph相关的先验,例如,基于统计强度特征的先验(第4.1节),是通过学习高质量图像的固有模式来构建的。从模型的角度来看,先验可以帮助DNN模型收敛,并通过增加 f φ f_φ fφ来指导其结构设计以获得更好的性能,例如时间先验(第3.2节)、语义先验(第5.1节)。因此,探索基于先验的深度图像恢复和增强方法的应用前景十分广阔。

不同先验之间的关系。先验之间有着广泛的联系,它们中的许多反映了图像的相似属性,并且一些先验可以更详细地表示其他先验,如表10所示。例如,暗通道先验[149]和亮通道先验[212]是图像通道统计先验的子集[212]。而极端通道先验[212]和梯度通道先验[132]是不同场景下图像稀疏度的具体表示,如4.1.1节所述。时域锐度先验 [103] 是时域先验的一种特殊形式,如第3.2节所述。因此,基于先验之间的联系来探索新的先验是有希望的。例如,暗通道先验可以扩展为自适应正则化项,以约束HDR和低光成像中的DNN模型。

先验对泛化能力的影响。用于图像恢复和增强的DNN模型训练纯粹是数据驱动的;因此,它倾向于寻找从输入到输出的解空间的捷径,导致在应用到另一个数据域时泛化能力有限[47]。一个典型的例子是,许多基于模拟数据集训练的基于DL的方法不能很好地推广到更复杂的现实场景[20]。先验可以更好地约束DNN模型,使其具有更强的泛化能力,因为先验可以帮助找到更有效的解空间,从而获得更好的泛化性能。例如,先验可以引导无监督域自适应的DNN模型将知识从模拟图像转移到真实图像[169,99]。此外,将在不同先验生成的模拟数据集上训练的DNN的知识转移到现实世界图像的模型学习中可能是一个潜在的方向。

先验与DNN结构的关系。先验从三个方面影响深度图像恢复和增强任务中的网络结构设计。第一个与网络本身密切相关。例如,非局部注意[197]可以是利用非局部自相似先验[237]的更好设计,因为它的结构可以很好地拟合该先验的性质。第二个问题与输出有关。一些先验约束了网络的输出,例如暗通道先验[34]。第三个与输入数据有关。例如,光流引导网络在处理输入时使用滑动窗口或序列[196,19]。相比之下,统计先验(第4.1节),例如暗他搭配和梯度求导,在训练过程中往往更多地充当正则化项,与网络解耦。我们认为利用特定先验的性质来设计新的网络结构是势在必行的。

超越图像恢复和增强。图像恢复和增强任务是几乎所有高级视觉任务的基础。因此,可以探索用于深度图像恢复和增强的先验,以提高高级任务的性能。例如,Liu等人[118]使用去噪的先验来提高深度语义分割模型的性能。此外,面部先验(第5.2节)不仅可以用于图像增强任务,还可以用于人脸检测、分割和识别[20]。最后但并非最不重要的是,通常用于高级和低级视觉任务(第5.1节)的语义先验可以与其他先验相连接,以加强对这两个任务的学习。未来的研究可以考虑为高级和图像恢复任务设计更有效的网络结构,因为之前这两个任务都是独立学习的。

为什么一些先验算法没有广泛应用于DNN ?首先,DNN本身可以自动学习图像的一些特征,例如去模糊中的模糊核。例如,Su等人[141]提出了一种端到端去模糊网络,该网络优于之前的框架[178],该框架集成了显式模糊核的先验。其次,一些先验,如非局部自相似先验(3.3节),迄今尚未得到很好的研究,因此具有更积极研究的巨大潜力。例如,最近的Transformer框架在分类[85]和检测[127]等许多任务中都能获得比CNN框架更好的结果,因为Transformer框架可以获得非局部关注。最后一个原因是这些先验更多地被用作正则化[22]或损失函数[94]。例如,暗通道先验被设计为深度去雾网络中的损失函数[48]。综上所述,我们认为在这个方向上有很大的研究空间,因为先验可以用于各种深度图像恢复和增强任务。

在这里插入图片描述

7.2 新视角

由于大多数先验表明图像的内在属性,它们可以潜在地扩展到其他任务。然而,我们的回顾发现先验在特定深度恢复和增强任务中的应用存在一些差距,如表10所示。

基于核建模的先验潜力。在第4.3节中,我们回顾和分析了基于核和噪声信息的深度图像SR和去模糊的先验。一些基于DL的图像恢复任务,包括去雾、去雨和去雪方法,很少使用这些先验。然而,核估计是去雾、去雨和去雪的重要步骤[202]。因此,一个潜在的方向是将估计的核转换为一种新的先验类型,用于其他深度图像恢复和增强任务。

非局部自相似先验的潜力。非局部相似性先验反映了自然图像的显式模式,如第3.3节所述。然而,从表10可以看出,它仅用于典型的图像恢复和增强任务,如图像去模糊和SR。这种先验利用图像中一些小patch的再现,为图像恢复提供额外的细节[96]。这些详细的信息也有助于其他恢复和增强任务,包括HDR成像、图像去噪、图像去雾等。因此,有可能在更广泛的应用之前对其进行扩展。

面部先验的潜力。面部先验的研究主要集中在面部幻觉和去模糊。然而,面部先验的通用特征应该用于更多的任务。例如,Shen等人[170]利用人脸先验中人脸成分的几何和空间信息进行人脸图像幻觉。这种几何和空间信息在人脸中是常见的,这表明它可以用于支持人脸图像的HDR和低光图像增强。因此,利用面部先验进行HDR成像、弱光增强、脱噪等是一个潜在的发展方向,如表10所示。

统计图像特征作为先验的潜力。一些图像的统计特征先验,如L0正则化[148]、梯度剖面先验[179]和直方图均衡化[33],被广泛用于传统的图像恢复和增强任务中。这些先验描述了高质量图像或低质量图像的一些特定属性,这在损失函数和正则化项方面是有用的。例如,可以将先验的梯度剖面作为边缘信息输入到深度SR网络中,对HR图像的边缘进行锐化。此外,直方图均衡化先验还可以监督深度HDR网络预测具有更高动态范围的图像。

多传感器融合的先验算法。近年来,事件相机和红外相机为深度图像恢复和增强带来了新的启示。事件相机比基于帧的相机有很多优势,比如HDR和无运动模糊[244,128]。红外摄像机也因其能反射更宽波长范围的光而备受关注[30]。这些传感器提供了传统摄像机在极端条件下无法捕捉到的关键视觉信息,例如高速运动和夜景。人们已经努力利用事件数据作为指导来提高深度图像恢复和增强的性能[191]。然而,如何利用这些新的相机数据作为先验,更好地指导DNN模型进行图像恢复和增强,仍然是亟待研究的问题。此外,考虑多传感器融合用于深度图像恢复和增强可能是有趣的。我们希望本文中分析的先验能够激发更多研究,以发现适用于这些新型传感器数据的新先验。

预训练模型的潜力。在第6.2.1节中,一些基于预训练生成器的GAN Inversion方法[51150]可以通过在潜在空间中搜索潜在代码来生成高质量的图像。这表明在大规模数据集上预训练的GAN模型可以从高质量的图像中学习到一些先验知识。因此,为其他图像恢复任务开发特定于任务的搜索策略是可能的。例如,对于图像去雾任务,搜索目标可以是干净场景的潜在代码,同时保持与退化级图像相同的语义。除了第6.2.2节之外,一些研究[169,221]提出使用GAN Pipeline,以端到端方式联合嵌入退化的图像合成和图像恢复任务。然而,这些图像合成方法受到特定任务训练数据集规模的限制。将GAN Inversion技术应用于图像合成可以提供一种利用从预训练GAN中学习到的图像分布的新视角。因此,通过生成更多看不见的图像来进一步增加数据的多样性是一个很有前途的方向。最近,大规模预训练模型的快速发展在各种下游任务中显示出巨大的潜力,例如零射击语义理解[4]和图像生成[166]。这些预训练模型由于具有大规模的训练数据,可以作为强先验,为各种图像恢复任务提供语义信息。

大规模基础模型的潜力。在第6.2.4节中,我们将大规模基础模型总结为先验模型,如CLIP[156]、Stable Diffusion[163]和SAM[88]。不同的下游应用[144,248]强调了这些大规模基础模型在提供可靠语义表示方面的多功能性。虽然一些大型基础模型已经用于图像增强和恢复任务,但这些模型的实际能力还远远没有得到充分利用,例如听从指令的能力。例如,最近的大规模语言模型,如GPT-4[146],在遵循用户指令时显示出比以前的模型更好的Zero-Shot能力。展望未来,大规模基础模型在图像恢复和增强方面的潜力是巨大的。如Visual ChatGPT[206]所示,通过用户友好的交互界面集成多模态输入(如文本),可以迭代地提高图像质量。此外,像Visual ChatGPT这样的系统的交互方法允许不断改进,根据文本指令产生更精确的结果。随着大尺度基础模型的发展,我们期望这些先进的能力可以用于提高图像增强和恢复任务的性能。例如,利用听从指令的能力对图像进行更深层次的语义理解或任务个性化,可以显著提高基于用户意图的图像恢复的准确性和保真度。

8 Conclusion

本文对先验算法在深度图像恢复和增强方面的最新进展进行了系统的分析。我们对先前常用的基于DL的方法进行了层次和结构分类。同时,我们对每个先验的原理、潜力和应用进行了深入的讨论。此外,我们总结了关键问题,强调了潜在的未来方向,以激发更多的研究在社区。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c语言的一些题(2024_1_7)

变种水仙花数 #include <stdio.h>int main() {int a 10000;for (; a < 100000; a){if ((a / 10000) * (a % 10000) (a / 1000) * (a % 1000) (a / 100) * (a % 100) (a / 10) * (a % 10) a)printf("%d ", a);}return 0; } //变种水仙花数 - Lily Num…

详细全面的postman接口测试实战教程

基本介绍 postman是一款流程的接口调试工具&#xff0c;其特点就是使用简单&#xff0c;功能强大。使用角色也非常广泛&#xff0c;后端开发&#xff0c;前端人员&#xff0c;测试人员都可以使用它进行接口调试或测试。 基本框架 如果把postman去其内容只保留框架的话&#…

vim/vi 模式切换和常用快捷键

vim/vi 切换模式&#xff1a; vim/vi 常用快捷键&#xff1a; 一般模式&#xff1a; gg&#xff1a;文件开头、G&#xff1a;文件结尾 shift^ &#xff1a;光标当前行首、shift^&#xff1a;光标当前行尾 yy&#xff1a;复制、p&#xff1a;粘贴、dd&#xff1a;删除当前行、…

JVM实战篇:内存调优

Java虚拟机进行生产环境线上问题解决以及性能问题的优化。 一.内存泄漏 内存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&#xff0c;这种情…

【Flutter 开发实战】Dart 基础篇:常见的数据类型

Dart 支持许多数据类型&#xff0c;包括我们常见的 Numbers&#xff08;数值类型&#xff09;、Strings&#xff08;字符串类型&#xff09;、Booleans&#xff08;布尔类型&#xff09;&#xff0c;也支持一些包括 Collections&#xff08;集合类型&#xff09;、Records&…

大数据毕业设计:新闻情感分析系统 舆情分析 NLP 机器学习 爬虫 朴素贝叶斯算法(附源码+论文)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…

asp网站代码层面实现防cc攻击

CC主要是用来攻击页面的.大家都有这样的经历&#xff0c;就是在访问论坛时&#xff0c;如果这个论坛比较大&#xff0c;访问的人比较多&#xff0c;打开页面的速度会比较慢&#xff0c;对不?!一般来说&#xff0c;访问的人越多&#xff0c;论坛的页面越多&#xff0c;数据库就…

【攻防世界】Reverse——secret-galaxy-300 writeup

由main函数查看相关代码&#xff0c;但是代码中并没有直接的关于flag的信息&#xff1a; int __cdecl main(int argc, const char **argv, const char **envp) {__main();fill_starbase(&starbase);print_starbase((int)&starbase);return 0; } void __cdecl fill_sta…

【Docker基础三】Docker安装Redis

下载镜像 根据自己需要下载指定版本镜像&#xff0c;所有版本看这&#xff1a;Index of /releases/ (redis.io) 或 https://hub.docker.com/_/redis # 下载指定版本redis镜像 docker pull redis:7.2.0 # 查看镜像是否下载成功 docker images 创建挂载目录 # 宿主机上创建挂…

一些数字设计及验证的笔试题(6)

一些数字设计及验证的笔试题汇总&#xff0c;仅供参考。 文章目录 一、什么是亚稳态&#xff1f;如何改善&#xff1f; 二、C语言下列关系符号中&#xff0c;优先级最低的是哪个&#xff1f; 三、下面哪种不属于Vim编辑器的工作模式&#xff1f; 四、在以下的哪个timescale…

(21)Linux的文件描述符输出重定向

一、文件描述符 1、文件描述符的底层理解 在上一章中&#xff0c;我们已经把 fd 的基本原理搞清楚了&#xff0c;知道了 fd 的值为什么是 0,1,2,3,4,5... 也知道了 fd 为什么默认从 3 开始&#xff0c;而不是从 0,1,2&#xff0c;因为其在内核中属于进程和文件的对应关系。 …

如何才能成长为一个架构师?

很多技术小伙伴都在问我&#xff0c;架构师是不是很牛逼&#xff0c;那么为什么自己不能成长为一名优秀的架构师呢&#xff1f;而总是作为工程师资源被项目打包带走&#xff0c;并周而复始的完成领导的业务开发需求任务。 架构师的工作职责&#xff1f; 为了方便技术小伙伴理…

nodejs 不用 electron 实现打开文件资源管理器并选择文件

前言 最近在开发一些小脚本&#xff0c;用 nodejs 实现。其中很多功能需要选择一个/多个文件&#xff0c;或者是选择一个文件夹。 最初的实现是手动输入一个目录&#xff08;这个只是一个普通的终端文本输入&#xff0c;所以按下 tab 没有路径提示&#xff09;&#xff0c;非…

说反话-加强版

主要&#xff1a;使用strtok函数&#xff08;将字符串以空格分开&#xff09;&#xff08;若不了解strtok函数&#xff0c;我在其它文章已说明&#xff09; #include <stdio.h> #include <string.h> int main() { int i 0; int z 0; char* str[5000…

测试组合生成器-allpairspy

1、前言 在我们写功能用例时&#xff0c;常常会遇到多个参数有很多的选项&#xff0c;而如果想把这些参数值都要覆盖执行的话&#xff0c;工作量可想而知。那有没有什么办法既可以减少用例数量&#xff0c;也可以保证用例质量又降低测试时间成本&#xff0c;本篇将介绍一款工具…

强化学习的数学原理学习笔记 - 时序差分学习(Temporal Difference)

文章目录 概览&#xff1a;RL方法分类时序差分学习&#xff08;Temporal Difference&#xff0c;TD&#xff09;TD for state valuesBasic TD&#x1f7e1;TD vs. MC &#x1f7e6;Sarsa (TD for action values)Basic Sarsa变体1&#xff1a;Expected Sarsa变体2&#xff1a;n-…

Halcon区域的最大、最小灰度值min_max _gray

Halcon区域的最大、最小灰度值 除了可以使用gray_features算子提取区域中的最大与最小灰度值外&#xff0c;还可以使用min_max gray 算子计算区域的最大与最小灰度值&#xff0c;区别是后者更具灵活性。min_maxgray 算子的原理是基于灰度直方图&#xff0c;取波峰和谷底之间的…

学习笔记——C++运算符之比较运算符

作用&#xff1a;用于表达式的比较&#xff0c;并返回一个真值或假值 比较运算符有以下符号&#xff1a; #include<bits/stdc.h> using namespace std; int main(){//int a10;int b20;cout<<(ab)<<endl;//0//!cout<<(a!b)<<endl;//1//>cout&…

行走在深度学习的幻觉中:问题缘由与解决方案

如何解决大模型的「幻觉」问题&#xff1f; 我们在使用深度学习大模型如LLM&#xff08;Large Language Models&#xff09;时&#xff0c;可能会遇到一种被称为“幻觉”的现象。没错&#xff0c;它并不是人脑中的错觉&#xff0c;而是模型对特定模式的过度依赖&#xff0c;这…

【Docker-Dev】Mac M2 搭建docker的redis环境

Redis的dev环境docker搭建 1、前言2、官方文档重点信息提取2.1、创建redis实例2.2、使用自己的redis.conf文件。 3、单机版redis搭建4、redis集群版4.1、一些验证4.2、一些问题 结语 1、前言 本文主要针对M2下&#xff0c;相应进行开发环境搭建&#xff0c;然后做一个文档记录…