51c自动驾驶~合集1

news2024/11/20 14:21:12

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

#HTCL

超过所有视觉方案!HTCL:分层时间上下文问鼎OCC

本文是对ECCV2024接受的文章 HTCL: 的介绍,HTCL在SemanticKITTI基准测试中超过了所有基于相机的方法,甚至在和OpenOccupancy基准测试中超过了LiDAR,实现了最先进的性能。代码已开源,欢迎大家试用和Star~

代码链接:https://github.com/Arlo0o/HTCL
论文链接:https://arxiv.org/abs/2407.02077

Demo video 展示:

我们对比了同样采用时序双目图像输入的VoxFormer-T,并用更少的输入帧数(3 vs. 4)取得了更好的预测效果,在场景整体布局、相机视野外区域、远距离动态物体等的预测中表现出明显优势。​

Motivation

基于相机的三维语义场景补全(SSC)对于从有限的二维图像观测中预测复杂的三维场景信息至关重要。现有的主流解决方案通过对历史帧信息的粗略堆叠来试图补充当前视角下的不完整观测,这种简单的时序建模方式不可避免地减少了有效的视觉线索,增加了模型学习难度。

图片

为了解决上述问题,我们提出了HTCL,一种新颖的分层时序上下文学习范式,用于改进基于相机的语义场景补全。HTCL将时序上下文学习分解为两个层次步骤:(a)跨帧亲和度测量;(b)基于亲和度的动态细化。首先,为了从冗余信息中分离关键相关上下文,我们提出了尺度感知隔离策略,用于构建多个独立的学习模块,进而建模细粒度上下文对应关系。随后,为了动态补偿不完整的观测结果,我们基于识别出的具有高亲和度特征的空间位置及其邻近的相关区域,自适应地细化特征采样位置。​

Method

我们提出的分层时序上下文学习(HTCL)范式可以有效改进时序特征聚合的可靠性,从而实现精确的三维语义场景补全。HTCL从不同时间帧的RGB图像中分层地推断三维语义Occupancy,以实现细粒度的场景理解。如下图所示,我们提出的分层时时序下文建模包括两个顺序步骤:(1)显式地测量当前帧和历史帧之间的上下文特征亲和力,提取最相关的高亲和度特征;(2)基于高亲和力特征的空间位置及其附近的相关上下文自适应地细化采样位置,以动态补偿不完整的观测。HTCL在创新性方面主要做出了以下贡献:

  • 提出了一种时序上下文学习范式,以用于动态和可靠的三维语义场景补全。
  • 提出了一种具有尺度感知隔离和多个独立学习模块的亲和度测量策略,用于细粒度的上下文对应关系建模。
  • 提出了一个基于亲和度的动态细化方案,以重新分配时序上下文信息,并自适应地补偿不完整的观测结果。
  • HTCL在SemanticKITTI基准测试中超过了所有基于相机的方法,甚至在和OpenOccupancy基准测试中超过了LiDAR,实现了最先进的性能。

图片

如上图所示,我们提出的方法整体框架主要由三个部分组成:Aligned Temporal Volume Construction,Voxel Feature Volume Construction,以及Reliable Temporal Aggregation。

效果如下图所示,跨帧模式亲和(CPA)有效地表示了时间内容中的上下文对应关系。

图片

鉴于我们的目标是完成并理解与当前帧相对应的三维场景,因此必须为最相关的位置分配更大的权重,同时也需要调查其邻近的相关区域以弥补不完整的观察结果。为此,我们提出基于亲和力的动态细化(ADR),根据已确定的高亲和性位置及其邻近相关区域,用三维可变形卷积自适应地改进特征采样位置。具体来说,我们通过引入基于亲和力的对应权重和可变形位置偏移来实现动态细化:

Experiment

实验表明,我们的方法在SemanticKITTI Benchmark上排名第一,并在OpenOccupancy BenchMark中取得了超过基于LiDAR方法的mIoU。

  • 定量实验结果:

图片

在SemanticKITTI基准测试中,我们提出的方法明显优于所有其他方法。与VoxFomer-T相比,我们的方法即使在较少的历史输入(3 vs. 4)中也取得了显著的相对增益。在OpenOccupancy基准测试中,尽管基于LiDAR的在IoU方面具有固有的优势,但我们的HTCL在mIoU方面超过了所有其他方法(包括基于LiDAR的LMSCNet和JS3C-Net ),证明了我们的方法在语义场景补全方面的有效性。

  • 定性试验结果:

图片

图5展示了我们提出的方法与VoxFormer在SemanticKITTI上的定性比较。可以观察到,真实世界的场景非常复杂,而注释的地面实况相对稀少,这给从有限的视觉线索中完全重建语义场景带来了挑战。与 VoxFormer 相比,我们的方法能捕捉到更完整、更准确的场景布局(如第二行和第三行的十字路口)。此外,我们的方法还能有效地补全摄像机视野外更多合适的景物(如第一行和第二行中的阴影区域),并在移动物体(如第二行中的卡车)方面表现出明显的优势。图6展示了我们的方法在 OpenOccupancy 上的预测结果,我们提出的方法与GT相比,可以生成的结果更密集、更真实的Semantic Occupancy。

#MTR v3

https://storage.googleapis.com/waymo-uploads/files/research/2024 Technical Reports/2024 WOD Motion Prediction Challenge - 1st Place - MTR v3.pdf

基于MTR++改进,前作笔记:MTR和MTR++笔记

完整论文和源码还没有公布,目前只能先看report了。

Abstract

MTR v3是在MTR++上进行改进的。主要在两个方面进行了提升:

  1. 使用了原生的lidar数据来提供更细致的语义信息
  2. 使用了更好的更具有区分度的anchor来提升model的轨迹回归能力

除了上面两点外,采用了一个简单的ensemble技巧来进一步提升最后的表现。在soft mAP上达到了SOTA。

Introduction

MTR系列采用了场景encode,和使用了intention query的多模轨迹预测decode。本文爱之前的基础上额外使用了原始lidar数据,可以更好地捕捉一些HD map cover不到的场景信息,比如植被和建筑物。但其实这些对于行人的行为有很大的影响。而之前的MTR++存在回归loss很大的问题,这是因为anchor比较稀疏。为此,更新为更好的anchor生成方式。

Method

  1. 增加了lidar的3D信息,使用一个encoder来提取feature并喂到decoder的输入中
  2. 每个agent会根据mode动态获取有价值的point feature
  3. 最后用了一个ensemble的技巧

Model Design

Scene Encoder Network

Motion Decoder Network

和MTR++一样,统计现实中的gt轨迹的最后一个点的分布,用k-means聚类后得到K个intention的点,也就是anchor。然后就可以和场景feature融合,获得intention query。再用一个Mutually-Guided Intention Querying模块来处理每个agent的多个query之间的交互(让模态分散一些)。

接下来就是3次cross-attention:在agent间,在地图元素间,在lidar voxel间。

并且对于每个agent还需要学习dense的预测,会结合历史以及预测的模态来学习交互,中途出一个轨迹预测用于中间的辅助监督。在每一个cross-attention decoder之后都会加几个MLP来refine query。由于需要多模预测,建模是混合高斯的。

loss的话和MTR++类似,包含了概率的分类loss,GMM的回归loss(只采用了正样本的query对应的轨迹),以及一个辅助任务的loss(详细见MTR++, 大概是用dense的预测过历史轨迹的encoder,和历史轨迹的feature concat在一起作为一个更丰富信息的feature后直接短接一个预测head,会有gt来进行一个监督,使得model中间变量也有个监督)。对于回归loss,做了一个不一样的操作,详情可以参考EDA这篇文章,大概的意思是目前主流的做法有:

  1. anchor based:输入anchor的end point,gt轨迹直接监督最接近gt的end point对应的轨迹。
  2. prediction based:没有具体anchor,预测出来的轨迹里挑最接近gt的进行监督。

方法1虽然一般会对anchor进行小幅度的调整,但anchor本质还是不回移动太多的,不然gt的监督就可能监督到不是gt的模态上,效果上就没有利用好regression的任务,因为并没有让end point进行自由度很高的回归。方法2就很容易出现模态塌缩的问题,因为不像方法1一样强行设置多个mode。

于是EDA就是想要结合两种做法,先是用anchor输入,允许大幅度的refine,这一步可以用gt对一开始match的anchor进行监督,但refine后会重新match,再进行refine,多来几次可以让anchor收敛到比较理想又分散的效果。

Motion-Guided Lidar Search

Model Ensemble

Experiments

model参数见文章。每个lidar token的范围是长1.6m,宽1.6m,高6m。NMS的阈值用2.5m. 训练时也使用了随机剪裁以及缩放来数据增强。

#Denoising

原标题:Ray Denoising: Depth-aware Hard Negative Sampling for Multi-view 3D Object Detection

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

代码链接:https://github.com/LiewFeng/RayDN

作者单位:中国科学院大学 Mach Drive​

论文思路:

多视角3D目标检测系统由于图像深度估计的挑战,常常难以生成精确的预测,导致冗余和错误检测的增加。本文提出了一种创新方法— Ray Denoising ,通过沿着相机射线进行战略性采样来构建困难负样本,从而提高检测精度。这些负样本在视觉上难以与真正的正样本区分,使模型被迫学习深度感知特征,从而增强其区分真阳性和假阳性的能力。Ray Denoising 设计为一个即插即用的模块,兼容于任何DETR风格的多视角3D检测器,并且只在训练时增加了极少的计算成本,而不影响推理速度。本文的综合实验,包括详细的消融研究,一致表明 Ray Denoising 在多个数据集上均优于强基线方法。在NuScenes数据集上,相较于最先进的StreamPETR方法,它在 mAP 上提升了1.9%。在Argoverse 2数据集上也显示出显著的性能提升,突显了其良好的泛化能力。​

主要贡献:

本文识别了沿同一射线的误检这一持续存在的挑战,这成为多视角3D目标检测器性能的瓶颈。

本文引入了 Ray Denoising ,这是一种新颖的去噪方法,利用Beta分布在射线方向上创建深度感知的困难负样本。该方法明确考虑了场景的3D结构,提供了一种灵活的解决方案,兼容任何DETR风格的多视角3D检测器,以解决沿射线的重复预测问题。

本文的方法在NuScenes数据集 [2] 上达到了最先进的结果,显著提升了多视角3D目标检测器的性能。具体来说,本文在 mAP 上相较于当前最先进的方法StreamPETR提升了1.9%,从而证明了 Ray Denoising 的有效性。​

论文设计:

3D目标检测是自动驾驶系统中的关键组件,因而引起了计算机视觉领域的广泛关注。相比于基于LiDAR的解决方案,基于图像的3D目标检测由于其成本效益正经历着研究热潮 [9, 10, 13, 14, 37, 38]。在依赖于周围相机图像的多视角3D目标检测中,一个主要挑战是从图像中估计深度的难度,这会导致重复预测,如图1所示。

尽管在方法上有所改进,多视角3D目标检测器在减少由深度模糊引起的误检方面仍面临困难。近期的几项研究 [8, 15, 17, 19, 22, 26, 34, 41, 46] 试图通过引入时间信息来解决这一问题。然而,这些方法并未明确考虑场景的3D结构,从而限制了其进一步提升的潜力。

此外,先前的研究还探索了应用诸如非极大值抑制(Non-Maximum Suppression, NMS)和 Focal Loss 等通用技术来缓解重复预测问题。NMS作为一种后处理技术,主要针对具有高交并比(IoU)的误检,但当这些预测沿射线分散且IoU较低时,其效果不佳。Focal Loss 作为一种旨在减少高置信度误检的损失函数也被应用。然而,观察发现,使用 Focal Loss 的多视角3D目标检测器在有效解决沿同一射线的误检问题时仍然面临挑战。

本文的定量分析强调了解决与真实值(Ground Truth)沿同一射线的误检的重要性。通过利用真实值目标的精确位置数据,本文能够在最先进的StreamPETR方法 [34] 中识别并消除这些冗余预测。这一过程显著提升了 mAP 5.4%,突显了模型提升深度估计能力的关键需求。这一显著的改进表明,通过优化深度估计来抑制这些误检,能够显著提升整体检测性能的潜力。

本文的关键观察是,由于传统多视角目标检测器的固有限制,误检常常沿着相机射线发生。由于每个像素的深度信息未能准确估计,位置嵌入只能编码射线方向。因此,同一射线上的查询将始终与图像中的相同视觉特征交互,导致沿该射线出现大量重复预测(误检)。这一情形突显了模型学习深度感知特征的需求,以便在视觉特征相同的情况下区分深度上的目标。本文提出了一种新方法,称为 Ray Denoising (简称RayDN)。该框架本质上具有灵活性,不限制用于采样深度感知困难负样本的分布选择。根据本文的消融研究,本文选择了Beta分布,因为它在捕捉模型可能生成的误检的空间分布方面表现出色。此选择使 Ray Denoising 能够创建用于去噪的深度感知困难负样本,从而增强模型学习更健壮特征和表征以区分沿射线的误检的能力,如图2所示。Ray Denoising 在训练阶段仅引入了极少的计算成本增加,而不会影响推理速度。

图片

图1:在多视角3D目标检测中,从图像中估计深度的挑战导致沿相机射线的重复预测和误检。

图片

图2:提出的 Ray Denoising 方法(右图)有效减少了在先前最先进方法StreamPETR [34](左图)中沿射线的误检(红色矩形高亮部分)。

图片

图3:Ray Denoising 方法的整体框架,这是一种即插即用的训练技术,适用于DETR风格的多视角3D目标检测器,重点在于提升模型区分深度中真阳性和假阳性的能力。通过投射射线和采样深度感知的去噪查询,有效解决了由于视觉深度估计固有困难而产生的误检问题,从而在检测性能上相较于强基线方法取得了显著提升。

讨论:

本文的 Ray Denoising (Ray Denoising)方法基于一个关键观察,即基于图像的3D检测系统往往难以区分沿相机射线的真阳性和假阳性。DETR风格的多视角3D目标检测器通过真实值监督隐式地学习深度估计。然而,可学习查询的随机分布参考点并未充分利用可用的真实值信息。尽管这些参考点在训练过程中会更新,但它们未能为每个场景中的每个目标提供足够的困难负样本。为了增强对真实值信息的利用,传统的去噪技术在训练期间引入了均匀分布在真实值目标周围的额外参考点。这些特定实例的参考点提高了检测性能 [19,22,34]。然而,它们忽视了多视角3D目标检测固有的深度模糊问题。由于每个像素缺乏精确的深度信息,位置嵌入只能编码射线方向,而不能编码深度。这导致同一射线上的查询与相同的图像特征交互,产生冗余预测。Ray Denoising 不同于传统技术,通过沿从相机到目标的射线战略性地生成参考点。这种方法明确考虑了场景中每个目标的3D结构,提供了足够数量的困难负样本。在训练过程中,这些 Ray Queries 在自注意力层中进行交互,有效引导模型抑制深度模糊的空间困难负样本。这种交互增强了检测器区分真阳性预测(目标)和假阳性预测(重复检测)的能力,从而提高了检测精度。​

实验结果:

图片

图4:(a) 分布比较显示,Beta分布在-1到1之间有界,而Laplace分布和高斯分布则是无界的。(b) Beta分布族,通过使用变换  将 x 范围从  调整到 。

图片

图5:(a) 不同距离阈值下的精确度-召回率(precision-recall)曲线可视化。Ray Denoising 在几乎所有召回率水平上均提升了精确度,有效抑制了误检。(b) 按类别的平均精度(AP)比较。Ray Denoising 在所有目标类别上均优于最先进的StreamPETR。

图片

图6:本文在nuScenes验证集上的检测结果可视化。Ray Denoising 在有效减少重复误检的同时,保持了检测同一射线上的高度遮挡目标的能力。

图片

图片

图片

图片

图片

总结:

本文引入了 Ray Denoising (Ray Denoising),这是一种旨在克服多视角3D目标检测中深度估计不准确这一关键挑战的方法。Ray Denoising 解决了沿相机射线发生的误检问题,这些误检是由于图像深度信息不精确直接导致的。通过利用场景的3D结构, Ray Denoising 促使模型学习深度感知特征,从而在不增加额外推理成本的情况下,提高了沿同一射线区分真阳性和假阳性的能力。本文在NuScenes和Argoverse 2数据集上的综合实验表明, Ray Denoising 始终显著优于强基线方法,在多视角3D目标检测中实现了新的最先进性能。​

引用:

@article{liu2024ray,
  title={Ray Denoising: Depth-aware Hard Negative Sampling for Multi-view 3D Object Detection},
  author={Liu, Feng and Huang, Tengteng and Zhang, Qianjing and Yao, Haotian and Zhang, Chi and Wan, Fang and Ye, Qixiang and Zhou, Yanzhao},
  journal={arXiv preprint arXiv:2402.03634},
  year={2024}

#PerlDiff

使用扩散模型进行可控的自动驾驶场景数据生成

文章链接:https://arxiv.org/pdf/2407.06109

项目链接:https://perldiff.github.io/

主要贡献:

  • 提出了新框架 PerlDiff,用于根据用户定义的3D注释生成街景图像。PerlDiff 利用透视布局掩码作为几何先验,精确引导物体层面的图像生成过程。
  • 提出了基于 Perl 的交叉注意机制,该机制利用3D注释中的透视布局掩码图来增强 Perl-CM 中的交叉注意机制。这种方法通过整合道路和 BEV 注释的特定物体信息,实现了对街景图像生成过程的精确控制。
  • PerlDiff在NuScenes 和 KITTI 数据集上达到了SOTA,显著提高了将生成街景图像用于目标检测和分割上的实验结果。开发板商城 天皓智联whaosoft

可控生成被认为是解决 3D 数据标注挑战的一种的重要方法,而这种可控生成的精确性在自动驾驶的数据中变得尤为重要。现有方法侧重于利用 GLIGEN 或 ControlNet 等框架,将各种生成信息整合到控制输入中。虽然在可控生成方面取得了不错的成果,然而,这些方法本质上将生成性能限制在预定义网络架构的学习能力范围内。PerlDiff 充分利用透视 3D 几何信息进行有效街景图像生成,采用 3D 几何先验来指导街景图像的生成,并在网络学习过程中进行精确的物体层面控制,从而获得更准确、更可控的输出结果。

图片

方法设计

训练数据:

  • NuScenes 数据集包括 1,000 个城市交通场景,分为 700 个训练场景和 150 个验证场景。每个场景有六幅高分辨率图像(900×1600),提供了一个完整的 360 度全景视图。NuScenes 还包括驾驶环境的综合路图,其中包括车道标记和障碍物等细节。
  • KITTI 数据集包含 3,712 幅训练图像和 3,769 幅验证图像。KITTI 数据集只有一张透视图像,没有路图信息。鉴于 KITTI 数据集的图像分辨率不同(约 375×1242),将其填充为 384×1280 以进行生成。

控制条件编码

根据交通场景的 BEV 注释,目标是生成多视角街景图像。不仅要提取场景信息,而且还要提取物体信息作为控制条件。

Perl场景信息:

透视场景图像:生成场景的背景信息 ,包含驾驶环境的路面以及障碍物等信息,使用不同颜色区分道路和其他背景元素;

场景文本描述:自定义生成场景的文本描述 ,可说明天气情况以及是在白天还是夜晚;

如何对其编码?

  • ConvNext:用于编码通过 BEV 注释投影得到的透视场景图像,来生成场景的背景特征编码 ;
  • CLIP文本编码:用于编码文本场景描述 , 生成场景特征编码 ;

Perl物体信息:

物体几何数据:将 BEV 注释投影到对应的透视视角,得到每一个物体边界框的的8个 2D 角点坐标 ;

物体类别文本信息:给出每一个物体属于类别的描述文本 ,如车,行人等;

如何对其编码?

  • Fourier 编码:用于编码物体几何数据,得到几何特征编码 ;
  • CLIP文本编码:用于编码物体类别文本信息,得到类别编码特征 ;
  • 多层感知机(MLP):将物体几何特征和类别特征融合,得到每一个物体的特征编码 ;

基于 Perl控制模块(Perl-CM)实现物体可控性

图片

  • Perl-CM 负责将控制条件信息(包括 Perl 场景和物体信息)通过基于 Perl 的场景和物体交叉注意机制整合到潜在特征图中。首先该机制会为注意力图分配初始值, 然后在道路和边界框 Perl 掩码图的引导下,在整个网络训练过程中对这些值进行优化,以确保注意图的响应与物体所在区域准确对应;
  • 为了确保多视图一致性,视图交叉注意力利用了紧邻的左视图和右视图的信息,以实现不同视角的一致性;
  • 图片

  • 文本交叉注意力利用文本场景描述来处理街道场景的天气和照明条件;
  • 图片

Perl(路面/物体边界框)掩码图:

  • Perl 路面掩码图 
  • Perl物体边界框掩码图通过将每一个物体的BEV标柱投影到透视视角后,将其3D边界框所在在内部区域像素置为1得到,代表物体标注框的数量;
  • 图片

Perl-based 交叉注意力:

传统的交叉注意力中控制条件与图像特征对应关系并不精确,导致生成图像并不能很好的满足给定的条件,而PerlDiff利用几何先验掩码图来增强输入控制条件与街景图像之间的交叉注意学习,将从场景上下文和边界框中获得的几何知识纳入交叉注意的计算中,确保路图和物体边界框数据在去噪过程的每个阶段都会与噪声街景图像精确对齐。

图片

讨论:

与 BEVControl、MagicDrive、DrivingDiffusion 和 Panacea 等采用普通交叉注意机制来整合控制条件信息的方法不同。PerlDiff 通过 Perl 掩码图引入了几何先验,在训练阶段利用物体对应的控制信息来指导其生成,从而有效解决注意力图和条件信息之间常见的错位问题(导致图像可控性受损),显著提高了生成图像的准确性。

图片

实验结果:

NuScenes数据集:PerlDiff 在多个指标上均优于 BEVControl 和 MagicDrive 等现有方法,特别是在 3D 目标检测指标图平均精度(mAP)和 NuScenes 检测指标(NDS);

图片

KITTI数据集:PerlDiff 在小样本数据集上仍然有很好的泛化性,相比于采用普通交叉注意力的BEVControl*,PerlDiff 在单目目标检测器MonoFlex上的指标是其十几倍。同时,实验说明利用在 NuScenes 上训练过后在 KITTI 上微调能达到更好的效果;

图片

数据增强:PerlDiff利用合成数据集来提高各种检测模型在 NuScenes 测试集上的性能。其中,使用 NuScenes 训练集和验证集(第二行)的指标作为上限,来验证共同使用 NuScenes 真实训练集和 PerlDiff 生成验证集后,与其差距大小;

图片

基于 Perl 的交叉注意力机制的效果:通过将其换成普通的交叉注意力机制,3D目标检测(BEVFormer)和BEV分割(CVT)指标大幅度变差,来说明其有效性;

图片

Perl(路面/物体边界框)掩码图控制系数:不同掩码图权重系数代表几何先验知识融入网络学习的程度;

图片

可视化结果比较:给出了相比于 BEVControl*,PerlDIff 在控制物体角度位置大小方面的有效性;

图片

图片

其他可视化结果

图片

图片

主要结论:

PerlDiff 通过整合几何约束和扩散模型,在生成高保真度视觉图像的同时,提供了精确的控制信息,增强了图像生成的可控性。实验证明,PerlDiff在 NuScenes 和 KITTI 数据集上表现出色,有望在未来成为一个强大的交通模拟器。未来工作将探索视频生成,以进一步提升模型的应用潜力。

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

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

相关文章

在pycharm中使用PySpark 出现Java gateway process exited before sending its port number.

# 原因是没有下载Java(jdk) 程序出现下面错误: 解决办法: 1、2、3、先点击“” ,添加这一行,点击确定即可。再次之前先判断你电脑上没有jdk,有的话,直接添加,也可以手动…

国庆节快乐前端(HTML+CSS+JavaScript+BootStrap.min.css)

一、效果展示 二、制作缘由 最近,到了国庆节,自己呆在学校当守校人,太无聊了,顺便做一个小demo帮祖国目前庆生!!! 三、项目目录结构 四、准备工作 (1)新建好对应的文件目录 为了方便&#xff…

【超详细】Python、JDK、vscode安装

Python 下载 首先去Python官网下载安装程序Python官网,鼠标悬浮到Download后选择推荐的Python版本(笔者为Windows系统故选择Windows版本安装程序) 之后点击打开文件,或者点击文件的图标打开下载的目录,打开下载好的安装程序 安装 首先勾…

测试-----BUG篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 软件测试的生命周期bug的概念描述bugbug的级别bug的生命周期 软件测试的生命周期 软件测试贯穿与软件的整个生命周期,它的具体流程是: 1.需求分析 2.测…

【初阶数据结构】排序——归并排序

目录 前言归并排序归并排序的非递归写法计数排序排序总结 前言 对于常见的排序算法有以下几种: 前面我们已经学习了: 【初阶数据结构】排序——插入排序【初阶数据结构】排序——选择排序【初阶数据结构】排序——交换排序 下面这节我们来看最后一个…

基于SSM的O20兼职系统的设计与实现(源码+定制+文档)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

P1010 [NOIP1998 普及组] 幂次方 Python题解

[NOIP1998 普及组] 幂次方 题目描述 任何一个正整数都可以用 2 2 2 的幂次方表示。例如 137 2 7 2 3 2 0 1372^7 2^3 2^0 137272320。 同时约定次方用括号来表示,即 a b a^b ab 可表示为 a ( b ) a(b) a(b)。 由此可知, 137 137 137 可表示…

光通信——PON系统典型组网

PON系统可同时承载包括Internet上网、VoIP语音、IPTV视频、TDM数据专线、以太网专线、基站回传等业务在内的多种业务,实现全业务承载,此外,还可通过三波方案承载CATV业务,实现“三网融合” 。 CATV(Community Antenna…

数字控制系统

目录 两轮自平衡式机器人的控制器设计 TMS320F28069 芯片特点 处理器引脚及功能 首先分析模型来确定控制原理 速度控制器 方向控制器 系统控制框架 智能平衡移动机器人PID控制 两轮自平衡式机器人的控制器设计 由于两轮自平衡式机器人的自不稳定性,控制起来…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.7-2.8

目录 第四门课 卷积神经网络(Convolutional Neural Networks)第二周 深度卷积网络:实例探究(Deep convolutional models: case studies)2.7 Inception 网络(Inception network)2.8 使 用 开 源 …

C++容器之list基本使用

目录 前言 一、list的介绍? 二、使用 1.list的构造 2.list iterator的使用 3.list capacity 🥇 empty 🥇size 4.list element access 🥇 front 🥇 back 5.list modifiers 🥇 push_front 🥇 po…

Apache POI 2024/10/2

导入Apache POI的maven坐标 通过POI向Excel文件写入文件内容 package com.sky.test;import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File; import java.…

在Linux系统安装Nginx

注意:Nginx端口号是80(云服务器要放行) 我的是基于yum源安装 安装yum源(下面这4步就好了) YUM源 1、将源文件备份 cd /etc/yum.repos.d/ && mkdir backup && mv *repo backup/ 2、下载阿里源文件 curl -o /etc/yum.repos.d/CentOS-Base.repo ht…

java OOP基础:类与对象(万字长文)

目录 类与对象 自定义类 对象的内存模型 “”赋值 对象引用:this 作为常量的对象变量:final 判等操作 1. “重写(override)”基类的equals()方法 2. “重载(overload)”equals()方法 对象的构造 有参构造与无…

腾讯云轻量服务器+宝塔面板+基于springboot的web网页部署

经历了一段时间的折磨,近期也在看数据挖掘,还有最优化算法,现在基于我上一篇的的问题上,现在你的情况是不是:本地已经存在一个Springboot的项目,在本地能够良好运行。现在你要做的是把自己的项目部署到网上…

B树、B+树

前言 B树和B树都是平衡的多路搜索树,它们在数据库和文件系统中广泛使用,用于存储和检索数据。B是指balance,也就是平衡的意思。那这俩与平衡二叉树有啥区别?首先要知道AVL树与B树、B树他们都是自平衡搜索树。 ALV的子树间高度不会…

知识图谱入门——4:Protégé 5.6.4安装和主要功能介绍、常用插件(2024年10月2日):知识图谱构建的利器

Protg 是斯坦福大学开发的一款开放源代码的本体编辑工具。它为构建、共享和管理本体(Ontologies)提供了一个强大的平台,广泛应用于语义网、知识管理、自然语言处理等领域,特别是知识图谱的开发和管理。Protg 支持 OWL(…

Android-Handle消息传递和线程通信

本文为作者学习笔记,如有误,请各位大佬指点 目录 一、同步异步 二、Java多线程通信 三、Handler是什么 四、Handler相关的类 五、Handler常用方法 1. 发送消息 2. 接收处理消息 3. 切换线程 六、使用Handler 使用Handler更新UI 使用Handler延…

【MAUI】CommunityToolkit社区工具包介绍

一、为什么需要声明式开发 .NET的MVVM,始于WPF,很古典,它甚至可能是现代前端框架“声明式开发”的鼻祖。声明式开发,之所以出现,是因为命令式开发在UI层和代码层上无法解耦的问题。如下图所示: 1、命令式开发:后台代码需要调用UI层的控件(label.Text),如果更新UI层…

植物病虫害检测数据集 7800张 病虫害 带标注 voc yolo 7类

植物病虫害检测数据集 7800张 病虫害 带标注 voc yolo label| pic_ num| box_ num 越橘: . (932,980) 粘虫: (1104, 1104) 稻苞虫: (1389, 2269) 蝗虫: (1198, 1563) 蝽象若虫: (1594, 2576) . 绿蝽象: (1166&#xf…