一种点云配准方法、装置、电子设备及可读存储介质与流程

文档序号:16515067发布日期:2019-01-05 09:34阅读:307来源:国知局
一种点云配准方法、装置、电子设备及可读存储介质与流程

本申请涉及计算机视觉技术领域,特别涉及一种点云配准方法、装置、电子设备及可读存储介质。



背景技术:

三维点云的配准是三维重建领域最重要的任务之一。运用序列点云拼接不仅存在拼接误差累积的问题,而且耗时长、实时性差。因此,如何快速、准确地进行序列点云拼接来实现全场三维重建具有重要的研究意义和应用价值。

三维数据配准技术一般将粗配准和精配准相结合的方法,粗配准是为了缩小点云之间的旋转和平移错位以提高精确配准的效率和趋向,精确配准则是为了使两个点云之间的配准误差达到最小。目前,大多数精配准采用icp匹配算法或改进的icp匹配算法。但是,icp匹配算法具有比较明显的缺陷,要求数据点云上的每一点在模型点云里必须找到对应点,为了寻找对应点,算法需要遍历模型点云上的每一点。因此,当点云数据很大的时候,icp匹配算法的效率非常低,而且icp匹配算法对初值的依赖性比较大,如果迭代的初值选择不当,算法可能就会陷入局部最优,使得迭代不能收敛到最准确的配准结果。



技术实现要素:

本申请实施方式的目的是提供一种点云配准方法、装置、电子设备及可读存储介质,基于中间帧的共同特征进行非迭代的多视角三维数据配准。

为实现上述目的,本申请实施方式提供一种点云配准方法,包括:

获取每个图像帧的特征描述符集合;

根据两相邻图像帧的特征描述符集合获得对应图像帧对的匹配点集;

利用相邻三帧图像帧对应的两个匹配点集获得两相邻图像帧对的共同特征数据;

利用所述共同特征数据获得两相邻图像帧对的精配准矩阵;

根据两相邻图像帧的精配准矩阵对两相邻图像帧对的共同特征数据进行精配准,获得被测对象全视角的三维轮廓信息。

优选地,根据两相邻图像帧的特征描述符集合获得对应图像帧对的匹配点集的步骤包括:

将任一图像帧的特征描述符集合为基准,在特征空间中对相邻另一图像帧的特征描述符集合进行搜索,获得第一距离值和第二距离值;

根据所述第一距离值和所述第二距离值获得匹配度量值;

设置第一匹配阈值,且所述匹配度量值小于所述第一匹配阈值,根据所述第一匹配阈值获得第一匹配结果;

根据所述第一匹配结果获得两相邻图像帧的基础矩阵;

设置第二匹配阈值,所述第二匹配阈值大于所述第一匹配阈值,根据所述第二匹配阈值获得第二匹配结果;

利用所述基础矩阵和所述第二匹配结果获得两相邻图像帧的匹配点集。

优选地,利用相邻三帧图像帧对应的两个匹配点集获得两相邻图像帧对的共同特征数据的步骤包括:

将相邻三帧图像帧中一相邻图像帧对的匹配点集为基准,基于相邻三帧图像帧中的中间图像帧,对另一相邻图像帧对的匹配点集进行全局搜索和对比,获得两相邻图像帧对的共同特征数据。

优选地,利用所述共同特征数据获得两相邻图像帧对的精配准矩阵的步骤包括:

根据两相邻图像帧对的共同特征数据、运动旋量的旋量坐标、单位矩阵、两相邻图像帧对的共同特征数据之间的粗运动关系获得运动旋量的系数;其中,所述两相邻图像帧对的共同特征数据之间的粗运动关系是根据粗拼接获得的;

根据所述运动旋量的系数、所述单位矩阵、所述运动旋量、所述两相邻图像帧对的共同特征数据之间的粗运动关系获得对应两相邻图像帧对的精配准矩阵。

优选地,获得第一距离值和第二距离值的步骤包括:

将任一图像帧的特征描述符集合为基准,在特征空间中利用欧式距离对相邻另一图像帧的特征描述符集合进行k-d树搜索;

将搜索结果按照大小进行升序排列,从排序结果中取前两个值作为第一距离值和第二距离值。

优选地,所述第一匹配结果基于随机采样一致性处理获得所述基础矩阵。

优选地,利用所述基础矩阵和所述第二匹配结果获得两相邻图像帧的匹配点集的步骤包括:

利用所述基础矩阵,基于极线约束集合关系对所述第二匹配结果进行过滤,获得两相邻图像帧的匹配点集。

优选地,所述运动旋量根据运动旋量的维数确定。

优选地,所述运动旋量的系数利用最小二乘法获得。

为实现上述目的,本申请实施方式提供一种点云配准装置,包括:

特征描述符集合获取单元,用于获取每个图像帧的特征描述符集合;

图像帧对的匹配点集获取单元,用于根据两相邻图像帧的特征描述符集合获得对应图像帧对的匹配点集;

搜索单元,用于利用相邻三帧图像帧对应的两个匹配点集获得两相邻图像帧对的共同特征数据;

精配准矩阵获取单元,用于利用所述共同特征数据获得两相邻图像帧对的精配准矩阵;

精配准单元,用于根据两相邻图像帧的精配准矩阵对两相邻图像帧对的共同特征数据进行精配准,获得被测对象全视角的三维轮廓信息。

优选地,所述图像帧对的匹配点集获取单元包括:

距离值搜索模块,用于将任一图像帧的特征描述符集合为基准,在特征空间中对相邻另一图像帧的特征描述符集合进行搜索,获得第一距离值和第二距离值;

匹配度量值获取模块,用于根据所述第一距离值和所述第二距离值获得匹配度量值;

第一匹配模块,用于设置第一匹配阈值,且所述匹配度量值小于所述第一匹配阈值,根据所述第一匹配阈值获得第一匹配结果;

基础矩阵获取模块,用于根据所述第一匹配结果获得两相邻图像帧的基础矩阵;

第二匹配模块,用于设置第二匹配阈值,所述第二匹配阈值大于所述第一匹配阈值,根据所述第二匹配阈值获得第二匹配结果;

过滤模块,用于利用所述基础矩阵和所述第二匹配结果获得两相邻图像帧的匹配点集。

优选地,所述搜索单元进一步用于:

将相邻三帧图像帧中一相邻图像帧对的匹配点集为基准,基于相邻三帧图像帧中的中间图像帧,对另一相邻图像帧对的匹配点集进行全局搜索和对比,获得两相邻图像帧对的共同特征数据。

优选地,所述精配准矩阵获取单元包括:

运动旋量的系数获取模块,用于根据两相邻图像帧对的共同特征数据、运动旋量的旋量坐标、单位矩阵、两相邻图像帧对的共同特征数据之间的粗运动关系获得运动旋量的系数;其中,所述两相邻图像帧对的共同特征数据之间的粗运动关系是根据粗拼接获得的;

精配准矩阵模块,用于根据所述运动旋量的系数、所述单位矩阵、所述运动旋量、所述两相邻图像帧对的共同特征数据之间的粗运动关系获得对应两相邻图像帧对的精配准矩阵。

优选地,所述距离值搜索模块包括:

k-d树搜索搜索子模块,用于将任一图像帧的特征描述符集合为基准,在特征空间中利用欧式距离对相邻另一图像帧的特征描述符集合进行k-d树搜索;

排序取值子模块,用于将搜索结果按照大小进行升序排列,从排序结果中取前两个值作为第一距离值和第二距离值。

优选地,所述第一匹配模块基于随机采样一致性处理所述第一匹配结果获得所述基础矩阵。

优选地,所述过滤模块利用所述基础矩阵、基于极线约束集合关系对所述第二匹配结果进行过滤获得两相邻图像帧的匹配点集。

优选地,所述运动旋量的系数获取模块利用最小二乘法获得所述运动旋量的系数。

对应地,为实现上述目的,本申请实施方式提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的点云配准方法。

对应地,为实现上述目的,本申请实施方式提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的点云配准方法的步骤。

由上可见,与现有技术相比较,本技术方案采用基于中间帧的搜索策略找到相邻两个图像帧对的共同特征,能够提高配准效率;采用非迭代的运动旋量方法优化运动参数,能够简化计算过程,提高配准效率和精度。

附图说明

为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书公开的一种点云配准方法流程图;

图2为本实施例中基于中间帧的共同特征搜索算法示意图;

图3为本实施例提供的一种立体视觉三维重建系统的示意图;

图4(a)是本实施例提供的一种用于确定工作相机运动关系的两种基本的特征传递方式示意图之一;

图4(b)是本实施例提供的一种用于确定工作相机运动关系的两种基本的特征传递方式示意图之二;

图5是本实施例提供的一种匹配特征的极线约束几何关系的示意图;

图6是本发明实施例提供的一种上述立体视觉三维重建系统的工作原理示意图;

图7为本说明书公开的一种点云配准装置功能框图;

图8为本说明书公开的实施例提出的一种电子设备示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。

以传统的icp算法或者改进的icp算法进行三维点云的精配准往往效率非常低,特别是点云数据很大的时候,而且icp配准算法对初值的依赖性比较大,如果迭代的初值选择不当,算法可能就会陷入局部最优,使得迭代不能收敛到最准确的配准结果,这类算法的鲁棒性较差。

基于此,本技术方案在粗拼接结果的基础上基于运动旋量和相邻三帧图像帧之间的中间图像帧的特征进行多视角运动的精标定,实现多视角数据的高精度、快速拼接。运动旋量是从刚体力学理论中推导出来的,它在机器人运动学中具有非常广泛的应用。运动旋量认为刚体的运动可以认为是一种螺旋运动,由角速度矢量和线速度矢量vt来表示。单纯利用标定的相机运动关系进行粗拼接会产生较大的误差,因此需要采用一定的优化算法对精配准矩阵中的参数进行优化,利用该精配准矩阵对两相邻图像帧对之间的共同特征进行精配准,从而被测对象全视角的三维轮廓信息,可以极大地提高计算的效率,同时提高配准的精度。

根据上述工作原理的描述,如图1所示,为本说明书公开的一种点云配准方法流程图。包括:

步骤101):获取每个图像帧的特征描述符集合。

在本实施例中,用特征检测算子得到每个图像帧的特征描述符,将每个图像帧的特征描述符构成特征描述符集合。根据特征描述符集合实现相邻图像帧的特征快速匹配。假设两幅相邻图像帧i、j,提取的特征描述符集合分别是其中,ii为图像帧i,ij为图像帧j,hσi(u,v)为图像帧i的特征数据,该特征数据的位置坐标为(u,v);为图像帧j的特征数据,该特征数据的位置坐标为(u,v)。

步骤102):根据两相邻图像帧的特征描述符集合获得对应图像帧对的匹配点集。

在本实施例中,步骤102包括:

将任一图像帧的特征描述符集合为基准,在特征空间中对相邻另一图像帧的特征描述符集合进行搜索,获得第一距离值和第二距离值;

根据所述第一距离值和所述第二距离值获得匹配度量值;

设置第一匹配阈值,且所述匹配度量值小于所述第一匹配阈值,根据所述第一匹配阈值获得第一匹配结果;

根据所述第一匹配结果获得两相邻图像帧的基础矩阵;

设置第二匹配阈值,所述第二匹配阈值大于所述第一匹配阈值,根据所述第二匹配阈值获得第二匹配结果;

利用所述基础矩阵和所述第二匹配结果获得两相邻图像帧的匹配点集。

在实际应用中,以图像帧i的特征描述符集合γi{hσi(u,v),(u,v∈ii)}为基准,在特征空间中利用欧式距离对图像帧j的特征描述符集合中的全部特征进行k-d树搜索,将结果按照大小进行升序排列,假设在排序中的前两个距离值为d1、d2,令度量τ=d1/d2;给定匹配阈值τ0,若τ<τ0,则认为具有最短欧式距离d1的特征为匹配特征。第一次设置匹配阈值,将匹配阈值τ0设置低一些,如τ0=0.2~0.5,可以得到可靠性较高的匹配结果该匹配结果即为第一匹配结果。但是这种情况下会漏掉一些正确匹配,导致匹配点过于稀疏。将第一匹配结果基于随机采样一致性ransac处理得到图像帧i和图像帧j之间的基础矩阵fij。第二次设置匹配阈值,将匹配阈值τ0设置的高一些,如τ0=0.6~0.8,可以得到比较稠密的匹配结果该匹配结果即为第二匹配结果,这样可能会造成误匹配,产生错误的匹配点对。利用基础矩阵fij,基于极线约束几何关系按照式(1)对第二匹配结果进行滤波,得到最终可靠性高、较为稠密的匹配点对σ1,σ2。

极线几何约束方程如下:

式中,f表示图像帧i的匹配点对σ1中对应的匹配特征,f′为f在图像帧j的匹配点对σ2中对应的匹配特征。d表示匹配特征f到极线line的距离,line表示匹配特征f在中间图像帧中对应的极线,为1x3的向量,向量中的3个元素分别用line[0],line[1],line[2]表示。当d过大时,如d>2pixels,则认为f和f′是不满足极线约束的误匹配,需要分别从图像帧i和图像帧j中的匹配点集合σ1σ2中过滤掉。

步骤103):利用相邻三帧图像帧对应的两个匹配点集获得两相邻图像帧对的共同特征数据。

在本步骤中,将相邻三帧图像帧中一相邻图像帧对的匹配点集为基准,基于相邻三帧图像帧中的中间图像帧,对另一相邻图像帧对的匹配点集进行全局搜索和对比,获得两相邻图像帧对的共同特征数据。

对于本实施例来说,经过步骤102处理,获得的图像帧1和图像帧2之间已经匹配好的点集为{v12},下一图像帧2和图像帧3之间已匹配好的点集为{v23},图像帧2为中间帧,基于图像帧2在前后两个图像帧对中的共同特征实现相邻三帧数据拼接,首先采用一种全局搜索方法,搜寻点集{v12}与点集{v23}之间的共同特征实现特征排序。算法流程如图2,以{v12}为基准,在{v23}搜索与{v12}相同的点,如果{v23}中当前列的数据信息与{v12}相同,则将当前列的数据信息保持在{v23}中保持不变,如果{v23}中当前列的数据信息与{v12}不相同,则将当前列的数据信息置为nan,并将当前列的数据信息置于{v23}中最后一列中,即表示{v23}中的该位置不具备和{v12}相同的点。然后经上述搜索处理之后的{v23}为基准,将图像帧3和图像帧4之间已经匹配好的点集{v34}与之比对搜索。所有帧对依次类推。

步骤104):利用所述共同特征数据获得两相邻图像帧对的精配准矩阵。

在本实施例中,设第i(i+1)帧对和第(i+1)(i+2)帧对的重合区域数据分别是n表示重合点的个数。则目标函数f可以设为:

式中,f表示构造的目标函数,(xi+1,yi+1,zi+1)表示第i(i+1)帧对中的重合区域数据的数据三维坐标,表示(i+1)(i+2)帧对中的重合区域数据的数据三维坐标。n表示第i(i+1)帧对和第(i+1)(i+2)帧对的重合点数目。

据此拼接的问题可以转化为,对于粗运动关系g0,通过一个微调运动δg,得到更精确的运动g,使得目标函数f的值达到最小。

式中,g表示两组重合区域数据之间的精确运动关系,g0表示两者重合区域数据之间的粗运动关系,g0通过粗拼接获得。δg表示微调运动,表示运动旋量,h表示运动旋量的总维数,在本实施例中h取值为6。下标t表示维数索引,1≤t≤h;δmt表示运动旋量的系数。

将式(3)进行泰勒展开得到:

式中,-运动旋量,h-运动旋量的维数,δmt-运动旋量的系数.h表示运动旋量的总维数,在本实施例中h取值6。t表示维数索引,1≤t≤h。

由于取旋量坐标维数h=6,相应的旋量坐标分别是:

每个ξt的前三个分量对应着平移分量,即线速度矢量,用vt表示;后三个分量对应着旋转分量,即角速度矢量,用表示:

运动旋量和角速度矢量、线速度矢量具有以下关系:

式中,角速度矢量,vt:线速度矢量,是一个3×1的矩阵。其中,角速度矢量是一个3×3的矩阵,表示形式如下:

由上述描述可知,一旦运动旋量的维数确定,由公式(5)、式(6)、式(7)即可确定运动旋量满足:

分别为对应相邻图像帧对之间的重合区域数据的三维数据;g:之间的精确运动关系;g0之间的粗运动关系;i:4×4的单位矩阵;δmt:运动旋量的系数;运动旋量,h:运动旋量的维数,在本实施例中h取值6。

对g的优化就变成了对旋量系数δmt的优化。对公式(8)做简单的变换可得到:

公式(9)具有aδm=b的形式,其中,a=[ξ1ξ2ξ3ξ4ξ5ξ6],这是一个超定问题,可以由最小二乘法很方便地求解出运动旋量的系数δm。将得到的δm代入公式(4),即可得到优化的精确运动参数g,精确运动参数g即为两组三维数据之间的精配准矩阵。

步骤105):根据两相邻图像帧的精配准矩阵对两相邻图像帧对的共同特征数据进行精配准,获得被测对象全视角的三维轮廓信息。

在本发明实施例中,提供了一种立体视觉三维重建系统,如图3所示,该系统包括:第一相机101、第二相机102以及计算机(图中未示出),本技术方案以立体视觉三维重建系统为例详展开详细说明,必须强调的是,本技术方案也可以基于其他粗拼接获得粗运动关系展开精拼接,得到全视角三维重建数据。

所述第一相机101和所述第二相机102固定联结,所述第一相机和所述第二相机同步围绕待重建物体103移动,在多个视角位置上同步采集所述待重建物体的图像;

所述计算机根据所述第一相机和所述第二相机采集的图像,确定所述第一相机在所述多个视角位置上的运动关系,根据所述运动关系和所述第一相机在多个视角位置上采集的图像,重建所述待重建物体的三维模型。

由图3所示可知,在本实施例中,通过固定联结的第一相机和第二相机同步围绕待重建物体移动,在多个视角位置上同步采集待重建物体的图像,并根据第一相机和第二相机采集的图像,确定第一相机在多个视角位置上的运动关系,进而根据运动关系和第一相机在多个视角位置上采集的图像,重建待重建物体的三维模型。可见,第二相机采集的图像只用于和第一相机采集的图像一起确定第一相机在多个视角位置上的运动关系,即第二相机只用于在多个视角位置上确定第一相机的运动关系,实现第一相机的跟踪定位,第二相机可以称为跟踪相机,使得可以避免第三方标定设备的使用,有利于降低成本;同时,由于只使用第一相机在多个视角位置上采集的图像进行重建待重建物体的三维模型,第二相机采集的图像并不用于三维模型的重建,第一相机可以称为工作相机,可以消除摄像机性能差异对图像采集的影响,使得提高了数据的准确性,有助于恢复待重建物体真实尺度的表面形貌;由于是第一相机和第二相机同步围绕待重建物体自由移动,不需要待重建物体自身进行旋转,这对于需要保持原样的文物等贵重物体来说具有很高的实用性,也使得避免物体运动控制设备的使用,有利于降低成本。

具体实施时,由于上述立体视觉三维重建系统主要只需要两个固定联结的相机,结构简单,且可以做到很小的体积,方便集成到各类终端产品中;同时适用于大型物体和中小型物体,只需要根据对象相应地灵活调整系统的观测位置即可,具有应用范围广的优势。

具体实施时,为了实现确定第一相机在多个视角位置上的运动关系在,在本实施例中,所述计算机具体用于,针对两个相邻视角位置,所述计算机获取所述第一相机在该两个相邻视角位置上分别采集的第一图像;获取在该两个相邻视角位置中一个视角位置上所述第二相机采集的第二图像;确定多个匹配特征,所述匹配特征为在所述第一图像和所述第二图像中均具备且相同的特征;根据多个所述匹配特征在该两个相邻视角位置上的所述第一图像中的图像坐标,计算多个所述匹配特征的第一空间坐标,所述第一空间坐标中包括有所述第一相机在该两个相邻视角位置上的运动关系;根据多个所述匹配特征在该两个相邻视角位置中所述一个视角位置上的所述第一图像和所述第二图像中的图像坐标,计算多个所述匹配特征的第二空间坐标,所述第二空间坐标包括有由所述第一相机和所述第二相机固定联结确定的所述第一相机相对于所述第二相机的已知的运动关系;根据所述第一空间坐标与所述第二空间坐标相等,计算出所述第一相机在该两个相邻视角位置上的运动关系,其中,所述运动关系包括旋转运动参数和平移运动参数,所述匹配特征的个数大于等于7。

具体的,针对两个相邻视角位置,匹配特征的传递方式基本有两种,如图4(a)和图4(b)所示,例如,两个相邻扫描位置(即视角位置)i和j(i,j=1,2,…,n,i≠j)处,上述立体视觉三维重建系统(binocularvisionsystem,简称为bvs)的第一相机用wi和wj表示,第二相机用fi和fj表示,若想标定第一相机wi和wj之间真实尺度的运动关系,可通过其与第二相机fi或fj的共同特征来确定。基于图4(a)和图4(b)所示的两种基本的特征传递方式,以第一种传递方式为例,设wi、fi和wj采集的场景图像有q个共同可见的匹配特征,用表示,其归一化的图像坐标用表示。若匹配特征不足7个,则换用另外一种特征传递方式,或移动bvs系统到更合适的扫描位置。由wi和fi组成的bvs(表示为bvs-wifi)根据wi和fi在扫描位置i上分别采集的图像中匹配特征的归一化图像坐标,基于三角重建原理可以计算得到匹配特征的第二空间坐标,设为(世界坐标系位于第一相机wi上)。由wi和wj组成的bvs根据wi和wj在扫描位置i和j上分别采集的图像中匹配特征的归一化图像坐标,基于三角重建原理可以计算得到匹配特征的第一空间坐标,设为(世界坐标系位于相机wi上)。由于匹配特征是一致的,因此,第一空间坐标和第二空间坐标存在如下等式关系:

由于bvs系统中第一相机和第二相机固定联结,由此可基于固定联结预先标定第一相机相对于第二相机的运动关系已知,因此,为了基于上述公式(10)计算第一相机在该两个相邻视角位置上的运动关系只需计算中的旋转运动参数和平移运动参数

具体实施时,在本实施例中通过以下方式计算第一相机在该两个相邻视角位置上的运动关系中的旋转运动参数所述计算机还用于,通过以下公式计算本质矩阵后,通过分解法计算得到所述第一空间坐标中运动关系的旋转运动参数:

其中,是匹配特征在该两个相邻视角位置中一个视角位置上的所述第一图像中的归一化图像坐标;是匹配特征在该两个相邻视角位置中另一个视角位置上的所述第一图像中的归一化图像坐标;t是所述第一相机在该两个相邻视角位置上的运动关系中的平移运动参数;r是所述第一相机在该两个相邻视角位置上的运动关系中的旋转运动参数;e是所述本质矩阵;

将所述第一相机在该两个相邻视角位置上的运动关系中的旋转运动参数代入所述第一空间坐标与所述第二空间坐标的等式中,计算得到所述第一相机在该两个相邻视角位置上的运动关系中的平移运动参数。

具体的,如图5所示,针对第一相机在两个相邻视角位置上采集的两幅图像中的匹配特征x1,x2存在如下极线约束几何关系:

由于匹配特征x1,x2也存在于两个相机在相邻两个视角位置中的一个视角位置上分别采集的图像中,设两个相机的内参矩阵分别为k1,k2,则的表示方法如公式(12)所示。e称为本质矩阵。

由公式(11)求得本质矩阵后,可由分解法得到运动关系[r,t]。然而得到的t存在深度不确定性,含有一个未知的深度因子λ。即,只是用匹配特征无法得到真实尺度的运动关系中的t,存在深度歧义。在此,我们暂时用归一化的平移矩阵t=t/‖t||来表示两个相机之间的平移运动(在使用匹配特征恢复[r,t]时,为了使结果更加准确,使用ransac对原始匹配点集进行处理,去掉匹配不可靠的点,以得到更加鲁棒可靠的匹配特征)。基于上述公式(2)和(3)可计算得到但只能得到带有一个未知尺度因子的平移矩阵代入上述等式(10)即可计算得到如下公式(13):

由公式(10)和(13)可以恢复第一相机wi和wj之间在两个相邻视角位置上的平移矩阵的尺度因子,如公式(14)所示:

在实际中,可利用全部匹配特征获得最优的具有真实尺度的平移矩阵如公式(15)所示:

因此计算得到第一相机在该两个相邻视角位置上的运动关系中的平移运动参数,进而得到第一相机在该两个相邻视角位置上的运动关系

计算得到第一相机在多个相邻视角位置上的运动关系之后,为了进一步提高数据的准确性,在本实施例中,所述计算机还用于,在根据所述运动关系和所述第一相机在多个视角位置上采集的图像,重建所述待重建物体的三维模型之前,根据所述第一相机在所述多个视角位置上的运动关系,确定所述第一相机在所述多个视角位置上的坐标,将所述第一相机在所述多个视角位置上的坐标统一到预设参考坐标系上,针对每个视角位置,计算每个视角位置分别到第一个视角位置的最短距离;按照每个视角位置到第一个视角位置的最短距离的大小顺序,将所述第一相机在每个视角位置上采集的图像依次拼接起来,基于拼接后的图像数据和第一相机在多个相邻视角位置上的运动关系重建待重建物体的三维模型。

以下结合图6具体说明上述立体视觉三维重建系统的工作方法,该方法包括如下步骤:

1)bvs系统组成:两个固定联结的第一相机和第二相机(第一相机和第二相机中包括有图像采集卡),计算机,计算机包括有相应的数据处理软件。

2)工作方式:bvs中的第一相机和第二相机同步围绕待重建物体自由移动,两个相机采集一系列不同视角的图像,直至完成全视角扫描,实现三维全场重建。其中,第一相机为工作相机,其在多视角运动中采集的图像用于三维重建;第二相机为跟踪相机,用于bvs中第一相机的跟踪定位。

3)重建技术:详细的重建方法主要包括以下几个关键技术和步骤:

(1)使用本申请的bvs在围绕待重建物体的n个视角位置上进行图像拍摄(n可根据测量对象调整),在每个视角位置上工作相机wi和跟踪相机fi(i=1,2,…,n)同步拍摄场景信息。使用工作相机进行全场重建需要标定工作相机在多视角位置中的运动关系,该运动关系可通过跟踪相机来确定。

(2)根据上述公式(11)和公式(12),基于工作相机在相邻两个视角位置上分别采集的两幅图像中的匹配特征还原工作相机在相邻两个视角位置之间的运动关系[r,t]。

(3)使用跟踪相机恢复工作相机真实尺度的运动关系:

(a)设两个相邻扫描位置(即视角位置)i和j(i,j=1,2,…,n,i≠j)处,上述立体视觉三维重建系统(binocularvisionsystem,简称为bvs)的第一相机用wi和wj表示,第二相机用fi和fj表示,若想标定第一相机wi和wj之间真实尺度的运动关系,可通过其与第二相机fi或fj的匹配特征来确定。如图4(a)和图4(b)所示的两种基本的特征传递方式。

(b)基于图4(a)和图4(b)所示的两种基本的特征传递方式,以第一种传递方式为例,设wi、fi和wj采集的场景图像有q个共同可见的匹配特征,用表示,其归一化的图像坐标用表示。若匹配特征不足7个,则换用另外一种特征传递方式,或移动bvs系统到更合适的扫描位置。由wi和fi组成的bvs(表示为bvs-wifi)根据wi和fi在扫描位置i上分别采集的图像中匹配特征的归一化图像坐标,基于三角重建原理可以计算得到匹配特征的第二空间坐标,设为(世界坐标系位于第一相机wi上)。由wi和wj组成的bvs根据wi和wj在扫描位置i和j上分别采集的图像中匹配特征的归一化图像坐标,基于三角重建原理可以计算得到匹配特征的第一空间坐标,设为(世界坐标系位于相机wi上)。由于匹配特征是一致的,因此,第一空间坐标和第二空间坐标存在如公式(10)所示的等式关系。

(c)由于bvs系统中第一相机和第二相机固定联结,由此可基于固定联结预先标定第一相机相对于第二相机的运动关系已知,因此,为了基于上述公式(10)计算第一相机在该两个相邻视角位置上的运动关系只需计算中的旋转运动参数和平移运动参数基于上述公式(11)和公式(12)可计算得到但只能得到带有一个未知尺度因子的平移矩阵代入上述等式(10)即可计算得到如上述公式(13)所示的等式关系。

(d)由公式(10)和(13)可以恢复工作相机wi和wj之间在两个相邻视角位置上的平移矩阵的尺度因子,如上述公式(14)所示。

在实际中,可利用全部共同可见特征获得最优的具有真实尺度的平移矩阵如上述公式(15)所示。

(4)相邻扫描位置上工作相机之间的运动关系确定之后,确定所述第一相机在所述多个视角位置上的坐标,将所述第一相机在所述多个视角位置上的坐标统一到预设参考坐标系(一般将参考坐标系设在工作相机的第一个扫描位置处)上,针对每个视角位置,计算每个视角位置分别到第一个视角位置的最短距离;按照每个视角位置到第一个视角位置的最短距离的大小顺序,将所述第一相机在每个视角位置上采集的图像依次拼接起来,实现多视角扫描运动和数据的统一。

由上述描述,立体视觉系统围绕被测对象自由移动,实现三维全场重建。其中一个摄像机为工作相机,其在多视角运动中采集的图像用于三维重建;另一个相机为跟踪相机,用于工作相机的跟踪定位。该定位结果作为相邻图像帧对之间的共同特征数据的粗运动关系,为后续精配准的输入。

根据式(9),利用两相邻图像帧对的共同特征数据、运动旋量的旋量坐标、单位矩阵、两相邻图像帧对的共同特征数据之间的粗运动关系获得运动旋量的系数。然后利用上式(4),根据所述运动旋量的系数、所述单位矩阵、所述运动旋量、所述两相邻图像帧对的共同特征数据之间的粗运动关系获得对应两相邻图像帧对的精配准矩阵。

最后,利用已标定好的立体视觉系统基于视觉三角原理重建不同帧对的三维数据,根据每相邻两个帧对之间的精配准矩阵将三维数据进行精配准,得到被测对象全视角的三维轮廓信息。

由本实施例可知,用物理意义明显、表达形式简单的运动旋量来表征精配准矩阵,基于中间帧获得两相邻图像帧对的共同特征数据,利用精配准矩阵对相应地两相邻图像帧对的共同特征数据进行精配准,实现三维点云数据高效准确的精拼接,具有很高的研究价值和很广的应用前景。

与其他立体视觉三维重建点云拼接技术相比,本发明的优势在于:采用基于中间帧的搜索策略找到相邻两个帧对的共同特征,能够提高配准效率;采用非迭代的运动旋量方法优化运动参数,能够简化计算过程,提高配准效率和精度;应用范围广,同时适用于大型物体和中小型物体的多视角拼接。

如图7所示,为本说明书公开的一种点云配准装置功能框图。包括:

特征描述符集合获取单元701,用于获取每个图像帧的特征描述符集合;

图像帧对的匹配点集获取单元702,用于根据两相邻图像帧的特征描述符集合获得对应图像帧对的匹配点集;

搜索单元703,用于利用相邻三帧图像帧对应的两个匹配点集获得两相邻图像帧对的共同特征数据;

精配准矩阵获取单元704,用于利用所述共同特征数据获得两相邻图像帧对的精配准矩阵;

精配准单元705,用于根据两相邻图像帧的精配准矩阵对两相邻图像帧对的共同特征数据进行精配准,获得被测对象全视角的三维轮廓信息。

在本实施例中,所述图像帧对的匹配点集获取单元包括:

距离值搜索模块,用于将任一图像帧的特征描述符集合为基准,在特征空间中对相邻另一图像帧的特征描述符集合进行搜索,获得第一距离值和第二距离值;

匹配度量值获取模块,用于根据所述第一距离值和所述第二距离值获得匹配度量值;

第一匹配模块,用于设置第一匹配阈值,且所述匹配度量值小于所述第一匹配阈值,根据所述第一匹配阈值获得第一匹配结果;

基础矩阵获取模块,用于根据所述第一匹配结果获得两相邻图像帧的基础矩阵;

第二匹配模块,用于设置第二匹配阈值,所述第二匹配阈值大于所述第一匹配阈值,根据所述第二匹配阈值获得第二匹配结果;

过滤模块,用于利用所述基础矩阵和所述第二匹配结果获得两相邻图像帧的匹配点集。

在本实施例中,所述搜索单元进一步用于:

将相邻三帧图像帧中一相邻图像帧对的匹配点集为基准,基于相邻三帧图像帧中的中间图像帧,对另一相邻图像帧对的匹配点集进行全局搜索和对比,获得两相邻图像帧对的共同特征数据。

在本实施例中,所述精配准矩阵获取单元包括:

运动旋量的系数获取模块,用于根据两相邻图像帧对的共同特征数据、运动旋量的旋量坐标、单位矩阵、两相邻图像帧对的共同特征数据之间的粗运动关系获得运动旋量的系数;其中,所述两相邻图像帧对的共同特征数据之间的粗运动关系是根据粗拼接获得的;

精配准矩阵模块,用于根据所述运动旋量的系数、所述单位矩阵、所述运动旋量、所述两相邻图像帧对的共同特征数据之间的粗运动关系获得对应两相邻图像帧对的精配准矩阵。

在本实施例中,所述距离值搜索模块包括:

k-d树搜索搜索子模块,用于将任一图像帧的特征描述符集合为基准,在特征空间中利用欧式距离对相邻另一图像帧的特征描述符集合进行k-d树搜索;

排序取值子模块,用于将搜索结果按照大小进行升序排列,从排序结果中取前两个值作为第一距离值和第二距离值。

在本实施例中,所述第一匹配模块基于随机采样一致性处理所述第一匹配结果获得所述基础矩阵。

在本实施例中,所述过滤模块利用所述基础矩阵、基于极线约束集合关系对所述第二匹配结果进行过滤获得两相邻图像帧的匹配点集。

在本实施例中,所述运动旋量的系数获取模块利用最小二乘法获得所述运动旋量的系数。

如图8所示,为本说明书公开的实施例提出的一种电子设备示意图。包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现图1所示的所述的点云配准方法。

本说明书实施方式提供的点云配准方法,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。

在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如ram、rom等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置,如cd或dvd。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。

在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。

在本实施例中,本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的点云配准方法的步骤。

由上可见,本技术方案提出一种非迭代的、高效的三维重建点云拼接方法,运用运动旋量替代传统的icp配准方法来优化运动参数,从而达到提高配准的精度和效率的目的。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1