当前位置: 首页 > news >正文

ZeroGrasp:零样本形状重建助力机器人抓取

25年4月来自CMU、TRI 和 丰田子公司 Woven 的论文“ZeroGrasp: Zero-Shot Shape Reconstruction Enabled Robotic Grasping”。

机器人抓取是具身系统的核心能力。许多方法直接基于部分信息输出抓取结果,而没有对场景的几何形状进行建模,导致运动效果不佳甚至发生碰撞。为了解决这些问题,本文引入 ZeroGrasp 框架,可以近乎实时地同时执行 3D 重建和抓取姿势预测。该方法的一个关键洞察是,遮挡推理和目标之间空间关系建模,有助于实现精确的重建和抓取。其将该方法与一个大规模合成数据集相结合,该数据集包含来自 Objaverse-LVIS 数据集的 100 万张逼真图像、高分辨率 3D 重建以及 113 亿个物理有效的抓取姿势注释,涵盖 1.2 万个目标。在 GraspNet-1B 基准测试以及真实世界的机器人实验中对 ZeroGrasp 进行评估。ZeroGrasp 实现最佳性能,并利用合成数据将其泛化到真实世界的新目标。

ZeroGrasp 如图所示:

请添加图片描述

安全且鲁棒的机器人抓取需要对目标物体及其周围环境有准确的几何理解。然而,大多数以前的抓取检测方法 [1–6] 并没有明确地对目标物体的几何形状进行建模,这可能导致意外碰撞以及与目标物体的不稳定接触。虽然有几种方法 [3, 7] 利用多视图图像提前重建目标物体,但此过程会带来额外的计算开销,并且需要更复杂的设置。对于放置在狭小空间内(如架子或盒子)的物体,多视图重建通常也不切实际。此外,缺乏具有真实 3D 形状和抓取姿势注释的大规模数据集,这使得从单个 RGB-D 图像进行精确的 3D 重建变得更加复杂。最近,多项研究 [8–10] 表明,稀疏体素表征在运行时间、准确度和分辨率方面优于体表征和类似 NeRF 的隐形状表征,尤其是在基于回归的零样本 3D 重建方面。

基于回归的3D 重建。基于回归的单视图 RGB-D 图像 3D 重建 [8, 20– 47] 一直是 3D 计算机视觉研究的重点。这些方法探索不同的 3D 表征,包括密集体素网格 [23, 31, 39, 48]、稀疏体素网格 [8, 9, 49](例如八叉树 [9]、VDB [49]、哈希表 [8] 等)和隐式表征 [20, 33, 34, 38]。然而,由于昂贵的内存和计算成本,密集体素网格和隐式表示在输出分辨率方面受到限制。另一方面,一些工作 [9, 20, 21, 49] 表明,稀疏体素表征(如八叉树和 VDB [50])由于其高效的分层结构,能够以更快的运行时间实现高分辨率 3D 重建。或者,通过新视图合成进行单视图重建也取得深刻的结果。近期的一些研究,例如 GeNVS [51]、Zero-1-to-3 [52]、3DiM [53] 和 InstantMesh [54],利用扩散模型在给定标准相机姿态的情况下渲染多视图图像。然而,这些方法速度较慢(通常超过 10 秒),并且物体间的遮挡会显著降低性能。此外,集成抓握姿态预测并非易事。

基于回归的抓握姿态预测。传统的抓握姿态预测方法,通常假设人们已经具备 3D 物体的先验知识,并且通常依赖于基于力闭合(force closure)原理的简化分析模型 [55, 56]。近年来,基于学习的方法 [1, 6, 57, 58] 取得了巨大进展,这些方法使得模型能够直接从 RGB(-D) 图像和点云预测 6D 抓取姿势。这使得在高度杂乱的场景中,无需明确建模物体几何形状即可回归抓取姿势。然而,这可能导致抓取不稳定和意外碰撞,因为准确学习防碰撞和精确接触点仍然具有挑战性。尽管一些方法 [42, 59, 60] 探索 3D 重建以改进抓取预测,但它们对形状表征和网络架构的选择往往限制了其全部潜力。

零样本机器人抓取。零样本机器人抓取是指无需先验知识即可抓取未见过目标物体的能力。为实现此目标,主要有两个方向:(1)在测试时使用重建的或真实的 3D 形状基于接触点优化抓握姿势 [3, 61];(2)增强或合成大规模抓握数据以提高泛化能力 [1, 15, 62]。例如,Ma [3] 提出一种基于接触的优化算法,通过使用从多视角 RGB-D 图像重建的 3D 场景来优化初始抓握姿势。现有的大规模抓握姿势数据集,如 ACRONYM [15]、GraspNet-1B [1] 和 EGAD [62] 探索第二种方法。然而,它们受限于物体多样性或缺少注释,例如 RGB-D 图像。

为了将使用稀疏体素表征的重建方法应用于机器人抓取,开发能够在统一框架内对两者进行推理的新方法至关重要。为此,本文提出 ZeroGrasp,一个用于近实时 3D 重建和 6D 抓取姿态预测的框架。主要假设是,提高 3D 重建质量可以增强抓取姿态预测,特别是通过利用基于物理的接触约束和碰撞检测,这对于精确抓取至关重要。由于机器人环境通常涉及多个目标,且存在目标之间遮挡和紧密接触,因此 ZeroGrasp 引入两个关键组件:多目标编码器和 3D 遮挡场。这些组件可以有效地模拟目标之间的关系和遮挡,从而提高重建质量。此外,设计一种简单的细化算法,利用预测的重建结果来改进抓取姿态。由于重建结果高度精确,它能够在夹持器和目标物体之间提供可靠的接触点和碰撞掩码,利用这些信息来细化抓取姿态。

除了提出的模型之外,还创建一个用于评估的真实世界数据集 ReOcS 数据集和一个用于训练的合成数据集 ZeroGrasp-11B 数据集。ReOcS 数据集是一个用于评估 3D 重建的真实世界数据集,其中三个分割代表不同程度的遮挡。使用此数据集来评估遮挡的鲁棒性。ZeroGrasp-11B 数据集是一个大规模合成数据集,旨在训练具有零样本机器人抓取能力的模型,包含来自 Objaverse-LVIS 数据集 [11] 的高质量、多样化的 3D 模型,如表所示。

请添加图片描述

目标是构建一个高效且可泛化的模型,用于基于单个 RGB-D 观测值同时进行 3D 形状重建和抓取姿势预测,并证明预测的重建结果可用于通过基于接触的约束和碰撞检测来优化抓取姿势。

ZeroGrasp 概述如图所示:输入八叉树 x 首先被输入到基于八叉树的 CVAE(橙色框中的组件)。多目标编码器利用其潜特征 l 在潜空间学习多目标推理。此外,3D 遮挡场通过简单的光线投射对目标间和自遮挡信息进行编码。多目标编码器和 3D 遮挡场的输出特征与潜代码 z 连接,解码器预测 3D 形状和抓握姿势。

请添加图片描述
3D 形状表征。采用八叉树作为形状表征,其中图像特征、符号距离函数 (SDF)、法线和抓取姿势等属性定义在八叉树的最深层。例如,将输入八叉树表示为最终深度的体素中心 p 多元组,并与图像特征 f 相关联。与点云不同,八叉树结构支持高效的深度优先搜索和八分圆(octant)的递归细分,使其成为以内存和计算高效的方式进行高分辨率形状重建和密集抓取姿势预测的理想选择。

抓取姿势表征。用通用的两指并联夹持器模型来表示抓握姿势,就像 GraspNet [1] 中所使用的一样。具体来说,抓握姿势由以下部分组成:视图抓握度分 s,表示抓握位置的稳健性 [57];质量 q,使用力闭合算法 [55] 计算;视图方向 v;角度 a;宽度 w;深度 d。每个点都会被分配在半径 5 毫米以内的最近抓握姿势。如果不存在,将其对应的抓握度设置为 0。在 GraspNet-1B 和 ZeroGrasp-11B 数据集中,每个点都标注有一组密集的抓握姿势,涵盖所有视图、角度和深度的组合 (300 × 12 × 4)。

架构

给定输入八叉树 x(由深度图和实例掩码生成的每个实例部分点云组成)及其对应的图像特征,目标是预测以八叉树表示的 3D 重建和抓取姿势 yˆ。ZeroGrasp 基于八叉树的 U-Net [9] 和条件变分自编码器 (CVAE) [63] 构建,用于建模形状重建不确定性和抓取姿势预测,同时保持近乎实时的推理能力。本文提出两项​​关键创新来提高其准确性和泛化能力。具体而言,引入 (1) 多目标编码器,通过潜空间中的 3D transformer 来建模目标之间的空间关系,从而实现无碰撞的 3D 重建和抓取姿势;以及 (2) 3D 遮挡场,这是一种3D 遮挡表征,可以捕捉目标间的遮挡,从而增强遮挡区域的形状重建。

八叉树特征提取。对 RGB 图像 I 进行编码以提取图像特征 W。对 SAM 2 [64] 进行微调以生成二维实例掩码 M,M_i 表示第 i 个目标掩码。然后通过 (q_i, w_i) = π^−1 (W, D, K, M_i) 将图像特征图反投影到三维空间,其中 q_i 和 w_i 分别表示第 i 个目标的三维点云及其对应特征。其中,π 是反投影函数,D 是深度图,K 表示相机本征矩阵。三维点云特征被转换为八叉树 x_i = (p_i, f_i) = G(q_i, w_i),其中 G 是从点云及其特征到八叉树的转换函数。

基于八叉树的 CVAE。为了提高形状重建质量,ZeroGrasp 利用基于八叉树的条件变分自编码器 (CVAE) 的概率建模来解决单视图形状重建中固有的不确定性,这对于提高重建和抓握姿势预测质量都至关重要。受 [63] 的启发,基于八叉树的 CVAE 由编码器 E、先验 P 和解码器 D 组成,用于学习 3D 形状和抓握姿势的潜表示作为对角高斯分布。具体来说,编码器 E(z_i | x_i, y_i) 学习根据预测和真实八叉树 x_i 和 y_i 来预测潜代码 z_i。先验 P(l_i, z_i | x_i) 将八叉树 x_i 作为输入并计算潜特征 l_i 和代码 zi,Ni′ 和 D′ 分别是点的数量和潜特征的维度。在内部,潜编码是通过重新参数化技巧从预测的均值和方差中采样的 [65]。解码器 D (y_i | l_i, z_i, x_i) 预测 3D 重建以及抓取姿势。为了节省计算成本,解码器预测每个深度的占用,丢弃那些概率低于 0.5 的网格单元。只有在最后一层,解码器才会预测 SDF、法向量、抓取姿势以及占用。在训练期间,编码器和先验之间的 KL 散度被最小化,以使它们的分布达到匹配。

多目标编码器。先验 P 计算每个目标的特征,缺乏对无碰撞重建和抓取姿势预测的全局空间排列进行建模的能力。为了解决这个问题,在潜空间中加入 Transformer,它由 K 个带有自注意机制和 RoPE [66] 位置编码的标准 Transformer 块组成,效仿了 [10] 的做法。多目标编码器 M 以体素中心 r_i 及其所有目标的特征 l_i 为中心,更新潜空间中所有目标的特征。

3D 遮挡场。关键见解是,多目标编码器主要学习避免物体之间的碰撞以及在杂乱场景中掌握姿势,因为碰撞建模只需要局部上下文,使其更易于处理。相比之下,遮挡建模需要全面理解全局上下文才能准确捕捉可见性关系,因为遮挡物和被遮挡物可能相距甚远。为了缓解这个问题,设计 3D 遮挡场,通过简化的基于八叉树体渲染将可见性信息定位到体素上。具体而言,将潜空间中的体素细分为 B^3 个较小的块(每个轴 B 个块),然后将它们投影到图像空间中。如图所示,如果某个块位于目标物体对应的实例掩码内,则自遮挡标志 o_self 设置为 1。如果该块位于邻近目标的实例掩码内,则目标间遮挡标志 o_inter 设置为 1。计算完所有块的标志后,通过连接第 i 个目标的两个标志来构建 3D 遮挡场 V_i。最后,使用三层 3D CNN 对其进行编码,每层将分辨率下采样 2 倍,以获得潜空间的遮挡特征 o_i,并通过 l_i ← [l_i o_i] 更新潜特征,以考虑遮挡和碰撞。

请添加图片描述

训练。与标准 VAE [63, 65] 类似,通过最大化证据下界 (ELBO) 来训练模型。此外,选择经济监督 [67] 来有效地学习抓握姿势预测。

抓取姿势的细化

三维重建的一大优势,在于它能够利用重建结果来细化预测的抓取姿势。虽然 Ma [3] 提出一种基于接触的优化算法,但它需要从多视角图像重建精确的截断有符号距离场 (TSDF),而且运行时间相对较慢。相比之下,本文引入一种简单的细化算法,该算法将基于接触的约束和碰撞检测应用于三维重建。具体而言,首先通过在重建中找到距离夹持器左右手指最近的点来检测接触点。然后,调整预测的宽度和深度,使两个指尖都接触。最后,对重建结果进行碰撞检测,以丢弃存在碰撞的抓取姿势。

基于接触的约束。准确的接触对于成功抓取至关重要,因为它们确保操作过程中的稳定性和控制力。虽然网络可以预测夹持器的宽度和深度,但即使是微小的误差也可能导致抓取不稳定。为了解决这个问题,调整夹持器的指尖位置可优化抓取姿势,使其与重建图中左右手指 c_L 和 c_R 最近的接触点对齐。基于这些接触点优化宽度 w,使得接触距离 ∆w 保持在 γ_min 到 γ_max 范围内。注:D© 表示与 c 点的接触距离。之后进一步修正深度 d。这些简单的细化步骤有助于确保稳定的抓取。

如图所示:首先获得接触点 c_L 和 c_R。接下来,计算接触距离 D(c_L | R),并通过 Z(c_L | R) 计算深度。最后更新宽度和深度。

请添加图片描述

碰撞检测。基于 GS-Net [57],使用双指夹持器实现一个简单的无模型碰撞检测器。虽然之前的方法使用从深度图获取的部分点云,但它无法丢弃导致与遮挡区域发生碰撞的预测抓取姿势。为了克服这一限制,利用重建的形状,从而实现更精确的碰撞检测。为了证明这种方法的合理性,在实验中进行广泛的分析,并展示其优势。

另外,创建两个用于评估和训练的数据集:1) ReOcS 数据集用于评估不同遮挡程度下的 3D 重建质量;2) ZeroGrasp-11B 数据集用于训练基准和零样本机器人抓取模型。如图突出显示数据集的几个示例。

请添加图片描述

实现细节。Zero-Grasp 采用 ResNeXt [75] 架构作为图像编码器,在 ImageNet 数据集 [76] 上进行预训练,除最后一层之外的所有参数在训练期间都是固定的。与 EconomicGrasp [67] 使用预测的视图抓取度 s 来确定视图方向。对于训练,使用 AdamW [77],学习率为 0.001,在 NVIDIA A100 上批量大小为 16。将输入图像特征 D、潜特征 D′ 和 3D 遮挡场 V 的尺寸分别设置为 32、192 和 16。对于 3D 遮挡场,用 8 作为块分辨率 B。按照 Ma 的方法,接触距离 γ_min 和 γ√max 的范围分别定义为 0.005m 和 0.02m。为了生成抓取姿势,我们使用 0.005m^2 作为采样密度 ρ。

相关文章:

ZeroGrasp:零样本形状重建助力机器人抓取

25年4月来自CMU、TRI 和 丰田子公司 Woven 的论文“ZeroGrasp: Zero-Shot Shape Reconstruction Enabled Robotic Grasping”。 机器人抓取是具身系统的核心能力。许多方法直接基于部分信息输出抓取结果,而没有对场景的几何形状进行建模,导致运动效果不…...

第2讲、Tensor高级操作与自动求导详解

1. 前言 在深度学习模型中,Tensor是最基本的运算单元。本文将深入探讨PyTorch中两个核心概念: Tensor的广播机制(Broadcasting)**自动求导(Autograd)**机制 这些知识点不仅让你更加灵活地操作数据&#…...

(MySQL)表的操作

目录 表的创建 语法 创建表的案例 查看表的结构 修改表的操作 修改表名 ​编辑 添加一个字段(列) 修改一个字段的类型 修改字段名 删除字段名(删除列) 删除指定的表 表的插入数据 数据库的备份和恢复 我们来学习表的操作 表的创建 语法 CREATE TABLE [if not ex…...

函数的使用

函数绑定 fn.call(obj, param1, param2) fn.apply(obj, [param1, param2]) fn.bind(obj, param1, param2)()相同点: 都是借用别人(fn)的方法,替换其中的this(第一个参数)call和apply的不同点:a…...

LLM应用于自动驾驶方向相关论文整理(大模型在自动驾驶方向的相关研究)

1、《HILM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving》 2023年9月发表的大模型做自动驾驶的论文,来自香港科技大学和人华为诺亚实验室(代码开源)。 论文简介: 本文…...

Spring MVC深度解析:从原理到实战

文章目录 一、Spring MVC概述1.1 MVC设计模式1.2 Spring MVC特点 二、Spring MVC核心组件2.1 架构流程图解2.2 核心组件说明 三、环境搭建与配置3.1 Maven依赖3.2 传统XML配置 vs JavaConfig 四、控制器开发实践4.1 基础控制器示例4.2 请求映射注解 五、数据处理与绑定5.1 表单…...

Spark学习全总结

基础概念: Spark 是一个快速、通用的大数据处理引擎,支持多种计算模式,如批处理、流处理、交互式查询和机器学习等。 特点: 速度快:基于内存计算,能将数据缓存在内存中,避免频繁读写磁盘,大幅…...

pytorch写张量pt文件,libtorch读张量pt文件

直接在pytorch中,用torch.save保存的张量,可能因格式差异无法在C中加载。 以下是一个最简单的例子,展示如何在 Pytorch中保存张量到 TorchScript 模块,并在 C 中使用 LibTorch 加载。 Python 代码 (save_tensor.py) import torc…...

关于Android Studio的Gradle各项配置2

好的!你提到的这些文件是 Gradle 构建系统 和 Android 项目 中非常重要的一部分,它们各自有不同的作用,涉及项目的构建配置、Gradle 环境、系统配置等方面。接下来我会为你详细解释每个文件的作用,并提供具体的例子和注释。 1. gr…...

Android Studio中创建第一个Flutter项目

一、Flutter环境验证 创建Flutter项目之前需要验证是否有Flutter环境,如没有Flutter 环境,请参考配置Flutter开发环境 1.1、flutter doctor 验证通过会有以下提示 [√] Flutter (Channel stable, 3.29.3, on Microsoft Windows [版本 10.0.19045.573…...

Linux的例行性工作(crontab)

crontab服务 at 命令是在指定的时间只能执行一次任务, crontab 命令可以循环重复的执行定时任务,与 Windows 中的计划任务有些类似 crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程,在安装完成操 作系统后,默认会安装 crond …...

03 基于 STM32 的温度控制系统

前言 Protues、KeilC 设计内容:使用STM32设计一个空调温度的显示控制系统 设计要求: 1.温度显示范围为16-30摄氏度 2.按键K1实现显示温度加1,按键K2实现显示温度减1,低于16或高于30,显示数值不变 3.正常按键蜂鸣器响一…...

23种设计模式-行为型模式之备忘录模式(Java版本)

Java 备忘录模式(Memento Pattern)详解 🧠 什么是备忘录模式? 备忘录模式是一种行为型设计模式,它允许在不暴露对象实现细节的情况下,保存和恢复对象的状态。备忘录模式常常用于需要记录对象状态以便随时…...

[三分钟]web自动化测试(二):selenium自动化测试常用函数(上)

文章目录 1.元素定位1.1 cssSelector(选择器)1.2 xpath1.3小示例 2.操作测试对象2.1点击/提交对象-click()2.2 模拟按键输入-sendKeys("")2.3 清除文本内容-clear()2.4 获取文本信息-getText()2.5 获取当前页面标题-getTitle()2.6获取当前页面URL-getCurrentUrl() 3.…...

基于ruoyi-plus实现AI聊天和绘画

项目介绍 基于ruoyi-plus实现AI聊天和绘画功能,打造自己的AI平台。前后端分离,有管理后台,用户端,小程序端。支持对接openai,讯飞星火,通义灵码,deepseek等大语言模型。项目架构 管理后台-前端&…...

假设检验学习总结

目录 一、假设检验1. 两种错误2. z检验和t检验3. t检验3.1 单样本t检验3.2 配对样本t检验3.3 独立样本t检验4 方差齐性检验备注卡方检验样本容量的计算AB测试主要的两种应用场景绝对量的计算公式率的计算公式说明一、假设检验 1. 两种错误 第一类错误 原假设为真,却拒绝了原假…...

C++ 基于多设计模式下的同步异步⽇志系统-2项目实现

⽇志系统框架设计 1.⽇志等级模块:对输出⽇志的等级进⾏划分,以便于控制⽇志的输出,并提供等级枚举转字符串功能。 ◦ OFF:关闭 ◦ DEBUG:调试,调试时的关键信息输出。 ◦ INFO:提⽰,普通的提⽰…...

Tauri窗口与界面管理:打造专业桌面应用体验 (入门系列五)

窗口管理是桌面应用的核心特性之一,良好的窗口管理可以显著提升用户体验。在Web开发中,我们通常被限制在浏览器窗口内,但Tauri允许前端开发者控制应用窗口的方方面面,从而创造出更加原生的体验。 窗口配置基础 初始窗口配置 在…...

golang goroutine(协程)和 channel(管道) 案例解析

文章目录 goroutine和channel概念开启线程与channel简单通信流程多个工作协程并发执行流程 goroutine和channel概念 goroutine(协程),一般我们常见的是进程,线程,进程可以理解为一个软件在运行执行的过程,线程跟协程比较类似&…...

底层源码和具体测试解析HotSpot JVM的notify唤醒有序性(5000字详解)

在大家的认知里,或者大家也可能搜过,notify唤醒机制到底是随机的呢?还是顺序的呢?在网上其实也有很多人说notify的唤醒机制就是随机的,但实际上并不是这样的,notify的唤醒机制是先进先出的! 目…...

Jenkins(CI/CD工具)

1. 什么是 Jenkins? Jenkins 是一个开源的持续集成(CI)和持续交付/部署(CD)工具,用于自动化软件构建、测试和部署过程。 2. Jenkins 优势 (1)开源免费:社区活跃&#…...

Apache Sqoop数据采集问题

Sqoop数据采集格式问题 一、Sqoop工作原理二、Sqoop命令格式三、Oracle数据采集格式问题四、Sqoop增量采集方案 Apache Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库&…...

再学GPIO(二)

GPIO寄存器 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 GPIO…...

err: Error: Request failed with status code 400

好的,今天学习ai的时候从前端发送请求,实在是想不通为啥会啥是一个坏请求,后来从前端方法一个一个找参数,传递的值都有,然后想到我这边需要传递的是一个对象,那么后端使用的RequestParam就接收不到json对象…...

解决qnn htp 后端不支持boolean 数据类型的方法。

一、背景 1.1 问题原因 Qnn 模型在使用fp16的模型转换不支持类型是boolean的cast 算子,因为 htp 后端支持量化数据类型或者fp16,不支持boolean 类型。 ${QNN_SDK_ROOT_27}/bin/x86_64-linux-clang/qnn-model-lib-generator -c ./bge_small_fp16.cpp -b …...

k8s学习记录(五):Pod亲和性详解

一、前言 上一篇文章初步探讨了 Kubernetes 的节点亲和性,了解到它在 Pod 调度上比传统方式更灵活高效。今天我们继续讨论亲和性同时Kubernetes 的调度机制。 二、Pod亲和性 上一篇文章中我们介绍了节点亲和性,今天我们讲解一下Pod亲和性。首先我们先看…...

MongoDB与PHP7的集成与优化

MongoDB与PHP7的集成与优化 引言 随着互联网技术的飞速发展,数据库技术在现代软件开发中扮演着越来越重要的角色。MongoDB作为一种流行的NoSQL数据库,以其灵活的数据模型和强大的扩展性受到众多开发者的青睐。PHP7作为当前最流行的服务器端脚本语言之一,其性能和稳定性也得…...

maven相关概念深入介绍

1. pom.xml文件 就像Make的MakeFile、Ant的build.xml一样,Maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。…...

以科技之力,启智慧出行 —— 阅读《NVIDIA 自动驾驶安全报告》及观看实验室视频有感

作为中南民族大学通信工程专业的学生,近期研读《NVIDIA 自动驾驶安全报告》并观看其实验室系列视频后,我深刻感受到自动驾驶技术不仅是一场交通革命,更是一次社会生产力的解放与民族精神的升华。这场变革的浪潮中,我看到了科技如何…...

2P4M-ASEMI机器人功率器件专用2P4M

编辑:LL 2P4M-ASEMI机器人功率器件专用2P4M 型号:2P4M 品牌:ASEMI 封装:TO-126 批号:最新 引脚数量:3 封装尺寸:如图 特性:双向可控硅 工作结温:-40℃~150℃ 在…...

基础的贝叶斯神经网络(BNN)回归

下面是一个最基础的贝叶斯神经网络(BNN)回归示例,采用PyTorch实现,适合入门理解。 这个例子用BNN拟合 y x 噪声 的一维回归问题,输出均值和不确定性(方差)。 import torch import torch.nn a…...

小黑享受思考心流: 73. 矩阵置零

小黑代码 class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""items []m len(matrix)n len(matrix[0])for i in range(m):for j in range(n):if not m…...

整合 | 大模型时代:微调技术在医疗智能问答矩阵的实战应用20250427

🔎 整合 | 大模型时代:微调技术在医疗智能问答矩阵的实战应用 一、引言 在大模型技术高速变革的背景下,数据与微调技术不再是附属品,而是成为了AI能力深度重构的核心资产。 尤其在医疗行业中,微调技术改写了智能分诊和…...

Web安全:威胁解析与综合防护体系构建

Web安全:威胁解析与综合防护体系构建 Web安全是保护网站、应用程序及用户数据免受恶意攻击的核心领域。随着数字化转型加速,攻击手段日益复杂,防护需兼顾技术深度与系统性。以下从威胁分类、防护技术、最佳实践及未来趋势四个维度&#xff0…...

spring项目rabbitmq es项目启动命令

应该很多开发者遇到过需要启动中间件的情况,什么测试服务器挂了,服务连不上nacos了巴拉巴拉的,虽然是测试环境,但也会手忙脚乱,疯狂百度。 这里介绍一些实用方法 有各种不同的场景,一是重启,服…...

人工智能期末复习1

该笔记为2024.7出版的人工智能技术应用导论(第二版)课本部分的理论总结。 一、人工智能的产生与发展 概念:人工智能是通过计算机系统和模型模拟、延申和拓展人类智能的理论、方法、技术及应用系统的一门新的技术科学。 发展:19…...

深入理解指针(5)

字符指针变量 对下述代码进行调试 继续go,并且观察p2 弹出错误: 为什么报错呢? 因为常量字符串是不能被修改的,否则,编译器报错。 最后,打印一下: 《剑指offer》中收录了⼀道和字符串相关的笔试题&#…...

新魔百和CM311-5_CH/YST/ZG代工_GK6323V100C_2+8G蓝牙版_强刷卡刷固件包(可救砖)

新魔百和CM311-5_CH/YST/ZG代工_GK6323V100C_28G蓝牙版_强刷卡刷固件包(可救砖) 1、准备一个优盘卡刷强刷刷机,用一个usb2.0的8G以下U盘,fat32,2048块单分区格式化(强刷对&#xff…...

磁盘清理git gc

#!/bin/bash find / -type d -name “.git” 2>/dev/null | while read -r git_dir; do repo_dir ( d i r n a m e " (dirname " (dirname"git_dir") echo “Optimizing r e p o d i r " c d " repo_dir" cd " repod​ir"cd&…...

django admin AttributeError: ‘UserResorce‘ object has no attribute ‘ID‘

在 Django 中遇到 AttributeError: ‘UserResource’ object has no attribute ‘ID’ 这类错误通常是因为你在代码中尝试访问一个不存在的属性。在你的例子中,错误提示表明 UserResource 类中没有名为 ID 的属性。这可能是由以下几个原因造成的: 拼写错…...

现代Python打包工具链

现代Python打包工具如Poetry、Flit和Hatch提供了更简单、更强大的方式来管理项目依赖和打包流程。下面我将通过具体示例详细介绍这三种工具。 1. Poetry - 全功能依赖管理工具 Poetry是最流行的现代Python项目管理工具之一,它集依赖管理、虚拟环境管理和打包发布于一…...

(done) 吴恩达版提示词工程 8. 聊天机器人 (聊天格式设计,上下文内容,点餐机器人)

视频:https://www.bilibili.com/video/BV1Z14y1Z7LJ/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 别人的笔记:https://zhuanlan.zhihu.com/p/626966526 8. 聊天机器人(Chatbot) …...

Maven概述

1.maven是什么? Maven 是一个基于项目对象模型(Project Object Model,POM)概念的项目构建工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。(跨平台的项目管理工具,用于构建和管理任何…...

SKLearn - Biclustering

文章目录 Biclustering (双聚类)谱二分聚类算法演示生成样本数据拟合 SpectralBiclustering绘制结果 Spectral Co-Clustering 算法演示使用光谱协同聚类算法进行文档的二分聚类 Biclustering (双聚类) 关于双聚类技术的示例。 谱…...

使用c++实现一个简易的量子计算,并向外提供服务

实现一个简易的量子计算模拟器并提供服务是一个相对复杂的过程,涉及到量子计算的基本概念、C编程以及网络服务的搭建。以下是一个简化的步骤指南,帮助你开始这个项目: 步骤 1: 理解量子计算基础 在开始编码之前,你需要对量子计算…...

京东攻防岗位春招面试题

围绕电商场景,以下是5道具有代表性的技术面试题及其解析,覆盖供应链、电商大促、红蓝对抗等场景。 《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?…...

Kafka批量消费部分处理成功时的手动提交方案

Kafka批量消费部分处理成功时的手动提交方案 当使用Kafka批量消费时,如果500条消息中只有部分处理成功,需要谨慎处理偏移量提交以避免消息丢失或重复消费。以下是几种处理方案示例: 方案1:记录成功消息并提交最后成功偏移量 Co…...

消息中间件

零、文章目录 消息中间件 1、中间件 (1)概述 中间件(Middleware)是位于操作系统、网络与数据库之上,应用软件之下的一层独立软件或服务程序,其核心作用是连接不同系统、屏蔽底层差异,并为应…...

vue3直接操作微信小程序云开发数据库,web网页对云数据库进行增删改查

我们开发好小程序以后,有时候需要编写一个管理后台网页对数据库进行管理,之前我们只能借助云开发自带的cms网页,但是cms网页设计的比较丑,工作量和代码量也不够,所以我们今天就来带大家实现用vue3编写管理后台直接管理…...

重塑编程体验边界:明基RD280U显示器深度体验

重塑编程体验边界:明基RD280U显示器深度体验 写在前面 本文将以明基RD280U为核心,通过技术解析、实战体验与创新案例,揭示专业显示器如何重构开发者的数字工作台。 前言:当像素成为生产力的催化剂 在GitHub的年度开发者调查中&…...