CN115359119A - 一种面向无序分拣场景的工件位姿估计方法及装置 - Google Patents
一种面向无序分拣场景的工件位姿估计方法及装置 Download PDFInfo
- Publication number
- CN115359119A CN115359119A CN202210824877.7A CN202210824877A CN115359119A CN 115359119 A CN115359119 A CN 115359119A CN 202210824877 A CN202210824877 A CN 202210824877A CN 115359119 A CN115359119 A CN 115359119A
- Authority
- CN
- China
- Prior art keywords
- point
- pose
- coordinates
- target
- key
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种面向无序分拣场景的工件位姿估计方法及装置,其中方法包括:获取场景工件的RGB‑D图像;将RGB图输入到目标检测模块中,获得坐标信息;根据坐标信息对所述RGB图像、深度图像进行裁剪,并输入位姿估计模型,获得RGB‑点云融合特征;根据RGB‑点云融合特征获取相机坐标系下的关键点、中心点坐标;对关键点、中心点坐标进行约束;将约束后的关键点、中心点坐标,与预设的模型坐标系下对应的关键点坐标和中心点坐标进行配准,输出目标工件的最终姿态。本发明在模型中引入目标对象的几何特征约束,如预测的关键点和中心点的约束,能够提高预测结果的准确性。本发明可广泛应用于位姿识别技术领域。
Description
技术领域
本发明涉及位姿识别技术领域,尤其涉及一种面向无序分拣场景的工件位姿估计方法及装置。
背景技术
工件分拣是工业机器人的基本应用领域之一,当前工业机器人已经能够较好地完成结构化、半结构化场景下的工件分拣任务。但无序场景下,由于场景的未知性及不确定性,目标与目标之间存在相互堆叠和遮挡,增加了机器人对环境及目标的感知难度,降低了机器人分拣任务成功率。
无序场景下工件分拣问题的核心在于工件目标的感知,即需利用视觉感知手段实现目标的识别及其位置姿态估计。由于传感器的精度问题、场景的变化的光照变化及复杂对象的堆叠,现有方法仍无法很好地解决位姿估计问题。
从实际应用场景来看,现有的位姿估计方法主要有两类:基于特征匹配的传统位姿估计和基于深度学习的位姿估计方法。其中,前者通过匹配场景点云和目标模型点云特征,来预测目标的位姿信息。该方法需要建立模板库,并需对大量点云进行在线特征搜索、匹配,效率低,很难满足实时性要求。尤其是当场景存在多个对象堆叠的情况时,该方法因误匹配造成位姿估计严重错误,进而使分拣失败。
基于以上原因,基于深度学习的方法近年来获得更多的关注。它通过对大量数据的训练,获得所需的泛化能力,利用GPU加速可达到在线检测的速度。主要包括直接回归和两阶段方法。前者指的是网络预测得到目标姿态,对目标姿态进行端对端的训练;后者先估计与几何相关的中间变量,再利用2D-3D、3D-3D映射关系得到最终姿态。但从深度相机采集的多视角点云数据及图像推理对象的位姿,其本质是利用投影空间的信息恢复3D物理空间信息,而上述方法仅依靠网络端对端预测位姿,内部缺乏显式的全局几何约束,因此网络的预测稳定性差,尤其是当对象局部特征存在多义性时(如形状规则度、对称度高的工件,单个视角的投影结果可解释为多种三维结构或位姿),网络不能正确回归导致位姿估计错误,这对于高可靠性的应用是不可接受的。其次,基于深度学习的方法需要大量的数据进行监督训练,现有方法通过拍摄场景图像手工标注,该过程耗费大量人力、效率低下,且容易因人为因素导致标注偏差,进而造成网络预测的偏差。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种面向无序分拣场景的工件位姿估计方法及装置。
本发明所采用的技术方案是:
一种面向无序分拣场景的工件位姿估计方法,包括以下步骤:
获取场景工件的RGB-D图像,其中RGB-D图像包括RGB图和深度图;
将RGB图输入到目标检测模块中,获得目标工件的包围框的坐标信息;
根据获得的坐标信息对所述RGB图像、深度图像进行裁剪,将裁剪后的深度图转换成点云,将点云和裁剪后的RGB图像输入位姿估计模型,获得RGB-点云融合特征;
根据RGB-点云融合特征获取相机坐标系下的关键点坐标和中心点坐标;
对获得的关键点坐标与关键点坐标的真值进行约束,对中心点坐标与中心点坐标的真值进行约束,对关键点坐标与中心点坐标之间的边进行几何约束;
通过3D-3D映射关系,将约束后的关键点坐标和中心点坐标,与预设的模型坐标系下对应的关键点坐标和中心点坐标进行配准,输出目标工件的最终姿态。
进一步地,所述位姿估计模型通过以下方式训练获得:
获取渲染数据,获取真实数据并进行标注,根据渲染数据获取训练集和验证集;
将训练集中的RGB-D图像,输入目标检测模块中,获得目标的矩形框信息;
根据矩形框信息对RGB-D图像中的RGB图像、深度图像进行裁剪,并将裁剪后的RGB图像、深度图像输入位姿估计模型;
利用可反向传播的投票机制,得到关键点坐标、中心点坐标,以及得到位姿结果;
利用增加的几何约束训练位姿估计模型;
利用迁移学习,根据真实数据对位姿估计模型进行微调;
采用验证集对训练后的位姿估计模型进行验证。
进一步地,所述渲染数据、真实带标注数据通过以下方式获得:
采用blenderproc的渲染数据制作工具箱获取渲染数据集;所述渲染数据集的组成包含两部分,第一部分为对象生成斐波那契圆均匀采样视点,同时在每个采样视点采用均匀的相机自旋角度;第二部分为堆叠数据,相机以垂直角度,随机自旋采样数据,场景以随机背景随机灯光进行变换;对真实数据进行标注,包括:
将相机固定于机械臂末端,通过眼在手上的手眼标定程序,获得相机相对于机械臂基坐标姿态;其中,通过以下公式获取真实数据的相机姿态:
进一步地,获取数据后,对获取的数据进行筛选,删除可见比例低的目标对象;
其中,可见比例的定义如下:
式中,ptotal指的物体在某个视角全部像素可见情况下的所有像素总和,pshow指的是实际可见像素。
进一步地,所述关键点坐标和中心点坐标通过以下方式获得:
位姿估计模型回归得到基于目标参考点的关键点偏置和中心点偏置;
对特定的某个关键点来说,即获得了该关键点的一个预测集合,通过对得到的关键点集合采用可反向传播的投票机制,获得关键点坐标;
所述可反向传播的投票机制的表达式如下:
式中,中i为场景中目标参考点,j代表第j个关键点,代表目标参考点对第j个关键点的置信度;为通过投票得到的相机坐标系下第j个关键点的坐标值;为目标参考点估计的第j个关键点的坐标值,n为被选择的场景中目标参考点的总数目;
置信度计算公式如下:
进一步地,训练过程中,采用组合损失函数比较模型回归预测的值与真实标注值的差异,根据比较获得的差异训练所述位姿估计模型;
其中,所述组合损失函数包括目标分割损失函数,基于目标参考点的关键点偏置损失函数,基于目标参考点的中心点偏置损失函数,关键点中心点边向量偏置损失函数,关键点损失函数,以及中心点损失函数。
进一步地,所述组合损失函数的表达式如下:
Loss=w1Lkp_v+w2Lcenter_v+w3Lseg+w4Lkp+w5Lcenter+w6Lcenter_kp_v
式中,w1、w2、w3、w4、w5、w6为损失函数的权重;
其中,关键点偏置损失函数为:
式中,M是目标关键点,N是被随机选择的场景点云,Ωk为多义性关键点集合,ofi jk*为关键点的真实偏置,ofi j为场景中第i个点对第j个关键点的实际偏置,,II式代表只有当pi属于目标实例I上的点,式子才成立;
中心点偏置损失函数为:
式中,ofi*为中心点的真实偏置;
目标分割损失函数:
Lseg=-α(1-qi)γlog(qi),qi=ci.li
式中,α是平衡超参数,ci表示第i个点属于每个类别的置信度,γ表示注意力超参数,li为真实的类别标签;
关键点损失函数为:
kpjk*代表关键点的真实坐标;kpj代表训练过程中关键点的实际坐标;
中心点损失函数为:
关键点中心点边向量偏置损失函数为:
式中,cofjk*为关键点集合与中心点之间的真实偏置,cofj为实际关键点集合与中心点之间的偏置。
进一步地,通过投票机制得到关键点坐标和中心点坐标后,通过以下方式得到目标的位姿:
位姿估计模型预测出相机坐标系下关键点坐标和中心点坐标,同时与模型上的关键点、中心点进行配准,得到目标对象的齐次变换矩阵;通过以下公式获得目标的位姿:
X=x1,x2,x3,…,xn
P=P1,P2,P3,...,pn
其中,X是相机坐标系下的关键点集,P是物体坐标系下与X点集中对应的关键点集;R为估计得到的相机到物体坐标系的旋转矩阵,t为估计得到的相机到物体坐标系平移量,Np为对应点的数目。
进一步地,所述采用验证集对训练后的位姿估计模型进行验证,包括:
根据得到的齐次变换矩阵,将模型点云通过所述齐次变换矩阵进行转换,即将模型点云从模型坐标系转换到了相机坐标系;
通过位姿估计模型预测分割得到目标的场景点云,计算相机坐标系下模型点云和目标场景点云间的平均欧式距离,根据平均欧氏距离的值判断位姿估计的准确性。
本发明所采用的另一技术方案是:
一种面向无序分拣场景的工件位姿估计装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明的有益效果是:本发明在模型中引入目标对象的几何特征约束,如预测的关键点和中心点的约束,能够提高预测结果的准确性。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种面向无序分拣场景的工件位姿估计方法的步骤流程图;
图2是本发明实施例中制作真实数据标注的流程图;
图3是本发明实施例中位姿估计模块流程图;
图4是本发明实施例中的渲染数据集斐波那契球采样可视化图;
图5是本发明实施例中的可视化结果图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供一种面向无序分拣场景的工件位姿估计方法,包括以下步骤:
S1、获取场景工件的RGB-D图像,其中RGB-D图像包括RGB图和深度图。
S2、将RGB图输入到目标检测模块(YOLO)中,获得目标工件的包围框的坐标信息。
S3、根据获得的坐标信息对所述RGB图像、深度图像进行裁剪,将裁剪后的深度图转换成点云,将点云和裁剪后的RGB图像输入位姿估计模型,获得RGB-点云融合特征。
S4、根据RGB-点云融合特征获取相机坐标系下的关键点坐标和中心点坐标。
S5、对获得的关键点坐标与关键点坐标的真值进行约束,对中心点坐标与中心点坐标的真值进行约束,对关键点坐标与中心点坐标之间的边进行几何约束。
S6、通过3D-3D映射关系,将约束后的关键点坐标和中心点坐标,与预设的模型坐标系下对应的关键点坐标和中心点坐标进行配准,输出目标工件的最终姿态。
作为一种可选的实施方式,还包括构建抓取平台,验证位姿准确性的步骤。
硬件平台:构建眼在手外的抓取平台,通过相机标定、手眼标定、夹爪标定得到机器人与相机坐标系、夹爪坐标系之间的关系。
软件平台:所述方法为两阶段方法,第一阶段通过目标检测框架YOLO算法得到目标的矩形框信息。第二阶段通过得到的矩形框信息对原始RGB图像及深度图像进行裁剪,输入网络得到目标相对相机坐标系下的齐次变换矩阵。
软硬件连接平台:解决跨平台语言调用的问题。机器人硬件平台通过c#语言编写,软件平台,通过python语言中的pytorch框架进行编写。通过python中flask模块,实现将软件平台得到的齐次变换矩阵上传至网页,机器人硬件平台通过捕获得到网页中的齐次变换矩阵,实现跨平台语言的互相调用。
其中,位姿估计模型通过以下步骤A1-A8获得:
A1、获取渲染数据,获取真实数据并进行标注,根据渲染数据获取训练集和验证集。
通过blenderproc的渲染数据制作工具箱得到渲染数据。渲染数据集的组成包含两部分,第一部分为为对象生成斐波那契圆均匀采样视点,如图4所示,同时在每个采样视点采用均匀的相机自旋角度。第二部分为堆叠数据,相机以垂直角度,随机自旋采样数据,场景以随机背景随机灯光进行变换。将渲染数据分成两部分的有如下原因:若只采用堆叠数据,在blenderproc物体模拟重力下落时,物体的姿态分布会集中偏向于某些姿态,例如标准件角码,在下落过程中大概率以其带平面的物体表面与地面相接触,而一些其他姿势,如以只以某一棱边与地面接触的概率非常小,因此若只以堆叠数据输入网络,网络难以充分学习对象的特征。其次,在每个采样视点采用均匀的相机自旋角度的目的也是为了进一步提高网络对对象特征的学习。确定了视点之后,相机还能沿着视点和中心点连线的方向向量进行自旋,不同自旋角度对象的特征有区别,因此增加相机自旋角度的拍摄,能进一步提高网络对对象特征的学习。
参见图2,真实的数据自动标注:将相机固定于机械臂末端,通过眼在手上的手眼标定程序,获得相机相对于机械臂基坐标姿态,获取真实数据的相机姿态通过以下公式:
其中是物体j在第i帧下物体相对于相机的姿态,是第0帧物体j在相机坐标系下的姿态。获取位姿信息的关键步骤在于得到第一帧对象的准确姿态。目前的位姿标注工具均难以实现良好的精度,更多情况下是根据手动标注来进行。获取第一帧对象的准确姿态存在以下问题:RGB-D相机拍摄得到的目标的场景点云存在大量缺失,导致了目标难以和场景点云直接做icp配准,得到对象的准确姿态。因此采用重建的方法得到稠密的融合点云,再经过场景预先已知的标志物尺寸,恢复到正常的尺度,与模型做配准,与目标CAD模型做配准,得到了目标对象在相机坐标系下的姿态。获取数据后,需要对数据进行筛选。堆叠情况下,需要定义物体的可见比例,若物体可见比例太小,一方面网络难以通过太少的特征进行位姿的预测,其次是可见比例太低,难以进行工件分拣,因此需要筛选可见比例太低的目标对象,可见比例的定义如以下公式所示:
ptotal指的物体在某个视角全部像素可见情况下的所有像素总和,pshow指的是实际可见像素。
作为可选的实施方式,筛选可见比例u大于0.5的图像对象输入网络。
A2、制作关键点集合。
网络提取的点云特征、图像特征具有多义性,造成网络训练效果不佳。这种多义性是由于三维空间中的对象从不同角度投影至二维空间,所得到的深度图和图像是相同的。这种多义性的情况尤其发生在对称物体上,究其更底层原因是因为网络预测的关键点定义具有多义性,造成上述原因。对称对象绕某个对称轴或者对称面旋转一定的角度会出现深度图和图像相同,而所述关键点坐标不相同,造成了关键点有多义性的问题。导致网络学习困难,难以正确收敛。为了消除所述关键点定义的多义性问题,定义对称对象奇异块,奇异块的定义即物体对象组成的最小单位,通过对奇异块进行旋转平移镜像可以组成原对象。采用上述方法,记录由奇异块旋转平移得到原对象的变换矩阵,将采用fps算法得到的基准关键点坐标与变换矩阵相乘得到对象的关键点集合。
A3、将训练集中的RGB-D图像,输入目标检测模块中,获得目标的矩形框信息。
本发明的算法阶段包括两个阶段,第一阶段为得到目标的在图像上的矩形框坐标。通过目标检测先确定目标在图像上的具体位置,减少场景背景的干扰因素,大大提高了后续位姿估计网络的收敛速度及准确度。
A4、根据矩形框信息对RGB-D图像中的RGB图像、深度图像进行裁剪,并将裁剪后的RGB图像、深度图像输入位姿估计模型。
A5、利用可反向传播的投票机制,得到关键点坐标、中心点坐标,以及得到位姿结果。
参见图3,采用可反向传播投票机制,得到关键点、中心点的坐标。同时与模型上的关键点、中心点做配准,得到目标对象的齐次变换矩阵。通过以下公式获得:
位姿估计网络预测出相机坐标系下关键点和中心点坐标,同时与模型上的关键点、中心点做配准,得到目标对象的齐次变换矩阵。物体位姿由下述公式进行优化:
X=x1,x2,x3,…,xn
P=p1,p2,p3,…,pn
其中X是相机坐标系下的关键点集,P物体坐标系下与X点集中对应的关键点集。通过最小化两组对应点的欧氏距离得到物体的姿态。
需要对得到的位姿进行验证,验证的指标为ADD-S,公式如下:
式中,v∈O代表物体点云模型包含的所有点,m为点云中点的个数,R、t为真值,R*、t*为网络预测得到的值。
参见图5、表1-3,表1为ADDS指标计算的ROC曲线面积的对比结果。表2是制作渲染数据集方案中采用在视点相机任意自旋和相机以固定角度拍摄ADDS指标计算的ROC曲线面积的对比结果。表3是不同投票方案得到关键点的时间和准确率。
表1
表2
表3
其中,训练过程中,采用组合损失函数比较网络回归预测的值与真实标注值的差异,根据比较获得的差异训练位姿估计模型。
组合损失函数的表达式如下:
Loss=w1Lkp_v+w2Lcenter_v+w3Lseg+w4Lkp+w5Lcenter+w6Lcenter_kp_v
式中,w1、w2、w3、w4、w5、w6为损失函数的权重。
其中,关键点偏置损失函数为:
式中,Ωk为多义性关键点集合,ofi jk*为关键点的真实偏置,M是目标关键点,N是被随机选择的场景点云,对这些场景点云进行监督学习,上述被选择场景点云的个数为4096,II式代表只有当pi属于目标实例I上的点,上述式子才成立。
上述中心点偏置损失函数为:
式中,ofi*为中心点的真实偏置。
上述目标分割损失函数为:
Lseg=-α(1-qi)γlog(qi)qi=ci.li
式中,α是平衡超参数,此处选择α=1,ci表示第i个点属于每个类别的置信度。γ表示注意力超参数,本实施例中,选择γ=2。
上述关键点损失函数为:
式中,kpjk*代表关键点的真实坐标,对关键点坐标进行监督学习。
上述中心点损失函数为:
上述关键点中心点边向量偏置损失函数为:
式中,cofjk*为关键点集合与中心点之间的真实偏置。
A6、利用增加的几何约束训练位姿估计模型。
利用得到的关键点坐标和中心点坐标,利用增加的几何约束包括关键点损失函数,中心点损失函数,关键点中心点边向量偏置损失函数。比较网络回归预测的值与真实值之间的差异,训练位姿估计网络模型。
A7、利用迁移学习,根据真实数据对位姿估计模型进行微调。
通过在大量的渲染数据集上进行训练后,利用得到的权重作为初始权重在真实数据上进行微调,使得网络在真实数据上有一定的泛化能力。
A8、采用验证集对训练后的位姿估计模型进行验证。
将真实数据输入YOLO网络当中,获取目标在二维图像上的矩形框位置信息。将得到的矩形框位置信息对原图像和深度图像进行裁剪,输入到位姿估计网络模块,得到物体在相机坐标系下的位姿信息。
综上所述,本实施例相对于现有技术,具有如下优点及有益效果:
(1)本实施例方法相比于现有位姿估计方法,利用RGB-点云融合特征进行位姿估计针对以下问题进行改进。其中:1)在模型中引入目标对象的几何特征约束,如预测的关键点和中心点的约束。2)根据对象的形状来定义关键点集合消除图像特征、点云特征的多义性,根据对象的形状来定义关键点集合,提高了预测结果的准确性。
(2)本实施例方法提出真实数据标注方法,有效解决了位姿估计真实数据难以获得的问题。
本实施例还提供一种面向无序分拣场景的工件位姿估计装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
本实施例的一种面向无序分拣场景的工件位姿估计装置,可执行本发明方法实施例所提供的一种面向无序分拣场景的工件位姿估计方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种面向无序分拣场景的工件位姿估计方法,其特征在于,包括以下步骤:
获取场景工件的RGB-D图像,其中RGB-D图像包括RGB图和深度图;
将RGB图输入到目标检测模块中,获得目标工件的包围框的坐标信息;
根据获得的坐标信息对所述RGB图像、深度图像进行裁剪,将裁剪后的深度图转换成点云,将点云和裁剪后的RGB图像输入位姿估计模型,获得RGB-点云融合特征;
根据RGB-点云融合特征获取相机坐标系下的关键点坐标和中心点坐标;
对获得的关键点坐标与关键点坐标的真值进行约束,对中心点坐标与中心点坐标的真值进行约束,对关键点坐标与中心点坐标之间的边进行几何约束;
通过3D-3D映射关系,将约束后的关键点坐标和中心点坐标,与预设的模型坐标系下对应的关键点坐标和中心点坐标进行配准,输出目标工件的最终姿态。
2.根据权利要求1所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,所述位姿估计模型通过以下方式训练获得:
获取渲染数据,获取真实数据并进行标注,根据渲染数据获取训练集和验证集;
将训练集中的RGB-D图像,输入目标检测模块中,获得目标的矩形框信息;
根据矩形框信息对RGB-D图像中的RGB图像、深度图像进行裁剪,并将裁剪后的RGB图像、深度图像输入位姿估计模型;
利用可反向传播的投票机制,得到关键点坐标、中心点坐标,以及得到位姿结果;
利用增加的几何约束训练位姿估计模型;
利用迁移学习,根据真实数据对位姿估计模型进行微调;
采用验证集对训练后的位姿估计模型进行验证。
3.根据权利要求2所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,所述渲染数据、真实带标注数据通过以下方式获得:
采用blenderproc的渲染数据制作工具箱获取渲染数据集;所述渲染数据集的组成包含两部分,第一部分为对象生成斐波那契圆均匀采样视点,同时在每个采样视点采用均匀的相机自旋角度;第二部分为堆叠数据,相机以垂直角度,随机自旋采样数据,场景以随机背景随机灯光进行变换;对真实数据进行标注,包括:
将相机固定于机械臂末端,通过眼在手上的手眼标定程序,获得相机相对于机械臂基坐标姿态;其中,通过以下公式获取真实数据的相机姿态:
5.根据权利要求2所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,所述关键点坐标和中心点坐标通过以下方式获得:
位姿估计模型回归得到基于目标参考点的关键点偏置和中心点偏置;
对特定的某个关键点来说,即获得了该关键点的一个预测集合,通过对得到的关键点集合采用可反向传播的投票机制,获得关键点坐标;
所述可反向传播的投票机制的表达式如下:
式中,中i为场景中目标参考点,j代表第j个关键点,代表目标参考点对第j个关键点的置信度;为通过投票得到的相机坐标系下第j个关键点的坐标值;为目标参考点估计的第j个关键点的坐标值,n为被选择的场景中目标参考点的总数目;
置信度计算公式如下:
6.根据权利要求2所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,训练过程中,采用组合损失函数比较模型回归预测的值与真实标注值的差异,根据比较获得的差异训练所述位姿估计模型;
其中,所述组合损失函数包括目标分割损失函数,基于目标参考点的关键点偏置损失函数,基于目标参考点的中心点偏置损失函数,关键点中心点边向量偏置损失函数,关键点损失函数,以及中心点损失函数。
7.根据权利要求6所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,所述组合损失函数的表达式如下:
Loss=w1Lkp_v+w2Lcenter_v+w3Lseg+w4Lkp+w5Lcenter+w6Lcenter_kp_v
式中,w1、w2、w3、w4、w5、w6为损失函数的权重;
其中,关键点偏置损失函数为:
式中,M是目标关键点,N是被随机选择的场景点云,Ωk为多义性关键点集合,ofi jk*为关键点的真实偏置,ofi j为场景中第i个点对第j个关键点的实际偏置;II式代表只有当pi属于目标实例I上的点,式子才成立;
中心点偏置损失函数为:
式中,ofi*为中心点的真实偏置;
目标分割损失函数为:
Lseg=-α(1-qi)γlog(qi),qi=ci·li
式中,α是平衡超参数,ci表示第i个点属于每个类别的置信度,γ表示注意力超参数,li为真实的类别标签;
关键点损失函数为:
kpjk*代表关键点的真实坐标;kpj代表训练过程中关键点的实际坐标;
中心点损失函数为:
关键点中心点边向量偏置损失函数为:
式中,cofjk*为关键点集合与中心点之间的真实偏置,cofj为实际关键点集合与中心点之间的偏置。
9.根据权利要求8所述的一种面向无序分拣场景的工件位姿估计方法,其特征在于,所述采用验证集对训练后的位姿估计模型进行验证,包括:
根据得到的齐次变换矩阵,将模型点云通过所述齐次变换矩阵进行转换,即将模型点云从模型坐标系转换到了相机坐标系;
通过位姿估计模型预测分割得到目标的场景点云,计算相机坐标系下模型点云和目标场景点云间的平均欧式距离,根据平均欧氏距离的值判断位姿估计的准确性。
10.一种面向无序分拣场景的工件位姿估计装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-9任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210824877.7A CN115359119A (zh) | 2022-07-14 | 2022-07-14 | 一种面向无序分拣场景的工件位姿估计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210824877.7A CN115359119A (zh) | 2022-07-14 | 2022-07-14 | 一种面向无序分拣场景的工件位姿估计方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115359119A true CN115359119A (zh) | 2022-11-18 |
Family
ID=84031593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210824877.7A Pending CN115359119A (zh) | 2022-07-14 | 2022-07-14 | 一种面向无序分拣场景的工件位姿估计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115359119A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117124302A (zh) * | 2023-10-24 | 2023-11-28 | 季华实验室 | 一种零件分拣方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-14 CN CN202210824877.7A patent/CN115359119A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117124302A (zh) * | 2023-10-24 | 2023-11-28 | 季华实验室 | 一种零件分拣方法、装置、电子设备及存储介质 |
CN117124302B (zh) * | 2023-10-24 | 2024-02-13 | 季华实验室 | 一种零件分拣方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及系统 | |
CN110568447B (zh) | 视觉定位的方法、装置及计算机可读介质 | |
Ammar Abbas et al. | A geometric approach to obtain a bird's eye view from an image | |
CN109084746A (zh) | 用于具有辅助传感器的自主平台引导系统的单目模式 | |
Wells III | Statistical object recognition | |
CN112132213A (zh) | 样本图像的处理方法及装置、电子设备、存储介质 | |
CN112562001B (zh) | 一种物体6d位姿估计方法、装置、设备及介质 | |
CN112312113B (zh) | 用于生成三维模型的方法、装置和系统 | |
CN103208112B (zh) | 多个相机的多部分对应器 | |
CN112991534B (zh) | 一种基于多粒度物体模型的室内语义地图构建方法及系统 | |
Ceriani et al. | Pose interpolation slam for large maps using moving 3d sensors | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN114137564A (zh) | 一种室内物体自动标识定位方法和装置 | |
CN114266823A (zh) | 一种结合SuperPoint网络特征提取的单目SLAM方法 | |
CN114140539A (zh) | 一种室内物体的位置获取方法和装置 | |
CN112381873A (zh) | 一种数据标注方法及装置 | |
Kocur et al. | Traffic camera calibration via vehicle vanishing point detection | |
CN115359119A (zh) | 一种面向无序分拣场景的工件位姿估计方法及装置 | |
CN113281779A (zh) | 一种3d物体快速检测方法、装置、设备及介质 | |
CN116894876A (zh) | 基于实时图像的6-dof的定位方法 | |
CN117197241A (zh) | 一种基于多目视觉的机器人末端绝对位姿高精度跟踪方法 | |
CN112146647B (zh) | 一种地面纹理的双目视觉定位方法及芯片 | |
Yu et al. | Multi-view 2D–3D alignment with hybrid bundle adjustment for visual metrology | |
JP3548652B2 (ja) | 物体形状復元装置及びその方法 | |
CN117934725B (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 |