多车合作自动驾驶框架CoDrivingLLM:基于大语言模型驱动的决策框架

news2024/9/29 0:56:06

Abstract

目前,全球范围内已开始对联网自动驾驶汽车(CAVs)进行道路测试,但它们在复杂场景中的安全性和效率表现仍不令人满意。合作驾驶利用CAVs的连接能力,通过协同作用超越个体表现,使其成为在复杂场景中提高CAV性能的有前途方法。然而,缺乏交互和持续学习能力限制了当前的合作驾驶仅能应用于单一场景和特定的合作驾驶自动化(CDA)。为了解决这些挑战,本文提出了一种交互式和可学习的基于大型语言模型(LLM)的合作驾驶框架——CoDrivingLLM,以实现全场景和全CDA。首先,由于LLM不擅长处理数学计算,我们引入了环境模块,通过语义决策来更新车辆位置,避免了LLM直接控制车辆位置可能导致的错误。其次,基于SAE J3216标准定义的四个CDA等级,我们提出了一种基于思维链(COT)的推理模块,包括状态感知、意图共享、协商和决策,从而增强了LLM在多步骤推理任务中的稳定性。在推理过程中,通过冲突协调器进行集中化的冲突解决。最后,借助引入记忆模块和检索增强生成(RAG)技术,赋予了CAV从过去经验中学习的能力。我们通过对协商模块的消融实验、不同经验情况下的推理实验,以及与其他合作驾驶方法的对比验证了所提出的CoDrivingLLM。结果表明,我们的方法在复杂环境中提供了显著的安全性和效率优势,同时具备高效的交互和学习能力。

代码获取:https://github.com/FanGShiYuu/CoDrivingLLM

 欢迎加入自动驾驶实战群

Introduction

随着自动驾驶技术的不断进步,我们正进入一个连接自动驾驶车辆(CAVs)和人类驾驶车辆(HDVs)共存的时代。虽然CAVs被认为在提升交通安全性和效率方面具有巨大潜力,但它们在开放道路上的当前表现仍远未令人满意。根据加利福尼亚机动车辆管理局的数据,51%的自动驾驶车辆脱离操作是由于CAVs决策失败导致的。此外,北京自动驾驶车辆道路测试报告显示,高达91%的脱离操作发生在与其他车辆交互过程中,表明现有自动驾驶技术尚未能应对复杂的交互场景。协同驾驶自动化(CDA)通过车辆间通信和协作提升道路安全和交通效率。SAE J3216标准将其分为状态共享、意图共享、寻求共识和指令四个层次。美国联邦公路管理局的CARMA项目是实现CDA的关键研究,旨在通过开源平台促进自动驾驶车辆与基础设施的协同。

研究方法主要包括基于优化、规则和机器学习的技术。优化方法在计算效率和性能之间寻求平衡;规则方法计算效率高但鲁棒性差;而机器学习方法在多个驾驶环境中表现良好,尽管在新环境中可能性能下降。

Transformer模型和大型语言模型(LLMs)为协同决策带来新机遇,尤其在处理稀有场景和提高决策可解释性方面。例如,Talk2Drive框架在多场景实验中显著降低了接管率。LLMs结合推理、解释和记忆功能,通过交互学习提升CAV决策能力。Dilu框架引入反思模块,进一步增强CAV学习能力。

当前研究多聚焦于单车决策,而基于LLMs的多车协同驾驶学习框架仍是未来探索重点,需整合不同方法优势,克服局限,以适应更广泛的交通场景。

在此背景下,鉴于协同驾驶在应对CAV在复杂场景中面临的挑战中的重要性,以及LLMs在增强CAV交互和学习能力中的潜力,本文提出了一种基于LLM的交互性和可学习性协同驾驶框架,以实现全场景和全CDA。

3.互动和可学习的LLM驱动协同驾驶框架

利用CAV(连接自动驾驶车辆)的协同驾驶能力可以显著提高交通系统的安全性和效率。然而,目前的研究通常集中于单场景、单功能的合作,导致互动能力不足,且缺乏持续学习能力。利用大型语言模型(LLM)的广泛世界知识和强大的推理能力,有望解决这些挑战,实现全场景和全层次的协同自动化,从而充分释放CAV改变交通系统的潜力。为此,本文提出了CoDrivingLLM:一个互动且可学习的基于LLM的协同驾驶框架,适用于所有场景和所有协同驾驶自动化。

CoDrivingLLM 主要包含三个模块:环境模块、推理模块和记忆模块。以下部分将首先介绍CoDrivingLLM的总体框架,然后详细解释各个模块。

A. 总体架构

图2展示了CoDrivingLLM的主要模块及其逻辑关系,包含三个核心模块:环境模块、推理模块和记忆模块。首先,环境模块基于上一时间步的CAV和HDV的行动更新当前场景信息,包括所有车辆的状态,如位置、速度等。接着,我们设计了一个集中-分布式耦合的LLM推理模块。基于SAE J3216标准定义的四个CDA层次,我们在此推理模块中整合了四个子功能:状态共享、意图共享、协商和决策。通过引入链式思维(Chain-of-Thought,COT)方法,我们在推理过程中依次连接每个子功能,增强决策的安全性和可靠性。在此过程中,每个CAV使用LLM进行分布式高级逻辑推理,完成不同层次的协同驾驶,并利用框架中的冲突协调器进行集中化冲突解决,进一步提高安全性。最后,推理过程中的场景描述、冲突描述和最终决策以向量化形式存储在记忆数据库中。在后续推理中,CAV可以参考最相似的过去记忆作为经验,使得设计的CAV能够在驾驶中持续学习和改进。

图片

B. 环境模块环境模块由两个子模块组成:(1) 环境动力学仿真子模块,模拟现实世界的环境动力学,为协同驾驶框架提供逼真的背景交通流和训练反馈;(2) 基于模型的控制执行子模块,为LLM提供基于模型的车辆控制单元,提高动作执行的准确性和成功率。

1. 环境动力学仿真子模块

现实世界的反馈对于训练稳定可靠的协同决策模型至关重要。为了确保仿真的真实性和可靠性,我们在环境动力学模块中考虑了人类驾驶与自动驾驶混合的环境,引入了未受控的人类驾驶车辆,以为协同驾驶框架创造更真实的背景交通流。这些未受控的车辆不参与协同驾驶任务,即它们不共享意图,而是仅根据自己的决策逻辑操作。

考虑到IDM(智能驾驶模型)与MOBIL(最小化变道引发的总体制动)组合在描述人类驾驶行为方面广泛使用,并在路口、环形路口、合流区等场景中表现良好,我们采用IDM和MOBIL来分别表示HDV的纵向和横向行为。

IDM的加速度如下公式所示:

图片

其中,

图片

为IDM导出的加速度,vd为期望速度,δ为加速指数,∆v和s分别为前车与本车的速度差和距离,s*为期望距离,s0为最小停车距离,Tg为期望时间间隔,amax为最大加速度,add为期望减速度。

此外,MOBIL通过最小化变道引发的总体制动来实现安全高效的交通流动,主要包括两部分:变道激励和安全检查。变道激励评估变道对自身及周围车辆加速度的变化,以决定是否应进行变道。公式为:

图片

其中,˜a和a分别为变道前后车辆的加速度,p为礼让系数,决定车辆在做出变道决策时对周围车辆加速度变化的关注程度,ath为触发变道所需的加速度增益。

同时,为确保变道安全,MOBIL模型还进行安全检查,确保变道不会导致预期车道后方车辆的突然制动,即:

图片

其中,bsafe为变道时对后方车辆施加的最大制动。

2. 基于模型的控制执行子模块

尽管LLMs具备强大的推理能力,但它们在精确的数学计算和低层次车辆运动控制方面表现不佳。为了解决这一问题,我们设计了一个基于模型的控制执行子模块。在该模型中,我们使用基于模型的控制方法,将推理模块的语义输出转化为加速度和前轮转角,然后用于更新下一时间步的车辆位置、速度和其他信息。具体来说,加速度和前轮转角均由相对简单的比例控制器控制,计算公式如下:

图片

其中,Ka和Kh是纵向控制和控制增益,ve和ar是期望速度和参考加速度,ϕr是跟随车道的参考航向,ϕ是航向。

在控制模块获取车辆加速度和前轮转角后,选择自行车模型作为运动学模块,以生成下一时间步环境中所有车辆的状态。具体如下:

图片

其中[x, y]是车辆的位置,β是重心处的侧滑角。

根据上述控制模块和运动学模块,环境模块可以根据CAV的语义决策更新下一时间步的场景信息。在此过程中,车辆位置通过精确的数学公式计算,从而避免LLM直接控制车辆可能引发的不确定性和错误。

C. 推理模块

在本节中,我们建立了一个集成的推理模块,进展从状态共享到意图共享,再到协商,最后进行决策。该模块以链式思维的方式运作,确保CAV从环境感知到交互和协商,最终再到决策的顺利过渡。

推理模块首先从环境中提取有关周围车辆的信息,创建场景描述。然后,它将车辆的状态组织成冲突对,形成冲突描述。为确保车辆在冲突中决策的一致性并避免碰撞,我们开发了一个基于LLM的冲突协调器。该协调器将当前的冲突描述与交通规则相结合,以确定每个冲突组的优先级顺序。最后,每辆CAV根据冲突协调器的建议和自己的场景描述做出决策。

   1. 状态感知

状态感知功能负责获取和处理CAV当前环境的信息,包括车道信息和车辆信息等动态数据。设计的状态感知功能符合SAE J3216标准中CDA的第一级,即状态共享。CAV可以与其他车辆交换信息,从而为后续的更高级别的CDA铺平道路。通过对上述信息的全面分析,状态感知功能可以构建一个完整且准确的驾驶环境认知,为后续推理提供可靠的基础。

具体来说,车道信息分为三类:自车道、相邻车道和冲突车道。自车道是自车当前行驶的车道,相邻车道是自车道左右两侧的车道(如果存在),冲突车道是与自车道相交的车道。同样,车辆信息可以根据它们与自车的关系分为前车、后车、周围车辆和冲突车辆。在状态感知过程中,车道信息和车辆信息相结合,以创建自车周围环境的概览。由于不同车道上的车辆对自车的影响不同,设计了三级动作安全评估以确保行车安全,具体将在决策部分详细说明。

  2. 意图共享

意图共享功能用于向其他CAV传达车辆的驾驶意图,是协同驾驶的关键优势之一。从宏观到微观,驾驶意图主要包括期望车道和期望速度的共享。通过意图共享,其他车辆可以更好地理解自车的意图,从而在决策时尽可能避免冲突。

状态感知和意图共享结合构成了场景描述。该描述基于车道,并包括所有可能影响自车的对象,如相邻车辆和冲突车辆。因此,它可以迁移到多个场景,如路口、高速公路和汇合区,大大增强了所提出的协同驾驶框架的通用性。

   3. 协商

CAV具备更广泛的感知能力和更强大的计算能力,理论上可以更快、更准确地识别其他车辆的意图。然而,根据加利福尼亚机动车管理局(California’s DMV)的报告[25],超过31%的事故是由于CAV误判其他交通参与者的意图所致,突显出传统决策方法在处理高维信息(如意图)方面仍存在显著不足。因此,设计了一个冲突协调器来解决冲突,实现第三级CDA,即寻求协议的合作。

冲突协调器识别当前环境中的所有潜在冲突,并根据两辆车当前状态评估每个冲突的严重性。为了量化冲突严重程度,定义了到冲突点的时间差作为替代指标,定义如下:

图片

其中T_TCP是基于车辆与冲突点的当前距离和速度计算的到冲突点时间。当∆TTCP小于2秒时,表示存在严重冲突,至少一方需要紧急制动。如果∆TTCP在2秒到5秒之间,则认为两车之间存在一般冲突,至少一辆车应减速让行。当∆TTCP在5秒到8秒之间时,认为两车存在轻微冲突,双方不应同时加速。当∆TTCP大于8秒时,认为冲突不会导致碰撞。

冲突协调器根据冲突严重性确定每对冲突车辆的通过顺序。在此过程中,冲突协调器同时考虑了驾驶过程中的交通规则和社会规范。例如,如图1所示,根据交通规则,转弯车辆应让行直行车辆。因此,经过协商后,冲突协调器确定CAV2应在该冲突对中让行。协商结果和理由会发送给决策功能以做出最终决策。然而,需注意的是,协商结果是建议性的,最终决策还取决于自车周围环境中的其他因素。

   4. 决策模块

决策模块综合了前面提到的三个模块的信息,生成最终的决策。考虑到LLM的优势在于基于世界知识进行推理,而非数值计算,我们将决策动作设计为离散的语义决策。动作空间A被设计为一组高层次的元动作。然后,通过基于数值的控制模型,将这些元动作映射到特定的参考加速度ar和参考航向ϕr值。此外,车辆的下一个状态通过公式5和公式6确定,以确保控制的安全性和稳定性。

决策功能主要包括两个任务:场景提示生成和动作安全评估。场景提示生成涉及整合由状态感知和意图共享产生的场景描述以及来自冲突协调器的协商结果,以总结周围驾驶环境的关键信息。这一整合作为LLM决策的提示。相比传统决策方法,LLM决策的安全性往往难以保证。因此,提出了一个三层次的动作安全评估方法,以确定当前驾驶环境下的动作是否会带来安全风险。

基于车道分类,第一层检查确定动作是否会导致与同车道车辆发生碰撞,例如过度加速导致追尾碰撞或过度减速导致后车急刹。其次,当自车打算进行左或右车道变换时,检查车道变换是否会与相邻车道的其他车辆发生碰撞。最后,检查动作是否会加剧与冲突车道车辆的冲突,特别是避免严重和一般危险。在动作安全评估过程中,任何被发现存在安全问题的动作都会从可选动作集中移除。因此,通过系统评估每个动作的可行性,显著提高了LLM最终决策的安全性。图3总结了在CoT推理过程中LLM提示的组成部分。

D. 记忆模块增强自主系统的持续学习能力一直是一个重要挑战。新手驾驶员通过持续的驾驶练习积累经验,评估不同行为的效果,并从中学习以提高驾驶技能。借鉴这一机制,引入了记忆模块,使CAV能够从过去的经验中学习,并利用这些知识进行未来的交互。这一过程也被称为检索增强生成(RAG)。

RAG赋予LLM访问特定领域或组织中的知识数据库的能力。此能力使得无需重新训练模型即可经济有效地改进LLM的输出,确保其在解决特定领域问题时的相关性、准确性和实用性。具体来说,设计的记忆模块包含两个主要功能:记忆增强和记忆检索。

  1. 记忆增强:

    记忆增强功能评估CAV在上一场景中的行为影响,以确定这些行为是否加剧了冲突。如果CAV的行为导致了危险的增加,系统将生成负面反馈,例如:“你的动作加剧了冲突,应避免类似的行为。”这种反馈机制建立了场景、动作和结果之间的联系,并将这些映射存储在记忆数据库中以供将来参考。在每次调用LLM进行推理之前,会从记忆数据库中检索最相关的记忆以增强提示,从而避免重复过去的错误。

  2. 记忆检索:

    随着交互次数的增加,记忆数据库将累积大量的过去经验。如果将所有记忆作为提示输入,会导致冗余,使CAV在推理过程中难以提取关键信息。为了解决这一问题,采用记忆检索功能,在使用记忆引导推理之前,从数据库中提取与当前场景最相关的记忆。

具体来说,将当前场景描述和冲突描述转换为向量形式,并使用余弦相似度根据它们与当前场景的相关性对记忆进行排序。然后,选择排名靠前的记忆作为CAV推理的提示的一部分。这些类似的记忆被称为小样本经验,被注入CAV的推理模块,使CAV能够从过去的错误中学习。

引入记忆模块不仅提高了CAV在复杂环境中的决策能力,还赋予了其类似人类的持续学习能力。通过持续从过去的经验中学习,CAV能够更好地适应动态环境,提高驾驶安全性,减少交通事故,并增加其在现实应用中的可靠性和实用性。

算法1总结了我们框架的主要过程。在下一部分中,我们将通过仿真实验验证我们框架在不同场景中的有效性。

图片

Experiment

1. 关于协商的消融研究

如图5所示,在高速公路场景下,是否存在协商模块并不影响协同驾驶的表现,因为我们的方法始终实现了100%的成功率。我们认为这是由于在高速公路场景中缺乏显著的交互冲突,协商模块没有有效介入的机会。然而,在合并和交叉路口场景中,协商模块显著提高了决策的成功率。在这两类场景中,车辆之间不可避免地会产生冲突,只有当决策过程对齐时,才能避免碰撞。具体来说,在合并场景中,CAV(联网自动驾驶车辆)决策的成功率从33%上升到75%,而在交叉路口场景中,从15%提高到78%。

图片

在图6(a)中,CoDrivingLLM未配备协商模块。在2秒时,决策模块未能有效预测潜在的交互冲突,且CAV之间缺乏必要的协调,导致在4秒时,决策模块无法生成安全有效的通过策略。最终,CAV4继续加速,最终与CAV5发生碰撞。我们可以观察到,在如此复杂的冲突场景中,即使LLM具备明确的场景信息和安全评估方法,它们仍无法消除所有交互冲突和交通风险,这在现实世界的交通中是不可接受的。相反,如图6(b)所示,带有协商模块的CoDrivingLLM有效解决了这个问题。在相同的场景中,2秒时,协商模块成功识别出潜在的移动冲突,并基于预设规则提出建议的通过顺序,指示CAV4让行CAV5。该决策最终被决策模块中的LLM采纳,CAV4在4秒时减速,允许CAV5安全通过,成功解决了冲突。协商模块有效减轻了交通冲突,并提高了CoDrivingLLM方法的表现。

图片

如图7所示,在高速公路场景中,车辆冲突和交互挑战较少,即使没有记忆模块也能实现100%的安全率,当增加2-shots和5-shots经验时,成功率保持不变。然而,在合并和交叉路口场景中,将记忆模块从0-shot增加到2-shots显著提高了决策成功率,合并场景从78%提高到90%,交叉路口场景从75%提高到85%。

在这种情况下,CoDrivingLLM未配备记忆模块。在4秒时,尽管决策模块通过协商模块识别出了CAV7和CAV4之间的潜在追尾冲突,并试图通过调整动作来解决,CAV4加速,而CAV7减速。然而,由于CAV7初速度较高,在完全减速前与CAV4发生碰撞。该案例说明,在某些特殊场景中,即使有协商模块,协同决策仍可能失败。

相反,图8(b)展示了使用记忆模块后的CoDrivingLLM的决策表现。通过检索记忆,CoDrivingLLM识别出一个类似的决策失败场景,并进行了几次经验学习。在4秒时,它输出了不同的决策策略,指示CAV7加速通过,而CAV4减速让行。该决策与图8(a)中的相反,成功解决了两辆CAV之间的冲突,最终所有CAV均安全到达目的地。有效展示了记忆模块为CoDrivingLLM提供的学习功能。

图片

图片

2. 与其他方法的比较

考虑到并非所有的协同驾驶方法都适用于多种场景,而无信号交叉口通常是事故发生最频繁的地方。因此,我们选择了前述的三种典型的协同驾驶方法来测试我们的方法在无信号交叉口场景下的表现, 包括基于优化的方法(iDFST),基于规则的方法(合作博弈),基于学习的方法(MADQN)。

整体表现:首先,我们总结了各方法的成功率。根据表1中的数据,CoDrivingLLM的成功率为90%,优于其他方法。iDFST和合作博弈方法的成功率稍微落后,均为85%。相反,MADQN的泛化能力和表现最差,成功率仅为20%。

效率评估:我们还使用行驶速度评估了所有方法的效率。如表1所示,MADQN在测试中实现了6.1米/秒的最高平均速度。然而,这种效率是以显著降低安全性和整体表现为代价的。iDFST方法虽然在安全性和成功率方面表现良好,但其驾驶效率较差,过多的低速行驶导致平均速度仅为4.1米/秒。尽管基于规则的方法在安全性方面表现良好,但其低效率一直是一个普遍问题。相反,CoDrivingLLM在安全性和效率之间取得了平衡,保持了5.7米/秒的高平均速度,同时确保了安全性。

图片

安全评估:我们对各种方法进行了全面的安全性分析,使用了Post-Encroachment Time(PET)这一交通工程中广泛认可的安全指标。该指标有效量化了车辆在复杂交通场景中的安全性和交互强度。根据图9和表1中的结果,iDFST方法和CoDrivingLLM的表现良好,平均PET值分别为15.1秒和10.3秒。相反,MADQN和合作博弈方法的PET值分别为5.7秒和3.7秒,表明这些方法在交通环境中的决策交互中存在较高的风险。此外,较低的PET值意味着更高的安全隐患。通常,PET值低于1.5秒表示严重的冲突,应尽量避免。根据图9,提出的CoDrivingLLM的PET分布主要在1.5秒以上。尽管MADQN的PET分布也没有低于1.5秒的值,但考虑到其成功率仅为20%,碰撞数量较多。因此,CoDrivingLLM在安全性方面表现最佳。

图片

总的来说,CoDrivingLLM有效平衡了安全性和效率,达到了最佳的整体表现,充分展示了其优越性。

结论

1.提出了CoDrivingLLM,这是一种基于LLM的交互性和可学习性协同驾驶框架,采用了集中分布式耦合架构。通过环境模块、推理模块和记忆模块的有效设计与耦合,该框架显著增强了不同场景下的协同驾驶性能。
2.在推理模块中,设计了包括状态感知、意图共享、协商和决策的四个子模块,以支持不同CDA层次间的灵活切换。考虑到多车辆合作的高度复杂性,设计了一个冲突协调器作为协商模块,结果表明,冲突协调器的引入显著提高了车辆的交互能力。
3.通过引入带有检索增强生成(RAG)的记忆模块,使CAV具备了从历史经验中持续学习的能力。通过检索与当前场景最相似的记忆并参考相应的决策,CAV能够避免重复过去的错误。结果在各种场景和任务中展示了出色的表现。

文章引用:Towards Interactive and Learnable Cooperative Driving Automation: a Large LanguageModel-Driven Decision-Making Framework

最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。

AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

扫码加入自动驾驶实战知识星球,即可跟学习自动驾驶感知项目:环境配置,算法原理,算法训练,代码理解等。

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

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

相关文章

MySQL篇(主从复制/读写分离/分库分表)(持续更新迭代)

目录 讲解一:主从复制 一、何为主从复制? 二、主从复制的优点 三、主从复制原理 四、主从复制环境搭建 1. 准备 2. 主库配置 2.1. 修改配置文件 /etc/my.cnf 2.2. 重启MySQL服务器 2.3. 授予主从复制权限 2.4. 查看二进制日志坐标 3. 从库配置…

ubuntu 安装harbor

#安装包 wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz.asc#导入签名公钥 gpg --keyserver hkps://ke…

EDM平台大比拼 用户体验与营销效果双重测评

本文评测了ZohoCampaigns、Mailchimp、Sendinblue、AWeber四款EDM平台,分别适合中小企业、多平台集成、多功能集成、初学者等需求。建议企业根据自身规模、技术水平和功能需求选择最适合的平台。 一、Zoho Campaigns 功能概述 Zoho Campaigns是Zoho旗下的一款专注…

每日OJ题_牛客_拼三角_枚举/DFS_C++_Java

目录 牛客_拼三角_枚举/DFS 题目解析 C代码1 C代码2 Java代码 牛客_拼三角_枚举/DFS 拼三角_枚举/DFS 题目解析 简单枚举&#xff0c;不过有很多种枚举方法&#xff0c;这里直接用简单粗暴的枚举方式。 C代码1 #include <iostream> #include <algorithm> …

探索RAG、AI Agents和Agentic RAG的架构、应用程序和主要区别

人工智能催生了能够执行各种任务的强大模型。该领域最具影响力的两项进步是检索增强生成 (RAG) 和Agents&#xff0c;它们在改进AI驱动的应用程序中发挥着独特的作用。然而&#xff0c;新兴的Agentic RAG概念提出了一种利用两种系统优势的混合模型。Agentic RAG是什么&#xff…

UML中类和类之间关系和各种图

文章目录 1.UML概述2.UML建模工具3.常见UML图_类图4.类图之类和类之间的关系5.用例图1.用例图是什么2.用例图所包含的元素3.用例图所包含的关系 6.状态图1.状态图是什么&#xff1f;2.状态图所包含的元素 7.活动图1.活动图的元素 8.时序图1.时序图是什么&#xff1f;2.时序图的…

混合密码系统——用对称密钥提高速度,用公钥密码保护会话密钥

混合密码系统&#xff08;Hybrid Cryptosystem&#xff09;是一种结合了多种密码学技术和算法的加密方案&#xff0c;旨在充分利用不同密码算法的优势&#xff0c;以提供更强大的安全性、更高的效率或更好的功能特性。以下是对混合密码系统的详细解释&#xff1a; 组成要素 对…

操作系统与进程

1.操作系统 操作系统是计算机中的一个重要软件&#xff0c;它是一个专门进行管理的软件。操作系统可以通过驱动程序来间接管理外部硬件&#xff0c;也可以为计算机中的程序提供一个稳定的运行环境&#xff0c;从而来方便管理各种程序的运行&#xff0c;让程序之间的运行互不影…

用于探索和测试API的开源IDE工具-Bruno

1、前言 在进行软件开发与测试过程中&#xff0c;无论是开发人员还是测试人员&#xff0c;都会或多或少地进行接口调试与接口测试。尤其针对那种测试流程规范性很高的项目&#xff0c;测试人员进行接口测试是不可或缺的一部分。而这其中&#xff0c;大多数都会使用 Postman 作…

.Net 基于IIS部署blazor webassembly或WebApi

1.安装IIS(若安装&#xff0c;请忽略) 选择:控制面板–>程序–>程序和功能 选择:启动或关闭Windows功能&#xff0c;勾选相关项&#xff0c;再点击确定即可。 2.安装Hosting Bundle 以.net6为例&#xff0c;点击连接https://dotnet.microsoft.com/en-us/download/dot…

免费的录屏软件有哪些?可以试试这4款。

录屏软件已经被用于很多的领域和场景当中&#xff0c;能够帮助我们进行在线教学&#xff0c;线上培训&#xff0c;游戏直播与分享&#xff0c;视频记录等等。并且很多的录屏软件都有免费的功能&#xff0c;它们让大家的录屏变得更加的方便。如果大家需要录屏工具的话&#xff0…

828华为云征文|基于华为云Flexus X实例部署Uptime-Kuma服务器监控面板

目录 前言 一、Flexus云服务器X介绍 1.1 Flexus云服务器X实例简介 1.2 Flexus云服务器X实例特点 1.3 Flexus云服务器X实例场景需求 二、Flexus云服务器X购买 2.1 Flexus X实例购买 2.2 重置密码 2.3 登录服务器 三、Flexus X安装uptime-kuma面板 3.1 uptime-kuma介绍 3.2 uptim…

现在增长空间原来在这里

我们常常说&#xff0c;现在的经济形势不太好&#xff0c;赚钱太难了&#xff0c;卷得太厉害了。只能出海去卷&#xff0c;或者是到老年人的群体里去卷银发经济。 但是&#xff0c;现在就有一个巨大的市场&#xff0c;等待着大家去挖掘。这就是下沉市场。 以前我们也提过下沉…

[Admin] Things Need to Know

List View Bulk Actions Highlight: To take bulk actions on all of the available records in a list, you click the bulk action button without selecting any records.

无人机之数据处理技术篇

一、数据采集 无人机通过搭载的各种传感器和设备&#xff0c;如GPS、加速度计、陀螺仪、磁力计、激光雷达(LiDAR)、高光谱相机(Hyperspectral)、多光谱相机(Multispectral)以及普通相机等&#xff0c;实时采集飞行过程中的各种数据。这些数据包括无人机的位置、速度、高度、姿态…

无人机侦测:频谱无线电侦测设备技术详解

无人机侦测中的频谱无线电侦测设备技术是一项复杂而关键的技术&#xff0c;它主要通过分析无线电频谱中的信号来探测和识别无人机。以下是该技术的详细解析&#xff1a; 一、技术原理 频谱探测技术&#xff1a;该技术通过分析信号在频域上的分布和特性&#xff0c;来识别、测…

6.MySQL基本查询

目录 表的增删查改Insert&#xff08;插入&#xff09;插入替换插入替换2 Retrieve&#xff08;查找&#xff09;SELECT 列全列查找指定列查询查询字段为表达式为查询结果指定别名结果去重 WHERE 条件order by子句筛选分页结果 Update&#xff08;更新&#xff09;delete&#…

代码随想录算法训练营第十七天|654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

654.最大二叉树 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&#xff1a; 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二…

LCD显示屏接口

LCD显示屏接口 设备对外接口&#xff1a;VGA、DVI、HDMIHDMI接口接口定义发展历史HDMI特点HDMI接口类型 设备对内接口&#xff1a;串口、并口小屏&#xff08;I2C、SPI、UART&#xff09;中屏&#xff1a;MCU、RGBRGB接口 MCU LCD屏和RGB LCD屏的区别大屏&#xff1a;MIPI、LVD…

OCR Fusion: EasyOCR/Tesseract/PaddleOCR/TrOCR/GOT

文章目录 前言一、基类 OCRExecutorBase二、EasyOCR1.安装2.模型下载3.DEMO 三、Tesseract1.安装2.使用问题3.DEMO 四、PaddleOCR1.安装2.DEMO 五、PaddleOCR&#xff08;PyTorch移植版&#xff09;1.代码整理2.DEMO 六、TrOCR1.安装2.模型下载3.DEMO 七、GOT1.安装2.模型下载3…