CN116079727A - 基于3d人体姿态估计的人形机器人动作模仿方法及装置 - Google Patents
基于3d人体姿态估计的人形机器人动作模仿方法及装置 Download PDFInfo
- Publication number
- CN116079727A CN116079727A CN202310042027.6A CN202310042027A CN116079727A CN 116079727 A CN116079727 A CN 116079727A CN 202310042027 A CN202310042027 A CN 202310042027A CN 116079727 A CN116079727 A CN 116079727A
- Authority
- CN
- China
- Prior art keywords
- joint
- human body
- robot
- point cloud
- human
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本发明公开了基于3D人体姿态估计的人形机器人动作模仿方法及装置,该方法包括:数据采集和预处理:利用彩色‑深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;人体肢体动作捕捉:根据人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;动作行为映射:基于坐标转换和空间向量计算,将得到的人体关节三维坐标转换为人形机器人双臂的关节角度;映射关节角度滤波:通过卡尔曼滤波对所述关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以实现人形机器人对示教者手臂动作的模仿。
Description
技术领域
本发明属于人机交互技术领域,尤其涉及基于3D人体姿态估计的人形机器人动作模仿方法及装置。
背景技术
机器人应用的推广将人们从单调重复的工作中解放出来,大大提高了生产力和生产质量,因此在工业生产、社会生活等各个领域的应用越来越广泛。然而,大多数机器人被部署在结构化的工作环境中,按照预先设定的程序完成重复性的常规工作。随着应用场景的多样化发展,机器人的工作环境越来越复杂。因此,面向单一任务的人工设计的运动策略无法适应大量灵活、复杂的工作场景,这将限制机器人技术的进一步发展。机器人动作模仿赋予了机器人在复杂场景和任务中的灵活操作能力,降低了对机器人操作人员的要求和机器人部署的难度,对实现机器人智能化和自主化具有重要意义。
机器人动作模仿包括两部分:人体肢体动作捕捉和动作行为映射,其中动作捕捉是动作模仿的基础。常见的人体肢体动作捕捉依赖光学或惯性动作捕捉设备,这种可穿戴式传感器捕捉的数据精度非常高,但价格昂贵,对实验环境的要求非常高,导致应用场景非常有限。微软Kinect传感器利用计算机视觉技术获取带有深度信息的人体骨骼数据,然而Kinect骨架跟踪技术是集成在Kinect摄像头中的,不支持其他视觉传感器的使用。3D人体姿态估计技术可以实现人体关键点空间位置信息的捕捉,然而大多数3D人体姿态估计方法依赖2D姿态估计的结果。由于2D到3D映射是个不适定的问题,因此预测过程通常较为复杂且精度不高。很多方法利用多视角的图像信息融合来预测人体3D姿态,然而,融合来自多个视角的图像信息也是一个挑战。
对于动作行为映射问题,大多数方法基于机器人末端执行器的位置信息采用逆运动学进行求解,得到机器人各自由度的角度信息,但是这种方法计算量较大且计算过程较为复杂,可能会影响到动作模仿的相似度。利用空间向量进行求解的方法能够直接计算得到映射关节角度,这种方式计算简单且能够实现相似性较高的模仿动作。但是,目前这类方法缺少对人体骨骼结构和机器人对应自由度之间关系的精确分析,因此对于实现机器人动作模仿的相似性和准确性还有一定的差距。
发明内容
本申请实施例的目的在于针对现有技术的不足,提供一种基于3D人体姿态估计的人形机器人动作模仿方法及装置。
根据本申请实施例的第一方面,提供一种基于3D人体姿态估计的人形机器人动作模仿方法,包括:
(1)数据采集和预处理:利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
(2)人体肢体动作捕捉:根据步骤(1)得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
(3)动作行为映射:基于坐标转换和空间向量计算,将步骤(2)中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
(4)映射关节角度滤波:通过卡尔曼滤波对步骤(3)中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以使得人形机器人实现对示教者手臂动作的模仿。
进一步地,步骤(1)包括以下子步骤:
(1.1)利用彩色-深度相机采集彩色图像和深度图像,将所述彩色图像与深度图像进行匹配生成彩色点云数据;
(1.2)对所述彩色点云数据进行点云滤除和聚类,生成人体姿态点云数据;
(1.3)利用数据增强方法对所述人体点云数据进行处理。
进一步地,步骤(2)包括如下子步骤:
(2.1)对所述人体姿态点云数据进行量化处理;
(2.2)搭建3D人体姿态估计网络,所述3D人体姿态估计网络包括掩码网络和姿态估计网络;
(2.3)训练所述掩码网络至收敛后,加载训练后的掩码网络并设置为推理状态,根据训练后的掩码网络产生的掩码特征训练所述姿态估计网络;
(2.4)根据步骤(2.1)量化后的人体姿态点云数据,利用训练后的3D人体姿态估计网络实现人体关节三维坐标的捕捉。
进一步地,所述3D人体姿态估计网络包括:
掩码网络,用于对人体关节周围的点云进行粗略查找,通过以关节真值周围一定范围内的点云数据为监督信号,生成表示点云重要程度的掩码特征;
姿态估计网络,用于根据所述掩码网络传递的掩码特征对点云进行剪枝处理,并生成表示关节概率分布的三维热力图,通过对三个维度分别积分回归预测每个关节的精确位置;
其中掩码网络和姿态估计网络均为由卷积和转置卷积组成的对称式编码器-解码器结构,并共享相同的剪枝层。
进一步地,步骤(3)包括如下子步骤:
(3.1)通过建立机器人左右手臂空间坐标系并构建人体关节向量,根据所述人体关节向量与人形机器人双臂结构之间的对应关系,将所述人体关节三维坐标转换到机器人左右手臂空间坐标系;
(3.2)利用机器人左右手臂空间坐标系下的人体关节三维坐标,分别求解上臂向量和下臂向量,进而将机器人左右手臂空间坐标系下的人体关节三维坐标映射为机器人左右手臂运动的关节角度,包括双臂的肩关节俯仰角、肩关节横滚角、肘关节偏航角和肘关节横滚角。
进一步地,在步骤(3.2)中,以左手臂为例,得到左臂的肩关节俯仰角、肩关节横滚角、肘关节偏航角和肘关节横滚角的过程包括:
(3.2.1)利用机器人左手臂空间坐标系下左肩膀、左肘和左腕的三维坐标,分别得到表示左上臂和左下臂的空间向量;
(3.2.2)根据左上臂向量在三个坐标轴上的投影关系,计算得到左肩关节俯仰角度和左肩关节横滚角度;
(3.2.3)通过将左手臂空间坐标系进行旋转变换,得到左下臂向量在经过肩部旋转后的新坐标系下的向量表示;
(3.2.4)根据旋转后左下臂向量在三个坐标轴上的投影关系,计算得到左肘关节偏航角度和左肘关节横滚角度。
进一步地,步骤(4)包括如下子步骤:
(4.1)对步骤(3)计算得到的人形机器人双臂的关节角度进行卡尔曼滤波处理,以避免关节在运动过程中发生剧烈抖动,实现关节运动的平滑性;
(4.2)根据机器人各关节的活动范围对所述关节角度进行范围限制,将符合范围限制的关节角度输出至人形机器人以实现人形机器人对示教者手臂动作的模仿。
根据本申请实施例的第二方面,提供一种基于3D人体姿态估计的人形机器人动作模仿装置,包括:
数据采集和预处理模块,用于利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
人体肢体动作捕捉模块,用于根据数据采集和预处理模块得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
动作行为映射模块,用于基于坐标转换和空间向量计算,将人体肢体动作捕捉模块中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
映射关节角度滤波模块,用于通过卡尔曼滤波对动作行为映射模块中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以使得人形机器人实现对示教者手臂动作的模仿。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请通过搭建3D人体姿态估计网络解决了彩色-深度(RGB-D)数据作为输入的计算和存储问题,提升了3D人体姿态估计的精度,同时实现了一种通用的人体肢体动作捕捉技术,该方法支持任何RGB-D传感器的使用,兼具经济性和可扩展性。本发明中动作映射方法的提出省去了对机器人预置动作指令的过程,极大地降低了对机器人操作者编程专业知识的要求和机器人的编程部署难度,从而提高了机器人运动的灵活性和多样性。本发明所提出的人形机器人动作模仿方法具备模仿相似度高,计算精度高等优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于3D人体姿态估计的人形机器人动作模仿方法的流程图。
图2是根据一示例性实施例示出的3D人体姿态估计网络示意图。
图3是根据一示例性实施例示出的人形机器人左右手臂坐标系示意图。
图4是根据一示例性实施例示出的人体关节点表示示意图。
图5是根据一示例性实施例示出的人形机器人左右手臂关节自由度示意图,其中(a)为人形机器人左手臂运动的关节自由度,(b)为人形机器人右手臂运动的关节自由度。
图6是根据一示例性实施例示出的人形机器人左肩关节角度在机器人坐标系中计算示意图,其中(a)为人形机器人左肩关节俯仰角度在机器人坐标系中计算示意图,(b)为人形机器人左肩关节横滚角度在机器人坐标系中计算示意图。
图7是根据一示例性实施例示出的人形机器人左肘关节角度在机器人坐标系中计算示意图,其中(a)为人形机器人左肘关节偏航角度在机器人坐标系中计算示意图,(b)为人形机器人左肘关节横滚角度在机器人坐标系中计算示意图。
图8是根据一示例性实施例示出的彩色-深度相机、PC机和人形机器人的交互关系示意图。
图9是根据一示例性实施例示出的一种基于3D人体姿态估计的人形机器人动作模仿装置的框图。
图10是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明的核心技术是基于3D人体姿态估计方法实现人体肢体动作捕捉并以此实现在人形机器人手臂上的动作模仿,以实现一种适用于所有RGB-D传感器的人体关节捕捉技术,同时降低对机器人部署和编程的难度,让机器人具备模仿人体动作的能力,实现人形机器人动作模仿的相似性、流畅性和稳定性。
基于此,本申请提供了一种基于3D人体姿态估计的人形机器人动作模仿方法,如图1所示,该方法部署于PC机上完成运算处理后,在人形机器人上实现应用展示,可以包括以下步骤:
(1)数据采集和预处理:利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
(2)人体肢体动作捕捉:根据步骤(1)得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
(3)动作行为映射:基于坐标转换和空间向量计算,将步骤(2)中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
(4)映射关节角度滤波:通过卡尔曼滤波对步骤(3)中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以使得人形机器人实现对示教者手臂动作的模仿。
由上述实施例可知,本申请通过搭建3D人体姿态估计网络解决了RGB-D数据作为输入的计算和存储问题,提升了3D人体姿态估计的精度,同时实现了一种通用的人体肢体动作捕捉技术,该方法支持任何RGB-D传感器的使用,兼具经济性和可扩展性。本发明中动作映射方法的提出省去了对机器人预置动作指令的过程,极大地降低了对机器人操作者编程专业知识的要求和机器人的编程部署难度,从而提高了机器人运动的灵活性和多样性。本发明所提出的人形机器人动作模仿方法具备模仿相似度高,计算精度高等优点。
在步骤(1)的具体实施中,数据采集和预处理:利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
具体包括以下子步骤:
(1.1)利用彩色-深度相机采集彩色图像和深度图像,将所述彩色图像与深度图像进行匹配生成彩色点云数据;
根据相机的内参矩阵K,从相机坐标系到像素坐标系的变化如下所示:
其中(u,v)和(x,y,z)分别表示像素坐标系和相机坐标系下的坐标,fx,fy,u0,v0分别表示水平和竖直方向焦距以及水平和竖直方向光心。
由此,根据深度图像中第u行第v列处的深度值,可以将深度像素从深度图像2D坐标系转换到深度相机3D坐标系下,可以表示为:
以上,可以计算出点云在相机坐标系下的三维坐标。接下来与彩色图像进行匹配便可以获取彩色点云信息。其定义如下:
PCD={Pointi(xi,yi,zi,ri,gi,bi):i=1,…,n}
其中(xi,yi,zi)为3D坐标,(ri,gi,bi)为RGB系统中的颜色值,n为点云总数,Pointi表示第i个点云。
为了将彩色图像与深度图像进行配准,首先需要将点云坐标(x,y,z)转换到彩色相机坐标系下,可以表示为:
其中(xRGB,yRGB,zRGB)表示点云坐标在彩色相机下的三维坐标表示,R和T分别表示深度相机和彩色相机之间的旋转矩阵和平移矩阵。接下来,利用彩色相机的内参,将其映射到彩色图像坐标系得到其对应的像素索引,如下所示:
由此,可以根据彩色图像像素(uRGB,vRGB)处的值读取到对应点云的RGB值,结合得到的点云在相机坐标系下的3D坐标(x,y,z),即可以恢复出相机坐标系下的彩色点云信息Pointi(xi,yi,zi,ri,gi,bi)。
以上步骤实现了点云信息从像素坐标到相机坐标的转换,恢复得到相机坐标系下的彩色点云信息Pointi。然后,将点云在相机坐标系下的3D坐标(x,y,z)经过相机坐标系到世界坐标系的刚体变换,得到世界坐标系下的点云坐标为:
其中R′和T′分别为从相机坐标系到世界坐标系的旋转矩阵和平移矩阵。
最终,得到世界坐标系下的彩色点云信息Point′i(x′i,y′i,z′i,ri,gi,bi)。
(1.2)对所述彩色点云数据进行点云滤除和聚类,生成人体姿态点云数据;
由于原始图像中包含很多和人体不相关的信息,这会加大计算量,同时使得模型难以收敛。基于此,需要对一些坐标区分度明显的区域,如地面,墙面区域等采用限制坐标的方式对原始图像进行剪裁。对于分布在人体周围难以通过限制坐标的方式进行滤除的点云,根据点密度和邻近点的距离进行点云的聚类处理,即考虑一定距离范围内的点进行密度计算并确定组成一个类别最少需要多少个点,原始点云中每个点都会得到一个类别标签,表示人的那一个类别应该具有最多的点云数量。最后只需要提取所有表示人体的点云集合,即可获得关于人体姿态信息的点云数据。
(1.3)利用数据增强方法对所述人体姿态点云数据进行处理;
为了增强模型的鲁棒性和泛化能力,通过几种几何变换完成对(1.2)得到的人体姿态点云数据的数据增强处理,包括旋转、翻折、缩放和随机遮挡。其中旋转是以人体盆骨为旋转中心,通过随机生成欧拉角α,β,γ),完成基于旋转向量(轴角)的旋转变换。翻折是分别对三个坐标进行以盆骨为中心的180度翻折变换。缩放是以盆骨为中心,实现人体点云的尺度缩放,得到缩放后的人体表示。通过将部分数据进行随机遮挡,可以增强数据的多样性和模型的鲁棒性,使得模型能在人体有部分遮挡的情况下也能成功预测关节点的位置。
按如上数据预处理方法,即得到了适用于模型输入的数据形式。
在步骤(2)的具体实施中,人体肢体动作捕捉:根据步骤(1)得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
具体包括以下子步骤:
(2.1)对所述人体姿态点云数据进行量化处理。
对于3D数据来说,其密集表示是低效的,因为有效信息只占空间的一小部分。因此,本发明希望将信息保存在空间的非空区域上,而丢弃那些不包含信息的区域,这种对稀疏数据的表示称为稀疏张量。Minkowski Engine(Choy C,Gwak J Y,Savarese S.4Dspatio-temporal convnets:Minkowski convolutional neural networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and PatternRecognition.2019:3075-3084.)是一个基于稀疏张量的自微分库,通过借助MinkowskiEngine将输入三维点云数据进行量化得到稀疏张量,以解决3D数据计算耗时和内存占用的问题。稀疏张量和稀疏张量网络的引入有助于将3D人体姿态估计网络扩展到更大的深度并且也能够更好地处理数据量巨大的场景。
其中C记录了非空元素的坐标,(xi,yi,zi)表示点云的坐标,bi表示点云坐标属于哪个批次。特征矩阵F记录了对应非空坐标矩阵C中元素的特征值,fi T表示第个点云的RGB特征值。N表示非空元素的个数,D表示空间维度,NF表示特征的通道数。
(2.2)搭建3D人体姿态估计网络,所述3D人体姿态估计网络包括掩码网络和姿态估计网络,其网络结构图如图2所示。
具体地,掩码网络用于对人体关节周围的点云进行粗略查找,通过以关节真值周围一定范围内的点云数据为监督信号,生成表示点云重要程度的掩码特征;姿态估计网络用于根据所述掩码网络传递的掩码特征对点云进行剪枝处理,并生成表示关节概率分布的三维热力图,通过对三个维度分别积分回归预测每个关节的精确位置;掩码网络和姿态估计网络都是由卷积和转置卷积组成的对称式编码器-解码器结构。其中,编码器先通过卷积进行下采样,实现分辨率的下降,解码器再通过转置卷积进行上采样,实现分辨率的提升。编码器部分由6层卷积层构成,每层卷积层是由卷积核大小为3*3*3,通道数依次为32,64,128,256,512,1024的卷积后面接着批归一化和RELU激活函数组成。当达到最低分辨率之后,解码器通过6层转置卷积层实现分辨率的恢复。每层转置卷积由核大小为2*2*2,输出通道数依次为512,256,128,64,32,1的生成式转置卷积、批归一化和RELU激活函数构成。在上采样和下采样的过程中,通过跳层连接的结构,利用元素相加的方式将编码器和解码器中具有相同通道数的稀疏张量进行特征值的相加,这有利于实现更精细的预测效果。可以表示为如下形式:
随着解码器中转置卷积层数的增加,稀疏张量中的维度会呈指数增长,这样会导致显存的溢出和计算成本的增加,但是,在这个过程中,不是所有的体素都是对于最后关节预测结果有意义的。一般认为,远离关节真值的体素在热力图中的概率应该很低,对回归的贡献很小。因此,本发明通过在每个转置卷积层后添加一个剪枝层来去除这些远离关节真值的点,在增加空间分辨率的同时删除不必要的稀疏体素,实现内存和计算量的压缩。
剪枝层通过定义一个表示点云特征概率的函数s(·,然后把所有特征概率小于一定值的点云进行裁剪,其计算方法可以表示如下:
掩码网络用来预测不同分辨率下的点云特征概率,为剪枝层提供有效的依据。其掩码损失函数表示每层目标掩码*与预测掩码M之间的二分类交叉熵损失,可以表示为:
LMASK=BCE(Sigmoid(M),*)
其中预测掩码M通过在每一个转置卷积层后接一个卷积核大小为1*1*1,输出通道数为相应层级输出维度的卷积得到。目标掩码*覆盖了那些到关节真值距离小于一定范围的点云,可以表示为:
姿态估计网络根据预测掩码的特征值进行稀疏张量的剪枝以解决由上采样带来的数据指数型增长的问题,可以表示为:
最后,通过卷积核大小为1*1*1,通道数为关节个数的卷积核,生成表示k个关节概率分布的三维热力图k(p),Hk(p)表示的是该点为第k个关节的概率。通过对生成3D热力图进行归一化和积分计算得到预测关节坐标,可以表示为:
其中D,,分别表示热力图在三个维度上的分辨率大小。
Lcomb=αLjoint+(1)Lheatmap
(2.3)训练所述掩码网络至收敛后,加载训练后的掩码网络并设置为推理状态,根据训练后的掩码网络产生的掩码特征训练所述姿态估计网络;
具体地,掩码网络的预测结果为姿态估计网络的点云剪枝提供依据,姿态估计网络根据掩码网络的预测掩码进行点云剪枝并生成表示关节位置的3D热力图。在训练的过程中,模型分两步进行训练,即先训练掩码网络,待其收敛后,将其模型参数进行保存然后开始训练姿态估计网络。在姿态估计网络训练的时候,载入训练好的掩码网络模型并将其设置为推理状态。其中训练的数据集为用于姿态估计评估的公开数据集,包括CMU Panoptic数据集和Berkeley MHAD数据集。
(2.4)根据步骤(2.1)量化后的人体点云姿态数据,利用训练后的3D人体姿态估计网络实现人体关节三维坐标的捕捉;
具体地,此步骤为利用训练后网络进行推理的常规技术手段,此处不作赘述。
在步骤(3)的具体实施中,动作行为映射:基于坐标转换和空间向量计算,将步骤(2)中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
具体包括以下子步骤:
(3.1)通过建立机器人左右手臂空间坐标系并构建人体关节向量,根据所述人体关节向量与人形机器人双臂结构之间的对应关系,将所述人体关节三维坐标转换到机器人左右手臂空间坐标系;
具体地,基于步骤(2)提取到的人体左肩、左肘、左腕、右手、右肩、右腕、盆骨七个关节坐标构建人体关节向量,并根据人体关节向量与人形机器人双臂结构之间的对应关系,将人体关节三维坐标映射到机器人左右手臂坐标系下。由于人的手臂与人形机器人手臂在连接长度、关节自由度和空间坐标等方面存在差异,因此不能将3D姿态估计获取的关节三维坐标直接传递给机器人。图3为人形机器人左右手臂空间坐标系(包括机器人左手臂空间坐标系XL-YL-ZL和机器人右手臂空间坐标系XR-YR-ZR),其原点分别位于机器人左右肩膀处,x轴指向机器人正前方,y轴与从右肩到左肩的向量平行,z轴与x轴和y轴构成的平面正交。图4为人体肢体关节所构成的向量表示,图中1~7分别表示左肩膀、左肘、左腕部、右肩膀、右肘、右腕部,髋部的坐标。从世界坐标系到人形机器人左右手臂坐标系的空间变换关系可以表示为:
Pi ′=T·(Pi-P1),i=1,2,3
P′i=T·(Pi-P4),i=4,5,6
其中Pi(i∈1~7)表示各关节在世界坐标系下的坐标,P′i(i∈1~7)表示各关节在人形机器人左右手臂坐标系下的坐标,人体的左右手臂坐标分别转换到机器人的左右手臂坐标系下。T表示从世界坐标系到人形机器人左右手臂坐标系的转换矩阵,可以由三个方向的单位向量表示为:
(3.2)利用机器人左右手臂空间坐标系下的人体关节三维坐标,分别求解上臂向量和下臂向量,进而根据机器人左右手臂空间坐标系下的人体关节三维坐标计算得到机器人左右手臂运动的关节角度,包括双臂的肩关节俯仰角、肩关节横滚角、肘关节偏航角和肘关节横滚角,如图5所示。
在步骤(4)的具体实施中,映射关节角度滤波:通过卡尔曼滤波对步骤(3)中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出;
具体包括以下子步骤:
(4.1)对步骤(3)计算得到的人形机器人双臂的关节角度进行卡尔曼滤波处理,以避免关节在运动过程中发生剧烈抖动,实现关节运动的平滑性;
具体地,基于卡尔曼滤波算法构建运动模型,对映射关节角度进行滤波处理,避免关节在运动过程中发生剧烈抖动,实现关节运动的平滑性。人体各关节在实际运动过程中角度是随机变化的,本专利为了实现滤波效果,可以近似人体关节角度变化是匀速的,从而基于匀速运动模型与实际的测量值对运动状态进行更新。在实际滤波过程中通过调整误差协方差矩阵实现较好的滤波效果,从而消除在运动过程中噪声较大的点,避免关节出现剧烈抖动的情况。在本实施例中,对左右手臂肩关节俯仰角、肩关节横滚角、肘关节偏航角、肘关节横滚角度建立匀速运动模型,并根据卡尔曼滤波的时间更新方程和状态更新方程进行角度滤波处理。卡尔曼滤波的时间更新方程如下所示:
卡尔曼滤波器的状态更新方程如下所示:
其中,表示第k时刻的先验状态估计(预测值);xk表示后验状态估计(估计值);A表示状态转移矩阵;表示先验误差协方差矩阵;Pk表示后验误差协方差矩阵;Kk表示卡尔曼增益;H表示测量矩阵;Q表示模型误差协方差矩阵;R表示测量误差协方差矩阵。过程中,通过调整Q和R矩阵得到理想的滤波效果。
在本实施例中,卡尔曼滤波的状态转移矩阵A表示为:
其中,Δt表示第k时刻与第k-1时刻的时间差。
卡尔曼滤波的测量矩阵H表示为:
H[10]
在初始状态下,误差协方差矩阵Pk-1可以简单地设置为:
后续,误差协方差矩阵会被不断地更新。
模型误差协方差矩阵可以设置为2×2的对角矩阵,测量误差协方差矩阵可以设置为1×1的矩阵,并通过调整这两个矩阵中元素的大小实现测量和模型误差的平衡,从而得到较为理想的滤波效果。
(4.2)根据人形机器人各关节的活动范围对所述关节角度进行范围限制,将符合范围限制的关节角度输出至人形机器人以实现人形机器人对人体手臂动作的模仿;
人形机器人各关节的活动范围具有一定的限制,在进行最后的关节角度输出前,需要将映射角度限制在一定范围内,以满足机器人自身的机械结构要求。
在一实施例中,对于一款通用人形机器人Nao机器人,其左肩关节俯仰角的活动范围为-119.5°~119.5°;左肩关节横滚角的活动范围为-18°~76°;左肘关节偏航角的活动范围为-119.5°~119.5°;左肘关节横滚角的活动范围为-88.5°~-2°。右肩关节俯仰角的活动范围为-119.5°~119.5°;右肩关节横滚角的活动范围为-76°~18°;右肘关节偏航角的活动范围为-119.5°~119.5°;右肘关节横滚角的活动范围为2°~88.5°。
最终将计算得到符合机器人关节运动范围限制的关节角度数据,并通过机器人自身的运动和控制系统转换成驱动机器人运动的指令信息,进而完成机器人对于输入数据的手臂动作模仿任务。
如图8所示,彩色-深度相机用于数据的采集,并通过USB连接PC机。PC机用于数据处理、模型推理和映射角度计算。PC机通过有线网与人形机器人建立连接,并将相应的角度数据传递给机器人。机器人最终通过自身的运动控制系统驱动相应关节电机完成运动。
与前述的基于3D人体姿态估计的人形机器人动作模仿方法的实施例相对应,本申请还提供了基于3D人体姿态估计的人形机器人动作模仿装置的实施例。
图9是根据一示例性实施例示出的一种基于3D人体姿态估计的人形机器人动作模仿装置框图。参照图9,该装置可以包括:
数据采集和预处理模块21,用于利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
人体肢体动作捕捉模块22,用于根据数据采集和预处理模块得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
动作行为映射模块23,用于基于坐标转换和空间向量计算,将人体肢体动作捕捉模块中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
映射关节角度滤波模块24,用于通过卡尔曼滤波对动作行为映射模块中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以实现人形机器人对示教者手臂动作的模仿。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于3D人体姿态估计的人形机器人动作模仿方法。如图10所示,为本发明实施例提供的一种基于3D人体姿态估计的人形机器人动作模仿方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图10所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于3D人体姿态估计的人形机器人动作模仿方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (10)
1.一种基于3D人体姿态估计的人形机器人动作模仿方法,其特征在于,包括:
(1)数据采集和预处理:利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
(2)人体肢体动作捕捉:根据步骤(1)得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
(3)动作行为映射:基于坐标转换和空间向量计算,将步骤(2)中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
(4)映射关节角度滤波:通过卡尔曼滤波对步骤(3)中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以使得人形机器人实现对示教者手臂动作的模仿。
2.根据权利要求1所述的方法,其特征在于,步骤(1)包括以下子步骤:
(1.1)利用彩色-深度相机采集彩色图像和深度图像,将所述彩色图像与深度图像进行匹配生成彩色点云数据;
(1.2)对所述彩色点云数据进行点云滤除和聚类,生成人体姿态点云数据;
(1.3)利用数据增强方法对所述人体点云数据进行处理。
3.根据权利要求1所述的方法,其特征在于,步骤(2)包括如下子步骤:
(2.1)对所述人体姿态点云数据进行量化处理;
(2.2)搭建3D人体姿态估计网络,所述3D人体姿态估计网络包括掩码网络和姿态估计网络;
(2.3)训练所述掩码网络至收敛后,加载训练后的掩码网络并设置为推理状态,根据训练后的掩码网络产生的掩码特征训练所述姿态估计网络;
(2.4)根据步骤(2.1)量化后的人体姿态点云数据,利用训练后的3D人体姿态估计网络实现人体关节三维坐标的捕捉。
4.根据权利要求1所述的方法,其特征在于,所述3D人体姿态估计网络包括:
掩码网络,用于对人体关节周围的点云进行粗略查找,通过以关节真值周围一定范围内的点云数据为监督信号,生成表示点云重要程度的掩码特征;
姿态估计网络,用于根据所述掩码网络传递的掩码特征对点云进行剪枝处理,并生成表示关节概率分布的三维热力图,通过对三个维度分别积分回归预测每个关节的精确位置;
其中掩码网络和姿态估计网络均为由卷积和转置卷积组成的对称式编码器-解码器结构,并共享相同的剪枝层。
5.根据权利要求1所述的方法,其特征在于,步骤(3)包括如下子步骤:
(3.1)通过建立机器人左右手臂空间坐标系并构建人体关节向量,根据所述人体关节向量与人形机器人双臂结构之间的对应关系,将所述人体关节三维坐标转换到机器人左右手臂空间坐标系;
(3.2)利用机器人左右手臂空间坐标系下的人体关节三维坐标,分别求解上臂向量和下臂向量,进而将机器人左右手臂空间坐标系下的人体关节三维坐标映射为机器人左右手臂运动的关节角度,包括双臂的肩关节俯仰角、肩关节横滚角、肘关节偏航角和肘关节横滚角。
6.根据权利要求5所述的方法,其特征在于,在步骤(3.2)中,以左手臂为例,得到左臂的肩关节俯仰角、肩关节横滚角、肘关节偏航角和肘关节横滚角的过程包括:
(3.2.1)利用机器人左手臂空间坐标系下左肩膀、左肘和左腕的三维坐标,分别得到表示左上臂和左下臂的空间向量;
(3.2.2)根据左上臂向量在三个坐标轴上的投影关系,计算得到左肩关节俯仰角度和左肩关节横滚角度;
(3.2.3)通过将左手臂空间坐标系进行旋转变换,得到左下臂向量在经过肩部旋转后的新坐标系下的向量表示;
(3.2.4)根据旋转后左下臂向量在三个坐标轴上的投影关系,计算得到左肘关节偏航角度和左肘关节横滚角度。
7.根据权利要求1所述的方法,其特征在于,步骤(4)包括如下子步骤:
(4.1)对步骤(3)计算得到的人形机器人双臂的关节角度进行卡尔曼滤波处理,以避免关节在运动过程中发生剧烈抖动,实现关节运动的平滑性;
(4.2)根据机器人各关节的活动范围对所述关节角度进行范围限制,将符合范围限制的关节角度输出至人形机器人以实现人形机器人对示教者手臂动作的模仿。
8.一种基于3D人体姿态估计的人形机器人动作模仿装置,其特征在于,包括:
数据采集和预处理模块,用于利用彩色-深度相机采集彩色图像和深度图像,通过数据预处理得到世界坐标系下示教者的人体姿态点云数据;
人体肢体动作捕捉模块,用于根据数据采集和预处理模块得到的人体姿态点云数据,基于3D人体姿态估计网络实现人体关节三维坐标的捕捉;
动作行为映射模块,用于基于坐标转换和空间向量计算,将人体肢体动作捕捉模块中预测得到的人体关节三维坐标转换为人形机器人双臂的关节角度;
映射关节角度滤波模块,用于通过卡尔曼滤波对动作行为映射模块中得到的机器人关节角度进行平滑处理,并根据机器人各关节的活动范围对关节角度进行限制输出,以使得人形机器人实现对示教者手臂动作的模仿。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042027.6A CN116079727A (zh) | 2023-01-28 | 2023-01-28 | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042027.6A CN116079727A (zh) | 2023-01-28 | 2023-01-28 | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116079727A true CN116079727A (zh) | 2023-05-09 |
Family
ID=86207847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042027.6A Pending CN116079727A (zh) | 2023-01-28 | 2023-01-28 | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116079727A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612298A (zh) * | 2023-07-18 | 2023-08-18 | 西华大学 | 一种基于局部关键点的行人特征掩膜生成方法 |
-
2023
- 2023-01-28 CN CN202310042027.6A patent/CN116079727A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612298A (zh) * | 2023-07-18 | 2023-08-18 | 西华大学 | 一种基于局部关键点的行人特征掩膜生成方法 |
CN116612298B (zh) * | 2023-07-18 | 2023-10-13 | 西华大学 | 一种基于局部关键点的行人特征掩膜生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941831B2 (en) | Depth estimation | |
CN111819568A (zh) | 人脸旋转图像的生成方法及装置 | |
CN110942512B (zh) | 基于元学习的室内场景重建方法 | |
CN114641799A (zh) | 对象检测设备、方法和系统 | |
EP4053734A1 (en) | Hand gesture estimation method and apparatus, device, and computer storage medium | |
CN113962858A (zh) | 一种多视角深度获取方法 | |
CN111862278B (zh) | 一种动画获得方法、装置、电子设备及存储介质 | |
CN111462274A (zh) | 一种基于smpl模型的人体图像合成方法及系统 | |
DE102022113244A1 (de) | Gemeinsame Form- und Erscheinungsbildoptimierung durch Topologieabtastung | |
CN112258565B (zh) | 图像处理方法以及装置 | |
CN116079727A (zh) | 基于3d人体姿态估计的人形机器人动作模仿方法及装置 | |
KR20230150867A (ko) | 얼굴 표정, 신체 자세 형상 및 의류 퍼포먼스 캡처를 위해 암시적 구별가능 렌더러를 사용하는 멀티뷰 신경 사람 예측 | |
CN113888697A (zh) | 一种双手交互状态下的三维重建方法 | |
CN116385667B (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN111833400B (zh) | 一种相机位姿定位方法 | |
CN114882493A (zh) | 一种基于图像序列的三维手部姿态估计与识别方法 | |
CN111553954A (zh) | 一种基于直接法单目slam的在线光度标定方法 | |
Gadhiya et al. | Analysis of deep learning based pose estimation techniques for locating landmarks on human body parts | |
CN116452715A (zh) | 动态人手渲染方法、装置及存储介质 | |
CN115965765A (zh) | 一种基于神经变形的可变形场景中人体运动捕捉方法 | |
CN115294280A (zh) | 三维重建方法、装置、设备、存储介质和程序产品 | |
US20240013497A1 (en) | Learning Articulated Shape Reconstruction from Imagery | |
CN116563450A (zh) | 表情迁移方法、模型训练方法和装置 | |
CN113592021A (zh) | 一种基于可变形和深度可分离卷积的立体匹配方法 | |
CN117218300B (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |