ICLR 2023丨3DSQA:3D 场景中的情景问答

news2024/11/15 22:18:48

来源:投稿 作者:橡皮
编辑:学姐

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

主页链接:http://sqa3d.github.io

图 1:3D 场景中情景问答 (SQA3D) 的任务图示。给定场景上下文 S(例如,3D 扫描图、以自我为中心的视频、鸟瞰图),SQA3D 要求智能体首先从文本描述 s txt 中理解并定位其在 3D 场景中的情况(位置、方向等),然后在这种情况下回答问题q。请注意,理解情景并正确想象相应的以自我为中心的视角对于完成我们的任务是必要的。我们在图 2 中提供了更多示例问题。

摘要:

我们提出了一项新任务来对具身智能体的场景理解进行基准测试:3D 场景中的情境问答 (SQA3D)。给定场景上下文(例如 3D 扫描),SQA3D 要求被测智能体首先按照文本描述了解其在 3D 场景中的情景(位置、方向等),然后推理其周围环境并回答该环境下的问题情况。基于 ScanNet 的 650 个场景,我们提供了一个围绕 6.8k 个独特情况的数据集,以及针对这些情况的 20.4k 个描述和 33.4k 个不同的推理问题。这些问题考察智能代理的广泛推理能力,从空间关系理解到常识理解、导航和多跳推理。 SQA3D 对当前的多模态尤其是 3D 推理模型提出了重大挑战。我们评估了各种最先进的方法,发现最好的方法只能达到 47.20% 的总分,而业余人类参与者可以达到 90.06%。我们相信SQA3D可以通过更强的情境理解和推理能力促进未来的具体人工智能研究。

1.引言

近年来,智能体建设取得了丰硕成果。机器人现在可以按照自然语言命令或对话进行导航并操纵物体。尽管取得了这些有希望的进步,但它们在现实世界的具身环境中的实际表现仍然可能达不到人类的期望,特别是在泛化到需要大量知识密集型推理的不同情况(场景和地点)和任务时。为了研究现实的具体智能体的基本能力,我们研究了具身场景理解的问题,其中智能体需要从动态的自我中心的角度了解其情景和环境中的周围环境,然后感知、推理并采取相应的行动,以完成复杂的任务。

具身场景理解的核心是什么? 从情境认知(一种开创性的具身理论)中汲取灵感,我们预计它有两个方面:

  • 情景理解。 能够想象智能体从 3D 场景中的任意情况(位置、方向等)看到什么,并了解与该情况相关的周围环境,从而泛化到新的位置或场景;

  • 情景推理。 因此,能够根据智能体的当前情况获取有关环境的知识并利用这些知识进行推理,从而进一步促进完成复杂的行动规划任务。

图 2:来自 SQA3D 的示例。我们提供了一些示例问题以及相应的情况(s txt 和 )以及 3D 场景。此处列出的类别并不意味着详尽无遗,一个问题可能分为多个类别。绿色框表示情况描述 s txt 中的相关对象,而红色框表示问题 q。

为了迈向具身场景理解,我们引入了 SQA3D,这是一项新任务,它将双方的最佳状态、情境理解和情境推理协调到具身 3D 场景理解中。图 1 概述了我们的任务:给定 3D 场景上下文(例如 3D 扫描、以自我为中心的视频或鸟瞰图 (BEV) 图片),3D 场景中的代理需要首先理解并定位其情况(位置、方向等),然后回答一个需要从该角度进行实质性情境推理的问题。我们从 Amazon MTurk (AMT) 中众包了情境描述,其中参与者被指示在 3D 场景中选择不同的位置和方向。为了系统地检查智能体的情境推理能力,我们收集了涵盖广泛知识的问题,从空间关系到导航、常识推理和多跳推理。总的来说,SQA3D 包含从 650 个 ScanNet 场景收集的 6800 个独特情况的 20400 个描述以及关于这些情况的 33400 个问题。 SQA3D 的示例如图 2 所示。

我们的任务与最近在 3D 语言标定方面的工作密切相关。然而,这些途径中的大多数都假设对 3D 场景的观察是从一些第三人称视角而不是具体的、以自我为中心的视图进行的,并且它们主要检查空间理解,而 SQA3D 则检查具有广泛知识的场景理解,以及问题必须使用(想象的)第一人称视角来解决。 Embodied QA与 SQA3D 的动机非常相似,但我们的任务采用简化的协议(仅 QA),同时仍然保留对体现场景理解进行基准测试的功能,因此允许更复杂的知识- 密集的问题和更大规模的数据收集。与相关任务和基准的比较如表1所示。

对现有基线进行基准测试:在我们的实验中,我们研究了最先进的多模态推理模型,包括利用 3D 扫描数据的 Azuma 等人的 ScanQA、Clip-BERT和 MCAN利用以自我为中心的视频和 BEV 图片。然而,结果表明,这两个模型仍然大幅落后于人类表现(最佳模型为 47.2%,业余人类测试者为 90.06%)。为了了解故障模式,我们对可以减轻情况理解带来的挑战的设置进行了实验。这些模型的改进证实了当前的模型确实在情境理解方面遇到困难,而情境理解对于具体场景理解至关重要。

最后,我们探索像 GPT-3和统一 QA这样强大的大型语言模型(LLM)是否可以通过将多模态 SQA3D 问题转换为单模态代理来解决我们的任务使用场景字幕。然而,我们的结果显示,这些模型仍然可能因缺乏空间理解和准确的描述而受到瓶颈。

表 1:涵盖基础 3D 场景理解的不同基准数据集概述。一般来说,我们会考虑逼真 3D 场景中的语义基础、语言驱动的导航和问答。在第一行中,“situated”表示基准任务是否应该由具有自我中心视角的“situated”代理完成。导航、常识和多跳推理表明任务是否需要一定的 3D 理解能力或知识水平。 * 学习者需要在模拟器中导航以增量感知 3D 场景,而不是观察场景的完整 3D 扫描。

我们的贡献可总结如下:

  • 我们推出了SQA3D,这是一个具体场景理解的新基准,旨在协调情境理解和情境推理的挑战性能力,并促进智能具体代理的开发。

  • 我们精心策划 SQA3D,以涵盖不同的情况和有趣的问题。这些问题探讨了实体主体的广泛知识和推理能力,从空间关系理解到导航、常识推理和多步骤推理。

  • 我们对最先进的多模态推理模型进行了广泛的分析。然而,实验结果表明这些途径在 SQA3D 上仍然举步维艰。我们的假设表明了正确的 3D 表示的关键作用以及在具体场景理解中对更好的情境理解的需求。

2.3DSQA 数据集

SQA3D 中的问题实例可以表示为三元组S,s,q,其中S表示场景上下文,例如3D扫描、以自我为中心的视频、鸟瞰图(BEV)图片等;s =<s^txt,s^pos,s^rot>表示一种情景,其中文本情况描述 s txt (例如,图 1 中的“坐在床边面向沙发”)描述了场景中智能体的位置 s^pos 和方向 s rot ;注意,假设代理首先按照场景坐标原点的 s rotat 进行旋转,然后平移到 s pos ; q 表示问题。任务是从答案集中检索正确答案 a = {a1,..., aN},同时可选地预测地面真实位置 s^pos, s^rot 来自文本。额外的位置预测可以帮助缓解态势理解带来的挑战。以下小节将详细介绍如何收集和整理数据,然后构建基准。

2.1 数据形成

3D 室内场景选自 ScanNet数据集。我们注意到,某些场景可能过于拥挤/稀疏,或者整体很小,使得情况和问题收集不可行。因此,我们首先根据对象/布局的丰富度和空间体积对这些场景进行手动分类。在删除那些不符合要求的场景后,我们最终保留了 650 个场景。然后,我们开发一个基于网络的交互式用户界面 (UI) 来收集数据。 UI设计的详细信息可以在附录中找到。所有参与者都是在 AMT 上招募的。

图 3:SQA3D 的数据收集管道。由于我们的数据集包含多种类型的注释(情况及其描述、问题、答案等),因此我们发现将单个注释任务分解为三个子任务更易于管理:i)情况识别; ii) 问题准备; iii) 答案收集和人体研究,AMT 招募的参与者一次只需关注一个相对简单的子任务。

与同行相比,单个 SQA3D 问题实例的注释负载可能要重得多,因为参与者需要探索场景、选择情况、进行描述并提出一些问题。所有这些步骤还需要与 3D 场景进行密集交互。为了确保良好的质量,我们引入了多阶段收集管道,它将负载分解为更易于管理的子任务。图 3 描述了这个过程:

一. 情景识别。我们要求工人通过改变地点hs pos来选择5种情况;然后,工作人员被指示编写可以唯一地描述场景中这些情况的描述 s txt。我们还使用示例和奖励来鼓励更自然的句子和人类活动的使用(例如,“我正在等待我的午餐在微波炉前加热”)。所有收集到的情况随后都会经过手动整理,以确保多样性和最少的歧义。如果有必要,我们会用更多的情况来扩充数据,以覆盖场景的不同区域。

二. 问题准备。我们收集了一系列问题。每对3D场景S,以及情况描述s txt(虚拟头像也在hs pos; sroti处渲染)。为了帮助准备需要大量情景推理的问题,我们会在允许工人完成我们的任务之前对他们进行辅导。他们被要求遵守规则并向好的榜样学习。我们还删除和惩罚不依赖于当前情况的响应,例如“房间里有几张椅子?”

三. 答案收集和人类研究。除了随问题收集的答案之外,我们还将问题发送给更多员工并记录他们的回答。除了在场景中显示之外,为这些工作人员提供与第二阶段相同的界面,以确保问答收集之间的一致性。在主要工作开始之前,所有三个步骤中还必须熟悉场景,我们发现这非常有帮助,尤其是对于更拥挤的场景。更多详细信息可以在附录中找到。

2.2 管理、数据统计和指标

策展。 我们的多阶段收集最终包含 6,800 个独特情况的约 21,000 个描述和 35,000 个问题。尽管上述提示确实产生了许多高质量的注释,但其中一些仍然需要进行管理。我们首先应用基本语法检查来清除语言故障。然后,我们遵循 VQAv2和 OK-VQA中的做法,进一步消除省力的描述和问题。具体来说,我们消除并重写类似模板的描述(例如,重复相同的句型)和过于简单或不需要查看场景的问题。我们还注意到 Marino 等人 中报告的类似答案偏差,其中某些类型的问题可能会偏向某些答案。因此,我们删除问题以确保答案分布更加均匀。平衡前后答案分布的比较可以在附录中找到。因此,我们的最终数据集包含 20.4k 个描述和 33.4k 个多样化且具有挑战性的问题。图 2 演示了 SQA3D 中的一些示例问题。

统计数据。 与大多数基于模板的文本生成技术相比,SQA3D 是在 AMT 上众包的,因此具有更自然性和更好的多样性。据我们所知,SQA3D 是最大的基于人类注释问答对的 3D 场景理解数据集(与对应数据集的比较可在表 1 中找到)。表2、图4和图5展示了我们数据集的基本统计数据,包括情景描述的词云和基于前缀的问题分布。可以看出,描述总体符合我们的预期,因为“坐”和“面对”等人类活动是最常见的词语之一。我们的问题也比同行更加多样化和平衡,以“什么”开头的问题占了一半以上,并导致问题存在偏见。更多统计数据,如答案分布和文本长度,可以在附录中找到。

数据集分割和评估指标。 我们遵循ScanNet的做法,将SQA3D分为训练集、验证集和测试集。由于我们无法访问 ScanNet 测试集中的语义注释,因此我们将 ScanNet 验证场景分为两个子集,并分别将它们用作我们的验证集和测试集。这些分割的统计数据可以在表 2 中找到。遵循 VQAv2中的协议,我们通过排除只出现很少次数的答案来提供一组 706 个“top-K”候选答案。随后,我们采用“精确匹配”作为我们的评估指标,即测试集中答案分类的准确性。没有包含进一步的指标,因为我们发现它足以衡量具有“完全匹配”的基线模型之间的差异。

3.SQA3D 模型

一般来说,SQA3D 可以表征为多模态推理问题。受到基于 Transformer的视觉-语言模型最新进展的启发,我们研究了这些方法如何完成我们的任务。具体来说,我们研究了最近基于 Transformer 的问答系统:ScanQA,它将 3D 扫描和问题映射为答案。我们做了一些调整以确保其与 SQA3D 中的协议的兼容性。为了进一步改进该模型,我们考虑在训练期间加入一些辅助任务。对于其他类型的 3D 场景上下文,例如以自我为中心的视频剪辑和 BEV 图片,我们采用相应的最先进模型。最后,我们探讨了最近推出的 LLM(例如 GPT-3)和Unified QA在以零样本方式解决 SQA3D 方面的潜力。这些模型的概述如图 6 所示。

3D模型。 我们使用术语 3D 模型来指 ScanQA模型的修改版本,如图 6 的蓝色方框所示。它包括一个基于 VoteNet的 3D 感知模块,该模块提取以对象为中心的特征,用于处理问题 q 和情况描述 s txt 的基于 LSTM 的语言编码器,以及一些交叉注意力transformer块。以对象为中心的特征标记依次关注 s txt 和 q 的语言标记。最后,这些特征将被融合并映射以预测答案。或者,我们可以添加一个头来预测位置 hs pos;代理的 sroti。由于 VoteNet 模块是从头开始训练的,因此我们还采用了对象检测目标(图中未显示)。

辅助任务。 正如我们之前提到的,情境理解在完成 SQA3D 任务中起着至关重要的作用。为了更好地理解特定情况,我们引入了两个辅助任务:模型需要对情况的 s pos 和 s rot 进行预测。我们对这些任务使用均方误差(MSE)损失。因此,我们问题的总体损失变为 L = Lans + αLpos + βLrot,其中 Lans、Lpos 和 Lrot 描述了主任务和辅助任务的损失,α 和 β 是平衡权重。

基于视频和图像的模型。 图 6 中间的橙色框演示了基于视频和图像的输入模型。当选择将 3D 场景上下文 S 表示为以自我为中心的视频剪辑或 BEV 图片时,SQA3D 在很大程度上类似于视频问答或视觉问答问题。然而,SQA3D还要求模型将问题q和新添加的情况描述s txt作为输入。因此,我们遵循基于上下文的 QA 任务中的实践,并将 txt 作为上下文添加到问题中。对于该模型,我们使用最先进的视频 QA 系统 ClipBERT和 VQA 系统 MCAN。我们采用他们的大部分默认超参数,详细信息可以在附录中找到。 零样本模型。 我们探索 GPT-3和Unified QA等LLM可以在多大程度上解决我们的任务。遵循将 GPT-3 应用于 VQA 的先前实践,我们建议使用一种称为 3D 字幕的新兴技术将 3D 场景转换为文本。我们提供标题、s txt 和 q 作为提示的一部分,并要求这些模型完成答案。对于 GPT-3,我们进一步发现在提示中提供少量示例有助于获得更好的结果。还需要进行少量的后处理以确保答案质量。

4.实验

4.1 设置

我们对第 3 节中介绍的模型进行基准测试,以评估它们在SQA3D上的性能。如前所述,我们检查三种类型的场景上下文 S:3D 扫描(点云)、以自我为中心的视频和 BEV 图片。每个场景的 3D 扫描和自我中心视频均由ScanNet提供。然而,我们对视频进行下采样,以便根据ClipBERT模型的要求进行更有效的计算。 BEV 图片是通过将自上而下的相机放置在每个 3D 场景的扫描顶部来渲染的。我们还进行了额外的实验,调查可能影响结果的因素,例如情况和辅助任务。在我们的早期实验中,我们发现3D模型总体性能优于基于视频或图像的模型。因此,由于计算资源的限制,我们仅使用 3D 模型的变体进行这些额外的实验。我们使用ScanQA、ClipBERT和MCAN的官方实现,并包含我们对SQA3D的修改。

对于零样本模型,我们从两个来源提取 3D 场景字幕:ScanRefer和 ReferIt3D。考虑到输入提示长度的限制,这些 3D 字幕也进行了下采样。Unifeid QA 模型权重来自其Huggingface官方存储库。所有模型均使用验证集进行调整,我们仅报告测试集的结果。有关模型实现的更多详细信息可以在附录中找到。

4.2 定量结果

我们在表 3 中提供了我们的 SQA3D 基准上所考虑的模型(第 3 节中详细介绍)的定量结果。结果总结如下:

问题类型。 在表 3 中,我们根据前缀展示了六种类型问题的准确性。大多数模型往往在“是”和“可以”问题上表现更好,而在“什么”问题上表现较差,这可能是由于候选答案数量较少——大多数具有二元答案的问题以“是”和“可以”开头,为随机猜测提供了更好的机会。此外,我们观察到盲测(没有 3D 场景上下文输入的模型)与我们在“什么”和“哪个”类别上的最佳模型之间存在巨大差距,这表明这两类问题需要更多的视觉信息。这也部分呼应了 Lei 等人报告的发现。

情境理解和推理。 SQA3D 基准测试的核心是情境理解和推理的要求。正如我们在 2.1 节中提到的,如果忽略问题所依赖的情况(例如“我面前的东西”在不同情况下可能有完全不同的答案),模型将更容易出现错误的答案预测。在表 3 中,从输入中删除情境描述 s txt 会导致更糟糕的结果,而添加辅助情境预测任务会提高整体性能,尤其是在具有挑战性的“什么”问题上。唯一的例外是“如何”问题,其中大部分与计数有关。我们假设每个 ScanNet 场景中的大多数对象只有相对少量的实例,并且该数量也可能与对象类别相关。因此,如果情境理解和推理还不完善,基于问题的猜测/记忆只能比以情境为输入的模型提供更好的结果。此外,我们还在 4.3 节中使用注意力可视化来检查情境理解和 QA 之间的关系。

3D 场景的表示。 事实上,SQA3D 并不将输入限制为仅 3D 扫描,因为我们还提供以自我为中心的视频和 BEV 图片的选项。与以 3D 扫描作为输入的模型相比,使用其他 3D 表示(即 MCAN 和 ClipBERT)的测试模型提供的结果要差得多,这意味着当推理模型使用时,迄今为止的 3D 扫描仍然可以更好地表示 3D 场景。被调查的问题需要对场景有全面的了解。另一方面,MCAN 和 ClipBERT 是通用 QA 系统,而 ScanQA 是针对 3D 语言推理任务而设计的。通才与专业之间的权衡也可以部分解释这一差距。最后,与盲测相比,BEV 和基于自我中心视频的模型的较差结果也可能是由于提供视觉输入时额外的“视觉偏差”造成的。请注意,可以通过更好的视觉表示来减轻视觉偏差,这意味着 ScanQA 似乎比使用 BEV 和自我中心视频的同行更少受到视觉偏差的影响,而更好的视觉表示则推动了 ScanQA在对抗数据集偏差方面。

零样本与从头开始训练。 像 GPT-3 这样的预训练法学硕士在无数具有挑战性的推理任务上取得的成功a)表明这些模型也可能通过仅语言输入来理解具体的 3D 场景。然而,SQA3D对这些模型提出了巨大的挑战。强大的统一 QA(大变体)和 GPT-3 都无法为我们的任务提供合理的结果。此外,我们假设瓶颈也可能出现在 3D 字幕上,因为结果验证了不同字幕源 (ScanRefer!ReferIt3D) 对模型性能带来的一致影响。然而,我们仍然相信这些模型具有巨大的潜力。例如,一种零样本模型(GPT-3 + ScanRefer)在具有挑战性的“什么”问题上表现得相当好(39.67%),甚至比最好的 ScanQA 变体还要好。

人类vs机器。 最后,所有机器学习模型在很大程度上落后于业余人类参与者(ScanQA + 辅助任务的 47.2% vs. 90.06%)。值得注意的是,在向测试人员发送 SQA3D 问题之前,我们仅向他们提供有限数量的示例。我们的参与者迅速掌握如何与3D场景交互,从文字描述中了解情况,并回答具有挑战性的问题。人类的表现对于不同的问题类型也没有表现出明显的偏见。

4.3 定性结果

最后,我们在图 7 中提供了 3D 模型变体的一些定性结果。我们主要关注于可视化答案预测和Transformer 对VoteNet生成的以对象为中心的特征标记(边界框)的注意力骨干。我们突出显示基于Transformer模型的所有预测中最受关注的边界框,希望更好地理解这些模型如何感知 3D 场景以理解情况并回答问题。在图 7 中,正确的预测始终与对情境描述文本和问题中相关对象的关注相关。此外,如果同一对象类别有多个实例,识别正确的实例也至关重要。

例如,仅 ScanQA+aux。任务对第一个问题做出正确的预测,并且还关注后面的正确椅子,而ScanQA则关注错误的实例。这些结果证实了我们在第 4.2 节中关于情境理解的关键作用的发现。我们还在附录中提供了一些故障模式。

4.4 用于定位的额外任务

如图 1 所示,代理可以根据情况描述 s txt 和当前 3D 场景上下文 S 选择性地预测当前位置。因此,我们提供了一些额外的指标来帮助评估这些预测。具体来说,智能体需要预测当前位置 s pos 在3D 坐标<x, y, z>(单位是米)和四元数中的方向<x, y, z, w>。然后将使用以下指标单独评估这些预测:

  • Acc@0.5m:如果预测位置与GT位置在0.5米范围内,则预测正确。然后我们报告:

  • Acc@1.0m:与 Acc@0.5m 类似,但范围限制为 1.0 米。

  • Acc@15°:如果预测方向与地面真实方向的偏差在 15° 范围内,则预测将被视为正确。

  • Acc@30°:与 Acc@15° 类似,但范围限制为 30°。

请注意,对于位置预测,我们只考虑预测的 x, y 和方向预测,仅沿z轴的旋转计数。我们将随机预测的结果报告如下作为参考。

5.相关工作

具身智能。 具身人工智能的研究源于“与环境的持续物理交互是智能系统设计约束的主要来源”的假设。为此,研究人员提出了无数的人工智能任务,以研究智能是否会通过在虚拟或逼真的环境中行动而出现。值得注意的任务包括机器人导航和视觉基于的操纵。随着指令或自然对话被进一步用作条件,这些任务变得更具挑战性。还开发了复杂的模型来应对这些挑战。早期的努力通常包括多模态融合并从头开始训练,而最近的努力将采用预先训练的模型。然而,与训练任务的结果相比,智能体对于新颖且更复杂的测试任务的泛化能力仍然较差。更详细的检查仍有待进行,这也激发了我们的 SQA3D 数据集,该数据集研究了当前实体智能体可能需要改进的一项关键能力:实体场景理解。

标定3D 理解。 视觉基础被视为将人类知识(可能以我们的语言编码)连接到视觉世界的关键,从而使智能体能够更好地理解现实环境并在现实环境中采取行动。将这种能力扩展到 3D 数据是很自然的,因为它提供了更加身临其境的世界呈现。早期的工作已经通过 3D 数据的检测和分割任务检查了词级基础。最近的研究开始涵盖具有复杂语义的句子级基础。最近,新的基准将复杂的视觉推理引入 3D 数据。然而,这些任务大多采用被动的第三人称视角,而我们的 SQA3D 需要以自我为中心的观点解决问题。这为需要第一人称视角的任务带来了挑战和机遇,例如体现人工智能。

多模态问答。 构建通用问答(QA)系统一直是人工智能的目标。随着多模态机器学习的进步,VQA率先致力于促进更加人性化的多模态 QA 系统的开发。它已扩展为更多类型的知识,例如常识和事实知识。最近的研究还引入了视频上的 QA 任务和 3D 数据。我们提出 SQA3D 基准也是希望促进具有具体场景理解能力的多模态 QA 系统。值得注意的是,SQA3D 模型可以从 3D 扫描、以自我为中心的视频或 BEV 图片中选择输入,这使得我们的数据集与各种现有的 QA 系统兼容。

6.总结

我们推出了 SQA3D,这是一个基准测试,通过结合最佳的情境理解和情境推理来研究具体场景理解的能力。我们精心策划我们的数据集,以包含不同的情况和有趣的问题,同时保留相对较大的规模(20.4k 情况描述和 33.4k 问题)。我们的问题探讨了具体代理的广泛知识和推理能力,特别是导航、常识和多跳推理。我们研究了许多最先进的多模态推理系统,但迄今为止最好的机器学习模型与人类表现之间的差距仍然很大。我们的研究结果表明正确的 3D 表示和更好的情况理解的关键作用。通过 SQA3D,我们希望加强研究工作,开发更好的具体场景理解方法,并最终促进更智能的具体代理的出现。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“智能体”获取agent精选论文+代码合集

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

光致发光荧光量子检测的作用

光致发光荧光量子检测是一种测试技术&#xff0c;可以用来测量荧光材料的荧光光谱、荧光量子效率和发光寿命等参数&#xff0c;具有高灵敏度、高分辨率和自动化程度高等优点。 光致发光荧光量子检测的应用范围广泛&#xff0c;可以应用于材料科学、生物科学、医学、光学器件、能…

【C】想动态分配内存?动态内存管理了解一下

目录 一、为什么存在动态内存分配 二、动态内存函数的介绍 1.malloc和free 2.calloc 3.realloc 三、常见的动态内存错误 1 对NULL指针的解引用操作 2 .对动态开辟空间的越界访问 3.对非动态开辟内存使用free释放 4.使用free释放一块动态开辟内存的一部分 5.对同一块动态…

730. 机器人跳跃问题--二分

题目&#xff1a; 730. 机器人跳跃问题 - AcWing题库 思路&#xff1a; 二分 1.当起始能量E大于最大建筑高度1e5 时&#xff0c;E的能量在整个条约过程中全程递增&#xff0c;则大于E的初始能量也必然成立&#xff08;满足二段性&#xff09;。故最小初始能量范围为[0,1e5]&a…

会声会影2023电脑破解版视频剪辑工具

本次更新不仅带来了标题动作、标题特效、转场特效、音频标记等功能的更新&#xff0c;也增强了热门的GIF创作器、定格动画制作、多语字幕、短时长转场等功能&#xff0c;让大家能体验到更加新潮的视频制作方式。会声会影2023是一款视频编辑软件&#xff0c;由Corel开发。该软件…

【Linux】Centos 8 服务器部署:阿里云域名申请免费 SSL 证书详细教程

目录 一、免费申请 SSL 证书 &#xff08;1&#xff09;打开阿里云SSL证书页面 &#xff08;2&#xff09;SSL 证书 - 免费证书&#xff08;立即购买&#xff09; &#xff08;3&#xff09;SSL 证书 - 免费证书&#xff08;创建证书&#xff09; &#xff08;4&#xff…

Path Gain and Channel Capacity for HAP-to-HAP Communications

文章目录 摘要实验仿真场景一&#xff1a; 距离变化对同海拔高度HAP的影响场景二&#xff1a;距离变化对不同海拔高度HAP通信的影响。场景三&#xff1a;平台高度和频率对HAP通信的影响四 信道容量 摘要 在这项研究中&#xff0c;我们重点分析了HAP之间的信道模型&#xff0c;…

php伪协议详解

php:// — 访问各个输入/输出流&#xff08;I/O streams&#xff09; PHP 提供了一些杂项输入/输出&#xff08;IO&#xff09;流&#xff0c;允许访问 PHP 的输入输出流、标准输入输出和错误描述符&#xff0c; 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源…

C++前缀和算法的应用:分割数组的最多方案数 原理源码测试用例

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 给你一个下标从 0 开始且长度为 n 的整数数组 nums 。分割 数组 nums 的方案数定义为符合以下两个条件的 pivot 数目&#xff1a; 1 < pivot < n nums[0]…

区块链外包开发需要注意的问题

在进行区块链外包开发时&#xff0c;有一些关键问题需要特别注意&#xff0c;以确保项目的成功和质量。以下是一些需要考虑的问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.明确的需求和目标&…

公众号视频怎么下载,3个方法教你如何操作!

公众号视频怎么下载&#xff0c;今天教你如何操作下载公众号视频&#xff0c;废话不多说&#xff0c;看教程 关于分享的教程我们分享一下三种方法 1&#xff1a;公众号视频查看源代码 2&#xff1a;获取公众号小助手下载公众号视频 3&#xff1a;QQ浏览器下载法 公众号视频…

C盘满了怎么清理文件?

电脑的C盘是我们电脑存储系统文件和应用程序的一个重要盘符&#xff0c;很多人经常会遇到C盘空间不足的问题&#xff1b;虽然我们可以通过卸载程序或者删除文件来释放空间&#xff0c;但是在这个过程中往往会误删掉一些重要的文件&#xff0c;造成部分程序可能无法正常使用。 因…

python 连接oracle数据库的过程步骤(亲测有效)--windows

目录 1. 安装 cx_Oracle 模块 2. 安装 oracle 客户端 3. 连接 oracle数据库 连接oracle数据库的过程中遇到很多问题&#xff0c;不过好在一一解决了&#xff0c;特地将解决问题的过程记录下来供友友们参考~ 1. 安装 cx_Oracle 模块 具体可参考 PyCharm 安装 cx_Oracle 失败…

急需一个免费又实用的配音软件~

做自媒体的朋友肯定需要用到大量的文案配音&#xff0c;又不想自己配&#xff0c;就只能在网上找AI配音的小程序、网站和软件&#xff0c;可是找了&#xff0c;又有很多效果不好&#xff0c;情绪单调。 不过没关系&#xff0c;今天我将为大家介绍一款超实用的配音网站&#xf…

【Unity程序技巧】2D音乐中心管理器

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

MII,RMII,GMII,RGMII区别

一、MII,GMII为百兆网口 1.MII ①引脚接线图 ②引脚定义 2.GMII ①引脚接线图 ②引脚定义 二、GMII,RGMII为千兆网口 1.GMII ①GMII引脚接线图 ②GMII引脚定义 2.RGMII ①RGMII引脚接线图 ②RGMII引脚定义 三、PCB走线注意 ① RGMII 模式下&#xff0c;MAC 的 RXD0&a…

WireShark使用入门

背景 Wireshark&#xff0c;又被称为网络封包分析软件&#xff0c;是一种开源且功能十分强大的工具。该工具的主要功能是截取各种网络封包&#xff0c;并尽可能显示出最为详细的网络封包资料。它使用WinPCAP作为接口&#xff0c;直接与网卡进行数据报文交换。 Wireshark支持W…

简单有效的方法压缩图片大小,尝试一键自动压缩!

如果图片过大&#xff0c;会占据我们过多的存储空间&#xff0c;可能会引起电脑的卡顿&#xff0c;传输的速度很慢&#xff0c;也很容易传输失败&#xff0c;这时候可以把图片压缩&#xff08;https://www.yasuotu.com/&#xff09;一下&#xff0c;那么怎么才能快速压缩图片大…

【Note】完全二叉树的类型定义

完全二叉树 完全二叉树&#xff1a;深度为k&#xff0c;结点数为n的二叉树&#xff0c;如果其结点1~n的位置序号分别与等高的满二叉树的结点1~n的位置序列一一对应&#xff0c;则为完全二叉树。 完全二叉树的特点&#xff1a; 叶子结点只可能出现在最后两层。度为1的结点个数…

关于c语言,你必须了解的运行流程

流程图 1.程序的翻译环境和执行环境 在ANSIC任何一种实现下,都存在两种环境,程序的翻译环境和执行环境 翻译环境:将源代码转换成机器指令 执行环境:用于执行代码 2.详解编译链接 简单的说一个代码从编写到看到控制台的结果分为编译链接两步即可,接下来我们将详细解释编译链接中…

6 STM32标准库函数 之 内部集成电路(I2C) 所有函数的介绍及使用

6 STM32标准库函数 之 内部集成电路&#xff08;I2C&#xff09;所有函数的介绍及使用 1. 图片有格式2 文字无格式六 库函数之内部集成电路&#xff08;I2C&#xff09;所有函数的介绍及使用前言一、图片预览&#xff0c;无格式&#xff08;CSDN&#xff09;二、 I2C库函数固件…