基于语义-拓扑-度量表征引导的大语言模型推理的空中视觉语言导航

1. 摘要翻译及主要贡献点

摘要:

空中视觉语言导航(VLN)是一项新兴任务,它使无人机能够通过自然语言指令和视觉线索在户外环境中导航。由于户外空中场景中复杂的空间关系,这项任务仍然具有挑战性。本文提出了一种端到端的零样本框架,用于空中VLN任务,其中引入了大语言模型(LLM)作为动作预测的代理。具体而言,我们开发了一种新颖的语义-拓扑-度量表征(STMR),以增强LLM的空间推理能力。这是通过提取并投影与指令相关的地标语义掩码到一个包含周围地标位置信息的俯视地图中实现的。进一步地,该地图被转换为包含距离度量的矩阵表示,作为LLM的文本提示,用于根据指令进行动作预测。在真实和模拟环境中的实验成功证明了该方法的有效性和鲁棒性,在AerialVLN-S数据集上的导航成功率(OSR)上实现了15.9%和12.5%的绝对提升。

主要贡献点:

  • 提出首个基于LLM的端到端空中VLN框架: 该框架无需训练,也无需额外的低级动作规划器,易于集成。
  • 提出语义-拓扑-度量表征(STMR): 这是一种独特的矩阵表示方法,包含拓扑、语义和度量信息,旨在显著增强LLM在户外环境中的空间感知推理能力。
  • 在真实环境中的广泛实验证明了该方法的有效性: 提出的方法在AerialVLN-S任务上大幅超越了之前的最先进方法,为未来的零样本空中VLN任务建立了强大的基线。

2. 引言(第一章)总结

空中视觉语言导航(Aerial VLN)是一项突破性任务,它使无人机能够理解自然语言指令和相应的视觉信息,在户外环境中导航。该技术可以消除对人类飞行员手动操作无人机的需求,从而缓解人机交互的障碍,并可能使搜索、救援和交付任务受益。

近年来,VLN任务发展迅速。考虑到大语言模型(LLM)强大的推理能力,一些VLN方法已经开始使用LLM作为代理来解析指令和预测动作。然而,现有方法大多针对室内或地面户外环境设计,对空中VLN任务关注较少。实际上,户外3D空间丰富的语义信息、复杂的空间关系和大规模特性,使得现有VLN方法难以适应空中场景。

为了克服这些挑战,本文提出了一种基于零样本LLM的空中VLN框架,该框架以自然语言指令、RGB图像和深度图像作为输入,并直接通过单步推理更新进行动作预测。具体来说,设计了语义-拓扑-度量表征(STMR)来为LLM提供提示。

3. 主要贡献(模型架构、数据集、算法等)章节

3.1 相关工作

a) 视觉语言导航(VLN)

VLN旨在使自主代理能够通过理解并执行基于视觉上下文的自然语言指令来导航复杂环境。早期VLN方法使用序列到序列的LSTM来预测低级动作或从全景图预测高级动作。为了增强视觉文本对应关系的处理过程,提出了几种注意力机制。此外,还探索了强化学习来改进策略学习。此外,基于Transformer的架构在处理长距离上下文信息方面表现出色。最近的工作利用LLM的推理和对话能力,取得了巨大进展。然而,大多数方法都是在地面、离散VLN设置下开发的,这简化了导航,将其视为在地面上预先定义的图上进行遍历。这限制了无人机在现实世界中的自由移动空间。由于大规模和复杂的环境,空中VLN仍然具有挑战性。

b) 无人机导航

无人机导航在过去几十年中引起了广泛关注。在指令的指导下,Blukis等人使用模仿学习来预测低级速度命令。另一种方法预测可解释的位置访问分布,以指导无人机的控制动作,使用监督学习和模仿学习的组合进行高效训练。Misra等人将指令执行分解为两个阶段,分别使用监督学习进行目标预测和策略梯度进行动作生成。AerialVLN提供了一个更具挑战性的空中VLN数据集,侧重于大规模环境,并提供了一个前瞻性指导方法作为基线。尽管取得了进展,这些方法的通用性和性能仍需改进。

c) LLM在机器人规划和交互中的应用

最近,LLM在理解和推理方面展示了令人印象深刻的能力。为了利用这些能力,已经提出了几种有前景的方法,将LLM应用于机器人系统。一些方法涉及使用在模拟中优化的LLM生成的奖励来改进控制。其他方法利用LLM选择子目标作为抽象来增强导航和操作的策略。此外,研究还探索了使用LLM生成可执行代码用于控制和感知基元。尽管潜力巨大,LLM仍然容易产生自信的幻觉输出,例如引用场景中未观察到的对象。为了缓解幻觉现象,我们提出了一种基于矩阵的表示方法,包含拓扑、语义和度量信息,以便更好地提示LLM。

3.2 方法

3.2.1 问题表述

在空中VLN任务中,问题被表述为以自由形式的语言指令为指导的导航。在每个情节开始时,无人机被放置在初始姿态 P = [ x , y , z , ϕ , θ , ψ ] P=[x,y,z,\phi,\theta,\psi] P=[x,y,z,ϕ,θ,ψ] ,其中 ( x , y , z ) (x,y,z) (x,y,z) 表示无人机的位置, ( ϕ , θ , ψ ) (\phi,\theta,\psi) (ϕ,θ,ψ) 表示无人机姿态的俯仰角、横滚角和偏航角。提供自然语言指令 L L L 以指定无人机应遵循的路径。为了实现导航目标,无人机同时考虑指令和视觉感知,并在每个时间步 t t t 从动作空间(向右、向左、向上、向下、向前、向后)中预测一个动作以及相应的参数。当无人机预测“停止”动作或达到预定义的最大动作数时,导航结束。如果无人机在距离目标位置不到20米的地方停止,则认为导航成功。

3.2.2 语义-拓扑-度量表征(STMR)

之前的基于LLM的VLN方法使用自然语言来描述当前观察结果,或者使用拓扑图的节点和边来模拟环境的空间信息。然而,在开放场景中,简单的方向词,如“旁边”或“旁边”,不足以描述复杂的空间关系,这很容易在LLM中引入歧义。为了应对这一挑战,我们引入了语义-拓扑-度量表征(STMR),以增强LLM的空间感知推理能力。具体来说,STMR逐步将每个步骤的RGB图像 I t R I_{t}^{R} ItR 和深度图 I t D I_{t}^{D} ItD 作为输入,并生成一个动态更新的矩阵表示,其输出包含语义、拓扑和度量信息。STMR的细节如下。

a) 2D视觉感知:

受Grounding DINO G D ( ⋅ ) \mathrm{GD}(\cdot) GD() 强大的开放词汇检测能力,以及Tokenize Anything模型 T A ( ⋅ ) \mathrm{TA}(\cdot) TA() 的字幕和分割能力的启发,我们将这两个模型集成到我们的2D视觉感知器中,如图3所示。给定单个RGB图像 I t R I_{t}^{R} ItR 和指令 L L L 作为输入,我们首先使用由LLM驱动的地标提取器 LE ⁡ ( ⋅ ) \operatorname{LE}(\cdot) LE() 获得详细的地标类别,然后通过 G D ( ⋅ ) \mathrm{GD}(\cdot) GD() 识别每个类别的相应边界框。接下来,我们使用 T A ( ⋅ ) \mathrm{TA}(\cdot) TA() 将每个边界框作为提示,并为当前RGB图像 I t R I_{t}^{R} ItR 输出一组2D语义掩码 m ( t ) ˉ \bar{m^{(t)}} m(t)ˉ 和字幕 Ω ˉ z ( t ) \bar{\mathbf{\Omega}}_{\boldsymbol{z}}(t) Ωˉz(t) 。整个过程可以描述为:

为了提高语义掩码的简洁性,并减少LLM推理过程中因众多开放词汇类别而造成的误导,我们提出了一种文本匹配方法来缓解过度分类。如图3所示,我们的方法包括对从指令中提取的地标和每个 I t R I_{t}^{R} ItR 中生成的字幕 z ( t ) z^{(t)} z(t) 进行矢量化。然后,我们使用TF-IDF【36】计算这些矢量化地标和字幕之间的余弦相似度。如果相似度得分超过阈值 τ > ⁣ 0.8 \tau>\!0.8 τ>0.8 ,则将地标分类为当前视图中可见。通过实施此策略,我们有效地简化了语义掩码,并确保LLM的推理侧重于相关类别。

b) 子目标驱动的俯视地图:

考虑到俯视视图比第一人称视角更能表达空间关系,我们进一步利用深度图像 I t D I_{t}^{D} ItD 将语义掩码映射到3D空间,然后将其转换为俯视地图。具体来说,通过2D视觉感知器处理的RGB图像 I t R I_{t}^{R} ItR ,我们通过为每个像素分配语义标签来生成第一人称视角预测,从而得到一个包含识别对象和区域的分割图像。随后,深度图像 I t D I_{t}^{D} ItD 被转换为3D点云,其中每个像素根据其深度值和相机参数映射到3D点 ( X ˙ , Y , Z ) ({\dot{X}},Y,Z) (X˙,Y,Z)

X = ( u − c x ) I t D ( u , v ) f x , Y = ( v − c y ) I t D ( u , v ) f y , Z = I t D ( u , v ) , X=\frac{(u-c_{x})I_{t}^{D}(u,v)}{f_{x}},Y=\frac{(v-c_{y})I_{t}^{D}(u,v)}{f_{y}},Z=I_{t}^{D}(u,v), X=fx(ucx)ItD(u,v),Y=fy(vcy)ItD(u,v),Z=ItD(u,v),

其中 ( u , v ) (u,v) (u,v) 是像素坐标, ( c x , c y ) (c_{x},c_{y}) (cx,cy) 是相机的中心点坐标, ( f x , f y ) (f_{x},f_{y}) (fx,fy) 是焦距。分割后的RGB图像的语义标签被映射到相应的3D点云,得到包含语义信息的点云 ( X , Y , Z , C i ) (X,Y,Z,C_{i}) (X,Y,Z,Ci) ,其中 C i C_{i} Ci 是语义类别。然后将3D点云划分为离散体素,其中每个体素使用【37】中描述的最大池化将其实体云聚合为一个语义类别。考虑到无人机通常在地面物体上方飞行,对于特定坐标 ( x , y ) (x,y) (x,y) ,将位于 ( x , y ) (x,y) (x,y) 位置的最高 z z z 坐标的体素的语义标签投影到俯视地图中:

T o p D o w n M a p ( x , y ) = V o x e l ( x , y , z t o p ) , \begin{array}{r}{\mathrm{TopDownMap}(x,y)=\mathrm{Voxel}(x,y,z_{t o p}),}\end{array} TopDownMap(x,y)=Voxel(x,y,ztop),

其中 z t o p z_{t o p} ztop 表示在位置 ( x , y ) (x,y) (x,y) 处的最高 z z z 坐标, V o x e l ( x , y , z t o p ) \mathrm{Voxel}(x,y,z_{t o p}) Voxel(x,y,ztop) 表示相应的语义标签。因此,我们得到了一个包含语义信息的俯视地图。

值得注意的是,由于LLM优先考虑当前子目标中的地标,如果子目标中包含的类别出现在任何 z z z 坐标的体素中,则该类别将首先被投影到俯视地图中。因此,我们可以修改公式(3)如下:

T o p D o w n M a p ( x , y ) = { ⁣ ⁣ C i , C i i n ⊂ ⁣ ⋅ ⁣ g o a l V o x e l ( x , y , z t o p ) , o t h e r w i s e . ⁣ ⁣ \mathrm{TopDownMap}(x,y)=\left\{\!\!\begin{array}{l l}{{C_{i},}}&{{C_{i}\ \mathrm{in\sub\!\cdot\!goal}}}\\ {{\mathrm{Voxel}(x,y,z_{t o p}),}}&{{\mathrm{otherwise.}}}\end{array}\!\!\right. TopDownMap(x,y)={Ci,Voxel(x,y,ztop),Ci ingoalotherwise.

在每个步骤中,无人机的位置也将作为航路点记录,并带有特殊值并投影到俯视地图中。

c) 矩阵表示:

我们发现,直接将图像格式的俯视地图输入到视觉语言模型(VLM)中通常会产生较差的推理结果。因此,我们处理视觉地图,将其转换为基于文本的矩阵表示,并将其输入到LLM中以指导导航。具体来说,无人机逐步收集观察结果,并逐步构建周围环境的子目标驱动的俯视地图。考虑到机载传感器的感知质量和现代LLM的有效处理能力,我们定义了以无人机当前位置为中心的局部地图,如图1所示。随后,我们通过将局部地图划分为 20 × 20 20\times20 20×20 坐标网格,并在每个网格中应用语义最大池化,使其最终包含一个语义类别。特别是,我们根据频率对局部地图中每个网格内的所有值进行排序,只显示最频繁的特征作为该网格的最终类别。每个类别(例如建筑物或汽车)通过不同的数字标签来区分。此外,每个网格之间的距离 r r r ( 5 m ) 5\mathrm{m}) 5m) 也作为度量信息输入到LLM中。在这种情况下,LLM可以直接推理每个地标之间的位置关系。

3.3 为LLM规划设计文本提示

鉴于LLM在推理和规划方面训练有素,我们通过格式化的提示和动作空间来补充其空间感知和场景理解能力。该提示包含两个组成部分。首先,准备任务描述,包括环境和无人机的定义,以及输入和输出的格式。我们要求LLM在捕获观察结果后,利用链式思维推理【38】,按照观察-思考-规划-历史的顺序逐步思考,以预测下一个动作。关于输入指令,LLM提取子目标,并且指令中给出的地标将在任务定义中根据场景变化进行更新。其次,为了提高提示的质量,我们实施了一个循环改进过程。这涉及为LLM设计一套新的指令,包括与STMR模块相对应的“历史动作”和“下一个规划”等元素。任务描述还强调更新规划状态,包括三种状态,即待办、在进行中和已完成。在无人机探索过程中,STMR在这个迭代过程中逐渐更新,以提高提示的准确性和相关性。

3.4 LLM提示示例

[任务描述] 你是现实世界中一个具体的无人机。你需要在一些标记的地方之间探索,并最终找到目的地停止。

[输入格式]: “指令”是全局的、逐步的详细指导。“历史”是您之前执行的动作。“地图”是一个俯视坐标地图,使用 2 0 ∗ 20 20^{*}20 2020 矩阵 M M M 来表示坐标。矩阵中的数字代表不同的地标。您位于矩阵的 [ 10 , 10 ] [10,10] [10,10] 处,这是一个特殊值,表示您的方向,例如,west0表示正西方向,偏航角为0度。矩阵中相邻数字之间的距离在现实世界中是5米。矩阵 M M M 中的数字代表:

[0:未探索 1:道路 2:建筑物 … -1:您过去轨迹]。 “规划”记录您现在可以参考的之前长期多步规划信息。

[输出格式] “思考”:您对任务的思考,可能包括您的理解、环境、历史等。“观察”:地图的描述。“规划”:您更新的规划。“动作”:您的下一个动作。

逐步思考。首先,根据“地图”判断,给出第一个“思考”,并描述您的方向。其次,检查当前“规划”中的地标是否在您当前位置5米范围内,然后根据“指令”和之前的“规划”更新您的多步“规划”。每个规划都需要遵循一个状态词(TODO, In Process, Completed)。最后,再次根据“地图”判断,并根据动作格式给出具体的“动作”。动作格式:动作:(右,左,抬起,下降,直走,后退),(角度(0-15度)),(距离(0-10米))。

指令:起飞并直穿水面到道路…

历史:[起飞5米…]

地图:STMR

规划:

  1. (已完成) 起飞5米。
  2. (已完成) 转向180度。
  3. (已完成) 直穿水面到道路。
  4. (进行中) 向左转以对齐道路。
  5. (待办)…

4. 实验部分

4.1 实验设置

a) 数据集

我们使用【1】提供的一个新颖且复杂的数据集进行实验,我们将其称为“AerialVLN-S”数据集,以评估空中VLN任务的性能。该数据集旨在模仿现实世界的城市环境,包含超过870种不同类型的对象,以及包括市中心、工厂、公园和村庄在内的各种场景。此外,AerialVLN-S数据集包含由经验丰富的无人机飞行员记录的8,446条飞行路径,这些飞行员拥有AOPA(飞机所有者与飞行员协会)证书,确保路径的真实性和质量。我们使用AerialVLN-S作为基准,分别从验证可见集和验证不可见集中选取12个场景和5个场景进行评估。值得注意的是,测试集不可用,因为评估服务器【1】现在无法访问。

b) 评估指标

为了严格评估我们方法的性能,我们使用了一套全面的评估指标,如【1】所示。我们关注几个关键方面,即导航误差(NE),它量化了无人机停止点与实际目的地之间的距离;成功率(SR),它衡量成功到达目的地(20米范围内)的导航比例;以及导航成功率(OSR),这是一个理想化的指标,它认为轨迹上任何接近目的地20米内的点都是成功的。

c) 实现细节

我们的框架在模拟器和真实环境中都进行了实现。对于模拟环境,我们评估了算法在airsim和UE4上的性能,使用的是一台配备Intel i9第12代CPU和NVIDIA RTX 4090 GPU的笔记本电脑。对于户外环境,我们在一架Q250机身上进行测试,搭载Intel RealSense D435i深度相机,以及运行Ubuntu 18.04的NVIDIA Jetson Xavier NX作为机载计算机。我们使用GPT-4V和GPT-4o的在线API,其中采用默认参数。

4.2 实验结果

a) 模拟器中的定量结果

表I比较了我们的方法与其他几项工作。随机和动作采样分别表示随机采样动作和根据训练集的动作分布进行采样。LingUNet【25】假设代理从一开始就能看到目的地,该方法被【1】转换为逐步范式。Seq2Seq【13】是一种基于学习的循环策略,直接预测下一个动作。CMA是【1】中的基线模型,考虑了多模态之间的注意力。LAG是【1】中的主要方法,设计了一种前瞻性指导来调整路径。相比之下,我们的方法在大多数指标上明显优于其他方法,证明了我们的方法的优势。我们发现,与其在每个时间步处理整个长指令和视觉观察,不如将格式化的分解子目标更有利于每个动作和地标的细粒度对齐。此外,在我们的STMR指导下,无人机对其自身的空间位置和其他语义约束有更好的理解,这在长指令环境中具有明显的优势,并导致更稳健的执行。

b) 真实环境中的定量结果

为了测试我们的解决方案在现实世界中的表现,我们收集了10个户外场景,包括街道场景和森林,地面真实长度从50米到500米不等。然后,我们将我们的方法应用于真实的无人机,并调用云端LLM(使用GPT-4o)来导航这些具有挑战性的环境。在本实验中,我们采用并比较了基于LLM的VLN方法MapGPT【10】和NavGPT【6】。从演示快照图4中可以看出,我们的方法可以对齐视觉和文本地标,并理解命令。最终,无人机成功到达目的地。表II还表明,提出的方法比大多数最新的基于LLM的VLN方法取得了更好的结果。

c) 失败案例分析

在模拟中,我们分析了两种最常见的失败情况,这些失败是由错误的规划或执行造成的。第一个典型的失败是对模糊指令的误解。在一些指令中,有许多连续的命令,没有任何地标,例如“向左转,然后向右移,然后直走”,这些命令没有对象供LLM参考。这种情况将直接导致重复执行一个步骤。第二个典型的错误是由视觉感知器的准确性造成的。尽管现代感知模型显示出强大的能力,但它们在识别不同视角的对象方面仍需改进。结果,关键地标可能不会映射到矩阵表示中,导致无法完成正确的动作。这一观察与我们的现实世界实验相符,大多数错误都来自感知。

4.3 综合分析

我们进行了几项消融研究,以评估所提出框架的有效性。所有消融实验均在AerialVLN-S任务的验证不可见数据集上进行。对应的结果如表III、表IV和表V所示。

图4:真实环境中的定性结果。相同动作的短距离移动被合并为一个长距离移动,如图像序列所示。

a) 显式空间信息

为了证明STMR的空间表示能力,我们进一步将其与其他提示格式进行比较,作为LLM的空间信息提示。在Topo格式(表III的第1行)中,我们维护一个语言形成的地图,该地图捕获不同节点之间的拓扑关系。每个节点记录视觉观察的文本描述,节点之间的连通性使用文本提示描述。例如,“地点1与地点2、4、0、3相连”。在度量格式(第2行)中,我们安排从8个不同方向相对于代理当前方向的视觉观察,并将其连接成一个单独的提示。每个视觉观察记录地标的方位和距离,例如,“左前方10米远的一个白色建筑”。可以看出,第2行比第1行提高了SR 1.2%(绝对值),但导航性能仍然较差,因为对于某些地标,如道路和河流,无人机仍然无法根据某一点距离描述获得区域级空间信息。我们的STMR结合了语义、拓扑和度量信息,显著增强了无人机的探索能力,并在SR和OSR的准确性上提高了10%以上。

b) 子目标的状态更新

为了确保每个子目标都能被执行,尽管环境发生变化,在每个迭代中,LLM不会改变原始路径计划,但会根据观察结果更新当前子目标的状态,包括待办、在进行中和已完成。我们将这种策略与根据每个迭代中的观察结果更新整个多步路径规划(第1行)进行比较。结果如表IV所示。这种策略并没有显著提高导航成功率(OSR),表明所提出的STMR已经提供了足够的容量来全面导航环境。尽管如此,它对决策过程产生了积极影响,使成功率(SR)从9.0%提高到10.8%。

c) 直接视觉输入和STMR

由于GPT-4V和GPT-4o具有强大的多模态能力,它们可以使用视觉和文本提示进行推理。然而,对于它们来说,直接从逐步输入的RGB图像中理解地标语义是具有挑战性的。这可能是因为LLM在空间感知推理方面的无能。如表V所示,使用LLM的提出的STMR表示方法明显优于直接输入RGB图像与VLM。

5. 结论与未来工作

本文通过引入基于LLM的端到端框架解决了具有挑战性的空中VLN任务。为了增强LLM的空间推理能力,我们提出了语义-拓扑-度量表征(STMR)。STMR首先将指令相关地标及其位置整合到俯视地图中,随后将该地图转换为包含语义、拓扑和距离度量信息的矩阵表示。将提出的STMR作为LLM提示的一部分,我们显著提高了无人机的导航能力。我们的框架在AerialVLN-S数据集上取得了最先进的成果,证明了其有效性。在未来,我们将探索一个灵活的框架,与人类进行交互,以消除指令中的歧义。

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

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

相关文章

HTML-新浪新闻-实现标题-样式1

用css进行样式控制 css引入方式: --行内样式:写在标签的style属性中(不推荐) --内嵌样式:写在style标签中(可以写在页面任何位置,但通常约定写在head标签中) --外联样式&#xf…

LongLoRA:高效扩展大语言模型上下文长度的微调方法

论文地址:https://arxiv.org/abs/2309.12307 github地址:https://github.com/dvlab-research/LongLoRA 1. 背景与挑战 大语言模型(LLMs)通常在预定义的上下文长度下进行训练,例如 LLaMA 的 2048 个 token 和 Llama2 的…

.NET9增强OpenAPI规范,不再内置swagger

ASP.NETCore in .NET 9.0 OpenAPI官方文档ASP.NET Core API 应用中的 OpenAPI 支持概述 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/openapi/overview?viewaspnetcore-9.0https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/ope…

景联文科技加入AIIA联盟数据标注分委会

2025年1月16日,中国人工智能产业发展联盟(简称AIIA)数据委员会数据标注分委会(以下简称“分委会”)正式成立。景联文科技成为第一批AIIA联盟数据标注分委会委员单位。 数据标注分委会的成立旨在搭建数据标注领域产学研…

SQL Server 建立每日自动log备份的维护计划

SQLServer数据库可以使用维护计划完成数据库的自动备份,下面以在SQL Server 2012为例说明具体配置方法。 1.启动SQL Server Management Studio,在【对象资源管理器】窗格中选择数据库实例,然后依次选择【管理】→【维护计划】选项&#xff0…

Level DB --- TableBuilder

TableBuilder是Level DB里面重要的类和模块,它描述了数据如何序列化到文件中,以及数据里面的格式逻辑。它里面包含了之前介绍的多个模块和类。 data block、filter block和index block block格式,之前已经介绍过Level DB --- BlockBuilder-…

【esp32-uniapp小程序】uniapp小程序篇02——Hbuilder利用git连接远程仓库

一、安装git Git - Downloading Package 下载所需的安装包,点击安装,一路跟着安装指示就行。 二、安装ToriseGit Download – TortoiseGit – Windows Shell Interface to Git 语言包可下载可不下载,软件默认语言是英语。 如果下载了语言…

Java Web-Tomcat Servlet

Web服务器-Tomcat Web服务器简介 Web 服务器是一种软件程序,它主要用于在网络上接收和处理客户端(如浏览器)发送的 HTTP 请求,并返回相应的网页内容或数据。以下是关于 Web 服务器的详细介绍: 功能 接收请求&#…

MiniMax-01中Lightning Attention的由来(线性注意力进化史)

目录 引言原始注意力线性注意力因果模型存在的问题累加求和操作的限制Lightning AttentionLightning Attention-1Lightning Attention-2 备注 引言 MiniMax-01: Scaling Foundation Models with Lightning Attention表明自己是第一个将线性注意力应用到如此大规模的模型&#…

Linux 内核进程调度

一、进程的分类 在CPU的角度看进程行为的话,可以分为两类: CPU消耗型:此类进程就是一直占用CPU计算,CPU利用率很高。IO消耗型:此类进程会涉及到IO,需要和用户交互,比如键盘输入,占用…

BLE透传方案,IoT短距无线通信的“中坚力量”

在物联网(IoT)短距无线通信生态系统中,低功耗蓝牙(BLE)数据透传是一种无需任何网络或基础设施即可完成双向通信的技术。其主要通过简单操作串口的方式进行无线数据传输,最高能满足2Mbps的数据传输速率&…

Linux 入门 常用指令 详细版

欢迎来到指令小仓库!! 宝剑锋从磨砺出,梅花香自苦寒来 什么是指令? 指令和可执行程序都是可以被执行的-->指令就是可执行程序。 指令一定是在系统的每一个位置存在的。 1.ls指令 语法: ls [选项][目…

Node.js下载安装及环境配置

目录 一、下载 1. 查看电脑版本,下载对应的安装包 2. 下载路径下载 | Node.js 中文网 二、安装步骤 1. 双击安装包 2. 点击Next下一步 3. 选择安装路径 4. 这里我选择默认配置,继续Next下一步(大家按需选择) 5. 最后inst…

为什么在编程中cast有强制类型转换的意思?

C语言或C在编程时,常常遇到“XXX without a cast”的警告信息,意思是 XXX 没有进行显示的强制类似转换,那么cast为什么会有强制类型转换的意思呢? 从英语的本义来看,cast 有“塑造、铸造”的意思。引申到编程中&#…

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中,我们常常会遇到各种有趣且具有挑战性的问题。今天,我们就来深入探讨一个在实际开发中较为常见的问题:当连续快速发送 Post 请求时,前端会弹出 “数据正在处理,请…

瑞芯微方案:RV1126定制开发板方案定制

产品简介 RV1126 核心板是常州海图电子科技有限公司推出的一款以瑞芯微 RV1126处理器为核心的通用产品,其丰富的设计资源、稳定的产品性能、强力的设计支持,为客户二次开发快速转化产品提供强有力的技术保障。RV1126 核心板集多种优势于一身&#xff0c…

VB6.0 显示越南语字符

近期接到客户咨询,说是VB6.0写软件界面上显示越南语乱码,需要看看怎样解决。 我在自己电脑上也试了下,确实显示越南语结果是乱码。编辑器里乱码,运行起来界面上也是乱码。 经过一天的折腾,算是解决了问题&#xff0c…

理解C++中的右值引用

右值引用,顾名思义,就是对一个右值进行引用,或者说给右值一个别名。右值引用的规则和左值一用一模一样,都是对一个值或者对象起个别名。 1. 右值引用和左值引用一样,在定义的同时必须立即赋值,如果不立即赋…

unity.NavMesh Agent

这张图片展示的是Unity中 NavMesh Agent 组件的参数设置。NavMesh Agent 是Unity中用于实现角色自动寻路和移动的组件。下面我会通俗易懂地讲解这些参数的作用: 1. Agent Type(代理类型) 作用:定义代理的类型,比如是人…

83,【7】BUUCTF WEB [MRCTF2020]你传你[特殊字符]呢

进入靶场 图片上这个人和另一道题上的人长得好像 54,【4】BUUCTF WEB GYCTF2020Ezsqli-CSDN博客 让我们上传文件 桌面有啥传啥 /var/www/html/upload/344434f245b7ac3a4fae0a6342d1f94a/123.php.jpg 成功后我就去用蚁剑连了,连不上 看了别的wp知需要…