基于弱色差信息的高精度RGB-D点云拼接方法和***
技术领域
本发明属于计算机视觉与图像处理领域,尤其是三维点云拼接技术。
背景技术
随着三维扫描设备的广泛应用,点云数据受到越来越多的重视,它可以广泛地应用在工业的自动检测、零件的加工监控、生物复制、3D电影动画、文物保护等众多领域。点云应用过程中,点云拼接技术是其重要环节,也是难点之一。点云拼接就是将不同角度不同时间点采集到的数据统一到同一个世界坐标系下的过程,而点云拼接的好坏,直接影响了后续的数据分析。
目前市面上常用的点云拼接的方法是将粗配准和精配准结合起来,利用粗配准将不同的坐标系下的点云数据统一到同一坐标系下,使其图形大致重合,为精确拼接提供良好初值,而精配准进一步消除粗拼接中的偏差,形成一副完整的三维模型。精配准技术应用的最为广泛的是最近点迭代算法(ICP),但这种方法对点云拼接的初始拼接位置有较高要求,容易造成局部最优的情况。
针对上述情况,技术人员进行了多方的探索,提出了多种方案,但是在自动化程度、稳定性和拼接精度等方面还存在一些问题。
发明内容
发明目的:为了解决现有技术存在的上述问题,提供一种基于弱色差信息的高精度RGB-D点云拼接方法。
技术方案:
基于弱色差信息的高精度RGB-D点云拼接方法,包括如下步骤:
步骤1、采用粗匹配方法计算两个待拼接点云的位姿关系矩阵;
步骤2、基于弱色差信息进行点云匹配,计算点云的新的位姿关系矩阵;
步骤3、基于所述新的位姿关系矩阵进行点云拼接。
在进一步的实施例中,所述步骤2进一步为:
步骤21、基于步骤1的位姿关系矩阵,将一个待拼接点云变换到另一待拼接点云坐标系;
步骤22、用同样的相机内参数矩阵将两个待拼接点云分别投射为2D的RGB图像;
步骤23、计算一个待拼接点云中各像素点的2D RGB图像各通道的纵横梯度,获得像素点的2D描述子a,并比较各2D描述子与梯度阈值向量b的关系,若(a-b)i>0,i=1,2,...6,则该点为有效点;
步骤24、依次将一个待拼接点云中的所述有效点与另一待拼接点云的2D RGB图像中对应点进行像素值最优匹配,建立多对一的弱色差匹配点集;
步骤25、基于上述弱色差匹配点集,根据各匹配点的三维坐标,计算点云的新的位姿关系。
在进一步的实施例中,所述步骤24进一步为:记待拼接点云为C1和C2,其投射的2DRGB图像分别为Img1和Img2,记Img1中的有效点坐标为I1(u,v),在Img2中的(u,v)处取c×c的邻域记作ζ,计算ζ中的像素RGB值与I1(u,v)的RGB值差,差值最小的点即为(u,v)的匹配点,记作I2(u’,v’),由此建立多对一的弱色差匹配点集。
在进一步的实施例中,还包括步骤26:
重复步骤21到步骤25,每重复一次步骤六中的邻域减小两个像素,直到误差满足条件,或者邻域小于3×3。
在进一步的实施例中,2D RGB图像中的像素点记作I(u,v,r,g,b),其中u,v表示该点的像素坐标,r,g,b为该点的RGB值,则:
一种基于弱色差信息的高精度RGB-D点云拼接方法,包括如下步骤:
记点云中的点为P=(x,y,z,r,g,b),其中x,y,z为该点的坐标值,r,g,b为该点的RGB值,则点云可以记为集合{C}={P1,P2,P3,P4…},记两个待拼接点云为C1和C2,点云C1中的点记为1P,点云C2中的点记为2P;
步骤一、使用粗匹配方法计算点云C1和点云C2的位姿关系矩阵B=[R T],所使用的粗匹配方法不限,可以利用转台法、特征点匹配法等方法计算,要求粗匹配计算后的姿态角误差小于5度,平移误差小于像素当量的5倍,其中像素当量指相应2D图像一个像素在A平面上对应的边长,A平面为经过点云有效点集质心,且与成像平面平行的空间平面;
步骤二、以点云C1的观测坐标系{C1}为基准坐标系,利用上一步估计出的位姿变换关系矩阵B对点云C2进行变换,变换后的点云C2中的点记作2P’即
2P1':3=B×2P1:3,2P4':6=2P4:6
其中,P1:3和P4:6表示取向量P的前三位和后三位,
步骤三、将两个点云C1和C2分别用同样的相机内参数K投射为2D RGB图像记为Img1和Img2,2D RGB图像中的像素点记作I(u,v,r,g,b),其中u,v表示该点的像素坐标,r,g,b为该点的RGB值,则:
步骤四、对Img1中的每个像素点,利用3通道6差值法在2D RGB图像中选取有效点,即在三个通道中分别计算梯度,公式如下:
Δrrow=|r(u+1,v)-r(u-1,v)|Δrcolumn=|r(u,v+1)-r(u,v-1)|
Δgrow=|r(u+1,v)-r(u-1,v)|Δgcolumn=|r(u,v+1)-r(u,v-1)|
Δbrow=|r(u+1,v)-r(u-1,v)|Δbcolumn=|r(u,v+1)-r(u,v-1)|,
记每个点的描述子为a=[Δrrow,Δrcolumn,Δgrow,Δgcolumn,Δbrow,Δbcolumn],设定梯度阈值向量为b=[δ1,δ2,δ3,δ4,δ5,δ6],若(a-b)i>0,i=1,2,...6,则I为有效点,
步骤五、对Img1中的有效点在Img2中的对应点c×c邻域中进行像素值最优匹配,具体为,记Img1中的有效点坐标为I1(u,v),在Img2中的(u,v)处取c×c的邻域记作ζ,计算ζ中的像素RGB值与I1(u,v)的RGB值差,差值最小的点即为(u,v)的匹配点,记作I2(u’,v’),由此建立多对一的弱色差匹配点集,
步骤六、对Img2中的有效点在Img1中的对应点c×c邻域中进行像素值最优匹配,将互为最优匹配点的确认为最终的匹配点对,建立弱色差匹配点集,
步骤七、利用上一步得到的弱色差匹配点集,根据各匹配点的三维坐标,计算点云的位姿关系,
步骤八、重复步骤二到步骤七,每重复一次步骤六中的邻域减小两个像素,直到误差满足条件,或者邻域小于3×3;
步骤九、计算得到最终的点云位姿关系矩阵,将点云转换到点云1的坐标系中,实现点云拼接。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项方法的步骤。
有益效果:为了解决如何在粗配准后实现精确配准的技术问题,本发明提供了一种基于弱色差信息的高精度RGB-D点云拼接方法。该方法可以实现在粗配准误差小于5度的情况下的点云精配准,具有匹配精度高,速度快,方法简单易实施等优点。
附图说明
图1是本发明的流程图。
图2是结构光重建***示意图。
图3a和图3b是不同视图下相机拍摄的图像。
图4是不同视角重建的图像。
图5a和图5b是点云1、2重投影的图像。
图6a和图6b是点云1、2不同视角下梯度有效点的图像。
图7是弱色差匹配点效果图。
图8是点云纯色拼接效果图。
图9是两幅点云的贴纹理拼接效果图。
具体实施方式
针对上述问题,发明人进行了深入地分析。例如,针对ICP算法要求初始姿态的缺陷,现有技术提出了一种基于平面特征并利用点云法向量进行点云对应点选取的ICP改进算法,这种方法对点云数据进行了全自动化的精确配准,但是这种方法的应用范围局限于几何特征明显的物体。
现有技术二公开了一种近似k-d树算法来加速k-d树的近邻搜索,进而提高ICP算法的计算效率。现有技术三提出了一种面向RGB-D数据的初始配准方法来解决彩色物体的配准问题,但这种方法只能在带有RGB-D数据的物体上进行配准,若仅有几何数据,其精确性会大大降低。
因此,上述方法在应用中还存在诸多问题,需要进行进一步的研究。申请人给出了如下方案:
具体实施采用结构光重建***,如图2所示,结构光重建***包括投影仪、计算机、CCD相机,CCD相机、投影仪连接计算机,投影仪和相机分别置于待测物体上方,投影仪的镜头和CCD相机的镜头均朝向待测物体;待测物体放置在转台上,投影仪投射光栅光源照射到待测物体和桌面上,并触发CCD相机采集条纹光栅照射到待测物体后的图像。投影仪将条纹光栅投射在待测物体上,待测物体使条纹光栅发生畸变,相机拍摄畸变条纹,由计算机解相位后重构物体表面点云。待测物体为盆景虎皮兰。
步骤1:从不同视角拍摄虎皮兰得到两幅图像View1和View2以及对应的两幅待拼接点云C1,C2。图3a和图3b为不同视角的拍摄图像,图4为不同视角下重建的点云显示在同一个界面中的效果图。
步骤2:以C1点云的坐标系为基准坐标系,利用特征点法计算两幅点云的初始姿态矩阵,所获得初始姿态矩阵R0,T0为:
步骤3:载入相机内参矩阵K:
步骤4:根据R0,T0,K的结果,将两个点云C1和C2分别用同样的相机内参数K投射为2D RGB图像记为Img1和Img2。利用初始姿态矩阵获得的两幅2D RGB图像如图5a和图5b所示:
步骤5:对Img1和Img2中的每个像素点,利用3通道6差值法在2D RGB图像中选取有效点,梯度阈值向量设置为b=[15,15,20,20,30,30]。
对初始姿态矩阵投射的两幅2D RGB图像经过步骤5所得有效点结果图如图6a和图6b所示,白色的点为有效点。
步骤6:对Img1中的有效点在Img2中的对应点10×10邻域中进行像素值最优匹配。
步骤7:对Img2中的有效点在Img1中的对应点10×10邻域中进行像素值最优匹配。将互为最优匹配点的确认为最终的匹配点对,建立弱色差匹配点集。步骤6和步骤7在10×10邻域中找到的弱色差匹配点集并随机选取36个匹配点进行显示,如图7所示:
步骤8:利用步骤6和步骤7得到的弱色差匹配点集,根据各匹配点的三维坐标,计算两副点云的位姿关系R1,T1,并把位姿矩阵结果赋值给步骤4的中R0,T0
步骤9:重复步骤4到步骤8,每重复一次步骤6和步骤7中的邻域减小两个像素,直到误差满足条件,或者邻域小于3×3。步骤9获得的最终的位姿变换矩阵。R2,T2为:
步骤10:根据得到最终的点云位姿关系矩阵,将点云转换到点云1的坐标系中,实现点云拼接。拼接结果如图8、图9所示。图8为两幅点云的纯色拼接结果图,图9为两幅点云的贴纹理拼接结果图。
总之,基于上述对不同拼接方法的分析,同时考虑到点云拼接的自动化程度、稳定性及拼接的精度等因素,本发明提出了一种基于弱色差信息的高精度RGB-D点云拼接方法,对粗配准后的点云,基于弱色差信息的最优匹配实现点云的精配准。通过计算待拼接点云中的有效点,并将一个点云中的有效点与另一点云中的像素进行弱色差匹配,得到匹配点,最终获得两个待拼接点云中的匹配点集,基于匹配点集计算两个点云的位姿关系,最后进行拼接。有效地解决了现有技术存在的上述问题,应用效果更佳。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。