阿里云服务器做网站/免费推广软件 推广帮手
相关链接
论文链接
https://openaccess.thecvf.com/content/CVPR2023/papers/Jin_DNF_Decouple_and_Feedback_Network_for_Seeing_in_the_Dark_CVPR_2023_paper.pdf
代码链接
https://github.com/Srameo/DNF
摘要
RAW数据的独特属性在低光照图像增强方面展现出巨大潜力。然而,由于现有架构在单阶段和多阶段方法中固有的局限性,性能受到了限制。在单阶段方法中,在两个不同领域之间的混合映射,即噪声到清晰和RAW到sRGB,由于领域模糊性,误导了单阶段方法。多阶段方法仅通过每个阶段产生的图像传播信息,忽略了在有损图像级数据流中丰富的特征。本文探索了这些瓶颈的通用解决方案,并提出了一个名为DNF(Decouple and Feedback,解耦和反馈)的框架。为了缓解领域模糊性,作者解耦了领域特定的子任务,并充分利用了RAW和sRGB领域的独特属性。通过反馈机制跨阶段进行特征传播,避免了由于图像级数据流造成信息丢失的问题。
引言
在低光照场景下的成像引起了越来越多的关注,尤其是随着智能手机夜景模式和监控系统的普及。然而,由于极低的信噪比,低光照图像增强(LLIE)是一个具有挑战性的任务。与sRGB数据相比,RAW数据(RAW data with the unprocessed signal)具有三个独特的优点,使其在LLIE中特别有用:1)信号与RAW域中的光子计数呈线性相关;2)RAW图像上的噪声分布在图像信号处理(ISP)流程之前是可处理的;3)RAW格式的更高位深记录了更多可区分的低强度信号。
为了充分利用RAW图像在LLIE中的潜力,需要一个通用的pipeline。具体来说,神经网络应该利用不同领域的优势,而不是被领域模糊性所困惑。根据RAW和sRGB领域的独特属性,将增强分解为领域特定的子任务是至关重要的。在探索了RAW域中的线性和可处理的噪声之后,可以执行从RAW域到sRGB域的颜色空间转换,而没有噪声干扰。此外,pipeline不能阻碍跨阶段的通信,而不是仅允许一小部分有损信息通过的图像级数据流。
基于这些原则,作者提出针对基于RAW的低光照图像增强(LLIE)量身定制的解耦和反馈(DNF)框架。增强过程被解耦为两个领域特定的子任务:RAW域中的去噪和色彩恢复到sRGB域,如图1(c)所示。
创新点
1、领域特定任务解耦扩展了在RAW和sRGB域中独特属性的利用,避免了领域模糊
2、通过去噪先验反馈实现的特征级数据流减少了误差累积,并在各个阶段聚合了互补的特征
3、与以前的SOTA方法相比,所提出的方法在只有19%参数和63%浮点运算次数(FLOPs)的情况下,取得了显著的性能提升,例如,在SID数据集的Sony子集上PSNR提高了0.97dB,在Fuji子集上PSNR提高了1.30dB
方法论
整体框架
如图2所示,作者提出的DNF框架由两个阶段组成:RAW去噪和颜色渲染,以逐步增强低光照RAW图像。给定输入图像x_raw ,在乘以预定义的放大比例后,放大后的图像X首先通过RAW域中的编码器E _raw和解码器D_raw进行去噪。然后,作者没有使用不准确的y_raw进行颜色渲染,而是将去噪特征F_dn从D_raw反馈回E_raw,进一步区分信号和噪声,并在RAW域中组合丰富的特征。最后,sRGB解码器D_rgb采用RAW域中的多尺度特征来渲染在sRGB域的最终输出Y_rgb。
具体来说,一个共享的编码器E_raw和两个解码器(D_raw和D_rgb)是专门为通过领域特定任务解耦(Domain-Specific Task Decoupling)与任务特定模块而解耦的子任务设计。引入了通道独立去噪(CID)模块,以学习RAW域中不同颜色通道中的可处理且独立的噪声分布。根据颜色空间的定义,矩阵颜色校正(MCC)模块使用全局矩阵变换来完成剩余的增强以进入sRGB域。此外,作者引入了一个去噪先验反馈机制(Denoising Prior Feedback mechanism),以避免跨阶段的误差累积。通过从RAW解码器提取的去噪特征F_dn,RAW编码器用高频信息丰富了浅层特征。此外,作者提出了一个带门控机制的门控融合模块(GFM),用于自适应地探索噪声中的细节。
Domain-Specific Task Decoupling
作者提出领域特定任务解耦(Domain-Specific Task Decoupling)来处理由噪声到清晰和RAW到sRGB的混合映射引起的领域模糊。噪声的RAW和清晰的sRGB领域之间的鸿沟使网络难以学习横跨两个领域的直接映射。因此,作者提出在噪声的RAW领域中引入中间监督,以缓解直接学习混合映射的难度。通过在干净的RAW领域的中间监督,可以:1)将增强分解为RAW去噪和颜色恢复,2)充分利用这一特性,即在RAW图像上的噪声分布是可处理的,用于去噪,3)减少在颜色恢复期间的噪声干扰,从而减少颜色偏移。
Denoising in RAW Domain
如图2所示,作者通过堆叠多个通道独立去噪(CID)块来实现RAW编码器E_raw和RAW解码器D_raw。CID块的设计基于以下两个先验知识:1)RAW格式的低光照图像受到与信号无关的噪声影响,该噪声遵循零均值分布,2)不同通道的信号本质上相关性较小,因此在RAW域中噪声分布在各个通道上趋于独立。因此,需要对几乎相同的信号(邻近像素)进行burst observations,以消除零均值噪声的干扰。同时,在去噪过程中防止通道间信息交换对于处理通道独立的噪声分布至关重要。根据上述讨论,在CID块中引入了大核深度卷积进行去噪。CID块的详细结构如图3(a)所示。具体来说,对于输入特征F_in,经过通道独立去噪块后的输出特征F_out可以表示为:
CID模块的代码如下,
from torch import nn# CI
class DConv7(nn.Module):def __init__(self, f_number, padding_mode='reflect') -> None:super().__init__()self.dconv = nn.Conv2d(f_number, f_number, kernel_size=7, padding=3, groups=f_number, padding_mode=padding_mode)def forward(self, x):return self.dconv(x)# Post-CI
class MLP(nn.Module):def __init__(self, f_number, excitation_factor=2) -> None:super().__init__()self.act = nn.GELU()self.pwconv1 = nn.Conv2d(f_number, excitation_factor * f_number, kernel_size=1)self.pwconv2 = nn.Conv2d(f_number * excitation_factor, f_number, kernel_size=1)def forward(self, x):x = self.pwconv1(x)x = self.act(x)x = self.pwconv2(x)return xclass CID(nn.Module):def __init__(self, f_number, padding_mode) -> None:super().__init__()self.channel_independent = DConv7(f_number, padding_mode)self.channel_dependent = MLP(f_number, excitation_factor=2)def forward(self, x):return self.channel_dependent(self.channel_independent(x))
使用大核深度卷积的优点分析:
1、处理信号独立噪声:由于噪声与信号无关,且在整个图像中均匀分布,使用深度卷积可以更有效地处理每个通道内的噪声,而不会受到其他通道噪声的干扰。大核心的深度卷积能够覆盖更广的像素区域,有助于更好地捕捉并去除噪声
2、增强空间上的连续性:大核心的深度卷积能够在进行噪声去除的同时,保持图像中的空间连续性。这对于处理低光照图像中的噪声尤为重要,因为这些噪声往往是在图像的局部区域内更为显著
3、防止通道间信息交换:在去噪过程中,阻止通道间的信息交换是处理信号独立噪声分布的关键。深度卷积通过独立处理每个通道,确保了去噪过程中不会引入其他通道的噪声或信息,从而保持了处理的纯净性和效率
4、利用连续观察:大核心的深度卷积可以覆盖更多的相邻像素,这有助于利用连续观察来去除零均值噪声的干扰。这种方法在处理由于噪声而导致的图像质量下降时,可以有效地恢复图像的细节和清晰度
Color Correction for RAW-to-sRGB
矩阵变换通常在规范的ISP流程中使用。由于全局共享设置,如环境照明和颜色空间规范,图像的颜色主要通过通道矩阵变换来增强或转换到另一种颜色空间。遵循这一原则,作者引入了一个矩阵颜色校正(MCC,Matrixed Color Correction)块来执行全局颜色增强和局部细化,如图3(b)所示。对于sRGB解码器D_rgb,作者堆叠了多个MCC块进行颜色校正。这个块的设计受益于最近的转置自注意力(transposed self-attention)的进展。全局感受野和通道操作非常适合规范ISP中的颜色校正。给定输入源特征F_source,查询Q、键值K、值V依次通过1×1卷积、3×3深度卷积和展平操作生成。然后,通过矩阵乘法获得变换矩阵M。这个过程可以表示为:
MCC模块代码如下,
from einops import rearrange
import torch
from torch import nnfrom ..utils import LayerNormclass MCC(nn.Module):def __init__(self, f_number, num_heads, padding_mode, bias=False) -> None:super().__init__()self.norm = LayerNorm(f_number, eps=1e-6, data_format='channels_first')self.num_heads = num_headsself.temperature = nn.Parameter(torch.ones(num_heads, 1, 1))self.pwconv = nn.Conv2d(f_number, f_number * 3, kernel_size=1, bias=bias)self.dwconv = nn.Conv2d(f_number * 3, f_number * 3, 3, 1, 1, bias=bias, padding_mode=padding_mode, groups=f_number * 3)self.project_out = nn.Conv2d(f_number, f_number, kernel_size=1, bias=bias)self.feedforward = nn.Sequential(nn.Conv2d(f_number, f_number, 1, 1, 0, bias=bias),nn.GELU(),nn.Conv2d(f_number, f_number, 3, 1, 1, bias=bias, groups=f_number, padding_mode=padding_mode),nn.GELU())def forward(self, x):attn = self.norm(x)_, _, h, w = attn.shapeqkv = self.dwconv(self.pwconv(attn))q, k, v = qkv.chunk(3, dim=1)q = rearrange(q, 'b (head c) h w -> b head c (h w)', head=self.num_heads)k = rearrange(k, 'b (head c) h w -> b head c (h w)', head=self.num_heads)v = rearrange(v, 'b (head c) h w -> b head c (h w)', head=self.num_heads)q = torch.nn.functional.normalize(q, dim=-1)k = torch.nn.functional.normalize(k, dim=-1)attn = (q @ k.transpose(-2, -1)) * self.temperatureattn = attn.softmax(dim=-1)out = (attn @ v)out = rearrange(out, 'b head c (h w) -> b (head c) h w', head=self.num_heads, h=h, w=w)out = self.project_out(out)out = self.feedforward(out + x)return out
Denoising Prior Feedback
在以前的基于RAW的增强方法中,一部分高频内容被错误地识别为噪声,严重恶化了最终结果,导致细节丢失和数据流的损失。为了避免现有多阶段方法的有损图像级数据流,作者提出了具有特征级信息传播的去噪先验反馈机制(Denoising Prior Feedback mechanism)。记F_dn={F_dn_1, F_dn_2, ..., F_dn_L}为从RAW解码器D_raw提取的一组去噪特征,其中L表示阶段数。F_dn的每个元素主要包含RAW域中不同尺度的最终噪声估计信息。具体来说,这些特征使噪声更加容易区分,并作为进一步去噪的指导。通过将去噪特征集合F_dn链接到具有多个反馈连接的RAW编码器的相应阶段,编码器逐渐生成更好的去噪特征,以进行进一步增强。因此,sRGB解码器D_rgb可以更专注于颜色校正。反馈的pipeline如图2所示,可以表示为:
Gated Fusion Modules
GFM旨在通过门控机制自适应地将反馈噪声估计与初始去噪特征融合。在特征门控期间,作者希望有用信息被自适应地选择并沿着空间和通道维度合并。为了提高效率,使用逐点卷积和深度卷积来聚合通道和局部内容信息。然后,作者将混合特征沿通道维度分成两个块,即F_lgate和F_lcon。在通过GELU非线性函数激活后,F_lgate通过逐点乘法对F_lcon进行门控。通过这种门控机制实现了空间和通道的适应性。GFM的详细结构如图3(c)所示。第l阶段(l∈{1, 2, ... L,})的操作可以表示为:
GFM模块代码如下,
import torch
from torch import nn
from torch.nn import functional as Fclass GFM(nn.Module):def __init__(self, in_channels, feature_num=2, bias=True, padding_mode='reflect', **kwargs) -> None:super().__init__()self.feature_num = feature_numhidden_features = in_channels * feature_numself.pwconv = nn.Conv2d(hidden_features, hidden_features * 2, 1, 1, 0, bias=bias)self.dwconv = nn.Conv2d(hidden_features * 2, hidden_features * 2, 3, 1, 1, bias=bias, padding_mode=padding_mode, groups=hidden_features * 2)self.project_out = nn.Conv2d(hidden_features, in_channels, kernel_size=1, bias=bias)self.mlp = nn.Conv2d(in_channels, in_channels, 1, 1, 0, bias=True)def forward(self, *inp_feats):assert len(inp_feats) == self.feature_numshortcut = inp_feats[0]x = torch.cat(inp_feats, dim=1)x = self.pwconv(x)x1, x2 = self.dwconv(x).chunk(2, dim=1)x = F.gelu(x1) * x2x = self.project_out(x)return self.mlp(x + shortcut)
Residual Switch Mechanism
作者只在RAW域的去噪阶段保留global shortcut,以实现更好的去噪效果,而在颜色恢复阶段则去除它,以避免在噪声的RAW域和干净的sRGB域之间产生模糊的连接,如图2所示。因此,编码器在去噪时需要执行噪声估计,而在颜色恢复期间则需要重建信号。为了实现单一编码器中这两种相互矛盾的功能,作者提出了一个简单但有效的残差开关机制(Residual Switch Mechanism, RSM),如图3(a)所示,它赋予共享RAW编码器中的CID块产生两种相互矛盾的特征:噪声和信号。在带有全局残差连接的去噪阶段,局部残差shortcuts被关闭以估计噪声。相反,在渲染阶段,局部残差被激活,通过在shortcut上的原始特征抵消噪声,最终重建信号。如图4所示,带有RSM的共享RAW编码器的CID块能够在不同阶段产生两种不同的特征。然而,如果没有RSM,权重共享的CID块在颜色恢复阶段无法区分噪声和信号,导致特征模糊。剩余的噪声限制了颜色校正过程,并再次引入了领域模糊。
RSM模块的代码如下,
from torch import nnclass ResidualSwitchBlock(nn.Module):def __init__(self, block) -> None:super().__init__()self.block = blockdef forward(self, x, residual_switch):return self.block(x) + residual_switch * x
Training Objectives
为了顺序完成通过领域特定任务解耦所解耦的RAW去噪和颜色恢复子任务,作者在不同领域引入了两种不同的监督,即干净的RAW和干净的sRGB。真实情况是清晰的RAW图像Y_raw。记去噪解码器的输出RAW图像为Y_^_raw。网络损失函数如下:
实验和分析
数据集和评估指标
作者在两个不同的基于RAW的低光照图像增强数据集上对提出的DNF进行了基准测试,即See-In-the-Dark(SID)数据集和Mono-Colored Raw Paired(MCR)数据集。SID数据集包含5094张极低光照RAW图像,以及由两台相机拍摄的正常光照参考图像:Sony A7S2带有Bayer传感器,分辨率为4240×2832,以及Fuji X-T2带有X-Trans传感器,分辨率为6000×4000。低光照图像的曝光时间从0.1秒到0.033秒不等,参考图像的曝光时间是低光照图像的100到300倍。请注意,Sony子集的测试集中长曝光和短曝光的图像对存在不对齐问题,因此作者在测试阶段遵循以前的方法,丢弃了这些图像。为了公平比较,所有比较的方法都在相同的设置下进行评估。MCR数据集包含4980张图像,分辨率为1280×1024,用于训练和测试,包括3984张低光照RAW图像,498张单色图像和498张sRGB图像。它包括两种不同场景,室内和室外,设置了不同的曝光时间,室内场景为1/256秒到3/8秒,室外场景为1/4096秒到1/32秒。然而,没有提供RAW格式的地面真实图像,这对于训练提出的方法至关重要。因此,作者选择每个场景中曝光时间最长的图像作为RAW地面真值。作者将PSNR、SSIM和LPIPS分别作为像素评估、结构评估和感知评估的定量评估指标。
与SOTA方法对比
定量评估
如表1和表2所示,作者的方法在性能上远远超过了以前的最先进方法。在SID数据集上,DNF在PSNR和LPIPS得分上取得了最佳成绩,与第二佳方法相比,在Sony和Fuji子集上分别实现了0.97 dB和1.30 dB的PSNR提升,以及0.005和0.023的LPIPS提升。关于复杂性,DNF在参数和FLOPs方面明显少于当前最佳方法(即MCR和EEMEFN)。作者的网络使用的参数是MCR和EEMEFN的1/5和1/15,FLOPs分别是它们的3/5和1/13。在MCR数据集上,DNF在表2中展示了最佳PSNR和SSIM得分,与以前的最先进方法相比,分别提高了0.31dB和0.07,同时参数和FLOPs更少。
定性评估
图5和图6显示了在SID数据集上的定性结果。可以看出,与作者提出的方法相比,比较方法增强的结果存在严重的内容失真和伪影,这是由于它们有限的去噪能力造成的。此外,得益于DNF架构,颜色更准确地转换和增强,没有噪声干扰,因此展现出更好的颜色一致性以及更真实和生动的颜色渲染。作者的方法成功地抑制了强烈的噪声,同时保留了丰富的纹理细节。
消融实验
Domain-Specific Task Decoupling
为了更好地评估DNF的领域特定任务解耦的影响,作者对比了对去噪解码器的不同种类的中间监督方法,如表3所示。1)没有监督(w/o Sup.)无法将去噪先验反馈回共享RAW编码器,导致PSNR下降了0.14dB。2)sRGB监督(sRGB Sup.)将主任务分解为第一阶段增强和细节重建。第一阶段增强由于直接从嘈杂的RAW域学习到干净的sRGB域,导致领域歧义,PSNR下降了0.42dB。sRGB Sup.和w/o Sup.之间的比较(0.28dB↓)表明,领域歧义严重限制了网络的性能。
Denoising Prior Feedback
为了验证DNF的基于反馈机制的框架的有效性,作者首先检查了框架的单阶段和多阶段的变体,如表3所示。1)单阶段变体通过直接串联RAW编码器和sRGB解码器,导致PSNR下降了0.46dB。2)多阶段变体简单地串联了两个UNets,分别配备了CID块和MCC块。图像级数据流的损失严重恶化了性能,PSNR下降了0.30dB。
Gated Fusion Module
采用了三种其他的融合模块:传统的卷积层(下降0.22dB),没有门控机制的深度卷积(下降0.27dB),以及专门为特征融合设计的SKFF模块(下降0.25dB)。由于门控机制提供的逐像素选择,所提出的方法享有最佳性能。
Residual Switch Mechanism
如表4所示,与完全没有残差快捷连接相比,利用全局残差快捷连接可以提高性能(0.06dB提升)。然而,在颜色恢复阶段的全局快捷连接会通过引入领域歧义来限制性能(0.03dB下降)。有无所有局部快捷连接的实验都引入了功能上的矛盾,从而导致不同程度的性能下降(与DNF相比,分别为0.33dB下降和0.30dB下降)。与另一种实现残差开关机制的方法相比:在去噪时打开开关或在颜色恢复期间关闭开关,CID块在颜色恢复期间的局部快捷连接提供了更多关于图像内容的信息,从而带来了更高的性能。
Comparison with Other Feature-level Dataflow
如表5所示,与特征级数据流多阶段框架相比,作者的模型提供了最佳性能,这验证了残差开关机制(RSM)的有效性。特征级多阶段框架保留了门控融合模块,但涉及两个不同的RAW编码器。结果表明,使用作者提出的RSM,权重共享的编码器可以执行两种不同的功能。此外,噪声估计和信号重建这两个互补的功能相互补充,共同实现了更好的性能。
结论
针对RAW格式的独特属性,作者提出了一种用于基于RAW的低光照图像增强的DNF框架。作为一个通用的pipeline,所提出的DNF(Decouple and Feedback framework)克服了以前方法的固有限制。领域特定任务解耦消除了单阶段方法引入的领域模糊,而去噪先验反馈则取代了存在有损图像级数据流的多阶段方法。
限制:所提出的框架,也与大多数现有方法一样存在一个限制,即在极低光照条件下,根据曝光时间预定义输入图像的放大比例。在现实世界场景中,估计正常照明是至关重要且困难的。
相关文章:

CVPR2023《DNF: Decouple and Feedback Network for Seeing in the Dark》暗光图像增强论文阅读笔记
相关链接 论文链接 https://openaccess.thecvf.com/content/CVPR2023/papers/Jin_DNF_Decouple_and_Feedback_Network_for_Seeing_in_the_Dark_CVPR_2023_paper.pdf 代码链接 https://github.com/Srameo/DNF 摘要 RAW数据的独特属性在低光照图像增强方面展现出巨大潜力。…...

大厂进阶七:React状态管理全解析
前言: React 中用于状态管理的hook及库有:useState、useReducer、useContext、useReducer useContext和一些第三方的库如redux、mobx等。 1、useState 单一组件某个具体状态 2、useReducer 单一组件中多个状态管理,策略分发机制统一管理…...

【ocr识别003】flask+paddleocr+bootstrap搭建OCR文本推理WEB服务
1.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 2.了解、学习OCR相关技术知识领域,结合日常的场景进行测试、总结。如本文总结的flaskpaddleocrbootstrap搭建OCR文本推理WEB服务应用示例场景。 文章目录 1.代码结构2.效果演…...

从零开始搭建 LVS 高性能集群 (DR模式)
从零开始搭建 LVS 高性能集群 (DR模式) 架构 本设计方案采用三台服务器构建集群,使用Linux Virtual Server (LVS) 作为负载均衡器,运行在直接路由 (DR) 模式下。集群中的每一台服务器都将运行相同的服务,以实现 高可用…...

Linux环境开发工具【yum与vim】
🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 文章目录 1.Linux软件包管理器yum1.1 快速使用yum 2. Linux编辑器-vim的使用2.1 vim的基本…...

laravel GuzzleHttp Client 无法获取返回的错误信息
Client发送一些请求,当返回状态不是200的时候,无法获取完整错误信息 $client new Client([base_uri > $this->getUri()./order/aaaaaa,timeout > 30,verify > false]);try {$response $client->request(POST, , [headers > [Lang&g…...

XMOS 多路音频解码器
当谈及高性能音频解码器,XMOS 是一个不容忽视的名字。作为音频解决方案领域的领军者,XMOS 的多路音频解码器在音频处理技术中扮演着至关重要的角色。下面我们一起深入探讨 XMOS 多路音频解码器去了解这一技术的魅力。 设计背景:追求音频极致…...

XSS小游戏(题目+解析)
xss题目练习地址: xss小游戏 游戏界面 一、Ma Spaghet! 我将题目要求进行翻译: 题目的主要要求就是:弹出一个(1337)的弹窗 开始解题: Let’s Go! 首先,传个参数看看 发现参数直接显示在了 < h2 >…...

《Redis核心技术与实战》学习笔记4——AOF日志:宕机了,Redis如何避免数据丢失?
文章目录 AOF 日志是如何实现的?三种写回策略 日志文件太大了怎么办?AOF 重写会阻塞吗?小结 大家好,我是大白。 如果有人问你:“你会把 Redis 用在什么业务场景下?”我想你大概率会说:“我会把它当作缓存使…...

NextJs - 服务端/客户端组件之架构多样性设计
NextJs - 服务端/客户端组件之架构多样性设计 前言一. 架构设计1.1 SSR流式渲染常见错误设计之 - 根页面同步阻塞1.2 架构设计之 - 客户端组件依赖于服务端组件数据① 使用 Redux 完成数据共享 1.3 架构设计之 - 单页内的分步骤跳转① 如何做到服务端组件和客户端组件之间的切换…...
使用 Python 进行 PDF 文件加密
使用 Python 解密加密的 PDF 文件-CSDN博客定义一个名为的函数,该函数接受三个参数:输入的加密 PDF 文件路径input_pdf、输出的解密 PDF 文件路径output_pdf和密码password。https://blog.csdn.net/qq_45519030/article/details/141256661 在数字化时代…...

Spring Boot集成RabbitMQ
目录 1.RabbitMQ简介2.添加依赖3.配置RabbitMQ连接4.DirectExchange4.1 消费者4.2 生产者4.3 测试4.4 一个交换机对多个队列4.5 一个队列对多个消费者 5.FanoutExchange5.1 消费者5.2 生产者5.3 测试 6.TopicExchange6.1 消费者6.2 生产者 1.RabbitMQ简介 RabbitMQ是一个由Erl…...

OLED屏幕制造工艺流程
OLED屏幕制造工艺流程是一个复杂且精细的过程,涉及多个关键步骤以确保最终的显示效果和性能。以下是OLED屏幕制造工艺流程的主要步骤: 1. 衬底制作与准备 材料选择:OLED器件需要一个透明的导电衬底,通常使用玻璃或塑料材料。 清…...

knowLedge-VueCLI项目中环境变量的定义与使用
1. env 1.1简介 在 Vue CLI 创建的项目中,你可以通过 .env 文件来定义环境变量。Vue CLI 支持多种 .env 文件,它们根据文件名中的前缀来决定何时加载和使用这些环境变量。 以下是一些常见的 .env 文件及其用途: .env:在任何环境…...

【C#】 接口 继承
简介 继承是面向对象编程的核心特性之一,它允许我们创建一个类(称为子类)来继承另一个类(称为基类)的属性和方法。 作用 这样,我们可以重用代码,减少重复,并使我们的代码更加模块…...

Self-Supervised Learning(李宏毅老师系列)
自学参考: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding BERT 论文逐段精读 视频课 课件资料 笔记 一、概述 自监督学习模型与芝麻街~ 参数量 ELMO:94MBERT:340MGPT-2:1542MMegatron&…...

8月16日笔记
只有DNS协议出网场景 DNS 协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS 隧道的工作原理很简单,在进行 DNS 查询时,如果查询的域名不在 DNS 服务器本机缓存中,就会访问互联网进行查询,然后返回结果。…...

苹果Mac电脑——装macOS和Windows双系统的方法
一、实验环境 在Windows系统电脑上制作MacOS启动U盘。准备一个大于16G的U盘。 二、实验步骤 2.1 在Windows系统电脑上制作MacOS启动U盘 MacOS镜像下载 在Windows系统电脑上制作MacOS启动U盘的方法 2.2 U盘插上苹果电脑,安装macOS系统 U盘插上苹果电脑…...

【C++ 面试 - 基础题】每日 3 题(十五)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

数学建模学习笔记
数学建模学习笔记 现学现卖,随缘更新QwQ 主要根据b站大师兄的视频整理而成,有不懂的可以去看原视频 List 数学建模学习笔记一、 层次分析法1.1 矩阵的一致性及其检验1.2 权重计算1.3 具体流程 二、模糊综合评测2.1 隶属函数2.2 隶属函数的确定方法2.3 模…...

个人可识别信息(PII) AI 去除 API 数据接口
个人可识别信息(PII) AI 去除 API 数据接口 ai / 隐私保护 基于 AI 模型自动去除个人识别信息(PII) 个人信息保护 / AI 模型 。 1. 产品功能 基于自有专业模型进行 PII 自动去除高效处理敏感信息全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 /…...

【Python-办公自动化】1秒提取PPT文本内容形成目录保存至WORD
欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…...

maven介绍与安装
一. maven概述 1. 关于项目依赖的jar包管理 问题描述: 直接在每个项目的lib文件夹中复制jar包会导致多个问题,包括jar包的重复存放、版本冲突以及手动管理带来的不便和错误。 问题分析: 重复存放:每个项目都保存一份相同的jar…...

瑞友科技项目经理认证负责人杨文娟受邀为第四届中国项目经理大会演讲嘉宾︱PMO评论
全国项目经理专业人士年度盛会 北京瑞友科技股份有限公司项目经理认证负责人杨文娟女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“瑞友科技项目经理人才培养体系落地实践”。大会将于10月26-27日在北京举…...

Ubuntu基础使用
Ubuntu是一种流行的Linux操作系统。它提供了一个友好的图形界面和许多强大的功能,适用于个人电脑和服务器。一般来说使用Ubuntu都是在虚拟机上运行的。 一、虚拟机的安装 VMware是一家专门提供虚拟化解决方案的公司,而VMware Workstation是该公司开发的…...

知识图谱结构的提示
文章介绍了一种名为“知识图谱结构作为提示”(KG Structure as Prompt)的新方法,该方法旨在增强小型语言模型(SLMs)在知识驱动的因果发现任务中的能力。通过将知识图谱中的结构信息融入到基于提示的学习中,…...

(计算机网络)网络层
目录 一.网络层提供哪种服务 二.两种服务的比较 三.ip协议 四.ip地址 五.ip地址的分类 六.子网掩码 七.路由器介绍 一.网络层提供哪种服务 1.ip地址--唯一的标识互联网上的某一台主机 2. 虚电路:虚拟的电路 二.两种服务的比较 ip数据报,不需要建…...

[upload]-[GXYCTF2019]BabyUpload1-笔记
尝试上传.htaccess和图片和一句话木马提示 php文件提示 响应头可以看到 构造一句话图片木马如下: <script languagephp>eval($_POST[cmd]);</script> 上传成功 必须增加文件夹下jpg后缀解析php .htaccess如下 <FilesMatch "jpg">Set…...

2023卫星视频综述论文Recent Advances in Intelligent Processing of Satellite Video
2023卫星视频综述论文Recent Advances in Intelligent Processing of Satellite Video 1.摘要2.引言3. 文章的定量分析4 难点与挑战5 方法论系统A. 卫星视频观察的特点B. 卫星视频目标跟踪与运动估计C. 卫星视频目标检测D. 卫星视频超分辨率 (VSR)E. 卫星视频目标分割ÿ…...

Mysql的Binlog的数据样例
Binlog(Binary Log)是 MySQL 中的二进制日志,记录了所有更改数据库的操作,包括数据的插入、更新和删除,它是主从复制、数据恢复和审计的重要来源。 以下是一些常见的 Binlog 数据样本和它们的结构: 1. 基…...