A Dexterous Hand-Arm Teleoperation System

A Dexterous Hand-Arm Teleoperation System Based on Hand Pose Estimation and Active Vision解读

  • 摘要
  • 1. 简介
  • 2.相关工作
    • 2.1 机器人遥操作
    • 2.2 主动视觉(Active Vision)
  • 3. 硬件设置
  • 4. 基于视觉的机器人手部姿态估计
    • 4.1 Transteleop
    • 4.2 Dataset
  • 5. 主动视觉系统
  • 6. Slave Robot 运动生成

论文链接:https://ieeexplore.ieee.org/document/9906807?denied=
论文出处:IEEE Transactions on Cybernetics,2024
论文单位:汉堡大学,清华大学

摘要

  • 基于无标记视觉的远程操作,利用计算机视觉的创新,为多指机器人的手提供了自然和无创的手指运动的优势。
  • 然而,目前的姿态估计方法仍然面临手指自咬合的不准确性问题
  • 在此,我们开发了一种新的基于视觉的手-臂远程操作系统,该系统可以从最佳视点合适的距离捕获人手。
  • 该远程操作系统由端到端手部姿态回归网络可控主动视觉系统组成。
  • 端到端姿态回归网络(Transteleop)结合辅助重建损失函数,通过低成本的深度相机捕获人手,并基于图像到图像的转换方法预测机器人的联合命令。
  • 为了获得对人手的最佳观察,在局部位置由机械臂实现主动视觉系统,以确保所提出的神经网络的高精度。
  • 在相对控制下,将人臂运动同步映射到机械臂上。
  • 定量的网络评估和各种复杂的操作任务,如建塔、浇筑和多桌杯子堆叠,证明了所提出的远程操作系统的实用性和稳定性。

1. 简介

  • 遥操作在许多机器人领域,如医疗外科空间探索救援行动中发挥重要作用。
  • 传统的远程操作方法通常依赖于数据手套可穿戴式运动跟踪设备,这些设备是定制的,可能会阻碍人类灵巧的运动。
  • 随着计算机视觉中人体和人手姿态估计和手势识别的快速发展,基于无标记视觉的遥操作近年来取得了很大的成就。它为远程操作提供了一种自然、高效的方法,特别是拟人手的远程操作。
  • 在先前的基于无标记视觉的遥操作方法中,手部姿态估计算法通常在后面跟一个运动重定向算法。
  • 与这些工作相反,端到端回归模型将人手图像作为输入并预测机器人联合命令,绕过中间过程,直接针对机器人系统。
  • 此外,端到端模型对于新手演示来说更直观,并且在实践中节省了后处理时间。
  • 端到端方法的主要关注点是探索两个图像域(人手和机器人手)之间丰富的共同特征,以学习从人手到机器人手的运动学映射
  • 最近,图像到图像的翻译已经成为机器人模仿学习和风格迁移中发现两种表征之间隐藏映射特征的流行方法。
  • 因此,在手部姿态估计模型中引入图像到图像的转换机制,有望提高跨域预测精度。
  • 然而,由于手指的自遮挡(self-occlusion),这些基于视觉的姿态估计算法仍然存在不准确的问题,特别是当视觉数据由单个固定摄像机提供时
  • 平均而言,目前最先进的单相机手部姿态估计算法的平均误差小于10 mm,但仅当相机方向与人手之间的夹角小于30◦时。
  • 校准良好的多相机系统通常用于感知更多的信息,但无法避免对目标物体的极端视点,并且经常遇到时间同步和处理时间长的问题。
  • 另一种选择是确保相机总是从最佳的视角和最佳的距离捕捉到人手,利用更直接的姿势估计解决手指的自遮挡。
  • 主动视觉系统可以更新摄像机的视点并获得更好的信息。
  • 为了彻底解决基于视觉的远程操作中视点有限的问题,开发一种局部的主动视觉系统将是有益的。
  • 在本文中,我们设计了一种基于无标记视觉的手臂远程操作系统,该系统由手部姿态估计方法Transteleop和实时主动视觉系统组成(见图1)。
    在这里插入图片描述
    图1. 提出的基于视觉的手臂远程操作系统的pipeline。人体演示者通过端到端手部姿态估计网络Transteleop远程操作从动手(slave robot hand),并基于操作者的手腕运动通过相对轨迹控制控制从动机械臂(slave robot arm)。为了解决手指自遮挡导致的手部姿态估计不准确的问题,我们引入了一种可控的主动视觉系统来探索最佳的手部观察。主动视觉系统由安装在机械臂上的深度摄像机和实时轨迹生成方法组成。 这种远程操作系统使从机器人能够完成不同类型的操作任务,如pouring, sweeping, 和 multitable cup stacking。
  • 手部姿态估计的初步结果由《A mobile robot hand-arm teleoperation system by vision
    and IMU》论文报道。这项工作更详细地解释了Transteleop模型,并建立了一个新的pairwise human–robot 数据集,其中双手处于相同的方向。
  • 此外,由于主动视觉设置的增强,人在环遥操作系统能够通过将手始终保持在最佳视场中来完成更多的操作任务。
  • 我们的主要贡献如下:
  • 基于图像到图像的翻译方法,开发了端到端机器人手部姿态估计模型(Transteleop)。Transteleop在自建的人机配对数据集上进行训练,预测机器人的联合命令,并将人手图像转换为合成的机器人图像,从而更好地感知姿势特征。
  • 为了彻底解决基于视觉的遥操作中视野受限的问题,我们建立了一个主动视觉系统。该系统确保相机始终从最佳视点和最佳距离捕捉人手。
  • 我们通过网络评估、轨迹分析和重要的机器人实验,证明了所提出的远程操作系统的可靠性和实用性,包括pick and place, tower building, pouring, sweeping, midi mixer fader sliding, and multitable cup stacking,在两个训练过的演示器上。

2.相关工作

2.1 机器人遥操作

  • 机器人远程操作系统概念上包括两个sites: 1) the local and 2) the remote site
  • 本地站点定位远程操作员和用于测量或支持人类运动的多个设备,并显示远程站点的实时状态。
  • **远程站点包括机器人、支持传感器和被操纵的对象。**机器人接受人类的指令和传感器的感知,然后执行操作任务。
  • 本地站点的测量设备主要分为两大类: 1)接触式/可穿戴设备和 2)无标记设备。
  • 接触/可穿戴设备,如操纵杆、标记、惯性和磁测量单元(IMU)或基于肌电图(EMG)的数据手套或可穿戴套装,以及触觉设备,长期以来一直用于机器人远程操作。从简单的操纵杆到力反射操纵杆,大多数用于控制运动类型有限的机器人,如无人机和移动基地。基于标记、IMU、EMG的可穿戴套装,如手套、衣服等,通常都需要精确的校准和定制才能实现精确的控制,但MYO臂章等腕带型设备除外。在实际应用中,IMU-和EMG -装置设置方便,对多自由度机械臂的控制效率高。
  • 在灵巧操作方面,可穿戴设备的另一个明显缺点,尤其是基于手套的传感器,是阻碍人类的自然运动
  • 随着虚拟/混合/增强现实(VR/MR/AR)设备的快速发展,基于VR/MR/AR的远程操作在机器人领域得到了相当大的关注。这是由于沉浸式交互和增强的感知信息的好处。
  • 与可穿戴设备相比,非接触式设备具有允许自然、不受限制的身体运动和不同的远程操作员,并且侵入性较小的优点。
  • 远程操作中最常见的非接触式设备是低成本的RGB相机
  • 利用人体跟踪和手部姿态估计算法,基于无标记视觉的遥操作在控制人形机器人或灵巧机械手中的应用被研究。
  • 许多工作分别研究了人体的视觉感知 (例如,人类手势分类或人类手部姿势估计) 和机器人控制(例如,特定运动或运动学重定向)。
  • 运动学重定向利用视觉感知算法的身体检测结果,在关节空间生成机器人指令。

2.2 主动视觉(Active Vision)

  • 主动视觉已广泛应用于目标跟踪、机器人抓取、人机交互、同步定位与测绘(SLAM)等领域。
  • 它旨在通过将视觉传感器移动到最佳姿势来选择注意力和图像视点,以促进相关应用。
  • 主动视觉系统的常见形式是将视觉传感器安装在机械手的末端执行器上作为手眼系统或安装在云台机器人上。
  • 最近,一些研究基于强化学习技术优化了摄像机视点,用于抓取姿势生成和机器人pushing任务。
  • 在人机交互场景中,主动视觉通常增强机器人检测人类存在和解读人类运动或情绪的能力。
  • 在本文中,我们研究了如何在操作员现场建立一个受控的主动视觉装置,以从有利的角度捕捉人手,而不是应用主动视觉来观察远程site。

3. 硬件设置

  • 我们的目标是建立一个灵活的基于视觉的远程操作系统,在该系统中,远程操作者可以在无限的工作空间中执行一系列操作任务,并进行自然的手指运动和不受限制的手臂动作。硬件设置如图2所示。
    在这里插入图片描述
    图2. 提出的远程操作系统的硬件设置。(a)局部site的正面视图。(b)远程操作硬件。
  • local site设置[见图2(b)]由一个带有RealSense SR300深度传感器的6自由度UR5协作机器人手臂、一个PhaseSpace运动跟踪系统、一个3d打印的轻质LED手腕标记、两个监视器和两个deadman’s 开关组成。
  • 人类远程操作者站在UR5机器人前面,保持安全距离,而UR5机器人手臂拥有认证的安全系统,用于自动跟踪人类的右手
  • 对于手指跟踪深度传感器安装在机器人手臂的末端执行器上,用于捕获人手的深度图像。
  • 对于手腕跟踪PhaseSpace运动跟踪系统(320 Hz) 根据粘贴在人手手背上的手腕标记来估计右手的6-D姿势。
  • 两个监视器用于可视化远程站点的实时状态和人手的深度图像。除了从俯视图和右视图可以看到机器人状态的两种视觉流外,机器人五个指尖上的实时力反馈也用五个圆柱体来表示,它们的高度随着测量力的大小而变化。
  • 在远端,从机器人为PR2机器人,其5自由度的右臂上安装了一个19自由度的Shadow机械手
  • 安装在PR2头部的Kinect2 RGBD摄像头和位于PR2右侧的网络摄像头从顶部和侧面视角捕捉机器人的表现。
  • 除此之外,五个Syntouch Biotac触觉传感器安装在Shadow手的指尖。
  • 在我们的设置中,人类站在UR5机器人的前面,只能从视觉显示中看到PR2。
  • 这种硬件设置在同一局域网下的三台计算机上工作,数据通过机器人操作系统(ROS)在这些计算机之间进行通信。
  • 每台计算机上的主要ROS主题和数据通信如图3所示。
    在这里插入图片描述
  • PC1和PC2属于local site,PC3属于remote site。PC2和PC3分别控制UR5机器人和PR2机器人。PC2发布6-D global hand poses,PC3根据global hand poses生成 右PR2手臂的实时轨迹命令。PC3根据人手图像生成Shadow hand的联合指令,然后Shadow hand在远端模仿人手手势。PC1用于反馈可视化和控制SR300深度相机。

4. 基于视觉的机器人手部姿态估计

4.1 Transteleop

  • 我们期望从跟踪系统捕获的人手深度图像 I_H 中估计出机器人手的关节角度

  • 尽管“Shadow hand”被设计成与成人手的机制相匹配,但灵巧的远程操作需要操作者的手与机器人之间的精确映射。

  • 由于机械手和人手之间存在跨域的差异,如何从这两个域中获取具有指导意义和共享手部特征H_share,如骨骼形状和整个轮廓,是该回归问题的主要问题。

  • 我们认为从共享姿态特征 H_share而不是单纯的 I_H 进行预测更有利。

  • 为了获得指导性的特征表示Z_pose,我们采用了一种从 人手图像I_H 映射到机械手图像I_R 的生成结构,并从bottleneck层检索姿态特征H_share

  • 尽管条件GANs在图像生成质量上有了很大的提高,但鉴别器只追求重构图像的高真实感,而没有充分关注输入图像的姿态特征。

  • 另外,众所周知,自动编码器以无监督的方式学习有效的数据编码,并且广泛用于图像到图像的翻译应用程序。

  • 因此,我们建议使用编码器-解码器风格的图像-图像转换方法(Transteleop)进行手部特征H_share提取。

  • 这个学习方案定义为:
    在这里插入图片描述

  • Transteleop的深度网络架构如图4所示。
    在这里插入图片描述
    图4. Transteleop的结构图。给定来自人手域的输入深度图像,Transteleop旨在重建机械手图像并预测机器人域中机械手的关节命令。

  • Transteleop可以归结为四个模块:
    (1)encoder(编码)模块
    (2)embedding(嵌入)模块
    (3)decoder(解码)模块
    (4)joint (关节)模块

  • encoder–embedding–decoder关联获取人手 I_H 的深度图像,并在相同的手部姿势下重建机械手Iˆ_R的深度图像。

  • 嵌入层连接编码器和解码器子模块,并体现了共享姿态特征H_share

  • 请注意,嵌入模块中的所有层都是全连接层,因为全连接层允许每个单元连接前一层的每个激活单元,而卷积层通常具有特定的感受野。

  • 在image-to-image translation领域,L1损失会产生预测图像的粗略轮廓,但保留高分辨率的细节,而L2损失则倾向于估计分布的平均值,导致图像模糊。

  • 在我们的例子中,手的局部特征,比如手关键点的位置,比图像分辨率更重要。Transteleop通过引入基于关键点的 L2 重构损失(公式(3))来解决这个问题。这鼓励模型专注于局部特征,比如手关节周围的像素。
    在这里插入图片描述
    式中,M为像素个数,αij为像素在[i, j]处的权重因子。I_R为机器人手图像的真值.

  • 每个像素的权重因子 α∈[0,1] [见式(4)]为像素与手部关键点之间的归一化距离,如图5所示。
    在这里插入图片描述
    式中,Pij为像素在图像坐标[i, j]处的位置,A为所有15个关键点及其8个相邻像素的位置数组,αij为像素在[i, j]处的比例因子。Dmax为数组D的最大值,Pij的大小为1 × 2, A的大小为135 × 2, D的大小为M × 1。
    在这里插入图片描述
    图5. 权重因子α的热图。较深的颜色说明了这些像素的重要性。

  • Transteleop的 joint模块采用全连通层,从嵌入H_share的潜在特征推断出17-D joint角度。关节损失L_joint 用均方误差损失进行监督
    在这里插入图片描述
    式中,N为节点个数,GT为真地节点角度。

  • 在训练时间内,完整训练目标 L_hand 为重建损失与关节角度回归损失的加权和,在配对的人-机器人数据集上训练。
    在这里插入图片描述

  • 其中λ_recon = 1, λ_joint = 10为标度权值。

  • 在推理时,不使用解码器模块。相应地,Transteleop将人手的深度图像作为输入,然后为机器人输出关节命令。

4.2 Dataset

  • 考虑到输入图像和重建图像的方向和位置不一致无疑会给Transteleop带来更多的训练挑战,因此最好从相同的视点相同的手腕姿势拍摄人手和机器人手的图像。
  • 在Transteleop和TeachNet中,摄像机和机器人均处于固定全局姿态时,通过Gazebo模拟器记录机器人图像。
  • 在本文中,我们建议从相同的视角收集成对的人-机器人数据集。基于Bighand2.0提供的人手深度图像和关键点位置,通过OpenGL接口采集机器人图像,利用 仿生解算器(bio-ik solver) 优化机器人关节角度。
  • bigand2.0数据集提供了960K张人手深度图像,其中人手的整体姿势变化很大。
  • 21个手关键点相对于相机帧的位置如图6(a)所示。为了获得手腕的方向,我们为每只手建立一个局部的手框架。z轴是食指(FF)-手掌,中指(MF)-手掌,无名指(RF)-手掌,小指(LF)-手掌的均值。y轴是MF-掌和RF-掌的叉乘。然后,我们得到了右手坐标系下的x轴。向量FF-palm、MF-palm、RF-palm和MF-palm表示从手腕指向FF、MF、RF和LF的掌骨关节的向量。一旦我们有了手腕的方向,我们就获得了关于人手数据集的从相机到手腕的转换。接下来,我们在OpenGL中设置一个与机器人手腕相同方向和位置的相机。利用仿生解算器(bio-ik solver),我们开发了一种优化的重定向方法,该方法集成了从人手关键点到相应机械手关键点的位置映射方向映射
    在这里插入图片描述
  • Shadow hand的运动链如图6(b)所示。随后,获得机器人的关节角度,即Transteleop的ground truth。
  • 最后,考虑到相机和机器人手腕之间的转换,我们在OpenGL中渲染机器人模型并捕获机器人手部的深度图像
  • 配对数据集由400K幅同步的人机深度图像和相应的机器人关节角度组成。如图6©所示,机器人的手正在模仿人手,并且处于类似的手腕姿势。

5. 主动视觉系统

  • 我们的实时主动视觉系统允许相机通过移动视觉传感器捕捉到最佳视点的右手

  • 视觉传感器安装在机器人手臂的末端执行器上。

  • 在这样的跟踪系统中,需要考虑三个关键问题:
    1)机器人能否实时流畅地跟随人手;
    2)机器人是否与人保持安全距离;
    3)UR5机械臂是否能满足操作任务所需的工作空间

  • 对于第一个问题,PhaseSpace运动跟踪系统的频率保证了对人手的快速、可靠的识别。

  • 然后,携带SR300深度相机的UR5机器人的目标姿态始终更新到相机可以最优观察到人的手指的位置,即人的手掌前面40厘米的位置。在我们的手部坐标系中,这个位置很容易通过沿着人手负y轴平移40厘米来计算,如图6(a)所示。

  • 第二,30hz关节空间轨迹生成由逆运动学求解器bio-ik实现。

  • 末端执行器的实时6D姿态在线转换为关节空间机器人指令,要求指令尽可能接近当前机器人构型。在笛卡尔空间中,平移和角运动受到速度和加速度极限的约束。除此之外,还采用了关节空间中的最大速度约束

  • 在UR5认证安全系统的基础上,人手与末端执行器之间40厘米的距离和轨迹约束也提供了强有力的安全保障。

  • 此外,我们在规划场景中添加了一个体积覆盖人手面积的碰撞对象,并实时更新其姿态。

  • 在实验中,我们在执行前检查了目标姿态的碰撞。而且,人可以随时按下deadman开关(左脚踏板),UR5机器人立即停止。

  • 为了确定系统的整体工作空间,我们通过在环境中创建网格位姿,构建了UR5和PR2右臂的可达性图,并计算了这些位姿的有效IK解

  • 在我们的设置中,UR5机器人安装在墙角附近的墙上,而PR2则站在一个不受约束的空间中。

  • 图7中的蓝、绿、黄、红球体表示机器人末端执行器可以以大于50、20、10、等于1个方向(-s)到达该位置。
    在这里插入图片描述

  • 与UR5工作空间相比,显然,由于机制限制,PR2工作空间中只有少数蓝色球体分散。

  • 为了最大限度地利用PR2工作空间,我们对右PR2臂进行了相对控制对UR5机器人进行了绝对控制

  • 因此,右PR2手臂只在演示者踩下右脚踏板后进行人臂的增量运动,UR5机器人将在线跟踪人臂的运动。

  • 通过这种方式,人类演示者可以始终在一个舒适的运动范围内移动他们的手臂。整个手部姿态跟踪的框图如图8所示。
    在这里插入图片描述

6. Slave Robot 运动生成

  • 由于PR2机器人的工作空间有限,我们对从机器人采用相对控制来实现两个机器人之间的精细协调。
  • 因此,不需要将人的手腕位姿与从属机器人手腕进行初始配准,从机器人的工作空间也不受局部位置的约束。
  • 只有当人踩下脚踏板时,从机器人才会移动。
  • 这不仅保证了机器人的安全,也便于在局部进行潜在的调整,例如,避免UR5机器人可能发生的自碰撞,或者接近UR5 机器人工作空间边界。
  • 与UR5机器人的运动类似,根据PhaseSpace系统获取的人体腕部位姿,在笛卡尔空间和关节空间的速度和加速度约束下,利用 bio-ik solver 计算从臂的关节角。一个微小的区别是,在关节空间中,我们考虑前馈和反馈关节角度差来计算关节速度。

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

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

相关文章

升级OpenSSH版本(安装telnet远程管理主机)

一 OpenSSH是什么 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、 rsh都是极为不安全的&…

C++奇迹之旅:string类接口详解(上)

文章目录 📝为什么学习string类?🌉 C语言中的字符串🌉string考察 🌠标准库中的string类🌉string类的常用接口说明🌠string类对象的常见构造 🚩总结 📝为什么学习string类…

二维泊松方程(Neumann+Direchliet边界条件)有限元Matlab编程求解|程序源码+说明文本

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

stm32开发之netxduo网口通讯,网线热插拔处理

前言 在使用netxduo组件时,如果在上电过程中,未插入网线,eth驱动使能过程中未正常初始化本次使用以下几种方式进行设置 问题原因 使用定时器事件回调方式 网络组件中进行调整 /** Copyright (c) 2024-2024,shchl** SPDX-Licen…

Initialize failed: invalid dom.

项目场景: 在vue中使用Echarts出现的错误 问题描述 提示:这里描述项目中遇到的问题: 例如:在vue中使用Echarts出现的错误 ERROR Initialize failed: invalid dom.at Module.init (webpack-internal:///./node_modules/echarts…

Delta lake with Java--入门

最近在研究数据湖,虽然不知道研究成果是否可以用于工作,但我相信机会总是留给有准备的人。 数据湖尤其是最近提出的湖仓一体化概念,很少有相关的资料,目前开源的项目就三个,分别是hudi, delta lake, iceberg。最终选择…

算法打卡day41

今日任务: 1)198.打家劫舍 2)213.打家劫舍II 3)337.打家劫舍III 4)复习day16 198.打家劫舍 题目链接:198. 打家劫舍 - 力扣(LeetCode) 你是一个专业的小偷,计划偷窃沿街…

【hive】transform脚本

文档地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManualTransform 一、介绍二、实现1.脚本上传到本地2.脚本上传到hdfs 三、几个需要注意的点1.脚本名不要写全路径2.using后面语句中,带不带"python"的问题3.py脚本Shebang…

LNMP部署wordpress

1.环境准备 总体架构介绍 序号类型名称外网地址内网地址软件02负载均衡服务器lb0110.0.0.5192.168.88.5nginx keepalived03负载均衡服务器lb0210.0.0.6192.168.88.6nginx keepalived04web服务器web0110.0.0.7192.168.88.7nginx05web服务器web0210.0.0.8192.168.88.8nginx06we…

基于Springboot的校园生活服务平台(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园生活服务平台(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

shell脚本-监控系统内存和磁盘容量

监控内存和磁盘容量除了可以使用zabbix监控工具来监控,还可以通过编写Shell脚本来监控。 #! /bin/bash #此脚本用于监控内存和磁盘容量,内存小于500MB且磁盘容量小于1000MB时报警#提取根分区剩余空间 disk_size$(df / | awk /\//{print $4})#提取内存剩…

《机器学习算法面试宝典》重磅发布!

我们经常会组织场算法岗技术&面试讨论会,会邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 基于讨论和经验总结,历时半年的梳理和修改&#xff…

eNSP-浮动静态路由配置

ip route-static 192.168.1.0 24 192.168.3.2 preference 60 #设置路由 目标网络地址 和 下一跳地址 preference值越大 优先级越低 一、搭建拓扑结构 二、主机配置 pc1 pc2 三、配置路由器 1.AR1路由器配置 <Huawei>sys #进入系统视图 [Huawei]int g0/0/0 #进入接…

详解面向对象-类和对象

1.面向对象与面向过程的区别 ①面向过程 &#xff1a;关注点是在实现功能的步骤上面&#xff0c;就是分析出解决问题所需要的步骤&#xff0c;让后函数把这些步骤一步一步实现&#xff0c;使用的时候一个一个依次调用就可以。对于简单的流程是适合面向过程的方式进行的&#x…

C++:set和map的介绍

目录 关联式容器 键值对 set介绍&#xff1a; set的模板参数列表 set的双向迭代器&#xff1a; insert的使用和set的特性&#xff1a; set的删除&#xff1a; set的find&#xff1a; lower_bound 、 upper_bound&#xff1a; multiset&#xff1a; map介绍&#xff…

解决windows中的WSL Ubuntu子系统忘记root密码和用户密码问题

1、以管理员身份运行PowerShell 2、在powershell中执行wsl.exe --user root wsl.exe --user root如果出现了上面的报错&#xff0c;则需要运行步骤3、4&#xff0c;然后在执行步骤5改密码&#xff0c;如果没有出错&#xff0c;请直接跳到第5步改密码操作&#xff01;&#xff…

第11章 软件工程

这里写目录标题 1.软件过程1.1能力成熟度模型(CMM)1.2能力成熟度模型集成(CMMI)1.3瀑布模型(线性顺序)1.4增量模型1.5演化模型1.5.1原型模型1.5.2螺旋模型 1.6喷泉模型1.7统一过程(UP)模型 2.敏捷方法3.系统设计4.系统测试4.1单元测试(模块测试)4.2集成测试4.3黑盒测试(功能测试…

HNU-人工智能-实验1-A*算法

人工智能-实验1 计科210x 甘晴void 一、实验目的 掌握有信息搜索策略的算法思想&#xff1b; 能够编程实现搜索算法&#xff1b; 应用A*搜索算法求解罗马尼亚问题。 二、实验平台 课程实训平台https://www.educoder.net/shixuns/vgmzcukh/challenges 三、实验内容 3.…

如何将数据导入python

Python导入数据的三种方式&#xff1a; 1、通过标准的Python库导入CSV文件 Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后&#xff0c;可以利用这些数据生成一个NumPy数组&#xff0c;用来训练算法模型。 from csv import…

详细介绍如何使用YOLOv9 在医疗数据集上进行实例分割-含源码+数据集下载

深度学习彻底改变了医学图像分析。通过识别医学图像中的复杂模式,它可以帮助我们解释有关生物系统的重要见解。因此,如果您希望利用深度学习进行医疗诊断,本文可以成为在医疗数据集上微调YOLOv9 实例分割的良好起点。 实例分割模型不是简单地将区域分类为属于特定细胞类型,…