【论文阅读】具身人工智能(Embodied AI)综述:连接数字与物理世界的桥梁
摘要
具身人工智能(Embodied AI)对于实现通用人工智能(AGI)至关重要,是连接数字世界与物理世界的各类应用的基础。近年来,多模态大模型(MLMs)和世界模型(WMs)因其卓越的感知、交互和推理能力而备受关注,有望成为具身智能体的“大脑”架构。然而,在多模态大模型时代,目前尚缺乏对具身人工智能的全面综述。在本次调研中,我们对具身人工智能的最新进展进行了全面探索。我们的分析首先深入研究具身机器人和模拟器的代表性前沿作品,以充分理解研究重点及其局限性。接着,我们分析了四个主要研究目标:1)具身感知;2)具身交互;3)具身智能体;4)模拟到现实的适应,涵盖了最先进的方法、基本范式和全面的数据集。此外,我们还探讨了多模态大模型在虚拟和真实具身智能体中的复杂性,强调其在促进动态数字和物理环境中交互的重要意义。最后,我们总结了具身人工智能面临的挑战和局限性,并讨论了其潜在的未来发展方向。我们希望本次调研能为研究社区提供基础参考,激发持续创新。相关项目可在 https://github.com/HCPLab-SYSU/Embodied_AI_Paper_List 找到。
论文作者:Yang Liu, Weixing Chen, Yongjie Bai, Xiaodan Liang, Guanbin Li, Wen Gao, Fellow, IEEE, Liang Lin, Fellow, IEEE
论文背景
在人工智能领域的快速发展中,具身智能正迅速成为一个备受关注的研究方向。具身智能不仅仅局限于解决虚拟环境中的抽象问题,更强调智能体与现实世界的交互能力。它被视为实现通用人工智能的重要途径,其核心在于智能体能够在数字空间和物理世界中灵活应对复杂多变的环境。
近年来,多模态大模型和机器人技术的快速发展为具身智能研究带来了新的机遇。然而,目前学术界缺乏一个全面系统的具身智能研究现状梳理。为填补这一空白,鹏城实验室多智能体与具身智能研究所联合中山大学HCP实验室的研究人员对近400篇相关文献进行了深入调研,推出了多模态大模型时代的全球首篇具身智能综述。。
一、核心概念与发展背景
具身人工智能旨在让智能体在物理世界中展现智能,通过与环境互动解决复杂任务,被视为实现通用人工智能(AGI)的重要途径。近年来,多模态大模型(MLMs)和世界模型(WMs)的出现,为具身智能体提供了强大的感知、交互和推理能力,使其成为该领域的研究热点。然而,目前尚缺乏对具身人工智能在MLMs时代的全面综述。本文旨在填补这一空白,对具身人工智能的最新进展进行全面梳理,包括具身机器人、模拟器、四个主要研究任务(具身感知、具身交互、具身智能体和模拟到现实的适应)以及未来研究方向。
二、具身机器人
(一)固定基座机器人
常用于实验室自动化、教育培训和工业制造,具有结构紧凑、操作精度高的特点,但固定基座设计限制了其操作范围和灵活性。
(二)轮式和履带式机器人
- 轮式机器人:适用于物流、仓储和安全巡检等场景,移动效率高,但在复杂地形和恶劣环境中的机动性受限。
- 履带式机器人:具备强大的越野能力和机动性,适用于农业、建筑和灾难恢复等领域,但能耗较高,移动速度较慢。
(三)四足机器人
稳定性和适应性强,能在复杂地形中保持平衡和移动,适用于探索、救援和军事应用,但成本高、电池续航有限。
(四)仿人机器人
外形与人相似,在服务、医疗和协作环境中应用广泛,可执行复杂任务,但控制难度大,传统液压系统结构笨重、维护成本高。
(五)仿生机器人
通过模拟自然生物的运动和功能执行任务,在医疗、环境监测等领域具有潜力,但设计制造复杂、成本高,耐用性和可靠性有限。
三、具身模拟器
(一)通用模拟器
提供虚拟环境,用于算法开发和模型训练,具有成本低、安全、可扩展性强等优点,如Isaac Sim、Gazebo等。
(二)基于真实场景的模拟器
为研究家庭活动中的具身智能体提供接近真实世界的环境,如AI2 - THOR、Matterport 3D等。
四、具身感知
(一)主动视觉感知
- 视觉同步定位与建图(vSLAM):利用相机确定机器人位置并构建地图,分为传统vSLAM和语义vSLAM
传统 vSLAM:利用相机作为主要传感器,通过对相机采集到的图像序列进行处理,确定机器人在未知环境中的位置,并同时构建环境地图。这一技术是机器人在未知环境中实现自主导航和定位的关键。
传统 vSLAM 方法通常基于几何特征,如角点、边缘等,通过特征匹配和优化算法来计算相机的位姿和地图。然而,在复杂环境下,这些几何特征可能不够稳定,导致定位和建图的精度下降。
语义 vSLAM:语义 vSLAM 在传统 vSLAM 的基础上,引入了语义信息。它不仅能够确定机器人的位置和构建环境的几何地图,还能对环境中的物体进行语义识别和标注。
例如,能够识别出环境中的桌子、椅子、门等物体。语义信息的加入使得机器人能够更好地理解环境,提高了在未知环境中的感知和导航能力。例如,机器人可以根据语义信息避开障碍物,或者朝着特定的目标物体前进。 - 3D场景理解:从 3D 场景数据中识别物体的语义信息、位置和几何属性。这有助于机器人在环境中准确地识别和操作物体,例如在室内环境中,机器人能够识别出家具的位置和类型,从而更好地执行搬运、清洁等任务。
基于投影方法:通过将 3D 场景投影到 2D 平面上,利用 2D 图像的处理技术来理解 3D 场景。这种方法在处理某些特定类型的 3D 场景时较为有效,但可能会丢失 3D 空间中的深度信息。
基于体素方法:将 3D 空间划分为一个个小的体素(类似于像素在 2D 图像中的概念),通过对体素的处理和分析来理解 3D 场景。这种方法能够较好地保留 3D 空间的结构信息,但计算量较大。
基于点云方法:直接处理 3D 场景中的点云数据,通过对点云的特征提取和分析来理解 3D 场景。这种方法在处理不规则形状的 3D 物体时具有优势,但对噪声较为敏感。 - 主动探索:机器人通过与环境交互或改变视角获取更多视觉信息,以主动感知环境,当前方法包括物理交互、改变视角等。
物理交互:机器人通过与环境中的物体进行物理接触来获取更多的视觉信息。例如,机器人可以触摸物体,感知其形状、质地等属性,从而更好地理解物体。
改变视角:机器人通过移动自身或者转动头部、摄像头等方式来改变观察视角,获取不同角度的视觉信息。这种方式可以帮助机器人消除视觉盲区,更全面地了解环境。
(二)3D视觉定位
3D 视觉定位的主要任务是根据自然语言描述在 3D 环境中准确地定位物体。例如,给定 “找到房间里的红色椅子” 这样的自然语言指令,机器人需要能够在其所处的 3D 环境中找到对应的红色椅子的位置。
两阶段方法:
检测阶段:首先在 3D 环境中检测出可能的物体。这通常涉及到使用计算机视觉技术,对 3D 场景中的物体进行识别和框定。例如,利用深度学习算法对场景中的各类物体进行初步筛选和标注。
匹配阶段:将检测到的物体与自然语言描述进行匹配。这需要将自然语言中的语义信息(如颜色、形状、类别等)与检测到的物体特征进行对比和关联,从而确定符合描述的物体位置。
一阶段方法:
这种方法将对象检测和特征提取集成在一个步骤中。直接从 3D 场景和自然语言描述中提取相关信息,通过端到端的模型架构来定位物体。例如,采用具有多模态输入(3D 场景数据和自然语言指令)的神经网络,直接输出符合描述的物体位置。
当前方法存在的问题
- 提案数量确定
在 3D 视觉定位过程中,如何确定合适数量的物体提案是一个挑战。如果提案数量过多,会增加后续匹配和计算的复杂度;如果提案数量过少,可能会遗漏目标物体。例如,在一个复杂的室内场景中,若生成过多的可能物体提案,会导致计算资源浪费在大量无关物体上;而若提案过少,可能会错过目标红色椅子。 - 语言相关性处理
自然语言描述具有多样性和模糊性。不同的人可能会用不同的方式描述同一个物体,这就要求 3D 视觉定位方法能够处理这种语言相关性。例如,“红色的座椅” 和 “红色的坐具” 实际上指的可能是同一个物体,但算法需要能够识别这种语义上的相似性,准确地定位到目标物体。
(三)视觉语言导航
-
数据集
1.1 R2R(Room - to - Room)
这是一个经典的视觉语言导航数据集。它包含了室内环境中的导航任务,例如从一个房间走到另一个房间。数据集中的指令通常是自然语言形式,如 “走到厨房”,并且提供了相应的环境场景数据。
特点:场景主要是室内环境,对于研究室内场景下的视觉语言导航具有重要意义,它为早期的研究提供了基准数据。
1.2 VLN - CE(Visual - Language Navigation - Continuous Environment)
该数据集在 R2R 的基础上进行了扩展,更加注重连续环境下的导航任务。它提供了更长、更复杂的导航路径和指令,使得机器人需要在连续的环境中做出更准确的导航决策。
特点:强调连续环境下的导航,对机器人的导航能力和对自然语言指令的理解能力要求更高。
1.3 TOUCHDOWN
这个数据集的场景主要是户外环境,如街道、公园等。它的自然语言指令也是针对户外场景的导航,例如 “沿着街道走到公园门口”。
特点:拓展了视觉语言导航的应用场景,从室内扩展到户外,为户外导航研究提供数据支持。
1.4 REVERIE(Room - level Embodied Visual Referring Expression)
主要侧重于房间级别的视觉参照表达。它的指令可能涉及到在房间内找到特定的物体或位置,例如 “找到房间里的红色椅子”。
特点:更加注重房间内的具体物体或位置的导航,对于研究具身智能体在室内环境中对特定目标的定位和导航有帮助。
-
方法
2.1 基于记忆理解的方法
原理:这类方法注重机器人对环境的感知和历史信息的利用。机器人在导航过程中,会不断地记录和更新自己所看到的环境信息,并将这些信息存储在某种形式的记忆中。当接收到自然语言指令时,机器人会结合当前的环境感知和历史记忆信息来做出导航决策。
示例:例如,机器人在室内导航时,之前经过了一个有红色椅子的房间,它会将这个房间的视觉特征和位置信息存储在记忆中。当接收到 “回到有红色椅子的房间” 的指令时,它就可以利用记忆中的信息进行导航。
2.2 基于未来预测的方法
原理:更强调对未来状态的建模、预测和理解。机器人在接收到自然语言指令后,会尝试预测在未来的导航路径上可能会遇到的环境情况,并根据这些预测来调整自己的导航策略。
示例:如果指令是 “走到走廊尽头的房间”,机器人会根据当前的环境和已有的地图信息,预测走廊上可能的障碍物和路径走向,提前规划好如何避开障碍物并顺利到达目标房间。 -
大型语言模型(LLMs)的影响
大型语言模型的出现对视觉语言导航领域产生了重要影响。LLMs 具有强大的自然语言处理能力,可以更好地理解和处理复杂的自然语言指令。在视觉语言导航中,将 LLMs 与视觉感知模型相结合,可以提高机器人对自然语言导航指令的理解和执行能力。例如,LLMs 可以帮助机器人更好地解析指令中的语义信息,准确地识别目标位置和导航路径,从而更高效地在环境中导航。
(四)非视觉感知(触觉)
- 传感器设计:包括非视觉、视觉和多模态三类,非视觉传感器基于电和机械原理,视觉传感器利用光学原理,多模态传感器结合多种信息,受人类皮肤启发。
- 数据集:主要由BioTac系列和视觉传感器收集,视觉传感器数据集更注重纹理识别和操作,在具身智能体中主要围绕视觉传感器展开。
- 方法:包括估计、机器人操作和多模态识别任务,触觉感知在具身智能体中具有重要意义,但面临传感器类型、数据采集和标准不一致等挑战。
五、具身交互
(一)具身问答
- 数据集:如EQA v1、MT - EQA、MP3D - EQA等,通过在模拟器中构建场景和问题,为模型训练提供数据。
- 方法:包括神经网络方法和LLMs/VLMs方法,前者通过构建深度神经网络训练模型,后者利用LLMs和VLMs解决任务,模型性能评估涉及导航和问答两方面。
(二)具身抓取
- 夹具:当前研究主要集中在二指平行夹具和五指灵巧手,二指平行夹具抓握姿势分为4 - DOF和6 - DOF,五指灵巧手增加了抓握的复杂性。
- 数据集:传统抓取数据集包含图像、点云或3D场景的标注数据,随着MLMs发展,出现了语义 - 抓取数据集,以支持基于语言的抓取任务研究。
- 语言引导抓取:结合MLMs使智能体能够根据人类指令执行抓取操作,包括明确和隐含指令,涉及空间和逻辑推理,当前方法包括端到端和模块化方法,但存在对数据依赖和泛化能力不足的问题。
六、具身智能体
(一)具身多模态基础模型
为应对复杂现实世界任务,具身智能体需具备多模态感知、交互和规划能力,该模型整合多种感官模态和自然语言处理能力,谷歌的Robotic Transformer(RT)系列是重要研究成果,同时面临数据和模型效率等挑战。
(二)具身任务规划
- 利用LLMs的涌现能力规划:LLMs可分解抽象任务,但执行时可能因未充分考虑环境复杂性而失败,需整合视觉信息提高规划准确性。
- 利用具身感知模型的视觉信息规划:将视觉信息融入任务规划可优化任务步骤,但视觉信息有限可能导致智能体对环境理解不足,需开发算法增强多模态集成和上下文推理。
- 利用VLMs规划:VLM模型能捕捉视觉细节和上下文信息,有助于任务规划,但任务规划成功还需有效执行,行动规划对具身智能体至关重要。
(三)具身行动规划
智能体通过两种方式实现行动规划:一是利用预训练模型作为工具,通过API调用完成任务;二是利用VLA模型的内在能力进行规划和执行,前者模块化设计具有灵活性,但可能受外部模型影响,后者能提高系统响应速度和效率,但处理复杂任务时面临挑战。
七、模拟到现实的适应
(一)具身世界模型
用于在模拟环境中创建与现实世界相似的模型,帮助算法更好地泛化,分为生成式、预测式和知识驱动式方法,各有优缺点,在自主驾驶和对象分类等结构化任务中表现出潜力,但在复杂具身任务中的泛化能力有待提高。
(二)数据收集和训练
- 真实世界数据:如Open X - Embodiment数据集,对训练具身大模型至关重要,但收集困难,需大量资源和机构合作。
- 模拟数据:可在模拟环境中自动收集,节省时间和资源,如CLIPORT和Transporter Networks等通过模拟数据成功实现模型转移。
- 模拟到现实的范式:包括Real2Sim2Real、TRANSIC、Domain Randomization、System Identification和Lang4Sim2Real等,旨在减少模拟与现实环境的差距,提高模型迁移能力。
(三)具身控制
- 深度强化学习(DRL):适用于处理高维数据和学习复杂行为模式,如HDPG和DeepGait等算法在机器人控制中得到应用。
- 模仿学习:为解决DRL数据需求大的问题,通过收集高质量演示数据进行学习,如ALOHA和Mobile ALOHA等方法,具身控制是具身人工智能的关键组成部分,与硬件密切相关,未来需结合RL和模拟到现实技术优化策略。
(四)一体化机器人(All Robots In One)
为解决数据层面的局限性,提出ARIO标准和数据集,该标准记录不同形态机器人的数据,具有多感官模态、时间戳对齐、结构化框架、统一格式和集成模拟与真实数据等优点,有助于开发通用的具身人工智能模型。
八、挑战与未来方向
(一)高质量机器人数据集
获取真实世界机器人数据困难,需构建大规模、多样化数据集,结合模拟和真实数据,以支持具身模型的跨场景和跨任务应用。
(二)高效利用人类演示数据
需有效利用人类演示数据训练机器人系统,提高其在复杂任务中的性能和适应性,如结合大量无结构、多标签和多模态数据进行训练。
(三)复杂环境认知
具身智能体需增强对复杂环境的认知能力,包括理解自然语言指令、适应不同场景和执行长期任务,需开发适应性强、可扩展的架构。
(四)长时程任务执行
执行单指令可能涉及长时程任务,当前高级任务规划器需提高效率和适应性,以应对复杂场景和长期任务执行的挑战。
(五)因果关系发现
现有数据驱动方法难以理解因果关系,具身智能体需具备自主因果推理能力,以提高决策可靠性和适应性,需建立跨模态时空因果关系。
(六)持续学习
在机器人应用中持续学习至关重要,但目前研究较少,未来需解决灾难性遗忘、提高训练稳定性和样本效率等问题,并将大容量模型有效融入控制框架。
(七)统一评估基准
目前缺乏全面评估具身模型的基准,需建立涵盖多种技能和场景的基准,同时评估高级任务规划器和低级控制策略,以全面评估具身人工智能系统的能力。
相关文章:
【论文阅读】具身人工智能(Embodied AI)综述:连接数字与物理世界的桥梁
摘要 具身人工智能(Embodied AI)对于实现通用人工智能(AGI)至关重要,是连接数字世界与物理世界的各类应用的基础。近年来,多模态大模型(MLMs)和世界模型(WMs)…...
使用el-row和el-col混合table设计栅格化,实现表头自适应宽度,表格高度占位
演示效果: 如上图,由于地址信息很长,需要占多个格子,所以需要错开,若想实现这种混合效果,可以这样搭建: 页面效果: 代码分析: 上面使用el-row和el-col搭建表单显示 第一排三个8,第二排8和16 下面混合table实现,并使用border来自适应宽度…...
MQ的基本概念
1 MQ的基本概念 RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,…...
基于协同过滤的图书推荐系统 爬虫分析可视化【源码+文档】
【1】系统介绍 研究背景 随着互联网的普及和电子商务的发展,用户可以在线获取大量的图书资源。然而,面对海量的信息,用户往往难以找到自己真正感兴趣的书籍。同时,对于在线书店或图书馆等提供图书服务的平台来说,如何…...
Kruskal 算法在特定边权重条件下的性能分析及其实现
引言 Kruskal 算法是一种用于求解最小生成树(Minimum Spanning Tree, MST)的经典算法。它通过逐步添加权重最小的边来构建最小生成树,同时确保不会形成环路。在本文中,我们将探讨在特定边权重条件下 Kruskal 算法的性能,并分别给出伪代码和 C 语言实现。特别是,我们将分…...
【Pandas】pandas from_dummies
Pandas2.2 General Data manipulations 方法描述melt(frame[, id_vars, value_vars, var_name, …])将多个列的值转换为行形式pivot(data, *, columns[, index, values])将长格式的数据转化为宽格式pivot_table(data[, values, index, columns, …])用于创建数据透视表&#…...
【信息系统项目管理师】第8章:项目整合管理过程详解
文章目录 一、制定项目章程1、输入2、工具和技术3、输出 二、制订项目管理计划1、输入2、工具和技术3、输出 三、指导与管理项目工作1、输入2、工具和技术3、输出 四、管理项目知识1、输入2、工具和技术3、输出 五、监控项目工作1、输入2、工具和技术3、输出 六、实施整体变更控…...
从变更到通知:使用Python和MongoDB Change Streams实现即时事件监听
MongoDB提供了一种强大的功能,称为Change Streams,它允许应用程序监听数据库中的变更事件,并在数据发生变化时立即做出响应。这在mysql数据库是不具备没有这个功能的。又如:我们在支付环节想一直监听支付回调的状态,就…...
vue3+elementPlus封装的数据过滤区
目录结构 源码 index.vue <template><el-form class"mb-5" :rules"rules" :model"queryForm" ref"queryDOM" label-width"80"><el-row :gutter"20"><slot></slot><el-col cla…...
PHP RabbitMQ连接超时问题
问题背景 Error: The connection timed out after 3 sec while awaiting incoming data 看到这个报错,我不以为意,认为是我设置的超时时间不够导致的,那就设置长一点 Error: The connection timed out after 300 sec while awaiting incom…...
SpringMvc完整知识点二(完结)
SpringMVC获取请求参数 环境准备工作等均省略,可详见快速入门,此处只写非共有部分代码 该部分示例项目SpringMvcThree已上传至Gitee,可自行下载 客户端请求参数的格式为:namevalue&passwordvalue... ... 服务端想要获取请求…...
WebSocket 通信说明与基于 ESP-IDF 的 WebSocket 使用
一、 WebSocket 出现的背景 最开始 客户端(Client) 和 服务器(Server) 通信使用的是 HTTP 协议,HTTP 协议有一个的缺陷为:通信只能由客户端(Client)发起。 在一些场景下࿰…...
UE5 Compile Plugins | Rebuild from Source Manually | Unreal Engine | Tutorial
Step 1 Open Engine Folder H:\UE5\UE_5.3\Engine\Build\BatchFiles Step 2 Hold "Shift""Mouse Right Click"in Empty Area Step 3 Select "Open PowerShell window here .\RunUAT.bat BuildPlugin -plugin"H:\projects\MetaHuman光照2\plu…...
深度解析 Ansible:核心组件、配置、Playbook 全流程与 YAML 奥秘(下)
文章目录 六、playbook运行playbook方式Playbook VS ShellScripts忽略错误 ignore_errorshandlers和notify结合使用触发条件playbook中tags的使用playbook中变量的使用invertory参数模板templates迭代与条件判断迭代:with_items迭代嵌套子变量roles 六、playbook 运…...
langchain chroma 与 chromadb笔记
chromadb可独立使用也可搭配langchain 框架使用。 环境: python 3.9 langchain0.2.16 chromadb0.5.3 chromadb 使用示例 import chromadb from chromadb.config import Settings from chromadb.utils import embedding_functions# 加载embedding模型 en_embeddin…...
04 创建一个属于爬虫的主虚拟环境
文章目录 回顾conda常用指令创建一个爬虫虚拟主环境Win R 调出终端查看当前conda的虚拟环境创建 spider_base 的虚拟环境安装完成查看环境是否存在 为 pycharm 配置创建的爬虫主虚拟环境选一个盘符来存储之后学习所写的爬虫文件用 pycharm 打开创建的文件夹pycharm 配置解释器…...
xcode开发相关英语单词
创建项目: otheraudio unit extension app音频单元扩展应用程序generic kernel extension通用内核扩展installer plug-in安装程序插件instruments package仪器包iokit driveriokit驱动程序presence pane状态窗格screen saver屏幕保护程序...
etcd-v3.5release-(2)-STM
a.b.c表示a文件里的b类的方法c,注意a不一定是包名,因为文件名不一定等于包名 !!!!etcd在put的过程中使用的batchTxBuffered,这个事务是写bbolt数据库使用的事务,是对bbolt.Tx的一个…...
多系统萎缩锻炼如何好起来?
多系统萎缩(Multiple System Atrophy, MSA)是一种复杂的神经系统退行性疾病,影响着患者的自主神经系统、运动系统和平衡功能等多个方面。面对这一挑战,科学、合理的锻炼对于缓解症状、提高生活质量至关重要。本文将详细介绍多系统…...
非对称任意进制转换器(安卓)
除了正常进制转换,还可以输入、输出使用不同的数字符号,达成对数值进行加密的效果 点我下载APK安装包提取码:h4nw 使用unity开发。新建一个c#代码文件,把代码覆盖进去,再把代码文件添加给main camera即可。 using Sy…...
MySQL数据库安全与管理
1、创建两个新用户U_student1和U_student2,密码分别为1234和5678 create user U_student1@localhost identified by 1234, U_student2@localhost identified by 5678; 2、创建两个新用户的详细信息保存在MySQL数据库的user表中 use mysql; select user, host, authentication…...
python使用PyPDF2 和 pdfplumber操作PDF文件
文章目录 一、第三方库介绍二、基本使用1、拆分pdf2、合并pdf3、提取文字内容4、提取表格内容5、PDF加密6、PDF解密 一、第三方库介绍 Python 操作 PDF 会用到两个库,分别是:PyPDF2 和 pdfplumber。 PyPDF2 可以更好的读取、写入、分割、合并PDF文件&a…...
【vue2自定义指令】v-disabled 实现el-switch,el-button等elementUI禁用(disabled)效果
如果你搜过类似的功能,肯定看到过千篇一律的 // 实现按钮禁用el.disabled true// 增加 elementUI 的禁用样式类el.classList.add(is-disabled)但是这个方案明显对el-switch,不起作用,所以我这边直接把方案贴出来,不想了解具体原理…...
从容面对大规模作业:利用PMI提升作业启用和结束效率
1.进程管理瓶颈 随着集群规模的不断扩大和处理器性能的不断提升,高性能计算HPC(High Performance Computing)系统性能已经进入百亿亿次时代,进程管理是高性能计算的一个重要组成部分,传统进程管理已经不能满足海量处理器的管理需求ÿ…...
2024年认证杯SPSSPRO杯数学建模C题(第一阶段)云中的海盐解题全过程文档及程序
2024年认证杯SPSSPRO杯数学建模 C题 云中的海盐 原题再现: 巴黎气候协定提出的目标是:在2100年前,把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平,并为1.5摄氏度而努力。但事实上,许多之前的…...
burp(6)暴力破解与验证码识别绕过
声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…...
不同系统查看软件占用端口的方式
Windows 使用命令提示符(CMD) 打开命令提示符: 按 Win R 键打开“运行”对话框,输入 cmd 并按回车。为了执行某些命令,您可能需要以管理员身份运行命令提示符。可以通过右键点击“开始”按钮并选择“命令提示符(管理…...
【已解决】黑马点评项目中-实战篇11-状态登录刷新章节设置RefreshTokenInterceptor拦截器后登录异常的问题
黑马点评项目中-实战篇11-状态登录刷新章节设置RefreshTokenInterceptor拦截器后登录异常的问题 在 MvcConfig 文件中添加好RefreshTokenInterceptor拦截器 出现异常情况 按照验证码登录后,进入主页面,再点击“我的”,又跳入登录界面 原因…...
Artec Leo 3D扫描仪 革新家具行业的数字化展示【沪敖3D】
随着科技的飞速进步,三维扫描技术已被广泛应用于包括家居行业在内的多个行业。面对现代消费者对家居产品日益增长的个性化和多样化需求,传统的家居设计和展示方法已难以满足市场需求。三维扫描技术的出现,为家居行业带来了新的发展机遇&#…...
UG NX二次开发(Python)-UIStyler-选取点
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、设计一个UI界面3、创建长方体的代码4、需要引入的库5、测试验证1、前言 采用Python语言进行UG NX二次开发的资料比较少,我本来不是很认可采用Python进行二次开发的,但是近期有读者咨询…...
Linux网络编程之---组播和广播
一.组播 1.概述 单播地址标识单个IP 接口,广播地址标识某个子网的所有IP 接口, 多播地址标识一组IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部), 多播则意在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收…...
[计算机网络] HTTP/HTTPS
一. HTTP/HTTPS简介 1.1 HTTP HTTP(超文本传输协议,Hypertext Transfer Protocol)是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口 …...
运动模糊效果
1、运动模糊效果 运动模糊效果,是一种用于 模拟真实世界中快速移动物体产生的模糊现象 的图像处理技术,当一个物体以较高速度移动时,由于人眼或摄像机的曝光时间过长,该物体会在图像中留下模糊的运动轨迹。这种效果游戏、动画、电…...
扫二维码进小程序的指定页面
草料二维码解码器 微信开发者工具 获取二维码解码的参数->是否登陆->跳转 options.q onLoad: function (options) {// console.log("options",options.q)if (options && options.q) {// 解码二维码携带的链接信息let qrUrl decodeURIComponent(optio…...
uniapp的生命周期
在 UniApp 中,生命周期函数是指在组件(如页面、视图等)创建和销毁过程中会自动触发的一些函数。UniApp 提供了多种生命周期函数,帮助开发者在适当的时机进行相关的逻辑处理。 UniApp 的生命周期函数可以分为 页面生命周期 和 组件…...
vue3-生命周期钩子函数
在 Vue 3 中,**生命周期函数**是指在组件的不同阶段自动执行的一些特殊函数。这些函数就像组件的“生老病死”的各个阶段,你可以在不同阶段执行不同的操作。 生命周期的主要阶段: 1. **创建阶段**(组件还没有出现在页面上&#x…...
科技云报到:数智化转型风高浪急,天翼云如何助力产业踏浪而行?
科技云报到原创。 捷径消亡,破旧立新,是今年千行百业的共同底色。 穿越产业周期,用数字化的力量重塑企业经营与增长的逻辑,再次成为数字化技术应用的主旋律,也是下一阶段产业投资的重点。 随着数字化转型行至“深水区…...
利用 360 安全卫士极速版关闭电脑开机自启动软件教程
在使用电脑的过程中,过多的开机自启动软件会严重拖慢电脑的开机速度,影响我们的使用体验。本教程中简鹿办公将详细介绍如何使用 360 安全卫士极速版关闭电脑开机自启动软件,让您的电脑开机更加迅速流畅。 一、打开 360 安全卫士极速版 在电…...
调用大模型api 批量处理图像 保存到excel
最近需要调用大模型,并将结果保存到excel中,效果如下: 代码: import base64 from zhipuai import ZhipuAI import os import pandas as pd from openpyxl import Workbook from openpyxl.drawing.image import Image from io i…...
【Spring 全家桶】Spring MVC 快速入门,开始web 更好上手(上篇) , 万字解析, 建议收藏 ! ! !
本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…...
Redisson看门狗机制
redis分布式锁我们需要手动为锁设置超时过期时间,但是这个时间不好判断,如果太短,持有锁的客户端还在执行业务,锁就超时释放了;如果太长了,持有锁的客户端释放锁失败,则其他客户端一直没法获取锁…...
LeetCode279. 完全平方数(2024冬季每日一题 27)
给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 …...
HTML礼物圣诞树
系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节快乐5HTML蓝色爱心射线6HTML跳动的爱心(简易版)7HTML粒子爱心8HTML蓝色动态爱心9HTML跳动的爱心(双心版)1…...
【JVM】JVM基础教程(二)
上一篇:【JVM】JVM基础教程(一)-CSDN博客 类加载器 什么是类加载器(ClassLoader) 是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 从这个定义可以得出结论:Java是允许开发者写点代码…...
Appium 安装问题汇总
好生气好生气,装了几天了, opencv4nodejs 和 mjpeg-consumer 就是装不了,气死我了不管了,等后面会装的时候再来完善,气死了气死了。 目录 前言 1、apkanalyzer.bat 2、opencv4nodejs 3、ffmpeg 4、mjpeg-consume…...
在网安中什么是白帽子
在网络安全领域,白帽子是指那些专门从事网络安全研究,帮助企业或个人发现并修复安全漏洞的专家。以下是对白帽子的详细解释: 一、定义与角色 白帽子是网络安全领域的术语,通常指那些具备专业技能和知识的网络安全专家。他们的工作…...
C++解析URL的方式
一、URL格式为http://192.168.80.166:6666/designResLib/test/test std::vector<CString> ThkCabRMaterialStaDlg::splitAddress(const CString& address) {std::vector<CString> result;CString remaining address;result.push_back(remaining.Left(remaini…...
【软件安全】软件安全设计规范,软件系统安全设计制度(Word原件)
1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件全面文档清单涵盖以下核心内容&a…...
基于ZooKeeper搭建Hadoop高可用集群
ZooKeeper搭建Hadoop高可用集群 在之前安装的Hadoop3.3.6集群中HDFS NameNode 和 YARN ResourceManager 都是单节点,集群不具有高可用性。 HDFS 高可用架构 HDFS 高可用架构主要组件: Active NameNode 和 Standby NameNode: 两台 NameNode…...
华硕主板不能开启
正常流程: [主機板]BIOS如何設置主機板整合圖形(內顯)和獨立顯示卡同時顯示輸出 | 官方支援 | ASUS 台灣 如果开启了CSR兼容性模式,在BIOS里面,就必须关掉,才能支持多显示器,如下图显示的标识才会出现。...