CVPR2024 轨迹预测系列(一)

news2024/12/22 22:03:39

CVPR2024 轨迹预测系列(一)

文章目录

  • CVPR2024 轨迹预测系列(一)
    • 一、Adapting to Length Shift: FlexiLength Network for Trajectory Prediction.
      • 1、Abstract
      • 2、FlexiLength Network
      • 3、Datasets
      • 4、Experiments
      • 5、Implementation Details
      • 6、Conclusion
    • 二、CaDeT: a Causal Disentanglement Approach for Robust Trajectory Prediction in Autonomous Driving.
      • 1、Abstract
      • 2、Introduction
      • 3、Methodology
      • 4、Datasets
      • 4、Experiments
      • 5、Conclusion

CVPR trends

一、Adapting to Length Shift: FlexiLength Network for Trajectory Prediction.

  • Adapting to Length Shift: FlexiLength Network for Trajectory Prediction. arXiv
  • 适应长度变化:用于轨迹预测的 FlexiLength 网络

1、Abstract

Trajectory prediction plays an important role in various applications, including autonomous driving, robotics, and scene understanding. Existing approaches mainly focus on developing compact neural networks to increase prediction precision on public datasets, typically employing a standardized input duration. However, a notable issue arises when these models are evaluated with varying observation lengths, leading to a significant performance drop, a phenomenon we term the Observation Length Shift. To address this issue, we introduce a general and effective framework, the FlexiLength Network (FLN), to enhance the robustness of existing trajectory prediction techniques against varying observation periods. Specifically, FLN integrates trajectory data with diverse observation lengths, incorporates FlexiLength Calibration (FLC) to acquire temporal invariant representations, and employs FlexiLength Adaptation (FLA) to further refine these representations for more accurate future trajectory predictions. Comprehensive experiments on multiple datasets, i.e., ETH/UCY, nuScenes, and Argoverse 1, demonstrate the effectiveness and flexibility of our proposed FLN framework.

轨迹预测在自动驾驶、机器人和场景理解等各种应用中发挥着重要作用。现有方法主要集中于开发紧凑的神经网络以提高公共数据集的预测精度,通常采用标准化的输入持续时间。然而,当使用不同的观察长度评估这些模型时,会出现一个值得注意的问题,导致性能显着下降,我们将这种现象称为观察长度偏移。为了解决这个问题,我们引入了一个通用且有效的框架,即 FlexiLength Network (FLN),以增强现有轨迹预测技术针对不同观测周期的鲁棒性。具体来说,FLN 将轨迹数据与不同的观测长度相结合,结合 FlexiLength Calibration (FLC) 来获取时间不变表示,并采用 FlexiLength Adaptation (FLA) 进一步细化这些表示,以实现更准确的未来轨迹预测。对多个数据集(即 ETH/UCY、nuScenes 和 Argoverse 1)的综合实验证明了我们提出的 FLN 框架的有效性和灵活性。

在这里面作者提出了Observation Length Shift的概念,当使用不同的观察长度评估这些模型时,会导致性能显着下降

image-20240629110821661

图 1. 观察长度偏移现象是轨迹预测任务中的常见问题。 AgentFormer 模型使用 8 个时间步长的标准观察长度进行训练,并以不同的长度进行测试,以与隔离训练 (IT) 进行比较。对于每个数据集,从左到右的条形组分别对应于 2、4 和 6 个时间步长的观察长度。

  • AgentFormer 用于对照,设置Observation Length 为8个时间步长,在2,4,6时间步长下的测试
  • AgentFormer_IT 用于探究不同的Observation Length对结果的影响, 原文提到的是specific observation length,推测是保持和测试的时间步长保持一致,即2,4,6

image-20240629122154265

2、FlexiLength Network

image-20240629112750926

图 4.我们的 FlexiLength 网络 (FLN) 的图示。为了简单起见,省略了映射编码分支。在训练期间,通过输入不同的观察长度 H S H^S HS H M H^M HM,和 H L H^L HL ,我们利用 FlexiLength Calibration (FLC) 来获取时间不变表示。此外,采用 FlexiLength Adaptation (FLA) 将这些不变表示与不同的子网络对齐,从而增强模型功能。在推理过程中,观察长度最匹配的子网络被激活。

这里的“观察者长度”(Observation Length,标记为 H H H ) 指的是模型在预测未来轨迹之前用来观察的过去轨迹的时间长度。这个长度可以是不同的取值,比如 H S H^S HS H M H^M HM,和 H L H^L HL ,代表短、中、和长的观察序列。

需要注意的是,这里的 H S H^S HS H M H^M HM,和 H L H^L HL 是通过we can generate sequences of varying lengths either through truncation or a sliding window approach.截断或滑动来获得不同的长度

image-20240629120114388

这里的观察者长度用于训练和推理(测试)过程:

  • 训练时 :根据不同的观察长度 H S H^S HS H M H^M HM,和 H L H^L HL 输入相应的历史轨迹,模型学习如何根据不同长度的观察来预测未来的状态。这里引入了“FlexiLength Calibration (FLC)”来获取时间不变的表示,并通过“FlexiLength Adaptation (FLA)”来对齐这些表示,增强模型的泛化能力。
  • 推理时 (即测试时):根据测试时提供的观察长度,激活与之最匹配的子网络来进行未来轨迹的预测。

因此,观察者长度在这里既适用于训练集也适用于测试集,它是连接过去轨迹输入和未来轨迹预测的桥梁。

3、Datasets

Datasets. We use three following datasets: (1) The ETH/UCY dataset [31, 46] is a primary benchmark for pedestrian trajectory prediction, including five datasets, Eth, Hotel, Univ, Zara1, and Zara2, with densely interactive trajectories sampled at 2.5Hz. (2) The nuScenes dataset [74] is a large autonomous driving dataset featuring 1000 scenes, each annotated at 2Hz, and includes HD maps with 11 semantic classes. (3) Argoverse 1 [7] contains 323,557 realworld driving sequences sampled at 10Hz, complemented with HD maps for trajectory prediction.

数据集。我们使用以下三个数据集:(1)ETH/UCY数据集[31, 46]是行人轨迹预测的主要基准,包括Eth、Hotel、Univ、Zara1和Zara2五个数据集,具有以2.5采样的密集交互轨迹赫兹。 (2) nuScenes数据集[74]是一个大型自动驾驶数据集,具有1000个场景,每个场景以2Hz进行注释,并包括具有11个语义类别的高清地图。 (3) Argoverse 1 [7] 包含 323,557 个以 10Hz 采样的现实世界驾驶序列,并辅以用于轨迹预测的高清地图。

4、Experiments

image-20240629113206885

表 1. 与 nuScenes 上的基线模型的比较,使用 ADE5/FDE5 和 ADE10/FDE10 指标进行评估。最好的结果以粗体突出显示,次好的结果加下划线。

where K indicates the number of trajectories to be predicted.(其中K表示要预测的轨迹数量)

image-20240629122431318

图 5. 使用 AgentFormer 模型在五个 ETH/UCY 数据集上的性能,通过 ADE20 进行测量。这些结果与基线模型和隔离训练 (IT) 的结果进行了比较,展示了我们的 FLN 取得的显着改进。

image-20240629122448810

图 6. 使用 AgentFormer 模型在五个 ETH/UCY 数据集上的性能,通过 FDE20 进行测量。这些结果与基线模型和隔离训练 (IT) 的结果进行了比较,展示了我们的 FLN 取得的显着改进。

5、Implementation Details

We employ the official codes of the AgentFormer model [73], as found in 1, and the HiVT [75] model, as found in 2, to evaluate our proposed framework. We utilize the provided pre-trained models to assess the performance across different observation lengths. Specifically, for the HiVT model, we opt for its smaller variant, HiVT-64, and use the Argoverse 1 validation set.

我们采用 AgentFormer 模型 [73] 的官方代码(如 1 中所示)和 HiVT [75] 模型(如 2 中所示)来评估我们提出的框架。我们利用提供的预训练模型来评估不同观察长度的性能。具体来说,对于 HiVT 模型,我们选择其较小的变体 HiVT-64,并使用 Argoverse 1 验证集。

  • https://github.com/Khrylx/AgentFormer
  • https://github.com/ZikangZhou/HiVT

6、Conclusion

In this paper, we tackle the critical challenge of Observation Length Shift in trajectory prediction by introducing the FlexiLength Network (FLN). This novel framework, incorporating FlexiLength Calibration (FLC) and FlexiLength Adaptation (FLA), offers a general solution for handling varying observation lengths and requires only one-time training. Our thorough experiments on datasets such as ETH/UCY, nuScenes, and Argoverse 1 demonstrate that FLN not only improves prediction accuracy and robustness over a range of observation lengths but also consistently outperforms Isolated Training (IT). Limitation and Future Work. One limitation is that FLN will increase training time due to handling several input sequences per training iteration. Going forward, we will focus on enhancing the training efficiency of FLN.

在本文中,我们通过引入 FlexiLength Network (FLN) 来解决轨迹预测中观察长度偏移的关键挑战。这一新颖的框架结合了 FlexiLength 校准 (FLC) 和 FlexiLength 适应 (FLA),为处理不同的观察长度提供了一种通用解决方案,并且仅需要一次性培训。我们对 ETH/UCY、nuScenes 和 Argoverse 1 等数据集进行的彻底实验表明,FLN 不仅提高了一系列观察长度上的预测准确性和鲁棒性,而且始终优于隔离训练 (IT)。限制和未来的工作。一个限制是 FLN 由于每次训练迭代处理多个输入序列而会增加训练时间。下一步,我们将重点关注提升FLN的训练效率。

二、CaDeT: a Causal Disentanglement Approach for Robust Trajectory Prediction in Autonomous Driving.

CaDeT: a Causal Disentanglement Approach for Robust Trajectory Prediction in Autonomous Driving. CVPR2024

CaDeT:自动驾驶中稳健轨迹预测的因果解开方法

1、Abstract

For safe motion planning in real-world, autonomous vehicles require behavior prediction models that are reliable and robust to distribution shifts. The recent studies suggest that the existing learning-based trajectory prediction models do not posses such characteristics and are susceptible to small perturbations that are not present in the training data, largely due to overfitting to spurious correlations while learning.

为了实现现实世界中的安全运动规划,自动驾驶车辆需要对分布变化可靠且稳健的行为预测模型。最近的研究表明,现有的基于学习的轨迹预测模型不具备这样的特征,并且容易受到训练数据中不存在的小扰动的影响,这主要是由于学习时对虚假相关性的过度拟合。

In this paper, we propose a causal disentanglement representation learning approach aiming to separate invariant (causal) and variant (spurious) features for more robust learning. Our method benefits from a novel intervention mechanism in the latent space that estimates potential distribution shifts resulted from spurious correlations using uncertain feature statistics, hence, maintaining the realism of interventions. To facilitate learning, we propose a novel invariance objective based on the variances of the distributions over uncertain statistics to induce the model to focus on invariant representations during training. We conduct extensive experiments on two large-scale autonomous driving datasets and show that besides achieving state-of-the-art performance, our method can significantly improve prediction robustness to various distribution shifts in driving scenes. We further conduct ablative studies to evaluate the design choices in our proposed framework.

在本文中,我们提出了一种因果解缠表示学习方法,旨在分离不变(因果)和变异(虚假)特征以实现更稳健的学习。我们的方法受益于潜在空间中的一种新颖的干预机制,该机制使用不确定的特征统计来估计由虚假相关性引起的潜在分布变化,从而保持干预的真实性。为了促进学习,我们提出了一种基于不确定统计分布方差的新颖的不变性目标,以促使模型在训练期间专注于不变表示。我们对两个大规模自动驾驶数据集进行了广泛的实验,结果表明,除了实现最先进的性能外,我们的方法还可以显着提高对驾驶场景中各种分布变化的预测鲁棒性。我们进一步进行烧蚀研究来评估我们提出的框架中的设计选择。

2、Introduction

image-20240629170227413

图 1. 驾驶场景图示,显示感兴趣主体周围有两辆车,其中一辆代表导致感兴趣主体减速的因果因素,另一辆是非因果因素,因此不会造成影响。在这里, P S ← P C P_S ← P_C PSPC 将打开一个后门(非因果虚线链接),从而创建虚假相关性。所提出的方法首先通过场景 $G $的时空环境分离因果因素和虚假因素,然后通过不确定性驱动的因果干预来切断后门路径,诱导模型在预测未来行为 y 时仅关注因果模式 P C P_C PC,并丢弃虚假模式 P S P_S PS.

  • P S P_S PS表示spurious patterns(虚假模式,未对Agent造成影响)

  • P C P_C PC表示causal patterns(因果模式,对Agent造成影响)

  • G G G表示the spatiotemporal environment of scene(时空环境)

  • y y y表示predicting future behavior(预测未来的行为)

3、Methodology

image-20240629171528820

图 2. 所提议方法的概述。我们将场景内容表示为 DyHIN,然后使用不确定性驱动的干预机制,将这些特征分解为因果组和虚假组。使用不变损失,我们抑制虚假特征,迫使模型依赖因果特征进行预测。

DyHIN主要包含四个部分,具体如下

场景编码(Scene Encoding)

  • DyHIN 被定义为一个动态图 G = { G t } t = 1 T G=\{G_t\}^T_{t=1} G={Gt}t=1T,其中 T T T 是时间戳的数量,每个时间戳 t t t的异构图切片 G t = ( V t , E t ) G_t=(V_t,E_t) Gt=(Vt,Et)由节点集合 V V V 和边集合 E E E 组成。图 G G G 包括节点和变的映射

因果解耦(Causal Disentanglement)

  • P C ( u ) P_C(u) PC(u)表示因果模式和 P S ( u ) P_S(u) PS(u)表示伪因果模式, P C t ( u ) P_C^t(u) PCt(u)表示在第 t t t时间戳的内容
  • u u u 表示场景中的交通参与者 A g e n t Agent Agent, α C \alpha C αC α S \alpha S αS表示的是注意力机制
  • 解耦后的特征被分成两组,绿色表示因果特征 Z C t ( u ) Z_C^t(u) ZCt(u),红色表示伪因果特征 Z S t ( u ) Z_S^t(u) ZSt(u)
  • image-20240629180539446

不过这个最后一步的 Z ( u ) t ← Z C t ( u ) + Z S t ( u ) Z(u)^t \leftarrow Z^t_C(u)+Z^t_S(u) Z(u)tZCt(u)+ZSt(u)按照论文里的描述是聚合成 Z ( u ) Z(u) Z(u)再输入后续层,但是后续好像并没使用到 Z ( u ) Z(u) Z(u)

不确定性驱动的干预(Uncertainty-Driven Intervention)

  • 使用不确定性估计模块 I ( Z S , n I ) I(Z_S,n_I) I(ZS,nI) 来估计伪因果特征中的不确定性。
  • 根据估计的不确定性,通过采样获得干预集 μ ∗ ∼ N ( μ , Σ ) μ^∗∼N(μ,Σ) μN(μ,Σ)

预测(Prediction)

  • 干预后的特征被输入预测模型,生成对目标车辆(蓝色)的未来行为预测。
  • 预测输出被用来计算损失函数 L d o L_{do} Ldo

不变性目标优化(Invariance Objective Optimization)

  • 通过计算不变性损失 L d o L_{do} Ldo 和总体损失 L o v e r a l l L_{overall} Loverall,压制伪因果特征的影响,增强模型对因果特征的依赖。
  • L d o L_{do} Ldo 表示在干预下的因果损失,公式为: L d o = V a r I i ∈ X ( L h o l ∣ d o ( P S t = I i ) ) L_{do}=Var_{I_i}∈X(L_{hol}∣do(P^t_S=I_i)) Ldo=VarIiX(Lholdo(PSt=Ii))这里 LchlL_{chl}Lchl 是变化后的损失, X \mathcal{X} X 是输入特征集。
  • 总体损失 L o v e r a l l L_{overall} Loverall为: L o v e r a l l = L + λ L d o L_{overall}=L+λL_{do} Loverall=L+λLdo 其中 LLL 是原始预测损失, λ\lambdaλ 是调节参数,用于平衡两部分损失的权重。
  • image-20240629181833483

4、Datasets

We evaluate our method on two large-scale motion forecasting datasets including Argoverse-2 (AGV2) [9] and Waymo Open Motion Dataset (WOMD) [53]. AGV2 contains 250K scenarios split into 200K, 25K, and 25K samples for training, validation, and testing, respectively. The task is to make 6s predictions based on 5s observations. WOMD consists of 487K training scenes and validation and testing set each with 44K scenes. Here, the objective is to predict 8s into the future based on 1s observation.

我们在两个大型运动预测数据集上评估我们的方法,包括 Argoverse-2 (AGV2) [9] 和 Waymo 开放运动数据集 (WOMD) [53]。 AGV2 包含 250K 个场景,分为 200K、25K 和 25K 样本,分别用于训练、验证和测试。任务是根据 5s 的观察结果进行 6s 的预测。 WOMD 由 487K 训练场景以及验证和测试集组成,每个场景都有 44K 场景。这里,目标是根据 1 秒的观察来预测未来 8 秒的情况。

4、Experiments

image-20240629183935768

图 3. AGV2 上 CaDeT 的定性结果。感兴趣的代理以红色显示,其他车辆上的颜色强度表示因果分数(颜色越深越高)。观察、真实情况和预测分别显示为橙色、绿色和紫色。

5、Conclusion

We proposed a novel causal disentanglement approach in which we formulated both the spatial and temporal relations in the scenes through spatiotemporal patterns and used a causal disentanglement approach to separate causal and spurious factors. We proposed an intervention mechanism to simulate the potential distribution shifts at inference time by generating multiple intervened distributions based on spurious factors in the latent space using feature statistics, hence, maintaining the realism of interventions. Lastly, we proposed an invariance training objective to leverage causal factors and intervened distributions to induce the model to focus on causal relations. As a result, the influence of spurious correlations are mitigated making the model more robust against distribution shifts during inference time. We conducted extensive empirical studies on two large-scale autonomous driving datasets and demonstrated that our approach not only achieves state-of-the-art performance but also significantly improves upon prediction robustness against various distribution shifts.

我们提出了一种新颖的因果解开方法,通过时空模式制定场景中的空间和时间关系,并使用因果解开方法来分离因果因素和虚假因素。我们提出了一种干预机制,通过使用特征统计基于潜在空间中的虚假因素生成多个干预分布来模拟推理时的潜在分布变化,从而保持干预的真实性。最后,我们提出了一个不变性训练目标,以利用因果因素和干预分布来诱导模型关注因果关系。因此,虚假相关性的影响得到减轻,使模型在推理时间内对分布变化更加稳健。我们对两个大规模自动驾驶数据集进行了广泛的实证研究,并证明我们的方法不仅实现了最先进的性能,而且还显着提高了针对各种分布变化的预测鲁棒性。

参考

  • https://github.com/amusi/CVPR2024-Papers-with-Code?tab=readme-ov-file#Autonomous-Driving

  • https://public.tableau.com/views/CVPR2024/CVPRtrends?:showVizHome=no

  • https://github.com/colorfulfuture/Awesome-Trajectory-Motion-Prediction-Papers

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

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

相关文章

2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第二部分】

上一篇文章:2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第一部分】_尘封的CPU的博客-CSDN博客最近回顾了Java B组的试题,深有感触:脑子长时间不用会锈住,很可怕。兄弟们,都给我从被窝里爬起来,赶…

windows@文件高级共享设置@网络发现功能@从资源管理器网络中访问远程桌面

文章目录 高级共享设置常用选项其他选项操作界面说明 网络类型检查和设置(专用网络和公用网络)👺Note 高级共享设置和防火墙👺命令行方式使用图形界面方式配置 网络发现网络发现功能的详细介绍网络发现的作用👺网络发现的工作原理启用和配置网…

【Java Gui精美界面】IDEA安装及配置SwingX

SwingX 是一个基于 Swing 的 Java GUI 库,旨在为 Swing 提供额外的功能和丰富的组件 特点描述基于 Swing继承了 Swing 的所有特性和功能。丰富组件SwingX 提供了一组高级 UI 组件,例如 TreeTable仍在发展中不活跃的发展ing。。。支持搜索高亮如 TreeTab…

【51单片机】串口通信(发送与接收)

文章目录 前言串口通信简介串口通信的原理串口通信的作用串口编程的一些概念仿真图如何使用串口初始化串口串口模式波特率配置 发送与接收发送接收 示例代码 总结 前言 在嵌入式系统的开发中,串口通信是一种常见且重要的通信方式。它以其简单、稳定的特性在各种应用…

【深度强化学习】关于混合动作空间转化为连续域空间的一点思考与实现

文章目录 前言问题解决方法以此类推假设动作之间有联系假设动作之间没有联系 前言 根据导师的文章,得到的想法,论文如下: 论文链接:《Deep Reinforcement Learning for Smart Home Energy Management》 问题 现在我有一个环境&…

Linux shell编程学习笔记60:touch命令

0 前言 在csdn技能树Linux入门的练习题中,touch是最常见的一条命令。这次我们就来研究它的用法。 1 touch命令的功能、格式和选项说明 我们可以使用touch --help命令查看touch命令的帮助信息。 [purpleendurer bash ~ ]touch --help Usage: touch [OPTION]... …

CMake(1)基础使用

CMake之(1)基础使用 Author: Once Day Date: 2024年6月29日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Linux实践记录_Once-Day的博客-CSDN博客…

【C++】数组、字符串

六、数组、字符串 讨论数组离不开指针,指针基本上就是数组的一切的基础,数组和指针的相关内容参考我的C系列博文:【C语言学习笔记】四、指针_通过变量名访问内存单元中的数据缺点-CSDN博客【C语言学习笔记】三、数组-CSDN博客 1、数组就是&…

密码学基础之ASN.1编码

简介 ASN.1(Abstract Syntax Notation One),抽象语法标记。ASN.1是一种国际标准的正式语言,由国际标准化组织(ISO)和国际电信联盟(ITU-T)共同制定,用于定义数据结构的抽象语法。它的设计目标是…

Javaweb-初学

1.利用springboot开发一个web应用 简要流程,如下图 2.如何创建一个springboot的项目,下面两张图片是重点关注 第一张图片记得和图片一样改一下路径 第二张就是勾一个选项 3.第一个简单的springboot应用的开发 根据如下步骤进行操作 首先顶部要标识Res…

运算符重载之日期类的实现

接上一篇文章&#xff0c;废话不多说&#xff0c;直接上代码 Date.h #pragma once #include<iostream> using namespace std; #include<assert.h>class Date {//友元函数声明friend ostream& operator<<(ostream& out, const Date& d);friend …

在高并发场景下,怎样避免 PostgreSQL 的死锁问题?

文章目录 &#xff08;一&#xff09;不当的事务设计&#xff08;二&#xff09;不正确的锁使用&#xff08;三&#xff09;并发操作冲突&#xff08;一&#xff09;优化事务设计&#xff08;二&#xff09;正确使用锁&#xff08;三&#xff09;调整数据库参数&#xff08;四&…

解决error Error: certificate has expired问题

安装环境遇到下面问题&#xff1a; 产生原因&#xff1a;可能是开了服务器代理访问导致ssl安全证书失效 解决办法&#xff1a; 在终端输入以下命令&#xff1a; yarn config set "strict-ssl" false -g

简单科普-GPT到底是什么?

1.ChatGPT ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;是OpenAI研发的一款聊天机器人程序 &#xff0c;于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具&#xff0c;它能够基于在预训练阶段所见…

MathType7.4.4破解版下载支持win版+Mac版

MathType的安装过程非常简单&#xff0c;只需要从官网下载安装文件&#xff0c;然后按照提示进行安装即可。在安装过程中&#xff0c;软件会提示你选择是否安装MathPage插件。如果你经常需要在网页上编辑和发布公式&#xff0c;建议选择安装这个插件。 界面简洁直观 打开MathTy…

sheng的学习笔记-AI-密度聚类

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 需要学习的前置知识&#xff1a;聚类&#xff0c;可参考&#xff1a;sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 什么是密度聚类 密度聚类亦称“基于密度的聚类”(density-based clustering)&#xff0c;此类算法假设…

Python逻辑控制语句 之 判断语句--if、if else 和逻辑运算符结合

逻辑运算符&#xff1a; and or not 1.案例一 需求&#xff1a; 1. 获取⽤户输⼊的⽤户名和密码 2. 判断⽤户名是 admin 并且密码是 123456 时, 在控制台输出: 登录成功! 3. 否则在控制台输出: 登录信息错误! # 需求&#xff1a; # 1. 获取用户输入的用户名和密码 # 2. 判断…

探索 Electron:将 Web 技术带入桌面应用

Electron是一个开源的桌面应用程序开发框架&#xff0c;它允许开发者使用Web技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序&#xff0c;它的出现极大地简化了桌面应用程序的开发流程&#xff0c;让更多的开发者能够利用已有的 Web 开发技能…

微服务-网关Gateway

个人对于网关路由的理解&#xff1a; 网关就相当于是一个项目里面的保安&#xff0c;主要作用就是做一个限制项。&#xff08;zuul和gateway两个不同的网关&#xff09; 在路由中进行配置过滤器 过滤器工厂&#xff1a;对请求或响应进行加工 其中filters&#xff1a;过滤器配置…

Typescript 【实用教程】(2024最新版)含类型声明,类型断言,函数,接口,泛型等

简介 TypeScript 是 JavaScript 的超集&#xff0c;是 JavaScript&#xff08;弱类型语言&#xff09; 的强类型版本。 拥有类型机制文件后缀 .tsTypescript type ES6TypeScript 和 JavaScript 的关系类似 less 和 css 的关系TypeScript对 JavaScript 添加了一些扩展&#x…