【Functional Affordances】机器人manipulation

文章目录

  • 1. Robo-ABC: Affordance Generalization Beyond Categories via Semantic Correspondence for Robot Manipulation
    • 摘要和结论
    • 引言
    • 相关工作
    • 模型框架
    • 实验
  • 2. Click to Grasp: Zero-Shot Precise Manipulation via Visual Diffusion Descriptors
    • 摘要和结论
    • 引言
    • 模型框架
    • 实验
  • 3. 【CoRL 2023】Dexterous Functional Grasping
    • 摘要和结论
    • 引言
    • 模型框架
    • 实验
    • 不足之处
  • 4. 【CVPR2023】Affordances from Human Videos as a Versatile Representation for Robotics
    • 摘要和结论
    • 引言
    • Affordances from Human Videos (VRB)
    • 实验

1. Robo-ABC: Affordance Generalization Beyond Categories via Semantic Correspondence for Robot Manipulation

在这里插入图片描述

摘要和结论

本文介绍了Robo-ABC框架,这是一个旨在提高机器人在操作任务中泛化能力的方法,特别是在面对未见过的物体时。

  • Robo-ABC通过从互联网上的人类视频中提取可操作性记忆(包括接触点),使机器人能够通过检索视觉或语义上相似的物体来获取新的可操作性。(extract an affordance memory including the contact points)
  • 该框架利用预训练的扩散模型 自然地 建立对应关系,从而实现跨不同物体类别的可操作性映射。Robo-ABC不需要手动注释、额外训练、部分分割、预编码知识或视角限制,就能以零样本的方式泛化操作跨类别物体。
  • 实验结果表明,Robo-ABC在视觉可操作性检索的准确性上比现有最先进(SOTA)的端到端可操作性模型提高了31.6%,在跨类别物体抓取任务中实现了85.7%的成功率。

引言

  • 真正的机器人,根本的挑战在于让机器人能够找到与熟悉和新颖物体的交互策略。
  • 首先,我们从人类视频中提取物体的交互体验并将其存储在可供性记忆中。
  • 其次,面对新奇的物体(例如螺丝刀),我们根据视觉和语义相似性从记忆中检索与目标物体相似的物体(例如刀)。
  • 最后,我们利用扩散模型中的新兴语义对应能力将检索到的接触点映射到新对象

相关工作

  • 之前的工作致力于识别人类视频中物体的接触区域,而这种端到端的可操作性预测方法受限于域内物体实例和视角。与之前的作品相比,Robo-ABC从人类视频中提取了一个小规模的物体互动经验记忆 (small-scale memory of object interaction experiences),它允许机器人面对全新的场景,并转移可操作性知识。

  • 从扩散模型中提取的特征在跨类别映射相似点方面更加通用。由于基础模型包含对机器人任务有价值的知识,我们探索利用这些模型中嵌入的语义对应知识,消除额外训练或零件分割的需要。

  • 一些工作专注于使用点云作为输入,识别和操作可操作的部分以实现跨类别物体操作。然而,这些方法通常需要大量的注释数据或依赖于物体的有效部分分割。最近关于通用代理和灵巧抓取的工作继续探索新的可能性。

  • 另一系列研究利用基础模型和NeRF进行通用操作。然而,这些代理的操作技能局限于已知实例的集合,并且在遇到新奇物体实例时,它们的泛化能力不足。

相比之下,本文的主要动机是利用基础模型提取语义信息,并实现跨类别的可操作性泛化。

模型框架

在这里插入图片描述

3.1. Affordance collection from human videos

这部分在介绍Robo-ABC框架如何从人类视频中提取可操作性信息的过程。

  • 作者将物体的可操作性定义为人类手与物体之间的接触点。(影响了后面的评价指标和实验)
  • 收集可操作性信息时,作者希望图像清晰,最好没有人类遮挡物体。但是,需要手-物体接触的帧来推断接触点。为了解决这个矛盾,作者旨在将这些接触点映射回一个物体未被遮挡的帧Fc
  • Robo-ABC能够从人类视频中学习和记忆物体的可操作性信息,为后续的泛化和机器人操作任务提供基础。

3.2. The most similar object retrieval from memory

  • 当面对一个新物体时,首先使用相机捕捉该物体的图像。然后,使用一个图像编码器(如CLIP模型)将捕获的物体图像映射到一个特征向量中。同样的,记忆中的每个物体图像也通过相同的编码器映射到特征向量。

  • 为了衡量新物体与记忆库中物体的相似性,计算新物体特征向量与记忆库中物体特征向量的余弦相似度。根据相似性,将物体分为两类:一类是记忆中已经遇到过的同一类别的物体;另一类是完全新的物体类别。

  • 对于已见过的物体类别,从同一类别中检索最相似的物体。对于全新的物体类别,从记忆库中的所有物体中检索最相似的物体,不考虑类别。

通过这种检索机制,Robo-ABC能够找到与新物体在视觉和语义上最接近的已知物体,


3.3. Semantic correspondence mapping for affordance generalization

  • 检索最相似物体:在面对新物体时,首先从可操作性记忆中检索出最相似的物体,并获取其接触点信息。

  • 利用扩散模型的能力:作者利用扩散模型中自然出现的语义对应能力,将检索到的接触点映射到新物体上。扩散模型通过向目标图像添加噪声然后去噪的过程中,同时提取中间隐藏的特征。

  • 提取扩散特征(DIFT):通过向目标图像添加噪声并进行去噪处理,同时提取U-Net中的中间隐藏特征,生成扩散特征。这些特征对应于目标图像中的每个像素,可以用来找到与源图像中接触点最相似的像素。

  • 处理源图像的变换:由于扩散特征对源图像和目标图像之间的方向不匹配比较敏感,作者对源图像应用了8种旋转和翻转变换,并选择所有变换中相似性最高的结果。

  • 选择目标图像中的对应点:在目标图像的扩散特征中找到与源图像接触点最相似的像素。这一步骤涉及到在目标图像中寻找与检索到的接触点最匹配的点,以实现跨物体和类别的可操作性泛化。

我们的目标是找到目标图像中的对应点pt。我们按照[44]中描述的步骤提取源图像Is和目标图像It的扩散特征(DIFT)。扩散特征是通过首先向目标图像添加噪声,然后通过扩散过程对其进行去噪,同时从U-Net中提取中间隐藏特征来生成的。我们建议读者参考原始论文

实验

在这里插入图片描述

在这里插入图片描述

16个物品。
在这里插入图片描述

评价指标:
在这里插入图片描述

2. Click to Grasp: Zero-Shot Precise Manipulation via Visual Diffusion Descriptors

摘要和结论

  • 跨场景和对象的精确操作仍然是机器人技术中持续存在的挑战。当前用于此任务的方法在很大程度上依赖于拥有大量训练实例来处理具有明显视觉和/或几何部分模糊性的对象。
  • 我们通过将其构建为密集语义部分对应任务来解决该问题。
  • 我们的模型返回用于操纵特定部分的抓手姿势,使用来自同一对象的视觉不同实例的源图像的用户定义的单击作为参考。

在这里插入图片描述
零样本定位热图,用于通过左上方源图像的单击演示来识别目标毛绒玩具的左臂。当使用自然语言提示(即“左臂”)进行查询时,CLIP 会导致不相关区域的更高激活。 DINO 在两个手臂实例上都获得了很高的相似度分数,但对左臂没有明显的偏好。 SD 特征导致左侧高度激活,但并不局限于手臂。我们的 C2G 方法正确识别左臂

引言

  • 视觉线索比语言指令具有明显的优势,因为语言可能缺乏描述精确交互区域的粒度(图1),或者当存在通信障碍时。

  • 以零样本方式处理相关任务的一种流行方法是将网络训练的基础模型的特征融合到场景表示中。但值得注意的限制仍然存在:派生特征的粒度通常不会扩展到对象级之外,而不是更多的局部部分(见图 1)。

  • 最近,扩散模型已经成为文本到图像生成的主流选择。与之前的视觉模型类似,人们对利用中间特征作为下游视觉任务的表示越来越感兴趣。特别是,即使在 zeroshot 设置中,这些特征图也会导致密集语义对应任务的最佳性能 。

与我们的用例最相关的是使用来自 SD 的中间 U-Net 特征作为 2D 密集语义对应任务的视觉描述符

模型框架

在这里插入图片描述


A Problem Formulation

  • 提供 RGB 图像和深度图,我们利用它来开发 3D 场景表示 F。我们的目标是创建一个模型 O,对于任何给定的目标场景和源图像,能够精确确定应用于机械臂末端执行器的变换 T ∈ SE(3)。

B. Scene Representation

  • 我们从每个目标 It 和源 Is RGB 图像中提取特征。对于 DINO,我们遵循现有技术 [2]、[4]、[22] 保留最后一层的特征图。
  • 对于 SD,我们选择通过对输入图像进行噪声处理并从 UNet 中提取中间特征图来部署反演过程,类似于 [23]。然而,我们只保留第一个时间步和第四层的输出。这种选择使我们能够保持低维表示,这对于我们的任务来说具有足够的描述性,因为已经直观地证明了 SD 中 U-Net 中间层的特征图在较低级别的概念之间提供了良好的平衡,例如如形状和轮廓,以及更高级别的,如纹理 [22]–[24]、[45]。

C. Source Image Descriptor

在这里插入图片描述
如何区分相似度高的局部细节?

  • 依靠 DINO 的定位功能来识别源图像中用户定义部分的所有实例。(玩具熊的左右胳膊)
  • 我们从 FDINO 和 FSD 中提取描述符 dDINO 和 dSD 作为已识别质心的坐标,并将空间上最接近用户定义的点击指定为正 (d+DINO,d+SD),将其他指定为负 (d−DINO, d−SD)。我们根据经验发现,识别正样本和负样本是必要的,这不仅是为了在场景中准确地执行部分检测,而且最重要的是,为了解决语义歧义,如下所述

D. Identifying Target Scene Area of Interaction

Part detection
d+DINO 和 d−DINO 都会导致当前零件实例的所有区域更高的激活。鉴于两个相似点之间的微小差异,DINO 未能定位出明确的候选交互区域。

因此,我们利用这些特征进行部分检测,通过将两个描述符的相似性分数相乘,增加相关区域的相似性分数,并减少其他地方的相似性分数:
在这里插入图片描述

在这里插入图片描述

Part Instance Disambiguation

然后,我们依靠 SD 特征,从 DINO 检测到的部件实例中选择最相关的部件实例。再次,我们计算 SD 描述符和 VSD 之间的余弦相似度,这会导致相对嘈杂的相似度热图。如图2(d-2)所示,在相应的用户定义实例的更广泛区域中,相似度得分通常较高,但这对于实例选择来说不够可靠,因为所有部分都存在相对较高的得分。我们发现,通过添加对比组件,分别计算 d+SD 和 d−SD 的相似度分数之间的差异,所得热图变得更适合实例消歧:
在这里插入图片描述

Area of Interaction

最后,我们利用所得的相似度分数 SIMDINO、SIMSD 来提出场景中的交互区域 A。我们将每个坐标乘以阈值化 SIMDINO 的最小-最大归一化相似度分数和最小-最大归一化 SIMDINO 相似度:

在这里插入图片描述

实验


在这里插入图片描述

3. 【CoRL 2023】Dexterous Functional Grasping

在这里插入图片描述

摘要和结论

  • 灵巧的手相对于两指手的主要好处是能够拾起工具和其他物体(包括薄的物体)并牢牢抓住它们以施加力量。然而,这项任务既需要①对功能可供性的复杂理解,②也需要精确的低级控制。

  • 虽然之前的工作从人类数据中获得了可供性,但这种方法无法扩展到低级控制。同样,模拟训练无法让机器人理解现实世界的语义。

  • 在本文中,我们的目标是结合两者的优点来实现对广泛物体的功能性抓取。我们使用模块化方法。首先,通过匹配不同对象的相应区域来获得可供性,然后运行在 sim 中训练的低级策略来掌握它。

  • 我们提出了一种特征抓取的新颖应用,使用少量的人类数据来减少强化学习的搜索空间。

引言

  • 功能性抓取的行为几乎是人类的肌肉记忆,不仅仅是一个控制问题,而是位于感知、推理和控制的交点。
  • pipeline分为三个阶段:预测预抓取、学习抓取的低级控制、抓取后轨迹视觉推理是第一阶段和第三阶段的关键部分,第二阶段只要预握姿势合理,就可以利用本体感觉盲进行。

模型框架

给定一个要抓握的物体,我们使用可供性模型来预测手的合理的功能抓握姿势。然后,我们训练盲拾取策略来拾取物体,紧紧抓住它,以便手臂执行抓取后的轨迹。

在预抓取阶段,可供性模型输出对象的感兴趣区域,我们使用该区域周围的局部对象几何形状来计算合理的预抓取姿势。


我们训练 sim2real 策略来执行强大的拾取操作。然而,与简单奖励函数就足够的两个手指操作或运动相比,在复杂的高维灵巧情况下,很容易陷入局部最小值或在模拟中执行在现实世界中无法实现的姿势。

因此,我们使用人类数据来提取完整​​动作空间的低维子空间,并在受限动作空间内运行强化学习。根据经验,这会导致物理上合理的姿势可以转移到真实且更稳定的强化学习训练中。总的来说,以这种方式分解管道使我们能够泛化到更广泛的对象。由于在互联网数据上训练的可供性模型,我们的盲目策略可以推广到广泛的对象,即使它在训练时只看到锤子。


2.1 Pre-grasp pose from affordances

可接近性描述了物体上与使用目的相关的区域,这通常不能仅从物体的几何形状推断出来,而是取决于物体预期的正确使用方式。


2.2 Sim2real for dexterous grasping

  • 一旦我们的手靠近想要抓取的物体,即使闭上眼睛也能通常将其捡起。然而,挑战在于,学习这种高频闭环行为通常需要大量的交互数据。模拟器中进行RL可以弥补。

  • 但高维动作空间中进行强化学习(RL)是不稳定的或样本效率低的。作者提出了利用少量人类数据来限制动作空间到物理上真实的姿势。

实验

在这里插入图片描述

在这里插入图片描述

不足之处

严重依赖DINOV2提供的抓取pose

  • 虽然我们的方法对于预抓取姿势中的轻微错误具有鲁棒性,但如果错误很大,则盲目抓取策略无法恢复。解决这一限制的一种方法是为机器人配备手腕周围的局部视野,这样即使可供性模型不正确,它也可以微调其抓握能力。

没有指关节姿势的信息。

  • 我们的方法目前不利用可供性模型中的关节姿势信息。虽然我们发现这在我们拥有的一组对象中不是必需的,但在更细粒度的操作(例如拾取硬币或信用卡等非常薄的对象)的情况下可能很有用

4. 【CVPR2023】Affordances from Human Videos as a Versatile Representation for Robotics

在这里插入图片描述

摘要和结论

  • 我们训练了一个视觉可视性模型,该模型估计人类可能交互的场景中的位置和方式。我们展示了如何将我们的可视性模型与四种机器人学习范式无缝集成。

引言

在这里插入图片描述

  • 人类严重依赖对象的这种视觉可供性,以有效地跨环境执行日常任务。从视频中提取这种可操作的知识长期以来一直启发了视觉社区。

  • 相反,大多数机器人的学习方法,无论是模仿还是强化学习,都是简单地处理新任务或新环境。在最好的情况下,视觉表示可能会在一些数据集上进行预训练。然而,视觉表现只是更大问题的一小部分。

  • 在机器人技术中,特别是在连续控制中,状态空间复杂度随动作呈指数增长。因此,即使拥有完美的感知,知道该做什么也是困难的。给定一张图像,目前的计算机视觉方法可以标记大多数物体,甚至告诉我们它们的大致位置,但这还不足以让机器人执行任务。它还需要知道在哪里以及如何操作对象,除了最简单的任务外,在每个新环境中从头开始弄清楚这一点几乎是不可能的。我们如何缩小视觉学习和机器人之间的明显差距?

  • 我们认为,丰富的人类交互视频数据集可以提供更多可操作的信息,而不仅仅是取代 ImageNet 作为机器人学习的预训练视觉编码器。特别是,人类交互是如何握持各种物体以及操纵其状态的有用方法的丰富来源。然而,一些挑战阻碍了视觉和机器人技术的顺利集成。

  • 我们将它们分为三个部分。首先,什么是表示可供性的可行方法?其次,如何以数据驱动和可扩展的方式学习这种表示?第三,如何调整视觉可供性以适应跨机器人学习范式的部署?

  • 为了回答第一个问题,我们发现接触点和接触后轨迹是视觉可供性的优秀的以机器人为中心的表示,以及对可能交互的固有多模态进行建模。我们有效地利用以自我为中心的数据集来解决第二个问题。特别是,我们重新表述数据,将重点放在没有人类的帧上,以预测接触点和接触后轨迹。为了提取对此预测的自由监督,我们利用现成的工具来估计自我运动、人体姿势和手部物体交互。最后,我们展示了如何将这些可供性先验与不同类型的机器人学习范例无缝集成。因此,我们将我们的方法称为视觉机器人桥(Vision-Robotics Bridge,VRB),因为它的核心目标是桥接视觉和机器人技术。

Affordances from Human Videos (VRB)

3.1. Actionable Representation for Affordances

作者讨论了如何从人类互动视频中提取视觉可供性(affordances)的可操作表示。这一节的核心思想是,为了使机器人能够有效地与环境互动,需要一种能够指导机器人如何操作物体的表示方法。这种表示不仅应该能够识别出物体,还应该能够指出操作的具体位置和方式。

作者提出了两个关键的概念来表示视觉可供性:

接触点(Contact Points):通过观察人类如何与物体互动,模型可以学习到在物体的哪些部位进行抓取或操作是最有意义的。接触点的预测使得机器人知道应该在哪里与物体接触,以便执行特定的任务。

接触后轨迹(Post-Contact Trajectories):一旦确定了接触点,接下来需要预测的是手在接触物体后的运动轨迹。这涉及到理解物体的操作方式,例如,打开门时手应该如何移动门把手,或者拿起杯子时手应该如何向上移动。这些轨迹提供了关于如何在接触点之后继续操作物体的信息。


3.2. Learning Affordances from Egocentric Videos

在论文的第3.2.1节 “Extracting Affordances from Human Videos” 中,作者详细介绍了如何从人类互动视频中提取视觉可供性(affordances)。这一过程是实现机器人学习的关键步骤,因为它涉及到从视频数据中学习人类如何与环境中的物体互动。以下是该过程的主要步骤:
视频帧分析、手部检测、接触点提取、处理相机运动、人-机器人视觉领域的变化。

在论文的第3.2.2节 “Training Affordance Model” 中,作者详细描述了如何训练视觉可供性模型(affordance model)。这个模型的目标是基于输入图像预测接触点和接触后轨迹,这些预测将用于指导机器人执行任务。以下是训练过程中的关键步骤:

模型架构:作者使用了一个基于ResNet的视觉编码器来提取图像的空间潜在表示。然后,通过反卷积层将这个潜在表示投影到多个概率分布或热图上。这些热图用于估计高斯混合模型(GMM)的均值,即接触点的位置。

多模态预测:由于学习问题本质上是多模态的(例如,拿起杯子和拿起桌子的方式可能完全不同),作者使用相同的模型预测多个热图来构建空间概率分布。这样做可以通过softmax函数得到GMM均值的估计值。

损失函数:为了训练模型预测接触点,作者定义了一个损失函数,该函数计算预测的接触点和真实接触点之间的均方误差。

在这里插入图片描述

轨迹预测网络:为了估计接触后的轨迹,作者训练了一个基于潜在表示的轨迹预测网络。由于优化绝对位置比较困难,作者选择优化相对移动方向,假设第一个点是原点(即接触点)。轨迹预测网络使用自注意力块进行训练,以优化预测的轨迹和实际轨迹之间的误差。

处理不确定性:由于场景中可能包含训练数据中未出现过的物体,作者通过采样接触点周围的局部图像区域作为网络的输入,来处理这种不确定性,并避免虚假的相关性。这种方法有助于模型更好地泛化到新场景。

训练过程:模型在包含大量图像-轨迹-接触点元组的数据集上进行训练。通过这种方式,模型学习到了如何从视觉输入中预测人类可能与物体互动的方式。

通过这种训练方法,作者的视觉可供性模型能够学习到如何从人类视频中提取有用的可供性信息,并将其应用于指导机器人执行任务。这个模型为机器人提供了一种理解人类如何与环境互动的方式,并能够将这些知识转化为机器人可以执行的具体动作。


3.3. Robot Learning from Visual Affordances

作者探讨了如何将从人类视频中学习到的视觉可供性(visual affordances)应用于机器人学习。这一部分的核心是展示如何将可供性模型集成到不同的机器人学习范式中,以提高机器人在执行任务时的性能。以下是作者提出的几种机器人学习范式和相应的方法:

A. 模仿学习(Imitation Learning)
离线数据收集:使用可供性模型来引导机器人进行“有趣”的互动,从而收集数据。这些数据可以用于行为克隆(behavior cloning)或通过k-最近邻(k-NN)方法来完成特定任务。
行为克隆:通过训练一个策略网络,该网络预测给定图像的接触点和轨迹,然后在真实系统上运行该策略。

B. 无奖励探索(Reward-Free Exploration)
探索方法:使用内在奖励来引导机器人探索新技能,这些技能可能有助于解决下游任务。通过使用可供性模型,机器人可以专注于可能对人类感兴趣的场景部分。
精英拟合方案:通过拟合高探索性轨迹的分布,然后重复该过程,从而提高探索效率。

C. 目标条件学习(Goal-Conditioned Learning)
目标指导策略搜索:使用目标图像(例如,打开的门)来指导机器人的策略搜索。这允许机器人使用已知的目标来改进其行为。
最小化目标距离:通过采样目标分布并最小化与目标图像的视觉变化,来指导数据收集。

D. 可供性作为动作空间(Affordance as an Action Space)
参数化动作空间:使用可供性模型来定义一个离散的动作空间,其中每个动作对应于一个特定的接触点和轨迹。
强化学习:在这个离散的动作空间上训练一个深度Q网络(DQN),以解决目标条件学习问题。

实验

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子商务营销中大数据分析的应用|大数据分析在B2C中的应用案例【抖音/京东/淘宝商品数据采集API接口的应用】

文章围绕对大数据分析在电子商务营销中的应用开展,研究了什么是大数据分析和电子商务的营销,以及对于电子商务的营销与大数据分析的结合目前是一个什么样的趋势,分析了大数据分析在电子商务营销中的作用,希望能帮助到大家。抖音/京…

码上时刻|通过逻辑视图 Logic View 快速实现批流一体

近年来,随着商业环境的竞争日益激烈,企业对于实时数据服务的需求急剧增加。Kyligence 在服务众多客户的过程中,很多企业对数据平台的要求越来越高,都希望能即时获取、处理数据,以便快速响应市场变化,加快决…

业界首次!搭载英伟达GPU,50倍性能提升!Zilliz发布Milvus 2.4向量数据库

在上周在美国硅谷圣何塞召开的NVIDIA GTC大会上,Zilliz[1] 发布了 Milvus 2.4 [2]版本。这是一款革命性的向量数据库系统,它在业界首次采用了英伟达 GPU 的高效并行处理能力和 RAPIDS cuVS 库中新推出的 CAGRA[3]( CUDA-Accelerated Graph In…

SpringBoot+ElasticSearch实现文档内容抽取、高亮分词、全文检索

需求 产品希望我们这边能够实现用户上传PDF、WORD、TXT之内得文本内容,然后用户可以根据附件名称或文件内容模糊查询文件信息,并可以在线查看文件内容。 一、环境 项目开发环境: 后台管理系统springbootmybatis_plusmysqles 搜索引擎&#…

c++AVL树

cAVL树 1. 前言 map/multimap、set/multiset这几个容器的共同点是:它们的底层都是按照搜索二叉树来实现的,但是搜索二叉树存在一个缺陷:如果往树中插入的元素有序或接近有序,二叉树搜索就会退化成单支树,时间复杂度会…

Java入门之数据类型

一、数据类型 基本数据类型 (1)如果要定义“long类型的变量要在数值后面加一个L作为后缀” (2)如果要定义float类型的变量的时候数据值也要加一个作为后缀 小结: 练习 内容: 姓名:巴巴托斯 &…

centos7二进制安装openstack train版本双网口五节点

这里写目录标题 材料准备宿主机安装KVM 网络规划硬件规划本案例局限性密码规划虚拟机准备网络准备centos7模板机准备 数据库安装安装rabbitMQ消息队列安装memcached服务安装Etcd安装keystone身份服务创建数据库用户keystone安装keystone组件创建admin并启动keystone监听验证key…

第3章:角色提示,强化Chatgpt输出新篇章!

角色提示技术 角色提示技术(role prompting technique),是通过模型扮演特定角色来产出文本的一种方法。用户为模型设定一个明确的角色,它就能更精准地生成符合特定上下文或听众需求的内容。 比如,想生成客户服务的回复…

新手如何去做性能测试?

1、性能测试是什么? 一句话概括:不断的通过不同场景的系统表现去探究系统设计与资源消耗之间的平衡。 具体一点:通过在测试环境下对系统或构件的性能进行探测,用以验证在生产环境下系统性能是否达到预估的性能需求,发…

堆排序在优先队列的应用及其C代码示例

堆排序在优先队列的应用及其C代码示例 一、引言二、堆排序的基本思想三、优先队列的实现四、最大优先队列的实现五、最小优先队列的实现六、性能分析七、C代码示例八、应用场景与实例九、堆排序与优先队列的进一步优化十、结论 一、引言 堆排序(Heap Sort&#xff…

javascript基础代码练习

一、输入新增病例数&#xff0c;累计确诊病例数&#xff0c;14天内聚集性疫情发生天数。新增或者累计确诊病例为0则该地区为低风险地区。新增大于0且累计确诊&#xff1c;50或者累计大于50且14天内聚集性疫情发生天数为0的地区为中风险地区。其他情况为高风险地区。 <!DOCT…

Live800:应对客户投诉的技巧与方法,以解决为导向

在商业世界中&#xff0c;客户投诉是无法避免的现象。无论你的产品或服务有多好&#xff0c;总会有一些客户对其不满。关键在于&#xff0c;你如何应对这些投诉。正确的处理方式可以转危为机&#xff0c;提升客户满意度&#xff0c;甚至增强品牌忠诚度。文章将探讨如何有效处理…

Python基础教程:基本数据类型

基本数据类型 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组) 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合) Numbers(数字) 数字数据类型用于存储数值。 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对…

Linux 进程信号:产生信号

目录 一、通过终端按键产生信号 1、signal()函数 2、核心转储 3、ulmit命令 二、调用系统函数向进程发信号 1、kill()函数 2、raise()函数 3、abort()函数 三、发送信号的过程 读端关闭、写端继续写入的情况 如何理解软件条件给进程发送信号: 四、软件条件产生信…

【Vue】可拖拽侧边栏实现

在本篇博客中&#xff0c;我们将探讨如何在 Vue.js 项目中实现一个可拖拽的侧边栏。此功能可以通过修改 HTML 和 Vue 组件的脚本来实现。 首先&#xff0c;我们需要在 HTML 文件中定义侧边栏的容器和用于拖拽的元素。在 Vue 组件中&#xff0c;我们将使用 Vue 的响应式系统来追…

缓存菜品、套餐、购物车相关功能

一、缓存菜品 通过缓存的方式提高查询性能 1.1问题说明 大量的用户访问导致数据库访问压力增大&#xff0c;造成系统响应慢&#xff0c;用户体验差 1.2 实现思路 优先查询缓存&#xff0c;如果缓存没有再去查询数据库&#xff0c;然后载入缓存 将菜品集合序列化后缓存入red…

流域生态系统水-碳-氮耦合过程模拟

原文链接&#xff1a;流域生态系统水-碳-氮耦合过程模拟https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599209&idx3&snbb447abff048424d640c4a45755451f7&chksmfa82058ecdf58c9810ec4c20ccaa521c71773422647f508b690ac4d90df1e273b65ae2db7521&…

财报解读:中通正在从“价格战”跳到“价值战?”

从数据来看&#xff0c;我国快递行业持续保持着上升势头。国家邮政局数据显示&#xff0c;今年1至2月我国快递发展指数为329.6&#xff0c;同比提升26.7%。 不过&#xff0c;在向好的行业趋势当中&#xff0c;相关企业仍有烦忧。一方面&#xff0c;行业竞争加剧&#xff0c;新…

IP定位技术打击网络犯罪

IP定位技术在打击网络犯罪中扮演着至关重要的角色。随着互联网的普及和网络技术的飞速发展&#xff0c;网络犯罪现象日益严重&#xff0c;对社会的稳定和安全造成了极大的威胁。IP定位技术的应用&#xff0c;为公安机关追踪和打击网络犯罪提供了有力的技术支持。 首先&#xff…

【OS探秘】【虚拟化】【软件开发】在Windows 11上安装mac OS虚拟机

一、所需原料 Windows 11主机、Oracle VM VirtualBox虚拟化平台、mac OS 11镜像文件 二、安装步骤 1、 在VBox管理器中&#xff0c;点击“新建”&#xff0c;进入向导模式&#xff0c;指定各个字段&#xff1a;