BDD100k

news2024/11/17 1:30:35

摘要

数据集推动视觉进步,但现有的驾驶数据集在视觉内容和支持任务方面都很贫乏,以研究自动驾驶的多任务学习。研究人员通常被限制在一个数据集上研究一小部分问题,而现实世界的计算机视觉应用需要执行各种复杂的任务。我们构建了一个包含100K视频和10个任务的最大的驾驶视频数据集BDD100K ,以评估图像识别算法在自动驾驶上的令人兴奋的进展。该数据集具有地理、环境和天气的多样性,这对于训练不太可能对新条件感到惊讶的模型是有用的。基于这个多样化的数据集,我们构建了一个异构多任务学习的基准,并研究了如何共同解决这些任务。我们的实验表明,现有的模型执行这类异构任务需要特殊的训练策略。BDD100K为未来在这一重要场所的研究打开了大门。

介绍

多样化、大规模的标注视觉数据集,如Image Net [ 8 ]和COCO [ 19 ],一直是计算机视觉中监督学习任务最新进展的推动力。对于一个任务[ 17、28、16 ],典型的深度学习模型需要数以百万计的训练样本才能达到最先进的性能。

然而,对于自动驾驶应用而言,由于缺乏全面的数据集,利用深度学习的力量并不那么简单。现有的自动驾驶[ 15、7、24]数据集在一个或多个显著性方面受到限制,包括场景变化、注释的丰富程度和地理分布。此外,在现有数据集上训练的模型往往会过度拟合特定的领域特征[ 26 ]。现实世界的应用要求执行具有不同复杂度的感知任务的组合,而不仅仅是具有相同预测结构[ 27、38、1、21]的同构多任务。

虽然用简单的标注(如可行驶区域和物体边界框[ 11、19] )来标注大量图像可能是可行的,但获得更复杂的标注(如实例分割[ 3 ] )仍然具有挑战性,更不用说多目标检测和分割跟踪[ 31、22 ]。因此,尽管已经投入了相当大的精力来构建大规模的视觉数据集,但对这些复杂任务的研究仍然局限于小数据集[ 7、15 ]。在生产环境中,如何为各种注释分配资源以支持需要不同输出结构的异构任务的应用也不清楚。

我们的目的是促进对大规模多样视觉数据和多任务的算法研究。我们构建了BDD100K,这是一个新的、多样的、大规模的视觉驾驶场景数据集,并与各种任务一起,以克服这些限制。我们已经能够收集和注释最大的可用的注释驾驶场景数据集,由超过100K个不同的视频片段组成。BDD100K涵盖了更真实的驾驶场景,并捕获了更多的外观变化的 “long-tail” 和不同环境领域中感兴趣类别的姿态配置。我们的基准测试包括10个任务:图像标注、车道线检测、可行驶区域分割、道路目标检测、语义分割、实例分割、多目标检测跟踪、多目标分割跟踪、领域自适应和模仿学习,如图1所示。这些多样化的任务使得异构多任务学习的研究成为可能。在我们的基准测试中,模型可以执行一系列复杂度越来越高的任务。

我们在新的基准上对现有算法进行了广泛的评估。特别关注同构、级联和异构环境下的多任务学习。我们的实验提出了许多新的发现,这些发现可以通过在单一数据集上的多样化任务来实现。我们关于异构多任务学习的基准模型阐明了设计单个模型以支持多个任务的挑战。

在这里插入图片描述
图一:我们的数据集概述。我们的数据集包括不同天气条件、时间和场景类型下的驾驶视频。该数据集还附带了丰富的注释集:场景标注、目标包围盒、车道标记、可行驶区域、全帧语义和实例分割、多目标跟踪、带分割的多目标跟踪。

本文的主要贡献在于:

1 )提供了一个支持多种复杂任务的综合多样的100K驾驶视频数据集,可以作为自动驾驶计算机视觉研究的评估基准;
2 )异质多任务学习和基线研究的基准,以方便未来的研究。

相关工作

在计算机视觉的众多识别任务中,视觉数据集是必不可少的。特别是随着深度学习方法的出现,大规模的视觉数据集,如[ 8、36、40、24],对于学习高层次的图像表示至关重要。它们是通用的,包括数以百万计的带有图像级分类标签的图像。这些大型数据集在图像识别的表示学习中很有用,但现实世界中大多数复杂的视觉理解任务需要更细粒度的识别,例如物体定位和分割[ 11 ]。我们提出的数据集为更深入的视觉推理提供了这些多粒度的注释。此外,我们在视频的上下文中提供了这些注释,这提供了视觉信息的额外维度。虽然大型视频数据集存在[ 5,2,29],但它们通常仅限于图像级别的标签。

近年来,由于自动驾驶技术的普及,驾驶数据集受到了越来越多的关注。目标是了解计算机视觉系统在自动驾驶背景下面临的挑战。其中一些数据集侧重于特定的对象,如行人[ 9、39 ]。Cityscapes [ 7 ]对自己车辆采集的视频采样帧提供实例级语义分割。Robot Car [ 20 ]和KITTI [ 15 ]也提供了LiDAR扫描点等多源数据。由于收集覆盖广泛时间和地点范围的数据非常困难,这些数据集的数据多样性受到限制。Robot Car [ 20 ]和KITTI [ 15 ]也提供了LiDAR扫描点等多源数据。由于收集覆盖广泛时间和地点范围的数据非常困难,这些数据集的数据多样性受到限制。为了使车辆感知系统具有鲁棒性,它需要从众多城市的各种路况中学习。我们的数据来自与[ 33 ]中的视频相同的原始来源。 然而,本文的主要贡献是在异构任务上实现了具有基准的视频标注。Mapillary Vistas [ 24 ]为用户上传的数据提供了细粒度的注释,在位置方面更加多样化。然而,这些图像是一次性的帧,没有被放置在具有时间结构的视频背景中。像Vistas一样,我们的数据是众包的,然而,我们的数据集仅仅来自于驾驶员,每个注释的图像对应一个视频序列,这使得建模时间动态的有趣应用成为可能。

多任务学习旨在通过学习其他任务[ 6、23]来提高某项任务的泛化性。在机器学习[ 6、12]中得到了广泛的研究。对学习任务之间关系的兴趣不断增长,产生了许多多任务和迁移学习的训练基准和挑战。鲁棒视觉挑战[ 1 ]具有6个视觉挑战,其中单个模型有望在多个视觉任务上产生结果。Zamir等人[ 38 ]通过迁移学习研究了26个视觉任务之间的依赖结构。McCann等人[ 21 ]提出了一个具有十个自然语言处理任务的挑战,并提出了一个模型,通过将每个任务形式化为问答来解决所有问题。与McCann等人[ 21 ]类似,现有的多任务和迁移学习设置在输出结构上是同构的。任务可以表述为像素级或低维的分类和回归。BDD100K包含多个任务,包括像素级、基于区域和时间感知的任务,为异构多任务学习打开了大门。

BDDK100

我们的目标是提供一个大规模的多样化驾驶视频数据集,并提供全面的注释,以揭示街道场景理解的挑战。为了实现良好的多样性,我们以众包的方式获取我们的视频,由数万名司机上传,由Nexar 2支持。该数据集不仅包含高分辨率( 720p )和高帧率( 30fps )的图像,还包含GPS / IMU记录,以保存行驶轨迹总的来说,我们从超过50K的车次中收集了100K的驾驶视频(各40秒),覆盖纽约,旧金山湾区和其他地区,如图2所示

该数据集包含城市街道、居民区、高速公路等多种场景类型。此外,在一天中的不同时间,在不同的天气条件下录制了视频。将视频分为训练集( 70K )、验证集( 10K )和测试集( 20K )。每个视频中第10秒的帧被标注用于图像任务,整个序列用于跟踪任务

图像标注

我们对每幅图像采集了6种天气状况、6种场景类型、3种不同的白天时段的图像级标注。视频中包含了大部分的极端天气情况,如雪和雨。它们还包括世界各地数量各异的不同场景。值得注意的是,我们的数据集包含了大约相等数量的白天和夜间视频。这种多样性使我们能够研究领域迁移,并在新的测试集上很好地推广我们的目标检测模型。附录中展示了具有天气、场景和日小时标签的图像的详细分布。我们在图4中提供了使用DLA - 34 [ 37 ]的图像标记分类结果。不同天气和场景的平均分类精度在50 % ~ 60 %左右。

目标检测

定位物体不仅是自动驾驶的基本任务,也是一般视觉识别的基本任务。我们为100K个视频的每个参考帧提供10个类别的边界框标注。实例统计如图3a所示。我们在图3b和图3c中提供了可视性属性,包括"遮挡"和"截断"。

路面车道标示

车道线检测对于基于视觉的车辆定位和轨迹规划至关重要。然而,可用的数据集往往在规模和多样性方面受到限制。例如,加州理工学院车道线数据集[ 4 ]仅包含1,224张图像,道路标线数据集[ 32 ]有1,443张图像标注了11类车道标线。最近的一项工作,VPGNet [ 18 ],由在首尔三周的驾驶过程中拍摄的约20,000张图像组成。

我们的车道线(图5 )标注了8个主要类别:路缘石、人行横道、双白、双黄、双其他色、单白、单黄、单其他色。其他类别在评价时被忽视。我们标注了连续性(饱满的或破碎的)和方向性(平行或垂直)的属性。如表1所示,我们的车道线标注覆盖了一组不同的类。车道线类型和可行驶区域的详细分布见附录。

可行驶区域

单靠车道并不足以决定驾驶的道路承受能力。虽然大多数情况下,车辆应该停留在车道之间,但是没有清晰的车道标线是很常见的。此外,道路区域与其他所有车辆共享,但一条车道如果被占用则无法继续行驶。所有这些超出车道线的条件都指导着我们的驾驶决策,因此对于设计自动驾驶算法是相关的。

我们的可行驶区域分为两种不同的类别:直接可行驶区域和替代可行驶区域。直接可行驶区域是驾驶人当前正在行驶的区域- -也是驾驶人优先于其他汽车或路权的区域。相比之下,可替代驾驶区域是驾驶员目前不在行驶的车道,但可以通过改变车道来实现。虽然直接和可替代的可行驶区域在视觉上难以区分,但它们在功能上是不同的,并且需要算法识别遮挡物和场景上下文。一些例子如图6所示。可行驶区域注释的分布情况见附录。毫不奇怪,在交通状况严格监管的高速公路或城市街道上,可行驶区域大多在车道内,且与道路上的车辆或物体不重叠。然而,在居民区中,车道是稀疏的。我们的注释者可以根据周围的环境找到可驱动的区域。

语义实例分割

我们为从整个数据集中随机抽取的10000个视频片段中的每个视频片段提供了细粒度的像素级注释每个像素被赋予一个标签和一个对应的标识符,表示该对象标签在图像中的实例编号。由于很多类(例如,天空)不能被划分成实例,所以只给类标签的一小部分分配实例标识符。整个标签集合由40个对象类组成,选择这些对象类来捕获道路场景中对象的多样性,并最大化每张图像中的标记像素数量。除了大量的标签外,我们的数据集在场景多样性和复杂性方面超过了先前的工作。整个数据集分为3部分:7K图像用于训练,1K图像用于验证,2K图像用于测试。 语义实例分割数据集中类的分布情况如附录所示。

多目标跟踪

为了理解视频中对象的时间关联,我们提供了一个包含约400K帧的2000个视频的多目标跟踪( Multiple Object Tracking,MOT )数据集每段视频约40秒,标注速度为5帧/秒,每段视频约200帧。 我们在训练集和验证集中观察到总共130.6 K个轨迹恒等式和3.3 M个边界框。数据集分为1400个用于训练的视频,200个用于验证的视频和400个用于测试的视频。表2显示了BDD100K与先前MOT数据集的比较。我们的跟踪基准比之前流行的跟踪数据集MOT17 [ 22 ]大一个数量级。Waymo [ 30 ]最近发布的一个数据集与我们的数据集相比,总的跟踪序列( 1150比2000年)和帧数( 230K和398K)更少。但是 Waymo数据有更多的2D框( 9.9M vs 4.2M),而我们的数据有更好的多样性,包括不同的天气状况和更多的位置。轨迹和包围盒的类别分布见附录。

在这里插入图片描述

BDD100K MOT在对象尺度上具有多样性。图7 (左)绘制了包围盒尺寸的累积分布,对于宽度为w,高度为h的包围盒,定义为√wh。图7 (中间)显示了每个轨道的最大盒子尺寸与最小盒子尺寸之比的累积分布,图7 (右)显示了每个轨道的长度。分布显示,MOT数据集不仅在轨道间和轨道内的视觉尺度上存在差异,而且在每个轨道的时间范围上也存在差异。

在这里插入图片描述
图七:盒子大小的累积分布(左),每个轨道的最大和最小盒子大小之间的比率(中间)和轨道长度(右)。我们的数据集在对象尺度上更加多样化。

我们的跟踪数据中的目标也呈现出复杂的遮挡和再现模式,如图8所示。一个物体可能会被完全遮挡或者运动出帧,然后再重新出现。我们在数据集中观察到49,418次遮挡的发生,或者每3.51个轨迹发生一次遮挡。我们的数据集展示了自动驾驶中目标再识别对跟踪的真正挑战

多目标跟踪与分割

我们进一步提供了一个包含90个视频的多目标跟踪和分割( MOTS )数据集。我们将数据集分为60个训练视频,10个验证视频和20个测试视频

表3展示了BDD MOTS数据集的详细信息以及与现有的多目标跟踪和分割( MOTS )和视频目标分割( VOS )数据集的比较。MOTS旨在对拥挤场景中的多个物体进行分割和跟踪。因此,像KITTI MOTS和MOTS Challenge [ 31 ]这样的MOTS数据集需要每帧更密集的注释,因此比VOS数据集更小。BDD100K MOTS提供了比KITTI和MOTS挑战赛数据集更大的MOTS数据集,标注数量与大规模YouTube VOS [ 34 ]数据集相当。MOTS数据集按类别的详细分布见附录。

模仿学习

在我们的数据集中,GPS / IMU记录显示了给定视觉输入和驾驶轨迹的人类驾驶行为。我们可以使用这些记录作为模仿学习算法的示范监督,并使用困惑度来衡量验证集和测试集上驾驶行为的相似性。我们参考Xu等人[ 33 ]对评估协议的详细介绍。驾驶轨迹的可视化显示在附录中。

多样性

除了视频和比例尺之外,我们数据的一个显著特点是多样性。我们可以研究多样性给现有算法带来的新挑战,以及我们的数据如何补充现有数据集。我们进行了两组关于目标检测和语义分割的实验。在目标检测实验中,我们研究了数据集中的不同域。而在语义分割中,我们考察了我们的数据与Cityscapes [ 7 ]之间的领域。

目标检测

与其他流行的驾驶数据集相比,我们的数据集在多样性方面具有优势我们研究了域差异对目标检测的影响。根据时间和场景类型将整个数据集划分为若干个域。城市街道和白天被选为验证区域。训练集具有相同数量的图像( 30K )。然后在这些领域上训练基于ResNet - 50的Faster - RCNN [ 28 ],并使用COCO API [ 19 ]对结果进行评估。

我们发现来自不同条件的图像集之间确实存在域差异,如表4所示。城市与非城市的差异显著,但白天与夜间的差距更大。虽然这并不完全令人惊讶,但结果表明需要更多的工作来弥合差距

语义分割

我们还比较了在 Cityscapes 和我们的数据集上训练的模型,以了解我们的新数据集和现有的驾驶数据集之间的差异。Cityscapes 数据采集于德国城市,而我们的数据主要来自美国。我们观察到,对于语义分割模型而言,两个数据集之间存在着剧烈的领域转移。当在不同的数据集上进行测试时,模型表现更差。这表明即使对于其他数据集的领域,我们的新数据集也是互补的,从而增加了现有的数据集。图9直观地显示了这种差异。我们可以观察到在市景上训练的模型无法识别美国的交通标志。

多任务学习

BDD100K为研究异构任务的联合求解提供了机会。在这一部分中,我们研究了用同一个基础模型联合建模各种任务的效果。我们研究如何利用简单标签的多样性和数量来提高复杂任务的准确性,例如从目标检测到跟踪。

同质多任务学习

我们首先研究了具有相似输出结构的任务联合执行的效果。BDD100K车道线和可行驶区域数据集共享同一套70K训练图像。可行驶区域标注由2个前景类组成,车道线标注有3个属性(方向性、连续性、范畴性)。我们将可行驶区域的检测定义为分割,车道线的检测定义为轮廓检测。利用结构化边缘检测工具箱[ 10 ],在容差τ = 1,2,10像素的情况下,对3种属性中的每一类,采用均值Io U评价可行驶区域分割,采用最优数据集尺度F-测量( ODS-F )评价车道线标记。在评估过程中,我们对每个得分阈值进行形态学细化。

我们采用DLA - 34 [ 37 ]作为分割任务的基础模型。使用4个3 × 3卷积块执行分割头,然后执行1 × 1卷积生成4倍下采样尺度的分割图,并使用双线性插值将输出上采样到原始尺度。对于车道线标记,我们对这3个属性使用3个分割头。我们使用前景权重为10的加权交叉熵损失作为车道线标记头,并使用基于梯度的非极大值抑制进行后处理。我们用10K、20K和完整的70K图像构建了三个训练集,并在表5中报告了在单个任务和两个任务上训练的模型的评估结果。车道线的完整评价结果见附录。

我们观察到,当仅使用10K张图像进行训练时,与可行驶区域任务联合训练时,车道线预测的平均ODS - F分数从45.41提高到50.40。然而,联合训练在可行驶区域检测任务上的提升,从64.23到64.37,与单独任务相比,提升幅度微乎其微。当我们将训练图像的数量增加到20K和70K时,联合训练和单任务训练之间的差异变得微不足道,尽管性能数值普遍高于在10K图像上训练的结果。

对结果的一个假设是,可行驶区域检测任务和车道线标记任务具有相似的预测结构,被称为同质任务,因此额外的监督可能无法为每个单独的任务带来新的信息。这些结果进一步激励我们在本文中研究具有不同预测结构和标注类型的异构任务的多任务学习。

级联多任务学习

某些任务,如目标跟踪和实例分割,注释起来比较耗时。但是它们可以依赖于简单任务的预测。这种联系被研究为级联多任务学习。例如,更准确的目标检测可以更好地定位目标候选者进行跟踪。一个自然的问题是,是将所有的标注工作都花费在复杂的任务上,还是将一些资源分配在基本的任务上

目标检测和实例分割: BDD实例分割数据集包含7K张图像,而检测数据集包含70K张图像。我们首先研究添加更多的目标检测标注是否可以帮助实例分割。我们使用以ResNet - 50 [ 17 ]为主干的Mask R-CNN [ 16 ],以批量循环的方式训练检测和实例分割。如表6所示,随着联合训练的进行,AP从21.8增加到24.5。实例分割模型能够从具有更丰富多样性的图像和对象实例的检测集中学习到更好的对象外观特征和定位。Zhou等[ 41 ]探索了检测监督中的形状先验,进一步改进了半监督实例分割结果。

MOT和目标检测: BDD100K MOT有来自1400个视频的278K个训练帧,而检测集包含来自70K个视频的70K张图像。对于检测和MOT模型,我们使用了一个修改版本的Faster R-CNN [ 28 ],其共享DLA - 34 [ 37 ]骨干。跟踪模型的实现细节见附录。由表7可知,检测和多目标跟踪联合训练改善了单任务MOT模型,检测AP从28.1增加到30.7,MOTA从55.0增加到56.7,身份切换略有增加。

在这里插入图片描述

语义分割与其他任务: 按照类似的方式,我们通过联合训练语义分割与检测和车道线/可行驶区域来微调基本语义分割模型,如表8所示。我们观察到,使用额外的70K目标检测数据集进行训练,将总体mIoU从56.9提高到58.3,其提高主要归因于目标检测数据集中存在的目标类。当与车道线和可行驶区域集进行联合训练时,虽然所有类的整体IOU降低,但填充类(例如,道路和人行道)的IOU提高。

总而言之,在任务级联中为简单任务添加更多的标注可以帮助提高需要更昂贵标签的复杂任务的性能

异构多任务学习

我们的基准测试的最终目标是研究如何共同执行所有的异构任务以实现自动驾驶。为了理解这个潜力和困难,我们研究了多目标跟踪和分割的联合训练,目标检测、实例分割和多目标跟踪的下游任务。由于MOTS数据集需要在每一帧进行耗时的实例分割标注,因此该数据集在视频多样性方面比较有限,训练集有60个视频的12K帧。我们的目标是通过利用70K视频的70K图像的检测集,1400个视频的278K帧的MOT集和7K视频的7K图像的实例分割集的多样性来提高MOTS任务的性能。我们报告了实例分割AP和多目标跟踪和分割精度( MOTSA ),精度( MOTSP ),以及表9中使用的其他度量。我们首先从上游任务的预训练模型中微调MOTS模型。与从头开始训练MOTS相比,从预训练的实例分割模型中微调,提高了分割AP和MOTSP。另一方面,从预训练的MOT模型中进行微调,减少了身份交换( IDSW )。来自实例分割和MOT数据集的额外训练样本分别改进了分割和盒子传播,从而大幅度地提高了整体MOTSA结果。我们最终通过联合训练四个任务,对表7中提到的联合训练的检测与跟踪模型进行微调。我们实现了23.3的整体分割AP和41.4的MOTSA。

总结

在这项工作中,我们提出了BDD100K,一个面向异构任务的具有广泛标注的大规模驾驶视频数据集。我们建立了一个异构多任务学习的基准,其中的任务具有不同的预测结构,并服务于一个完整的驱动系统的不同方面。我们的实验对不同的多任务学习场景进行了广泛的分析:同质多任务学习和级联多任务学习。实验结果展示了关于多任务学习中注释预算分配的有趣发现。我们希望我们的工作能够促进未来关于异构多任务学习的研究,并对这一重要方向有所启示。

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

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

相关文章

一张试卷

目录 问题 1: 1.时间 题目描述1 输入1 输出1 样例输入1 样例输出1 提示1 代码1 问题 2: 超酷的电话号码 题目描述2 输入2 输出2 样例输入2 样例输出2 提示2 代码2 问题 3:3.爸爸的数学题 题目描述3 输入3 输出3 样例输入3 样例输出3 提示3 代码3 问题 4: 4. 营养膳食 题目描述4…

c# 学习 3

显示转换 异常捕获 语法

Django面试题

1. 什么是wsgi? WSGI 是 “Web Server Gateway Interface” 的缩写,它是一种用于 Python Web 应用程序和 Web 服务器之间通信的标准接口。它定义了一组规则和约定,使 Web 服务器能够与任何符合 WSGI 规范的 Python Web 应用程序进行交互。 #…

Javascript学习之路:js中关于遍历总结

循环/遍历 循环,就是一遍又一遍的重复执行相同或者相似的代码循环结构的两个要素 循环体–要执行的相同或相似的语句循环条件–重复执行的次数,或者继续执行循环的条件 👉while循环 while循环语法格式 while(boolean表达式){循环体语句}//…

3D高斯泼溅原理及实践【3DGS】

人工智能可能是我们这个时代的主要领域之一,它几乎可以用于从驾驶汽车到医疗保健甚至能够预防失明等所有领域,最近提出了一种新的 3D 重建方法。SNGULAR 及其人工智能团队希望了解有关 3D 重建技术的最新更新的更多信息。 目前可用于 3D 重建的许多 SOT…

[干货!必看文章]学会如何用L4级AI软件开发平台免费制作应用程序

前言: 自从ChatGPT问世以来,就掀起了全球AI大模型的浪潮。国外有Claude,Llama,Grok,Suno,国内有kimi,有智谱AI,有通义千问,还有文心一言... 国内大模型市场规模已经达到了…

【Python/Pytorch - 网络模型】-- 手把手搭建U-Net模型

文章目录 文章目录 00 写在前面01 基于Pytorch版本的UNet代码02 论文下载 00 写在前面 通过U-Net代码学习,可以学习基于Pytorch的网络结构模块化编程,对于后续学习其他更复杂网络模型,有很大的帮助作用。 在01中,可以根据U-Net…

瓦片边界可视化工具

本文涉及的核心内容 瓦片边界可视化-VisibleTileBoundariesmeethigher/visible-tile-boundaries: visible tiles boundaries demo 一、瓦片边界可视化 1.1 背景 日常GIS开发中,需要了解瓦片是什么,瓦片展示的效果是什么样的。这种口头上抽象的东西&a…

计算机哈佛架构、冯·诺依曼架构对比

哈佛架构和冯诺依曼架构是两种不同的计算机系统架构,它们在存储器组织方式上有着显著的区别。下面是它们的原理、优缺点的对比以及一些常见的 MCU 采用的架构: 哈佛架构: 原理:哈佛架构将指令存储器(程序存储器&#x…

Androd adb命令汇总,app专项测试命令。

1.普通命令 1.1 devices命令 # 语法格式 :adb devices [-l] # 作用 :返回已连接设备的信息 # 示例 :adb devices : 返回设备的信息adb devices -l : 返回设备的详细信息1.2 help命令 # 语法格式 :adb --help # 作用 &…

攻防世界--杂项misc-2017_Dating_in_Singapore

题目信息 题目描述和附件分别是一串数字和新加坡日历,数字中间有短线-连接,刚好分成了12个字段。猜想对应了12个月 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-02010814222930-0605041118252627-020…

集合进阶(接口Collection(迭代器、增强for、Lambda表达式)、List中常见的方法和五种遍历方式、数据结构(栈、队列、数组、链表)

一、单列集合顶层Collection List系列集合:添加的元素是有序、可重复、有索引Set系列集合:添加的元素是无序、不重复、无索引 Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。 Collection的遍历方式 1、迭代器——…

catia零件装配中通过指南针移动零件

1 将零件导入进来后 2 把指南针移动到零件上 具体移动哪个可以通过模型树点击选中,选中那个就可以移动那个。 这种情况需要注意的是 需要双击选择要移动零件的父节点 如下图,Product2蓝色表示是激活的,这样才可以单击选中下面的零件后通过…

STM32F103RCT6换STM32F103C8T6后delay函数延时了10倍

更换单片机步骤: 1、型号选择 2、启动文件,将HD改为MD。 3、引入对应的启动文件。 4、后面发现delay比之前延时了差不多10倍,解决办法:在初始化后加入SystemInit();即可。

Frontiers旗下期刊,23年分区表整理出炉!它还值得投吗?

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…

第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解

博客主页:誓则盟约 系列专栏:IT竞赛 专栏 关注博主,后期持续更新系列文章 如果有错误感谢请大家批评指出,及时修改 感谢大家点赞👍收藏⭐评论✍ 问题描述: 小蓝有一个大小为 N N 的棋盘(棋…

110.网络游戏逆向分析与漏洞攻防-装备系统数据分析-装备与技能描述信息的处理

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

javaWeb项目-ssm+vue医院住院信息管理系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、Java简介 现代社…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:AI智能监控 用于沙滩救援

以色列的一个团队在人工智能领域取得的成果引起了轰动。 今天他们取得的成果源于多年前的一个想法。Netanel Eliav 和 Adam Bismut 是校园时代的旧伙伴,当时他们想要解决一个可以改变世界的问题,由此引出这样一个想法:溺水的 Bismut 漂流到死…

RV32M指令集

RV32M指令集 1、乘法运算2、除法运算1、乘法运算 MUL 指令(得到整数32位乘积(64位中的低32位)) MUL 指令用于执行两个带符号或无符号整数之间的乘法运算。其语法如下: mul rd, rs1, rs2 它将寄存器 rs1 和 rs2 中的值相乘,并将结果写入寄存器 rd 中。如果 rs1 和 rs2 都是有…