《Invertible Denoising Network: A Light Solution for Real Noise Removal 》论文阅读

2023-05-16

摘要

可逆网络在图像去噪方面有各种各样的好处,因为它们是轻量级的,信息无损的,并且在反向传播过程中节省内存。然而,应用可逆模型去噪具有挑战性,因为输入是有噪声的,而反向输出是干净的,遵循两种不同的分布。我们提出了一个可逆去噪网络,InvDN,来解决这一挑战。InvDN将噪声输入转换为低分辨率的干净图像和包含噪声的潜在表示。为了去除噪声并恢复干净的图像,InvDN在还原过程中使用从先前分布中采样的另一个噪声代表来替换噪声代表。InvDN的去噪性能优于所有现有的竞争模型,为SIDD数据集实现了新的最先进的结果,同时享受更少的运行时间。而且,与最近提出的DANet相比,InvDN的大小要小得多,只有4.2%的参数数。此外,通过操纵噪声潜在表示,InvDN还能够产生更类似于原始的噪声。我们的代码可以在https://github.com/Yang-Liu1082/InvDN.git上找到。

介绍

图像去噪的目的是从噪声观测中恢复干净的图像。传统方法将去噪建模为最大后验概率优化问题,假设噪声分布[38,57,12]和自然图像先验[16,39,47]。虽然这些算法在去除合成噪声方面取得了令人满意的性能,但是它们对真实世界噪声的有效性受到了损害,因为它们的假设偏离了真实世界场景中的假设。最近,卷积神经网络(CNNs)已经实现了优越的去噪性能[53,54]。这些神经网络从大量干净和有噪声的图像对中学习图像的特征。然而,由于真实噪声非常复杂,为了获得更好的去噪精度,CNN去噪模型变得越来越大和复杂[50,51,52]。因此,尽管一些方法可以获得非常令人印象深刻的去噪结果,但它们在现实场景中可能不实用,例如在智能手机和运动传感设备等边缘设备上部署模型。

目前,大量的研究致力于开发可逆的神经网络[18,41,25,9]。对于图像去噪,可逆网络在以下三个方面具有优势:(1)模型是轻的,因为编码和解码使用相同的参数;(2)它们保留了输入数据的细节,因为可逆网络是信息无损的[36];(3)它们在反向传播期间节省内存,因为它们使用恒定的内存量来计算梯度,而不管网络的深度如何[23]。因此,可逆模型适用于智能手机等小型设备。因此,我们研究采用可逆网络来解决图像去噪问题。然而,应用这种网络来消除噪声并非易事。传统可逆模型的原始输入和反向结果遵循相同的分布[19,31,46]。相比之下,对于图像去噪,输入是有噪声的,恢复的图像是干净的,遵循两种不同的分布。因此,可逆去噪网络需要在反转之前放弃潜在空间中的噪声。由于这个困难,噪声消除以前没有在可逆的文献和模型中被研究和部署。

为了解决上述问题,本文提出了一种可逆去噪网络InvDN。不像以前的可逆模型,涉及两个不同的潜在变量;一个包含噪声和高频清洁内容,而另一个仅编码清洁部分。在前向通道期间,InvDN将输入图像转换为具有更多通道的缩小潜在表示。我们训练InvDN,使潜像的前三个通道与低分辨率干净图像相同。由于可逆网络保留了输入[36]的所有信息,噪声信号位于其余通道中。为了完全消除噪声,我们会丢弃所有包含噪声的通道。然而,作为副作用,我们也丢失了一些与高分辨率干净图像相对应的信息。为了重建这样的缺失信息,我们从先验分布中抽取一个新的潜在变量,并将其与低分辨率图像相结合,以恢复干净的图像。我们的贡献如下:据我们所知,

  • 我们是第一个为真实图像去噪设计可逆网络的人。
  • 传统可逆网络的潜在变量遵循单一分布。相反,InvDN有两个遵循两种不同分布的潜在变量。因此,InvDN不仅可以恢复干净的图像,还可以生成新的噪声图像。
  • 我们在SIDD测试集上实现了一个新的最先进的(SOTA)结果,使用了比以前的SOTA方法少得多的参数和运行时间。
  • InvDN能够生成与原始噪声图像更相似的新噪声图像。

相关工作

在这一部分,我们总结和讨论了图像去噪的发展和最新趋势。广泛使用的去噪方法可分为传统方法和当前数据驱动的深度学习方法。

传统方法。模型驱动去噪方法通常构造一个带损失和正则项的映射优化问题。大多数传统的建模方法都需要假设噪声分布。一种假定的分布是高斯混合分布,它被用作自然斑块或斑块组上噪声的近似器[58,13,49]。正则项通常基于干净图像的先验。全变差[43]去噪是利用图像的统计特性去噪。稀疏性[37]在字典学习方法[20]中被加强,以从干净的图像中学习过完备的字典。非局部相似[11,21]方法使用共享相似模式的非局部补丁。著名的BM3D [17]和NLM [11]采用了这种策略。然而,由于对空间不变噪声或干净图像的先验假设,这些模型是有限的,这通常不同于真实情况,其中噪声是空间变化的。

数据驱动的深度学习去噪。近年来,深度学习方法取得了快速进展,在很大程度上提高了去噪性能。由于缺乏真实数据,早期的深度模型主要关注合成噪声图像去噪。由于一些大型真实噪声数据集,如DND [40]和SIDD [2],目前的研究重点是盲真实图像去噪。真实图像去噪主要有两种流。一种是将在合成数据集上运行良好的方法应用于真实数据集,同时考虑这两个领域之间的差距[54,24]。在这个方向上,目前最有竞争力的方法是AINDNet [29],它通过自适应实例归一化操作,将从合成到真实的传递学习应用到去噪。

另一个方向是用更复杂的分布来模拟真实噪声,并设计新的网络架构[10,14]。由尤等人提出的VDN [50]假设噪声遵循逆伽马分布,并且我们观察到的干净图像是不可用的真实干净图像的共轭高斯先验。他们基于这些假设提出了一个新的训练目标,并使用两个并行分支来学习同一网络中的这两个分布。它的潜在局限性是当噪声分布变得复杂时,这些假设是不合适的。后来,DANet [51]放弃了噪声分布的假设,并采用了GAN框架来训练模型。该架构中还采用了两个并行分支:一个用于去噪,另一个用于噪声生成。这种设计概念是三种图像对(干净和有噪声、干净和产生噪声以及去噪和有噪声)遵循相同的分布,因此它们使用鉴别器来训练模型。潜在的限制是基于遗传神经网络的模型训练不稳定,因此需要更长时间才能收敛[8]。此外,VDN和达内都在并行分支中使用了Unet [42],使得它们的模型非常大。

为了压缩模型大小,我们探索可逆网络。据我们所知,很少有研究将可逆网络应用于去噪文献。噪声流[1]引入了一种可逆的体系结构来学习真实的噪声分布,以生成真实的噪声作为数据扩充的一种方式。使用噪声流生成噪声图像需要除sRGB图像之外的额外信息,包括原始RGB图像、ISO和相机特定值。他们没有提出新的去噪主干。到目前为止,还没有关于真实图像去噪的可逆网络的报道。

方法

本文提出了一种新的由可逆模块组成的去噪结构,即可逆去噪网络。为了完整起见,在这一节中,我们首先提供可逆神经网络的背景,然后介绍InvDN的细节。

3.1 可逆神经网络

可逆网络最初是为概率模型的无监督学习而设计的[19]。这些网络可以通过双射函数将一个分布转换成另一个分布,而不会丢失信息[36]。因此,它可以学习观察的精确密度。使用可逆网络,可以通过将遵循简单分布p_z(z)的给定潜变量z映射到图像实例x~p_x(x),即x = f(z)来生成遵循复杂分布的图像,其中f是由网络学习的双射函数。由于双射映射和精确的密度估计性质,可逆网络近年来受到越来越多的关注,并已成功应用于图像生成[19,31]和重新缩放[46]等应用中。

3.2 可逆模型去噪领域面临的挑战

在去噪中应用可逆模型不同于其他应用。图像生成[19,31]和重新缩放[46]中广泛使用的可逆网络考虑输入和还原图像遵循相同的分布。这种应用是可逆模型的直接候选。然而,图像去噪将噪声图像作为输入,并重建干净的图像,即输入和恢复的结果遵循两种不同的分布。另一方面,可逆变换在变换过程中不会丢失任何信息。然而,可逆的无损特性对于图像去噪是不期望的,因为当我们将输入图像转换成潜在变量时,噪声信息仍然存在。如果我们能够在可逆变换过程中分离出有噪声的和干净的信号,我们就可以重建一个干净的图像,而不用担心通过放弃有噪声的信息而丢失任何重要的信息。在下一节中,我们将介绍一种通过可逆变换获得干净信号的方法。

3.3 3.3.设计概念

我们将原始噪声图像表示为y,其干净版本表示为x,噪声表示为n。我们有:p(y) = p(x,n) = p(x)p(n|x)。使用可逆网络,观测值y的学习潜在表示包含噪声和干净信息。应该注意的是,把它们分开并只放弃嘈杂的部分并不是小事。另一方面,与现有的深度去噪模型相比,可逆网络使用不同的特征提取方法。现有的算法通常使用带填充的卷积层来提取特征。然而,它们不可逆有两个原因:第一,填充使网络不可逆;其次,卷积的参数矩阵可能不是满秩的。因此,为了确保可逆性,而不是使用卷积层,有必要利用可逆特征提取方法,例如挤压层[31]和哈尔小波变换[7],如图2所示。挤压操作根据棋盘模式将输入重新成形为具有更多通道的要素地图。哈尔小波变换提取原始输入的平均汇集以及垂直、水平和对角导数。结果,通过可逆方法提取的特征地图的空间大小不可避免地缩小。

因此,我们的目标不是直接分离干净和有噪声的信号,而是分离有噪声图像的低分辨率和高频分量。采样理论[22]表明,在下采样过程中,高频信号被丢弃。由于可逆网络是信息无损的[36],如果我们使变换的潜在表示的前三个通道与下采样的干净图像相同,高频信息将被编码在剩余的通道中。基于高频信息也包含噪声的观察,我们在反演之前放弃所有高频表示,以从低分辨率分量重建干净的图像。我们正式描述该过程如下:

p(Y)=p(X_{LR},X_{HF},n)=p(X_{LR})p(X_{HF},n|X_{LR}),

其中X_{LR}表示低分辨率的干净图像。我们使用X_{HF}to来表示重构原始干净图像时X_{LR} when无法获得的高频内容。由于很难解开X_{HF}and n,我们放弃了所有代表z~p(X_{HF},n| X_{LR} )的通道,以完全消除空间变化噪声。然而,一个副作用是X_{HF}的损失。为了重建X_{HF}F,我们采样z_{HF}~N(0,I),并训练我们的可逆网络来转换z_{HF},结合X_{LR},以恢复干净的图像x。这样,丢失的高频干净细节X_{HF}嵌入在潜在变量z_{HF}中。

3.4 网络结构

我们首先采用监督方法来引导网络在转换期间分离高频和低分辨率分量。经过某种可逆变换g后,噪声图像y被变换成其对应的低分辨率干净图像和高频编码z,即g(y)=g(y)_{LR};z]。我们将以下正向目标

L_{forw}(y,X_{LR})=\frac{1}{M}\sum_{i=1}^{M}\left \| g(y)_{LR}-X_{LR} \right \|_m,

其中g(y)_{LR}是网络学习的低频分量,对应于正向通道中输出表示的三个通道。m是像素数。|| · ||
m范数,m可以是1或2。为了获得真实的低分辨率图像X_{LR},我们通过双三次变换对干净的图像x进行下采样。

为了用g(y)_{LR}恢复干净的图像,我们使用逆变换,随机变量z_{HF}从正态分布N(0,I)采样。后向物镜写成

L_{back}(g(y)_{LR},x)=\frac{1}{N}\left \| g^{-1}([g(y)_{LR};z_{HF}])-x \right \|_m

其中x是干净的图像。N是像素数。我们通过同时利用向前和向后目标来训练可逆变换g。

受[46,7,19]的启发,我们提出的可逆变换g是一种多尺度架构,由几个下尺度块组成。每个降尺度块由可逆小波变换和一系列可逆块组成。InvDN模型的整体架构如图3所示。

可逆小波变换。由于我们的目标是在前向通道中学习低分辨率干净图像,所以我们应用可逆离散小波变换(DWTs),特别是哈尔小波变换,来增加特征通道和下采样特征图。小波变换后,输入图像或大小为(H,W,C)的中间特征图被变换成大小为(H/2,W/2,4C)的新特征图。哈尔小波将输入图像分解为垂直、水平和对角方向的一个低频表示和三个高频表示[32]。也可以利用其他小波,如哈尔小波、道贝希小波和柯夫勒小波[46,7]。

可逆块。每个降尺度块中的小波变换层将表示分成低频和高频信号,这些信号由一系列可逆块进一步处理。我们在这项工作中遵循的可逆块是耦合层[19]。假设块的输入是u^i,输出是u^{i+1}。表1列出了该模块在正向和反向通道中的操作。Split()操作将大小为(H/2,W/2,4C)的输入特征映射ui分为ui a和ui b,分别对应大小为(H/2,W/2,C)的低频图像表示和大小为(H/2,W/2,3C)的高频特征(如纹理和噪声)。在表1的R2和R3中,在反向传递期间,只有加号(+)和乘(⊙)运算被反转为减号()和除(/),而由φ1、φ2、φ3和φ4执行的运算不需要反转。因此,φ1,φ2,φ3和φ4可以是任何网络,包括带有填充的卷积层。由于跳跃连接对深度去噪网络至关重要[50,51],我们将R2的正向运算简化为

u_a^{i+1}=u_a^i+\varphi _2(u_b^i).

低频特征可以通过这种方法传递到深层。我们使用剩余块作为操作φ2、φ3和φ4。

Concat()是Split()的逆运算,它沿着通道连接要素地图,并将它们传递到下一个模块。

实验

在这一节中,我们介绍了InvDN在实际去噪任务中的一些经验性能。

4.1 数据集

我们在三个真实世界的去噪基准上评估InvDN,即SIDD [2],DND [40]和RNI [33]。

SIDD[2]是由五个孔径和传感器尺寸都很小的智能手机摄像头拍摄的。我们使用中等版本的SIDD作为训练集,包含320个干净的噪声对用于训练,1280个来自其他40对的裁剪补丁用于验证。在每次迭代训练中,我们将输入图像裁剪成多个144×144的小块,输入到网络中。报告的测试结果通过在线提交系统获得。

DND [40]由四个不同传感器尺寸的消费级相机拍摄。它包含50对真实世界的噪声和近似无噪声的图像。这些图像被裁剪成1000个大小为512 × 512的小块。与SIDD类似,通过将方法的输出提交给在线系统来评估性能。

RNI15 [33]由15幅真实世界的噪声图像组成,没有ground-truths。因此,我们仅在该数据集上提供可视化比较。

4.2 训练细节

我们的InvDN有两个降级块,每个块由八个可逆块组成。所有模型都是用Adam [30]作为优化器训练的,动量β1= 0.9,β2= 0.999。批量设置为14,初始学习速率固定为2×104,每50k次迭代衰减一半。采用PyTorch作为实现框架,在单个2080-Ti GPU上进行训练。我们通过水平和垂直翻转以及90 × θ的随机旋转来增加数据,其中θ = 0,1,2,3。

4.3 实验结果

我们通过常用的指标来评估这些方法,如峰值信噪比(PSNR)和结构相似性指数度量(SSIM),这些指标也可以在真实噪声的DND和SIDD网站上找到。

定量测量。如前所述,我们使用SIDD中等训练集来训练InvDN。DND不提供训练集;因此,我们使用在SIDD训练的模型。为了公平比较,测试集上其他竞争车型的PSNR直接取自官方的DND和SIDD排行榜,并通过相应的文章进行验证。表2报告了不同去噪模型的测试结果。我们可以观察到模型参数的数量与模型的性能直接正相关。从RIDNet [5]到DANet [51],模型参数的数量从149万(M)增加到6301万,PSNR略有改善。

然而,InvDN扭转了这一趋势,只有2.64M的参数。与最近提出的SOTA神经网络相比,InvDN只使用了神经网络不到4.2%的参数。尽管InvDN的参数少得多,但在测试集上的去噪性能优于所有最近提出的去噪模型,为SIDD数据集获得了新的SOTA结果。InvDN的性能也与最近在DND上的竞争模型相当,表明了我们的轻量级去噪模型的泛化能力。

定性测量。为了进一步说明InvDN相对于其他方法的更好性能,在图4中,我们显示了来自三个不同数据集(SIDD、DND和RNI15)的图像的去噪视觉结果。图的第一行说明了InvDN恢复了形状良好的图案,而其他竞争技术导致了模糊的纹理和伪像。此外,第二行描述了InvDN非常清晰地恢复了细微的边缘,而其他模型带来了伪像和过度平滑。最后,从第三行,我们观察到,与引入块效应、模糊和随机点的其他模型相比,InvDN重建了精确的边缘,特别是沿着边缘。

4.4 消融实验

挤压vs小波变换。我们比较了在下尺度块中使用挤压[31]和哈尔小波变换的差异。在图5a的训练中,我们报告了相同迭代的验证集PSNR。其余网络组件和参数设置相同。我们观察到,使用哈尔小波比压缩操作收敛得更快、更稳定。残差块与密集块。接下来,我们在图5b中提供我们的网络中不同块(\phii)之间的比较。与[46]使用的密集块相比,具有残差块的结构实现了更高的去噪精度。此外,具有残差块的网络的参数(2.6M)远少于使用密集块的网络(4.3M)。

缩小块和可逆块的数量。现在,我们研究不同数量的降维块和可逆块的去噪性能。我们报告来自同一迭代的验证集的PSNR结果。我们发现,增加可逆块的数量可以始终如一地提高去噪精度,而不管缩小块的数量如何。此外,当固定可逆块的数量时,我们观察到使用两个降尺度块导致最佳的去噪效果。

损失函数调查。InvDN要求在低分辨率和高分辨率图像的训练过程中应用损失函数,以最小化去噪图像和干净图像之间的差异。如子章节所述。3.4、ℓ1-和ℓ2-规范均适用。我们通过损失函数的不同组合来研究InvDN的性能,以产生低分辨率和高分辨率图像。我们比较了相同迭代中SIDD验证集的PSNR结果,并将结果报告在表4中。我们观察到使用ℓ2for低分辨率图像和ℓ1for高分辨率图像获得了最高的性能。除了ℓ1and ℓ2,我们还探索了其他损失函数候选项,以进一步提高去噪效果。我们应用梯度损失[35]和SSIM损失[55]从图像导数和结构的角度最小化两幅图像之间的差异。然而,梯度和SSIM损失都没有改善去噪性能。

4.5 Monte Carlo 自我集成

为了在不使用额外数据和训练的情况下进一步提高去噪效果,我们引入了蒙特卡罗自集成。我们对潜在变量进行多次采样,得到一组潜在变量{\{z_{HF}^i\}_{i=1}^N},其中对于每个Z_{HF}^i,获得相应的去噪图像\hat x_i。最终输出是{\{x_i\}_{i=1}^N}的平均值。根据大数定律[45],平均图像比任何个体的\hat x_i图像都更接近真实情况。在图6中,我们通过将MC大小设置为16来可视化使用MC自组装前后的去噪结果。MC自集成前后的残差图像对比表明,它进一步降低了去噪图像中的噪声。从数量上来看,83.35%的图像在SIDD验证集上表现出色。

4.6 z的分布分析

对于InvDN,有两种类型的潜在变量:一种对应于包含噪声的原始高频信号z,另一种是代表干净细节的采样z_{HF} from N(0,I)。为了进行分析,我们从SIDD验证集中获得了500对z和z_{HF}s。我们对每个潜在变量进行矢量化,并用主成分分析法在3D空间中绘制它们[27]。如图7a所示,z和zhf遵循两种不同的分布。为了公平比较,我们只在基准SIDD训练集上训练InvDN。然而,InvDN还支持生成更多的噪声图像用于数据增强。为了生成增强数据,我们首先进行采样。我们引入一个微小的扰动到z'=z+\varepsilon v,其中v~n(0,I)和ǫ被设置为2×10^{-4}。我们期望z’的还原图像具有相同的背景干净图像,但是具有不同的噪声。我们在图7b和7c中可视化了z和z’的还原图像,显示了对应于z和z’的视觉上不同的噪声。为了定量评估我们生成的噪声图像的质量,我们遵循DANet [51]引入的平均KL散度(AKLD)度量来测量原始图像和生成的噪声之间的相似性,如表5所示。这里应该注意的是,噪声流[1]需要原始的RGB图像、ISO和CAM信息来生成噪声图像;换句话说,它需要训练图像作为输入。表5中的AKLD结果表明,我们生成的噪声图像与原始噪声图像非常接近。

结论

本文首次研究了基于可逆网络的真实图像去噪。在以前的可逆模型中,输入和反向输出遵循相同的分布。然而,对于图像去噪,输入是有噪声的,恢复的结果是干净的,遵循两种不同的分布。为了解决这个问题,我们提出的InvDN将噪声输入转换为低分辨率的干净图像以及包含噪声的潜在表示。因此,InvDN既可以去除噪声,又可以产生噪声。为了去除噪声,我们用一个从先验分布采样的新的噪声表示来替代噪声表示,以恢复干净的图像;对于噪声的产生,我们改变噪声的潜在向量来重建新的噪声图像。在三个真实噪声数据集上的大量实验证明了我们提出的模型在去除和产生噪声方面的有效性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Invertible Denoising Network: A Light Solution for Real Noise Removal 》论文阅读 的相关文章

  • CentOS7.6镜像下载

    一 xff0c 直接下载 https mirrors aliyun com centos vault 7 6 1810 isos x86 64 二 xff0c 官网下载 https www centos org download

随机推荐

  • Nginx支持quic协议及gcc版本升级

    第一种方式 xff1a Nginx官方nginx quic搭建 通过部署Nginx官方的QUIC分支来实现的浏览器和nginx quic服务器粗略的HTTP3通信 1 下载BoringSSL BoringSSL 是由谷歌开发 从 OpenS
  • Nginx添加自定义HTTP头字段

    nginx代码配置 以下配置的是https类型的监听器 xff0c 添加了多个proxy set header nginx常用变量https zhuanlan zhihu com p 619398840 在后端server节点上使用tcpd
  • Mybatis 和 Mybatis Plus 的区别

    Mybatis Plus Mybatis Plus是一个Mybatis的增强工具 xff0c 只是在Mybatis的基础上做了增强却不做改变 xff0c MyBatis Plus支持所有Mybatis原生的特性 xff0c 所以引入Myba
  • linux下备份一个目录下所有文件及目录

    一 关于Linux备份文件和应用的几个命令 xff1a tar和cp 在工作中 xff0c 经常来备份文件和系统应用 xff0c 常用到的主要是tar和cp命令 xff0c 分别介绍如下 xff1a 一 tar命令 xff0c 这个现在经常
  • linux服务器IO性能诊断

    1 在 Linux 服务器排查问题时 xff0c 一般会通过 top vmstat free netstat df h 等命令排查 CPU 内存 网络和磁盘等问题 有的时候我们需要更进一步了解磁盘 I O 的使用情况 基本命令 xff1a
  • 记 Ubuntu 19.04更改ip地址

    前言 从ubuntu从17 10开始 xff0c 已经不再在 etc network interfaces里配置IP xff0c 即使配置了也不会生效 xff0c 而是改成netplan方式 xff0c 配置写在 etc netplan 文
  • 批量安装centos7服务器

    利用PXE自动化安装centos7 前言 PXE的功能及原理 大概解释一下意思就是 xff1a 启动计算机的时候如果没有插入U盘以及光驱等介质的话 xff0c boot启动项是有一个从PXE启动的选项 xff0c 如果都没有则会从pxe启动
  • KairosDB 1.13安装手记

    PS xff1a 为了处理监控数据 xff0c 我们需要一个时间序列数据库 xff0c OpenTSDB是前驱 xff0c 但是是基于Hbase实现的 xff0c 后来有了一个基于Cassandra的实现 xff0c 就是KairosDB
  • Ubuntu 18.04 配置网卡聚合绑定与桥接

    Ubuntu 18 04 配置网卡聚合绑定与桥接 单网卡配置ip和多网卡配置ip 在之前的博客已经写过了 xff0c 这里写一下进阶的一些配置吧 Ubuntu 配置ip博客 xff1a https blog csdn net liuhaoy
  • ansible playbook 检查文件是否存在

    register 在ansible的playbook中task之间的相互传递变量 当我们需要判断对执行了某个操作或者某个命令后 xff0c 如何做相应的响应处理 xff08 执行其他 ansible 语句 xff09 xff0c 则一般会用
  • Ubuntu打开虚拟机报错could not open /dev/vmmon:?????? please make sure that the kernel moduel vmmon is load

    首先查看模块是否启动 etc init d vmware status 如果未启动使用start启动 etc init d vmware start 检查模块是否启动成功 etc init d vmware status 如果是网卡那一项f
  • linux 通过ip add 配置GRE隧道

    配置两台主机的 lo地址 xff0c 用来测试用 xff0c 如果不做gre的话 xff0c 互相是ping不同对方的回环地址的 注意环境是 主机1的ip xff1a 192 168 1 1 lo地址 xff1a 1 1 1 1 主机2的i
  • ansible-playbook debug输出区别与用法

    ansible playbook debug中var输出和msg输出的区别 msg xff1a 调试输出的消息 var xff1a 将某个任务执行的输出作为变量传递给debug模块 使用var的时候 xff0c 引用变量无需加上大括号 使用
  • 利用PXE批量进入救援模式修复多台主机的boot分区

    利用PXE自动化安装centos7 前言 PXE的功能及原理 大概解释一下意思就是 xff1a 启动计算机的时候如果没有插入U盘以及光驱等介质的话 xff0c boot启动项是有一个从PXE启动的选项 xff0c 如果都没有则会从pxe启动
  • shell 脚本 自动把登录失败次数超过5次的丢入iptables

    span class token shebang important bin bash span ip span class token operator 61 span span class token variable span cla
  • VMware 磁盘管理 虚拟机版本降级

    VMware降级在之前的文章里 卸载vmware 15版本虚拟机 xff0c 安装vmware14 最近在做虚拟机重命名 43 磁盘文件重命名 xff0c 在这里碰到了几次棘手的问题 VMware 虚拟机版本降级 如果你拿过来就是一个高版本
  • nginx 反向代理 解析域名变成ipv6

    今天碰到一个问题 xff0c 反向代理的域名解析成ipv6了 xff0c 然后主机不通ipv6 xff0c 就导致有时候能访问有时候链接超时的诡异情况 解决方法1 xff1a 通过关闭主机的ipv6来实现 图解centos7如何关闭ipv6
  • STANet

    A Spatial Temporal Attention Based Method and a New Dataset for Remote Sensing Image Change Detection 摘要 进行遥感图像变化检测 xff0
  • 传统行业的IT如何转向DEVOPS,运维如何转向SRE

    题记 xff1a 在菊厂这几年 xff0c 亲历了传统行业的IT部门如何在数字化转型的滚滚洪流中 xff0c 被裹挟着四处寻找光明 从15年至今 xff0c 参加了各式各样的培训 xff0c 最早是CI CD xff0c 后来推DEVOPS
  • 《Invertible Denoising Network: A Light Solution for Real Noise Removal 》论文阅读

    摘要 可逆网络在图像去噪方面有各种各样的好处 xff0c 因为它们是轻量级的 xff0c 信息无损的 xff0c 并且在反向传播过程中节省内存 然而 xff0c 应用可逆模型去噪具有挑战性 xff0c 因为输入是有噪声的 xff0c 而反向