法律状态公告日
法律状态信息
法律状态
2020-06-23
授权
授权
2019-04-23
实质审查的生效 IPC(主分类):G06T7/246 申请日:20181122
实质审查的生效
2019-03-29
公开
公开
技术领域
本发明涉及逆向工程领域,特别涉及一种基于相机位姿估计的三维点云配准方法。
背景技术
随着中国制造2025以及世界各国“工业4.0”计划的推进,三维建模技术快速发展,迅速渗透到众多制造领域中。自微软Kinect深度传感器、英特尔realsense、苹果公司iphone X的上市,三维建模技术迅速风靡消费电子领域。三维建模技术快速发展,在众多行业与领域中均获得了广泛应用。
通过测量方式获取物体三维信息是三维建模邻域最精确的物体空间几何信息获取方法。通常将三维测量所获得的三维点的集合称为点云。受阴影和遮挡影响,绝大多数三维测量仪器都不能只通过一次测量即获取完整的物体形貌信息,一次测量只能采集某一视角下的物体某一部分表面的三维数据。要完成物体整个表面的三维测量,需要将不同视角下对物体的三维测量结构进行数据融合,由于多次采集的三维数据并不在同一坐标系下,为完成多视角三维点云数据融合,需将各个视角得到的三维点云统一到同一个坐标系下,这一过程称为点云配准。多视角三维点云的配准是后续三维点云数据拼接融合的基础,点云配准的速度和精度直接影响三维建模质量,影响着三维点云数据在实际业务流程中的应用效果。
在点云配准邻域,最为经典与使用的方法是Besl等提出的最近点迭代法ICP算法(Besl P J,Mckay N D.A method for registration of 3D shapes.IEEE),利用牛顿迭代或者搜索方法寻找两组点云对应的最近点对,并采用欧氏距离作为目标函数进行迭代,从而得到三维的刚体变换。由于ICP算法具有较高的精确度,很快就成为了多视点云配准中的主流算法,随着ICP算法的广泛应用,研究者们对该算法做了许多详细的研究。目前适用的方法大多为该方法的发展与改进。
Martin Magnusson提出的正态分布变换(The Three-Dimensional NormalDistributions Transform-an Efficient Representation for Registration SurfaceAnalysis and Loop Detection)应用与三维点的统计模型,使用标准的最优化技术来确定两个点云间的最优匹配,因为其在配准过程中不利用各对应点的特征计算和匹配,所以处理时间比最近点迭代方法快。
但上述两类已有方法,均是从三维点云数据本身来考虑点云配准问题,并没有有效地利用单视角三维数据采集过程中的信息,而且,目前还没有关于将三维数据采集与点云融合拼接统一来考虑整个物体的完整表面建模过程的方法相关报道。
发明内容
本发明的目的在于:提供一种新的三维点云配准方法,能够有效地利用单视角三维数据采集过程中的信息,以提高三维点云的点云配准精确度和速度。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于相机位姿估计的三维点云配准方法,其包括以下步骤:
步骤S1:读取一组新的三维建模图像,而且,能够基于读取的所述三维建模图像完成三维建模;
步骤S2:对所述三维建模图像进行可靠区域提取,得到可靠图;
步骤S3:根据所述可靠图以及标定好的测量系统参数信息,计算出可靠区域内每一点像素点(u,v)对应的三维坐标Ptsu,v,并由计算出的所有所述三维坐标Ptsu,v形成当前视角的三维点云{Ptscur};
步骤S4:对当前视角的三维点云{Ptscur}进行深度信息特征提取和/或进行颜色信息特征提取,得到由空间域特征和颜色域特征构成的多元特征{Featurescur};
步骤S5:采用相机位置姿态的变换来表示被测目标与相机件的相对运动,并初始化上一视角与当前视角相机间的相对位姿RTrelative,其中位移参数T为0,姿态参数R为单位阵;
步骤S6:将上一视角转到当前视角,并根据相机的内参数和相对位姿,计算出上一视角的三维点云{Ptslast}中的每一个三维数据点对应的像素坐标(u',v'),并在当前三维建模图像的可靠区域内查找像素坐标(u',v')欧氏距离最小的像素坐标(u,v)nearest,以上一视角的三维点云{Ptslast}中像素坐标(u',v')所对应的三维点与{Ptscur}中像素坐标(u,v)nearest所对应的三维点构成一个对应点点对Pair(u,v),并以所有对应点点对构成对应点点集{Pairs};
步骤S7:基于相似性度量,对所述对应点点集{Pairs}进行筛选,得到可信对应点点集{Pairsrelability};
步骤S8:基于所述可信对应点点集{Pairsrelability},计算对应点之间的旋转平移矩阵RTaccmu,将RTaccmu通过矩阵运算作用于上一视角与当前视角相机间的相对位姿RTrelative,并使用该计算结果更新相对位姿RTrelative;
步骤S9:判断是否满足迭代终止条件;若满足,则进入步骤10,否则重新进入步骤S6;
步骤S10:根据步骤S9迭代终止的具体原因,判断当前视角的三维点云{Ptscur}是否是关键帧,若是关键帧,则进入步骤11,若不是关键帧,则进入步骤S16;
其中,判断当前视角的三维点云{Ptscur}是否为关键帧的方式为:
(1)若当前视角的三维测量为首次测量,则当前视角的三维点云默认为关
键帧;
(2)若当前视角的三维点云{Ptscur}与上一视角的三维点云{Ptslast}配准成
功,且当前视角的三维测量与上一关键帧的三维测量已间隔NKeyFrameInterval次三
维测量或当前视角的三维测量的相对位姿RTrelative与上一关键帧的三维点云
的相对位姿超过一定阈值,则当前视角的三维点云{Ptscur}为第一类关键帧;
(3)若当前视角的三维点云{Ptscur}与上一视角的三维点云{Ptslast}配准不成功,则当前视角三维点云为第二类关键帧;
步骤S11:判断当前关键帧的类型,若当前关键帧为第一类关键帧,则进入步骤S12,若当前关键帧为第二类关键帧,则进入步骤S13;
步骤S12:将已完成配准的所有三维点云{Ptsall}作为上一视角的三维点云{Ptslast},并以经过步骤S08更新后的相对位姿RTrelative为相对位姿初始值,执行步骤S05至步骤S09,并完成三维点云配准后将更新后的相对位姿RTrelative代入步骤S16;
步骤S13:采用基于仿射不变性理论的最佳对应点点集查找方法,对当前视角的三维点云{Ptscur}的多元特征{Featurescur}和已完成配准的所有三维点云{Ptsall}对应的多元特征{Featuresall}进行最佳对应点点集查找,得到最佳对应点点集{KeyPairsfeature};
步骤S14:根据最佳对应点点集{KeyPairsfeature},计算当前视角的三维点云{Ptscur}与已完成配准的所有三维点云{Ptsall}之间的相对位姿RTrelative,并将计算出的相对位姿RTrelative作为粗配准结果;
步骤S15:判断步骤S12到S14的点云配准是否配准成功;若配准成功,则进入步骤S16,否则进入步骤S17;
步骤S16:将步骤S14中计算出的相对位姿RTrelative作用于已完成配准的所有三维点云{Ptsall},然后将当前视角的三维点云{Ptscur}加入至已完成配准的所有三维点云{Ptsall}中,并使用RTrelative更新上一关键帧的相对位姿;
步骤S17:丢弃当前视角的三维点云{Ptscur}数据;
步骤S18:判断是否完成三维数据采集;若未结束,则进入步骤S1,进行下一视角的三维点云数据的配准。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,判断是否配准成功的方式为:判断对应点点集中所有对应点之间距离的均值与方差是否满足要求;或者,判断对应点集合中的对应点的特征相似性统计是否满足要求。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,所述三维建模图像为单帧或多帧的随机编码图像,或者条纹结构光图像。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,所述三维建模图像为随机编码图像时,将平均子区域灰度波动作为可靠性评价指标,而得到所述可靠性图;其中,
设平均子区域灰度波动为:
其中,N(u,v,H,V)表示像素(u,v)周围Hx V大小的邻域,Sp(μ,ν)表示第p个子领域的灰度波动;像素(u,v)的3邻域的子区域灰度波动S(μ,ν)为:
其中,Ii为第i张三维建模图像,N为完成一次三维建模单个相机所拍摄的三维建模图像数目,
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,所述三维建模图像为条纹结构光三维建模时,将条纹的调制度作为可靠性评价指标,而得到所述可靠性图;其中,第n幅条纹的调制度为:
其中,I0(x,y)为背景光强,C0(x,y)为条纹的对比度,N表示条纹结构光的相移步数。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,三维建模结果为:
Pts3D=Calc3D(ImgVec,R,SysInfo)
其中,Calc3D为建模函数,ImgVec为建模图像,R为所述可靠图,SysInfo为系统参数。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,在所述步骤S4中,得到的多元特征为:
Pts3Dfeature=feature(Pts3D,ImgVec,Radius,FeaID)
其中,Radius为计算像素(u,v)的特征时所选用的周围邻域的大小,FeaID为特征的组合形式。
根据一种具体的实施方式,本发明基于相机位姿估计的三维点云配准方法中,在所述步骤S7中,基于相似性度量,对所述对应点点集{Pairs}进行筛选的方式为:保留相似性度量超过一定阈值的对应点点对,删除其余的对应点点对;其中,相似性度量为:
SmilarityPair=w1SimilarityColor(Pair)+w2SimilarityGeometry(Pair)
其中,SimilarityColor(Pair)为对应点点对Pair(u,v)的颜色特征相似性度量值,SimilarityGeometry(Pair)为对应点点对Pair(u,v)的几何特征相似性度量值,w1、w2分别为颜色特征和几何特征的权重。
进一步地,颜色特征的相似性度量为颜色域中对应点点对Pair(u,v)的颜色特征的协方差;几何特征的相似性度量为空间域中对应点点对Pair(u,v)的几何特征的协方差。
与现有技术相比,本发明的有益效果:本发明的基于相机位姿估计的三维点云配准方法,通过将三维建模过程问题与三维点云自动配准问题进行有机结合,对多视角三维建模过程进行流程优化,从而将三维点云的自动配准问题转化为相邻视角下相机的相对位置姿态估计问题。而且,本发明与传统的点云配准方法相比,充分利用了相机的内参数来简化对应点点集的求取过程,提高了求取速度,同时根据三维建模过程中三维点的可靠性信息来对对应点点集进行筛选,从而有效避免“异常点”对三维点云匹配结果的影响,加快匹配过程的收敛速度并提高匹配精度。尤其,本发明特别适用于通过目标物体与三维数据获取装置的相对运动来获取多视角三维点云的应用,对于相邻角度差异较大以至于经典点云配准方法失效的情况下,仍具有很强的适应能力。
附图说明:
图1为本发明的流程示意图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1所示,本发明基于相机位姿估计的三维点云配准方法,其包括以下步骤:
步骤S1:读取一组新的三维建模图像,而且,能够基于读取的三维建模图像完成三维建模;具体的,本发明在实施时,读取的三维建模图像为单帧或多帧的随机编码图像,或者条纹结构光图像。当然,本发明读取的三维建模图像还可以是其他形式的编码图像,只要能够在一定算法支撑下实现三维建模即可。
步骤S2:对三维建模图像进行可靠区域提取,得到可靠图。
具体的,三维建模图像为随机编码图像时,将平均子区域灰度波动作为可靠性评价指标,而得到可靠性图;其中,
设平均子区域灰度波动为:
其中,N(u,v,H,V)表示像素(u,v)周围Hx V大小的邻域,Sp(μ,ν)表示第p个子领域的灰度波动;像素(u,v)的3邻域的子区域灰度波动S(μ,ν)为:
其中,Ii为第i张三维建模图像,N为完成一次三维建模单个相机所拍摄的三维建模图像数目,
具体的,三维建模图像为条纹结构光三维建模时,将条纹的调制度作为可靠性评价指标,而得到可靠性图。例如,以条纹结构光N步相移为例,将一组相移条纹投影到被测物体表面,则物体表面第n幅相移条纹的强度分布可以表示为:
In(x,y)=I0(x,y){1+C0(x,y)cos[Φ(x,y)+2πn/N]}
其中,I0(x,y)为背景光强,C0(x,y)为条纹的对比度,Φ(x,y)为条纹的相位分布,那么条纹的调制度表示为
化简可得
由此可见,条纹的调制度M(x,y)与I0(x,y)C0(x,y)成正比关系,二者之间只相差一个比例因子可以作为三维建模图像的可靠性评价标准。
在具体实施时,当可靠性指标大于某一阈值时,则判断像素(u,v)对应的三维建模结果是可信的,否则视为不可信并置0。设定一阈值即可排除三维建模图像中的不可靠区域,从而将可信的有效像素点形成可有效进行三维建模的有效区域。
步骤S3:根据可靠图以及标定好的测量系统参数信息,计算出可靠区域内每一点像素点(u,v)对应的三维坐标Ptsu,v,并由计算出的所有三维坐标Ptsu,v形成当前视角的三维点云{Ptscur}。
具体的,为便于后续三维点云配准过程中通过数据并行从而提高计算速度,该三维点云数据的组织形式可类比于彩色图像,为大小与输入三维建模图像行列相同的矩形,每个数据元素为由x、y、z三个数据构成三维空间坐标。
三维建模结果为:
Pts3D=Calc3D(ImgVec,R,SysInfo)
其中,Calc3D为建模函数,ImgVec为建模图像,R为可靠图,SysInfo为系统参数。
步骤S4:对当前视角的三维点云{Ptscur}进行深度信息特征提取和/或进行颜色信息特征提取,得到由空间域特征和颜色域特征构成的多元特征{Featurescur}。
在实施过程中,为了实现并行加速,可根据实际的测量情况来选择对各种特征进行组合。比如深度信息特征在空间域由法线、空间邻域的法线统计分布、空间邻域内点的拓扑结构、空间邻域内点的距离统计分布、空间邻域内点的色度统计分布等构成,也可以是以上多个几何特征的加权,其中,参与特征统计的点可以为空间邻域内所有点,也可以为空间邻域内部分点。空间邻域内部分点的遴选方案可以有多种选择,如以“十”字型、“米”字型方案选取、随机选取等。
而在进行颜色特征提取时,首先将携带颜色信息的图像转换到YUV或HSV颜色空间,颜色特征不考虑亮度信息从而排除因拍摄视角和物体的面形引起的亮度变化因素。
具体的,多元特征为:
Pts3Dfeature=feature(Pts3D,ImgVec,Radius,FeaID)
其中,Radius为计算像素(u,v)的特征时所选用的周围邻域的大小,FeaID为特征的组合形式。特征的组合形式为单独的颜色信息特征或深度信息特征,或者颜色信息特征和深度信息特征。
步骤S5:采用相机位置姿态的变换来表示被测目标与相机件的相对运动,并初始化上一视角与当前视角相机间的相对位姿RTrelative,其中位移参数T为0,姿态参数R为单位阵。
步骤S6:将上一视角转到当前视角,并根据相机的内参数和相对位姿,计算出上一视角的三维点云{Ptslast}中的每一个三维数据点对应的像素坐标(u',v'),并在当前三维建模图像的可靠区域内查找像素坐标(u',v')欧氏距离最小的像素坐标(u,v)nearest,以上一视角的三维点云{Ptslast}中像素坐标(u',v')所对应的三维点与{Ptscur}中像素坐标(u,v)nearest所对应的三维点构成一个对应点点对Pair(u,v),并以所有对应点点对构成对应点点集{Pairs}。
具体的,根据相机此刻的外参数和事件标定过的相机内参数,将上一视角测得的三维点云数据{Ptslast}中的每个有效点根据相机模型以成像的方式投影到当前视角下,从得到每个有效点在当前视角下的成像像素坐标(u',v')。步骤S3中的当前视角三维点云的组织形式为矩阵形式。
相机模型和依据相机模型将三维点通过透视投影成像于像素平面坐标系为行业领域基础知识,本专利不再赘述。
步骤S7:基于相似性度量,对对应点点集{Pairs}进行筛选,得到可信对应点点集{Pairsrelability}。测量过程中存在阴影和遮挡,这些区域中形成的对应点点对是不可靠的。因此,对对应点点集{Pairs}进行筛选的方式为:保留相似性度量超过一定阈值的对应点点对,删除其余的对应点点对;其中,相似性度量为:
SmilarityPair=w1SimilarityColor(Pair)+w2SimilarityGeometry(Pair)
其中,SimilarityColor(Pair)为对应点对Pair(u,v)的颜色特征相似性度量值,SimilarityGeometry(Pair)为对应点对Pair(u,v)的几何特征相似性度量值,w1、w2分别为颜色特征和几何特征的权重。
进一步地,颜色特征的相似性度量为颜色域中对应点点对Pair(u,v)的颜色特征的协方差;几何特征的相似性度量为空间域中对应点点对Pair(u,v)的几何特征的协方差。
步骤S8:基于可信对应点点集{Pairsrelability},计算对应点之间的旋转平移矩阵RTaccmu,将RTaccmu通过矩阵运算作用于上一视角与当前视角相机间的相对位姿RTrelative,并使用该计算结果更新相对位姿RTrelative。
步骤S9:判断是否满足迭代终止条件;若满足,则进入步骤10,否则重新进入步骤S6。具体的,终止条件包括迭代次数以及迭代过程的收敛状态判断等,其中,迭代过程收敛状态指相邻两次迭代求取的矩阵差别,迭代终止条件的设定属于现有技术,本专利不再赘述。
步骤S10:根据步骤S9迭代终止的具体原因,判断当前视角的三维点云{Ptscur}是否是关键帧,若是关键帧,则进入步骤11,若不是关键帧,则进入步骤S16;
其中,判断当前视角的三维点云{Ptscur}是否为关键帧的方式为:
(1)若当前视角的三维测量为首次测量,则当前视角的三维点云默认为关
键帧;
(2)若当前视角的三维点云{Ptscur}与上一视角的三维点云{Ptslast}配准成
功,且当前视角的三维测量与上一关键帧的三维测量已间隔NKeyFrameInterval次三
维测量或当前视角的三维测量的相对位姿RTrelative与上一关键帧的三维点云
的相对位姿超过一定阈值,则当前视角的三维点云{Ptscur}为第一类关键帧;
(3)若当前视角的三维点云{Ptscur}与上一视角的三维点云{Ptslast}配准不成功,则当前视角三维点云为第二类关键帧。
步骤S11:判断当前关键帧的类型,若当前关键帧为第一类关键帧,则进入步骤S12,若当前关键帧为第二类关键帧,则进入步骤S13。
其中,当前关键帧的类型的判断方式为:若当前视角三维点云与上一视角三维点云配准成功,且当前关键帧与上一关键帧至少间隔NKeyFrameInterval帧或当前视角与上一关键帧的视角的相对位置TKeyFrame和姿态NKeyFrameRotate超过一定阈值,则当前关键帧为第一类关键帧;若当前视角三维点云与上一视角三维点云配准不成功,则当前关键帧为第二类关键帧。
步骤S12:将已完成配准的所有三维点云{Ptsall}作为上一视角的三维点云{Ptslast},并以经过步骤S08更新后的相对位姿RTrelative为相对位姿初始值,执行步骤S05至步骤S09,并完成三维点云配准后将更新后的相对位姿RTrelative代入步骤S16。
步骤S13:采用基于仿射不变性理论的最佳对应点点集查找方法,对当前视角的三维点云{Ptscur}的多元特征{Featurescur}和已完成配准的所有三维点云{Ptsall}对应的多元特征{Featuresall}进行最佳对应点点集查找,得到最佳对应点点集{KeyPairsfeature}。
步骤S14:根据最佳对应点点集{KeyPairsfeature},计算当前视角的三维点云{Ptscur}与已完成配准的所有三维点云{Ptsall}之间的相对位姿RTrelative,并将计算出的相对位姿RTrelative作为粗配准结果。
步骤S15:判断步骤S12到S14的点云配准是否配准成功;若配准成功,则进入步骤S16,否则进入步骤S17。
步骤S16:将步骤S14中计算出的相对位姿RTrelative作用于已完成配准的所有三维点云{Ptsall},然后将当前视角的三维点云{Ptscur}加入至已完成配准的所有三维点云{Ptsall}中,并使用RTrelative更新上一关键帧的相对位姿;该相对位姿为上一关键帧相对于新加入的当前视角的三维点云{Ptscur}的位姿。
步骤S17:丢弃当前视角的三维点云{Ptscur}数据。
步骤S18:判断是否完成三维数据采集;若未结束,则进入步骤S1,进行下一视角的三维点云数据的配准。
在本发明中,判断是否配准成功的方式为:判断对应点集合的对应点距离的均值与方差是否满足要求;或者,判断对应点集合的对应点的特征相似性统计是否满足要求。
本发明基于相机位姿估计的三维点云配准方法,通过将三维建模过程问题与三维点云自动配准问题进行有机结合,对多视角三维建模过程进行流程优化,从而将三维点云的自动配准问题转化为相邻视角下相机的相对位置姿态估计问题。而且,本发明与传统的点云配准方法相比,充分利用了相机的内参数来简化对应点点集的求取过程,提高了求取速度,同时根据三维建模过程中三维点的可靠性信息来对对应点点集进行筛选,从而有效避免“异常点”对三维点云匹配结果的影响,加快匹配过程的收敛速度并提高匹配精度。尤其,本发明特别适用于通过目标物体与三维数据获取装置的相对运动来获取多视角三维点云的应用,对于相邻角度差异较大以至于经典点云配准方法失效的情况下,仍具有很强的适应能力。
机译: 基于三维点云的三维人脸识别装置及基于三维点云的三维人脸识别方法
机译: 一种用于执行三维点云的数据驱动的数据驱动成对配准的装置和方法
机译: 执行三维点云数据驱动的双配准的设备和方法