CN110223348B - 基于rgb-d相机的机器人场景自适应位姿估计方法 - Google Patents

基于rgb-d相机的机器人场景自适应位姿估计方法 Download PDF

Info

Publication number
CN110223348B
CN110223348B CN201910138159.2A CN201910138159A CN110223348B CN 110223348 B CN110223348 B CN 110223348B CN 201910138159 A CN201910138159 A CN 201910138159A CN 110223348 B CN110223348 B CN 110223348B
Authority
CN
China
Prior art keywords
point
matching
pose estimation
dimensional
feature
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.)
Active
Application number
CN201910138159.2A
Other languages
English (en)
Other versions
CN110223348A (zh
Inventor
余洪山
付强
林鹏
孙炜
杨振耕
赖立海
陈昱名
吴思良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Research Institute Of Hunan University
Hunan University
Original Assignee
Shenzhen Research Institute Of Hunan University
Hunan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Research Institute Of Hunan University, Hunan University filed Critical Shenzhen Research Institute Of Hunan University
Priority to CN201910138159.2A priority Critical patent/CN110223348B/zh
Publication of CN110223348A publication Critical patent/CN110223348A/zh
Application granted granted Critical
Publication of CN110223348B publication Critical patent/CN110223348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于RGB‑D相机的机器人场景自适应位姿估计方法,基于RGB‑D相机获取的相邻帧的场景二维彩色图像信息和按二维彩色图像像素对应的空间深度信息,在二维彩色图像特征点充足时,采用ORB算子提取特征,采用本发明提出的匹配策略进行精确地匹配,基于匹配特征点的位姿估计算法求解三维位姿估计;在特征点不足时,采用本发明提出的改进ICP算法求解三维位姿估计;然后,本发明设计出完整的切换准则融合上述两种位姿估计方法;最后,本发明采用光束平差算法优化以上两种方法求得的位姿估计,最终得到平滑和准确的三维位姿估计;本发明的三维位姿估计算法具有鲁棒性高、精度高、计算量小、可适应不同场景等突出优点。

Description

基于RGB-D相机的机器人场景自适应位姿估计方法
技术领域
本发明属于机器人控制领域,特别涉及一种基于RGB-D相机的机器人场景自适应位姿估计方法。
背景技术
实时的鲁棒的高精度三维位姿估计是机器人领域的研究难点和热点之一,其目标是实时估计出相邻两相邻时刻机器人三维空间位姿变化量,是机器人SLAM(实时定位和地图创建),运动跟踪,AR(增强现实)等领域的核心内容。传统基于惯性传感器的导航系统现被广泛应用于位姿估计,但是其存在漂移、误差累计等问题,因此其对应位姿估计的精度低、可靠性较差。相对于惯性导航系统,基于视觉的位姿估计不存在物理漂移问题,且通过全局范围的视觉闭环检测可有效消除累积误差,具有较高的稳定性和精确度。目前,基于单目或双目的纯视觉的位姿估计计算量小,精度高,但是绝对尺度信息获取不稳定,且要求场景特征丰富,在特征不明显的场景(如走廊,玻璃墙)容易丢失;基于三维激光测距仪的位姿估计能直接有效获取深度信息和绝对尺度信息,利用三维场景深度信息通过基于ICP的三维点云匹配可进行有尺度的位姿估计,但是由于噪声、误差和不匹配区域比例的增长,ICP迭代算法容易陷入局部优化解,从而该类算法仅在较小空间变换范围内或基于较好的初始估计情况下可获得准确的估计结果。为了实现精确可靠的三维位姿估计,有研究者采用高频率采样获取相邻帧对应的三维信息,从而将相邻帧空间变换限制在较小范围,但是,高频率采样必然导致计算量巨大,难以满足实时性,并且三维激光测距仪硬件成本昂贵,重量大,不利于搭载到轻便的小型机器人身上。
一方面,基于纯视觉的方法的能获取丰富图像信息且求解速度快,但尺度信息无法计算;另一方面,基于深度信息方法能获取绝对尺度信息且精确度高,但计算量大且价格昂贵。因此,融合好二者的优点是提高三维位姿估计可靠性的解决思路。近年来,随着以KINECT为代表的RGB-D相机的市场化,能同时获取二维彩色图像信息和三维深度信息,为两种运动方法的融合提供了硬件支持和实践的便利性。基于此有研究者提出利用相邻两帧之间图像的不变的特征点,通过深度信息读取特征点的深度信息,构成三维点集来求解三维运动的初始估计,以提高ICP算法的估计性能。但是该类方法的缺陷在于严重依赖于特征点选择,首先特征点集中的误匹配点对将对三维估计初始值造成严重影响;其次,该算法仅对图像特征点较多的场景有效,若场景特征点稀疏则容易跟踪失败或误差极大,这都会直接导致算法失败,从而无法获得稳定的位姿估计。在实际的机器人操作环境中,有的区域场景特征丰富,有的区域场景特征稀疏,单一考虑的位姿估计方法难以奏效。
综上所述,如何充分利用三维视觉系统(如KINECT)获取的二维彩色图像信息和三维深度信息,在不同场景下满足机器人的实际需求,鲁棒的实时获取精确的三维运动信息,是本领域急需解决的技术问题。
发明内容
本发明所要解决的技术问题是提供一种基于RGB-D相机的机器人场景自适应位姿估计方法。RGB-D相机获取的相邻帧的场景二维彩色图像信息和按二维彩色图像像素对应的空间深度信息,在二维彩色图像特征点充足时,采用ORB算子提取特征,采用本发明文提出的匹配策略进行精确地匹配,基于匹配特征点的位姿估计算法求解出相对位姿变换;在特征点不足时,采用本发明提出的改进ICP算法求解相对位姿变换;并且,本发明设计出完整的切换准则融合上述两种位姿估计的求解方法。
一种基于RGB-D相机的机器人场景自适应位姿估计方法,包括以下步骤:
步骤1:RGB-D相机分别在t时刻和t+1时刻获取相邻帧场景的二维彩色图像It和It+1、彩色图像对应的三维点云Dt和Dt+1
所述RGB-D相机可同时获取场景的二维彩色图像It与三维点云Dt,其中二维彩色图像I与三维点云D按二维彩色图像像素点一一对应,即二维彩色图像中第u行、第v列的像素点It(u,v)与三维点云中对应的三维点Dt(u,v)(x,y,z)相对应,三维点Dt(u,v)(x,y,z)是指二维彩色图像中第u行、第v列的像素点对应的深度信息;所述三维点云Dt是指二维彩色图像所有像素点对应的三维点集合。
步骤2:分别提取二维彩色图像It和It+1的ORB特征点集合
Figure BDA0001977653570000021
Figure BDA0001977653570000022
得到相邻帧场景的粗匹配特征点对集合M0
步骤3:采用对称性匹配策略和RANSAC算法,对粗匹配特征点对集合M0中的误匹配特征点对进行剔除,得到精确的二维匹配点对集合Mt,t+1
步骤4:从精确的二维匹配点对集合Mt,t+1中,选取符合匹配关系且具有有效深度信息的特征点对{Pi t(x,y,z),Pi t+1(x,y,z)},其中i∈{1,…,Nmatch},Nmatch为具有有效深度信息的三维匹配点对数;
步骤5:判断Nmatch是否大于求解位姿估计所需要的最小匹配特征点对数εmatch,若大于,执行基于特征匹配的三维位姿估计算法,得到位姿估计Tlast和二维彩色图像内点数Ilast,进入步骤6;否则,进入步骤7;
其中,εmatch取值为10;
所述εmatch指采用RANSAC的SVD分解法对Nmatch中所有点对进行求解的最小值。理论上的数值是4,考虑到传感器测量误差,经过实验对比,设为10。
所述基于特征匹配的三维位姿估计算法是指基于RANSAC的SVD分解法求取位姿估计。
步骤6:依据AT判断求得的位姿估计Tlast是否有效:若AT≥εT成立,则基于特征匹配的三维位姿估计求得的位姿估计Tlast有效,进入步骤8,否则,进入步骤7;
其中,AT表示RANSAC位姿估计精度,是指内点总数NI与内点总数的均方根误差EI的比值,εT为判断位姿估计是否有效所设定的阈值;
步骤7:利用步骤1获得的三维点云Dt和Dt+1执行改进的ICP位姿估计,得到位姿估计Tlast
步骤8:利用步骤1-7获取的位姿估计,通过最小化重投影误差进行BA优化,获得平滑后的位姿估计。
进一步地,所述利用步骤1获得的三维点云Dt和Dt+1执行改进的ICP位姿估计,得到位姿估计Tlast的过程如下:
7.1:提取三维点云Dt和Dt+1中点的法向量;
步骤如下:
设三维点云Dt中的一个点为P=(xp,yp,zp)T,且以该点为中心内核半径为r的邻域内的点的数量为N,则其邻域内点的集合为{pi(xi,yi,zi)},i={1,2,…,N},
根据主成分分析法,其质心
Figure BDA0001977653570000031
和协方差矩阵∑p分别为:
Figure BDA0001977653570000032
Figure BDA0001977653570000033
假设由邻域内点集合拟合的平面为S,则该平面的法向量即为矩阵Σp的最小特征值所对应的特征向量,设该特征向量为n,即法向量为n,若平面S为最佳拟合平面,则有:
Figure BDA0001977653570000041
其中,d表示拟合平面与坐标原点间的距离,最小化目标函数可得到最佳拟合平面S(n,d)。
步骤7.2:对三维点云Dt和Dt+1进行双边滤波处理,得到滤波后的三维点云Dt′和Dt+1′;
步骤如下:
对于步骤7.1中三维点云Dt和Dt+1中的点P=(xp,yp,zp)T以及其对应的法向量n,点P为中心内核半径为r的邻域内的点的数量为N,设点P邻域内点的集合为KNN(P),表达式为{Pi(xi,yi,zi)},i={0,1,…,N};
定义双边滤波为:
P′=P+αn
其中,P′为滤波后的新点,α为双边滤波因子,具体表达如下:
Figure BDA0001977653570000042
其中,<n-ni>为向量的点积,ni为集合KNN(P)中点Pi的法向量,ω1,ω2分别是空间域权重和特征域权重,表达式如下:
Figure BDA0001977653570000043
Figure BDA0001977653570000044
其中,参数σ1为采样点P的邻域半径,σ2为邻域内点的标准偏差;
σ1为邻域半径r,σ2为领域中所有点与P的标准偏差;
循环三维点云中每一个点后,得到滤波后的三维点云Dt′和Dt+1′;
步骤7.3:三维点云Dt′和Dt+1′的降采样;
步骤如下:
首先,利用步骤7.1中的法向量提取方法,提取三维点云Dt′和Dt+1′中所有点的法向量;
然后,根据三维点云中点的法向量n与x、y和z轴的夹角,取间隔角度45度,将所有点划分为43个类,其中三个维度上所含类的个数均为4;
最后,随机地从每个类中该类中的1%个点,舍去其它点,得到降采样后的三维点云{pi}和点云{qj};
实测某一原始点云个数为325200,降采样后点云个数为3252,压缩率为1%。
步骤7.4:对于步骤7.3获得的点云{pi}和点云{qj},采用FLANN搜寻方法遍历的搜寻点云{pi}在点云{qj}中的最近邻点,建立点云{pi}和点云{qj}之间的映射关系βk
Figure BDA0001977653570000051
其中,k为迭代次数,k的最大值kmax=20,βk为经k次迭代后计算出来的映射关系,Tk-1为上一次迭代计算后求得的位姿估计,初始值k=1,T0为前一帧图像的位姿估计;
步骤7.5:根据步骤7.4中建立的映射关系βk,采用基于对应点间的中值距离的剔除法和基于表面法向量夹角的剔除法,剔除错误关系匹配点对;
剔除步骤为:
首先,遍历映射βk中所有匹配点对,若
Figure BDA0001977653570000052
剔除此匹配点对;
然后,遍历映射βk中所有匹配点对,求出匹配点对距离的中值距离dmid
再次,遍历映射βk中所有匹配点对,若
Figure BDA0001977653570000053
剔除此匹配点对;
其中,法向量
Figure BDA0001977653570000054
表示点pi在点云{pi}表面的法向量,法向量
Figure BDA0001977653570000055
表示点qj在点云{qj}表面的法向量,
Figure BDA0001977653570000056
表示法向量
Figure BDA0001977653570000057
和法向量
Figure BDA0001977653570000058
的夹角,角度阈值θthreshold经过实验对比设为1°;
Figure BDA0001977653570000059
表示点pi和点qj之间欧式距离的绝对值,距离阈值dthreshold等于中值距离dmid
步骤7.6:采用基于点到面的距离作为目标函数,通过调整变换矩阵T使得剩余匹配点对之间距离的平方和最小化,求得Tk
Figure BDA00019776535700000510
其中,{pi,qi′}是通过步骤7.5剔除错误关系匹配点对后,得到剩余匹配点对集合,i=(1,...,n);ωi为权值,
Figure BDA0001977653570000061
Figure BDA0001977653570000062
表示pi与qi′中深度值较大的点所对应的深度值;
步骤7.7:当Tk-Tk-1>Tthreshold或k>=kmax满足时,迭代终止,令Tlast=Tk,得到当前帧图像的位姿估计Tlast,若不满足,令k=k+1,返回步骤7.4。
每次迭代变化的是映射βk。因为Tk-1在变,映射就会发生变化。
进一步地,当连续获得K帧图像的位姿估计后,采用光束平差法对当前帧图像在内的前M帧图像的位姿估计进行优化,Mw取值为10。
控制优化的规模以达到实时目的。
进一步地,所述采用光束平差法对当前帧图像在内的前M帧图像的位姿估计进行优化的具体过程如下:
步骤8.1:获取K帧新图像,采用步骤1-7所述方法求取最新获得的第K-M+1帧到最新获得的第K帧图像中每一帧图像对应的位姿估计,并获得对应连续M帧图像的位姿估计集合T=[T1,…Tj],j=(1,..,M);
假设连续的M帧图像可以同时观测到N个ORB特征点,Qi表示第i个ORB特征点对应的中的空间三维点,Tj表示第j帧图像对应的位姿估计,P(Tj,Qi)表示空间三维点Qi经过Tj变换,投影到图像上二维成像点;qij表示第i个ORB特征点对应的空间三维点在第j帧图像上的成像点;
步骤8.2:构建目标函数
Figure BDA0001977653570000063
并计算目标函数的雅克比矩阵
Figure BDA0001977653570000064
以及信息矩阵A=JJT
其中,ωij表示指示参数,若第i个空间三维点能够被第j帧图像观测到,则ωij=1,反之,ωij=0;
步骤8.3:求出更新矩阵δT
通过步骤8.2求出的雅克比矩阵J和信息矩阵A,结合方程(A+uI)δT=JTε,求解出更新矩阵δT
其中,更新矩阵δT表示对T的变分,u为阻尼参数且u=10-3,ε=qij-P(Tj,Qi);
步骤8.4:若||δT||<ε,则停止迭代,且输出本次迭代的结果δT,转到步骤8.5;否则令u′=u/10,转到步骤8.2继续计算;
步骤8.5:更新位姿估计集合T′=T+δT,则得到相机新的估计投影点P′(Tj,Qi);如果
Figure BDA0001977653570000071
εT表示迭代终止阈值常量,则认为达到终止条件,输出最终的连续M帧图像位姿估计集合T=T′,输出T;否则,令u=10u,P(Tj,Qi)=P′(Tj,Qi),跳转到步骤8.2。
进一步地,所述基于特征匹配的三维位姿估计算法是指结合RANSAC的SVD分解法求取位姿估计,具体步骤如下:
步骤a:设最大迭代次数为kmax=20,当前迭代次数为k,且初始值为1,最终位姿估计Tlast和最终内点集合Ilast为空,设初始内点集合对应的均方根误差E0=999;
步骤b:从步骤4中获取的Nmatch对有效特征点对{Pi t(x,y,z),Pi t+1(x,y,z)}中随机选取n对匹配点对{Ppi,Qqi},i=(1,..,n),利用SVD算法计算出位姿估计Tk和内点集合Ik,以及内点集合Ik对应的内点个数Nk
步骤c:根据位姿估计Tk,将n对匹配点对{Ppi,Qqi}中源特征点集Ppi投影到目标特征点集Qqi,计算投影后的误差ep
ep=|TkPpi-Qqi|
若误差ep大于设定的阈值,则剔除该匹配点对,否则保留;遍历n对点,得到新的匹配点对{Ppi,Qqi},根据新的匹配点对{Ppi,Qqi}获取新的内点集合Ik′,以及内点个数Nk′,并计算内点的比例NR=Nk′/Nk
步骤d:假如内点的比例NR小于内点比例设定阈值,则认为该位姿估计Tk是无效,返回步骤b;否则,认为位姿估计Tk初步满足要求;
然后,通过新的内点集合Ik′利用SVD算法重新计算位姿估计Tk′,并结合有效特征点对{Ppi,Qqi},计算Ik′对应的均方根误差Ek
Figure BDA0001977653570000081
其中,Nn为有效特征点对{Ppi,Qqi}中的对数;
步骤e:若Ek>Ek-1,说明Tk′优于Tk-1,此时,更新位姿估计Tlast=Tk′,内点集合Ilast=Ik′和内点个数NI=Nk′,均方根误差EI=Ek;否则,令k=k+1,重复步骤b到步骤d,直到达到最大迭代次数kmax,结束计算。
进一步地,所述步骤3中利用粗匹配特征点对M0,剔除其中误匹配点对,最终得到相邻场景精确的二维匹配点对集合Mt,t+1的具体步骤如下:
3.1基于对称性匹配策略剔除误匹配;
对t+1时刻的二维彩色图像It+1的任一图像特征点
Figure BDA0001977653570000082
依次从t时刻的二维彩色图像It的图像特征点中找出基于汉明距离的最近邻匹配的特征点Ft i,构成匹配特征点对集合M0′,M0和M0′的交集构成新的匹配图像特征点对集合M1,剔除非对称的误匹配图像特征点对;
3.2采用RANSAC算法对匹配特征点对集合M1中的误匹配进一步剔除,得到最终的匹配特征点对M0点对集合Mt,t+1
进一步地,所述步骤2中利用ORB特征获取粗匹配M0的具体步骤如下:
步骤2.1:对t时刻和t+1时刻获取的相邻场景的二维彩色图像It和It+1,利用ORB算法分别提取旋转不变特征点集合Ft i
Figure BDA0001977653570000083
步骤2.2:对Ft的任一特征点Ft i,从t+1时刻获取的二维彩色图像特征点Ft+1中,依次找出与Ft i匹配的特征点
Figure BDA0001977653570000084
构成匹配特征点对
Figure BDA0001977653570000085
步骤2.3:遍历Ft中所有特征点:对Ft中所有特征点执行步骤2.2,得到粗匹配图像特征点对集合M0
有益效果
本发明可实现机器人实时位姿估计,具有鲁棒性高,计算量小,可适应不同场景等优点,有效满足了机器人自定位、地图创建、三维运动跟踪、增强现实、虚拟现实等应用领域中对三维运动信息的迫切需求。
与现有三维位姿估计方法相比,本发明的先进性表现在:
1,采用可同时获取二维彩色图像信息和深度信息的市场化传感器,提高了信息获取的便利性,进一步体现了本发明提出的算法的实践性;
2,本发明提出了基于特征匹配的三维位姿估计算法,和传统的SHIT或SURF算子相比,采用速度更快ORB的算子,并且采用结合RANSAC的SVD分解法求取位姿估计,比经典的求解更加稳定,容错率更高;
3,本发明提出了改进的ICP算法求解位姿估计,首先预处理部分先后进行双边滤波和采用基于PCA方法进行降采样,提高了深度点准确度的同时减少了后面迭代过程的计算量,并且,和传统采用点到点的距离作为目标函数度量方法不同,本发明采用点到面的距离作为目标函数的度量,收敛速度和精确度远高于经典ICP算法;
4,本发明设计出完整的方案去融合基于特征匹配和基于ICP算法两种三维位姿估计方法,使得本发明整体的位姿估计方法精确度高,鲁棒性高,可适应于特征点单一或丰富等不同场景的需求;
5,本发明在位姿估计的后端加入了局部优化部分(Local Bundle Adjustment,LBA),采用固定窗口的形式去控制优化的帧数,提高优化速度的同时也消除了局部误差。
附图说明
图1为本发明整体流程图;
图2为原始粗匹配和剔除误匹配后的精确匹配对照图,其中,图(a)为原始粗匹配时的示意图,图(b)为经过对称性匹配策略和RANSANC剔除误匹配后的精确匹配示意图;
图3为本发明提出的改进ICP算法中点云预处理过程示意图,其中,图(a)为双边滤波前后的彩色点云图,(b)图为降采样前后的点云图;
图4为基于特征匹配的三维位姿估计实验效果图,其中,图(a)为机器人运行轨迹,图(b)显示了实验场景中采集到的部分图片,图(c)表示将每两帧对应的相对位姿估计转换到全局坐标系下得到最终的运动轨迹;
图5为改进的ICP算法求解三维位姿估计实验效果图,其中,图(a)为机器人运行轨迹以及起始位置处的彩色点云,图(b)为其中两帧点云配准前后状态的对比(图中分别用红色和绿色表示),图(c)显示了这两组点云在20次迭代过程中误差的衰减曲线;
图6为融合基于特征匹配和ICP算法两种三维位姿估计实验效果图,其中,图(a)为机器人直线运行时采集到的部分图像,该场景单一并且特征稀少,图(b)为对应的运动轨迹如,图(c)为对应的三维地图;
图7局部优化(LBA)实验效果图,其中,图(a)为实验获取的轨迹对比图,图(b)为对应的三维地图,(c)为优化前后关键帧之间的相对位姿估计的误差曲线。
具体实施方式
下面将结合附图和实施例对本发明做进一步的说明。
所述RGB-D相机可同时获取场景的二维彩色图像I与三维点云D,其中二维彩色图像It(u,v)与三维点云Dt(u,v)按二维彩色图像像素点一一对应,即二维彩色图像中第u行、第v列的像素点It(u,v)与三维点云D(u,v)(x,y,z)相对应,三维点云D(u,v)(x,y,z)是指二维彩色图像中第u行、第v列的像素点的深度信息;所述三维点云D是指二维彩色图像所有像素点对应的三维空间点集合。
如图1所示,为本发明的流程图,一种基于RGB-D相机的机器人场景自适应位姿估计方法,包括以下步骤:
步骤1:RGB-D相机分别可在在t时刻和t+1时刻获取相邻帧场景的二维彩色图像It和It+1、彩色图像对应的三维点云Dt和Dt+1
步骤2:图像It和It-1分别提取ORB特征,得到相邻帧场景的匹配图像特征点对集合M;
ORB是一种图像局部特征描述算子,提取特征的速度极快,对平移、旋转、尺度缩放等具有良好的不变性。ORB采用了oFAST算法进行特征检测,oFAST在FAST算子的基础上,采用尺度金字塔进行了优化,因而可以获得具有尺度信息的FAST特征检测算子,并且使用灰度质心法给关键点添加了方向信息,从而弥补了FAST算子不具有旋转不变性的缺陷。
ORB特征采用rBRIEF算法作为特征描述子,rBRIEF算法在BRIEF的基础上添加了方向信息,补了BRIEF算法不具备旋转不变性的缺陷,其主要思想是在特征点周围选取若干对特征点,将这些点的灰度值组合成一个二进制的串,该二进制串即可作为该特征点的特征描述子;具体方法见参考文献1。
步骤3:剔除集合M0中的误匹配图像特征点对,采用对称性匹配策略和RANSAC算法进行误匹配剔除,得到最终获取的精确的二维匹配点对Mt,t+1;如图2,a图为未经剔除的特征点匹配对M0,b图为经过本发明提出的剔除误匹配对后的结果,分别为基于对称性匹配策略剔除和基于RANSAC算法的剔除,两种剔除方法步骤如下:
3.1基于对称性匹配策略剔除误匹配;
对t+1时刻的二维彩色图像It+1的任一图像特征点
Figure BDA0001977653570000111
依次从t时刻的二维彩色图像It的图像特征点中找出基于汉明距离的最近邻匹配的特征点Ft i,构成匹配特征点对集合M0′,M0和M0′的交集构成新的匹配图像特征点对集合M1,剔除非对称的误匹配图像特征点对;
3.2采用RANSAC算法对匹配特征点对集合M1中的误匹配进一步剔除,得到最终的匹配特征点对集合Mt,t+1
对于场景中提取的相邻两幅图像,它们之间应当满足极线几何约束,因此,当两幅图像中的特征点进行匹配时,仅仅接受落在对应极线中的匹配点,这样就可以进一步剔除大量误匹配点。步骤如下:
步骤a:随机选择M1中的sM组匹配特征点对组成随机样本集M2,并基于该样本计算匹配模型H;即使得匹配特征点
Figure BDA0001977653570000112
对满足如下方程:
Figure BDA0001977653570000113
其中
Figure BDA0001977653570000114
步骤b:用步骤a中计算的模型H,对M1未选中的其它样本数据进行测试,若
Figure BDA0001977653570000115
则该特征点对适用于估计的模型H,并称之为模型H的内点,放入M2;否则认为它是外点;其中
Figure BDA0001977653570000116
表示特征点
Figure BDA0001977653570000117
相对于模型H的映射点
Figure BDA0001977653570000118
和匹配对应点
Figure BDA0001977653570000119
的欧式距离,Td为距离阈值,*表示矩阵乘运算;
步骤c:重复k次采样,选择内点数目最多的集合M2
Figure BDA00019776535700001110
其中,ε为M1中的误匹配点对占所有匹配点对的比例,p为设定的匹配成功概率期望值,s为采样数目,s>=4;
步骤d:利用M2中的样本数据重新估计计算模型参数H;
步骤e:利用模型H重新测试样本集M1,确定新的集合M2;反复执行步骤d,步骤e,直至M2中的匹配点对数目前后相差不超过5%-10%为止,这时令M(t,t+1)=M2
步骤4:在步骤3求出的精确二维匹配点对Mt,t+1,对于其中所有符合匹配关系的特征点,在步骤1中获取的三维点云Dt和Dt+1中,索引其对应的深度信息以获取特征点的有效三维信息,分别设为Pi t(x,y,z)和Pi t+1(x,y,z),得到有效特征点对{Pi t(x,y,z),Pi t+1(x,y,z)},其中i∈{1,…,Nmatch},Nmatch为具有有效深度信息的三维匹配点对数。
步骤5:判断步骤4中得到的Nmatch是否大于结合RANSAC的SVD分解法求解位姿估计所需要的最小匹配特征点对数εmatch(理论上至少需要4对不共线的匹配点,为了提高鲁棒性和精确度,本发明将εmatch设为10),若大于,说明场景特征点充足,进入步骤6;否则,说明场景特征点不足,执行改进的ICP(Iterative Closest Point,迭代最近点)位姿估计算法得到Tlast,此时转到步骤8。
步骤6:在场景特征点充足的情况下,结合RANSAC的SVD分解法求取位姿估计Tlast
步骤如下:
步骤6.1:设最大迭代次数为kmax=20,当前迭代次数为k,且初始值为1,最终位姿估计Tlast和最终内点集合Ilast为空,设初始内点集合对应的均方根误差E0=999;
步骤6.2:从步骤4中获取的Nmatch对有效特征点对{Pi t(x,y,z),Pi t+1(x,y,z)}中随机选取n对匹配点对{Ppi,Qqi},i=(1,..,n),利用SVD算法计算出位姿估计Tk和内点集合Ik,以及内点集合Ik对应的内点个数Nk
步骤6.3:根据位姿估计Tk,将n对匹配点对{Ppi,Qqi}中源特征点集Ppi投影到目标特征点集Qqi,计算投影后的误差ep
ep=|TkPpi-Qqi|
若误差ep大于设定的阈值,则剔除该匹配点对,否则保留;遍历n对点,得到新的匹配点对{Ppi,Qqi},根据新的匹配点对{Ppi,Qqi}获取新的内点集合Ik′,以及内点个数Nk′,并计算内点的比例NR=Nk′/Nk
步骤6.4:假如内点的比例NR小于阈值,则认为该位姿估计Tk是无效,返回步骤b;否则,认为位姿估计Tk初步满足要求。
然后,通过新的内点集合Ik′利用SVD算法重新计算位姿估计Tk′,并结合有效特征点对{Ppi,Qqi},计算Ik′对应的均方根误差:
Figure BDA0001977653570000131
其中,Nn为有效特征点对{Ppi,Qqi}中的对数。
步骤6.5:若Ek>Ek-1,说明Tk′优于Tk-1,此时,更新位姿估计Tlast=Tk′,内点集合Ilast=Ik′和内点个数NI=Nk′,均方根误差EI=Ek;否则,令k=k+1,重复步骤6.2到步骤6.4,直到达到最大迭代次数kmax,结束计算。
步骤7:判断步骤6得到的Tlast是否有效。具体步骤为:设AT表示Tlast位姿估计的精度:
Figure BDA0001977653570000132
其中内点个数NI和其对应的均方根误差EI为步骤6中数据。判断AT≥εT是否成立,其中,εT为判断位姿估计是否有效所设定的阈值,若有效,说明此时的位姿估计Tlast精度较好,此时跳转到步骤9,否则,说明此时的位姿估计Tlast精度不够好,此时执行步骤8。
步骤8:将相邻场景二维彩色图像It和It+1对应的深度图像转换成三维点云Dt和Dt+1、然后依次对点云进行滤波、降采样以及法向量提取等预处理,然后采用本发明提出的改进的ICP迭代计算,最后判断迭代过程是否满足终止条件,若满足则获取相对位姿估计Tlast,否则继续执行ICP迭代;
改进的ICP算法步骤如下:
步骤8.1:提取三维点云Dt和Dt+1中点的法向量;
设三维点云Dt中的一个点为P=(xp,yp,zp)T,且以该点为中心内核半径为r的邻域内的点的数量为N,则其邻域内点的集合为{pi(xi,yi,zi)},i={1,2,…,N},
根据主成分分析法,其质心
Figure BDA0001977653570000133
和协方差矩阵∑p分别为:
Figure BDA0001977653570000134
Figure BDA0001977653570000135
假设由邻域内点集合拟合的平面为S,则该平面的法向量即为矩阵Σp的最小特征值所对应的特征向量,设该特征向量为n,即法向量为n,且已被单位化,若平面S为最佳拟合平面,则有:
Figure BDA0001977653570000141
其中,d表示拟合平面与坐标原点间的距离,最小化目标函数可得到最佳拟合平面S(n,d)。
步骤8.2:对三维点云Dt和Dt+1进行双边滤波处理,得到滤波后的三维点云Dt′和Dt+1′;
步骤如下:
对于步骤8.1中三维点云Dt和Dt+1中的点P=(xp,yp,zp)T以及其对应的法向量n,点P为中心内核半径为r的邻域内的点的数量为N,设点P邻域内点的集合为KNN(P),表达式为{Pi(xi,yi,zi)},i={0,1,…,N};
定义双边滤波为:
P′=P+αn
其中,P′为滤波后的新点,α为双边滤波因子,具体表达如下:
Figure BDA0001977653570000142
其中,<n-ni>为向量的点积,ni为集合KNN(P)中点Pi的法向量,ω1,ω2分别是空间域权重和特征域权重,表达式如下:
Figure BDA0001977653570000143
Figure BDA0001977653570000144
其中,参数σ1为采样点P的邻域半径,σ2为邻域内点的标准偏差;
σ1为邻域半径r,σ2为领域中所有点与P的标准偏差;
循环三维点云中每一个点后,得到滤波后的三维点云Dt′和Dt+1′;
步骤8.3:三维点云Dt′和Dt+1′的降采样;
步骤如下:
首先,利用步骤8.1中的法向量提取方法,提取三维点云Dt′和Dt+1′中所有点的法向量;
然后,根据三维点云中点的法向量n与x、y和z轴的夹角,取间隔角度45度,将所有点划分为43个类,其中三个维度上所含类的个数均为4;
最后,随机地从每个类中该类中的1%个点,舍去其它点,得到降采样后的三维点云{pi}和点云{qj};
实测某一原始点云个数为325200,降采样后点云个数为3252,压缩率为1%。
步骤8.4:对于步骤8.3获得的点云{pi}和点云{qj},采用FLANN搜寻方法遍历的搜寻点云{pi}在点云{qj}中的最近邻点,建立点云{pi}和点云{qj}之间的映射关系βk
Figure BDA0001977653570000151
其中,k为迭代次数,k的最大值kmax=20,βk为经k次迭代后计算出来的映射关系,Tk-1为上一次迭代计算后求得的位姿估计,初始值k=1,T0为前一帧图像的位姿估计;
步骤8.5:根据步骤8.4中建立的映射关系βk,采用基于对应点间的中值距离的剔除法和基于表面法向量夹角的剔除法,剔除错误关系匹配点对;
剔除步骤为:
首先,遍历映射βk中所有匹配点对,若
Figure BDA0001977653570000152
剔除此匹配点对;
然后,遍历映射βk中所有匹配点对,求出匹配点对距离的中值距离dmid
再次,遍历映射βk中所有匹配点对,若
Figure BDA0001977653570000153
剔除此匹配点对;
其中,法向量
Figure BDA0001977653570000154
表示点pi在点云{pi}表面的法向量,法向量
Figure BDA0001977653570000155
表示点qj在点云{qj}表面的法向量,
Figure BDA0001977653570000156
表示法向量
Figure BDA0001977653570000157
和法向量
Figure BDA0001977653570000158
的夹角,角度阈值θthreshold经过实验对比设为1°;
Figure BDA0001977653570000159
表示点pi和点qj之间欧式距离的绝对值,距离阈值dthreshold等于中值距离dmid
步骤8.6:采用基于点到面的距离作为目标函数,通过调整变换矩阵T使得剩余匹配点对之间距离的平方和最小化,求得Tk
Figure BDA00019776535700001510
其中,{pi,qi′}是通过步骤8.5剔除错误关系匹配点对后,得到剩余匹配点对集合,i=(1,...,n);ωi为权值,
Figure BDA0001977653570000161
Figure BDA0001977653570000162
表示pi与qi′中深度值较大的点所对应的深度值;
步骤8.7:当Tk-Tk-1>Tthreshold或k>=kmax满足时,迭代终止,令Tlast=Tk,得到当前帧图像的位姿估计Tlast,若不满足,令k=k+1,返回步骤8.4。
每次迭代变化的是映射βk。因为Tk-1在变,映射就会发生变化。
步骤9:利用步骤1-7获取的位姿估计,通过最小化重投影误差进行BA优化,获得平滑后的位姿估计。步骤如下:
步骤9.1:获取K帧新图像,采用步骤1-7所述方法求取最新获得的第K-M+1帧到最新获得的第K帧图像中每一帧图像对应的位姿估计,并获得对应连续M帧图像的位姿估计集合T=[T1,…Tj],j=(1,..,M);
令连续的M帧图像可以同时观测到N个ORB特征点,Qi表示第i个ORB特征点对应的中的空间三维点,Tj表示第j帧图像对应的位姿估计,P(Tj,Qi)表示空间三维点Qi经过Tj变换,投影到图像上成像点;qij表示第i个ORB特征点对应的空间三维点在第j帧图像上的成像点;
步骤9.2:构建目标函数
Figure BDA0001977653570000163
并计算目标函数的雅克比矩阵
Figure BDA0001977653570000164
以及信息矩阵A=JJT;其中,ωij表示指示参数,若第i个空间三维点能够被第j帧图像观测到,则ωij=1,反之,ωij=0;
步骤9.3:求出更新矩阵δT;通过步骤8.2求出的雅克比矩阵J和信息矩阵A,结合方程(A+uI)δT=JTε,求解出更新矩阵δT;其中,更新矩阵δT表示对T的变分,u为阻尼参数且u=10-3,ε=qij-P(Tj,Qi);
步骤9.4:若||δT||<ε,则停止迭代,且输出本次迭代的结果δT,转到步骤8.5;否则令u′=u/10,转到步骤8.2继续计算;
步骤9.5:更新位姿估计集合T′=T+δT,则得到相机新的估计投影点P′(Tj,Qi);如果
Figure BDA0001977653570000171
其中,εT表示迭代终止阈值常量,则认为达到终止条件,输出最终的连续M帧图像位姿估计集合T=T′,输出T;否则,令u=10u,P(Tj,Qi)=P′(Tj,Qi),回到步骤9.2。
步骤10:若机器人系统运动结束,无需对机器人位姿运动进行估计,退出三维位姿估计;否则,转至步骤1重复继续进行与下一个相邻帧的三维位姿估计。
本发明的试验结果与对比效果如图4-图7所示。
如图4,为验证本发明提出的基于特征匹配的三维位姿估计,所选实验场景为湖南大学除冰实验室,特征点比较丰富。其中,图(a)显示了机器人运行轨迹,图(b)显示了实验场景中采集到的部分图片,其中机器人是沿着红色条带寻线运行的,实验中共采集到320帧图像。从图中可以直观地看到,该场景具有相对充足的特征点,因此这里采用基于特征点的位姿估计方法,首先对图像提取ORB特征,然后经过特征匹配、剔除误匹配后采用结合RANSAC的SVD分解算法求解位姿估计。
将每两帧对应的相对位姿估计转换到全局坐标系下得到最终的运动轨迹,如图(c)所示,其中“*”表示图像所对应的坐标位置,图中仅显示关键帧所在位置。该轨迹所对应的绝对误差的均方根为ATERMSE=0.33,且平均耗时为0.039秒,基本满足实时的要求。由此可见,对于该场景单独采用基于特征的方法能够完整且相对有效地求解出位姿估计,但计算得到的轨迹与真实轨迹存在一定的误差。
如图5,为验证本发明提出的改进的ICP算法求取三维位姿估计,所选试验场景为湖南大学机器人实验室的转弯部分作为实验场景,仅采用深度数据进行试验。其中,机器人运行轨迹以及起始位置处的彩色点云如图(a)所示,实验共采集了18帧图像,获取对应的深度图像信息。图(b)显示了其中两帧点云配准前后状态的对比(图中分别用红色和绿色表示),由图可知,配准后两帧点云得到较为完整的融合(从图中蓝色椭圆和紫色椭圆处可明显观察到),图(c)显示了这两组点云在20次迭代过程中误差的衰减曲线,由图可知,误差在前几次迭代过程中衰减较快,经过后面若干次迭代后缓慢地趋于稳定,且最终误差值降低到0.011。图(d)显示了本文改进的ICP算法对18帧点云的配准结果,表(Ⅰ)为改进的ICP算法和经典ICP算法的对比。可知,在不加初值的情况下仍然能够得到较为准确的结果,但计算量大和速度慢。
表(I)配准精度和速度对比
Figure BDA0001977653570000181
如图6,为验证本发明提出的融合基于特征点和ICP算法的三维位姿估计算法,所选实验场景为某工程训练中心走廊,机器人沿直线运行32.5m,实验中共采集到162帧图像。其中,图(a)为机器人直线运行时采集到的部分图像,可知该场景单一且特征稀少,对于位姿估计的求解存在很大挑战,如果直接采用基于特征的求解方法则将出现很大的偏差,甚至出现完全错误的结果。运动轨迹如图(b)所示,所对应的绝对误差的均方根为ATERMSE=0.63,对应的三维地图如图(c)所示。由图6可知。本发提出的鲁棒的三维位姿估计方法对环境单一、场景特征不充足的情况能够取得较好的效果。
如图7,为验证局部优化后的效果,图4展示的是基于特征点的三维运动的效果,我们在该实验上添加局部优化部分。实验获取的效果如图(a)所示,对应的三维地图如图(b)所示,由上述轨迹图可以看出,经局部优化后整个轨迹的平滑了许多,该轨迹所对应的绝对误差的均方根为ATERMSE=0.24,而图4展示的未加局部优化时的,绝对误差的均方根为ATERMSE=0.33。优化前后关键帧之间的相对位姿估计的误差曲线如图(c)所示,由图可知,经优化后局部误差得到大幅度减小。
根据上述实验分析,本发明算法在三维估计的精确度和稳定性方面均优于现有算法。
参考文献1:E.Rublee,V.Rabaud,K.Konolige,and G.Bradski,“ORB:Anefficient alternative to SIFT or SURF,”in Proc.IEEE Int.Conf.Comput.Vision,Barcelona,Spain,Nov.2011,pp.2564–2571.

Claims (7)

1.一种基于RGB-D相机的机器人场景自适应位姿估计方法其特征在于,包括以下步骤:
步骤1:RGB-D相机分别在t时刻和t+1时刻获取相邻帧场景的二维彩色图像It和It+1、彩色图像对应的三维点云Dt和Dt+1
步骤2:分别提取二维彩色图像It和It+1的ORB特征点集合
Figure FDA0001977653560000011
Figure FDA0001977653560000012
得到相邻帧场景的粗匹配特征点对集合M0
步骤3:采用对称性匹配策略和RANSAC算法,对粗匹配特征点对集合M0中的误匹配特征点对进行剔除,得到精确的二维匹配点对集合Mt,t+1
步骤4:从精确的二维匹配点对集合Mt,t+1中,选取符合匹配关系且具有有效深度信息的特征点对
Figure FDA0001977653560000013
其中i∈{1,…,Nmatch},Nmatch为具有有效深度信息的三维匹配点对数;
步骤5:判断Nmatch是否大于求解位姿估计所需要的最小匹配特征点对数εmatch,若大于,执行基于特征匹配的三维位姿估计算法,得到位姿估计Tlast和二维彩色图像内点数Ilast,进入步骤6;否则,进入步骤7;
其中,εmatch取值为10;
步骤6:依据AT判断求得的位姿估计Tlast是否有效:若AT≥εT成立,则基于特征匹配的三维位姿估计求得的位姿估计Tlast有效,进入步骤8,否则,进入步骤7;
其中,AT表示RANSAC位姿估计精度,是指内点总数NI与内点总数的均方根误差EI的比值,εT为判断位姿估计是否有效所设定的阈值;
步骤7:利用步骤1获得的三维点云Dt和Dt+1执行改进的ICP位姿估计,得到位姿估计Tlast
步骤8:利用步骤1-7获取的位姿估计,通过最小化重投影误差进行BA优化,获得平滑后的位姿估计。
2.根据权利要求1所述的方法,其特征在于,所述利用步骤1获得的三维点云Dt和Dt+1执行改进的ICP位姿估计,得到位姿估计Tlast的过程如下:
步骤7.1:对于步骤1中获取的三维点云Dt和Dt+1,进行点云预处理后,基于法向量空间进行降采样,得到原始点云1%的三维点云数据,分别设为点云{pi}和点云{qj},其对应的点数分别为m和n;
所述点云预处理依次为双边滤波,基于PCA算法的法向量计算;
步骤7.2:对于步骤7.1获得的点云{pi}和点云{qj},采用FLANN搜寻方法遍历的搜寻点云{pi}在点云{qj}中的最近邻点,建立点云{pi}和点云{qj}之间的映射关系βk
Figure FDA0001977653560000021
其中,k为迭代次数,k的最大值kmax=20,βk为经k次迭代后计算出来的映射关系,Tk-1为上一次迭代计算后求得的位姿估计,初始值k=1,T0为前一帧图像的位姿估计;
步骤7.3:根据步骤7.2中建立的映射关系βk,采用基于对应点间的中值距离的剔除法和基于表面法向量夹角的剔除法,剔除错误关系匹配点对;
剔除步骤为:
首先,遍历映射βk中所有匹配点对,若
Figure FDA0001977653560000022
剔除此匹配点对;
然后,遍历映射βk中所有匹配点对,求出匹配点对距离的中值距离dmid
再次,遍历映射βk中所有匹配点对,若
Figure FDA0001977653560000023
剔除此匹配点对;
其中,法向量
Figure FDA0001977653560000024
表示点pi在点云{pi}表面的法向量,法向量
Figure FDA0001977653560000025
表示点qj在点云{qj}表面的法向量,
Figure FDA0001977653560000026
表示法向量
Figure FDA0001977653560000027
和法向量
Figure FDA0001977653560000028
的夹角,角度阈值θthreshold经过实验对比设为1°;
Figure FDA0001977653560000029
表示点pi和点qj之间欧式距离的绝对值,距离阈值dthreshold等于中值距离dmid
步骤7.4:采用基于点到面的距离作为目标函数,通过调整变换矩阵T使得剩余匹配点对之间距离的平方和最小化,求得Tk
Figure FDA00019776535600000210
其中,{pi,q′i}是通过步骤7.3剔除错误关系匹配点对后,得到剩余匹配点对集合,i=(1,...,n);ωi为权值,
Figure FDA00019776535600000211
Figure FDA00019776535600000212
表示pi与qi′中深度值较大的点所对应的深度值;
步骤7.5:当Tk-Tk-1>Tthreshold或k>=kmax满足时,迭代终止,令Tlast=Tk,得到当前帧图像的位姿估计Tlast,若不满足,令k=k+1,返回步骤7.2。
3.根据权利要求1所述的方法,其特征在于,当连续获得K帧图像的位姿估计后,采用光束平差法对当前帧图像在内的前M帧图像的位姿估计进行优化,Mw取值为10。
4.根据权利要求3所述的方法,其特征在于,所述采用光束平差法对当前帧图像在内的前M帧图像的位姿估计进行优化的具体过程如下:
步骤8.1:获取K帧新图像,采用步骤1-7所述方法求取最新获得的第K-M+1帧到最新获得的第K帧图像中每一帧图像对应的位姿估计,并获得对应连续M帧图像的位姿估计集合T=[T1,…Tj],j=(1,..,M);
假设连续的M帧图像可以同时观测到N个ORB特征点,Qi表示第i个ORB特征点对应的中的空间三维点,Tj表示第j帧图像对应的位姿估计,P(Tj,Qi)表示空间三维点Qi经过Tj变换,投影到图像上二维成像点;qij表示第i个ORB特征点对应的空间三维点在第j帧图像上的成像点;
步骤8.2:构建目标函数
Figure FDA0001977653560000031
并计算目标函数的雅克比矩阵
Figure FDA0001977653560000032
以及信息矩阵A=JJT
其中,ωij表示指示参数,若第i个空间三维点能够被第j帧图像观测到,则ωij=1,反之,ωij=0;
步骤8.3:求出更新矩阵δT
通过步骤8.2求出的雅克比矩阵J和信息矩阵A,结合方程(A+uI)δT=JTε,求解出更新矩阵δT
其中,更新矩阵δT表示对T的变分,u为阻尼参数且u=10-3,ε=qij-P(Tj,Qi);
步骤8.4:若||δT||<ε,则停止迭代,且输出本次迭代的结果δT,转到步骤8.5;否则令u′=u/10,转到步骤8.2继续计算;
步骤8.5:更新位姿估计集合T′=T+δT,则得到相机新的估计投影点P′(Tj,Qi);如果
Figure FDA0001977653560000041
其中,εT表示迭代终止阈值常量,则说明达到了迭代终止条件,输出最终的连续M帧图像位姿估计集合T=T′,输出T;否则,令u=10u,P(Tj,Qi)=P′(Tj,Qi),跳转到步骤8.2。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于特征匹配的三维位姿估计算法是指结合RANSAC的SVD分解法求取位姿估计,具体步骤如下:
步骤a:设最大迭代次数为kmax=20,当前迭代次数为k,且初始值为1,最终位姿估计Tlast和最终内点集合Ilast为空,设初始内点集合对应的均方根误差E0=999;
步骤b:从步骤4中获取的Nmatch对有效特征点对{Pi t(x,y,z),Pi t+1(x,y,z)}中随机选取n对匹配点对{Ppi,Qqi},i=(1,..,n),利用SVD算法计算出位姿估计Tk和内点集合Ik,以及内点集合Ik对应的内点个数Nk
步骤c:根据位姿估计Tk,将n对匹配点对{Ppi,Qqi}中源特征点集Ppi投影到目标特征点集Qqi,计算投影后的误差ep
ep=|TkPpi-Qqi|
若误差ep大于设定的阈值,则剔除该匹配点对,否则保留;遍历n对点,得到新的匹配点对{P′pi,Q′qi},根据新的匹配点对{P′pi,Q′qi}获取新的内点集合I′k,以及内点个数N′k,并计算内点的比例NR=N′k/Nk
步骤d:假如内点的比例NR小于内点比例设定阈值,则认为该位姿估计Tk是无效,返回步骤b;否则,认为位姿估计Tk初步满足要求;
然后,通过新的内点集合I′k利用SVD算法重新计算位姿估计T′k,并结合有效特征点对{P′pi,Q′qi},计算Ik′对应的均方根误差Ek
Figure FDA0001977653560000042
其中,Nn为有效特征点对{P′pi,Q′qi}中的对数;
步骤e:若Ek>Ek-1,说明T′k优于T′k-1,此时,更新位姿估计Tlast=T′k,内点集合Ilast=I′k和内点个数NI=N′k,均方根误差EI=Ek;否则,令k=k+1,重复步骤b到步骤d,直到达到最大迭代次数kmax,结束计算。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述步骤3中利用粗匹配特征点对M0,剔除其中误匹配点对,最终得到相邻场景精确的二维匹配点对集合Mt,t+1的具体步骤如下:
3.1基于对称性匹配策略剔除误匹配;
对t+1时刻的二维彩色图像It+1的任一图像特征点
Figure FDA0001977653560000054
依次从t时刻的二维彩色图像It的图像特征点中找出基于汉明距离的最近邻匹配的特征点Ft i,构成匹配特征点对集合M′0,M0和M′0的交集构成新的匹配图像特征点对集合M1,剔除非对称的误匹配图像特征点对;
3.2采用RANSAC算法对匹配特征点对集合M1中的误匹配进一步剔除,得到最终的匹配特征点对M0点对集合Mt,t+1
7.根据权利要求1-4任一项所述的方法,其特征在于,所述步骤2中利用ORB特征获取粗匹配M0的具体步骤如下:
步骤2.1:对t时刻和t+1时刻获取的相邻场景的二维彩色图像It和It+1,利用ORB算法分别提取旋转不变特征点集合Ft i
Figure FDA0001977653560000051
步骤2.2:对Ft的任一特征点Ft i,从t+1时刻获取的二维彩色图像特征点Ft+1中,依次找出与Ft i匹配的特征点
Figure FDA0001977653560000052
构成匹配特征点对
Figure FDA0001977653560000053
步骤2.3:遍历Ft中所有特征点:对Ft中所有特征点执行步骤2.2,得到粗匹配图像特征点对集合M0
CN201910138159.2A 2019-02-25 2019-02-25 基于rgb-d相机的机器人场景自适应位姿估计方法 Active CN110223348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910138159.2A CN110223348B (zh) 2019-02-25 2019-02-25 基于rgb-d相机的机器人场景自适应位姿估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910138159.2A CN110223348B (zh) 2019-02-25 2019-02-25 基于rgb-d相机的机器人场景自适应位姿估计方法

Publications (2)

Publication Number Publication Date
CN110223348A CN110223348A (zh) 2019-09-10
CN110223348B true CN110223348B (zh) 2023-05-23

Family

ID=67822308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910138159.2A Active CN110223348B (zh) 2019-02-25 2019-02-25 基于rgb-d相机的机器人场景自适应位姿估计方法

Country Status (1)

Country Link
CN (1) CN110223348B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705605B (zh) * 2019-09-11 2022-05-10 北京奇艺世纪科技有限公司 特征数据库建立及动作识别方法、装置、系统及存储介质
CN110653820B (zh) * 2019-09-29 2022-11-01 东北大学 一种结合几何约束的机器人抓取位姿估计方法
CN110942476A (zh) * 2019-10-17 2020-03-31 湖南大学 基于二维图像引导的改进三维点云配准方法、系统及可读存储介质
CN110823225A (zh) * 2019-10-29 2020-02-21 北京影谱科技股份有限公司 室内动态情景下的定位方法和装置
CN111027559A (zh) * 2019-10-31 2020-04-17 湖南大学 一种基于扩张点卷积空间金字塔池化的点云语义分割方法
CN111308415B (zh) * 2019-11-01 2022-09-02 华为技术有限公司 一种基于时间延迟的在线估计位姿的方法和设备
CN111009005A (zh) * 2019-11-27 2020-04-14 天津大学 几何信息与光度信息相结合的场景分类点云粗配准方法
CN111724439B (zh) * 2019-11-29 2024-05-17 中国科学院上海微系统与信息技术研究所 一种动态场景下的视觉定位方法及装置
CN111091084A (zh) * 2019-12-10 2020-05-01 南通慧识智能科技有限公司 一种应用深度数据分布约束的运动估计方法
CN110956664B (zh) * 2019-12-17 2023-06-16 武汉易维晟医疗科技有限公司 一种手持式三维扫描系统的相机位置实时重定位方法
CN111105460B (zh) * 2019-12-26 2023-04-25 电子科技大学 一种室内场景三维重建的rgb-d相机位姿估计方法
CN111144349B (zh) * 2019-12-30 2023-02-24 中国电子科技集团公司信息科学研究院 一种室内视觉重定位方法及系统
CN111311679B (zh) * 2020-01-31 2022-04-01 武汉大学 一种基于深度相机的自由漂浮目标位姿估计方法
CN111563138B (zh) * 2020-04-30 2024-01-05 浙江商汤科技开发有限公司 定位方法及装置、电子设备和存储介质
CN111667506B (zh) * 2020-05-14 2023-03-24 电子科技大学 一种基于orb特征点的运动估计方法
CN112001926B (zh) * 2020-07-04 2024-04-09 西安电子科技大学 基于多维语义映射rgbd多相机标定方法、系统及应用
CN112070832B (zh) * 2020-08-07 2023-02-17 清华大学 基于点云dca特征的非合作目标位姿跟踪方法及装置
CN112164117A (zh) * 2020-09-30 2021-01-01 武汉科技大学 一种基于Kinect相机的V-SLAM位姿估算方法
CN112631271A (zh) * 2020-10-09 2021-04-09 南京凌华微电子科技有限公司 一种基于机器人感知融合的地图生成方法
CN112396656B (zh) * 2020-11-24 2023-04-07 福州大学 一种视觉与激光雷达融合的室外移动机器人位姿估计方法
CN112748700A (zh) * 2020-12-18 2021-05-04 深圳市显控科技股份有限公司 数控代码生成方法、装置、电子设备及存储介质
CN112907657A (zh) * 2021-03-05 2021-06-04 科益展智能装备有限公司 一种机器人重定位方法、装置、设备及存储介质
CN112907633B (zh) * 2021-03-17 2023-12-01 中国科学院空天信息创新研究院 动态特征点识别方法及其应用
CN113256718B (zh) * 2021-05-27 2023-04-07 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113619569A (zh) * 2021-08-02 2021-11-09 蔚来汽车科技(安徽)有限公司 用于固定泊车场景的车辆定位方法及其系统
CN113628275B (zh) * 2021-08-18 2022-12-02 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种充电口位姿估计方法、系统、充电机器人及存储介质
CN114494825B (zh) * 2021-12-31 2024-04-19 重庆特斯联智慧科技股份有限公司 一种机器人定位方法及装置
CN114742887B (zh) * 2022-03-02 2023-04-18 广东工业大学 一种基于点线面特征融合的无人机位姿估计方法
CN114550491A (zh) * 2022-03-03 2022-05-27 东南大学 一种基于手机的机场地下停车位定位导航方法
CN115451948A (zh) * 2022-08-09 2022-12-09 中国科学院计算技术研究所 一种基于多传感器融合的农业无人车定位里程计方法及系统
CN115115708B (zh) * 2022-08-22 2023-01-17 荣耀终端有限公司 一种图像位姿的计算方法及系统
CN117570994B (zh) * 2023-12-01 2024-05-28 广州大学 利用柱状结构辅助slam的地图表征方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559711A (zh) * 2013-11-05 2014-02-05 余洪山 基于三维视觉系统图像特征和三维信息的运动估计方法
WO2015154601A1 (zh) * 2014-04-08 2015-10-15 中山大学 一种基于无特征提取的紧致sfm三维重建方法
CN105856230A (zh) * 2016-05-06 2016-08-17 简燕梅 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559711A (zh) * 2013-11-05 2014-02-05 余洪山 基于三维视觉系统图像特征和三维信息的运动估计方法
WO2015154601A1 (zh) * 2014-04-08 2015-10-15 中山大学 一种基于无特征提取的紧致sfm三维重建方法
CN105856230A (zh) * 2016-05-06 2016-08-17 简燕梅 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法

Also Published As

Publication number Publication date
CN110223348A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110223348B (zh) 基于rgb-d相机的机器人场景自适应位姿估计方法
CN110569704B (zh) 一种基于立体视觉的多策略自适应车道线检测方法
CN112304307B (zh) 一种基于多传感器融合的定位方法、装置和存储介质
CN108428255B (zh) 一种基于无人机的实时三维重建方法
CN107341814B (zh) 基于稀疏直接法的四旋翼无人机单目视觉测程方法
CN108615246B (zh) 提高视觉里程计系统鲁棒性和降低算法计算消耗的方法
CN106595659A (zh) 城市复杂环境下多无人机视觉slam的地图融合方法
CN113506318B (zh) 一种车载边缘场景下的三维目标感知方法
CN108519102B (zh) 一种基于二次投影的双目视觉里程计算方法
CN108229416A (zh) 基于语义分割技术的机器人slam方法
CN112419497A (zh) 基于单目视觉的特征法与直接法相融合的slam方法
CN110942476A (zh) 基于二维图像引导的改进三维点云配准方法、系统及可读存储介质
CN114549549B (zh) 一种动态环境下基于实例分割的动态目标建模跟踪方法
CN116468786B (zh) 一种面向动态环境的基于点线联合的语义slam方法
CN116449384A (zh) 基于固态激光雷达的雷达惯性紧耦合定位建图方法
CN112752028A (zh) 移动平台的位姿确定方法、装置、设备和存储介质
CN113781562A (zh) 一种基于道路模型的车道线虚实配准和自车定位方法
CN115830070A (zh) 一种牵引变电所巡检机器人红外激光融合定位方法
CN117541614B (zh) 基于改进icp算法的空间非合作目标近距离相对位姿跟踪方法
CN112767481B (zh) 一种基于视觉边缘特征的高精度定位及建图方法
CN116147618B (zh) 一种适用动态环境的实时状态感知方法及系统
CN117036447A (zh) 基于多传感器融合的室内场景稠密三维重建方法及装置
CN115482282A (zh) 自动驾驶场景下具有多目标追踪能力的动态slam方法
CN113720323B (zh) 基于点线特征融合的单目视觉惯导slam方法及装置
CN113850293B (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
TA01 Transfer of patent application right

Effective date of registration: 20191107

Address after: Yuelu District City, Hunan province 410082 Changsha Lushan Road No. 1

Applicant after: HUNAN University

Applicant after: SHENZHEN RESEARCH INSTITUTE OF HUNAN University

Address before: Yuelu District City, Hunan province 410082 Changsha Lushan South Road, Hunan University

Applicant before: Hunan University

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant