计算机视觉新巅峰,微软牛津联合提出MVSplat登顶3D重建

开篇:探索稀疏多视图图像的3D场景重建与新视角合成的挑战
3D场景重建和新视角合成是计算机视觉领域的一项基础挑战,尤其是当输入图像非常稀疏(例如,只有两张)时。尽管利用神经场景表示,例如场景表示网络(SRN)、神经辐射场(NeRF)和光场网络(LFN)等,取得了显著进展,但这些方法在实际应用中仍然不尽人意,原因包括每个场景的优化成本高昂、内存消耗大以及渲染速度慢。最近,3D高斯投影(3DGS)作为一种高效且表达力强的3D表示方法应运而生,它凭借快速的渲染速度和高质量成为了研究的热点。使用基于光栅化的渲染,3DGS天然避免了NeRF中昂贵的体积采样过程,从而实现了高效且高质量的3D重建和新视角合成。
接下来提出的几种前馈高斯投影方法,如Splatter Image和pixelSplat,尝试从稀疏视图图像进行3D重建。Splatter Image使用U-Net架构从单一视图回归像素对齐的高斯参数,取得了单个对象3D重建的有希望的结果。然而,从单个图像进行3D重建本质上是不适定的和模糊的,这使得它特别难以应用于更一般和更大的场景级别重建。对于一般场景重建,pixelSplat提出从两个输入视图回归高斯参数。尽管pixelSplat学习了具有环视变换器的跨视图感知特征,但仅从图像特征预测可靠的概率深度分布仍然具有挑战性,导致pixelSplat的几何重建质量相对较低且存在噪声伪影。为了改进几何重建结果,需要使用额外的深度正则化损失进行缓慢的深度微调。
为了准确定位3D高斯中心,我们提出通过在3D空间中进行平面扫描来构建代价体积表示。具体来说,代价体积存储了所有潜在深度候选项的跨视图特征相似性,这些相似性可以为3D表面的定位提供有价值的几何线索。通过我们的代价体积表示,任务被表述为学习执行特征匹配以识别高斯中心,而不是像以前的工作那样从图像特征中进行数据驱动的3D回归。这样的表述降低了任务的学习难度,使我们的方法能够以轻量级模型大小和快速速度实现最先进的性能。
我们通过将由我们构建的多视图代价体积估计的多视图一致深度反投影到3D空间中,获得3D高斯中心。此外,我们还并行预测其他高斯属性(协方差、不透明度和球谐系数),从而使用预测的3D高斯和可微分的投影操作渲染新视角图像。我们的完整模型MVSplat是端到端训练的,仅使用渲染和真实图像之间的光度损失进行监督。
在大规模的RealEstate10K和ACID基准测试中,我们基于代价体积的方法MVSplat以最快的前馈推理速度(22 fps)实现了最先进的性能。与最先进的pixelSplat相比,我们的模型使用了更少的参数,并且在提供更高的外观和几何质量以及更好的跨数据集泛化能力的同时,推理速度提高了2倍以上。广泛的消融研究和分析强调了我们基于特征匹配的代价体积设计在实现高效前馈3D高斯投影模型方面的重要性。
论文标题: MVSplat: Efficient 3D Gaussian Splatting from Sparse Multi-View Images
机构:
1. Monash University
2. ETH Zurich
3. University of Tübingen, Tübingen AI Center
4. University of Oxford
5. Microsoft
6. Nanyang Technological University
论文链接:https://arxiv.org/pdf/2403.14627.pdf
项目地址: https://donydchen.github.io/mvsplat
公众号【AI论文解读】后台回复“论文解读” 获取论文PDF!
3D高斯投影(3DGS)的介绍与优势
3D高斯投影(3D Gaussian Splatting,简称3DGS)是一种高效且表现力强的三维表示方法,它因其快速的渲染速度和高质量的重建而受到关注。3DGS使用基于光栅化的渲染方法,从而避免了NeRF中昂贵的体积采样过程,实现了高效率和高质量的3D重建及新视角合成。
1. 3DGS的工作原理:3DGS通过将3D高斯(Gaussian primitives)映射到图像平面上,避免了传统NeRF方法中的体积渲染,从而大幅提高了渲染速度。这些高斯原语由中心位置、协方差、不透明度和颜色参数定义,可以高效地用于渲染新视角的图像。
2. 3DGS的优势:与传统的NeRF方法相比,3DGS具有多个显著优势。首先,它的渲染速度快,因为它避免了昂贵的体积采样过程。其次,3DGS在处理稀疏视图输入时表现出色,这对于实际应用中捕获大量视图是不切实际的情况尤为重要。此外,3DGS能够在轻量级模型和快速速度的同时,提供更高的外观和几何质量,以及更好的跨数据集泛化能力。
MVSplat模型的核心设计
MVSplat是一个基于3DGS的前馈模型,它通过构建成本体积(cost volume)来利用多视图的对应信息,从而更好地学习几何结构。与之前依赖于数据驱动设计的方法不同,MVSplat的核心设计在于其有效地利用特征匹配信息来预测3D高斯中心,从而实现了高效的深度估计。
1. 成本体积的构建:MVSplat通过平面扫描技术在3D空间中构建成本体积,存储了所有潜在深度候选项的跨视图特征相似性。这些相似性为3D表面的定位提供了宝贵的几何线索,使得模型能够通过特征匹配来识别3D高斯中心。
2. 多视图深度估计:MVSplat的深度模型基于2D卷积和注意力机制,不使用许多先前MVS和前馈NeRF模型中的3D卷积,这使得模型高效。深度模型包括多视图特征提取、成本体积构建、成本体积细化、深度估计和深度细化等步骤。
3. 3D高斯参数的预测:在获得多视图深度预测后,MVSplat直接将它们投影到3D点云中,并将每个视图的点云转换为对齐的世界坐标系,直接组合为3D高斯的中心。同时,模型还并行预测其他高斯属性(协方差、不透明度和颜色参数),以便使用可微分的投影操作渲染新视角图像。
4. 训练损失:MVSplat使用简单的渲染损失进行端到端训练,通过预测的3D高斯参数渲染图像,并以真实目标RGB图像作为监督,计算训练损失。
MVSplat在大规模RealEstate10K和ACID基准测试中取得了最先进的性能,并以最快的前馈推理速度(22 fps)运行。与最新的pixelSplat模型相比,MVSplat使用了更少的参数,并且推理速度更快,同时提供了更高的外观和几何质量,以及更好的跨数据集泛化能力。
实验设置与数据集描述
1. 数据集
本研究使用了两个大型基准数据集:RealEstate10K [42] 和 ACID [14]。RealEstate10K 数据集包含从 YouTube 下载的房地产视频,分为 67,477 个训练场景和 7,289 个测试场景。ACID 数据集包含由无人机拍摄的自然场景,分为 11,075 个训练场景和 1,972 个测试场景。两个数据集都提供了每个帧的估计相机内参和外参。此外,为了进一步评估跨数据集的泛化能力,还在多视图 DTU [10] 数据集上进行了直接评估,该数据集包含带有相机位姿的以物体为中心的场景,在 DTU 数据集上,我们报告了 16 个验证场景的结果,每个场景有 4 个新视角。
2. 评价指标
量化结果使用标准图像质量指标,包括像素级的 PSNR、补丁级的 SSIM [31] 和特征级的 LPIPS [40]。同时报告了推理时间和模型参数,以便全面比较速度和准确性的权衡。为了公平比较,所有实验都在 256×256 分辨率下进行,以符合现有模型 [1, 27]。
3. 实现细节
MVSplat 使用 PyTorch 实现,并使用 CUDA 中的现成 3DGS 渲染器。多视图 Transformer 包含 6 层堆叠的自注意力和交叉注意力层。构建成本体积时,在所有实验中采样了 128 个深度候选项。所有模型在单个 A100 GPU 上训练了 300,000 次迭代,使用 Adam [13] 优化器。更多细节在补充材料 Appendix C 中提供。代码和模型可在 https://github.com/donydchen/mvsplat 获取。
主要结果与性能分析
1. 图像质量评估
在 RealEstate10K [42] 和 ACID [14] 基准测试中,MVSplat 在所有视觉质量指标上超越了所有先前的最先进模型,并且在 LPIPS 指标上有更明显的改进,该指标更符合人类感知。MVSplat 在具有挑战性的条件下,即使在只有一个输入视图中呈现的区域(例如“楼梯扶手”和“灯罩”)或从远处视点捕获的大型户外物体(例如“桥梁”),也能实现最高质量的新视图结果。

2. 模型效率评估
MVSplat 不仅在图像质量上表现优异,而且在所有比较模型中具有最快的推理时间,并且模型尺寸轻巧,展示了其效率和实用性。MVSplat 使用的参数比 pixelSplat [1] 少 10 倍,并且推理速度快于 2 倍以上。
3. 几何重建评估
MVSplat 生成的 3D 高斯原语质量显著高于最新的最先进模型 pixelSplat [1]。pixelSplat 需要额外的 50,000 步微调,使用额外的深度正则化损失来实现合理的几何重建结果。而 MVSplat 仅通过光度监督训练,就能生成高质量的几何结构。

4. 跨数据集泛化评估
MVSplat 在泛化到分布外的新场景方面具有固有的优势,主要是因为成本体积捕获了特征之间的相对相似性,这与特征的绝对尺度相比保持不变。在两个跨数据集评估中,MVSplat 渲染出的新视图具有竞争力,尽管目标数据集的场景包含与源数据集显著不同的相机分布和图像外观。相比之下,pixelSplat 渲染的视图严重退化,这主要是因为 pixelSplat 依赖于与特征值的绝对尺度相关的纯特征聚合,这阻碍了其在接收来自其他数据集的不同图像特征时的性能。
5. 更多视图质量评估
MVSplat 设计为对输入视图的数量不敏感,因此如果在测试阶段有更多输入视图可用,无论在训练中使用了多少输入视图,都可以从中受益。在 DTU 上使用 3 个上下文视图进行测试时,MVSplat 的结果优于使用 2 个视图的结果,这表明 MVSplat 可以利用更多的输入视图来提高性能。
6. 消融研究
通过在 RealEstate10K 上进行详尽的消融研究,分析了 MVSplat 的关键组件。结果表明,成本体积是 MVSplat 成功的关键,它在编码器中发挥着最重要的作用,提供了更好的几何质量。此外,交叉视图注意力在学习多视图几何结构中也非常重要,它通过在输入视图之间融合信息来增强特征表达能力。
跨数据集泛化能力的评估
在计算机视觉领域,从稀疏的图像(例如,仅两张)进行3D场景重建和新视角合成一直是一个基本挑战。虽然使用神经场景表示(如SRN、NeRF和LFN)取得了显著进展,但这些方法在实际应用中仍不尽人意,原因在于每个场景的昂贵优化成本、高内存消耗和慢渲染速度。最近,基于成本体积的方法MVSplat在大规模RealEstate10K和ACID基准测试中实现了最先进的性能,具有最快的前馈推理速度(22 fps),并且在外观和几何质量以及跨数据集泛化方面都优于最新的pixelSplat模型。
1. 跨数据集泛化能力
MVSplat的跨数据集泛化能力得益于其成本体积表示,该表示捕获了特征之间的相对相似性,这种相似性与特征的绝对尺度相比是不变的。为了评估这种泛化能力,研究人员选择了仅在RealEstate10K(室内场景)上训练的模型,并直接在ACID(室外场景)和DTU(以物体为中心的场景)上进行了测试。结果显示,尽管目标数据集的场景与源数据集在相机分布和图像外观上有显著差异,MVSplat仍能渲染出具有竞争力的新视图。相比之下,pixelSplat在渲染质量上明显下降,主要原因是它依赖于与特征值的绝对尺度相关的纯特征聚合,这在接收来自其他数据集的不同图像特征时会影响其性能。

2. 更多视图的质量
MVSplat的设计使其对输入视图的数量不敏感,这意味着如果在测试阶段有更多的输入视图可用,无论在训练中使用了多少输入视图,它都可以从中受益。通过在DTU上使用3个上下文视图进行测试,使用在2视图RealEstate10K数据集上训练的模型,MVSplat的性能得到了提升。然而,pixelSplat在使用更多视图时性能略有下降,即使研究人员已经尽力将其发布的仅支持2视图的模型扩展到支持更多视图的测试。这表明,更多视图的特征分布可能与用于训练pixelSplat的两视图特征分布不同,这种依赖于纯特征聚合的方法缺乏对特征分布变化的鲁棒性。
模型的优化与改进
1. 模型优化
为了提高模型性能,MVSplat采用了多种优化策略。首先,它基于2D卷积和注意力机制,避免了许多以前的MVS和前馈NeRF模型中使用的3D卷积,从而提高了模型效率。其次,MVSplat通过构建成本体积来存储所有潜在深度候选项的跨视图特征相似性,这些相似性为3D表面的定位提供了宝贵的几何线索。此外,MVSplat还使用了一个轻量级的2D U-Net来进一步细化成本体积,并预测每个视图的深度图。这些深度图被投影到3D空间,并与其他高斯属性(协方差、不透明度和球面谐波系数)一起预测,以使用可微分的splatting操作渲染新视图。
2. 模型改进
MVSplat的改进主要体现在以下几个方面:
成本体积表示:通过平面扫描在3D空间中构建成本体积表示,为学习特征匹配以识别高斯中心提供了一个新的公式化方法,与以前的数据驱动3D回归方法不同。
多视图深度估计:MVSplat的深度模型仅基于2D卷积和注意力,不使用其他模型中的3D卷积,提高了模型效率。
高斯参数预测:通过直接从多视图深度预测中投影得到的3D点云作为高斯中心,同时预测不透明度、协方差和颜色参数。
训练损失:模型使用简单的渲染损失进行端到端训练,无需地面真实几何监督。
通过这些优化和改进,MVSplat在两个大规模场景级重建基准测试中树立了新的最先进水平,并且在外观和几何质量以及跨数据集泛化方面都优于最新的pixelSplat模型。
讨论与总结
在本文中,我们探讨了从稀疏多视图图像进行3D场景重建和新视角合成的挑战,并介绍了最近提出的MVSplat模型。MVSplat模型通过构建代价体积(cost volume)来利用多视图间的对应信息,从而更好地学习几何结构。这种方法与现有的数据驱动设计有所不同,使得MVSplat在两个大规模场景级重建基准测试中设定了新的最高标准。与最新的先进方法pixelSplat相比,MVSplat使用的参数少了10倍,推断速度快了2倍以上,同时提供了更高的外观和几何质量,以及更好的跨数据集泛化能力。
1. 成果总结
MVSplat模型在多个方面展现了其优越性。首先,它在RealEstate10K和ACID基准测试中取得了最佳的视觉质量指标,并且具有最快的前馈推断速度(22 fps),这证明了其在实际应用中的高效性和实用性。其次,MVSplat在几何重建方面也展现了显著的优势,能够在没有额外深度微调的情况下,通过光度监督单独训练,生成高质量的3D高斯原语。此外,MVSplat在跨数据集泛化能力方面表现出色,尤其是在源数据集与目标数据集之间存在较大差异时,其性能提升更为显著。
2. 技术细节
MVSplat模型的关键在于其代价体积表示,该表示存储了所有潜在深度候选项的跨视图特征相似性,为3D表面的定位提供了有价值的几何线索。与之前的工作不同,MVSplat的任务被构建为学习执行特征匹配以识别3D高斯中心,这降低了任务的学习难度,并使得模型能够以轻量级的模型大小和快速的速度实现最先进的性能。
3. 实验结果
MVSplat在多个实验中均展现了其优势。在RealEstate10K和ACID数据集上的定量结果表明,MVSplat在所有视觉质量指标上均优于先前的最佳模型。在几何重建质量的可视化比较中,MVSplat产生的3D高斯原语和平滑深度图表现出更高的质量。在跨数据集泛化测试中,MVSplat在未经训练的新数据集上的渲染质量也远超pixelSplat,这进一步证明了其代价体积设计的有效性。
4. 未来方向
尽管MVSplat在多个方面取得了显著的成果,但它在处理反射表面(如玻璃和窗户)时可能产生不可靠的结果,这是现有方法的一个公开挑战。此外,MVSplat目前主要在RealEstate10K数据集上进行训练,尽管其规模较大,但多样性不足以健壮地泛化到野外真实世界场景。未来的一个有趣方向是探索MVSplat模型扩展到更大和更多样化的训练数据集的可能性,例如通过混合现有的几个场景级数据集。
总之,MVSplat模型的提出为稀疏多视图图像的3D场景重建和新视角合成提供了一种高效且有效的解决方案,其优异的性能和泛化能力预示着在实际应用中具有巨大的潜力。
相关文章:
计算机视觉新巅峰,微软牛津联合提出MVSplat登顶3D重建
开篇:探索稀疏多视图图像的3D场景重建与新视角合成的挑战 3D场景重建和新视角合成是计算机视觉领域的一项基础挑战,尤其是当输入图像非常稀疏(例如,只有两张)时。尽管利用神经场景表示,例如场景表示网络&a…...
halcon图像腐蚀
1、原理 使用结构元素在图像上移动,只有结构元素上的所有像素点都属于图像中时,才保留结构元素中心点所在的像素,常用于分离连接的两个物体、消除噪声。 2、halcon代码 dev_open_file_dialog (read_image, default, default, Selection) r…...
neo4j使用详解(六、cypher即时时间函数语法——最全参考)
Neo4j系列导航: neo4j及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 6.时间函数-即时类型 表示具体的时刻的时间类型函数 6.1.date函数 年-月-日时间函数: yyyy-mm-dd 6.1.1.获取date da…...
Web 前端性能优化之一:性能模型及网页原理
一、RAIL 性能模型 RAIL性能模型指出了用户对不同延迟时间的感知度,以用户为中心的原则,就是要让用户满意网站或应用的性能体验。 RAIL :响应(Response)、动画(Animation)、空闲(Idle)、加载(Load) RAIL 性能模型 用户感知延迟的时间窗口 1…...
常用的主流好用的WEB自动化测试工具强烈推荐
在业务使用的自动化测试工具很多。有开源的,有商业化的,各有各得特色,各有各得优点!下面我就介绍几个我用过的一款非常优秀的国产自动化测试工具。在现有的自动化软件当中,都是以元素的name、id、xpath、class、tag、l…...
分享几个非常不错嵌入式开源项目,一定不要错过
大家好,我是知微! 经常有小伙伴后台私信我: 有没有好的开源项目推荐怎么样才能提升自己的编程能力 那么这篇文章就推荐几个还不错的开源项目,感兴趣的小伙伴可以学习一下! 日志库EasyLogger https://github.com/ar…...
Golang基础-4
Go语言基础 介绍 基础 数组(array) 数组声明 元素访问与修改 数组遍历 关系运算 切片创建 多维数组 介绍 本文介绍Go语言中数组(array)操作(数组声明、元素访问与修改、数组遍历、关系运算、切片创建、多维数组)等相关知识。 基础 数组 数组是具有相同数据类型的…...
2024软件设计师备考讲义——UML(统一建模语言)
UML的概念 用例图的概念 包含 <<include>>扩展<<exted>>泛化 用例图(也可称用例建模)描述的是外部执行者(Actor)所理解的系统功能。用例图用于需求分析阶段,它的建立是系统开发者和用户反复…...
HTML——1.简介、基础、元素
一、简介 HTML(HyperText Markup Language)是一种用于创建网页的标记语言。它使用标记(tag)来描述网页的结构和内容。HTML被用于定义网页中的文本、图像、链接、多媒体以及其他元素的排列和呈现方式。 HTML文档是由一系列的HTML…...
Rust 标准库:std::env::args() 函数简介
std::env::args() 是 Rust 标准库中的一个函数,它属于 std::env 模块。这个函数用于获取并返回一个迭代器,该迭代器包含了程序运行时从命令行传入的所有参数。 当你运行一个 Rust 程序并从命令行传递参数时,例如: my_rust_progr…...
【Blockchain】GameFi | NFT
Blockchain GameFiGameFi顶级项目TheSandbox:Decentraland:Axie Infinity: NFTNFT是如何工作的同质化和非同质化区块链协议NFT铸币 GameFi GameFi是游戏和金融的组合,它涉及区块链游戏,对玩家提供经济激励,…...
【Docker】搭建安全可控的自定义通知推送服务 - Bark
【Docker】搭建安全可控的自定义通知推送服务 - Bark 前言 本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建。 简介 Bark是一款为Apple设备用户设计的开源推送服务应用,它允许开发者、程序员以及一般用户将信息快速推送到他们自己的iPhone、iPad等设备上…...
国内IP代理软件电脑版:深入解析与应用指南
随着互联网技术的快速发展,网络活动日益丰富多样,IP代理软件也因其独特的功能和优势,成为许多电脑用户不可或缺的工具。在国内,由于网络环境的复杂性和特殊性,选择一款稳定、高效的IP代理软件电脑版尤为重要。虎观代理…...
面向对象设计之开闭原则
设计模式专栏: http://t.csdnimg.cn/4Mt4u 目录 1.引言 2.如何理解“对扩展开放、对修改关闭” 3.修改代码就意味着违反开闭原则吗 4.如何做到“对扩展开放、对修改关闭” 5.如何在项目中灵活应用开闭原则 6.总结 1.引言 开闭原则(Open Closed Principle&…...
【项目技术介绍篇】若依项目代码文件结构介绍
作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是࿰…...
实现DevOps需要什么?
实现DevOps需要什么? 硬性要求:工具上的准备 上文提到了工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下: 代码管理(SCM):GitHub、GitLab、BitBucket、SubV…...
Linux小程序: 手写自己的shell
注意: 本文章只是为了理解shell内部的工作原理, 所以并没有完成shell的所有工作, 只是完成了shell里的一小部分工作 #include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include &l…...
javaSwing租户管理系统
简介 欢迎阅读本篇博客,今天我将为大家介绍一个基于Java Swing开发的租户管理系统。该系统具有登录、注册、添加租户、查询租户信息、修改租户信息、删除租户、修改密码、退出登录等功能模块,旨在提供一个便捷的租户管理解决方案。 一、项目介绍 该租…...
cesium实现竖立的圆
cesium中的圆是平行于地面的,想实现竖起来的圆可以使用ellipsoid,设置其中一个轴的radii值为一个很小的值,比如0.00001,则这个轴上的宽度就会非常小,看起来就是一个圆面。 一、画圆ellipse,此处也把画圆的代…...
汽车电子行业知识:智能汽车电子架构
文章目录 3.智能汽车电子架构3.1.汽车电子概念及发展3.2.汽车电子架构类型3.2.1.博世汽车电子架构3.2.2.联合电子未来汽车电子架构3.2.3.安波福汽车电子架构3.2.4.丰田汽车电子架构3.2.5.华为汽车电子架构 3.智能汽车电子架构 3.1.汽车电子概念及发展 汽车电子是车体汽车电子…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
