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

51c自动驾驶~合集51

我自己的原文哦~     https://blog.51cto.com/whaosoft/13320191

#毫末最新OAD

轨迹偏移学习助力端到端新SOTA~

端到端自动驾驶技术在近年来取得了显著进展。在本研究中,我们提出了轨迹偏移学习,将传统的直接预测自车轨迹,转换为预测相对于轨迹锚点的偏移,降低模型学习的难度。与baseline模型相比,该方法显著提高了规划精度和安全性,在nuScenes上将L2 error降低了39.7%(从0.78m降至0.47m),并将碰撞率降低了84.2%(从0.38%降至0.06%)。此外,OAD展示了生成多样化、多模轨迹的能力,增强了其对复杂驾驶场景的适应性。

技术报告和可视化内容,参考项目主页:https://wzn-cv.github.io/OAD

简介

本报告在VAD框架的基础上构建了更强大的基线模型。具体而言,我们通过实证验证了几种明确且有效的技术,包括与鸟瞰视角(BEV)的交互、指令插入位置。此外,我们设计了一种创新的方法,利用轨迹词汇表来学习偏移量,而非直接学习轨迹。

OAD算法核心

图片

与BEV的交互

图片

在规划模块中,VAD仅设计了自车查询(ego query)与Agent查询(agent queries)和地图查询(map queries)之间的交互,其中并未涉及BEV特征,如图2(a)所示。这导致自车查询只能感知结构化的障碍物和地图信息,而无法捕捉周围环境的丰富特征和全面信息。受UniAD的启发,我们将自车查询与BEV特征进行关联,从而使系统能够更好地理解和感知其周围环境。

此外,对于每个高级指令(high-level command),VAD使用一个对应的多层感知机(MLP)头来输出轨迹。我们认为这种设计可能导致参数冗余。因此,我们引入了高级指令嵌入作为条件输入,使所有高级指令共享一个单一的MLP头进行轨迹解码。

高级指令插入位置

在UniAD中,高级指令仅在自车查询与密集BEV特征进行交叉注意力(cross-attention)之前被引入。我们认为,高级指令不仅应在与BEV的交叉注意力之前引入,还应在轨迹解码MLP之前引入。前者使自车能够更加关注与高级指令相对应的区域,从而降低碰撞率;后者则使轨迹解码器能够显式捕捉未来方向,从而减少位移误差。因此,我们在两个位置都引入了高级指令嵌入,如图2(b)所示。

学习轨迹偏移量

我们认可VADv2和Hydra-MDP中采用的理念,即构建一个固定的规划词汇表以降低规划的复杂性。略微不同的是,我们采用了在线K-means进行词汇表学习,这使得实现更为简单。

更重要的是,我们认为基于该规划词汇表学习偏移量,而非直接学习轨迹,可以带来更高的有效性。这种方法受到目标检测领域工作的启发,其中学习相对于锚框(anchor boxes)的偏移量。

具体设计如图2(b)所示。自车查询结合轨迹锚点嵌入和高级指令,在关联Agent查询、地图查询和BEV特征后学习偏移量,可表述如下:

其中, 表示自车查询, 是一个可学习参数,表示规划词汇表中第  条轨迹的锚点嵌入。

在训练过程中,从词汇表中选择具有最低偏移量的轨迹来计算损失:

其中, 表示最终位移误差。总训练目标为:

其中,表示真实自车轨迹, 表示规划词汇表中的第条轨迹,并作为轨迹锚点,表示模仿损失,表示用于学习的承诺损失:

其中, 表示停止梯度操作符。

在推理过程中,选择最接近  的  来解码规划轨迹:

在此,我们使用的超参数为:词汇表大小=30,,。

实验结果分析相关配置

本文采用的基线模型是VAD-Tiny,其具有100×100的鸟瞰图(BEV)查询。为清晰简洁起见,在本论文中VAD-Tiny统一简称为VAD。与VAD一致,我们的研究也使用了nuScenes数据集。在评估方面,位移误差(DE)和碰撞率(CR)被用于全面评估规划性能。需要注意的是,在所有实验中,我们有意不将自车状态作为输入数据,以避免开环规划中的捷径学习。在训练过程中,我们使用8块NVIDIA A100 GPU,并遵循VAD的优化调度器。我们进行了超参调整,总批次大小为32、初始学习率为4×10⁻⁴时可实现最佳性能。

定量结果

上述方法的定量结果汇总于表1。显然,每项设计都带来了显著的性能提升。

图片

定性结果

我们对OAD和VAD进行定性比较,以说明改进措施的有效性,如图3所示。可视化结果表明,OAD能够在复杂场景中实现更好的轨迹规划。在图(a)和(e)中,即使在夜间条件下,OAD在接近前车时也能通过制动展现出避撞能力。在图(c)中,OAD成功识别出前方车辆(VAD未能识别),从而避免了直线行驶,有效降低了碰撞风险。在路口转弯场景中,与VAD相比,OAD生成的轨迹更平滑、更合理,在图(b)、(d)和(f)中降低了驾驶风险。利用轨迹词汇表,OAD天然具备多模态规划能力,如图4所示。这为下游任务提供了更大的潜力。

图片

图片

结论

在本研究中,我们提出了对VAD框架的多项改进,特别聚焦于学习相对于规划词汇表的偏移量。定量结果和定性结果均表明了这些改进的有效性。我们将持续提出新的优化措施,以实现更卓越的端到端规划性能。闭环评估也将成为我们未来工作的一部分。

#GEVRM

西湖大学最新!极大扩展VLA部署的可靠和稳健性~

随着快速发展,用于通用机器人决策的视觉-语言-动作(VLA)模型取得了显著进展。然而,现有的大多数VLA模型未能考虑到在部署过程中不可避免的外部扰动。这些扰动给VLA模型带来了不可预见的状态信息,导致动作不准确,进而使泛化性能大幅下降。经典的内模控制(IMC)原理表明,具有包含外部输入信号的内模的闭环系统可以准确跟踪参考输入并有效抵消干扰。这里提出了一种新颖的闭环VLA方法GEVRM,该方法集成了IMC原理,以增强机器人视觉操作的稳健性。GEVRM中的文本引导视频生成模型可以生成高度表达性的未来视觉规划目标。同时,我们通过模拟响应来评估扰动,这些响应称为内部嵌入,并通过原型对比学习进行优化。这使得模型能够隐含地推断和区分来自外部环境的扰动。所提出的GEVRM在标准和受扰动的CALVIN基准测试中均实现了最先进的性能,并且在实际机器人任务中显示出显著的改进。

领域介绍

追求稳健且适应性强的机器人系统是具身通用智能的基石。最近,随着大规模机器人数据收集、通用状态表示学习以及表达性策略学习的成功推进,机器人视觉-语言-动作(VLA)模型的研究取得了重大进展。上述策略已被证明在从物理模拟器到精心设计的现实世界环境等各种环境中,对估计机器人状态和生成稳健动作是有效的。然而,这些精心设计的环境并未考虑到部署过程中不可避免的外部扰动,例如光照条件的波动或由于信号传输问题导致的视频流噪声。当VLA模型部署在这些非理想环境中时,外部扰动会给机器人带来不可预测的状态信息。这使得VLA在不准确的环境状态下产生脆弱且不稳定的动作,导致其泛化性能显著下降。因此,增强VLA模型的稳健性以应对部署时不可避免的外部扰动是一个持续的挑战。

在计算机视觉和强化学习领域,图像增强是一种常见的技术,用于缓解模型过拟合问题、抵抗输入图像的扰动并增强模型的稳健性。其思想是对模型的输入图像应用任务标签不变的变换。例如,对于物体识别任务,图像翻转和旋转不会改变语义标签。因此,这项技术也已应用于机器人视觉语言操作任务。一些先前的工作利用视觉作为通用媒介,开发了能够通过想象和执行来规划各种任务的特定智能体。这些方法涉及使用生成模型来预测未来视频或目标图像,然后是将视觉计划转化为实际动作的目标条件策略。在训练目标条件策略时利用了图像增强技术,这在一定程度上缓解了策略对特定任务的过拟合。然而,这些模型受到其生成能力的限制,它们生成的未来目标图像(或视频)状态表达不够充分,并且图像增强仅允许模型在狭窄的任务分布内进行泛化。它对环境扰动缺乏强大的弹性,难以在不同的任务场景中产生始终有效的动作。

图片

受到图1(a)所示的经典内模控制(IMC)原理的启发。该原理的核心思想是,在闭环控制系统中,通过在控制器内部构建一个能够模拟外部扰动和参考输入的模型,可以准确跟踪期望输出并有效抵消扰动。也就是说,它利用内模来复制系统的行为,随后评估系统的扰动,从而增强闭环稳定性。人们普遍认为,智能哺乳动物也依赖内模来产生它们的动作,并且这种机制也得到了行为学、神经生理学和成像数据的揭示和支持。更重要的是,将内模集成到机器人控制系统中已被证实可以增强机器人运动控制的稳健性。然而,结果仅限于特定场景,难以扩展到更复杂和通用的任务,如视觉语言操作。如何在VLA框架中实例化内模以提高决策动作的稳健性尚未得到探索。

为此,我们提出了GEVRM,一种用于稳健视觉操作的目标表达视频生成模型。如图1(b)所示,为了在VLA模型中有效地实现经典的IMC原理,我们对方法的一些组件进行了相应调整。

目标生成:将视频帧作为描述机器人状态的通用接口,我们引入一种先进的文本引导视频扩散生成模型作为机器人行为规划器,以生成未来目标帧作为参考输入。为了提高未来目标状态的表达性,我们通过高效的视频时空压缩和随机掩码策略来训练视觉规划器,以优先理解物理世界规律和物体的3D一致性。

状态对齐:我们利用机器人的模拟响应来估计系统扰动。这些响应称为内部嵌入,是从机器人状态中提取的。由于响应固有地嵌入在机器人的历史观测中,因此可以通过原型对比学习来优化内部嵌入,以使机器人未来的表达性目标状态与当前状态对齐。这使模型能够隐含地推断和区分来自外部环境的扰动。

目标引导策略:我们提出一种以生成的高度表达性目标为条件的扩散策略,以更好地对机器人操作的多模态任务分布进行建模。该策略和上述内部嵌入通过逆动力学和对比学习目标进行联合优化,以便即使在存在扰动的情况下也能很好地跟踪高度表达性目标。

贡献有三个方面:

  • 引入了GEVRM,这是一种新颖的稳健VLA模型,它结合了IMC原理来增强机器人视觉操作。
  • 研究了如何使用文本引导视频生成模型获得高度表达性的目标,并通过原型对比学习对齐状态表示,以抵抗部署时的外部扰动。
  • 大量实验验证了所提出的GEVRM的有效性和先进性。它在标准和外部扰动的CALVIN基准测试中显著优于先前的最先进方法。与以前的基线方法相比,在实际视觉操作中生成的目标状态的表达性显著提高。

相关工作视觉-语言-动作模型

随着广泛的多任务机器人数据集的兴起,机器人学界越来越关注多任务执行能力。视觉-语言-动作模型因其能够使用语言作为目标命令,使机器人能够基于视觉感知做出明智决策而受到关注。早期研究利用语言和视觉之间的跨模态注意力,但有限的模型性能阻碍了其有效性。最近,注意力转向了大型基础模型,以提高通用性。然而,文本描述往往缺乏关于环境状态的细节,这使得跨形态任务变得复杂。因此,一些研究现在利用视觉作为通用媒介,采用生成模型来预测未来动作,然后通过目标条件策略来执行。UniPi是最早利用互联网规模数据训练文本条件视频生成器的模型之一,它使用逆动力学模型来估计动作。同样,SuSIE使用图像编辑模型为低级控制器规划高级子目标,而ADVC从具有密集对应关系的预测视频内容中推断动作。这些努力旨在实现通用状态表示,但由于两个原因而未能成功。首先,由于动力学建模不佳,现有的视觉计划存在时间和空间不一致性。我们提出了一种稳健的视频生成模型来解决这个问题并增强动作执行。其次,先前的工作侧重于受控环境,忽略了机器人对外部干扰的响应。我们的GEVRM方法采用对比学习进行状态对齐,有效地模拟响应并抵抗干扰。这些元素共同定义了我们富有表达力的目标表示。

内模控制框架

IMC框架是一种广泛认可的控制策略,它利用系统的内模来预测未来行为并相应地调整控制动作,使其对干扰和模型不准确性具有高度的鲁棒性。IMC由Garcia和Morari首次提出,已广泛应用于线性和非线性过程控制中,在稳定性和适应性方面具有显著优势。其反馈机制允许进行实时调整,这在诸如机器人技术等对精度要求极高的动态环境中尤为重要。IMC的设计已针对多变量和复杂系统进行了进一步探索和改进,证明了其在各种控制应用中的通用性和鲁棒性。然而,以前的大多数研究工作都局限于特定的控制场景,难以扩展到一般的视觉语言操作任务。最近,受经典闭环控制系统的启发,有人提出了一种闭环视觉运动控制框架,该框架结合了反馈机制来改进自适应机器人控制。与这些工作不同,我们研究如何在VLA框架中有效地实例化内模,以提高决策动作的稳健性。

问题公式化

这项工作研究如何生成高度表达性的目标状态并诱导稳健的动作,以抵御外部干扰。正式地,在非马尔可夫决策过程框架中研究机器人轨迹和动作生成,该框架由以下元组指定:,其中和分别表示图像状态和动作空间,表示语言文本目标空间,是转移动力学,是初始图像状态分布。我们旨在生成富有表达力的未来图像目标状态以及在视觉操作任务中,根据抽象语言指令和历史图像序列状态(即视频)要执行的当前动作: 。该问题被分解为两个层次:

  1. 机器人行为规划:给定语言指令和历史视频状态,推断图像目标状态。
  2. 机器人动作预测:给定历史和推断出的富有表达力的未来图像目标状态,预测要执行的当前动作。

这种解耦过程可以表示为:

图片

这种解耦过程极大地降低了模型训练对语言、图像序列和机器人动作对的依赖。行为轨迹规划模型的训练只需要文本-视频对,而无需机器人动作标签,这些数据可以从互联网上带有语言标签的大规模视频片段和带有文本注释的机器人序列决策数据中获得。的训练只需要少量针对特定下游任务的无语言标签的演示数据。在测试阶段,给定新任务的自然语言描述和初始图像状态,我们不仅需要评估模型推断的未来目标状态的表达力,还需要评估在外部扰动下完成任务的成功率。

方法介绍

我们的目标是构建一个稳健的VLA模型,将IMC概念融入机器人视觉运动控制中,如图2所示。为了在执行前设定高度表达性的目标,引入一个强大的视频生成模型作为视觉规划器。下面也会详细介绍如何对齐目标状态以评估扰动,并展示如何诱导生成稳健的决策动作。最后,实现GEVRM的整体测试时执行流程。

图片

机器人行为规划器

受近期视频生成模型成功的启发,我们寻求构建一个文本引导的视频扩散变压器模型,作为用于生成机器人目标状态的行为规划器。该规划器可以根据历史视频观察和抽象的文本任务描述忠实地合成未来目标图像帧。通过视频生成进行规划需要一个既能从给定视频生成受限视频,又能完成下游任务的模型。具体来说,为了获得高度表达性的未来目标状态,在设计机器人行为规划器时需要考虑三个核心方面:

  1. 视频时空压缩:扩散变压器(DiT)需要大量计算资源才能在原生像素空间中对机器人图像状态序列数据执行复杂操作。为了缓解这个问题,首先使用2D变分自动编码器(VAE)压缩原始像素空间,然后使用3D VAE进一步压缩,以获得信息丰富的低维密集空间。这样做的好处是避免了3D VAE在原始像素空间中的高计算成本。实际上,在2D VAE进行空间压缩后,相邻特征之间仍然存在相当大的时间相关性。在图像状态序列编码阶段,最初通过应用2D VAE将空间维度减少8×8倍,随后通过3D VAE将时间维度压缩4倍。在图像状态序列解码阶段,先恢复时间维度,再恢复空间维度。3D VAE采用因果3D卷积层代替3D卷积神经网络(CNNs),确保每一帧的输出仅取决于其前序帧。
  2. 随机掩码机制:为了实现高效的目标图像合成,实施了一种随机掩码机制。训练过程涉及对帧进行随机掩码,包括揭示初始帧、前帧、最后一帧、后帧、初始帧和最后帧的组合以及任意帧等场景。在测试阶段,我们可以访问历史图像状态,但无法获取未来图像状态。因此,在模型的训练方案中,对前帧的掩码操作被赋予最大权重,具体为75%。其余的掩码策略被归类为补充目标,共同构成剩余的25%。虽然掩码机制在概念上很简单,但它使机器人行为规划器能够根据各种时间快照预测后续帧,显著增强了模型对物体动力学和时间顺序相关性的理解和感知。
  3. 模型骨干和训练:DiT模块源自一个预训练的文本引导视频生成模型,并集成了一个固定的T5编码器来处理语言指令。受Stable Diffusion 3最新进展的启发,我们使用整流流对机器人行为规划器进行微调,超越了传统的去噪扩散概率模型(DDPM)。整流流通过沿着样本之间的直线路径求解常微分方程,促进了从噪声到真实图像分布的映射学习。这种方法已被证明是一种更高效的训练范式,显著减少了视频采样步骤,进而显著提高了模型训练速度并减少了推理时间。

机器人动作预测

机器人行为规划器生成的高表达性目标状态用于指导决策动作的预测。从视觉目标状态和当前视觉状态到最终动作的输出,我们的目标导向策略可分为以下两个部分:1)状态对齐以模拟响应。从视觉目标状态和当前视觉状态中提取有价值的特征,并利用原型对比学习来对齐状态表示、模拟机器人响应以及评估干扰。2)目标导向动作预测。将目标和当前内部紧凑编码信号解码为机器人能够稳健执行的动作。

  • 状态对齐以模拟响应:在经典控制系统领域,IMC框架要求在控制器中集成系统的内部模型。这个内部模型能够抵消外部干扰和参考输入,从而确保系统行为的精确性和可靠性。为了在基于学习的框架中实现IMC原理,我们首先部署残差网络ResNet 34作为目标状态和当前状态的视觉编码器。这种转换将原始像素数据转换为丰富的视觉表示和 。对于当前视觉状态表示,关键在于如何对其进行优化,以模拟机器人响应来评估外部扰动,而这种响应本身就编码在视觉目标状态中。遵循IMC原理,我们主张在潜在空间中对这一过程进行建模,并通过对比学习进行优化,以实现与视觉目标状态的对齐。

在演示数据中,如果一对和来自同一轨迹,它们就是正样本对,否则为负样本对。这些样本对通过交换分配的任务进行优化。具体来说,给定从演示数据中采样的图像观察序列,可以从转换过程中推导出未来目标图像作为目标向量,将当前图像观察作为源向量。源向量和目标向量分别输入到源编码器和目标编码器中,以获得潜在特征,这些潜在特征被映射到高维空间的单位球面上并进行归一化:

为了从潜在特征预测聚类分配概率和,我们首先对原型进行归一化,以获得可训练的归一化矩阵,然后对所有原型的源向量或目标向量的点积取soft maximum:

这里是温度参数。和是当前和目标图像观察和映射到索引为的单个聚类的预测概率。为了在避免平凡解的同时获得预测概率和,应用Sinkhorn-Knoppal算法。现在我们有了聚类分配预测和目标,状态对齐的目标是最大化预测准确率:

值得注意的是,学习表示以区分不同的指令和视觉表示是一个长期存在的科学问题,而很少有研究探索它们模拟机器人响应的能力。这种能力在预训练的视觉编码器或仅基于当前观察学习的策略模型(即行为克隆)中无法直接获得。

  • 目标导向动作预测:为了使模型简洁、通用且具有可扩展性,利用目标导向扩散策略从模拟响应的状态编码中解码动作输出。仅使用静态相机的第三视角RGB图像作为输入,并将动作标签作为训练标签。不使用机器人本体感受观察和夹爪视角图像。考虑一个7自由度机器人的动作空间,由末端执行器的位置和夹爪状态组成。目标导向扩散策略是一个使用马尔可夫噪声和去噪过程的潜在变量模型,可用于为潜在变量建模参数化行为分布 。前向噪声过程遵循固定的方差调度,其分布为 。遵循DDPM,我们的实际实现包括直接参数化分数网络以恢复行为克隆目标:

利用这个目标来训练目标导向策略,并为其提供目标和当前状态的内部嵌入。在每次策略训练迭代中,状态编码通过状态对齐目标进行优化,这使得策略能够隐含地推断和区分来自外部环境的扰动。因此,状态编码和目标导向扩散策略的最终优化目标是:

其中是温度参数。为了从中采样,使用反向扩散过程,其中且,并在每一步进行重采样:

GEVRM的测试阶段执行流程

一旦机器人行为规划器和目标导向策略都训练完成,它们就可以用于解决新的操作任务。给定一个新场景和一个新的语言命令,GEVRM通过迭代生成高度表达性的目标状态并诱导目标导向策略来实现这些子目标,从而尝试解决任务。最初,我们从中采样一组目标,其中表示目标状态生成的数量。我们将目标状态和当前状态通过状态编码器经过个时间步,以获得内部嵌入并推导出目标导向策略,其中是固定的时间间隔数。在个时间步之后,我们再次从行为规划器中采样来更新目标状态,并重复该过程。算法的测试执行过程如算法1所示。

图片

实验评估

这里我们评估GEVRM的状态生成和视觉操作能力。为此,实验旨在研究以下问题:1)GEVRM在各种环境中是否具有强大的泛化能力,以生成富有表达力的目标?2)与基线相比,GEVRM在各种环境中执行机器人任务的成功率是否更高?3)GEVRM的核心组件对于实现稳健的决策动作有多重要?

目标生成评估

  • 设置:使用两种类型的数据集(真实的Bridge和模拟的CALVIN)来评估目标生成的泛化能力。在预定义的训练集上训练模型,并在有和没有外部扰动的测试集上评估机器人目标生成性能。
  • 基线:为了进行公平比较,选择了开源视频生成模型:1)AVDC,一种典型的用于机器人的扩散式生成模型。2)GR-1,这是一种自回归式生成模型,它将语言指令和状态序列作为输入,并以端到端的方式预测机器人动作和未来图像。3)SuSIE,使用图像编辑扩散模型作为高级规划器,并提出可以由低级控制器实现的中间子目标。
  • 指标:所采用的评估指标是弗雷歇初始距离(FID)和弗雷歇视频距离(FVD),这两个指标在图像和视频生成领域都得到了广泛认可。我们还使用其他标准指标评估不同模型生成视频的质量:结构相似性指数(SSIM)、峰值信噪比(PSNR)、学习感知图像块相似性(LPIPS)。
  • 目标生成比较:在未见环境中评估目标生成的泛化能力(表1)。结果表明,与基线相比,GEVRM模型性能显著提升。结果表明,GEVRM具有更强的表达能力,能够有效地对机器人图像序列的复杂纹理和时间连贯性进行建模。然后,在比较在受扰动环境中目标生成的稳健性(图3)时,基线模型在环境变化时表现不佳,生成的严重幻觉会扭曲物体,甚至可能完全破坏场景。相比之下,我们的方法产生的幻觉较少,并且能够根据语言指令生成富有表达力的目标状态。这证实了GEVRM确实能够更好地理解物理世界的规律,并保持物体的3D一致性。

图片

图片

动作执行评估

  • 设置:在CALVIN上进行实验,CALVIN是一个用于语言条件操作的基准测试,用于评估GEVRM在闭环动作执行方面的能力。CALVIN由四个模拟环境(A、B、C和D)组成,每个环境都有一个人类收集的演示轨迹数据集。我们研究在A、B和C环境上进行零样本多环境训练,并在D环境上进行测试,D环境在桌面纹理、家具位置和彩色补丁方面有所不同。我们还测试了GEVRM对扰动的稳健性(图4)。
  • 基线:选择具有代表性的基线来验证在标准未见环境上的泛化性能:1)UniPi):首先将决策制定转化为文本条件视频生成,能够生成预测视频序列并随后提取控制动作。2)HiP:该模型通过结合分层推理扩展了长期规划能力,改进了UniPi。3)GR-1:该模型利用预训练的视频模型来增强自回归动作生成。4)RoboFlamingo,使用预训练的视觉语言模型进行单步视觉语言理解,并使用显式策略头对顺序历史信息进行建模。此外,在有外部扰动的测试环境中,我们选择具有代表性的基线SuSIE,因为它采用常见的数据增强策略来应对扰动,并且在先前的工作中取得了最先进的结果。将静态相机的第三视角RGB图像作为观察值,这使得机器人的执行更具挑战性。
  • 动作执行比较:在表2中展示了完成链中每个语言指令的成功率。模型在环境A、B和C上进行训练(图4(a)),在D环境上进行测试(图4(b))。与基线相比,GEVRM有显著的性能提升。这表明基于IMC原理的方法在面对新环境时具有更好的目标生成能力,并能诱导机器人预测更通用的决策动作。
  • 外部扰动下的动作执行比较:为了全面评估提出的GEVRM与基线SuSIE的性能,在五个更具挑战性的场景中对两个模型进行了测试(图4(c))。五个受扰动任务的平均性能如表3所示。这些场景旨在挑战模型对环境刺激的感知和对物理定律的理解。结果表明,GEVRM能够很好地模拟机器人响应,并指导策略生成稳健的决策动作以抵抗外部扰动。更多动作执行比较结果见附录表5。

图片

图片

图片

消融研究

我们评估VAE微调与状态对齐应用对CALVIN环境A、B和C上模型性能的影响,重点关注机器人行为规划和目标导向策略训练。图5(a)中的结果表明,省略VAE微调或状态对齐集成会显著降低模型在CALVIN环境D上的性能,这是因为VAE在多样化视频数据上的预训练增强了时空一致性,随后在机器人数据上的微调有助于决策的泛化。状态对齐增强了策略的视觉状态表示,以实现更好的任务泛化。此外,在策略训练中平衡专家模仿和状态对齐的超参数,我们测试了五个值(图5(b))。性能指标变化很小,表明对的调整具有鲁棒性,对我们的方法来说是最优的。为了说明状态对齐对目标导向表示的影响,我们进行了一项视觉比较实验。使用T-SNE分析在CALVIN ABC→D “噪声干扰” 任务中,有无状态对齐时当前和未来图像状态的潜在空间表示,结果如图6和附录图8所示。结果表明,状态对齐通过增强类内凝聚性和类间分离性来改进聚类和分类。此外,状态对齐确保了图像状态序列的时间一致性,从而增强了策略对环境和任务的识别能力,并有助于泛化到新场景。目标生成和目标导向扩散策略执行效率的消融实验分别见附录表6和表7。

图片

图片

图片

最后的结论

方法的创新之处在于能够将经典的内模控制原理融入现代VLA框架,从而增强机器人处理环境扰动的能力并保持性能的完整性。在提出的稳健GEVRM模型中,利用视频生成模型获得高度表达性的目标状态。同时,基于原型对比学习有效地对齐状态表示,以模拟机器人响应并评估外部扰动。正如GEVRM在模拟和现实视觉操作任务中的最先进性能所示,它有效地增强了目标状态的表达性,并对外部扰动表现出很强的弹性。因此,工作极大地扩展了机器人系统在部署场景中的可靠性和稳健性,是具身通用智能领域向前迈出的重要一步。一项有前景的工作是考虑将更通用的高质量视频生成模型纳入VLA框架,以应对现实世界机器人复杂多样的操作任务。

#预测规划统一新框架

利用一致性模型的端到端预测规划器来了(普林斯顿大学)

一篇关于集成了自动驾驶预测和规划的最新算法框架文章。轨迹预测和规划是自动驾驶系统当中至关重要的两个组成部分。在早期的传统自动驾驶系统当中,预测和规划属于是各自独立的模块,这种范式限制了执行交互式规划的能力。因此,本文我们提出了一个新颖的统一数据驱动框架,将预测和规划与一致性模型相结合。我们提出的算法模型以更少的采样步骤实现了更好的性能,使其更适合实时部署。

首先,我们先介绍模块化预测和规划范式的问题。然后引出我们本文所提出算法模型的网络结构和细节。接下来是在WOMD数据集上的实验结果和指标分析,最后是本文所得出的结论。

简介

为了在动态环境中安全高效地行驶,自动驾驶汽车必须有效地预测并与各种道路参与者互动,包括其他车辆和行人。这通常需要一个预测模块来预测其他代理的未来轨迹,以及一个规划模块来为自车生成轨迹。虽然预测模块已广泛采用数据驱动的方法来从人类驾驶数据中学习,但规划模块通常依赖于基于优化的方法。这两个模块通常以解耦、交替的方式运行。

但是这种解耦的方法引入了根本性的限制。规划器生成的交互行为本质上是被动的,而不是主动的,因为规划器响应其他代理,而不考虑它们如何对自车做出反应。这种限制可能导致计算成本高昂的心理理论推理。在高度交互的场景中,例如车道合并,主动规划是必不可少的,被动规划可能会导致自车卡住。现有的解决方案要么难以随着代理数量的增加而扩展,要么由于对解决方案搜索空间的限制性探索而损害了最优性。

此外,模块化方法可以独立优化预测和规划,与联合训练的端到端框架相比,这通常会导致效率降低。预测和规划模块之间的交替也引入了延迟和计算效率低下,使得满足实时操作的需求变得具有挑战性。

近年来,扩散模型被广泛应用于自动驾驶领域。它们对条件分布进行建模的能力使它们非常适合轨迹规划应用,因为它允许结合规划和预测的关键背景,包括轨迹历史、地图信息、自车的目标位置等。与 Transformer 模型相比,基于扩散的方法还支持可控生成,以仅在测试时通过引导采样来满足额外要求,而无需任何额外的训练。然而,扩散模型通常需要许多采样步骤才能获得高质量的样本,这使得满足自动驾驶汽车实时操作的需求变得具有挑战性。

考虑到上述提到的相关问题,在本文中我们提出了一种基于一致性模型的端到端预测规划器,旨在在单一数据驱动框架内统一规划和预测。大量的实验表明,我们提出的算法模型在Waymo Open Motion Dataset数据集上与现有各种方法相比在轨迹质量、约束满足和交互行为方面的优势。

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

算法模型网络结构&细节梳理Motion-Transformer Encoder

在本文中,我们通过规划目标来规划自车的轨迹,同时预测其他车辆的交互行为。为了将轨迹历史和地图信息编码为一致性模型的条件输入,我们采用了 MTR 的编码器架构。这种基于 Transformer 的架构通过局部注意机制有效地对场景上下文进行建模,从而实现代理与路线图之间的高效交互建模,同时保持内存效率。它还引入了一个具有损失函数的密集预测头来单独训练此编码器。此外,需要注意的是,我们的方法是与编码器无关的,允许灵活选择任何合适的场景编码器与我们基于一致性模型的预测规划器集成。

Consistency Model

一致性模型仅需一个或几个采样步骤就能从复杂分布中生成高质量样本。它由正向扩散过程和逆向扩散过程组成。假设是我们数据集中的轨迹,我们首先使用在整个数据集上计算的平均值和标准差对中所有的轨迹进行标准化。

令为此类归一化轨迹的空间,是数据分布。在前向过程中,我们首先从中抽取初始样本。然后我们应用增加噪声的方式,通过步来逐渐破坏。具体来说,在每一步,我们从正态分布中进行采样,并且假设破坏的数据可以从下式子获得

图片

我们通过选择足够大的噪声方式,通过重复从数据中进行采样并通过加性高斯噪声进行破坏时,进而得到相应的分布。

假设,是条件信息空间。在逆向过程中,我们的目标是学习一个具有参数的一致性函数,该函数映射嘈杂的轨迹样本、条件以及噪声级别直接到相应的干净样本。这是通过选择特定的函数形式来实现的。

图片

对于一致性模型训练,我们的目标是加强输出在相邻采样步骤中的一致性。一致性训练通过最小化以下损失函数进行实现。

图片

在数据生成过程中,我们首先抽取样本。然后使用训练好的一致性模型。我们通过首先预测近似的干净数据,然后从正态分布中抽样来进行迭代抽样。

图片

在声明好上述的符号和所定义好的问题后,下图展示了我们提出算法模型的整体网络结构。

图片

具体而言,我们首先使用MTR编码器对代理的轨迹历史和地图信息进行编码。然后,我们使用一致性模型,该模型采用自车代理的规划目标和MTR 编码特征的条件输入,分别为自车和周围代理生成轨迹计划和预测。最后通过一致性模型的引导采样,可以实现自我代理的额外规划约束。

Data pre-processing

为了训练扩散模型或一致性模型,我们通常需要对输入数据进行规范化。如果我们联合建模自车和周围代理的未来轨迹,使用以自车为中心的坐标系会在数据中引入很大的差异,特别是对于在不同场景中位置差异很大的周围代理而言。因此训练性能会大大降低。相反,我们应用类似于 MTR++ 的坐标变换,将每个代理的轨迹映射到其自己的局部坐标系中,以当前时间步的位置为中心。这种转换为我们提供了方差大幅降低的数据。然后,我们计算整个数据集中转换后的轨迹的经验平均值和标准差,并将它们标准化为零均值和单位方差。为了保留代理之间的相对空间关系,我们收集由每个代理在时间步的位置组成的参考状态。

Consistency Model Training

令表示自车和周围的未来轨迹空间,令表示条件输入的空间,包含编码的历史轨迹、地图特征、自我代理的目标状态和参考坐标。给定一个规划目标和环境背景作为条件,我们利用一致性模型从条件概率分布中抽取未来轨迹。每个轨迹样本代表自车和周围代理的一种可能的联合未来行为。

为了训练我们的预测规划器,我们使用混合损失函数一步联合训练 MTR 编码器和一致性模型,该函数由一致性训练损失和 MTR 编码器的密集预测损失的加权和构成。

图片

Guided Sampling

在使用经过训练的一致性模型生成轨迹以对自车的未来轨迹施加规划约束时,我们提出了一种类似于分类器引导的新型引导采样方法。重要的是,这种引导仅在测试时的采样过程中应用,而无需对训练程序进行任何修改。假设有个规划约束需要最小化,并从分类器指导中汲取灵感,我们可以在每个采样步骤中对预测执行梯度下降过程。

图片

然而,同时优化多个约束对于有效找到合适的步长提出了重大挑战,特别是当约束可能相互冲突时。为了应对这一挑战,受ADMM算法的启发,我们提出了一种新颖的交替方向法,该方法在每个采样步骤中一次仅优化一个约束

图片

在我们的方法中,我们按顺序优化每个约束,并在每次梯度下降迭代期间使用相应的步长。虽然我们对优化顺序和相对较小步长的选择是基于经验观察的,但这种策略在实践中已经证明了有效的收敛,而使用梯度下降的标准指导方法很难实现。ADMM的收敛通常在包括封闭、适当和凸函数以及适当选择的步长的条件下得到保证。

Planning Constraints Construction

我们假设自车的动态用如下的形式进行表示

图片

假设我们仅使用自车的未来状态中的和来构建我们的规划约束函数。因为其他状态(如或)可能不满足动力学方程,而且也非常嘈杂。利用动态的微分平坦性,我们可以推断出和。

图片

然后我们可以进一步的推断控制输入

图片

在有,,以及情况下,我们考虑三种类型的规划约束以最小化如下。

图片

实验结果及评价指标

我们将不同方法生成的规划轨迹与数据集中的真实轨迹进行比较。该场景要求自车进行左转,然后直行以达到其目标地点,如下图所示。

图片

DDPM-4 达到了目标,但产生了嘈杂的轨迹,这可能是由于扩散模型的采样步骤不足以生成高质量的轨迹。虽然 DDPM-10 增加的采样步骤产生了稍微平滑的轨迹,但代价是更长的计算时间。DDIM-4 尝试仅使用 4 个采样步骤来加速 DDPM-10,但无法生成达到目标的轨迹。具有较大模型尺寸的 Transformer 生成的轨迹接近真实值,但错过了准确的目标位置。相比之下,我们的一致性模型生成的轨迹既与真实值一致,又精确地到达目标位置。

我们通过 Waymo 运动预测挑战赛的指标,定量评估了自我车辆相对于人类地面实况的规划性能,如下表所示。

图片

通过表格中的实验结果可以看出,结果与我们的定性观察结果一致:我们的一致性模型实现了最低的 minADE 和 minFDE,表明它很好地捕捉了人类的驾驶模式。此外,添加引导采样显著改善了一致性模型的 minFDE,因为它明确地纳入了实现目标的约束。

此外,我们使用三个表征驾驶行为的指标来评估轨迹质量,如下表所示。

图片

此外,下图中展示了我们的方法在选择目标位置方面的灵活性。我们的一致性模型在瞄准新的目标位置时保持高质量的轨迹规划,即使它们不在数据集中。

图片

我们的预测规划器的一个关键优势是它能够确保与交通中的其他道路使用者安全有效地互动。我们的规划器展示了生成主动行为的能力,如下图所示。

图片

通过下表可以看出,我们的基础一致性模型已经实现了比其他基于扩散的方法更准确的目标达成和更流畅的行为。

图片

通过引导采样,达到所有方法中的最低值。需要注意的是,这种改进不需要模型重新训练,并且仅适用于推理期间。

结论

在本文中,我们提出了一种新颖的数据驱动方法,该方法使用一致性模型统一了轨迹预测和规划。通过对自车和周围代理的轨迹的联合分布进行建模,我们的方法可以实现高效和交互式的规划,而无需在预测和规划模块之间进行迭代交替。实验结果表明,与现有方法相比,我们的方法实现了卓越的轨迹质量和交互行为,同时需要更少的采样步骤。

#DenseSplat

五边形战士:首个无缝结合NeRF和3DGS的SLAM系统3DGS对关键帧的依赖

视觉稠密同时定位与建图(SLAM)是三维计算机视觉领域的核心研究方向,主要关注于实时定位相机位置并生成周围环境的高精度地图。该技术在机器人定位与导航、自动驾驶以及虚拟/增强现实(VR/AR)等领域发挥着关键作用。

近年来,基于可微渲染的突破性进展,特别是神经辐射场(NeRF)和三维高斯喷溅(3DGS),显著推动了视觉稠密 SLAM 系统的发展。基于 NeRF 的神经隐式 SLAM 通过将 NeRF 模型与同时跟踪和建图相结合,实现了高质量的在线密集地图重建,并大幅提升了几何精度。在此基础上,高斯 SLAM 系统进一步拓展了研究边界,提供了更高保真的地图重建。3DGS 采用显式高斯原语,具备细节纹理表现力强、可显式操控场景以及卓越的实时渲染能力等优势。

然而,在 SLAM 系统的应用中,3DGS 仍然面临一定挑战。与常见的离线重建不同,SLAM 需要在有限的计算资源下进行在线处理,而 3DGS 依赖于大量关键帧来优化场景的几何和外观。这种依赖性在机器人应用中尤为突出,因为机器人往往只能从稀疏的视角观察场景,导致地图中存在大量空洞。此外,当前高斯 SLAM 系统大多缺乏回环检测和捆绑调整(BA)机制,这可能导致跟踪误差积累并影响长期建图的精度。

本文介绍的DenseSplat[1]是首个结合 NeRF 和 3DGS 优势的 SLAM 系统。DenseSplat 通过利用 NeRF 先验信息来引导高斯原语的初始化,从而在稀疏关键帧条件下生成密集的地图表示,并有效填补未观察到的区域。此外,我们设计了基于几何的原语采样和修剪策略,以优化粒度并提高渲染效率。更进一步,DenseSplat 结合了回环检测和捆绑调整,以提高跟踪鲁棒性并减少漂移误差。

主要贡献:

提出 DenseSplat,这是首个利用 NeRF 先验优化 3DGS 的视觉 SLAM 系统,在稀疏关键帧条件下实现高质量地图重建。

设计了一种基于几何的高斯原语采样和修剪策略,以优化渲染效率并减少无关原语的影响。

集成了回环检测和捆绑调整,显著提高了帧间跟踪精度,减少了误差积累。

在多个大规模数据集上进行实验,结果表明 DenseSplat 在跟踪和建图方面均优于现有的最先进方法。

具体方法

图 2 展示了 DenseSplat 的整体流程。系统以 RGB-D 数据流  作为输入,并通过同时优化相机位姿和神经辐射场  进行跟踪。随后,系统利用从隐式辐射场采样的点来引导高斯原语的初始化,以实现高精度的地图重建和场景插值。为了减少漂移误差,我们在高斯地图上实施了局部回环检测和捆绑调整。最后,介绍了整个建图过程中的损失计算方法以及有效降低系统内存消耗的子地图划分策略。

神经辐射先验

神经辐射渲染基础

NeRF 模型  是一个连续函数,用于预测沿采样光线  的颜色  和体密度 。具体而言,给定相机原点  和光线方向 ,我们在光线方向上均匀采样  个点 (其中 ),然后使用光线行进(ray marching)计算像素颜色 :

其中  表示透射率, 是点  处的透明度, 表示相邻采样点之间的间距。辐射场  由一个带 ReLU 激活函数的 MLP 参数化,并通过梯度下降优化,以最小化光度损失:

其中, 表示来自具有有效深度测量的光线集合的一个批次, 是真实颜色值。

基于 NeRF 的相机跟踪

我们通过优化 NeRF 的目标函数来跟踪每一帧的相机到世界变换矩阵 。相机位姿初始化遵循恒定速度假设:

在此,我们仅利用 NeRF 模型进行逐帧相机跟踪,之后基于精细化的高斯地图进行回环检测和捆绑调整,以纠正累积漂移误差(详见第 III-C 节)。

基于几何的点采样

与需要密集视角优化场景的显式高斯表示不同,基于 NeRF 的模型在插值能力方面表现优异,可以推断出未观测到的几何信息。为了在实时场景中高效利用这一能力,我们采用了多分辨率哈希辐射场,该方法能够在不同分辨率下精确获取体数据,特别是在稀疏采样区域内捕捉详细的表面几何。我们通过设置密度阈值  识别关键的表面过渡区域,并使用以下公式进行插值计算:

其中, 和  为采样网格点, 表示体密度。随后,我们将这些点汇总为点云。这种方法利用 NeRF 的强大插值能力,实现了密集、基于几何的高斯原语初始化,并在后续的建图步骤中进一步优化。

精细化高斯地图

多尺度高斯渲染

通过从 NeRF 模型进行网格采样初始化,我们使用一组各向异性的 3D 高斯原语  来表示场景。每个高斯原语  由均值 、协方差矩阵 、不透明度值 、三阶球谐系数  以及缩放因子  组成。在渲染过程中,这些高斯原语首先投影到 2D 平面上,转换为 2D 高斯。转换过程使用视图矩阵 ,2D 协方差矩阵  计算如下:

其中  是仿射投影的雅可比矩阵。2D 高斯的均值  通过  将  投影到图像平面上。随后,这些投影的高斯按照从近到远的顺序排序,并使用类似于光线行进的 alpha 混合过程进行渲染,最终得到光栅化的像素颜色  和深度值 。

射线引导的高斯修剪

从 NeRF 模型进行采样时,可能会引入误差的高斯浮动原语和异常值,这些都可能影响重建质量。为了减少密集化过程中产生的冗余高斯原语并提高渲染效率,我们实施了基于射线的修剪策略。具体来说,我们使用重要性评估来识别和去除在优化过程中不活跃的高斯原语。每个高斯原语的 重要性 通过它对所有输入图像  上采样光线的贡献来量化。灵感来自于之前的研究,我们通过以下公式对每个原语进行评分:

其中  捕捉了高斯原语  对像素颜色预测的贡献。然后,我们通过以下公式计算修剪掩码:

其中,低于修剪阈值  的原语会从地图中去除。需要注意的是,由 NeRF 模型初始化的高斯原语不参与此修剪过程,以避免去除那些用于桥接遮挡视角的原语,从而保证场景的可管理粒度。

多尺度高斯渲染策略

高斯原语的多尺度渲染策略通过合并较小的高斯原语来提高场景的一致性,尤其在较细粒度的层次中有效。具体来说,我们使用四个不同分辨率的高斯函数进行渲染,分别对应于 1×、4×、16× 和 64× 的降采样分辨率。在训练过程中,我们将较小的细节级别的高斯合并到较大的粗糙级别的高斯中。选择哪些高斯进行合并,是根据像素覆盖范围来确定的,覆盖范围由该区域内的最高频率成分的倒数  来决定,其中  为缩放因子。

通过这种方式,我们能够有效地合并较小的高斯原语,从而避免渲染过程中出现混叠效应,提高地图的质量和一致性。

回环检测和捆绑调整

在捆绑调整(BA)过程中,我们使用词袋(BoW)模型来确定关键帧之间的相关性。一旦检测到回环,就会触发对涉及关键帧的 BA 过程。为了在 BA 之后保持地图的几何和视觉一致性,我们调整渲染颜色  和深度 ,并使用估计的相对位姿变换  对共视关键帧  进行变换。我们构造 BA 损失如下:

高斯地图优化

建图目标函数

在我们的实验中,我们观察到在捆绑调整(BA)过程中,聚合的高斯原语可能会经历尺度膨胀,进而可能在地图中引入伪影。为了缓解这一问题,我们引入了 L2 正则化损失 ,该损失用于对尺度超过阈值  的高斯原语进行惩罚。因此,整体的建图损失定义为:

其中, 和  分别表示输入流的真实颜色和深度。SSIM 损失用于计算渲染图像与真实图像之间的结构相似性。系数 ,, 和  是加权超参数。

子地图划分与融合

在大规模环境中部署 SLAM 系统时,密集建图带来的过度内存消耗是实际应用中的一个关键问题。为了解决这一问题,我们采用了一种简单而有效的子地图划分与融合策略,如算法 1 所示。具体而言,我们将输入帧按每 400 帧为一个间隔进行子地图划分,结构如下:

其中, 表示每个子地图,用于开发 NeRF 模型和后续的高斯地图。尽管显式的高斯表示使得子地图可以无缝地合并为一个全局地图,但直接融合子地图仍然是一个具有挑战性的任务。我们借鉴 Mipsfusion 的思路,在子地图融合过程中使用锚帧捆绑调整(BA)来实现精确对齐,并确保子地图边界的无缝融合。每个子地图的锚定是基于其第一帧的估计位姿进行的。完成 BA 后,我们精确调整每个子地图的中心位姿,以确保准确的重新锚定。

我们的子地图策略通过允许每个子地图的并行构建,显著减少了内存消耗,从而缓解了全局地图持续扩展带来的问题。

实验效果

总结一下

DenseSplat是首个无缝结合 NeRF 和 3DGS 优势的 视觉稠密 SLAM 系统,用于实现鲁棒的跟踪和建图。DenseSplat 主要针对现实应用中的挑战,例如 遮挡视角、计算硬件限制导致的关键帧稀疏性 等问题。该方法通过 NeRF 先验 提升了高斯原语的插值能力,并优化了在较少关键帧条件下的 SLAM 性能,从而实现了 精细化的场景重建 和 卓越的实时表现。未来研究方向可以包括 在移动端应用中实现该系统,或在 多智能体协作系统 中推广 DenseSplat,并进一步在真实环境中进行实验。

限制性:其场景插值能力依赖于 NeRF,因此继承了 NeRF 的一些限制。当缺失区域过大,且 NeRF 无法有效捕捉几何信息时,我们的方法和 NeRF 一样 难以填补这些空洞,导致部分区域在重建地图中仍然欠缺。此外,由于 DenseSplat 采用 显式高斯原语 进行场景表示,其存储 高保真地图 需要的内存比 NeRF 模型更大(后者采用 隐式神经表示)。尽管 DenseSplat 通过 子地图系统 来减少计算过程中的内存消耗,但仍然存在优化空间,未来的研究可以探索更先进的 子地图管理策略,以在 多智能体系统 中实现更好的扩展性。

#xxx

#xxx

#xxx
#xxx
#xxx
#xxx
#xxx
#xxx

相关文章:

51c自动驾驶~合集51

我自己的原文哦~ https://blog.51cto.com/whaosoft/13320191 #毫末最新OAD 轨迹偏移学习助力端到端新SOTA~ 端到端自动驾驶技术在近年来取得了显著进展。在本研究中,我们提出了轨迹偏移学习,将传统的直接预测自车轨迹,转换为预测相对于…...

Redis 监视器:深入解析与实战指南

Redis 监视器:深入解析与实战指南 引言 随着互联网技术的飞速发展,企业对实时数据处理和高并发场景的需求日益增长。Redis作为一款高性能的内存数据库,在各个领域中得到了广泛应用,包括缓存、消息队列、实时数据分析等。然而&am…...

Java8适配的markdown转换html工具(FlexMark)

坐标地址&#xff1a; <dependency><groupId>com.vladsch.flexmark</groupId><artifactId>flexmark-all</artifactId><version>0.60.0</version> </dependency> 工具类代码&#xff1a; import com.vladsch.flexmark.ext.tab…...

超全Deepseek资料包,deepseek下载安装部署提示词及本地部署指南介绍

该资料包涵盖了DeepSeek模型的下载、安装、部署以及本地运行的详细指南&#xff0c;适合希望在本地环境中高效运行DeepSeek模型的用户。资料包不仅包括基础的安装步骤&#xff0c;还提供了68G多套独立部署视频教程教程&#xff0c;针对不同硬件配置的模型选择建议&#xff0c;以…...

Postman - Postman 导入 JSON 文件(导入集合或环境变量)

一、Postman 中的 JSON 文件 在 Postman 中导入的 JSON 文件通常是指集合&#xff08;Collection&#xff09;或环境变量&#xff08;Environments&#xff09; 集合是 Postman 中用于管理 API 请求的一种方式&#xff0c;可以通过导入 JSON 文件来加载一个集合 环境变量是 P…...

傅里叶分析之掐死教程

https://zhuanlan.zhihu.com/p/19763358 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析 不仅仅是一个数学工具&#xff0c;更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是&#xff0c;傅里叶分析的公式看起来太复杂了&#xff0c;所以很多…...

​实在智能与宇树科技、云深科技一同获评浙江省“人工智能服务商”、 “数智优品”​等荣誉

近日&#xff0c;浙江省经信厅正式公布《2024 年浙江省人工智能应用场景、应用标杆企业、人工智能服务商及 “数智优品” 名单》。 实在智能获评浙江省“人工智能服务商”&#xff0c;核心产品 “实在 Agent 智能体” 入选 “数智优品”。一同获此殊荣的还有宇树科技、云深处科…...

SpringAI系列 - RAG篇(三) - ETL

目录 一、引言二、组件说明三、集成示例一、引言 接下来我们介绍ETL框架,该框架对应我们之前提到的阶段1:ETL,主要负责知识的提取和管理。ETL 框架是检索增强生成(RAG)数据处理的核心,其将原始数据源转换为结构化向量并进行存储,确保数据以最佳格式供 AI 模型检索。 …...

Leetcode2080:区间内查询数字的频率

题目描述&#xff1a; 请你设计一个数据结构&#xff0c;它能求出给定子数组内一个给定值的 频率 。 子数组中一个值的 频率 指的是这个子数组中这个值的出现次数。 请你实现 RangeFreqQuery 类&#xff1a; RangeFreqQuery(int[] arr) 用下标从 0 开始的整数数组 arr 构造…...

北斗导航 | 周跳探测算法(matlab源码)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 周跳 1. 高次差法2. 相位减伪距法3. TurboEdit算法(MW+GF组合)4. 多项…...

Nginx实战_高性能Web服务器与反向代理的配置全解

1. 引言 1.1 Nginx简介 Nginx(发音为 “engine-x”)是一款轻量级、高性能的HTTP服务器和反向代理服务器。它以其高并发处理能力和低资源消耗而闻名,广泛应用于互联网企业中。Nginx不仅可以作为静态文件服务器,还可以通过反向代理功能与后端应用服务器协同工作。 1.2 Ngi…...

基于微信小程序的电影院订票选座系统的设计与实现,SSM+Vue+毕业论文+开题报告+任务书+指导搭建视频

本系统包含用户、管理员两个角色。 用户角色&#xff1a;注册登录、查看首页电影信息推荐、查看电影详情并进行收藏预定、查看电影资讯、在线客服、管理个人订单等。 管理员角色&#xff1a;登录后台、管理电影类型、管理放映厅信息、管理电影信息、管理用户信息、管理订单等。…...

MySQL智障离谱问题,删了库确还存在、也不能再创建同名库

1、问题 今天跟后端朋友接毕设单子的时候&#xff0c;后端穿过来的【weather.sql】这个文件没弄好&#xff0c;导致这个【weather】数据库的数据是错的&#xff0c;因此我用datagrip的GUI界面直接右键删除&#xff0c;结果就是tmd删不掉&#xff0c;ok&#xff0c;我只能在那新…...

基于单片机的多功能门铃控制系统设计(论文+源码)

1功能设计 本课题为基于单片机的多功能门铃控制系统设计&#xff0c;主要结合单片机技术&#xff0c;门铃控制技术进行设计&#xff0c;在多功能门铃控制系统的设计中&#xff0c;将其主要的设计功能确定如下&#xff1a; &#xff08;1&#xff09;可以实现门铃的基础功能…...

分享8款AI生成PPT的工具!含测评

随着人工智能技术的飞速进步&#xff0c;制作PPT变得愈发便捷&#xff0c;仅需输入主题指令&#xff0c;便能在瞬间获得一份完整的演示文稿。尤其在制作篇幅较长的PPT时&#xff0c;手动编写每一页内容并设计格式和排版&#xff0c;不仅效率低下&#xff0c;而且耗时耗力。 本…...

”无痕模式“真的无痕?

无痕模式&#xff08;也称为 隐身模式&#xff09;&#xff1a; 不保存浏览历史&#xff1a;当你在无痕模式下浏览网页时&#xff0c;浏览器不会保存你的浏览历史。这意味着关闭无痕窗口后&#xff0c;其他人查看浏览器时看不到你访问过的网页记录。 不保存Cookies&#xff1a…...

蓝桥杯班级活动

题目描述 小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学&#xff0c;老师想把所有的同学进行分组&#xff0c;每两名同学一组。为了公平&#xff0c;老师给每名同学随机分配了一个 n 以内的正整数作为 id&#xff0c;第 i 名同学的 id 为 ai。 老师希望通…...

PHP支付宝--转账到支付宝账户

官方参考文档&#xff1a; ​https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?sceneca56bca529e64125a2786703c6192d41&pathHash66064890​ 可以使用默认应用&#xff0c;也可以自建新应用&#xff0c;此处以默认应用来讲解【默认应用默认支持…...

2.18寒假

今天在题单中看了搜索。 解析&#xff1a;两个一维数组&#xff0c;用于表示上下左右四个方向的偏移量&#xff0c;分别对应 x 轴和 y 轴的偏移&#xff0c;遍历四个方向&#xff08;左、右、下、上&#xff09;&#xff0c;对于每个方向&#xff0c;检查目标位置是否未走过&am…...

Docker 与持续集成 / 持续部署(CI/CD)的集成(二)

五、代码示例与解释 &#xff08;一&#xff09;Dockerfile 示例 以下是一个简单的基于 Python Flask 应用的 Dockerfile 示例&#xff1a; # 使用Python 3.10-slim作为基础镜像 FROM python:3.10-slim # 设置工作目录 WORKDIR /app # 复制项目文件到容器内的工作目录 C…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...