论文阅读:Realistic Noise Synthesis with Diffusion Models

这篇文章是 2025 AAAI 的一篇工作,主要介绍的是用扩散模型实现对真实噪声的仿真模拟

Abstract

深度去噪模型需要大量来自现实世界的训练数据,而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成扩散器(Realistic Noise Synthesis Diffusor,RNSD)方法,利用扩散模型来应对这些挑战。通过将相机设置编码到一种时间感知的相机条件仿射调制(time - aware camera - conditioned affine modulation,TCCAM)中,RNSD 能够在各种相机条件下生成更逼真的噪声分布。此外,RNSD 集成了一个多尺度内容感知模块(multi - scale content - aware module,MCAM),使得能够生成在多个频率上具有空间相关性的结构化噪声。我们还引入了深度图像先验采样(Deep Image Prior Sampling,DIPS),这是一种基于深度图像先验的可学习采样序列,它在显著加速采样过程的同时,还能保持合成噪声的高质量。大量实验表明,我们的 RNSD 方法在多个指标下合成逼真噪声以及提升图像去噪性能方面,显著优于现有技术。

Introduction

在深度学习中,图像去噪是一个不适定问题,通常需要使用大量的数据对进行有监督训练。在 RGB 色彩空间中,一幅含噪图像 y \mathbf{y} y 可以通过以下公式建模为其无噪版本 s \mathbf{s} s 加上经过图像信号处理(ISP)后的噪声 n \mathbf{n} n

y = I S P ( s + n ) (1) \mathbf{y} = \mathbf{ISP}(\mathbf{s} + \mathbf{n}) \tag{1} y=ISP(s+n)(1)

与 RAW 格式图像中可线性建模且空间独立的噪声不同,RGB 色彩空间中的噪声呈现出以下特点:
不规则且多样的噪声分布:图像信号处理(ISP)的后处理参数,如自动白平衡(AWB)、色彩校正矩阵(CCM)和伽马校正(GAMMA),由于其依赖于传感器、感光度(ISO)、场景和曝光设置,会导致噪声在不同场景、通道、ISO 等级以及像素间呈现出非均匀的变化。
噪声的结构与空间相关性:与空间相关的 ISP 操作,包括去马赛克、降噪和锐化等,会给噪声引入局部结构模式,从而增强了噪声与信噪比之间的相关性。

大多数数据集依赖多帧平均法,这不仅获取难度大,而且无法提供多样的噪声类型,也不能解决结构性噪声问题。一些方法将噪声建模为高斯白噪声,忽略了真实噪声中存在的空间相关性。基于生成对抗网络(GAN)的方法试图对真实噪声分布进行建模,但由于缺乏严格的似然函数,常常面临不稳定性和模式崩溃问题,导致生成的噪声分布与真实噪声分布不匹配。相比之下,扩散模型因其严格的似然推导,在图像生成方面表现得更为稳定且多样。然而,它们尚未成功应用于合成噪声生成,这可能是由于针对具有空间相关性的复杂噪声分布,其条件设计不够完善。

在本文中,我们引入了逼真噪声合成扩散器(Realistic Noise Synthesize Diffusor, RNSD),这是一种基于扩散模型来合成逼真 RGB 噪声数据的新方法。RNSD 能够借助来自各种公开数据集的干净图像,生成大量与真实世界噪声分布极为相似的噪声图像。RNSD 生成的增强数据,在降噪和图像保真度方面,都显著提升了现有去噪模型的性能。

具体而言,RNSD 使用真实的含噪图像 y \mathbf{y} y 作为初始状态 x 0 \mathbf{x}_0 x0 来构建用于噪声生成的扩散模型。为了有效适应多样的噪声分布,我们提出了一种时间感知相机条件仿射调制(time - aware camera - conditioned affine modulation),称为 TCCAM。该模块对不同的相机设置进行编码,并在采样过程中采用时间自适应条件仿射变换,使得 RNSD 能够合成多样化且逼真的噪声。

此外,我们构建了一个多尺度内容感知模块(multi - scale content - aware module,简称 MCAM),它将干净图像的多尺度引导信息整合到扩散网络中。该模块能有效地引导生成与信号相关且具有空间相关性的噪声。

基于深度图像先验理论,即网络先学习低频成分,然后学习高频成分,我们开发了深度图像先验采样(Deep Image Prior Sampling,DIPS)方法。与去噪扩散隐式模型(DDIM)不同,DIPS 采用基于蒸馏的单步模型和衰减采样,将原本 1000 步的模型缩减至仅 5 步,而准确率仅损失 4%,显著提高了采样效率。
综上所述,我们的主要贡献如下:

  • 我们首次提出了一种基于扩散模型的真实噪声数据合成方法 RNSD
  • 我们设计了时间感知相机条件仿射调制(TCCAM),它能够更好地控制生成噪声的分布和强度。
  • 通过构建多尺度内容感知模块(MCAM),引入了多频信息的耦合,使得能够生成更逼真的、具有空间相关性的噪声。
  • 深度图像先验采样(DIPS):利用网络先学习低频成分再学习高频成分的深度图像先验特性,与 DDIM 相比,DIPS 将 1000 步的模型缩减至仅 5 步,而准确率仅损失 4%,从而提高了采样效率。
  • 我们的方法在多个基准测试和指标上取得了领先的成果,显著提升了去噪模型的性能。

Methodology

在这里插入图片描述

  • 图 2:(a) 通过扩散产生噪声的流程。(b) 我们的时空交叉注意力记忆模块(TCCAM)的流程。
    © 我们设计的带有多尺度交叉注意力模块(MCAM)的 UNet 架构

  • 我们提出了一种新颖的基于扩散的方法来合成逼真的噪声数据,称为 “基于扩散的真实噪声合成”(RNSD,见图 2(a))。

  • 我们的方法以真实含噪图像作为初始条件,并融入了时间感知相机条件仿射调制(TCCAM,见图 2(b))来控制结果。

  • 此外,我们引入了一个多尺度内容感知模块(MCAM,见图 2(c)),以引导生成与信号相关的噪声。

  • 最后,我们基于深度图像先验(DIPS,Ulyanov、Vedaldi 和 Lempitsky,2018 年)设计了一种可学习的加速采样方法,如算法 2 所示。

Noise Generation via Diffusion

传统的扩散模型通常在无噪声的风格数据上进行训练,这种模型能够从任意高斯噪声分布中采样出目标域图像。相比之下,我们将具有真实噪声分布的图像视为目标域图像。如图 2(a)所示,通过用具有真实噪声分布的数据 y \mathbf{y} y 替换 x 0 \mathbf{x}_0 x0,并经过简单设置,扩散模型就能从任意高斯噪声分布中采样出真实噪声。
具体而言,我们采用去噪扩散概率模型(DDPM,Ho、Jain 和 Abbeel,2020)的概率模型。在正向过程中,使用一个 T T T 步的马尔可夫链来最小化先验概率 q ( x T ∣ x 0 ) q(\mathbf{x}_T|\mathbf{x}_0) q(xTx0),也就是将 x 0 \mathbf{x}_0 x0 扩散为具有方差噪声强度 β t \beta_t βt 的纯高斯分布 x T \mathbf{x}_T xT

q ( x T ∣ x 0 ) = ∏ t = 1 T q ( x t ∣ x t − 1 ) q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) (2) \begin{aligned} q(\mathbf{x}_T|\mathbf{x}_0)&=\prod_{t = 1}^{T}q(\mathbf{x}_t|\mathbf{x}_{t - 1})\\ q(\mathbf{x}_t|\mathbf{x}_{t - 1})&=\mathcal{N}(\mathbf{x}_t;\sqrt{1-\beta_t}\mathbf{x}_{t - 1},\beta_t\mathbf{I}) \end{aligned} \tag{2} q(xTx0)q(xtxt1)=t=1Tq(xtxt1)=N(xt;1βt xt1,βtI)(2)

其中, I \mathbf{I} I 是单位协方差矩阵,对于相邻的两个步骤,借助重参数化, x t \mathbf{x}_t xt 可以看作是从先验分布 $q(\mathbf{x}t | \mathbf{x}{t-1}) $ 中采样得到的,该分布被视为由 x t − 1 \mathbf{x}_{t-1} xt1 β t \beta_t βt 形成的高斯分布。

一般的采样过程是通过反向求解高斯马尔可夫链过程得到的,将其视为联合概率分布 p θ ( x 0 : T ) p_{\theta}(\mathbf{x}_{0:T}) pθ(x0:T) ,这可以理解为从上述高斯分布 x T \mathbf{x}_T xT 逐步去噪以获得采样结果 x 0 \mathbf{x}_0 x0

p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ t ) (3) \begin{aligned} p_{\theta}(\mathbf{x}_{0:T})&=p(\mathbf{x}_T)\prod_{t = 1}^{T}p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)\\ p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)&=\mathcal{N}(\mathbf{x}_{t - 1};\mu_{\theta}(\mathbf{x}_t,t),\Sigma_t) \end{aligned} \tag{3} pθ(x0:T)pθ(xt1xt)=p(xT)t=1Tpθ(xt1xt)=N(xt1;μθ(xt,t),Σt)(3)

其中 μ θ \mu_{\theta} μθ 是由网络估计的后验分布的均值, Σ t \Sigma_{t} Σt 是通过 β t \beta_t βt 正向计算得到的方差。我们引入了额外的信息,即干净图像 s \mathbf{s} s 和相机设置信息 c s \mathbf{cs} cs,以使整个过程更具可控性。从数学角度来看,该过程为:

p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ t , Σ t ) μ t = μ θ ( x t , s , c s , t ) (4) \begin{aligned} p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)&=\mathcal{N}(\mathbf{x}_{t - 1};\mu_{\mathbf{t}},\Sigma_t)\\ \mu_{\mathbf{t}}&=\mu_{\theta}(\mathbf{x}_t, s, \mathbf{cs}, t) \end{aligned} \tag{4} pθ(xt1xt)μt=N(xt1;μt,Σt)=μθ(xt,s,cs,t)(4)

考虑到相机设置( c s \mathbf{cs} cs)信息在不同采样步骤中的影响变化以及 RGB 域中噪声的空间相关性,我们制定了增强的条件机制 —— 时间感知相机条件仿射调制(TCCAM)和多尺度内容感知模块(MCAM),以实现噪声生成模块与基于扩散的图像采样框架之间更紧密的耦合。

TCCAM: Time-aware Camera Conditioned Affine Modulation
  • 算法 1:
    在这里插入图片描述

如算法 1 所示,常规的扩散模型学习网络参数 ϵ θ \epsilon_{\theta} ϵθ,以便在正向过程中从 x 0 \mathbf{x}_0 x0 x t \mathbf{x}_t xt 预测添加的噪声分量 ϵ t \epsilon_{t} ϵt。然而,真实的噪声分布由多种因素决定,包括 ISO 增益、快门速度、色温、亮度等。在不区分不同条件下的噪声分布的情况下,基于空间光度变化、ISO 变化和传感器变化,从复杂噪声中学习一种通用分布是具有挑战性的。
根本问题在于,噪声分布在不同条件下差异很大。例如,不同传感器的噪声可能呈现出完全不同的分布。在学习过程中,网络倾向于收敛到数据集的总体期望,从而导致固定模式的噪声模式,这使得生成的噪声与目标噪声之间存在差异。为了解决这个问题,我们引入了算法 1 中所示的五个因素。

c s = ϕ ( i s o , s s , s t , c t , b m ) (5) \mathbf{cs} = \phi (iso, ss, st, ct, bm) \tag{5} cs=ϕ(iso,ss,st,ct,bm)(5)

其中,iso 是感光度(ISO),ss 是快门速度,st 是传感器类型,ct 是色温,bm 是亮度模式。这些因素通过一种编码方法( ϕ \phi ϕ)被嵌入,作为相机设置 c s \mathbf{cs} cs 的特征向量,以控制噪声生成。这种显式先验缩小了网络的学习范围,使其能够逼近更复杂多变的噪声分布。相机设置的影响应该随采样步骤而变化。例如,与图像信号处理器(ISP)高度相关的传感器类型(st)决定了噪声的基本形式,其影响通常与图像内容中的高频信息相关联。当 t t t T T T 0 0 0 进行采样,从低频到高频恢复图像内容时,相机设置的影响逐渐增大。为了解决这个问题,我们提出了一种具有动态设置机制的时间感知相机条件仿射调制(TCCAM),其中不同因素的权重随采样步骤而变化。如图 2(b)所示,该过程如下:

γ , β = M L P 3 ( M L P 1 ( s i n u _ p o s ( t ) ) + M L P 2 ( c s ) ) F o u t p u t = γ ∗ F i n p u t + β (6) \begin{aligned} \gamma, \beta&=MLP_3(MLP_1(sinu\_pos(t)) + MLP_2(\mathbf{c}_s))\\ \mathbf{F}_{output}&=\gamma * \mathbf{F}_{input}+\beta \end{aligned} \tag{6} γ,βFoutput=MLP3(MLP1(sinu_pos(t))+MLP2(cs))=γFinput+β(6)

其中,使用多层感知器(MLP)将相机设置与采用正弦位置编码(sinu_pos)的采样步骤一起进行编码,以便在 UNet 的每一层生成仿射参数 β \beta β γ \gamma γ。这种方法通过对 UNet 中每一层的特征 F i n p u t \mathbf{F}_{input} Finput 应用仿射变换,实现了一种动态设置影响机制。

MCAM: Multi-scale Content-aware Module

真实的噪声分布与图像内容有着内在的联系,由于光子捕获和图像信号处理器(ISP)的处理,它在不同亮度区域会有所不同。受周等人(Zhou 等人,2020 年)关于噪声空间频率特性见解的启发,我们提出了一个多尺度内容感知模块(MCAM,见图 2(c)),用于对不同频率下噪声 - 图像的耦合进行建模。从数学角度来看,我们的方法如下:

F x t i = e n c o d e r i ( x t ) F s i = e n c o d e r i ( s ) , i = 1 , 2 , 3 F o i = d e c o d e r i ( C o n c a t ( F i , F s i , F x t i ) ) (7) \begin{aligned} \mathbf{F}_{\mathbf{x}_{t_i}}&=encoder_i(\mathbf{x}_t)\\ \mathbf{F}_{\mathbf{s}_i}&=encoder_i(\mathbf{s}),i = 1,2,3\\ \mathbf{F}_{\mathbf{o}_i}&=decoder_i(Concat(\mathbf{F}_i,\mathbf{F}_{\mathbf{s}_i},\mathbf{F}_{\mathbf{x}_{t_i}})) \end{aligned} \tag{7} FxtiFsiFoi=encoderi(xt)=encoderi(s),i=1,2,3=decoderi(Concat(Fi,Fsi,Fxti))(7)

其中,在编码器的三个下采样阶段,使用对称但不共享权重的编码器从 x t \mathbf{x}_t xt 和干净图像 s \mathbf{s} s 中提取特征。除了在 F i \mathbf{F}_i Fi F x t i \mathbf{F}_{\mathbf{x}_{t_i}} Fxti 之间的标准跳跃连接外,我们在三个上采样阶段融入了 F s i \mathbf{F}_{\mathbf{s}_i} Fsi 的多尺度特征。

Deep Image Prior Sampling(DIPS)

基于深度图像先验论文中的观察,即网络在学习高频噪声之前首先学习干净的低频成分,我们在去噪扩散概率模型(DDPM)采样过程中注意到了类似的模式。反向库尔贝克 - 莱布尼茨散度(AKLD)的下降随着采样从 1000 步推进而显示出越来越大的梯度,这表明基于扩散的真实噪声合成(RNSD)从低频内容过渡到高频噪声,如图 3 所示。由于去噪扩散隐式模型(DDIM)使用均匀的采样步骤,它与我们的噪声估计任务不太契合。因此,正如我们的实验所示,减少采样步骤的数量会导致性能大幅下降。
为了解决这个问题,我们提出了一种新的采样方式:

t = t l a s t + ( T − t l a s t ) e r ( i − 1 S − 1 ) − 1 e r − 1 , i = S : 1 (8) t = t_{last}+(T - t_{last})\frac{e^{r(\frac{i - 1}{S - 1})}-1}{e^{r}-1}, \quad i = S:1 \tag{8} t=tlast+(Ttlast)er1er(S1i1)1,i=S:1(8)

其中, T T T 是去噪扩散概率模型(DDPM)的采样步骤数, S S S 是基于深度图像先验(DIPS)的采样步骤数。 t l a s t t_{last} tlast 是第 0 步之前的最后一个采样步骤。由于边界效应,最后几步的生成效果较弱,所以当总采样步骤数减少时,将其置于重要步骤中。 r r r 控制采样密度的梯度。对于 T = 1000 T=1000 T=1000 S = 10 S=10 S=10,得到采样序列 [ 1000 , 572 , 327 , 186 , 106 , 59 , 33 , 18 , 9 , 4 , 0 ] [1000, 572, 327, 186, 106, 59, 33, 18, 9, 4, 0] [1000,572,327,186,106,59,33,18,9,4,0]
我们的基础版本,即基本的基于深度图像先验(DIPS - Basic),在保持质量的同时将采样步骤数减少到。此外,我们发现从步到步的低频学习可以有效地由一个单步模型替代,从而能够从更接近的截断步骤而不是进行采样。

我们的基础版本,即基本的基于深度图像先验(DIPS - Basic),在保持质量的同时将采样步骤数 S S S 减少到 30。此外,我们发现从 1000 步到 200 步的低频学习可以有效地由一个单步模型替代,从而能够从更接近的截断步骤 N = 200 N=200 N=200 而不是 T = 1000 T=1000 T=1000 进行采样。其具体公式如下:

∇ θ ∥ ψ θ ( x T , t N ) − ϵ θ ( x N , t N ) ∥ (9) \nabla_{\theta} \left\lVert \psi_{\theta}(x_T, t_N) - \epsilon_{\theta}(x_N, t_N) \right\rVert \tag{9} θψθ(xT,tN)ϵθ(xN,tN)(9)

其中,单步模型 ψ θ \psi_{\theta} ψθ 是从预训练模型 ϵ θ \epsilon_{\theta} ϵθ 中提炼出来的,这使我们能够降低初始采样位置,并构建确定性映射,从而在保持质量的同时实现 5 步采样。如算法 2 所示,这种方法被称为高级版基于深度图像先验(DIPS - Advanced)。

  • 算法 2
    在这里插入图片描述

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

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

相关文章

群晖Alist套件无法挂载到群晖webdav,报错【连接被服务器拒绝】

声明:我不是用docker安装的 在套件中心安装矿神的Alist套件后,想把夸克挂载到群晖上,方便复制文件的,哪知道一直报错,最后发现问题出在两个地方: 1)挂载的路径中,直接填 dav &…

玩转大语言模型——配置图数据库Neo4j(含apoc插件)并导入GraphRAG生成的知识图谱

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…

全程Kali linux---CTFshow misc入门(25-37)

第二十五题: 提示:flag在图片下面。 直接检查CRC,检测到错误,就直接暴力破解。 暴力破解CRC的python代码。 import binascii import struct def brute_force_ihdr_crc(filename): # 读取文件二进制数据 with open(filen…

对比DeepSeek、ChatGPT和Kimi的学术写作撰写引言能力

引言 引言部分引入研究主题,明确研究背景、问题陈述,并提出研究的目的和重要性,最后,概述研究方法和论文结构。 下面我们使用DeepSeek、ChatGPT4以及Kimi辅助引言撰写。 提示词: 你现在是一名[计算机理论专家]&#…

LabVIEW微位移平台位移控制系统

本文介绍了基于LabVIEW的微位移平台位移控制系统的研究。通过设计一个闭环控制系统,针对微位移平台的通信驱动问题进行了解决,并提出了一种LabVIEW的应用方案,用于监控和控制微位移平台的位移,从而提高系统的精度和稳定性。 项目背…

javaEE-6.网络原理-http

目录 什么是http? http的工作原理: 抓包工具 fiddler的使用 HTTP请求数据: 1.首行:​编辑 2.请求头(header) 3.空行: 4.正文(body) HTTP响应数据 1.首行:​编辑 2.响应头 3.空行: 4.响应正文…

OpenCV:闭运算

目录 1. 简述 2. 用膨胀和腐蚀实现闭运算 2.1 代码示例 2.2 运行结果 3. 闭运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 闭运算的应用场景 5. 注意事项 相关阅读 OpenCV:图像的腐蚀与膨胀-CSDN博客 OpenCV:开运算-CSDN博客 1. 简述…

C++中的类与对象(下)

上一节我们将类与对象中一个比较难的也是一个比较重要的模块学习了,在这节主要是一些细节上的补充。 文章目录 目录 前言 一、初始化列表 初始化列表的性质 初始化列表的总结 二、类型转换 C中的类型转换 三、static成员 static的特点 一般情况下构造函数调用顺序&a…

Versal - 基础4(VD100+Versal IBERT)

1. 简介 在之前的一篇博文中,我分享了在 Zynq Ultrascale MPSoC 中使用 IBERT 的方法。 《Vivado - 集成眼图分析仪 Serial I/O IBERT 误码率_vivado ibert-CSDN博客》 本文进一步探讨 Versal 中使用 IBERT 的方法。 2. 硬件平台 芯片:XCVE2302-SF…

《HelloGitHub》第 106 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

英语语法 第一天

I’m a student. 我是个学生 我是个新东方的学生 I’m a student of New Oriental School 我爱你 I love you 我在心中爱你 I love you in my heart. 这是一朵花 This is a flower 这是一朵在公园里的花 This is a flower in the park.(修饰部分在修饰词后面) 主干…

“新月之智”智能战术头盔系统(CITHS)

新月人物传记:人物传记之新月篇-CSDN博客 相关文章链接(更新): 星际战争模拟系统:新月的编程之道-CSDN博客 新月智能护甲系统CMIA--未来战场的守护者-CSDN博客 目录 一、引言 二、智能头盔控制系统概述 三、系统架…

猿人学web 19题(js逆向)

这题直接点击翻页抓包,然后获取seesion ID请求即可 求和代码 import requestssession requests.Session() cookies {sessionid:eao9i00r8pt4xu6uzzx2k01ttqn51yc9} urlhttps://match.yuanrenxue.cn/api/match/19?page sum0 for i in range(1,6):response sess…

c语言:编译和链接(详解)

前言 要将编译和链接,就不得不提及编译器是如何运作的,虽然这部分知识是针对于要创造编译器和创作语言的人所需要清楚的,但作为c语言的学习者也需要了解一下,修炼内功,尤其是对于想学习c的人而言。 编译器的运作过程…

积分和微分的区别

积分: 积分是由微小量求大量,由微观的数据求得整体的状况。运算是对总量求和。 微分: 微分是由大量求微小量,反应微观的状况,运算是伴随着求导。 峰值检测电路: 上图检测的误差主要来自与二极管的正向导通电压降&am…

OVS-DPDK

dpdk介绍及应用 DPDK介绍 DPDK(Data Plane Development Kit)是一组快速处理数据包的开发平台及接口。有intel主导开发,主要基于Linux系统,用于快速数据包处理的函 数库与驱动集合,可以极大提高数据处理性能和吞吐量&…

亚博microros小车-原生ubuntu支持系列:18 Cartographer建图

Cartographer简介 Cartographer是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。基于图优化(多线程后端优化、cere构建的problem优化)的方法建图算法。可以结合来自多个传感器&#xff0…

安卓(android)实现注册界面【Android移动开发基础案例教程(第2版)黑马程序员】

一、实验目的(如果代码有错漏,可查看源码) 1.掌握LinearLayout、RelativeLayout、FrameLayout等布局的综合使用。 2.掌握ImageView、TextView、EditText、CheckBox、Button、RadioGroup、RadioButton、ListView、RecyclerView等控件在项目中的…

爬虫基础(四)线程 和 进程 及相关知识点

目录 一、线程和进程 (1)进程 (2)线程 (3)区别 二、串行、并发、并行 (1)串行 (2)并行 (3)并发 三、爬虫中的线程和进程 &am…

自签证书的dockerfile中from命令无法拉取镜像而docker的pull命令能拉取镜像

问题现象: docker pull images拉取镜像正常 dockerfile中的from命令拉取镜像就会报出证书错误。报错信息如下: [bjxtbwj-kvm-test-jenkins-6-243 ceshi_dockerfile]$ docker build . [] Building 0.4s (3/3) FINISHED …