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

降低60.6%碰撞率!复旦大学地平线CorDriver:首次引入「走廊」增强端到端自动驾驶安全性

导读

复旦大学&地平线新作-CorDriver: 首次通过引入"走廊"作为中间表征,揭开一个新的范式。预测的走廊作为约束条件整合到轨迹优化过程中。通过扩展优化的可微分性,使优化后的轨迹能无缝地在端到端学习框架中训练,从而提高安全性和可解释性。

©️【深蓝AI】编译

论文题目:Drive in Corridors: Enhancing the Safety of End-to-end Autonomous Driving via Corridor Learning and Planning

论文作者:Zhiwei Zhang, Ruichen Yang, Ke Wu, Zijun Xu, Jingchu Liu, Lisen Mu, Zhongxue Gan, Wenchao Ding

论文地址:https://arxiv.org/pdf/2504.07507

1,技术背景

端到端自动驾驶在复杂的现实世界场景提供了更好的可扩展性和适应性,它通过统一的神经网络直接将原始传感器数据映射到轨迹,该网络经过训练以模仿人类驾驶员。通过将模块(如感知、预测和规划)集成到单一可训练架构中,它消除了手工制定规则的需要。

但端到端涉及的安全行为是一个问题,源于基于学习的缺乏精确数学保证和可解释性。有研究通过在采样轨迹上引入安全成本函数来解决这一问题。然而,这种方法依赖于大量高质量的轨迹样本和精确的评估函数。例如:UniAD在占用栅格上进行后轨迹优化,而VAD采用约束损失来增强轨迹安全性。

为了提高端到端自动驾驶的安全性,本文提出两项研究。第一涉及解决约束车辆行为的有效表征缺失问题,通过在数据集中标注走廊、设计网络架构和制定损失函数,将走廊学习整合到端到端驾驶的多任务流程中。这些组件使模型能够在不同和动态的驾驶场景中准确且灵活地识别安全可行区域。其次,采用轨迹优化过程来生成规划轨迹。

本文贡献如下:

● 提出了CorDriver,一种在端到端框架内增强自动驾驶车辆安全性的显式和可解释方法。

● CorDiver是首次将安全走廊引入基于学习的自动驾驶, 还开发了一个完整的走廊学习流程,并证明了其在改善驾驶安全性方面的有效性。

● 以走廊为约束的可微分优化过程能够在考虑车辆运动学的同时生成安全轨迹,从而增强端到端驾驶的可解释性。

● 通过充分和全面的验证,该方法展示了端到端规划安全性的显著改进。

2,相关研究

2.1 安全端到端自动驾驶

在端到端自动驾驶中,确保安全的常用方法是为一组采样轨迹分配成本函数。早期方法预测占用栅格,并以与自车重叠的单元格数量作为安全评估指标。VADv2从示范中建模轨迹分布,对碰撞样本给予较低概率。但是这些基于采样的方法高度依赖采样轨迹的质量和多样性,而更大的轨迹库不可避免地会增加计算开销。

其他端到端方法通过回归直接预测轨迹,如UniAD和VAD。UniAD通过后优化优化轨迹以远离占用栅格,而VAD引入基于矢量化感知输出的额外损失函数来惩罚碰撞。还有些研究强调了轨迹质量与自车状态之间的联系,而其他方法提出改进的架构和解码器,使轨迹规划精确水平再次提高。

2.2 安全走廊

安全走廊是机器人规划中避免碰撞和轨迹优化的强大表征。它最初通过IRIS在机器人规划中引入,通过迭代优化计算凸无障碍区域以规划双足机器人的步态。Liu等人提高了这种方法的效率,并通过将约束表述为线性不等式来成功地将走廊应用于轨迹优化问题,将轨迹限制在多面体内。安全走廊的概念也可以用于自动驾驶。在本工作中,将这种表征扩展到端到端驾驶领域。如图1所示:

图 1 | CorDiver方法架构

3,方法精析

3.1,走廊学习
3.1.1 安全走廊表征

走廊通常使用连接的多面体或球体表示。然而,考虑到驾驶环境的高度结构化特性,如车道和智能体边界框,使用矩形作为走廊表征是一种简单有效的方法。这些矩形可以在2D鸟瞰图(BEV)上使用位置、朝向和大小等属性。为了在驾驶场景中融入时间信息,为每个规划时间戳分配一个矩形,得到走廊公式C:

其中$c_x$$c_y$表示矩形的中心位置,$\theta$表示其朝向,$l$$w$对应其长度和宽度。变量$N$表示未来时间戳的总数。在实践中,这种表征即使在高度动态的场景和弯曲道路上也能有效捕捉安全区域。与4D占用等替代方案相比,它更轻量级,更适合后续的凸优化。

3.1.2 安全走廊标注

使用走廊标注作为监督。在数据集中标注走廊的第一步是识别交通场景中的物理和语义障碍物。● 障碍物考虑:智能体。车辆和行人等交通参与者对安全驾驶至关重要,它们的边界框被保留为障碍物。

● 路沿,道路边界作为基本约束,确保车辆保持在可行驶区域内。

● 车道,车道也作为隐式限制,引导驾驶行为。

为此,首先提取最近时期$T_{ego}$的自车轨迹,并保留未与轨迹重叠的车道作为灵活的语义障碍物。基于这些元素的几何形状,使用指定阈值$\delta_{obs}$沿其轮廓采样2D坐标,形成障碍物点集:
$O = \{[p_x^o, p_y^o]_i | i = 1, ...N_o\}$

其中$N_o$是点的总数。这种方法是自适应的,可以扩展到额外的语义,如交通灯和行人过街道。

在识别了必要的障碍物后,可以通过寻找最大矩形来生成安全走廊。如图2所示,在每个时间戳$t$,提取2D障碍物点$\mathcal O_t$,并根据自车状态$(p_x^{ego}, p_y^{ego}, \theta^{ego})$将其坐标转换到局部坐标系。为提高计算效率,定义一个最大区域$(l_{max}, w_{max})$,并忽略区域外的点。这个问题被表述为计算几何学中广为研究的最大空矩形(Maximum Empty Rectangle, MER)问题——即在给定边界内找到包含原点且避开障碍物点的最大轴对齐矩形。为解决MER问题,通过遍历障碍物点的组合,每个点精确地定义候选矩形的边缘。计算并比较每个有效矩形的面积,选择最大的矩形。在每个时间戳重复此过程并将矩形组合在一起,可以生成走廊的完整标注。

图 2 | 安全走廊标注流程

3.1.3 安全走廊学习

本文端到端学习模型基于VAD,它利用矢量化场景表征并采用基于transformer的交互,从图像输入中生成检测、预测和地图。其规划头采用交互的自车查询$Q_{ego}$以及自车状态和驾驶指令,并使用多层感知机(MLP)解码自车轨迹。引入了与原始规划头并行的额外头部,直接从$Q_{ego}$解码走廊预测。
走廊损失计算为:
$\mathcal{L}_{cor}=\mathcal{L}_{1}\left(\hat{C}, C^{\star}\right)$

其中$\mathcal{L}_{1}$是损失,$\hat{C}$$C^{\star}$分别是预测和真实走廊。

为进一步捕捉几何特性,为走廊学习引入了三个辅助损失,包括两个将走廊从障碍物中排斥的安全损失项。感知输出提供路缘和智能体的位置。

路沿表示为标记道路边界的点集$\mathcal M$,而智能体简化为从检测和预测头获得的其边界框的顶点$\mathcal A$。其中,安全损失不惩罚与车道分隔线的重叠。因此,走廊预测可能与某些车道标记相交,以获得更大的安全区域,模仿人类在驾驶时利用相邻车道空间的倾向。随后,计算预测走廊每个矩形的边缘,并通过障碍物点与边缘之间的最小距离确定安全损失。

具体而言,地图安全损失$\mathcal{L}_{map}$和智能体安全损失$\mathcal{L}_{agent}$表述为:

$\begin{aligned} \mathcal{L}_{m a p} &=\sum_{t=1}^{N} \max _{i} \mathbb{D}\left(\mathbf{p}_{t}^{i}, \mathbf{c}_{t}\right), \mathbf{p}_{t}^{i} \in \mathcal{M} \end{aligned}$

$\begin{aligned} \mathcal{L}_{a g e n t} &=\sum_{t=1}^{N} \max _{i} \mathbb{D}\left(\mathbf{p}_{t}^{i}, \mathbf{c}_{t}\right), \mathbf{p}_{t}^{i} \in \mathcal{A} \end{aligned}$

其中$\mathbb{D}$表示计算点到矩形最近边缘的距离的函数,当点位于矩形内时。它定义为:
$ \mathbb{D} (\mathbf{p}, \mathbf{c}) = \begin{cases} \min_{i \in \{bl, br, tl, tr\}} d_i, & \text{if } \mathbf{p} \in \mathbb{C}, \\ 0, & \text{if } \mathbf{p} \notin \mathbb{C}. \end{cases}$

其中,$d_i$表示点与矩形四条边(左下、右下、左上、右上)的距离,$\mathbb{C}$代表矩形包围的区域。为防止走廊过度收缩,引入面积损失项以鼓励更大的走廊尺寸。面积损失定义为:
$\mathcal{L}_{area} = \sum_{t=1}^{N} e^{-\alpha w_t l_t}$

其中$\alpha$是控制惩罚强度的缩放参数,$w_t$$l_t$分别表示$t$时刻矩形的宽度和长度。

3.1.4 安全走廊对齐

基于预测与建图结果,进一步优化初始预测的走廊以减少与感知结果的潜在冲突。具体而言,将预测的智能体边界框和路缘石视为障碍物点,要求优化后的矩形必须排除这些点。优化后的矩形保留预测矩形原点$[\hat{c}_x, \hat{c}_y]_t$,其边界受预测矩形尺寸$[\hat{c}_l, \hat{c}_w]_t$约束,确保优化过程不会引入大的位置偏移或过度形状畸变。通过逐时间步求解MER问题,后处理步骤可得到优化后的走廊$C^+$,实现走廊与感知障碍物的对齐。

3.2,微分优化

基于车辆模型跟踪参考轨迹的问题在控制理论中通常建模为优化问题。本文提出的紧凑走廊表征,安全约束可以无缝集成,将问题构建为二次规划(QP)。这类优化过程的可微分性,允许梯度通过代价函数和约束反向传播,可以将优化过程嵌入网络作为可微分头部。

3.2.1 前向优化

正向传播通过求解优化问题计算最优控制序列,在满足系统动力学和约束条件下最小化预设代价函数。优化问题表述为:

其中$\mathbf{x} = \left[ p_x, p_y, \theta, v \right]^{\mathrm{T}} \in \mathbb{R}^{4}$包含车辆位置、航向和速度,控制向量$\mathbf{u} = [\alpha, \delta] \in \mathbb{R}^2$表示加速度和转向角。边界$\mathbf{u}_{min}$$\mathbf{u}_{max}$定义控制输入的可行范围,$\mathbf{x}_{init}$指定车辆初始状态。代价函数包含两个分量:跟踪代价$\hat{\mathbf{x}}_{t+1}^{\mathrm{T}} \mathbf{Q} \hat{\mathbf{x}}_{t+1}$和控制消耗$u_t^T R u_t$分别由正定对角矩阵$\mathbf Q$$\mathbf R$加权。其中,$\hat{\mathbf x} = \mathbf x_t - \hat{\xi}_t$表示与参考轨迹$\hat{\xi}_t$的偏差。
车辆动力学采用线性化自行车运动学模型建模,离散时间动力学方程为$\mathbf{x}_{t+1} = \mathbf{A} \mathbf{x}_t + \mathbf{B} \mathbf{u}_t$,矩阵$\mathbf A$$\mathbf B$定义为:

其中$\Delta_t$为时间步长,$L$为车辆轴距。

约束$x_t \in C_t$确保自车保持在指定走廊内。具体而言,预测走廊$\hat{C}$可转换为$\mathcal H$表示(即通过线性不等式定义的半空间交集来描述凸多面体),因此约束点$\mathbf p$位于矩形内可表达为:
$A_c p \leq b_c $

其中$\mathbf A_c$$\mathbf b_c$是由各时间戳矩形$\mathbf c_t$转换得到的不等式系数。
此外,需在约束中考虑自车尺寸。通过将自车顶点投影至世界坐标系,走廊约束进一步细化为:
$A_c \left ( \bar{R}_{\theta} \begin{bmatrix} l_{ego} & -w_{ego} \\ l_{ego} & w_{ego} \\ -l_{ego} & w_{ego} \\ -l_{ego} & -w_{ego} \end{bmatrix} ^T + P_{xy} \right ) \leq b_c$

其中$\bar{R}_{\theta}$为当前自车航向$\theta$的线性化旋转矩阵,$ P_{xy}$为自车位置堆叠矩阵,$l_{ego}$$w_{ego}$分别表示自车的半长和半宽。

最终通过求解$P$得到最优控制序列$\mathbf u$。从初始状态$\mathbf x_0$正向传播$\mathbf u$可生成最终轨迹$\tilde{\xi}$。模仿损失通过计算与人类驾驶轨迹$\xi^{\star}$的偏差实现。
$ \mathcal{L}_{imi} = \mathcal{L}_{1}\left(\tilde{\xi}, \xi^{\star}\right).$

通过整合所有加权损失函数,即走廊损失、地图安全损失、智能体安全损失、面积损失、模仿损失以及来自VAD的损失项,构建了整体学习目标。

3.2.2 反向传播

在反向传播过程中,利用KKT条件的隐式微分特性,将梯度从QP解传播至问题参数。KKT条件将最优解与问题参数相关联,使梯度能够通过优化层进行反向传播。通过求解线性化的KKT系统,可以高效计算梯度,这使得优化层能够调整控制策略、规划轨迹和走廊约束。

4,实验总结

4.1 实验细节

训练过程分为两个阶段。在第一阶段,不包含可微分优化模块,仅对检测、预测、建图、规划及走廊预测任务进行48轮次训练。第二阶段持续12轮次,在冻结感知模块参数的同时引入模仿损失函数。

4.2 实验结果

采用BEVPlanner1的评估框架。具体而言,将自车、交通参与者和路缘石投影至0.1米精度的鸟瞰网格,通过像素交集计算碰撞率ACR和CCR。任一时刻发生碰撞即判定轨迹失效,L2指标按时序平均计算,与VAD方法一致。

实验结果显示(表1),将UniAD、VAD-Base和AD-MLP均引入规划阶段自车状态信息

表1 | 在nuScenes上的规划结果

实验结果表明:在nuScenes开环测试中,基础模型CorDriver较领先模型VAD实现平均60.6%的物体碰撞率降低,较UniAD减少42.1%的路缘碰撞。强化版CorDriver+进一步将ACR和CCR分别降至0.11%和0.85%,对应66.7%和46.5%的降幅。闭环测试显示,CorDriver在保持可比驾驶得分的同时,显著提升车道保持能力和路线完成率,实现了安全性与效率的平衡。这充分验证了走廊学习与规划策略在降低碰撞风险、增强驾驶鲁棒性方面的优势。

4.3 消融实验

不同模块的消融实验结果如表2所示。验证结果表明:仅引入走廊学习任务即可在保持轨迹精度相当的情况下适度降低碰撞率;而辅助损失函数的加入显著提升了走廊预测精度,进而改善轨迹质量与安全性,这说明驾驶区域认知对自车轨迹规划具有潜在增益。

表 2 | 不同模块的消融实验结果

有无辅助损失的走廊预测对比如图3所示。尽管优化模块因建模误差导致轨迹精度略有下降,但其施加的安全约束使车辆与障碍物、路缘的碰撞率大幅降低,这种权衡是值得的的,因为实际应用中规避碰撞更为关键。优化对降低路缘碰撞的效果尤为显著,印证了走廊能有效捕捉道路几何特征,约束参考轨迹偏离路面。这些发现凸显了显式约束在轨迹优化中的重要性,证明了可解释规划过程对提升整体安全性的有效性。

图3 | 学习走廊的可视化结果

表3结果显示:仅优化权重矩阵时整体性能最佳,而引入可学习的轨迹与走廊参数会导致性能持平或下降。权重矩阵通过调节各项成本的重要性,能在不同样本间产生更稳定的优化影响,这种平滑的梯度特性有利于模型收敛与性能提升。

表 3 | 学习参数在优化方面的消融实验

4.4 其他结果

图4展示了多个挑战场景的可视化结果,包括交互路口、急弯道及车流汇入等。

图 4 | 定性实验结果

5,总结展望

本文提出CorDriver方法,通过走廊表征增强了端到端自动驾驶的安全性,将走廊预测作为约束融入轨迹优化,在提升安全性的同时增强了可解释性。作者还探索了可微分优化在端到端框架中的作用,验证了特定组件的可训练性带来的性能提升。

此外,模型优化过程产生的不稳定梯度对模型学习构成挑战,未来希望通过引入惩罚函数平滑梯度(而非硬约束)等方式改进。如何将基于模型的优化有效融入可扩展的端到端方法,是下一步需要研究的目标。

相关文章:

降低60.6%碰撞率!复旦大学地平线CorDriver:首次引入「走廊」增强端到端自动驾驶安全性

导读 复旦大学&地平线新作-CorDriver: 首次通过引入"走廊"作为中间表征,揭开一个新的范式。预测的走廊作为约束条件整合到轨迹优化过程中。通过扩展优化的可微分性,使优化后的轨迹能无缝地在端到端学习框架中训练,从而提高安全…...

查看购物车

一.查看购物车 查看购物车使用get请求。我们要查看当前用户的购物车,就要获取当前用户的userId字段进行条件查询。因为在用户登录时就已经将userId封装在token中了,因此我们只需要解析token获取userId即可,不需要前端再传入参数了。 Control…...

11 配置Hadoop集群-免密登录

一、复习导入 前面的课程中我们在虚拟机上安装并测试使用了hadoop的示例程序wordcount,并且在准备好了集群的同步工具,那接下来,我们就可去配置hadoop集群了。 二、授新 (一)认识ssh命令 SSH(Secure Shell…...

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.1 风险数据清洗与特征工程

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 PostgreSQL金融风控分析案例:风险数据清洗与特征工程实战一、案例背景:金融风控数据处理需求二、风险数据清洗实战(一)缺失值…...

《AI大模型应知应会100篇》第60篇:Pinecone 与 Milvus,向量数据库在大模型应用中的作用

第60篇:Pinecone与Milvus,向量数据库在大模型应用中的作用 摘要 本文将系统比较Pinecone与Milvus两大主流向量数据库的技术特点、性能表现和应用场景,提供详细的接入代码和最佳实践,帮助开发者为大模型应用选择并优化向量存储解…...

如何在通义灵码里使用 MCP 能力?

通义灵码编程智能体支持 MCP 工具使用,根据用户需求描述,通过模型自主规划,实现 MCP 工具调用,并深度集成国内最大的 MCP 中文社区——魔搭 MCP 广场,涵盖开发者工具、文件系统、搜索、地图等十大热门领域 2400 MCP 服…...

关于mac配置hdc(鸿蒙)

关于mac配置hdc(鸿蒙) 在最开始配置的hdc -v时候老是出现格式不匹配 于是乎在网上找官网也不行,最后在csdn上找到了这篇文章Mac配置hdc才有的头绪 环境变量的问题 自己做一个简单的总结 首先在访达里面打开ide 打开之后输入下面的命令,一步一步的找…...

几何_平面方程表示_点+向量形式

三维平面方程可以写成: π : n ⊤ X d 0 \boxed{\pi: \mathbf{n}^\top \mathbf{X} d 0} π:n⊤Xd0​ 📐 一、几何直观解释 ✅ 平面是“法向量 平面上一点”定义的集合 一个平面可以由: 一个单位法向量 n ∈ R 3 \mathbf{n} \in \mat…...

iOS safari和android chrome开启网页调试与检查器的方法

手机开启远程调试教程(适用于 Chrome / Safari) 前端移动端调试指南|适用 iPhone 和 Android|WebDebugX 出品 本教程将详细介绍如何在 iPhone 和 Android 手机上开启网页检查器,配合 WebDebugX 实现远程调试。教程包含…...

Matlab 模糊pid控制的永磁同步电机PMSM

1、内容简介 Matlab 226-模糊pid控制的永磁同步电机PMSM 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略基于模糊控制的高精度伺服速度控制器的设计与实现_刘京航...

ActiveMQ 高级特性:延迟消息与优先级队列实战(二)

三、优先级队列实战 3.1 优先级队列概念与应用场景 优先级队列是一种特殊的队列,与普通队列按照先进先出(FIFO)的规则不同,优先级队列中的元素按照其优先级进行排序,在消费消息时,高优先级的消息会优先被…...

ActiveMQ 高级特性:延迟消息与优先级队列实战(一)

引言 在当今的分布式系统开发中,消息中间件扮演着至关重要的角色,而 ActiveMQ 作为一款广泛使用的开源消息中间件,凭借其丰富的特性和良好的性能,深受开发者的青睐。它支持多种消息模型,如点对点和发布 / 订阅&#x…...

动手学深度学习12.4.硬件-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:31 深度学习硬件:CPU 和 GPU【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址&am…...

LAN-402 全国产信号采集处理模块K7-325T(4通道采集)

UD LAN-402全国产化信号处理模块最多支持2通道16bit125Msps的短波采集(或2通道14bit250Msps超短波采集)、2通道16bit310Msps超短波采集,可选配XC7K325T、XC7K410T、JFM7K325T、JFM7K410T FPGA芯片,对外支持PCIe2.0x8接口、千兆网、…...

关于大语言模型的困惑度(PPL)指标优势与劣势

1. 指标本身的局限性 与人类感知脱节: PPL衡量的是模型对词序列的预测概率(基于交叉熵损失),但低困惑度未必对应高质量的生成结果。例如: 模型可能生成语法正确但内容空洞的文本(PPL低但质量差)…...

[Spring AOP 8] Spring AOP 源码全流程总结

Spring AOP总结 更美观清晰的版本在:Github 前面的章节: [Spring AOP 1] 从零开始的JDK动态代理 [Spring AOP 2] 从零开始的CGLIB动态代理 [Spring AOP 3] Spring选择代理 [Spring AOP 4] Spring AOP 切点匹配 [Spring AOP 5] 高级切面与低级切面&#…...

通信网络编程——JAVA

1.计算机网络 IP 定义与作用 :IP 地址是在网络中用于标识设备的数字标签,它允许网络中的设备之间相互定位和通信。每一个设备在特定网络环境下都有一个唯一的 IP 地址,以此来确定其在网络中的位置。 分类 :常见的 IP 地址分为 I…...

支持向量机算法

支持向量机(Support Vector Machine,SVM)作为机器学习领域中一颗耀眼的明星,凭借其卓越的分类与回归能力,在众多算法中独树一帜。它宛如一位精准的边界守护者,通过巧妙地构建超平面,将不同类别的…...

Redis集群模式、持久化、过期策略、淘汰策略、缓存穿透雪崩击穿问题

Redis四种模式 单节点模式 架构​​:单个Redis实例运行在单台服务器。 ​​优点​​: ​​简单​​:部署和配置容易,适合开发和测试。 ​​低延迟​​:无网络通信开销。 ​​缺点​​: ​​单点故障​​&…...

【WPF】Opacity 属性的使用

在WPF(Windows Presentation Foundation)中,Opacity 属性是定义一个元素透明度的属性,其值范围是从 0.0(完全透明)到 1.0(完全不透明)。由于 Opacity 是在 UIElement 类中定义的&…...

编程题 02-线性结构3 Reversing Linked List【PAT】

文章目录 题目输入格式输出格式输入样例输出样例 题解解题思路完整代码 编程练习题目集目录 题目 Given a constant K K K and a singly linked list L L L, you are supposed to reverse the links of every K K K elements on L L L. For example, given L being 1 → …...

集成指南:如何采用融云 Flutter IMKit 实现双端丝滑社交体验

在移动应用开发领域,跨平台框架的广泛应用已成为一种趋势。 融云跨平台方案持续升级,近期正式上线 Flutter IMKit,uni-app IMKit 也将紧随其后向广大开发者开放。覆盖两大跨平台核心框架,一套代码即可支持 Android、iOS 双端丝滑…...

使用vite重构vue-cli的vue3项目

一、修改依赖 首先修改 package.json,修改启动方式与相应依赖 移除vue-cli并下载vite相关依赖,注意一些peerDependency如fast-glob需要手动下载 # 移除 vue-cli 相关依赖 npm remove vue/cli-plugin-babel vue/cli-plugin-eslint vue/cli-plugin-rout…...

LeetCode 2094.找出 3 位偶数:遍历3位偶数

【LetMeFly】2094.找出 3 位偶数:遍历3位偶数 力扣题目链接:https://leetcode.cn/problems/finding-3-digit-even-numbers/ 给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9)。数组中可能存在重复元素。 你…...

FLASH闪存(擦除、编译)

FLASH闪存 文章目录 FLASH闪存1.存储器映像位置2.FLASH简介3.闪存模块组织3.2闪存的共性: 4.FLASH基本结构4.1FLASH解锁4.2使用指针访问寄存器 5.选项字节5.1选项字节编程5.2选项字节擦除 6.相关函数介绍7.读取内部FLASH(实操)7.1接线图7.2工…...

企业即时通讯软件,私有化安全防泄密

在数字化转型与信创战略双重驱动下,企业对即时通讯工具的需求已从基础沟通转向安全可控、高效协同的综合能力。BeeWorks作为一款专为政企设计的私有化即时通讯与协同办公平台,凭借其全链路安全架构、深度国产化适配及灵活的业务集成能力,成为…...

直方图特征结合 ** 支持向量机图片分类

一、核心技术框架 1. 直方图特征原理 颜色直方图:统计图像中每个颜色区间(如 RGB 通道)的像素数量,反映颜色分布。HOG 直方图(方向梯度直方图):统计图像局部区域的梯度方向分布,捕…...

【prometheus+Grafana篇】基于Prometheus+Grafana实现windows操作系统的监控与可视化

💫《博主主页》: 🔎 CSDN主页 🔎 IF Club社区主页 🔥《擅长领域》:擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(MongoDB)有了…...

PyTorch实战(4)——卷积神经网络(Convolutional Neural Network, CNN)详解

PyTorch实战(4)——卷积神经网络详解 0. 前言1. 全连接网络的缺陷2. 卷积神经网络基本组件2.1 卷积2.2 步幅和填充2.3 池化2.3 卷积神经网络完整流程 3. 卷积和池化相比全连接网络的优势4. 使用 PyTorch 构建卷积神经网络4.1 使用 PyTorch 构建 CNN 架构…...

【Python】Python常用控制结构详解:条件判断、遍历与循环控制

Python提供了多种控制结构来处理逻辑判断和循环操作,包括if-else条件分支、switch替代方案、遍历方法以及循环控制语句break和continue。以下是对这些功能的详细说明及示例: 一、条件判断:if-else与多分支结构 单分支结构 • 语法&#xff1…...

在Linux中安装JDK并且搭建Java环境

1.首先准备好JDK的Linux的安装包 2.打开Linux,进入root的文件夹,直接拖入即可 3.输入解压命令,后面指定的是位置(注意不要填写错误,就填写这个) 4.之后进入我们安装的jdk的文件 利用pwd命令,展示我们安装的目录,之后…...

理解多智能体深度确定性策略梯度MADDPG算法:基于python从零实现

引言:多智能体强化学习(MARL) 多智能体强化学习(MARL)将强化学习拓展到多个智能体在共享环境中相互交互的场景。这些智能体可能相互合作、竞争,或者目标混杂。MARL 引入了单智能体设置中不存在的独特挑战。…...

【AI大语言模型本质分析框架】

AI大语言模型本质分析框架 ——从教育危机到智能本质的七层递进式解构 第一层:现象观察——阴(显性危机)与阳(隐性变革)的共存 观点1(阴):AI作弊泛滥,传统教育体系崩溃…...

算法模型部署后_python脚本API测试指南-记录3

API 测试指南 服务运行后&#xff0c;可以通过以下方式测试&#xff1a; Curl: curl -X POST -F "file./test_dataset/surface/surface57.png" http://<服务器IP>:9000/api/v1/predictPython 脚本: (参考 svm_request测试.py) import requestsurl http://…...

鸿蒙(HarmonyOS)应用开发入门教程

目录 第一章:鸿蒙系统简介 1.1 什么是鸿蒙系统? 1.2 鸿蒙系统架构 第二章:开发环境搭建 2.1 安装DevEco Studio 步骤1:下载与安装 步骤2:首次配置 步骤3:设备准备 2.2 创建第一个项目 第三章:鸿蒙应用开发基础 3.1 核心概念:Ability与AbilitySlice 示例代码…...

MIT XV6 - 1.6 Lab: Xv6 and Unix utilities -uptime

接上文 MIT XV6 - 1.5 Lab: Xv6 and Unix utilities - xargs 第一章持续有点久了&#xff0c;虽然肯定有些特点和细节还没注意到&#xff0c;但这次的主要目的是学习内核部分&#xff0c;决定水一篇然后进入第二章节 uptime 第一章的最后一个实验&#xff0c;选做性质&#xf…...

Python语言在地球科学交叉领域中的应用——从数据可视化到常见数据分析方法的使用【实例操作】

前言&#xff1a; Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台&#xff08;x86和arm&#xff09;&#xff0c;Python简洁的语法和对动态输入的支持&#xff0c;再加上解释…...

flutter 的 json序列化和反序列化

一、json转实体 Instantly parse JSON in any language | quicktype 二、实体中的toJson和fromJson 实现 官方推荐的 两个插件(个人觉得一个实体会多一个.g.dart 文件太多了&#xff0c;不喜欢) json_annotation json_serializable 三、使用 dart_json_mapper 实现上面的功…...

什么是数据集市(Data Mart)?

数据集市&#xff08;Data Mart&#xff09;是数据仓库&#xff08;Data Warehouse&#xff09;的一个子集&#xff0c;专门针对某个特定业务部门、业务线或主题领域&#xff0c;存储和管理该部门或领域所需的特定数据。它通常包含从企业范围的数据仓库中抽取、筛选和汇总的部分…...

从攻击者角度来看Go1.24的路径遍历攻击防御

目录 一、具体攻击示例 程序 攻击步骤&#xff1a; 二、为什么攻击者能成功&#xff1f; 分析 类比理解 总结 三、TOCTOU 竞态条件漏洞 1、背景&#xff1a;符号链接遍历攻击 2. TOCTOU 竞态条件漏洞 3. 另一种变体&#xff1a;目录移动攻击 4. 问题的核心 四、防…...

[ARM][汇编] 01.基础概念

目录 1.全局标号 1.1.使用方法 1.1.1.声明全局标号 1.1.2.定义全局标号 1.1.3.引用全局标号 1.2.全局标号与局部标号的区别 1.3.注意事项 2.局部标号 2.1.使用方法 2.1.1.定义局部标号 2.1.2.跳转引用 2.2.局部标号与全局标号的对比 2.3.注意事项 3.符号定义伪指…...

杭州电商全平台代运营领军者——品融电商

杭州电商全平台代运营领军者——品融电商&#xff1a;以“效品合一”驱动品牌全域增长 在电商行业竞争日益白热化的当下&#xff0c;品牌如何突破流量焦虑、实现长效增长&#xff1f;作为中国领先的品牌化电商服务商&#xff0c;杭州品融电商&#xff08;PINKROON&#xff09;…...

02.Golang 切片(slice)源码分析(一、定义与基础操作实现)

Golang 切片&#xff08;slice&#xff09;源码分析&#xff08;一、定义与基础操作实现&#xff09; 注意当前go版本代码为1.23 一、定义 slice 的底层数据是数组&#xff0c;slice 是对数组的封装&#xff0c;它描述一个数组的片段。两者都可以通过下标来访问单个元素。 数…...

当生产了~/qt-arm/bin/qmake,可以单独编译其他-源码的某个模块,如下,编译/qtmultimedia

cd ~/qt-everywhere-src-5.15.2/qtmultimedia # 设置交叉编译器和 qmake 路径 export CC/usr/bin/aarch64-linux-gnu-gcc export CXX/usr/bin/aarch64-linux-gnu-g export QMAKE~/qt-arm/bin/qmake # 使用已安装的 qmake export QT_INSTALL_PREFIX~/qt-arm # 安装路径 # 配…...

WordPress 网站上的 jpg、png 和 WebP 图片插件

核心功能 1. 转换 AVIF 并压缩 AVIF 将您 WordPress 网站上的 jpg、png 和 WebP 图片转换为 AVIF 格式&#xff0c;并根据您设置的压缩级别压缩 AVIF 图片。如果原始图片已经是 WordPress 6.5 以上支持的 AVIF 格式&#xff0c;则原始 AVIF 图片将仅被压缩。 2. 转换 WebP 并…...

构造+简单树状

昨日的牛客周赛算是比较简单的&#xff0c;其中最后一道构造题目属实眼前一亮。 倒数第二个题目也是一个很好的模拟题目&#xff08;考验对二叉树的理解和代码的细节&#xff09; 给定每一层的节点个数&#xff0c;自己拟定一个父亲节点&#xff0c;构造一个满足条件的二叉树。…...

Flask支持哪些日志框架

目录 ✅ Flask 默认支持的日志框架 ✅ 默认推荐:logging(标准库) ✅ 进阶推荐:Loguru(更优雅的日志库) ✅ Flask 日志级别说明(与标准库一致) ✅ 生产环境建议 ✅ 总结推荐 在 Flask 中,默认的日志系统是基于 Python 标准库 logging 模块 构建的。 ✅ Flask 默认…...

健康养生指南:解锁活力生活的科学密码

健康是人生最珍贵的财富&#xff0c;在快节奏的现代生活中&#xff0c;掌握科学的养生方法至关重要。虽然不借助中医理念&#xff0c;我们依然可以从饮食、运动、睡眠等多个方面入手&#xff0c;打造健康生活方式。 合理的饮食是健康的基石。遵循均衡饮食原则&#xff0c;保证每…...

SAR图像压缩感知

SAR图像压缩感知 matlab代码 对应着汕大闫老师的那本压缩感知及其应用&#xff0c;有需要的可以看一下&#xff01;&#xff01; SAR图像压缩感知/baboon.bmp , 66616 SAR图像压缩感知/camera.bmp , 66616 SAR图像压缩感知/DWT.m , 1265 SAR图像压缩感知/Gauss.m , 373 SAR图像…...

定时器设计

定时器设计的必要性 服务器中的定时器设计具有多方面的必要性&#xff0c;主要体现在以下几个关键方面&#xff1a; 任务调度与管理 定时任务执行&#xff1a;服务器常常需要执行一些定时性的任务&#xff0c;如定时备份数据、定时清理缓存、定时更新系统日志等。通过定时器可…...