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

自动驾驶3D目标检测综述(四)

前三篇分别介绍了前四章的内容:

第一篇(介绍、摘要和背景):自动驾驶3D目标检测综述(一)_3d 目标检测-CSDN博客

第二篇(第三章 基于激光雷达的3D目标检测):自动驾驶3D目标检测综述(二)_自动驾驶目标检测-CSDN博客

第三篇(基于相机的3D目标检测):自动驾驶3D目标检测综述(三)-CSDN博客

本篇是第四篇,介绍的是第五章多模态的3D目标检测方法和第六章基于Transformer的3D目标检测。


目录

一、激光雷达和相机融合的多模态检测

(一)困难和挑战

1、区域级知识融合

2、点级知识融合

3、潜力与挑战

(二)基于中期融合的3D目标检测

1、主干网络融合

2、建议生成和兴趣区域头的融合

3、潜力和挑战

(三)基于后期融合的3D目标检测

1、框级别的融合

2、潜力和挑战

二、雷达信号的多模态检测

三、高清地图的多模态检测

四、3D目标检测中Transformer架构

五、3D目标检测中Transformer的应用


第五章 多模态的3D目标检测

在这个章节,我们主要介绍的是多模态的三维目标检测方法,其主要是融合了多个传感器输入。根据传感器的类型,我们可以这种方法分为三类:激光雷达和相机、雷达以及基于图融合的方法。我们总共会分三个子章节进行阐述,第一节会回顾和分析激光雷达和相机融合的多模态检测方法,包括基于早期融合方法的,中期融合和晚期融合的方法;第二节会研究雷达信号的多模态检测方法;第三节会引入高清地图多模态检测方法。方法的总述如下图所示:

我们可以看到,激光雷达和相机融合方法有三种:早期、中期和后期,其中中期融合方法最早出现,接下来是早期融合方法,最后是后期融合方法。除此之外还有基于图融合的三维目标检测方法和基于雷达融合的三维目标检测方法,其中基于图融合的方法早于基于雷达融合的方法出现。

一、激光雷达和相机融合的多模态检测

(一)困难和挑战

相机和激光雷达是三维目标检测中两个互补的传感器:相机提供可以从中提取出丰富语义特征的颜色信息,而激光雷达传感器专门用于三维定义并提供关于三维架构的丰富信息。人们已努力尝试过融合激光雷达和相机信息去进行精确的三维目标检测。由于基于激光雷达的检测方法比基于相机的方法效果更好,最先进的方法通常是基于激光雷达的三维目标检测器并尝试将图像信息融入激光雷达检测管道的不同阶段中。鉴于基于激光雷达和基于相机的检测系统较为复杂,将两种形式结合到一起必然会带来额外的计算开销和推理时间延长。因此,如何高效融合多模态信息仍然是一项开放的挑战。基于早期融合的三维目标检测方法分类如下表所示:

1、区域级知识融合

区域级知识融合旨在使用从图像中获取的知识缩小三维点云中候选目标区域。具体而言,一张图像首先经过一个二维模板检测器来生成二维边界框,之后二维框通过压缩成为三维视角下的截锥,这个三维视角截锥应用到激光雷达点云上以减少搜索空间。最终,只有被选择的点云区域才被应用激光雷达三维目标检测器。F-PointNet首次提出这种融合机制,并且在改进这种融合框架上做出了许多努力。Wang和Jia将一个三维视角下的截锥分成多个网格空间并在网格空间上应用卷积网络进行三维检测。Shin等人提出了一种新颖的几何一致性搜索;Paigwar等人引出了柱子表示;Du等人介绍了一种模型适配算法以找到每个截锥内部的目标点云。

2、点级知识融合

点级知识融合旨在使用图像特征增强点云。增强后的点云被放入一个激光雷达检测器以获得更好的检测结果。PointPainting就是这么一项开创性的工作,它采用基于图像的语义分割增强点云数据。具体而言,输入的图像经过一个分割网络以获得基于像素的语义标签,之后这个语义标签通过点到像素投影与三维的点相关联。最终,带有语义标签的点数据放入一个基于激光雷达的三维目标检测器。这种设计样式已经被许多文章采用:Xu等人、Sigmon等人和Meyer等人。除了语义分割,还存在其他尝试利用其他来自图像信息的工作,如深度图像完善(Yin等人)。

3、潜力与挑战

基于早期融合的方法专注于在图像信息经过激光雷达三维目标检测管道前用其增强点云数据。大部分的方法都与一系列的基于激光雷达的三维目标检测器兼容并且可以作为一个非常高效的预处理步骤来提高检测性能。然而,基于早期融合的方法通常是顺序执行多模态融合和三维目标检测,这将带来额外的推理时间延迟。鉴于融合步骤通常需要复杂的二维目标检测或语义分割网络的事实,由多模态融合带来的时间代价一般是不可忽视的。因此,如何在早期阶段高效执行多模态融合已成为一项重要的挑战。

(二)基于中期融合的3D目标检测

基于中期融合的方法尝试在基于激光雷达三维目标检测器的中间阶段对图像和激光雷达特征进行融合,例如在骨干网络时期、建议生成阶段或在兴趣区域改进阶段。这些方法也可以根据融合阶段进行分类。基于中期融合的三维目标检测方法的阐述如下图所示:

1、主干网络融合

人们在逐渐于骨干网络上融合图像和激光雷达特征上作出许多努力。在这些方法中,点到像素之间的联系首次被激光雷达到相机的转换建立起来,然后因为这种联系,来自激光雷达主干的特征能通过不同的融合算子与来自图像主干的特征进行融合。多模态融合可以在基于网格的检测主干的中间层进行,其拥有新颖的融合算子诸如连续卷积、混合体素特征编码以及Transformer。多模态融合也可以只在主干网络的输出特征映射上进行,采用包括门控注意、统一的目标查询、BRV池化、可学习的对齐、点到射线融合、Transformer和其他技术的融合模块和算子。除了基于网格的主干网络融合,还存在其他的文章将图像信息与基于点的检测骨干网络进行融合。

2、建议生成和兴趣区域头的融合

存在这样的一种方法,它在建议生成和兴趣区域改进阶段执行多模态特征融合。在这种方法中,三维目标建议首先从一个激光雷达检测器中产生,然后这些三维建议被投影到多种视角下,例如分别到图像视角和鸟瞰图,以分别从图像和激光雷达主干中裁剪特征。最后,经裁剪的图像和激光雷达特征在兴趣区域头中进行融合以为每个三维目标预测参数。MV3D和AVOD就是这样的开创性工作,它们采用多视角下的聚合作为多模态检测。其他的一些文章(Chen等人、Bai等人)使用Transformer解码器作为兴趣区域头部来进行多模态特征融合。

3、潜力和挑战

中期的融合方法支持更深层次的多模态表示融合并且能够生成更高质量的三维框。然而,相机和激光雷达特征本质上是异构的且来自不同的视角,所以在融合机制和视角对齐上仍然存在一些问题。因此,如何将异构的数据有效地融合以及如何处理多视角下的特征聚合仍然是研究界的一项挑战。

(三)基于后期融合的3D目标检测

1、框级别的融合

基于后期的融合方法在输出上进行操作,例如三维和二维边界框,分别从基于激光雷达的三维目标检测器和一个基于图像的二维目标检测器。后期融合的三维目标检测方法阐述如下:

在这些方法中,使用相机和激光雷达传感器的目标检测可以平行地执行,并且输出的二维和三维框被融合起来生成更多精确的三维目标检测结果。CLOCs(Pang等人提出)介绍了一种稀疏张张量,其包含了一对二维和三维的框并且从这个稀疏的张量中学习最终目标的置信度得分。Pang等人改进了这个方法,他们引入一种轻量级的三维检测器记录的图像检测器。

2、潜力和挑战

基于后期融合的方法专注于实例级别的聚合且仅在不同模式的输出上执行多模态融合,这也就避免了中间特征或者是输入点云间复杂的交互。因此,这些方法相比于其他方法更加高效。然而,没有了来自相机和激光雷达传感器的深度特征,这些方法就不能够融合不同模式下丰富的语义信息,这也就限制了这种方法的潜力。

二、雷达信号的多模态检测

问题和挑战 雷达是驾驶系统中一种重要的传感器类型。与激光雷达传感器相比,雷达在现实世界中有四项不可替代的优势:雷达对极端天气情况不那么敏感;雷达比激光雷达传感器更加便宜;雷达提供了额外的速度测量方法;雷达拥有更广泛的检测范围。然而,相比于激光雷达传感器生成的稠密点云,雷达仅能提供稀疏和噪声测量。因此,如何有效处理雷达信号仍然是一项重要的挑战。

雷达和激光雷达的融合 许多文章都尝试通过引入新的融合机制确保信息能够在雷达和激光雷达信号间传递以实现两种传感器形式的融合,包括基于体素的融合(Yang等人提出)、基于注意力的融合(QIan等人提出)、引入距离方位角多普勒张量(Major等人提出)、采用图神经网络(Meyer等人提出)、利用动态占用图(Wang和Goldluecke提出)以及引入思维雷达数据(Plaffy等人提出)。

雷达和相机融合 雷达和相机融合与激光雷达和相机融合极为相似,因为雷达和激光雷达数据都是三维点的表示。大部分雷达和相机融合的方法都通过改进现存的基于激光雷达的检测架构来处理稀疏雷达点且采用相似的融合策略作为基于激光雷达和相机的方法。

三、高清地图的多模态检测

问题和挑战 高清地图包含详细的道路信息例如道路形状、道路标识、交通信号和障碍物等。高清地图提供了周围环境丰富的语义信息且能够用作辅助三维目标检测的强大先验。如何有效融合地图信息到三维目标检测框架中已成为研究界一项开放的挑战。

地图信息的多模态检测 高清地图能够被转换成鸟瞰图表示并且与栅格化的BEV点云或特征图融合。这种融合可以通过简单串联栅格化点云和鸟瞰图的高清地图的通道、将激光雷达点云和高清地图填充进分隔开的主干网络和将两种传感器形式的输出特征图进行融合、或是仅仅过滤出那些没有落入相关地图区域的预测来实现。其他的图类型也被人们探索,例如可视化图(Hu等人提出)、矢量化图(Jiang等人提出)。

第六章 基于Transformer的3D目标检测

在这个章节,我们介绍基于Transformer的三维目标检测方法。Transformer在许多计算机视觉任务中展现了突出的性能且人们在改进Transformer到三维目标检测方面也做出了许多努力。在第一节,我们从架构的角度回顾为三维目标检测量身定制的Transformer。在第二节,我们介绍一种在不同三维目标检测中Transformer的应用。

四、3D目标检测中Transformer架构

问题和挑战 当大部分三维目标检测器都是基于卷积架构的时候,现如今基于Transformer的三维目标检测器已经展现了巨大的潜力且占领了三维目标检测排行榜。相比于卷积网络,设计在Transformer中的查询键值对使得不同表示间的交互更为灵活,且自注意机制也使其拥有比卷积更大的接受域。然而,全连接的自注意拥有二次的时间和空间复杂度及输入的数量。当数据尺寸较小时训练Transformer会轻易地导致次优的结果。因此,定义合适的查询键值对三元组以及为基于Transformer的三维目标检测器设计专门的注意机制是至关重要的。

Transformer架构 三维目标检测中Transformer的发展已经经历三个阶段:(1)受到vanilla启发,带有特殊的注意机制的新Transformer被提出以获得三维目标检测中更强大的特征(2)受到DETR启发,基于查询的Transformer编码-解码设计被引入三维目标检测器中(3)受到ViT启发,基于批处理的输入和类似于Vision Transformer的架构被引入三维目标检测中。

在第一阶段,许多文章都尝试引入新颖的Transformer模块到传统三维检测管道中。在这些文章中,查询、键和值的选择非常灵活并且提出了新的注意力机制。Pointformer(Pan等人提出)引入Transformer到点主干中。它使用点特征和坐标作为查询并应用自注意力机制到一组点云中。Voxel Transformer(Mao等人提出)使用Transformer模块代替卷积体素主干网络,这里提出了稀疏子簇体素注意并应用在体素中。CT3D(Sheng等人提出)提出来一种新颖的基于Transformer的检测头,这也介绍了一种建议到点的注意机制和基于通道注意机制。

在第二阶段,许多文章提出了三维目标检测中如DETR的架构。它们采用一组目标查询并用这些查询与不同特征进行交互来预测三维框。DETR3D(Wang等人提出)介绍了目标查询并对每个查询生成了一个三维参考点特征。它们使用参考点聚合多视角下的图像特征作为键和值并在目标查询和图像特征之间应用交叉注意。最后,每个查询可以解码出一个检测的三维边界框。下面许多工作采用了目标查询和参考点的设计:BEVFormer(Li等人提出)从BEV网格中生成稠密查询。TransFusion(Bai等人)从初始检测中生成目标查询并在Transformer解码器上的激光雷达和图像特征上应用交叉注意。UVTR(Li等人提出)使用Transformer解码器中图像和激光雷达体素融合目标查询。FUTR3D(Chen等人)以一种统一的方式融合来自不同传感器的特征和目标查询。

在第三阶段,许多文章试图将视觉转换器的设计应用于 3D 对象检测器。继 Dosovitskiy等人和  Liu 等人 之后,他们将输入拆分为补丁,并在每个补丁和不同补丁之间应用自注意力。SST Fan等人(2022)提出了一种稀疏Transformer,其中局部区域的体素被分组到一个补丁中,并将稀疏区域注意应用于补丁中的体素,然后应用区域移位来改变分组,从而生成新的补丁。SWFormer Sun等人(2022)通过多尺度特征融合和体素扩散进行改进。

五、3D目标检测中Transformer的应用

基于 Transformer 的 3D 检测器 Transformer 架构的应用已广泛应用于各种类型的 3D 对象检测器中。对于基于点的 3D 对象检测器,已经开发了基于点的 Transformer (Pan et al., 2021) 来替换传统的 PointNet 主干。对于基于体素的 3D 检测器,很多论文(Mao et al., 2021c; Fan et al., 2022; Sun et al., 2022)提出了一种新颖的基于体素的 Transformer 来代替传统的卷积主干。对于基于点体素的3D对象检测器,提出了一种新的基于变压器的检测头(Sheng et al., 2021),以更好地进行建议细化。对于单目 3D 对象检测器,Transformers 可用于融合图像和深度特征(Huang 等人,2022b)。对于多视图 3D 对象检测器,Transformers 用于融合每个查询的多视图图像特征(Li et al., 2022f; Wang et al., 2022b)。对于多模态 3D 对象检测器,许多论文(Bai et al., 2022; Li et al., 2022b; Chen et al., 2022a)利用 Transformer 架构和特殊的交叉注意机制来融合不同模态的特征。对于时间 3D 对象检测器,提出了时间通道 Transformer (Yuan et al., 2021) 来模拟 LiDAR 帧之间的时间关系。

相关文章:

自动驾驶3D目标检测综述(四)

前三篇分别介绍了前四章的内容: 第一篇(介绍、摘要和背景):自动驾驶3D目标检测综述(一)_3d 目标检测-CSDN博客 第二篇(第三章 基于激光雷达的3D目标检测):自动驾驶3D目…...

远程控制软件:探究云计算和人工智能的融合

在数字化时代,远程控制工具已成为我们工作与生活的重要部分。用户能够通过网络远程操作和管理另一台计算机,极大地提升了工作效率和便捷性。随着人工智能(AI)和云计算技术的飞速发展,远程控制工具也迎来了新的发展机遇…...

3ds Max2024软件详细安装教程+中文安装包(永久使用)

[名称]:3ds Max2024 [大小]:5.07GB [语言]:简体中文 [安装环境]:Win11/Win10 软件介绍 3DS Max是一款三维建模和渲染软件,可以创造宏伟的游戏世界,布置精彩绝伦的场景以实现设计可视化,并打造身临其境的虚拟现实 (VR) ...在广告…...

深入解析 Spring MVC:架构、组件与最佳实践

文章目录 1. **DispatcherServlet**2. **HandlerMapping**3. **HandlerAdapter**4. **Controller**5. **ModelAndView**6. **ViewResolver**7. **View** 工作流程配置方式XML 配置Java 配置 最佳实践示例项目项目目录结构控制器 (HelloWorldController.java)服务层 (HelloWorld…...

专题二十三_动态规划_回文串系列问题_算法专题详细总结

目录 动态规划 回文串系列问题 1. 回⽂⼦串(medium) 解析: 解决回文串问题,这里提供三个思路: 1.中心扩展法:n^2 / 1 2.马拉车算法:n / n 3.动态规划算法:n^2 / n^2 1.状态表…...

Linux操作系统学习---初识环境变量

目录 ​编辑 环境变量的概念: 小插曲:main函数的第一、二个参数 获取环境变量信息: 1.main函数的第三个参数 2.查看单个环境变量 3.c语言库函数getenv() 和环境变量相关的操作指令: 1.export---导出环境变量: 2.unse…...

通过map文件了解堆栈分配(STM32、MDK5)--避免堆栈溢出

在最近的一个项目的开发中,每当调用到一个函数,程序就直接跑飞。debug跟进去看不出什么逻辑错误,但发现函数内局部变量声明之后,全局变量的值被清零,后来查看局部变量地址已经超出栈的范围,于是确定是栈溢出。如果不稍微了解一下堆栈,在开发过程中可能碰到各种奇怪的错误…...

设计模式——状态模式

定义 状态模式(State Pattern)是一种行为设计模式。它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类,从直观上看,就像是对象根据自身的状态来动态地切换行为方式。 结构组成 环境(Conte…...

没有技术背景考软考高级选什么科目呀?

没有技术背景的外行小白特别推荐考取 信息系统项目管理师 ,也就是软考高项! 软考高项是软考高级资格考试中相对最容易的一门,同时也是报考人数最多的一门。 为什么选择软考高项呢? 以我自己的经历为例。 刚进入职场时&#xf…...

大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法

1. 梯度介绍 如果我们在一座山上(一个山的坡度有很多,陡峭的,平缓的),想要从山顶下山。而梯度就像告诉我们如何沿着最陡的下坡路线走,以尽快到达山脚(最低点)。 2. 梯度的定义 梯度…...

【R语言管理】Pycharm配置R语言及使用Anaconda管理R语言虚拟环境

目录 使用Anaconda创建R语言虚拟环境1. 安装Anaconda2. 创建R语言虚拟环境 Pycharm配置R语言1. 安装Pycharm2. R Language for IntelliJ插件 参考 使用Anaconda创建R语言虚拟环境 1. 安装Anaconda Anaconda的安装可参见另一博客-【Python环境管理工具】Anaconda安装及使用教程…...

蓝桥杯每日真题 - 第24天

题目:(货物摆放) 题目描述(12届 C&C B组D题) 解题思路: 这道题的核心是求因数以及枚举验证。具体步骤如下: 因数分解: 通过逐一尝试小于等于的数,找到 n 的所有因数…...

mac 如何查看 export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node 是否正确

在 macOS 上,如果你想查看环境变量 NVM_NODEJS_ORG_MIRROR 是否已正确设置为 https://npm.taobao.org/mirrors/node,你可以按照以下步骤进行检查: 1. 检查当前环境变量值 打开终端并运行以下命令来查看 NVM_NODEJS_ORG_MIRROR 环境变量的当…...

Android 单元测试的各种环境问题记录

报错记录 failed to configure packages targetSdkVersion failed to configure com.demo.test.SettingsActivityTest.testOnCreate_withNullSavedInstanceState: Package targetSdkVersion34 > maxSdkVersion32 java.lang.IllegalArgumentException: failed to configure …...

选择使用whisper.cpp进行语音转文字

需要将一些wav格式的语音文件转成文字(ASR,STT),接到这个任务后,首先上网搜索有没有现成免费的工具或服务可以使用。常用的关键字如“语音转文字 免费 在线”。 搜到的很多野鸡网站,都可以免注册免费提供短…...

推荐一款网络调试工具:常用网络调试工具2024秋季版(1.1.5.41115)

常用网络调试工具2024秋季版(1.1.5.41115) 此应用程序支持TCP/IP Server、TCP/IP Client、UDP/IP数据收发、文本模式发送与接收、HEX模式发送与接收、报文模式,数据模式,数据管理功能,数据导出至EXCEL报表、存贮于数据库。具体功能如下&#…...

无锁编程–C语言

原文地址:无锁编程–C语言 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 锁带来的开销是比较大的,对于高并发处理的数据,使用一些原子操作函数,可以有效避免上锁的开销。 GCC内置了一些原子操作…...

C/C++绘制爱心

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C/…...

架构师思维中的人、产品和技术

架构思维主要是一种以产品和业务为驱动的顶层解决问题的思维,需要同时考虑产品、人和技术3重关系,思维点需要同时落在三维体系中。虽然架构师很多时候做的工作其实只是分和合,即所谓的系统分拆及重新组合,但综合能力要求很高,需要同时具备思维的高度和深度,在思维抽象的同…...

数学知识1

人工智能的四要素是算法、算力、数据和场景,之所以能够智能,离不开长期发展的数学原理,人工智能背后强有力的支撑便是数学、物理等基础学科,本篇笔者浅谈、分享一下个人详学习人工智能的一个前期知识储备阶段对数学方面的积累&…...

git: 修改gitlab仓库提交地址

git: 修改gitlab仓库提交地址 右键git bash here 1、进入到项目my-project所在位置 2、查看当前项目远程仓库地址 3、修改远程仓库地址 4、再次查看新的远程仓库地址以确认修改成功 cd /my-project git remote -v # 查看当前远程仓库地址 git remote set-url origin 新的Gi…...

mac 安装node提示 nvm install v14.21.3 failed可能存在问题

如果你在 macOS 上使用 nvm(Node Version Manager)安装 Node.js 版本 v14.21.3 时遇到安装失败的问题,可以按照以下步骤进行排查和解决: 1. 确认 nvm 安装是否正确 首先,确认你的 nvm 是否正确安装,并且能…...

MySQL基础知识大总结

一,介绍 数据库是什么,我们在学习其他编程语言的时候会使用数组呀,链表,二叉树等等一些数据结构来存储我们的数据,但是大家有没有发现我们一旦关闭程序,所有的数据都没有了,这在发行的软件来看是…...

取石子游戏

取石子游戏 💐The Begin💐点点关注,收藏不迷路💐 Alice 和 Bob 在玩一个古老的游戏。现在有若干堆石子,Alice 和 Bob 轮流取,每次可以 选择其中某一堆的石子中取出任意颗石子,但不能不取&#x…...

对象的大小

文章目录 一、对象大小 一、对象大小 对象是类实例化出来的,让我们分析一下类对象中哪些成员呢? 类实例化出的每个对象,每个都有独立的数据空间,所以对象中肯定包含 成员变量,那么成员函数是否包含呢? 首…...

基于Boost库的搜索引擎

本专栏内容为:项目专栏 💓博主csdn个人主页:小小unicorn ⏩专栏分类:基于Boots的搜索引擎 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识…...

springMVC 全局异常统一处理

全局异常处理⽅式⼀: 1、配置简单异常处理器 配置 SimpleMappingExceptionResolver 对象: <!-- 配置全局异常统⼀处理的 Bean &#xff08;简单异常处理器&#xff09; --> <bean class"org.springframework.web.servlet.handler.SimpleMappingExceptionReso…...

Java面试之多线程并发篇

前言 本来想着给自己放松一下&#xff0c;刷刷博客&#xff0c;突然被几道面试题难倒&#xff01;说一说自己对于 synchronized 关键字的了解&#xff1f;说说自己是怎么使用 synchronized 关键字&#xff1f;什么是线程安全&#xff1f;Vector是一个线程安全类吗&#xff1f;…...

我的创作之路:机缘、收获、日常与未来的憧憬

目录 前言机缘收获 日常成就一个优化后的二分查找实现 憧憬 前言 每个人的成长旅程都有它独特的轨迹&#xff0c;而我的这段技术创作之路&#xff0c;则源于一次再普通不过的项目分享。 机缘 一切的开始其实是偶然。在一次项目中&#xff0c;我遇到了一个棘手的问题&#xf…...

将服务器上的服务映射到本地使用

使用 win R &#xff0c;输入CMD打开命令行。 ssh -CNg -L 6666:127.0.0.1:8888 rooti-1.gpushare.com -p 53310 从右到左介绍&#xff1a; 53310&#xff1a;服务器的端口号。 i-1.gpushare.com&#xff1a;主机。 8888&#xff1a;服务器上服务所在的端口。 6666&…...

【C++动态规划 子集状态压缩】2002. 两个回文子序列长度的最大乘积|1869

本文涉及知识点 C动态规划 位运算、状态压缩、枚举子集汇总 LeetCode2002. 两个回文子序列长度的最大乘积 给你一个字符串 s &#xff0c;请你找到 s 中两个 不相交回文子序列 &#xff0c;使得它们长度的 乘积最大 。两个子序列在原字符串中如果没有任何相同下标的字符&…...

SQL注入--理论--堆叠注入

什么是堆叠注入&#xff1f; 在SQL语句操作的时候&#xff0c;每个语句都是以分号;标志结尾的。 在我们注入的过程中&#xff0c;通过使用多个分号同时进行多个SQL语句的注入&#xff0c;就是堆叠注入。 例如&#xff1a; ?inject1;handler 1919810931114514 open;handler 1…...

CSS —— 子绝父相

相对定位&#xff1a;占位&#xff1b;不脱标 绝对定位&#xff1a;不占位&#xff1b;脱标 希望子元素相对于父元素定位&#xff0c;又不希望父元素脱标&#xff08;父元素占位&#xff09; 子级是 绝对定位&#xff0c;不会占有位置&#xff0c; 可以放到父盒子里面的任何一…...

蓝桥杯不知道叫什么题目

小蓝有一个整数&#xff0c;初始值为1&#xff0c;他可以花费一些代价对这个整数进行变换。 小蓝可以花贵1的代价将教数增加1。 小蓝可以花费3的代价将整数增加一个值,这个值是整数的数位中最大的那个(1到9) .小蓝可以花费10的代价将整数变为原来的2倍, 例如&#xff0c;如果整…...

IDEA如何快速地重写方法,如equals、toString等

前言 大家好&#xff0c;我是小徐啊。我们在使用IDEA的时候&#xff0c;有时候是需要重写equals和toString等方法的。这在IDEA中已经很方便的给我们准备好了快速的操作了。今天就来讲解一下。 如何重写 首先&#xff0c;打开要重写方法的文件&#xff0c;让鼠标定位到这个文…...

使用ENSP实现默认路由

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为2.2.2.1/24 ip address 2.2.2.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为1.…...

打造智能扩容新纪元:Kubernetes Custom Metrics深度解析

自定义指标:Kubernetes Auto Scaling的革命 1. 引言 1.1 Kubernetes与Auto Scaling Kubernetes作为当今容器编排的事实标准,提供了强大的自动化能力,其中Auto Scaling(自动扩缩容)是其核心特性之一。Auto Scaling允许Kubernetes集群根据当前负载动态调整资源,以应对不…...

网络安全工具软件 BlackICE

网络安全工具软件BlackICE的使用和设置说明简介(转)   BlackICE 在九九年获得了PC Magazine的技术卓越大奖&#xff0c;专家对它的评语是&#xff1a;“对于没有防火墙的家庭用户来说&#xff0c;BlackICE是一道不可缺少的防线&#xff1b;而对于企业网络&#xff0c;它又增加…...

深入解析分布式优化算法及其Python实现

目录 深入解析分布式优化算法及其Python实现第一部分:分布式优化算法的背景与原理1.1 什么是分布式优化算法?1.2 分布式优化算法的分类1.3 应用场景1.4 分布式优化的关键挑战第二部分:分布式优化算法的通用Python实现2.1 基本组件的实现第三部分:案例1 - 基于梯度下降的分布…...

互联网直播/点播EasyDSS视频推拉流平台视频点播有哪些技术特点?

在数字化时代&#xff0c;视频点播应用已经成为我们生活中不可或缺的一部分。监控技术与视频点播的结合正悄然改变着我们获取和享受媒体内容的方式。这一变革不仅体现在技术层面的进步&#xff0c;更深刻地影响了我们。 EasyDSS视频直播点播平台是一款高性能流媒体服务软件。E…...

打包多个python文件为exe

要使用PyInstaller打包多个Python文件为单个可执行文件(exe),需要执行以下步骤: 安装PyInstaller 如果尚未安装PyInstaller,请打开命令提示符或终端,输入以下命令进行安装: pip install pyinstaller进入Python脚本所在目录 使用命令行工具(如cmd或终端)导航到包含Python脚本…...

深入解析 EasyExcel 组件原理与应用

✨深入解析 EasyExcel 组件原理与应用✨ 官方&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 在日常的 Java 开发工作中&#xff0c;处理 Excel 文件的导入导出是极为常见的需求。 今天&#xff0c;咱们就一起来深入了解一款非常实用的操作 Exce…...

基础免杀 从.rsrc加载shellcode上线

.rsrc 段是PE文件中的一个特定部分&#xff0c;专门用来存储资源数据。这些资源通常包括图标、位图、字符串表、对话框、菜单、版本信息、字体等 具体的shellcode加载方式不在此探讨 在这使用传统的指针执行 WindowsAPI 需要用到如下API FindResource 获取指定资源的信息块…...

Spring MVC 深度剖析:优势与劣势全面解读

文章目录 Spring MVC 优势1. **松耦合**2. **易于测试**3. **灵活性**4. **强大的配置机制**5. **异常处理**6. **国际化支持**7. **数据验证**8. **安全性**9. **性能优化** Spring MVC 劣势1. **学习曲线**2. **配置复杂性**3. **性能开销**4. **视图技术限制**5. **社区和支…...

基于Angular+BootStrap+SpringBoot简单的购物网站

目录 一、项目结构图 二、目录结构解析 后端 (Spring Boot) 前端 (Angular) 三、技术栈 四、具体功能实现 五、数据库设计 六、后端实现 1. 设置Spring Boot项目 2. 数据库实体类 3. 创建Repository 4. 创建Service层 5. 创建Controller层 七、前端实现&#xff0…...

微软Ignite 2024:建立一个Agentic世界!

在今年的Microsoft Ignite 2024上&#xff0c;AI Agent无疑成为本次大会的重点&#xff0c;已经有十万家企业通过Copilot Studio创建智能体了。微软更是宣布&#xff1a;企业可以在智能体中&#xff0c;使用Azure目录中1800个LLM中的任何一个模型了&#xff01; 建立一个Agent…...

AIGC实践-使用Amazon Bedrock的SDXL模型进行文生图

一、Bedrock 简介 Amazon Bedrock 是 Amazon Web Services (AWS) 提供的一种生成式 AI 服务。通过 Bedrock&#xff0c;用户可以方便地使用多种基础模型&#xff08;Foundation Models&#xff09;&#xff0c;包括 OpenAI 的 GPT、Anthropic 的 Claude 等。这些模型可以用于各…...

Android12 mtk设置插充电器自动开机

Android12 mtk平台通常关机后&#xff0c;插上充电器是进入关机充电流程&#xff0c;显示关机充电动画。 那么根据用户需求&#xff0c;如果需要设置关机之后&#xff0c;实现插上充电器后&#xff0c;自动开机。 正常流程&#xff1a;机器关机 --> 插上充电器 --> 显示…...

Linux高阶——1117—TCP客户端服务端

目录 1、sock.h socket常用函数 网络初始化函数 首次响应函数 测试IO处理函数 获取时间函数 总代码 2、sock.c SOCKET() ACCEPT()——服务端使用这个函数等待客户端连接 CONNECT()——客户端使用这个函数连接服务端 BIND()——一般只有服务端使用 LISTEN()——服务端…...

Linux 命令和 vi/vim 命令

Linux 命令概览 1. 文件和目录操作 列出目录内容 ls&#xff1a;列出当前目录内容ls -l&#xff1a;以长格式列出ls -a&#xff1a;显示隐藏文件ls -lh&#xff1a;以长格式和人类可读方式显示大小ls -R&#xff1a;递归列出子目录ls -d */&#xff1a;仅列出目录ls -t&#x…...