【论文阅读】【三维场景特殊点云分割】OpenMask3D:Open-Vocabulary 3D Instance Segmentation

2023-12-05

前言

NeurIPS2023《OpenMask3D:Open-Vocabulary 3D Instance Segmentation》

论文地址: https://openmask3d.github.io/static/pdf/openmask3d.pdf
Code地址: https://openmask3d.github.io/?utm_source=catalyzex.com
参考: https://blog.csdn.net/Yong_Qi2015/article/details/134410955
原作者讲解视频: https://www.bilibili.com/video/BV1j

图 1

目前看到的大部分关于这个工作的介绍叫“开放词汇3D实例分割”,实例上这个工作里面是直接用 Mask3D 所训好的实例分割模型来做实例分割的,这个工作的重点个人认为是怎么把这些分割结果和那些文本描述建立联系,所以我这里的标题叫“三维场景特殊点云分割”,来跟 Mask3D 这类重点做实例分割。

关于 Mask3D 的内容可以看我的另一篇文章:

【论文阅读】【3D场景点云分割】Mask3D: Mask Transformer for 3D Semantic Instance Segmentation-CSDN博客

论文十问

Q1论文试图解决什么问题?

表面上是开放词汇三维实例分割,实际上是三维场景的实例(已分割好)如何更好地与文本描述相关联。

Q2这是否是一个新的问题?

目前我了解到这算是一个新问题。

Q3这篇文章要验证一个什么科学假设?

有三维实例对应高质量的二维 mask 就可以建立起三维实例和文本描述之间的大致对应关系。

出发点

开放词汇三维实例分割任务:输入一个实例描述,即可定位到场景里与这个文本描述最相关的实例。之前的工作是基于三维点的特征。这个工作是基于实例特征,更侧重于实例级别的任务。

贡献

  • 我们引入开放词汇 3D 实例分割任务,其中识别与给定文本查询相似的对象实例

  • 我们提出了 OpenMask3D,这是第一个以零样本方式执行开放词汇 3D 实例分割的方法

  • 我们进行实验以提供有关设计选择的见解,这对于开发开放词汇 3D 实例分割模型非常重要

核心(一句话总结)

输入三维场景,对每个分割好的实例,选出较好的 2d 视图,sam分割得到 2d 图像掩码并进行裁剪,送入 clip 模型,以此得到每个 3d 实例对应的 clip 空间特征,作为桥梁联通了三维实例和文本query,这样就可以输入文本来查询三维场景对应的实例。

文章解读(创新点对应的方法细节)

1. 摘要

我们介绍了开放词汇 3D 实例分割的任务。当前的 3D 实例分割方法通常只能从训练数据集中注释的预定义封闭类集中识别对象类别。这导致现实世界的应用程序受到严重限制,在现实世界的应用程序中,人们可能需要执行由与各种对象相关的新颖的开放词汇查询引导的任务。最近,出现了开放词汇 3D 场景理解方法,通过学习场景中每个点的可查询特征来解决这个问题。虽然这种表示可以直接用于执行语义分割,但现有方法无法分离多个对象实例。在这项工作中,我们解决了这一限制,并提出了 OpenMask3D,这是一种用于开放词汇 3D 实例分割的零样本方法。在预测的与类别无关的 3D 实例掩模的指导下,我们的模型通过基于 CLIP 的图像嵌入的多视图融合来聚合每个掩模的特征。ScanNet200 和 Replica 上的实验和消融研究表明,OpenMask3D 优于其他开放词汇方法,尤其是在长尾分布上。定性实验进一步展示了 OpenMask3D 基于描述几何、可供性和材料的自由格式查询来分割对象属性的能力。

2. 方法

图 2

OpenMask3D 模型如图 2 所示。给定场景中捕获的一组 RGB-D 图像以及重建的场景点云 ①OpenMask3D 可以预测 3D 实例掩模及其关联的每个掩模特征表示,这可以用于基于开放词汇概念的实例查询 ④我们的 OpenMask3D 有两个主要构建块:②类不可知掩码提议头和③掩码特征计算模块 。与类无关的掩码提议头预测点云中点的二进制实例掩码。掩模特征计算模块利用预先训练的 CLIP 视觉语言模型来计算每个掩模的有意义且灵活的特征。对于每个建议的实例掩模,掩模特征计算模块首先选择3D对象实例高度可见的视图。随后,在每个选定的视图中,该模块计算由 3D 实例掩模的投影引导的 2D 分割掩模,并使用 SAM 模型细化 2D 掩模。接下来,采用 CLIP 编码器来获得包围计算出的 2D 掩模的多尺度图像裁剪的图像嵌入。然后将这些图像级嵌入在选定的帧中聚合,以获得掩模特征表示。

本方法的关键新颖之处在于它遵循面向实例掩码的方法,这与通常计算单点特征的现有 3D 开放词汇场景理解模型相反。面向点特征的模型具有固有的局限性,特别是在识别对象实例方面。模型旨在通过引入一个框架来克服此类限制,该框架采用与类无关的实例掩码并聚合每个对象实例的信息特征。

本方法将室内场景中捕获的 RGB-D 图像集合以及场景的重建点云表示作为输入(假设已知相机参数)。

2.1 与类别无关的掩码提案

方法的第一步涉及生成 M 个与类别无关的 3D 掩模建议。获取到实例分割的预测结果(只有二进制实例掩码,无语义信息)

“这里作者直接用训练完的Mask3D 方法来进行实例分割预测”

2.2 掩模特征计算模块

掩模特征计算模块旨在为从与类无关的掩模提议模块获得的每个预测实例掩模计算与任务无关的特征表示。该模块的目的是计算可用于查询开放词汇概念的特征表示。由于本方法打算利用 CLIP 文本图像嵌入空间并最大限度地保留有关长尾或新颖概念的信息,因此本方法仅依靠 CLIP 视觉编码器来提取图像特征,并在此基础上构建掩模特征。

“作者这里的意思就是想获取一个表征实例的桥梁特征,在三维实例和文本之间建立联系”。

掩模特征计算模块由几个步骤组成: (1)每个实例掩码建议,本方法首先计算 RGB-D 序列的每个帧中对象实例的可见性,并选择具有最大可见性的前 k 个视图; (2)计算每个选定帧中的 2D 对象掩模,然后使用该掩模获得多尺度图像裁剪,以提取有效的 CLIP 特征; (3)图像裁剪通过 CLIP 视觉编码器,以获得对每个裁剪和每个选定视图进行平均池化的特征向量,从而得到最终的掩模特征表示

图 3

2.2.1 图像选择

获取所提出的对象实例的代表性图像对于提取准确的 CLIP 特征至关重要。为了实现这一目标,本方法设计了一种策略,为 M 个预测实例中的每一个选择有代表性的子集图片(图 3,a),然后从中提取 CLIP 特征。特别是,本方法设计的策略根据每个视图 j 中每个掩模 i 的可见性分数 s_{i,j} 选择帧。如何计算这些可见性分数:

s_{ij} = \frac{vis(i,j)}{max_{j'}(vis(i,j'))}

“出现这个实例的每一帧里面,算一个这个视角下的此实例的可见3d点数目,越多越好,除以这些帧的最大值就得到一个0-1的值,代表分数”。

分数 top k的图片就是要选的图片。

2.2.2 2D 掩模计算和多尺度裁剪

本节将解释基于上一步中选择的帧计算 CLIP 特征的方法 给定掩模的选定帧,我们的目标是找到从中提取特征的最佳图像裁剪,如图 3b 所示。简单地考虑掩模的所有投影点通常会导致边界框不精确且有噪声,很大程度上受到异常值的影响。 为了解决这个问题,我们使用与类别无关的 2D 分割模型 SAM,它可以输入一组点然后预测得到 2D 掩模以及掩模置信度得分。

SAM 对输入点集敏感。因此,为了从 SAM 获得具有高置信度分数的高质量掩模,作者从 RANSAC 算法中获得灵感,并按照算法 1 中所述进行操作。

算法 1

从投影点中采样 k_{sample} 点,并使用这些点运行 SAM。 SAM 在给定迭代 r 处的输出是 2D 掩模 和掩模置信度得分 (score)。重复此过程进行 k_{rounds} 次迭代,并选择具有最高置信度得分的 2D 掩模。

“就是重复多次 sam,选出最高得分的,本质上这里没有更大的优化”。

接下来,我们使用生成的掩模 m2D * 生成所选图像的 L = 3 多级裁剪。这使我们能够通过融入更多来自周围环境的上下文信息来丰富功能。

“3个等级大小的裁剪,就像图 3b 里面中间那 3 张图,对应显示器的 3 种裁剪图”。

2.2.3 CLIP 特征提取和掩模特征聚合

对于每个实例掩码,我们通过选择 top-k 视图并获得 L 多级裁剪来收集 k × L 图像,然后将收集到的图像裁剪通过 CLIP 视觉编码器,以提取 CLIP 嵌入空间中的图像特征,如图 3c 所示。 然后,我们聚合从与给定实例掩模相对应的每个裁剪中获得的特征,以获得平均每个掩模 CLIP 特征(图 3d)。计算出的特征与任务无关,并且可以通过使用我们用于编码图像的相同 CLIP 模型对给定文本或基于图像的查询进行编码,用于各种基于实例的任务。

“这里终于完成了终极目的,得到代表实例的特征”。

3. 实验结果

因为 OpenScene 只生成每点特征向量(没有基于实例的聚合),不太好直接和本方法比较。因此作者对每个实例掩码中的点特征进行平均扩展,来更新 OpenScene,和本方法比较。

语义类别分配说明

本方法并不直接预测每个实例掩码的语义类别标签。而是为每个实例计算与任务无关的特征向量,该向量可用于执行语义标签分配。 就是 CLIP 模型为每个语义类语句“场景中的{}”计算文本嵌入特征,然后本方法的实例特征和其之间算相似度,来判断此实例是哪个语义。

3D封闭词汇实例分割结果

在 ScanNet200 和 Replica 数据集上定量评估封闭词汇实例分割任务方法。表中提供了封闭词汇表实例分割结果。

虽然这种差距对于头部类别和普通类别来说更为突出,但对于尾部类别来说差异不太明显。这一结果是预期的,因为 Mask3D 受益于使用来自 ScanNet200 数据集的封闭类标签集的完全监督。这里和 OpenScene 的对比结果表明了该方法的优秀。 以实例为中心的方法 OpenMask3D 是专为开放词汇 3D 实例分割任务而设计的,与其他采用点中心特征表示的开放词汇方法相比,表现出更强的性能。图 5 还说明了特征表示之间的差异。

“OpenMask3d 用的是 Mask3D给的实例结果,但是语义结果是前面<语义类别分配说明>那里提到的,通过 clip 特征来关联得到的,而Mask 3D 是直接预测出实例的语义结果,所以上面的指标结果有差异”。

开放词汇的泛化能力

我们的目标是研究我们的方法在训练过程中所看到的类别之外的数据上的泛化效果。另外,我们的目标是分析我们的方法对分布外(OOD)数据的推广效果如何,例如来自另一个数据集 Replica 的场景。为了证明我们方法的泛化能力,我们进行了一系列实验。首先,当我们使用在 20 个原始 ScanNet 类上训练的掩模预测器中的与类无关的掩模时,我们分析了模型的性能,并在 ScanNet200 数据集上进行评估。为了评估我们的模型在“看不见的”类别上的表现,我们将 ScanNet200 标签分为两个子集:基础类和新颖类。

没见过的类别

我们确定了在语义上与原始 ScanNet20 类别相似的 ScanNet200 类别(例如椅子和折叠椅、桌子和餐桌),从而产生了 53 个类别。我们将与 ScanNet20 中任何类都不相似的所有剩余对象类分组为“新颖”。报告已见(“基础”)类、未见(“新”)类和所有类的结果:

没见过的数据

在第二个实验中,作者使用在 ScanNet200 上训练的掩模预测器来评估 OpenMask3D 对来自 Replica 的数据的性能。

该实验的结果如表 2 所示,表明 OpenMask3D 确实可以泛化到未见过的类别以及 OOD 数据。 OpenMask3D 使用在较小的对象集上训练的掩模预测器模块,似乎在泛化到各种设置方面表现得相当好。

消融实验

多尺度裁剪和 2D SAM

这个实验的目的是为了证明获得给定对象实例的更准确图像裁剪,可以获得更高的性能。

假如实例 mask 更准确

Oracle 代表的是拿 gt mask 代替预测的实例(Mask3d 里面这些实例的语义结果是拿其本来预测最匹配的实例的语义来选定的) 结果在长尾类别上的结果,本方法还超过了 Mask3d。

“OpenMask3d 的特征计算方法是没有接受任何额外数据的训练”。

定性结果

本方法能对常见分割数据集中可能不存在的给定查询对象进行分割,此外,其还可以成功识别颜色、纹理、情景上下文等对象属性。

“因为 OpenMask3d 对实例提取的特征是 CLIP 编码的,可以和文本关联”。

局限

使用 Oracle 掩模进行的实验表明,3D 掩模提案的质量还有改进的空间,这将在未来的工作中解决。此外,由于每个掩模特征源自图像,因此它们只能对相机平截头体中可见的场景上下文进行编码,缺乏对完整场景以及所有场景元素之间的空间关系的全局理解。最后,系统评估开放词汇能力的评估方法仍然是一个挑战。封闭词汇评估虽然对于初步评估很有价值,但无法揭示所提出模型的开放词汇潜力的真实程度

4. 结论

我们提出了 OpenMask3D,这是第一个开放词汇 3D 实例分割模型,可以在给定任意文本查询的情况下识别 3D 场景中的对象实例。这超出了现有 3D 语义实例分割方法的能力,这些方法通常经过训练以从封闭词汇表中预测类别。借助 OpenMask3D,我们突破了 3D 实例分割的界限。我们的方法能够在描述对象属性(例如语义、几何、可供性、材料属性和情境上下文)的开放词汇查询的指导下,分割给定 3D 场景中的对象实例。凭借其零样本学习功能,OpenMask3D 能够分割给定查询对象的多个实例,这些实例可能不存在于训练封闭词汇表实例分割方法的常见分割数据集中。这为以更全面、更灵活的方式理解 3D 场景并与之交互开辟了新的可能性。我们鼓励研究界探索开放词汇方法,将不同模式的知识无缝整合到一个统一且连贯的空间中。

总结

这个工作对于我们来说还是有一定的启发的:怎么利用好先有的大模型,来完成一个有一定实际意义的任务,这是有一定价值的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文阅读】【三维场景特殊点云分割】OpenMask3D:Open-Vocabulary 3D Instance Segmentation 的相关文章

  • 在 R 中使用 persp3D 函数时,如何向轴标签添加下标?

    I am trying to define my z axis label as R0 in plot3D below are my code I am using expression for my zlab but I get the
  • 用于平滑开放 3D 网格边缘的算法

    我有一个 3D 网格 它代表一个具有一些粗糙边界的表面 我想对其进行平滑处理 我使用半边数据结构来存储几何图形 因此我可以轻松地迭代边界边 顶点和面 我还可以使用点积和叉积轻松确定给定的一对边是否是凸 凹的 平滑边缘的最佳方法是什么 使它们
  • 如何在 Android 上将 2D 图像转换为 3D? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要将 2D 图像显示为 3D 图
  • 受约束景观的程序生成

    我想实现地形的程序生成 经过彻底的研究后 我得出的结论是 应该使用梯度 相干 噪声生成算法之一来实现 例如 Perlin 噪声算法 然而 我不希望生成是完全随机的 我想应用一些限制 例如哪里应该是山脉 或者哪里应该是低地等 问题 例如 我有
  • 使用 3d 变换矩阵

    在人工智能课程中 我们有一个机器人 它的手臂有 7 个关节 每个关节可以向不同的方向旋转 我需要知道最后的结局在哪里 我一直在尝试进行 3d 矩阵乘法 它适用于一个关节 但一旦我添加另一个关节 它就与我使用 Java3D api 制作的模型
  • 3D 哪个更快? Perlin 噪声还是 Simplex 噪声?

    好吧 网上有很多 Perlin 噪声和 Simplex 噪声之间的比较 但我真的找不到一个对三个维度进行简单处理时间比较的地方 这是我最感兴趣的 我读过那个流行的PDF http webstaff itn liu se stegu simp
  • 求 3d 中 2 个任意立方体的交集

    所以 我想找出一个函数 可以让您确定两个任意旋转和大小的立方体是否相交 如果立方体的旋转不是任意的 而是锁定到特定的轴 则相交很简单 您可以通过检查它们的边界来检查它们是否在所有三个维度上相交 以查看它们在所有三个维度上是否相交或在彼此之内
  • 将球体上的 3d 点转换为 UV 坐标

    我在球体上有一个 3d 点 想要将其转换为球体纹理上的 UV 点 有人可以指出正确的方向吗 我可以采用纯数学解决方案 Edit 我目前有这个 它不会返回正确的 UV 坐标 p 是球体上的 3d 点 mesh position 是球体的位置
  • Python 中的标量场可视化

    我需要在 Python 中可视化几个重叠的标量场 我发现mayavi图书馆做这种情节 问题是我不明白如何为标量字段自定义颜色图 我的想法是为每个字段设置一种颜色的阴影 我尝试采用一个例子 http docs enthought com ma
  • 如何使用更少的包绘制二元正态分布的表面和轮廓

    我将绘制二元正态分布的 3D 曲面及其轮廓 可以是任何二元正态分布 我想用persp and contour在我的画中 我在网上搜索了一下 但发现了很多方法 大多数人都使用过一些软件包 但我想以使用更少的软件包甚至不安装任何软件包的方式来执
  • WPF 3D 旋转球体 GUI

    我一直在尝试在 WPF 中为我的课堂作业制作 3D 用户界面 但遇到了一个问题 现在 2 3 天都无法解决 我尝试用谷歌搜索答案 我查看了一些 stackoverflow 帖子 但还没有一个可以帮助我解决问题 情况是这样的 我有一个 3D
  • 3D 游戏的 Libgdx 渲染层

    在我的第一个 3D 游戏中 我现在想要渲染地板 它实际上是一个平面 不是 libgdxPlane on y 0 我想添加一个Texture到它 这样我就可以在每个级别有不同的楼层 现在我的问题是 创建和渲染这种纹理地板的最佳方法是什么 我考
  • 如何在plotly 3D曲面图中标记区域?

    我使用plotly从xyz数据创建3D高程剖面图 它与以下代码配合得很好 import plotly graph objects as go import pandas as pd import numpy as np Read data
  • OpenGL Z 偏置(多边形偏移)限制

    我有两个共面的多边形 我尝试做 glEnable GL POLYGON OFFSET FILL glPolygonOffset 0 1 并期望其中一个明显 位于 另一个之上 这种情况直到大约 70 75 个单位之外 近剪裁平面为 1 远剪裁
  • 如何将 3D 图像输出到 3D 电视?

    我有一台 3D 电视 如果我不至少尝试让它显示我自己创作的漂亮 3D 图像 我就会逃避我的责任 作为一个极客 我之前已经完成了非常基本的 OpenGL 编程 因此我了解所涉及的概念 假设我可以为自己渲染一个简单的四面体或立方体并使其旋转一点
  • 一次性渲染阴影

    考虑到阴影投射的成本 我想知道对于动态定位的静态对象 例如 程序城市 是否有一个功能或可能 实验性的方法可以在 Three js 中仅渲染一次阴影贴图 甚至在 webgl 中 因此 结果可以在静态对象的下一帧中免费使用 仅当物体移动时才会进
  • 使用 ThreeJS 获取球体纹理上的点击位置

    目前 我有一个带有纹理的球体 它绕 y 轴旋转 我还有在 3D 空间中单击的位置 以及球体上的旋转位置 我认为 目标 获取纹理上的位置 例如 我想获取我点击的图像的哪个方块 参见示例球体和下图 在实践中 我不会使用此图像 但我觉得这将是一个
  • 颜色重新映射 - 使用 3D 网格匹配目标调色板?

    假设我有颜色 FOO 它以 RGB 格式存储 我需要重新着色 FOO 以便它与颜色列表中最接近的颜色匹配 即时执行此操作 我是否无法将每种颜色的 RGB 值视为 3D 网格上的点 r x g y b z 并计算点 FOO 与每个颜色点之间的
  • 自动适合衣服的算法?

    想象一下 客户要求您设计一款软件 以满足一些相当粗略的规格 如下所示 1 它将面向时尚行业营销 2 用户将是 设计衣服和东西 的人 可能有一个特定的术语 但我没有想到 3 由于各种原因 能够快速制作原型设计并查看它们在模型上的外观会很有用
  • 如何在 GTX 560 及更高版本上使用 OpenGL 进行立体 3D?

    我正在使用在 Windows 7 上运行的开源触觉和 3D 图形库 Chai3D 我重写了该库以使用 Nvidia nvision 执行立体 3D 我将 OpenGL 与 GLUT 一起使用 并使用 glutInitDisplayMode

随机推荐

  • 分治—快速选择算法

    文章目录 215 数组中的第K个最大元素 1 题目 2 算法原理 3 代码实现 LCR 159 库存管理 III
  • 分治-归并算法——LCR 170. 交易逆序对的总数

    文章目录 0 归并排序 1 题目 2 算法原理 3 代码实现 0 归并排序 归并排序是典型的分治 将数组分成若干个子数组 数组两两比较 不是很清楚的 可以查看此篇文章 数据结构 七大排序 这里以力扣 9
  • 分治-归并排序

    文章目录 315 计算右侧小于当前元素的个数 1 题目 2 算法原理 3 代码实现 493 翻转对
  • 小学全科教师是什么意思

    作为一名小学全科教师 我们的目标是提供全面的教育 帮助孩子们在各个学科领域中取得均衡发展 我们不仅教授语文 数学等传统学科 还注重培养孩子们的独立思考能力 创新精神和社交技巧 下面 我将从几个方面阐述小学全科教师的重要性和职责 小学全科教师
  • xampp环境安装

    XAMPP是完全免费且易于安装的Apache发行版 其中包含Apache MariaDB PHP和Perl 类似XAMPP的服务器套件还有很多 我用过的还有UPUPW 它们都极大的简化了开发环境的配置 下载链接 Download XAMPP
  • SiLM5350SBBCA-DG一款可提供分离输出 隔离门极驱动器完美UCC5350SBDR

    SiLM5350SBBCA DG是一款适用于IGBT MOSFET的单通道 隔离门极驱动器 具有10A拉电流和10A灌电流驱动能 力 提供分离输出 可单独控制 上升时间和下降时间 在SOP8W封装中具有5000 VRMS隔离耐压 在 SOP
  • 优维产品最佳实践第17期:善用控制台

    背 景 遇到页面报错时 是不是感到困扰 不知如何解决 页面响应缓慢时 是否感到迷茫 不清楚从何入手排查 面对主机高负载时 是不是觉得确认异常根因很有挑战 本期最佳实践为您讲解如何通过控制台排查定位 页面报错时 获取traceId确认报错组件
  • 【学习笔记】机器学习——GAN

    提出于2014年 GAN由两个神经网络组成 一个试图生成看起来与训练数据相似数据的 生成器 以及一个试图从虚假数据中分辨出真实数据的 判别器 生成器和判别器在训练期间相互竞争 对抗训练 训练竞争性网络 是一种重要的机器学习思想 生成器 G
  • CVE-2016-2510&CVE-2017-5586 BeanShell漏洞

    前言 首先我们需要了解BeanShell具体是做什么 BeanShell 是一种轻量级的可嵌入式脚本语言 用于在 Java 环境中执行脚本代码 它提供了一种简单 灵活的方式来扩展和定制 Java 应用程序的行为 允许开发人员动态地执行和评估
  • 2024年十大值得关注的编程语言

    探索2024年最有影响力的编程语言 Python的多功能无与伦比 JavaScript在Web领域的统治地位 Rust的高效性 等等 通过实际操作示例 发现适合您编程之旅的最佳选择 在技术世界不断变化的沙漂中导航是一段令人兴奋的旅程 充满了
  • react之封装有无Token(路由权限控制)的高阶组件

    TOC 前景 有些路由页面内的内容信息比较敏感 如果用户没有经过登录获取到有效Token 是没有权限跳转的 根据Token的有 无控制当前路由是否可以跳转就是路由的权限控制 技术方案 实现步骤 1 在 components 目录中 创建 A
  • Comparator接口

    Comparator接口 Comparator 是 Java 中用于比较对象的接口 它允许开发者实现自定义的比较逻辑 以用于对对象进行排序或者确定它们的顺序 主要方法 Comparator 接口中包含一个抽象方法 int compare T
  • MN316 OpenCPU丨HTTP使用介绍

    HTTP Hyper Text Transfer Protocol 即超文本传输协议 是一个简单的请求 响应协议 通常运行在 TCP 之上 它指定了客户端可能发送给服务器消息类型以及得到什么类型响应 HTTPS Hyper Text Tra
  • docker 内查看文件时间 docker动态查看日志最后100行

    ls all docker动态查看日志最后100行 docker logs f t tail 1 chat2db docker logs OPTIONS CONTAINER Options details 显示更多的信息 f follow
  • Android 14 CarAudioService

    文章目录 新功能 AudioMirring oemCarService 新功能 AudioMirring 简单的说就是两个bus输出的是同一个音频数据 构建的流程是 一个输入src的bus 和两个输出dst的bus 通过setParamte
  • Pytest框架 — 11.Fixture装饰器的使用(一)

    1 Fixture装饰器的用途 做测试前后的初始化设置 如测试数据准备 链接数据库 打开浏览器等这些操作都可以使用Fixture来实现 测试用例的前置条件可以使用Fixture实现 比直接使用Pytest框架的 setup 和 teardo
  • 2024最新版软件测试八股文(文档)

    前言 第一个就刷掉一大批人 有很多 会自动化 的同学来咨询技术问题 他总会问到我一些 元素定位 的问题 元素定位其实都不算自动化面试的问题 一般我都会问 你是定位不到吗 通常结果都是说确实定位不到 做自动化 首先你得保证一点 没有你定位不到
  • 如何成为一名合格的班主任

    班主任不仅需要管理学生的学习和生活 还需要与家长 科任老师等多方进行沟通 那么 如何成为一名合格的班主任呢 责任心是关键 作为一名班主任 责任心是成功的关键 要尽心尽力地关心每一个学生的学习和生活 及时发现并解决问题 还要与家长保持密切联系
  • 软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换

    引言 数据类型转换是指将一种数据类型的值转换为另一种数据类型的过程 在编程中 我们经常需要处理不同类型的数据 正确地进行类型转换是编写健壮程序的关键 常见的数据类型转换 整数和浮点数转换为字符串 示例代码 num int 10 num fl
  • 【论文阅读】【三维场景特殊点云分割】OpenMask3D:Open-Vocabulary 3D Instance Segmentation

    前言 NeurIPS2023 OpenMask3D Open Vocabulary 3D Instance Segmentation 论文地址 https openmask3d github io static pdf openmask3d