CN114387513A - 机器人抓取方法、装置、电子设备及存储介质 - Google Patents
机器人抓取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114387513A CN114387513A CN202111659492.1A CN202111659492A CN114387513A CN 114387513 A CN114387513 A CN 114387513A CN 202111659492 A CN202111659492 A CN 202111659492A CN 114387513 A CN114387513 A CN 114387513A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- parameters
- target object
- image
- robot
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种机器人抓取方法、装置、电子设备及存储介质,涉及机器人智能控制领域。首先,利用安装在机器人上的相机在多个视角下对目标物体进行拍摄,获得图像集和每个视角对应的相机参数;然后将图像集和相机参数输入预先训练好的检测模型,对目标物体的关键点的三维坐标进行预测,得到预测结果,并根据预测结果和关键点之间的空间几何关系,计算得到目标物体的位姿;最后,根据目标物体的位姿和预先训练好的抓取模型,控制机器人完成目标物体的抓取。
Description
技术领域
本发明涉及机器人智能控制领域,具体而言,涉及一种机器人抓取方法、装置、电子设备及存储介质。
背景技术
随着智能制造技术和信息技术的发展,机器人的智能化水平不断提高,并在各行各业得到越来越广泛的应用,尤其在工业领域,工业机器人的使用极大地提高了生产效率。
而在工业生产中,机器人抓取是其中一个最常用、最基础的操作,研究提高机器人抓取的精确度与稳定性对于进一步提升工业生产效率具有极为重要的意义。
发明内容
本发明的目的包括,例如,提供了一种机器人抓取方法、装置、电子设备及存储介质,其能够根据相机在多个视角下对目标物体进行拍摄得到的图像和预先训练的检测模型,确定目标物体的位姿,并根据预先建立的抓取模型控制机器人完成目标物体的抓取。
本发明的实施例可以这样实现:
第一方面,本发明实施例提供了一种机器人抓取方法,应用于电子设备,所述电子设备与机器人通信连接,所述机器人安装有相机;所述方法包括:
获取所述相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数;
将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值,其中,所述第一坐标为所述目标物体的关键点的三维坐标;
根据所述第一坐标的预测值和所述关键点之间的空间几何关系,计算得到所述目标物体的位姿参数,其中,所述位姿参数用于表征所述目标物体的空间位置及姿态;
根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取,其中,所述抓取模型是利用强化学习的方式进行训练得到的。
在一种可能的实施方式中,所述检测模型包括二维检测网络和三维检测网络,所述图像集包括多个视角对应的图像;
所述将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值的步骤,包括:
将所述图像集输入所述目标检测网络,利用所述目标检测网络对所述图像集中的图像进行剪裁,得到剪裁后的图像;
将所述剪裁后的图像输入所述二维检测网络,利用所述二维检测网络对每个剪裁后的图像进行特征提取,得到每个图像对应的二维特征图和每个图像对应的置信度,其中,所述二维特征图用于表征所述目标物体的关键点在所述图像中的二维坐标,所述置信度用于表征每个所述图像对应的视角下目标物体的真实度;
将所有所述二维特征图、所述置信度和所述相机参数输入所述三维检测网络,将所述置信度作为权重利用所述三维检测网络对所有所述二维特征图进行处理,得到所述目标物体的第一坐标的预测值。
在一种可能的实施方式中,所述三维检测网络包括三维映射网络、三维卷积网络和损失函数回归模型;
所述将所有所述二维特征图、所述置信度和所述相机参数输入所述三维检测网络,将所述置信度作为权重利用所述三维检测网络对所有所述二维特征图进行处理,得到所述目标物体的第一坐标的预测值的步骤,包括:
将所有所述二维特征图、所述置信度和所述相机参数输入所述三维映射网络,利用反向投影的方式,得到所述目标物体的三维特征图,其中,所述三维特征图用于表征所述目标物体的三维空间信息,所述三维特征图包括多个通道,每个所述通道和每个所述目标物体的关键点一一对应;
将所述三维特征图输入所述三维卷积网络,利用所述三维卷积网络对所述三维特征图进行特征提取,得到每个所述关键点对应的三维特征图;
将所有所述关键点对应的三维特征图输入所述损失函数回归模型,利用所述损失函数回归模型对所有所述关键点对应的三维特征图做归一化处理,得到所述目标物体的第一坐标的预测值。
在一种可能的实施方式中,所述机器人包括夹爪,所述根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取的步骤,包括:
获取t时刻的状态参数,所述状态参数包括夹爪末端的位姿参数、所述夹爪末端的速度,所述夹爪的开合状态;
将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入所述抓取模型,得到t时刻的动作参数,所述动作参数包括所述夹爪末端的速度、所述夹爪的旋转角及所述夹爪的开合状态;
控制所述机器人按照所述动作参数运动,完成t时刻的动作,并获取t+1时刻的状态参数;
重复执行所述将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入所述抓取模型,得到t时刻的动作参数的步骤,直至所述机器人完成所述目标物体的抓取。
在一种可能的实施方式中,所述检测模型是通过以下方式训练得到的:
获取训练样本及所述训练样本对应的标签,其中,所述训练样本包括第一图像和相机参数,所述标签表征所述参考物体的关键点的三维坐标;
将所述第一图像输入所述目标检测网络,利用所述目标检测网络对所述第一图像进行剪裁,得到剪裁后的第一图像;
将所述剪裁后的第一图像输入所述二维检测网络,利用所述二维检测网络对所述剪裁后的第一图像进行特征提取,得到所述第一图像对应的二维特征图和所述第一图像对应的置信度;
将所述第一图像对应的二维特征图、所述第一图像对应的置信度和所述相机参数输入所述三维检测网络,将所述第一图像对应的置信度作为权重利用所述三维检测网络对所有所述第一图像对应的二维特征图进行处理,得到所述参考物体的第二坐标的预测结果,所述第二坐标为所述参考物体的关键点的三维坐标;
基于所述参考物体的第二坐标的预测结果、所述标签和预设的损失函数对所述检测模型进行反向传播训练,得到训练后的检测模型。
在一种可能的实施方式中,所述损失函数为:
所述二维特征图的损失函数为:
所述三维特征图的损失函数为:
在一种可能的实施方式中,所述机器人还包括基座,所述获取训练样本及所述训练样本对应的标签的步骤,包括:
对所述相机进行标定,得到相机坐标系与夹爪末端坐标系之间的第一转换矩阵;
获取所述相机在多个视角下对所述参考物体进行拍摄得到的参考图像及每个视角对应的相机参数;
对所述参考图像中的所述参考物体的关键点坐标进行标注,得到所述第一图像;
根据所述第一图像和所述相机参数,利用直接线性变换法,计算得到所述参考物体的关键点在所述相机坐标系下的参考三维坐标;
根据所述第一转换矩阵和预设转换矩阵,将所述参考三维坐标转换为基座坐标系下的真实坐标,其中,所述预设转换矩阵表征所述夹爪末端坐标系与所述基座坐标系之间的转换关系;
分别将所述标注参考图像和所述真实坐标作为所述训练样本和所述训练样本对应的标签。
在一种可能的实施方式中,所述抓取模型是通过以下方式训练得到的:
获取t时刻的状态参数,所述状态参数包括所述夹爪末端的位姿参数、所述夹爪末端的速度,所述夹爪的开合状态;
将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入预先构建的所述抓取模型,所述抓取模型包括演员网络和评论家网络;
利用所述抓取模型的所述演员网络,得到t时刻的动作参数;
控制所述机器人按照所述动作参数运动,完成t时刻的动作,并获取奖励参数;
将所述奖励参数输入所述评论家网络,利用所述评论家网络对Q值进行预测,得到Q值的预测结果,其中,所述Q值用于评估所述机器人按照所述动作参数运动所产生的价值;
根据所述Q值的预测结果、预设的损失函数及预设的梯度函数对所述抓取模型进行反向传播训练,得到训练后的抓取模型。
在一种可能的实施方式中,所述抓取模型是通过以下方式构建的:
根据所述夹爪末端的位姿参数、所述夹爪末端的速度、所述夹爪的开合状态、所述目标物体的位姿参数及最大置信度对应的相机参数,确定状态函数;其中,所述夹爪末端的位姿参数表征所述夹爪末端相对于所述基座的空间位置及姿态;
根据所述夹爪末端的速度、所述夹爪的旋转角及所述夹爪的开合状态,确定动作函数;
根据所述机器人的抓取结果、所述夹爪与所述目标物体之间的距离及所述机器人的运动方向,确定奖励函数;
根据所述状态函数、所述动作函数及所述奖励函数,利用基于多视角的强化学习抓取算法,构建所述抓取模型。
第二方面,本发明实施例还提供了一种机器人抓取装置,应用于电子设备,所述电子设备与机器人通信连接,所述机器人安装有相机;所述装置包括:
获取模块,用于获取所述相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数;
检测模块,用于将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值,其中,所述第一坐标为所述目标物体的关键点的三维坐标;
计算模块,用于根据所述第一坐标的预测值和所述关键点之间的空间几何关系,计算得到所述目标物体的位姿参数,其中,所述位姿参数用于表征所述目标物体的空间位置及姿态;
控制模块,用于根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取,其中,所述抓取模型是利用强化学习的方式进行训练得到的。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的机器人抓取方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的机器人抓取方法。
相对于现有技术,本发明实施例提供的一种机器人抓取方法、装置、电子设备及存储介质,首先,利用安装在机器人上的相机在多个视角下对目标物体进行拍摄,获得图像集和每个视角对应的相机参数;然后将图像集和相机参数输入预先训练好的检测模型,对目标物体的关键点的三维坐标进行预测,得到预测结果,并根据预测结果和关键点之间的空间几何关系,计算得到目标物体的位姿;最后,根据目标物体的位姿和预先训练好的抓取模型,控制机器人完成目标物体的抓取。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的机器人抓取方法的应用场景图。
图2为本发明实施例提供的电子设备的方框示意图。
图3为本发明实施例提供的机器人抓取方法的流程示意图。
图4为本发明实施例提供的目标物体坐标系的示例图。
图5为图3示出的机器人抓取方法中步骤S120的流程示意图。
图6为本发明实施例提供的检测模型的结构示意图。
图7为本发明实施例提供的二维检测网络的结构示意图。
图8为本发明实施例提供的三维卷积网络的结构示意图。
图9为图3示出的机器人抓取方法中步骤S140的流程示意图。
图10为本发明实施例提供的检测模型的训练方法的流程示意图。
图11为图10示出的检测模型的训练方法中步骤S210的流程示意图。
图12为本发明实施例提供的抓取模型的训练方法的流程示意图。
图13为本发明实施例提供的机器人抓取装置的方框示意图。
图标:10-电子设备;20-网络;11-存储器;12-处理器;13-总线;200-机器人抓取装置;201-获取模块;202-检测模块;203-计算模块;204-控制模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
随着智能制造技术和信息技术的发展,机器人的智能化水平不断提高,并在各行各业得到越来越广泛的应用,尤其在工业领域,工业机器人的使用极大地提高了生产效率。
而在工业生产中,机器人抓取是其中一个最常用、最基础的操作,研究提高机器人抓取的精确度与稳定性对于进一步提升工业生产效率具有极为重要的意义。
现有技术中,基于视觉的机器人抓取过程,主要包括目标物体姿态识别和机器人运动规划与抓取两个主要步骤。
目标物体姿态识别:
目标物体姿态识别主要使用视觉识别的方式对物体相对于某一坐标系的位置和姿态(6DoF,6 Degree of Freedom,6DoF位姿)进行估计。其中目前研究最广泛的是物体6DoF位姿估计技术,6DoF物***姿估计是一种确定抓取场景中物体的位置与姿态的技术,其中位置信息主要是以特定的空间坐标系中的三维坐标来表示;姿态信息的常见表示形式有4种:位姿变换矩阵、欧拉角、旋转四元数和轴角。
基于6DoF物体识别的方法允许机器人可以从三维空间中的不同角度抓取物体,但是这类方法需要算法给出物***置(三维空间坐标)和姿态(欧拉角)共六个维度的信息,若只借助二维图像信息无法完成此任务。
为了获得物体的位姿,通常使用深度相机对物体进行拍摄,获得物体的彩色图像和对应的深度信息图像,进而还原出拍摄物体的点云信息,通过将点云与已有三维物体模型进行特征信息匹配求解出物体的6DoF位姿信息。
机器人运动规划与抓取:
目前常见的机器人运动规划和抓取技术主要是基于动态运动基元(DynamicMovement Primitives,DMP)的方法:动态运动基元是目前较为常见的机器人运动表现形式之一,它可以作为运动反馈控制器灵活调整运动动作,无需手动调整运动参数或者担心运动***的稳定性。
对于目标物体姿态识别,物体6DoF位姿估计技术只适用于对已知物体的抓取,其抓取方式需要预先进行设定,当遇到未知物体时,即使该物体的外形与模型库中已有的模型形状类似,算法也可能会失效,导致物***姿检测精度较差。另外,物体三维关键点检测技术主要使用彩色图像与深度图像作为算法的输入,在较为复杂的抓取场景(如物体之间存在重叠、遮挡等问题)可能会影响关键点的检测精度。
对于机器人运动与规划,基于动态运动基元的机器人运动规划抓取技术需要对机器人和周围环境建立严格准确的数学模型,虽然机器人运动过程稳定可控,但是***的泛化能力一般,通常难以适用于新的环境。
针对上述问题,本实施例提供一种机器人抓取方法,根据相机在多个视角下对目标物体进行拍摄得到的彩色图像确定目标物体的位姿,并根据利用强化学习训练得到的抓取模型控制机器人完成目标物体的抓取,从而提高了机器人抓取的精度且泛化能力较强。
下面进行详细介绍。
请参考图1,图1示出了本发明实施例提供的机器人抓取方法的应用场景图,包括电子设备10、机器人、相机及目标物体。机器人和相机均通过网络20连接到电子设备10;机器人包括基座、机械臂和夹爪,相机安装在机械臂的末端。
电子设备10的方框示意图如图2所示,电子设备10可以是,但不限于,手机、平板电脑、笔记本电脑、服务器或其他具有处理能力的电子设备。电子设备10包括存储器11、处理器12及总线13。该存储器11和处理器12通过总线13连接。
存储器11用于存储程序,例如机器人抓取装置200,机器人抓取装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器11中的软件功能模块,处理器12在接收到执行指令后,执行所述程序以实现本实施例中的机器人抓取方法。
其中,存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器12可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,本实施例中的解码控制方法的各步骤可以通过处理器12中的硬件的集成逻辑电路或者软件形式的指令完成。
上述的处理器12可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、微控制单元(Microcontroller Unit,MCU)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程门阵列(Field Programmable GateArray,FPGA)、嵌入式ARM等芯片。
机器人可以是具有抓取能力的机器人,包括基座、机械臂和夹爪,机械臂可以在空间的各个方向移动。
相机可以是具有拍摄功能的彩色相机,相机经由支架固定在机械臂的末端,其能够通过机械臂的运动,在多个视角下对目标物体进行拍摄,得到多个视角下的彩色图像。
网络20可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在机器人对目标物体进行抓取时,首先通过相机在多个视角下对目标物体进行拍摄,获得多个视角对应的彩色图像和相机位姿,相机位姿表示相机20相对于基座的三维坐标和旋转角,并将彩色图像和相机位姿发送给电子设备10;电子设备10接收到彩色图像和相机位姿后,根据预先存储的检测模型和抓取模型,控制机器人完成目标物体的抓取。
在图2所示的电子设备10的基础上,对本实施例提供的机器人抓取方法进行介绍。请参考图3,图3示出了本实施例提供的机器人抓取方法的流程示意图,该方法应用于电子设备10,电子设备10和机器人通信连接,机器人安装有相机。该方法包括以下步骤:
S110,获取相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数。
在本实施例中,采用Intel RealSense D435相机作为视觉传感器采集图像,需要说明的是,本实施例只使用该相机采集彩色图像,并不使用相机获取的深度信息。
一般选取4个视角对目标物体进行拍摄,将拍摄得到的4张彩色图像作为图像集。选取的视角可以是,例如,俯视视角、正视视角、左视视角和右视视角,每个视角对应一张彩色图像。
相机参数用于表征相机是指相机相对于基座的位置信息和姿态信息,其中,位置信息一般用三维坐标表示,姿态信息一般用旋转矩阵表示。
例如,n个视角对应的相机参数可以表示为:
Pn=[Rn,Tn]
其中,Pn为一个3×4的矩阵,表示相机参数,Rn是一个三维矩阵,表示相机的姿态信息,Tn是一个三维列向量,表示相机相对于基座的三维坐标。
需要说明的是,相机参数是实际测得的,由于进行拍摄的视角一般为固定的4个视角,因此可以将相机参数视为存储在电子设备中的4个已知量。
S120,将图像集和每个相机参数输入检测模型,利用检测模型对图像集进行预测,得到目标物体的第一坐标的预测值,其中,第一坐标为所述目标物体的关键点的三维坐标。
在本实施例中,检测模型用于预测目标物体的关键点的三维坐标,输入为每个视角下的图像和每个视角对应的相机参数,输出为目标物体的关键点的三维坐标的预测值。
其中,关键点用于表征目标物体的姿态,例如,目标物体为立方体,关键点可以为立方体的八个顶点。
第一坐标的预测值可以用三维向量表示,例如,第k个关键点的三维坐标的预测值为:
[xk,yk,zk]T
其中,xk,yk和zk分别为第k个关键点在基座坐标系下的x轴、y轴和z轴坐标。
S130,根据第一坐标的预测值和关键点之间的空间几何关系,计算得到目标物体的位姿参数,其中,位姿参数用于表征目标物体的空间位置及姿态。
在本实施例中,关键点之间的空间几何关系可以通过建立物体坐标系得到,坐标系的建立如图4所示,以目标物体为一个马克杯为例,以杯口为坐标系的原点,计算杯口到杯底的向量并将其作为z轴,z轴与杯柄关键点形成的平面的法向量作为y轴,进而根据三轴正交的性质确定x轴的方向。
S140,根据位姿参数和抓取模型,控制机器人完成目标物体的抓取,其中,抓取模型是利用强化学习的方式进行训练得到的。
在本实施例中,由于抓取模型是利用强化学习的方式进行训练得到的,在得到位姿参数之后,需要根据环境状态来确定机器人下一步的动作,因此相对于传统的基于运动基元的方法。
下面对步骤S120进行详细介绍,在图3的基础上,请参考图5,步骤S120可以包括以下详细步骤:
S1201,将图像集输入所述目标检测网络,利用目标检测网络对图像集中的图像进行剪裁,得到剪裁后的图像。
在本实施例中,为了更好地理解检测模型对图像集和相机参数的处理过程,下面将结合图6进行说明。请参照图6,图6示出了检测模型的结构及检测模型对图像集和相机参数的处理过程。
如图6所示,检测模型包括目标检测网络、二维检测网络和三维检测网络,图像集包括多个视角对应的图像。
其中,目标检测网络基于RFB-Net实现,用于识别每个图像中的目标抓取物体的位置,并对原图像进行剪裁,提高关键点检测的精度。
在将图像集输入二维检测网络之前,需要利用目标检测网络对图像集中的图像进行预处理,将图像集输入目标检测网络,利用目标检测网络对每个图像进行裁剪,得到剪裁后的图像,剪裁后的图像能够去最大化地去除图像中的空白部分,使得图像中的目标物体的关键点能够更加清晰地显示,有利于后续的特征提取。
RFB-Net提出了感受野模块(Receptive Field Block,RFB)的概念,它可以增强轻量级卷积神经网络模型学习深层特征的能力,并在此基础上构建快速准确的目标检测器。
具体来说,感受野模块利用多分支池化层和不同尺寸大小的感受野卷积核使用扩张卷积的方式来对图像进行特征提取。将感受野模块组嵌入到SSD目标检测网络的浅层,构建了一个先进的单阶段探测器RFB-Net。RFB-Net在保证原有轻量级检测器检测速度的同时获得了较高的检测精度。
S1202,将图像集输入二维检测网络,利用二维检测网络对每个图像进行特征提取,得到每个图像对应的二维特征图和每个图像对应的置信度,其中,二维特征图用于表征目标物体的关键点在图像中的二维坐标,置信度用于表征每个图像对应的视角下目标物体的真实度。
在本实施例中,关键点在图像中的二维坐标指的是在图像中的像素坐标。
请继续参考图6,在目标检测网络之后,将得到的剪裁后的图像输入二维检测网络,利用二维检测网络对剪裁后的图像进行特征提取,输出每个图像对应的二维特征图和每个图像对应的置信度。
其中,二维检测网络是基于卷积神经网络实现的,二维检测网络包括残差网络、第一神经网络和第二神经网络,其结构如图7所示。
残差网络为主干网络,将剪裁后的图像缩放到统一的尺寸输入残差网络,输出初始二维图像,初始二维图像中有关键点的二维坐标标注。
残差网络相比于传统的卷积网络与全连接网络可以有效解决在神经网络特征提取过程中信息出错或丢失的问题,通过直接将输入残差模块的数据跨层连接到模块的输出的方式,保证了信息的完成性。网络仅仅需要学习输入输出的残差部分,大大减轻了网络参数学习的难度。层数越多的残差网络不仅不会出现梯度消失的问题,检测模型的精度反而还会大幅提高。
残差网络之后,使用两个不同的神经网络对初始特征图像进行处理,第一神经网络用于预测每个图像中的关键点的置信度分数ωn,k,将每个图像中所有关键点的置信度分数的平均值作为该图像对应视角下的置信度。如下式所示,第n个图像对应的置信度,也即,第n个视角下对应的置信度的表达式为:
其中,k为第n个图像中包括的关键点的个数。
可以利用不同视角的置信度不同的特点将其作为抓取先验知识辅助设计更有效的机器人抓取操作,即某一视角的置信度越高,说明该视角下的物体受到的遮挡越少,关键点检测精度越高,物体在这个视角所呈现的姿态越有利于机器人抓取。
第二神经网络用包括4个反卷积层,利用第二神经网络对初始二维特征图进行处理,得到二维特征图,其中每个特征图均包括多个通道,其对应了每个图像中的多个关键点。
相比于现有一些使用上采样与跨层连接的网络,本发明实施例中的第二神经网络以反卷积这样更简洁的方式提升了特征图的分辨率,加快二维检测网络的预测速度的同时提高检测精度。
S1203,将所有二维特征图、置信度和相机参数输入三维检测网络,将置信度作为权重利用三维检测网络对所有二维特征图进行处理,得到目标物体的第一坐标的预测值。
下面对步骤S1203进行详细介绍,步骤S1203可以包括以下详细步骤:
第一步,将所有二维特征图、所述置信度和相机参数输入三维映射网络,利用反向投影的方式,得到目标物体的三维特征图,其中,三维特征图用于表征目标物体的三维空间信息,三维特征图包括多个通道,每个通道和每个目标物体的关键点一一对应。
在本实施例中,三维检测网络包括三维映射网络、三维卷积网络和损失函数回归模型。
请继续参考图6,将二维检测网络输出的二维特征图和置信度以及相机参数输入三维映射网络,输出目标物体的三维特征图,需要说明的是,这里的相机参数是和图像集一起输入检测模型的,只不过前面的目标检测网络和二维检测网络并没有用到相机参数。
利用反向投影的方式对二维特征图进行处理的具体过程如下;
给定正整数Nx,Ny,Nz分别表示x,y,z三个方向包含的单位小格的数量,以被检测物体为中心构建一个包含Nx×Ny×Nz个小格的三维体素F3D,其中每个小格的单位边长表示为Lsize,体素内一点的坐标可以用(ix,iy,iz)(ix,iy,iz∈Nx×Ny×Nz×Lsize)表示。
经过反向投影后,输出的三位特征图尺寸大小为Nx×Ny×Nz×M,M表示三维特征图包含的通道数,其数量关键点的数量相等。目标物体的第k个关键点在三维特征图中的坐标可以表示为:
其中,表示在相机Cn的姿态下对空间中的点(ix,iy,iz)进行投影操作得到的二维特征图,Fn{.}k表示对二维特征值进行双线性插值映射得到k个通道的特征图,根据第一神经网络获得的置信度confn,将其作为权重融合为k个通道的三维特征图。
第二步,将三维特征图输入三维卷积网络,利用三维卷积网络对三维特征图进行特征提取,得到每个关键点对应的三维特征图。
在本实施例中,在反向投影之后,需要对融合了多个视角特征的体素F3D进行特征提取,由于F3D是对三维空间信息的特征表示,本发明实施例考虑使用三维卷积网络对其进行卷积操作。
F3D属于多通道的三维特征图,所以本发明构建多通道三维卷积网络作为特征提取器。使用类似V2V-PoseNet的三维卷积结构,V2V-PoseNet是一个用于三维手势识别的神经网络架构,其以一个体素化的三维特征图作为输入,输出每个关键点的空间位置与对应的概率估计,由于网络直接对体素化的三维特征图进行处理,所以物体的空间信息不会失真。
针对F3D的特点,对原有V2V-PoseNet的网络结构进行了改进,使其更适合本发明实施例的关键点检测任务。网络包含四类模块,第一类是基本三维卷积模块,它由三维卷积层、批正则化层和ReLU激活函数组成。该模块位于网络的头部和尾部;第二类是三维残差模块,由二维残差网络在深度维度上拓展得到;第三类是下采样模块,主要包含三维卷积层与最大池化层。最后一类是上采样模块,它由三维反卷积层、批正则化层和ReLU激活函数组成。
在三维反卷积层后引入批正则化层和激活函数有助于简化网络模型的学习过程。基本三维卷积模块的卷积核大小为7×7×7,输出64个通道的特征图;三维残差模块的卷积核大小为3×3×3;下采样模块和上采样模块的卷积核大小为2×2×2,卷积步长为2。
本实施例中的三维卷积网络的结构类似于hourglass模型,三维卷积网络的结构如图8示,输入的三维特征图首先经过基本三维卷积模块和下采样模块后,依次使用三个三维残差模块提取有效的物体局部特征,然后通过由上采样模块和下采样模块构成的编码器与解码器。
在编码器中,下采样模块通过卷积运算减少了三维特征图的尺寸大小,但增加了其特征通道数,特征图通道数的增加对应提取特征的增加,这有助于提高网络的检测性能;在解码器中,上采样模块扩大三维特征图的尺寸大小的同时减少了通道数以压缩提取的特征,解码器中三维特征图尺寸的扩大有助于网络确定关键点的空间信息。
编码器与解码器的网络层之间通过对每个相同尺度的特征图进行体素加法相互连接,这样解码器可以更稳定地对特征图进行上采样。输入特征经过编码器和解码器后输出第k个关键点的三维特征图,记为Vk。
第三步,将所有关键点对应的三维特征图输入损失函数回归模型,利用损失函数回归模型对所有关键点对应的三维特征图做归一化处理,得到目标物体的第一坐标的预测值。
在本实施例中,损失函数回归模型为softmax,使用softmax归一化所有物体关键点的检测概率,记为Vk′,具体公式如下。
W,H,D分别表示三维特征图的宽、高和通道深度,iK表示第k个关键点的体素坐标,exp(.)表示指数运算。最终,目标物体的第k个关键点的三维坐标为:
得到每个关键点的三维坐标之后,通过步骤S130得到目标物体的位姿参数,然后需要根据位姿参数和抓取模型,控制机器人完成目标物体的抓取。下面进行详细介绍。
在图3的基础上,请参考图9,步骤S140可以包括以下详细步骤:
S1401,获取t时刻的状态参数,状态参数包括夹爪末端的位姿参数、夹爪末端的速度,夹爪的开合状态。
在本实施例中,t时刻的状态参数用于表征机器人在t时刻的状态,可以用一个集合表示:
其中,表示t时刻夹爪末端的位姿参数,为夹爪末端在基座坐标系下的笛卡尔坐标,为夹爪末端姿态的旋转四元数,即表示夹爪末端的速度;g={0,1}表示夹爪的开合状态,0表示夹爪打开,1表示夹爪闭合,默认状态下,夹爪为打开状态。
S1402,将状态参数、目标物体的位姿参数及最大置信度对应的相机参数输入抓取模型,得到t时刻的动作参数,动作参数包括夹爪末端的速度、夹爪的旋转角及夹爪的开合状态。
在本实施例中,最大置信度对应的相机参数为所有视角对应的置信度confn(n∈{1,2,…,N})的最大值confmax对应的相机姿态,表示为Pcmax。
动作参数用于表征机器人需要完成的动作,可以用一个集合来表示:
S1403,控制机器人按照动作参数运动,完成t时刻的动作,并获取t+1时刻的状态参数。
重复执行步骤S1402,直至机器人完成目标物体的抓取。
上面介绍了机器人抓取方法的整个流程,在上述的机器人抓取方法中用到了两个模型,分别是检测模型和抓取模型,它们是预先训练得到的,训练完成之后的模型才能进行实际的预测。通俗一点来讲,模型训练的过程就是对模型中的参数不断更新的过程,在训练的过程中需要用到带有标签的训练数据,以更好地拟合这些数据,从而训练完成后的模型才能在那些没有标签的数据或者从前没见过的数据上进行预测。
在此基础上,下面对检测模型和抓取模型的训练方法作详细介绍。
请参考图10,检测模型的训练方法可以包括以下步骤:
S210,获取训练样本及训练样本对应的标签,其中,训练样本包括第一图像和相机参数,标签表征参考物体的关键点的三维坐标。
在本实施例中,训练样本用于检测模型的训练,将训练样本输入检测模型后,检测模型输出预测结果。标签用于评估预测结果的准确性,预测结果和标签越接近,表示预测结果越准确,即模型训练的效果越好。
第一图像是相机对参考物体在多个视角下进行拍摄得到的,相机参数为多个,多个相机参数和多个视角一一对应。
需要说明的是,参考物体可以为多个,得到的第一图像为多组,每组第一图像包括均包括多个视角对应的第一图像;对应的,标签也为多个,每个标签和每个参考物体一一对应。
S220,将第一图像输入目标检测网络,利用目标检测网络对第一图像进行剪裁,得到剪裁后的第一图像。
在本实施例中,和步骤S1201对应,目标检测网络对第一图像的剪裁处理和对图像集的剪裁处理类似,在此不再赘述。
为了缩短检测模型的训练时间,本实施例选择在已有网络训练权重的基础上使用训练样本和训练样本对应的标签对目标检测网络进行微调。将训练样本和训练样本对应的标签按比例8:2分为训练集与测试集。网络模型在Ubuntu16.04***上进行训练,训练和测试的第一图像在基于直方图均衡化的图像增强预处理操作后统一缩放至统一的分辨率。
同时,本实施例使用了随机剪裁、随机扩充等数据增强技巧增强检测模型的鲁棒性。模型训练时设置每批训练的数据样本量(batch-size)为32,总共训练300个轮次,初始学习率为0.004,在第120、180、280个训练轮次时学习率缩减为原来的十分之一。参数衰减值(weight-decay)设置为0.0001,动量因子(momentum)为0.9。为了防止产生梯度***的情况,本实施例使用了模型“预热”的方法,即前10个训练轮次的学习率从0.0001逐渐升至0.004。
S230,将第一图像输入二维检测网络,利用二维检测网络对第一图像进行特征提取,得到第一图像对应的二维特征图和第一图像对应的置信度。
在本实施例中,利用二维检测网络对第一图像进行特征提取的过程和S1202类似,在此不再赘述。
S240,将第一图像对应的二维特征图、第一图像对应的置信度和相机参数输入三维检测网络,将第一图像对应的置信度作为权重利用三维检测网络对所有第一图像对应的二维特征图进行处理,得到参考物体的第二坐标的预测结果,所述第二坐标为参考物体的关键点的三维坐标。
在本实施例中,利用三维检测网络对所有第一图像对应的二维特征图进行处理的过程和步骤S1203类似,在此不再赘述。
在检测模型的训练过程中,在反向投影阶段本实施例将不同视角的二维特征图根据每个视角的相机参数分别填充到一个包含64×64×64个单位小格(每个单位小格边长Lsize=0.375cm,即24cm×24cm×24cm)的三维体素中。整个检测模型使用Adam优化器进行训练,将初始学习率设置为0.001,每20个训练轮次设置衰减系数为0.3的衰减策略。模型经过200个epoch的训练,每一批训练数据的样本量为8。
对于三维检测网络中的三维卷积网络,使用三维数据增强技术提高三维卷积网络的鲁棒性,具体的实现方法包括以下两类:
第一类,随机体素嵌入(Random volume embedding):与二维图像的随机剪裁方法类似,将三维特征图随机嵌入到检测空间S(S∈Nx×Ny×Nz)中。
第二类,随机旋转(Random rotation):算法将三维特征图沿着竖直方向的轴随机地旋转0°、90°,180°或270°,当使用随机旋转操作时,检测模型反向传播时只更新三维卷积模块的参数。
S250,基于所述参考物体的第二坐标的预测结果、所述标签和预设的损失函数对所述检测模型进行反向传播训练,得到训练后的检测模型。
在本实施例中,反向传播训练可以理解为用于更新检测模型的参数,在经过多次的反向传播训练后,当检测模型的预测结果和标签之间的误差小于预设值时,即完成模型的训练。
需要说明的是,虽然检测模型包括多个子网络,但是整个检测模型使用端到端训练的方式,即输入训练样本和训练样本对应的标签,输出第二坐标的预测结果。
因此,检测模型的损失函数可以表示为:
二维特征图的损失函数为:
三维特征图的损失函数为:
在本实施例中,损失函数保证了二维检测网络能提取到每个视角的第一图像有用的关键点像素特征,准确预测关键点的二维坐标。损失函数中的表示每个关键点的损失,用于预测物体关键点的三维空间信息;权重γ可以设置为0.01。
下面对步骤S210进行详细介绍,在图10的基础上,请参考图11,步骤S210可以包括以下详细步骤:
S2101,对相机进行标定,得到相机坐标系与夹爪末端坐标系之间的第一转换矩阵。
在本实施例中,由于相机被固定在机械臂的末端,因此考虑使用用眼在手(eye-in-hand)的标定方式。此时,相机坐标系与夹爪末端坐标系的位置关系固定,而与基座坐标系的位置关系会时刻变化,需要求解相机坐标系camera到夹爪末端坐标系end的变换矩阵。根据各个坐标系的位姿关系,可以写出如下的变换方程:
其中,pbase表示固定在某个位置的标定板中的点到基座坐标系的位姿矩阵,表示夹爪末端坐标系和基座坐标系之间的转换矩阵,为已知量,pend表示固定在某个位置的棋盘格中的点到夹爪末端坐标系的位姿矩阵,表示夹爪末端坐标系和基座坐标系之间的转换矩阵,pcamera表示固定在某个位置的棋盘格中的点到相机坐标系的位姿矩阵。
保持基座和标定板的相对位置不变,通过机械臂在不同视角的多次运动,求解相机与夹爪末端坐标系之间的转换矩阵。经过测试验证,标定后的相机的重投影误差在0.2~0.3mm左右时,满足机器人对物体抓取的要求。
S2102,获取相机在多个视角下对参考物体进行拍摄得到的参考图像及每个视角对应的相机参数。
在本实施例中,如前述内容所说,一般选取4个视角对参考物体进行拍摄,得到4个视角对应的参考图像和4个视角对应的相机参数。
S2103,对参考图像中的参考物体的关键点坐标进行标注,得到第一图像。
在本实施例中,在采集到多个视角的参考图像以及对应的相机参数后,首先需要人工标注每个参考图像中的参考物体的关键点的二维像素坐标。
本实施例使用Labelme工具进行关键点标注,Labelme是一个功能强大的二维图像标注软件,除关键点外还能完成对物体类别标签、目标检测边界框和实例分割掩码的标注,只需通过鼠标方便的在待标注图像上进行点击与拖拽,软件就能自动生成相应格式的标注信息文件,方便神经网络模型训练时对真实标记(Ground Truth,GT)的读取。
S2104,根据第一图像和相机参数,利用直接线性变换法,计算得到参考物体的关键点在相机坐标系下的参考三维坐标。
在本实施例中,由于已知了n(n∈{1,2…N})个视角下参考物体的关键点的二维像素坐标以及对应的相机参数:
Pn=[Rn,Tn]
如前文所述,Pn为一个3×4的矩阵。
为了获得真实的参考物体关键点的三维坐标,本实施例使用直接线性变换法(Direct Linear Transformation,DLT)将n个视角的关键点的二维坐标:t=[un,vn,1]T,还原为三维坐标:W=[x,y,z,1]T。
根据投影关系n个视角可以表示为:
其中,λn为该三维坐标点的深度值,是未知量;[Rn,1|Tn,1]、[Rn,2|Tn,2]、[Rn,3|Tn,3]分别表示相机参数矩阵的1、2、3行。经过消元和矩阵变换后,通过矩阵奇异值分解(SVD)最终求出参考物体的关键点在相机坐标系下的参考三维坐标。
S2105,根据第一转换矩阵和预设转换矩阵,将参考三维坐标转换为基座坐标系下的真实坐标,其中,预设转换矩阵表征夹爪末端坐标系与基座坐标系之间的转换关系。
S2106,分别将标注参考图像和真实坐标作为训练样本和训练样本对应的标签。
请参考图12,抓取模型的训练方法可以包括以下步骤:
S310,获取t时刻的状态参数,状态参数包括夹爪末端的位姿参数、夹爪末端的速度,夹爪的开合状态。
S320,将状态参数、目标物体的位姿参数及最大置信度对应的相机参数输入预先构建的抓取模型,所述抓取模型包括演员网络和评论家网络。
在本实施例中,抓取模型包括一个演员网络和两个评论家网络,及他们对应的目标网络,目标网络用于稳定训练,总共包含6个神经网络。
S330,利用抓取模型的演员网络,得到t时刻的动作参数。
S340,控制所述机器人按照所述动作参数运动,完成t时刻的动作,并获取奖励参数。
在本实施例中,当机器人观察到当前时刻的状态St时,将其输入演员网络输出对应的决策动作At,实现一次运动过程,并获得当前时刻的奖励参数Rt与下一时刻的状态St+1。算法将集合(St,At,Rt,St+1)作为一条经验存放于经验池中,并在神经网络训练的过程中随机选择一个批次的经验对抓取模型的参数进行更新。
奖励参数Rt可以表示为R(St,At),表示机器人在当前状态St下选择执行动作At后产生的奖励值。
S350,将奖励参数输入评论家网络,利用评论家网络对Q值进行预测,得到Q值的预测结果,其中,Q值用于评估机器人按照动作参数运动所产生的价值。
在本实施例中,Q值记作Q(St,At),是指在当前状态St下选择执行动作At后,一直到任务最后(最终状态)获得奖励参数总和的期望值,用于评估动作的价值。
S360,根据所述Q值的预测结果、预设的损失函数及预设的梯度函数对所述抓取模型进行反向传播训练,得到训练后的抓取模型。
在本实施例中,将两个评论家网络与对应的目标网络记为δi和δ′i,i∈{1,2}。由于网络参数的初始值不同,两个评论家网络会预测得到不同大小的Q值。如下式所示,算法选择其中较小的Q值作为评论家网络更新的目标,防止产生对Q值过高估计带来的偏差:
另外,抓取模型在每次更新时可能会产生微小的误差,当网络经过多次更新后,这些误差会逐渐积累导致最终算法的性能不佳。因此,除了使用类似DDPG算法中的策略延迟更新技术以外,算法还对动作空间周围的一部分区域进行数值平滑化以减少误差,即在演员网络输出的动作中再加入一定大小的噪声,因此原式变为:
其中,噪声ζ可以被看作一个正则化项,使得值函数的更新较为平滑,这里的使用噪声与DDPG算法中使用的噪声不同:DDPG只对最终输出的与环境交互的动作增加了噪声,其目的是提高算法对动作空间的探索能力。
将演员网络以及其对应的目标网络分别记为η和η′,为了更新演员网络η的参数,通过下式最小化策略函数的梯度以获得Q值最大时的动作:
其中,Nm表示从经验池中随机抽取的经验的数量。
此外,由于机器人本身的机械结构复杂度较高且抓取空间范围较大,机器人在与环境交互过程中动作的搜索空间维度较高,抓取任务的奖励反馈较为稀疏。为了获得最优的抓取动作策略,算法需要花费大量的训练时间。
对此,本实施例还引入了事后经验回放机制(Hindsight Experience Replay,HER),即使机器人在抓取成功率较低的训练初级阶段,也可以快速地学习到有用的抓取规划策略,加快算法的收敛速度。
事后经验回放机制,就是使用“事后诸葛亮”的思想引导智能体进行策略的学习。尽管智能体在当前回合的交互中无法得到正向的奖励,但依然可以根据当前的结果积累一定的经验;尽管本次探索是失败的,但仍然可以记录下这次“失败”的经验,并将原来预期想要达到的结果替换为这个已经达到的结果,并对类似这些经验构建一个特殊的经验池。当某一次交互遇到与存储的经验的目标一致的情况时,这条经验就能转变为一条“成功”的经验,帮助智能体进行有效地学习。
为了使机器人在抓取任务中实现“从失败中学习”的能力,需要额外引入目的(Goal)G的概念,它表示状态St能够通过一系列的决策过程达到的目的状态G。同时,为了保证可以将抓取结果不成功的状态St对应的经验用于经验回放训练,状态St也应被看作一个目的状态G。
因此,相应地,在原有经验集合(St,At,Rt,St+1)的基础上要引入目的状态G,通过简单的连接操作就完成原经验数据到新经验表示的转化,即St||G,At,Rt,St+1||G,其中||表示连接操作。对于每一次迭代探索,使用对未来状态采样的方法得到k个新的目标G′k,以及对应的k组经验值
使用HER机制在采样得到多个目的状态后,由于该状态会不受约束地改变对应的奖励函数的值,导致神经网络模型学习经验分布的变化,这样造成的偏差可能在一定程度上增加模型训练的不稳定性。对此,本发明在训练前期阶段使用HER机制,当训练轮数达到某一阈值后,将目的状态G替换为实际的抓取结束状态,使用实际的奖励完成神经网络参数更新。
上述抓取模型的构建可以包括以下详细步骤:
第一步,根据夹爪末端的位姿参数、夹爪末端的速度、夹爪的开合状态、目标物体的位姿参数及最大置信度对应的相机参数,确定状态函数;其中,夹爪末端的位姿参数表征夹爪末端相对于基座的空间位置及姿态。
在本实施例中,状态函数可以表示为:
第二步,根据夹爪末端的速度、夹爪的旋转角及夹爪的开合状态,确定动作函数。
在本实施例中,动作函数可以表示为:
第三步,根据机器人的抓取结果、夹爪与目标物体之间的距离及机器人的运动方向,确定奖励函数。
在本实施例中,奖励函数可以表示为:
其中,为二值奖励函数,0表示机器人抓取物体失败,1表示成功抓取物体;表示夹爪与目标物体之间距离d的相反数,α和β为对应奖励项所占权重;表示机器人沿着从视角置信度最高的相机位置与目标物***置连线方向运动的奖励,其计算公式为:
第四步,根据状态函数、动作函数及奖励函数,利用基于多视角的强化学习抓取算法,构建抓取模型。
现有技术中的抓取策略通常为:
机器人在获取夹爪末端的位姿信息和物体的位姿信息后,经过逆运动学解算,得到各个关节的运动角度,然后每个关节电机根据其角度变化趋势控制机器人运动到目标物体附近。机器人根据物体的形状特征选择合适的抓取点,完成对物体的抓取操作。
然而,这类方法并没有考虑机器人的运动空间中可能存在障碍物的情况,例如,当目标物体被遮挡时,机器人可能会在抓取过程中与遮挡物发生碰撞,从而造成一定的安全隐患。对此,这些方法需要引入额外的碰撞检测模块避免这样情况的发生,但这增加了***的搭建成本。
相对于现有技术,本发明实施例使用强化学习的方法,确定机器人抓取问题的状态与动作空间,然后根据二维检测网络得到的不同视角的检测置信度,将其引入奖励函数中,使机器人能学习到目标物体周围的遮挡信息,具备更好的避障能力。
与现有技术相比,本发明实施例具有以下有益效果:
首先,本实施例提供的机器人抓取方法,使用多视角特征融合的方式预测目标物体的关键点的三维坐标,相比于现有技术中使用彩色图像与深度图像作为输入预测物体6DoF位姿的方法,可以有效解决复杂场景下物体重叠遮挡导致的检测精度低的问题。
其次,使用稀疏的关键点可对目标物体的外观表面进行精简的描述,使检测模型具有更好的泛化性能。
最后,在对抓取模型的训练过程中引入事后经验回放机制,即使机器人在抓取成功率较低的训练初级阶段,也可以快速地学习到有用的抓取规划策略,加快算法的收敛速度。
为了执行上述机器人抓取方法实施例中的相应步骤,下面给出一种应用于机器人抓取装置的实现方式。
请参考图13,图13示出了本实施例提供的机器人抓取装置200的方框示意图。应用于电子设备10,电子设备10与机器人通信连接,所述机器人安装有相机。机器人抓取装置200包括:获取模块201,检测模块202,计算模块203,控制模块204。
获取模块201,用于获取相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数。
检测模块202,用于将图像集和每个相机参数输入检测模型,利用检测模型对图像集进行预测,得到目标物体的第一坐标的预测值,其中,第一坐标为目标物体的关键点的三维坐标。
计算模块203,用于根据第一坐标的预测值和关键点之间的空间几何关系,计算得到目标物体的位姿参数,其中,位姿参数用于表征目标物体的空间位置及姿态。
控制模块204,用于根据位姿参数和抓取模型,控制机器人完成目标物体的抓取,其中,抓取模型是利用强化学习的方式进行训练得到的。
可选的,检测模型包括二维检测网络和三维检测网络,图像集包括多个视角对应的图像;
检测模块202,用于:
将所述图像集输入目标检测网络,利用目标检测网络对图像集中的图像进行剪裁,得到剪裁后的图像;
将图像集输入所述二维检测网络,利用二维检测网络对每个图像进行特征提取,得到每个图像对应的二维特征图和每个图像对应的置信度,其中,二维特征图用于表征目标物体的关键点在图像中的二维坐标,置信度用于表征每个图像对应的视角下目标物体的真实度;
将所有二维特征图、所述置信度和相机参数输入三维检测网络,将所述置信度作为权重利用三维检测网络对所有二维特征图进行处理,得到所述目标物体的第一坐标的预测值。
可选的,三维检测网络包括三维映射网络、三维卷积网络和损失函数回归模型;
检测模块202,用于:
将所有二维特征图、置信度和相机参数输入三维映射网络,利用反向投影的方式,得到目标物体的三维特征图,其中,三维特征图用于表征目标物体的三维空间信息,三维特征图包括多个通道,每个通道和每个所述目标物体的关键点一一对应;
将三维特征图输入三维卷积网络,利用三维卷积网络对三维特征图进行特征提取,得到每个关键点对应的三维特征图;
将所有关键点对应的三维特征图输入损失函数回归模型,利用损失函数回归模型对所有关键点对应的三维特征图做归一化处理,得到目标物体的第一坐标的预测值。
可选的,机器人包括夹爪;
控制模块204,用于:
获取t时刻的状态参数,状态参数包括夹爪末端的位姿参数、夹爪末端的速度,夹爪的开合状态;
将状态参数、目标物体的位姿参数及最大置信度对应的相机参数输入抓取模型,得到t时刻的动作参数,动作参数包括夹爪末端的速度、所述夹爪的旋转角及夹爪的开合状态;
控制所述机器人按照动作参数运动,完成t时刻的动作,并获取t+1时刻的状态参数;
重复执行将状态参数、目标物体的位姿参数及最大置信度对应的相机参数输入抓取模型,得到t时刻的动作参数的步骤,直至机器人完成目标物体的抓取。
检测模块202,还用于:
获取训练样本及训练样本对应的标签,其中,训练样本包括第一图像和相机参数,标签表征参考物体的关键点的三维坐标;
将第一图像输入目标检测网络,利用目标检测网络对第一图像进行剪裁,得到剪裁后的第一图像;
将第一图像输入二维检测网络,利用二维检测网络对第一图像进行特征提取,得到第一图像对应的二维特征图和第一图像对应的置信度;
将第一图像对应的二维特征图、第一图像对应的置信度和相机参数输入三维检测网络,将第一图像对应的置信度作为权重利用三维检测网络对所有第一图像对应的二维特征图进行处理,得到参考物体的第二坐标的预测结果,第二坐标为参考物体的关键点的三维坐标;
基于参考物体的第二坐标的预测结果、标签和预设的损失函数对检测模型进行反向传播训练,得到训练后的检测模型。
检测模块202,用于:
对相机进行标定,得到相机坐标系与夹爪末端坐标系之间的第一转换矩阵;
获取相机在多个视角下对参考物体进行拍摄得到的参考图像及每个视角对应的相机参数;
对参考图像中的参考物体的关键点坐标进行标注,得到第一图像;
根据第一图像和相机参数,利用直接线性变换法,计算得到参考物体的关键点在相机坐标系下的参考三维坐标;
根据第一转换矩阵和预设转换矩阵,将参考三维坐标转换为基座坐标系下的真实坐标,其中,预设转换矩阵表征夹爪末端坐标系与基座坐标系之间的转换关系;
分别将标注参考图像和真实坐标作为训练样本和训练样本对应的标签。
控制模块204,还用于:
获取t时刻的状态参数,状态参数包括夹爪末端的位姿参数、夹爪末端的速度,夹爪的开合状态;
将状态参数、目标物体的位姿参数及最大置信度对应的相机参数输入预先构建的抓取模型,抓取模型包括演员网络和评论家网络;
利用抓取模型的演员网络,得到t时刻的动作参数;
控制机器人按照动作参数运动,完成t时刻的动作,并获取奖励参数;
将奖励参数输入评论家网络,利用评论家网络对Q值进行预测,得到Q值的预测结果,其中,Q值用于评估机器人按照动作参数运动所产生的价值;
根据Q值的预测结果、预设的损失函数及预设的梯度函数对抓取模型进行反向传播训练,得到训练后的抓取模型。
控制模块204,用于:
根据夹爪末端的位姿参数、夹爪末端的速度、夹爪的开合状态、目标物体的位姿参数及最大置信度对应的相机参数,确定状态函数;其中,夹爪末端的位姿参数表征夹爪末端相对于基座的空间位置及姿态;
根据夹爪末端的速度、夹爪的旋转角及夹爪的开合状态,确定动作函数;
根据机器人的抓取结果、夹爪与目标物体之间的距离及机器人的运动方向,确定奖励函数;
根据状态函数、动作函数及奖励函数,利用基于多视角的强化学习抓取算法,构建所述抓取模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的机器人抓取装置200的具体工作过程。可以参考前述方法实施例中的对应过程,在此不再赘述。
本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器12执行时实现上述实施例揭示的机器人抓取方法。
综上所述,本发明实施例提供的一种机器人抓取方法、装置、电子设备及存储介质,首先,利用安装在机器人上的相机在多个视角下对目标物体进行拍摄,获得图像集和每个视角对应的相机参数;然后将图像集和相机参数输入预先训练好的检测模型,对目标物体的关键点的三维坐标进行预测,得到预测结果,并根据预测结果和关键点之间的空间几何关系,计算得到目标物体的位姿;最后,根据目标物体的位姿和预先训练好的抓取模型,控制机器人完成目标物体的抓取。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种机器人抓取方法,其特征在于,应用于电子设备,所述电子设备与机器人通信连接,所述机器人安装有相机;所述方法包括:
获取所述相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数;
将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值,其中,所述第一坐标为所述目标物体的关键点的三维坐标;
根据所述第一坐标的预测值和所述关键点之间的空间几何关系,计算得到所述目标物体的位姿参数,其中,所述位姿参数用于表征所述目标物体的空间位置及姿态;
根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取,其中,所述抓取模型是利用强化学习的方式进行训练得到的。
2.如权利要求1所述的方法,其特征在于,所述检测模型包括目标检测网络、二维检测网络和三维检测网络,所述图像集包括多个视角对应的图像;
所述将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值的步骤,包括:
将所述图像集输入所述目标检测网络,利用所述目标检测网络对所述图像集中的图像进行剪裁,得到剪裁后的图像;
将所述剪裁后的图像输入所述二维检测网络,利用所述二维检测网络对每个剪裁后的图像进行特征提取,得到每个图像对应的二维特征图和每个图像对应的置信度,其中,所述二维特征图用于表征所述目标物体的关键点在所述图像中的二维坐标,所述置信度用于表征每个所述图像对应的视角下目标物体的真实度;
将所有所述二维特征图、所述置信度和所述相机参数输入所述三维检测网络,将所述置信度作为权重利用所述三维检测网络对所有所述二维特征图进行处理,得到所述目标物体的第一坐标的预测值。
3.如权利要求2所述的方法,其特征在于,所述三维检测网络包括三维映射网络、三维卷积网络和损失函数回归模型;
所述将所有所述二维特征图、所述置信度和所述相机参数输入所述三维检测网络,将所述置信度作为权重利用所述三维检测网络对所有所述二维特征图进行处理,得到所述目标物体的第一坐标的预测值的步骤,包括:
将所有所述二维特征图、所述置信度和所述相机参数输入所述三维映射网络,利用反向投影的方式,得到所述目标物体的三维特征图,其中,所述三维特征图用于表征所述目标物体的三维空间信息,所述三维特征图包括多个通道,每个所述通道和每个所述目标物体的关键点一一对应;
将所述三维特征图输入所述三维卷积网络,利用所述三维卷积网络对所述三维特征图进行特征提取,得到每个所述关键点对应的三维特征图;
将所有所述关键点对应的三维特征图输入所述损失函数回归模型,利用所述损失函数回归模型对所有所述关键点对应的三维特征图做归一化处理,得到所述目标物体的第一坐标的预测值。
4.根据权利要求1所述的方法,其特征在于,所述机器人包括夹爪,所述根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取的步骤,包括:
获取t时刻的状态参数,所述状态参数包括夹爪末端的位姿参数、所述夹爪末端的速度,所述夹爪的开合状态;
将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入所述抓取模型,得到t时刻的动作参数,所述动作参数包括所述夹爪末端的速度、所述夹爪的旋转角及所述夹爪的开合状态;
控制所述机器人按照所述动作参数运动,完成t时刻的动作,并获取t+1时刻的状态参数;
重复执行将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入所述抓取模型,得到t时刻的动作参数的步骤,直至所述机器人完成所述目标物体的抓取。
5.根据权利要求1所述的方法,其特征在于,所述检测模型是通过以下方式训练得到的:
获取训练样本及所述训练样本对应的标签,其中,所述训练样本包括第一图像和相机参数,所述标签表征参考物体的关键点的三维坐标;
将所述第一图像输入所述目标检测网络,利用所述目标检测网络对所述第一图像进行剪裁,得到剪裁后的第一图像;
将所述剪裁后的第一图像输入所述二维检测网络,利用所述二维检测网络对所述剪裁后的第一图像进行特征提取,得到所述第一图像对应的二维特征图和所述第一图像对应的置信度;
将所述第一图像对应的二维特征图、所述第一图像对应的置信度和所述相机参数输入所述三维检测网络,将所述第一图像对应的置信度作为权重利用所述三维检测网络对所有所述第一图像对应的二维特征图进行处理,得到所述参考物体的第二坐标的预测结果,所述第二坐标为所述参考物体的关键点的三维坐标;
基于所述参考物体的第二坐标的预测结果、所述标签和预设的损失函数对所述检测模型进行反向传播训练,得到训练后的检测模型。
7.如权利要求5所述的方法,其特征在于,所述机器人还包括基座,所述获取训练样本及所述训练样本对应的标签的步骤,包括:
对所述相机进行标定,得到相机坐标系与夹爪末端坐标系之间的第一转换矩阵;
获取所述相机在多个视角下对所述参考物体进行拍摄得到的参考图像及每个视角对应的相机参数;
对所述参考图像中的所述参考物体的关键点坐标进行标注,得到所述第一图像;
根据所述第一图像和所述相机参数,利用直接线性变换法,计算得到所述参考物体的关键点在所述相机坐标系下的参考三维坐标;
根据所述第一转换矩阵和预设转换矩阵,将所述参考三维坐标转换为基座坐标系下的真实坐标,其中,所述预设转换矩阵表征所述夹爪末端坐标系与所述基座坐标系之间的转换关系;
分别将所述标注参考图像和所述真实坐标作为所述训练样本和所述训练样本对应的标签。
8.根据权利要求1所述的方法,其特征在于,所述抓取模型是通过以下方式训练得到的:
获取t时刻的状态参数,所述状态参数包括所述夹爪末端的位姿参数、所述夹爪末端的速度,所述夹爪的开合状态;
将所述状态参数、所述目标物体的位姿参数及最大置信度对应的相机参数输入预先构建的所述抓取模型,所述抓取模型包括演员网络和评论家网络;
利用所述抓取模型的所述演员网络,得到t时刻的动作参数;
控制所述机器人按照所述动作参数运动,完成t时刻的动作,并获取奖励参数;
将所述奖励参数输入所述评论家网络,利用所述评论家网络对Q值进行预测,得到Q值的预测结果,其中,所述Q值用于评估所述机器人按照所述动作参数运动所产生的价值;
根据所述Q值的预测结果、预设的损失函数及预设的梯度函数对所述抓取模型进行反向传播训练,得到训练后的抓取模型。
9.如权利要求8所述的方法,其特征在于,所述抓取模型是通过以下方式构建的:
根据所述夹爪末端的位姿参数、所述夹爪末端的速度、所述夹爪的开合状态、所述目标物体的位姿参数及最大置信度对应的相机参数,确定状态函数;其中,所述夹爪末端的位姿参数表征所述夹爪末端相对于所述基座的空间位置及姿态;
根据所述夹爪末端的速度、所述夹爪的旋转角及所述夹爪的开合状态,确定动作函数;
根据所述机器人的抓取结果、所述夹爪与所述目标物体之间的距离及所述机器人的运动方向,确定奖励函数;
根据所述状态函数、所述动作函数及所述奖励函数,利用基于多视角的强化学习抓取算法,构建所述抓取模型。
10.一种机器人抓取装置,其特征在于,应用于电子设备,所述电子设备与机器人通信连接,所述机器人安装有相机;所述装置包括:
获取模块,用于获取所述相机在多个视角下对目标物体进行拍摄得到的图像集及每个视角对应的相机参数;
检测模块,用于将所述图像集和每个所述相机参数输入检测模型,利用所述检测模型对所述图像集进行预测,得到所述目标物体的第一坐标的预测值,其中,所述第一坐标为所述目标物体的关键点的三维坐标;
计算模块,用于根据所述第一坐标的预测值和所述关键点之间的空间几何关系,计算得到所述目标物体的位姿参数,其中,所述位姿参数用于表征所述目标物体的空间位置及姿态;
控制模块,用于根据所述位姿参数和抓取模型,控制所述机器人完成所述目标物体的抓取,其中,所述抓取模型是利用强化学习的方式进行训练得到的。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的机器人抓取方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-9中任一项所述的机器人抓取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111659492.1A CN114387513A (zh) | 2021-12-31 | 2021-12-31 | 机器人抓取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111659492.1A CN114387513A (zh) | 2021-12-31 | 2021-12-31 | 机器人抓取方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114387513A true CN114387513A (zh) | 2022-04-22 |
Family
ID=81199396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111659492.1A Pending CN114387513A (zh) | 2021-12-31 | 2021-12-31 | 机器人抓取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114387513A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114700949A (zh) * | 2022-04-25 | 2022-07-05 | 浙江工业大学 | 基于体素抓取网络的机械臂灵巧抓取规划方法 |
CN114998277A (zh) * | 2022-06-16 | 2022-09-02 | 吉林大学 | 抓取点识别方法、装置、电子设备及计算机存储介质 |
CN116214524A (zh) * | 2023-05-08 | 2023-06-06 | 国网浙江省电力有限公司宁波供电公司 | 用于油样回收的无人机抓载方法、装置及存储介质 |
CN116330306A (zh) * | 2023-05-31 | 2023-06-27 | 之江实验室 | 一种物体的抓取方法、装置、存储介质及电子设备 |
-
2021
- 2021-12-31 CN CN202111659492.1A patent/CN114387513A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114700949A (zh) * | 2022-04-25 | 2022-07-05 | 浙江工业大学 | 基于体素抓取网络的机械臂灵巧抓取规划方法 |
CN114700949B (zh) * | 2022-04-25 | 2024-04-09 | 浙江工业大学 | 基于体素抓取网络的机械臂灵巧抓取规划方法 |
CN114998277A (zh) * | 2022-06-16 | 2022-09-02 | 吉林大学 | 抓取点识别方法、装置、电子设备及计算机存储介质 |
CN114998277B (zh) * | 2022-06-16 | 2024-05-17 | 吉林大学 | 抓取点识别方法、装置、电子设备及计算机存储介质 |
CN116214524A (zh) * | 2023-05-08 | 2023-06-06 | 国网浙江省电力有限公司宁波供电公司 | 用于油样回收的无人机抓载方法、装置及存储介质 |
CN116214524B (zh) * | 2023-05-08 | 2023-10-03 | 国网浙江省电力有限公司宁波供电公司 | 用于油样回收的无人机抓载方法、装置及存储介质 |
CN116330306A (zh) * | 2023-05-31 | 2023-06-27 | 之江实验室 | 一种物体的抓取方法、装置、存储介质及电子设备 |
CN116330306B (zh) * | 2023-05-31 | 2023-08-15 | 之江实验室 | 一种物体的抓取方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11325252B2 (en) | Action prediction networks for robotic grasping | |
CN108491880B (zh) | 基于神经网络的物体分类和位姿估计方法 | |
CN110059558B (zh) | 一种基于改进ssd网络的果园障碍物实时检测方法 | |
CN114387513A (zh) | 机器人抓取方法、装置、电子设备及存储介质 | |
CN108986801B (zh) | 一种人机交互方法、装置及人机交互终端 | |
WO2020228446A1 (zh) | 模型训练方法、装置、终端及存储介质 | |
CN108010078B (zh) | 一种基于三级卷积神经网络的物体抓取检测方法 | |
CN107045631B (zh) | 人脸特征点检测方法、装置及设备 | |
CN113409384B (zh) | 一种目标物体的位姿估计方法和***、机器人 | |
JP2018205929A (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
Wu et al. | Pixel-attentive policy gradient for multi-fingered grasping in cluttered scenes | |
CN107813310A (zh) | 一种基于双目视觉多手势机器人控制方法 | |
CN111179419A (zh) | 三维关键点预测及深度学习模型训练方法、装置及设备 | |
CN114556268B (zh) | 一种姿势识别方法及装置、存储介质 | |
CN111368759B (zh) | 基于单目视觉的移动机器人语义地图构建*** | |
Tang et al. | Learning collaborative pushing and grasping policies in dense clutter | |
CN113752255B (zh) | 一种基于深度强化学习的机械臂六自由度实时抓取方法 | |
CN115816460B (zh) | 一种基于深度学习目标检测与图像分割的机械手抓取方法 | |
CN112164115A (zh) | 物***姿识别的方法、装置及计算机存储介质 | |
CN111429481B (zh) | 一种基于自适应表达的目标追踪方法、装置及终端 | |
US20220402125A1 (en) | System and method for determining a grasping hand model | |
CN110348359B (zh) | 手部姿态追踪的方法、装置及*** | |
CN115546549A (zh) | 点云分类模型构建方法、点云分类方法、装置及设备 | |
Mayer et al. | FFHNet: Generating multi-fingered robotic grasps for unknown objects in real-time | |
CN115082498A (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 |