本发明属于三维图形图像处理技术领域,涉及一种基于最优传输的点云配准方法。
背景技术:
点云数据配准是计算机图形学最重要的研究内容之一,也是对象识别、姿态估计、人脸识别、表面匹配等应用中的关键技术。三维重建作为当前研究热点,已广泛应用于生活娱乐中的各个领域,包括制造业、医学、考古学等。而点云数据配准则是三维重建过程中必不可少的环节。
点云配准是将从不同视角获取的点云数据变换到统一的坐标系下,实现点云的对齐,从而获得一个更加接近于真实物体的三维模型。但是所获取的点云数据存在以下几个问题:由于环境的影响,例如光线、背景等,点云数据存在大量的噪声或者是数据缺失;扫描仪器只能获取物体部分表面的信息,因此获取的点云数据是部分重合。这些问题给点云配准带来了极大的困难,要得到一个精准且稳定的配准算法重点是解决上述问题。
目前为止研究点云配准的算法可以分成三类:基于贪心搜索的配准算法、基于全局特征的配准算法、基于局部特征的配准算法。基于贪心搜索的配准算法首先从源数据点云X中随机选取特定数量的点{x1,x2,…,xi},然后对目标数据点云Y进行穷尽搜索,找到与{x1,x2,…,xi}对应的点{y1,y2,…,yi}。该算法通过比较所有候选对应点,可以保证得到一个精确解,但是计算代价却非常大。基于全局和局部特征的配准算法包含两步:粗配准和精确配准。粗配准的目标是计算两个点云数据的初始变换,通过特征匹配找到特征点之间的对应关系。精确配准通常由ICP(iterative closest point)算法或其改进算法来实现。进行粗匹配的原因有两个,首先ICP算法需要一个初始变换进行初始化操作,如果初始化后两个点云的距离不是足够近,ICP算法会陷入局部最小值。其次,粗匹配得到的初始变换可以提高ICP算法的计算效率。上述两个基于特征的配准算法也有不相同的地方,全局特征描述的是整个模型的形状,而局部特征仅提取特征点的邻域特征。与全局特征相比,局部特征更适合部分重合的点云数据配准。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于最优传输的点云配准方法,能够解决当前点云配准过程中存在的噪声、缺失、部分重合的问题。
为达到上述目的,本发明提供如下技术方案:
一种基于最优传输的点云配准方法,所述方法包括:
S1:输入待配准的两幅点云的数据,并分别对每幅点云的数据进行质量分配;
S2:使用最优传输理论求解所述两幅点云的传输计划与变换矩阵;
S3:计算所述两幅点云中每个点的传输代价,并根据计算的传输代价检测异常点;
S4:根据检测结果,调整两幅点云中各个点的质量;
S5:对调整质量后的两幅点云重复执行步骤S2至S4,直至检测不到异常点为止;
S6:将检测不到异常点时对应的变换矩阵作用到点云中,以配准点云数据。
进一步地,输入的待配准的两幅点云中,各个点的初始质量以及两幅点云的质量和满足以下条件:
其中,表示第一幅点云中第i个点云对应的初始质量,表示第二幅点云中第j个点云对应的初始质量。
进一步地,使用最优传输理论求解所述两幅点云的传输计划与变换矩阵的步骤包括:
利用传输代价度量两幅点云之间的距离,并按照下述目标函数计算传输计划矩阵和变换矩阵的最小值:
其中,R表示所述变换矩阵,xi表示第一幅点云中的第i个点,yj表示第二幅点云中的第j个点,σi,j表示所述传输计划矩阵σ中第i行第j列的元素,该元素表示xi传输到yj的质量,||xiR-yj||2表示xi经过变换矩阵R后的位置到yj的欧氏距离;
其中,上述公式中的传输计划矩阵和变换矩阵的最小值可通过交替迭代求解下述两个公式得到:
其中,Rk和σk分别表示第k次迭代计算后的变换矩阵和传输计划矩阵,上述的交替迭代过程直至Rk收敛为止。
进一步地,在交替迭代求解变换矩阵和传输计划矩阵之前,所述方法还包括:
计算初始传输计划矩阵,其中,所述初始传输计划矩阵按照下述方式确定:
在传输过程中,若在第二幅点云的所有点中,yj到xi的距离最近,则xi传输本身所有质量到yj,同时,xi传输到第二幅点云中的其它点的质量为0。
进一步地,根据奇异值分解算法,按照下述公式求解变换矩阵:
其中,SVD(XTσk-1Y)=UDVT,SVD为奇异值分解算符,X表示第一幅点云的数据,Y表示第二幅点云的数据,U、D、V为奇异值分解后的三个矩阵,其中,
进一步地,所述方法还包括:
在所述目标函数中添加熵正则项,形成如下式所述的熵正则项光滑目标函数:
其中,λ为熵正则项的权重系数,h(σ)表示传输计划矩阵σ对应的熵正则项。
进一步地,所述方法还包括:
通过下述公式迭代求解所述熵正则项光滑目标函数:
其中,K=e-λM,M为第一幅点云到第二幅点云的距离矩阵,wx表示第一幅点云的质量矩阵,wy表示第二幅点云的质量矩阵,u和v为迭代参数,在迭代结束后,所述传输计划矩阵为σ=diag(u)Kdiag(v)。
进一步地,计算所述两幅点云中每个点的传输代价,并根据计算的传输代价检测异常点具体包括:
按照下述公式计算所述两幅点云中每个点的传输代价:
其中,表示第一幅点云中第i个点的传输代价,xi表示第一幅点云中的第i个点,σi,j表示传输计划矩阵中第i行第j列的元素,该元素表示第一幅点云中的第i个点传输到第二幅点云中的第j个点的质量,Mi,j为第一幅点云中的第i个点与第二幅点云中的第j个点之间的欧氏距离,n表示所述第二幅点云中所有点的个数;
若则将xi标记为异常点;其中,表示第一幅点云中各个点的传输代价的平均值,表示第一幅点云中各个点的传输代价的标准差。
进一步地,根据检测结果,调整两幅点云中各个点的质量具体包括:
按照下述公式,对检测出的异常点进行质量削减:
其中,表示第一幅点云中第i个点削减后的质量,表示第一幅点云中第i个点削减前的质量,表示第一幅点云中第i个点的传输代价,xi表示第一幅点云中的第i个点,表示第一幅点云中各个点的传输代价的平均值,表示第一幅点云中各个点的传输代价的标准差;
将对异常点削减的质量平分至其它非异常点上。
进一步地,将检测不到异常点时对应的变换矩阵作用到点云中,以配准点云数据具体包括:将检测不到异常点时对应的变换矩阵作用到其中一幅点云中,以实现两幅点云在同一坐标系中的对齐。
本发明的有益效果在于:
本发明提出的基于最优传输的点云配准方法使用传输代价度量两个点云之间的距离,通过逐渐缩小点云之间的距离来实现配准。同时本方法解决了点云中存在异常点的问题。当点云中存在异常点时,会影响点云的配准效果。本方法通过比较点的传输代价检测出异常点,然后对异常点进行质量消减,减小异常点对配准的影响,从而实现精确、稳健配准。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本申请实施方式种基于最优传输的点云配准方法流程图;
图2为初始输入的两个点云数据;
图3为未改变质量的初始配准结果;
图4(a)(b)(c)为改变质量配准过程;
图4(d)为最终配准结果;
图5(a)(b)为三维输入点云;
图5(c)为三维配准结果图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
请参阅图1,本申请实施方式提供一种基于最优传输的点云配准方法,所述方法包括以下步骤。
S1:输入待配准的两幅点云的数据,并分别对每幅点云的数据进行质量分配;
S2:使用最优传输理论求解所述两幅点云的传输计划与变换矩阵;
S3:计算所述两幅点云中每个点的传输代价,并根据计算的传输代价检测异常点;
S4:根据检测结果,调整两幅点云中各个点的质量;
S5:对调整质量后的两幅点云重复执行步骤S2至S4,直至检测不到异常点为止;
S6:将检测不到异常点时对应的变换矩阵作用到点云中,以配准点云数据。
在本实施方式中,可以输入待配准的点云数据X、Y,其中点云中包括噪声与缺失点。对于输入的点无法判断是异常点还是非异常点,因此初始点云中点的质量均相等。为方便计算,点云中所有点的质量和为1。对点云X上的点进行质量分配满足如下条件:
其中m表示点云X中点的数量,因为点的质量均相等,则每个点的质量为对点云Y上的点进行质量分配满足如下条件:
其中n表示点云Y中点的数量,因为点的质量均相等,则每个点的质量为
具体地,输入的待配准的两幅点云中,各个点的初始质量以及两幅点云的质量和满足以下条件:
其中,表示第一幅点云中第i个点云对应的初始质量,表示第二幅点云中第j个点云对应的初始质量。
请参阅图2,图2为初始输入的两个点云数据,在不改变各个点的质量的情况下,初始的配准结果如图3所示,从图3中可以看出,两个点云数据的配准结果并不好。
在本实施方式中,可以根据最优传输理论求两幅点云之间的传输计划矩阵σ和变换矩阵R。使用传输代价度量两幅点云之间的距离,将配准问题变成求解下面的求解最值问题:
其中,R表示所述变换矩阵,xi表示第一幅点云中的第i个点,yj表示第二幅点云中的第j个点,σi,j表示所述传输计划矩阵σ中第i行第j列的元素,该元素表示xi传输到yj的质量,||xiR-yj||2表示xi经过变换矩阵R后的位置到yj的欧氏距离。
在本实施方式中,求解两个参数的最值问题,可以通过交替迭代下面两个目标函数近似求解。因此上面的公式可以变成下面公式:
其中,Rk和σk分别表示第k次迭代计算后的变换矩阵和传输计划矩阵,上述的交替迭代过程直至Rk收敛为止。
在本实施方式中,在交替迭代求解变换矩阵和传输计划矩阵之前,可以计算初始传输计划矩阵,其中,所述初始传输计划矩阵按照下述方式确定:
在传输过程中,若在第二幅点云的所有点中,yj到xi的距离最近,则xi传输本身所有质量到yj,同时,xi传输到第二幅点云中的其它点的质量为0。
在本实施方式中,可以根据奇异值分解算法,按照下述公式求解变换矩阵:
其中,SVD(XTσk-1Y)=UDVT,SVD为奇异值分解算符,X表示第一幅点云的数据,Y表示第二幅点云的数据,U、D、V为奇异值分解后的三个矩阵,其中,
在本实施方式中,还可以在所述目标函数中添加熵正则项,形成如下式所述的熵正则项光滑目标函数:
其中,λ为熵正则项的权重系数,h(σ)表示传输计划矩阵σ对应的熵正则项。
当λ越大时,第二项趋于0,计算得到的结果越接近传输计划的最优值,但是相反的计算效率比较低。当λ越小时,第二项越大,计算得到的结果远离最优值,同时计算效率比较高。选定合适的λ,既满足对最优值的要求,又可以计算速度比较快。其中h(σ)为传输计划σ的熵:
其中σi,j表示点xi传输到yj的质量。并且σi,j满足约束如下条件:
在本实施方式中,可以通过Sinkhorn不动点迭代求解所述熵正则项光滑目标函数:
其中K=e-λM,M为第一幅点云到第二幅点云的距离矩阵,wx表示第一幅点云的质量矩阵,wy表示第二幅点云的质量矩阵,u和v为迭代参数,在迭代结束后,所述传输计划矩阵为σ=diag(u)Kdiag(v)。
通过上述的求解方法进行交替计算,最终可以得到变换矩阵和传输计划的近似解,交替迭代的终止条件是:当变换矩阵R收敛,交替迭代终止。
在本实施方式中,可以检测异常点,以改变点的质量。通过上述得到的变换矩阵作用到点云X中,得到的配准结果如图4所示,其中,从图4(a)至图4(c),点的质量在不断改变,但依然会存在异常值。图4(d)则为最终的配准结果,在该结果中不存在异常点。通常情况下,异常点没有对应点,所以异常点的传输代价往往很大。根据异常点的这个特性,可以找出点云中的异常点。
检测异常点是对两幅点云分别进行检测,在此以点云X为例介绍,首先求出点云中每个点的传输代价,传输代价是传输质量与传输距离的乘积,具体的公式表示如下:
其中,表示第一幅点云中第i个点的传输代价,xi表示第一幅点云中的第i个点,σi,j表示传输计划矩阵中第i行第j列的元素,该元素表示第一幅点云中的第i个点传输到第二幅点云中的第j个点的质量,Mi,j为第一幅点云中的第i个点与第二幅点云中的第j个点之间的欧氏距离,n表示所述第二幅点云中所有点的个数。
在本实施方式中,可以采用二倍标准差法对传输代价进行判断。若则将xi标记为异常点;其中,表示第一幅点云中各个点的传输代价的平均值,表示第一幅点云中各个点的传输代价的标准差。点云Y也使用同样的方法进行异常点检测。
在本实施方式中,可以对点云中的点进行质量修正。对于检测出来的异常点进行质量削减,同时将削减的质量加到非异常点上,保证质量守恒。质量不会凭空减小,也不会凭空增加,因此无论在传输的过程中还是在质量修正的过程中都应该保证质量守恒。异常点质量消减的规则是(以点云X为例),其中,表示第一幅点云中第i个点削减后的质量,表示第一幅点云中第i个点削减前的质量,表示第一幅点云中第i个点的传输代价,xi表示第一幅点云中的第i个点,表示第一幅点云中各个点的传输代价的平均值,表示第一幅点云中各个点的传输代价的标准差。将异常点削减的质量平分,分别加到非异常点上。
在质量修正之后,可以再次对点云进行计算变换矩阵和传输计划矩阵的步骤,并且循环检测异常点,直至异常点不存在,停止检测。
在本实施方式中,可以将最终得到的变换矩阵应用到点云X中,配准两幅点云,得到最终配准结果。图4(d)就是最终的配准结果,与图3中未进行质量修正的配准结果相比较发现,改变质量的配准结果比未改变质量的配准结果精确很多。同时也可以看到本方法在噪声与缺失均存在的情况下也可以非常精准与稳定的配准。
上述点云配准方法是基于最优传输理论,通过最优传输理论的传输代价进行点云之间的距离度量,将配准问题变成优化问题。同时通过增加了点的质量改变,克服噪声点、缺失点对配准的影响,提高了配准的稳健性、精准性。图5是本方法在三维的情况下的配准结果,其中图5(a)(b)是初始输入的点云,图5(c)是最终的配准结果。本方法在三维的情况下也可以精确配准。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。