当前位置: 首页 > article >正文

无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升

目录

一、摘要

二、引言

三、框架

四、方法

生成合成夜间数据

昼夜图像风格转换

针对夜间图像的无标签数据增强技术

五、Coovally AI模型训练与应用平台

六、实验 

数据

图像风格转换

夜间车辆检测和分类

结论


screenshot_2025-03-07_16-18-40.png

论文题目:ENHANCING NIGHTTIME VEHICLE DETECTION WITH DAY-TO-NIGHT STYLE TRANSFER AND LABELING-FREE AUGMENTATION

论文链接:https://arxiv.org/pdf/2412.16478


一、摘要

现有的基于深度学习的物体检测模型在日间条件下表现良好,但在夜间却面临巨大挑战,这主要是因为这些模型主要是在日间图像上进行训练的。此外,使用夜间图像进行训练还带来了另一个挑战:即使是人类标注者也很难在弱光条件下准确标注物体。这一问题在交通应用中尤为突出,例如在夜间的乡村道路上检测车辆和其他感兴趣的物体,因为那里通常没有街道照明,车头灯可能会带来令人不快的眩光。本研究利用CARLA生成的合成数据进行从白天到黑夜的图像风格转换,引入了一个新颖的无标签数据增强框架,从而解决了这些难题。具体来说,该框架结合了高效注意力生成对抗网络(Efficient Attention Generative Adversarial Network)来实现从白天到夜晚的模式转换,并使用CARLA生成的合成夜间图像来帮助模型学习车辆前大灯的效果。为了评估所提出的框架的有效性,我们使用专门为农村夜间环境设计的增强数据集对YOLO11模型进行了微调,从而显著提高了夜间车辆检测能力。这种新方法简单而有效,提供了一种可扩展的解决方案,可用于在低能见度环境中增强基于人工智能的检测系统,并将物体检测模型的适用性扩展到更广泛的现实世界环境中。


二、引言

车辆检测在交通监控和事故管理中至关重要,尤其是在农村地区,夜间事故发生率远高于城市。然而,夜间检测面临突发挑战,如低照度、车灯灼光、复位差及路边摄像头的低分辨率等。现有的视觉方法主要依赖于车辆外观特征,在夜间效果良好,但夜间车灯成为唯一可用的特征,使检测变得困难。

针对这一问题,研究人员采用生成网络(GAN)和适应方法,利用日夜风格转换训练增强数据。例如,AugGAN、CycleGAN等技术在生成夜间图像时采取一致性一致性,提高检测性能。然而,这些方法难以准确模拟车灯光照效果,导致检测精度模型。

目前,部分研究尝试基于差分模型进行日夜照明,但仍无法恢复车灯照明。对此,提出了一种新方法:

(1)直接从日间图像生成带图像的夜间照明;

(2)采用CARLA模拟器精确建模车灯照明,生成代替真实的夜间数据集。

这种方法能够提高模型在农村夜间环境中的监控能力,为交通安全提供更可靠的技术支持。


三、框架

我们提出的框架(如图1所示)引入了一种新颖的无标记数据增强方法,利用CARLA生成的合成数据实现从白天到黑夜的逼真图像风格转换。该框架由两个主要部分组成:

图片1.png

  • 农村环境下的夜间合成数据生成:该组件利用CARLA模拟器生成合成夜间图像,其中包含逼真的头灯效果和不同的照明条件,正如从农村环境中的路边摄像头观察到的那样。CARLA模拟器是这一过程不可或缺的一部分,因为它可以忠实地模拟车辆在夜间的车头灯效果,有效地解决了现有人工智能模型的局限性,因为这些模型往往无法捕捉从白天到黑夜的转换过程中的车头灯效果。

  • 日夜风格转换过程:为了解决农村环境中夜间道路场景图像数据稀缺的问题,我们训练了一个CycleGAN模型来执行从白天到夜晚的风格转换。白天的图像使用最先进的YOLO11模型收集和处理,以进行车辆检测和分类。由此产生的注释直接映射到风格转换后的夜间图像上,从而无需额外的标注工作即可创建一个增强的夜间数据集。为了增强数据集的多样性和真实性,最终的增强数据集将人类标注的真实夜间弱光图像(44%)与样式转换图像(56%)结合在一起。该数据集随后被用于对YOLO11模型进行微调,并在真实世界的夜间测试数据集上与原始模型进行对比评估。

通过将逼真的合成数据生成与有效的样式转换技术和自动注释映射相结合,我们的框架解决了农村夜间车辆检测中的关键难题,为提高模型在真实世界场景中的性能提供了新颖实用的解决方案。


四、方法

本节将介绍我们提出的方法,该方法通过三个关键步骤解决农村环境中夜间车辆检测的难题:

(1) 生成合成夜间数据:描述了生成真实夜间图像的过程,其中利用CARLA模拟器纳入了关键特征,如车头灯效果和不同的照明条件。

(2)昼夜图像风格转换:介绍了用于执行日夜图像转换的模型架构,从而能够创建与真实世界场景非常相似的夜间图像。

(3)夜间图像的无标签数据扩增:介绍了实现无标签扩增的方法,将日间图像的注释直接映射到风格转换后的夜间图像上,从而促进了强大的扩增数据集的开发。

  • 生成合成夜间数据

如上一节所述,改进夜间车辆检测的主要挑战来自于路边摄像头图像的低质量以及收集足够大且多样化的数据集的困难。为了解决这些问题,我们使用CARLA生成合成夜间图像,CARLA是一个广泛使用的开源平台,主要用于自动驾驶研究。CARLA提供对各种环境和操作参数的广泛控制,如天气条件、照明、车辆类型、前照灯设置(如低光束、高光束)以及摄像头位置和视角。通过这些可定制的选项,可以创建一个全面、多样的数据集,准确反映真实的农村交通环境。特别是在农村公路安全研究方面,该模拟器允许在关键位置(如弯道和坡道)战略性地放置摄像头,因为这些位置通常实行较低的速度限制。

为了接近真实的农村环境,在以下情况下收集合成图像:(1) 相对于摄像头的出发和接近车辆;(2)侧视和俯视视角;(3)多车和单车场景。图2展示了几个具有代表性的示例。值得注意的是,在本研究中,所有合成图像都是在晴朗天气条件下生成的,没有进行任何环境修改。

图片2.png

  • 昼夜图像风格转换

Efficient Attention GAN(EAGAN)建立在CycleGAN框架的基础上,将高效注意力模块集成到生成器网络中,同时在相应的编码器和解码器模块之间实现注意力共享。这种机制允许在重建目标域对应图像时重新利用从源域图像计算出的长距离依赖关系。这种设计使EAGAN成为高质量图像到图像 (I2I) 翻译任务的可靠选择,尤其是在保持域间一致性至关重要的情况下。

在本研究中,EAGAN架构被用于在农村环境中执行从白天到黑夜的风格转换。该模型使用两个特定领域的数据集进行训练:真实世界的白天图像和CARLA虚拟夜间图像。

I2I转换任务一般考虑将X域(白天)的图像x转换为Y域(夜间)的图像 y,以映射表示:G : x → y,F : y → x,其中G和F是生成器网络。目标是确保分布G(X)和F(Y)分别与X和Y无差别,同时保留语义信息和周期一致性。

看图3为了从日间图像和CARLA夜间图像中训练用于数据增强目的的EAGAN,模型输入包括 {Real X, Real Y},其中Real X和Real Y分别来自X域和Y域。按照GAN的标准训练流程,通过优化最小-最大对抗目标,同时训练判别器和生成器。与传统的对抗损失相比,提出的最小平方对抗损失具有更高的稳定性,因此被采用。

图片3.png

  • 针对夜间图像的无标签数据增强技术

YOLO模型系列为物体检测带来了革命性的变化,它具有实时检测和高精度的特点。最新版本YOLO11在此基础上增加了注意力机制、更深的特征提取层以及无锚检测方法。它专为应对检测小型、隐蔽或快速移动车辆等挑战而设计。通过整合CNN和自我注意机制的优势,YOLO11提高了检测精度和计算效率,使其非常适合现实世界的应用。在我们的研究中,YOLO11被用作 “注释器”,对日间图像进行自动注释。从日间图像中获得的标签可直接应用于风格转换后的夜间图像,因为感兴趣的对象(即车辆)将保持在相同的位置。这样,我们就可以利用YOLO11模型的精确车辆检测能力,自动为风格转换后的夜间图像获取标签。

最初的YOLO11模型是在COCO数据集上进行预训练的,该数据集包括与农村环境相关的汽车、公共汽车和卡车等车辆类别。在本研究中,我们的重点是对两个特定车辆类别进行分类:0类(轿车)和1类(SVP-BV)。SVP-BV类别包括SUV、Van、Pick-UP和大型车辆。为了与新的车辆类别保持一致,COCO车辆类别重新映射如下:(1) 轿车->加长轿车;(2) 公共汽车和卡车->SVP-BV。将EAGAN模型生成的风格转换夜间图像与YOLO11 预测的相应标签进行组合,就得到了增强数据集。


五、Coovally AI模型训练与应用平台

如果你也想要进行模型训练或模型改进,Coovally平台满足你的要求!

Coovally平台整合了国内外开源社区1000+模型算法各类公开识别数据集无论是YOLO系列模型还是Transformer系列视觉模型算法,平台全部包含,均可一键下载助力实验研究与产业应用。

图片

图片

而且在该平台上,无需配置环境、修改配置文件等繁琐操作,一键上传数据集,使用模型进行训练与结果预测,全程高速零代码

图片

具体操作步骤可参考:YOLO11全解析:从原理到实战,全流程体验下一代目标检测

平台链接:https://www.coovally.com

如果你想要另外的模型算法数据集,欢迎后台或评论区留言,我们找到后会第一时间与您分享!


六、实验 

  • 数据

我们的数据来自加利福尼亚州的多个公共交通摄像头,其中包括白天和夜间的图像,分别用于训练和测试。具体来说,数据分为三类:

(1)EAGAN模型的训练数据集;

(2)YOLO11模型的微调数据集;

(3)用于比较原始YOLO11模型和微调版本性能的评估数据集。

表 1 提供了每个数据集的详细摘要。

图片4.png

  • 图像风格转换

在使用EAGAN进行图像风格转换时,我们以两个域为目标:X 域包括真实世界中的日间图像,Y域包括CARLA生成的夜间图像。我们对 EAGAN 进行了200次训练,学习率初始化为0.0002,并在第100次训练后开始线性下降。这种学习率衰减策略可确保模型顺利收敛,从而获得更好的泛化效果和性能[22]。

表 2 显示了EAGAN训练的详细参数设置。

图片5.png

每个epoch大约需要150秒,在单个英伟达A6000 GPU上完成整个训练过程大约需要8小时。图4展示了经过训练的EAGAN模型的测试示例。结果证实了日夜转换的成功,包括有效地增加了车头灯特征。值得注意的是,该模型准确地将车头灯置于车辆的正确位置,证明了其可靠定位车辆并识别其位置的能力。有趣的是,还观察到了一些与阴影相关的效果:

图片6.png

  • 阳光下的车辆阴影:对于晴天条件下车辆投射的阴影(如图 4 第 5 列和第 6 列中的第 1 行和第 2 行),模型倾向于将汽车保险杠前的阴影解释为车辆的一部分。这就导致了传输图像中照射的前大灯与汽车前部之间存在轻微的角度偏差。不过,这种微小的偏差并不会影响模型在夜间识别车辆的能力。

  • 树下阴影区域的车辆:当车辆经过树影区域时(如图 4 第 5 列和第 6 列中的第 3 行),车辆特征与斑驳树影的融合给模型带来了挑战。这些阴影区域就像噪音一样,会降低传输图像的质量,并对下游任务产生负面影响。虽然这些阴影效应会带来一些伪影,但EAGAN模型的整体性能在生成高质量的昼夜图像转换时仍然非常稳定。

  • 夜间车辆检测和分类

本实验采用了YOLO11-Small模型。图5展示了原始YOLO11-Small模型生成的预测样本,这些样本可作为其样式转换后的夜间图像的标签。

图片7.png

虽然CARLA可以生成逼真的夜间道路场景图像,但与真实世界的夜间道路场景相比,在外观上仍存在细微差别。为了弥补这一领域适应性方面的不足,我们在训练数据集中加入了部分人工标注的真实世界夜间图像。通过这种方法,模型可以从CARLA生成的图像和真实世界的夜间图像中学习相关特征,从而提高其整体性能和鲁棒性。

为了对模型进行微调,对模型的不同组件实施了学习率调度策略。首先,对骨干网络进行微调,学习率为0.0001,持续50次。随后,主干网络被冻结,颈部网络则完全采用0.00005的学习率,再持续50个epochs。最后,主干网络和颈部网络都被冻结,头部网络的学习率为 0.00001,再进行 50 次训练。这种分块适应策略有别于EAGAN训练中使用的方法,有助于增强收敛性和提高泛化能力。

如图6-8所示,为了进行评估,我们分析了农村地区路边交通摄像头拍摄的一组具有代表性的真实世界夜间图像。这些夜间图像存在各种挑战,包括环境光线不足、图像质量差以及车头灯眩光造成的问题。最初的YOLO11模型经常难以将车辆与背景区分开来,即使在光线相对较好的条件下也是如此,而且在检测到车辆时,往往会产生较低的置信度分数。相比之下,经过微调的YOLO11模型在增强型数据集上经过训练后,检测成功率达到100%,置信度得分也显著提高,这证明了建议框架的有效性。

图片8.png

图片9.png

图片10.png

表 3 列出了原始模型和经过微调的 YOLO11 模型在各种指标上的详细分类结果:

图片11.png

表3显示了各分类的显著改进,表明微调模型有效捕捉了夜间场景中的大多数车辆,解决了当前最先进物体检测模型的主要局限性。mAP 指标的持续改进进一步凸显了微调模型在具有挑战性的夜间条件下检测和定位车辆的鲁棒性。针对不同类别的微调增强了对小型车辆(轿车)和大型车辆(SVP-BV)的检测能力。值得注意的是,微调模型对SVP-BV类别的边界框精度略低,这主要是由于新定义的类别中车辆类型多种多样。


结论

在这项工作中,我们提出了一个用于增强夜间车辆检测的新框架,其特点是采用无标记方法创建一个增强数据集,以微调物体检测模型,从而提高夜间条件下的性能。我们使用EAGAN作为图像转换器,从白天的对应图像生成相应的夜间图像。此外,我们在EAGAN训练和 YOLO11 微调过程中采用了不同的学习率调度策略,以确保顺利收敛并增强泛化能力。原始YOLO11模型和微调版本之间的性能比较表明,使用增强数据集进行微调的YOLO11 模型在夜间车辆检测方面的性能明显优于原始 YOLO11 模型。该模型能够以很高的置信度检测到车辆并对其进行定位,这凸显了利用适当的增强数据进行微调的有效性,使其成为实际应用中更可靠的解决方案。

尽管如此,我们也承认在未来的研究中应该解决几个局限性问题:(1)虽然 CARLA目前提供了多种类型的车辆,但仍未涵盖道路上的所有车辆类型,尤其是牵引车和房车,这限制了合成数据的多样性。此外,CARLA 中的前大灯还需要进一步改进,以更好地复制在真实世界环境中观察到的眩光效果。(2) 虽然 EAGAN模型在 CycleGAN 的生成器中加入了注意力共享机制,但未来的研究可以探索其他机制,以更有效地解决观察到的阴影效应。(3) 为了验证概念,本研究使用的训练和测试数据集相对较小。未来的工作应考虑使用我们提出的数据增强方法大幅扩展数据集,这有望进一步提高模型的性能和鲁棒性。

相关文章:

无标签数据增强+高效注意力GAN:基于CARLA的夜间车辆检测精度跃升

目录 一、摘要 二、引言 三、框架 四、方法 生成合成夜间数据 昼夜图像风格转换 针对夜间图像的无标签数据增强技术 五、Coovally AI模型训练与应用平台 六、实验 数据 图像风格转换 夜间车辆检测和分类 结论 论文题目:ENHANCING NIGHTTIME VEHICLE D…...

SqlSugar 进阶之原生Sql操作与存储过程写法 【ORM框架】

系列文章目录 🎀🎀🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀🎀🎀 文章目录 系列文章目录一、前言 🍃二、用法介绍三、方法列表四、使用案例五、调用存储过程六、in参数用法七、SqlServer带Go的脚…...

NO.33十六届蓝桥杯备战|函数|返回值|声明|调用|引用|函数重载(C++)

返回值 我们在设计的函数的时候,函数在经过计算后,有时候需要带回⼀些计算好的数据,这时候往往使⽤return 来返回,这⾥我们就讨论⼀下使⽤ return 返回。 return 后边可以是⼀个数值,也可以是⼀个表达式,…...

5G工业路由器赋能无人码头,港口物流智能化管理

全球贸易发展促使港口需提升运营效率,传统港口面临诸多难题,无人码头成为转型关键方向。5G 工业路由器为其提供有力通信支持,引领港口物流变革。 随着无人码头建设在全球兴起,如荷兰鹿特丹港、中国上海洋山港等。码头作业设备需实…...

机试准备第14天

首先进行树的学习。树的存储分为链式存储与顺序存储。完全二叉树是可以顺序存储的&#xff0c;将各个节点从上往下&#xff0c;从左往右存储。 第一题是找位置&#xff0c;好兄弟给的一道题&#xff0c;一遍过了。 #include <stdio.h> #include <map> #include &…...

【Academy】OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities

OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities 1. 什么是 OAuth&#xff1f;2. OAuth 2.0 是如何工作的&#xff1f;3. OAuth 授权类型3.1 OAuth 范围3.2 授权代码授权类型3.3 隐式授权类型 4. OAuth 身份验证4.1 识别 OAuth 身份验证4.2 侦察OAuth…...

有关Java中的多线程

学习目标 ● 掌握线程相关概念 ● 掌握线程的基本使用 ● 掌握线程池的使用 ● 了解解决线程安全方式 1.为什么要学习线程? ● 从1946年2月14日世界上第一台计算机在美国宾夕法尼亚大学诞生到今天&#xff0c;计算和处理的模式早已从单用户单任务的串行模式发展到了多用户多…...

【eNSP实战】配置交换机端口安全

拓扑图 目的&#xff1a;让交换机端口与主机mac绑定&#xff0c;防止私接主机。 主机PC配置不展示&#xff0c;按照图中配置即可。 开始配置之前&#xff0c;使用PC1 ping 一遍PC2、PC3、PC4、PC5&#xff0c;让交换机mac地址表刷新一下记录。 LSW1查看mac地址表 LSW1配置端…...

MAC-禁止百度网盘自动升级更新

通过终端禁用更新服务(推荐)​ 此方法直接移除百度网盘的自动更新组件,无需修改系统文件。 ​步骤: ​1.关闭百度网盘后台进程 按下 Command + Space → 输入「活动监视器」→ 搜索 BaiduNetdisk 或 UpdateAgent → 结束相关进程。 ​2.删除自动更新配置文件 打开终端…...

LLMs基础学习(一)概念、模型分类、主流开源框架介绍以及模型的预训练任务

文章目录 LLM基础学习&#xff08;一&#xff09;一、大语言模型&#xff08;LLMs&#xff09;的简单介绍定义与基本信息核心特点局限性参考的模型 二、大语言模型&#xff08;LLMs&#xff09;名称后 “175B”“60B”“540B” 等数字的含义数字代表模型参数数量具体示例参数数…...

【leetcode hot 100 24】两两交换链表中的节点

解法一&#xff1a;先判断链表是否为空&#xff0c;若为空则直接返回&#xff1b;否则用left和right指向第一个和第二个节点&#xff0c;当这两个节点非空时一直执行交换。其中先判断right.nextnull&#xff0c;说明链表为偶数且已经交换完break&#xff1b;再判断right.next.n…...

软件IIC和硬件IIC的主要区别,用标准库举例!

学习交流792125321&#xff0c;欢迎一起加入讨论&#xff01; 在学习iic的时候&#xff0c;我们经常会遇到软件 IC和硬件 IC,它两到底有什么区别呢&#xff1f; 软件 IC&#xff08;模拟 IC&#xff09;和硬件 IC&#xff08;外设 IC&#xff09;是两种实现 IC 总线通信的方式…...

Codeforces Round 1006 Div3 A-E

A 题目描述 夏目章人&#xff08;Natsume Akito&#xff09;刚刚在一个新世界苏醒&#xff0c;便立即收到了他的第一个任务&#xff01;系统为他提供了一个包含 n 个零的数组 a&#xff0c;以及两个整数 k 和 p。在每次操作中&#xff0c;章人需要选择两个整数 i 和 x&#x…...

4个 Vue 路由实现的过程

大家好&#xff0c;我是大澈&#xff01;一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff0c;关注我&#xff0c;科技未来或许我能帮到你&#xff01; Vue 路由相信朋友们用的都很熟了&#xff0c;但是你知道 Vue 路由…...

git文件过大导致gitea仓库镜像推送失败问题解决(push failed: context deadline exceeded)

问题描述&#xff1a; 今天发现gitea仓库推送到某个镜像仓库的操作几个月前已经报错终止推送了&#xff0c;报错如下&#xff1a; 首先翻译报错提示可知是因为git仓库大小超过1G限制。检查本地.git文件&#xff0c;发现.git文件大小已达到1.13G。确定是.git文件过大导致&…...

简要分析NETLINK_ROUTE参数

NETLINK_ROUTE时Linux内核中Netlink协议族的一个子类型&#xff0c;专用于用户空间与内核网络子系统之间的通信&#xff0c;它是实现动态网络配置&#xff08;如路由表、网络接口、地址管理&#xff09;的核心机制&#xff0c;为现代网络管理工具&#xff08;如iproute2&#x…...

Java中default关键字

1. 在 switch 语句中作为默认分支 在 switch 语句里&#xff0c;default 用于定义当所有 case 标签的值都无法匹配 switch 表达式的值时要执行的代码块。它并非强制要求&#xff0c;但使用它可以增强代码的健壮性&#xff0c;处理未预见的情况。 public class SwitchDefaultE…...

怎么利用DeepSeek进行PCB设计?

最近在琢磨利用Deepseek改善PCB的细节设计&#xff0c;毕竟立创EDA里面没有集成DS&#xff0c;因此&#xff0c;如何让DS能识别图片成了重中之重。所幸最近腾讯元宝里面集成了R1的满血版&#xff0c;这个版本可以上传图片&#xff0c;于是让DS识别图片就可能了。 在原理图设计…...

详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本

nbconvert 是 Jupyter 提供的一个非常强大的工具&#xff0c;允许用户将 Jupyter Notebook 文件&#xff08;.ipynb&#xff09;转换成多种格式&#xff0c;包括 Python 脚本&#xff08;.py&#xff09;、HTML、PDF、LaTeX 等。你可以通过命令行来运行 nbconvert&#xff0c;也…...

windows上传uniapp打包的ipa文件到app store构建版本

uniapp是一个跨平台的框架&#xff0c;使用windows电脑也可以开发ios软件&#xff0c;因为uniapp的打包是在云端实现的&#xff0c;本地电脑无需使用mac电脑即可完成打包。 但是打包后的ipa文件需要上架到app store的构建版本上&#xff0c;没有mac电脑&#xff0c;又如何上架…...

PySide(PyQT),QGraphicsItem的pos()和scenePos()区别

在QGraphicsItem中&#xff0c;pos()和scenePos()是两个重要的方法&#xff0c;用于描述图形项的位置&#xff0c;但它们的含义和用途有所不同。理解它们的区别对于正确操作和管理QGraphicsItem的位置至关重要。 1. pos()方法 • 定义&#xff1a;pos()返回的是QGraphicsItem在…...

idea 快捷键 Reformat code

Reformat code...

Spring Boot 项目中使用责任链模式实现复杂接口解耦和动态编排(带示例)

目录 责任链模式概述 解耦 动态编排 运用场景 代码示例 1. 定义请求和响应对象 2. 定义处理者接口和抽象处理者类 3. 实现具体的处理者类 4. 配置责任链 5. 控制器类调用责任链 代码解释 责任链模式概述 责任链模式是一种行为设计模式,它允许你将请求沿着处理者链…...

消防设施操作员考试备考:以技巧为翼,翱翔知识天空​

消防设施操作员考试的备考过程中&#xff0c;掌握实用技巧能让学习事半功倍。以下为您介绍一系列备考技巧&#xff0c;助您在知识的天空中自由翱翔。​ 记忆技巧&#xff1a;化繁为简​ 消防知识众多&#xff0c;记忆难度较大。可以采用多种记忆方法&#xff0c;如口诀记忆法…...

qt之No executable specified

在Qt中遇到文件复制操作时出现“No executable specified”错误&#xff0c;通常与程序编译或运行环境配置问题相关&#xff0c;而非文件操作本身的问题。以下是可能的原因及解决方案&#xff1a; 项目配置文件损坏 现象&#xff1a; 在执行文件操作前&#xff0c;程序无法启动…...

物联网商业模式

物联网商业模式是一种战略规划&#xff0c;它融合了物联网技术来创造价值并获取收入。它与传统商业模式的不同之处在于&#xff0c;它利用互联设备来改善运营、提升客户体验以及优化服务项目。在当今由科技驱动的世界中&#xff0c;这种商业模式通过利用实时数据来提供创新服务…...

解决ElementPlus对话框el-dialog中关闭事件重复触发问题

问题背景 在使用ElementPlus的el-dialog组件时&#xff0c;发现点击取消按钮会触发两次关闭事件&#xff1a; 1. 第一次参数为PointerEvent&#xff08;事件对象&#xff09; 2. 第二次参数为undefined 需要确保点击取消按钮时仅触发一次有效关闭事件&#xff0c;并传递正确…...

【RabbitMQ】事务

事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的&#xff0c;该协议实现了事务机制&#xff0c;因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的&#xff0c…...

算法刷题--贪心算法

要点 其实也没啥要点&#xff0c;就是求局部最优解&#xff0c;完事了将局部最优解汇总、筛选、max\min之类的&#xff0c;获得全局最优解&#xff0c;每一次都选择最优的&#xff0c;这个就是贪心算法。 例题 分发饼干-中等 大概就是一堆小孩g,每个人都有一个胃口g[i]&…...

MVCC的理解(Multi-Version Concurrency Control,多版本并发控制)

1.事务特性(ACID) 原子性&#xff1a;事务要么全部成功&#xff0c;否则全部回滚 一致性&#xff1a;保证逻辑完整性&#xff08;关联表删除&#xff09; 隔离性&#xff1a;事务并发隔离&#xff08;行锁&#xff0c;间隙锁&#xff09; 持久性&#xff1a;已提交的事务永…...