一种基于区域配准的深度点云三维重建方法与流程

文档序号:11145000阅读:465来源:国知局
一种基于区域配准的深度点云三维重建方法与制造工艺

本发明涉及立体模型的三维重建技术,从彩色图像的颜色相似性出发,对彩色图像进行区域分割,将图像中的物体分割成具有局部相似性的多个区域,并利用深度信息对相邻区域进行相似度计算,将相邻的相似区域进行合并。在得到合并的区域后,利用权重信息的迭代更新进行相邻时刻的区域预匹配,并对预处理后的区域对所对应的点云进行三维配准得到变换矩阵,最后将所有时刻的三维点云按照变换矩阵存储在栅格立方体中,使用移动立方体算法进行三维表面重建。



背景技术:

三维立体模型重建是计算机视觉、机器人系统与计算机图形学等领域中重要的研究课题。近些年来,由于Kinect等消费级深度采集设备的出现,该技术在虚拟现实、文物修复、医学成像、三维打印等领域中都有着广泛的应用。由于设备硬件上的限制,采集的深度数据往往会出现丢失现象。此外,设备的快速移动会导致配准技术的失败,产生与真实数据误差较大的三维模型。目前,一些优化技术可以检测到闭环,逐渐纠正设备位姿,并将误差分配到逐帧以减少累计误差带来的影响。但是,这些办法没有真正解决复杂环境下配准偏移的问题,当移动速度较快,或者物体特征信息不丰富时,如何获取较为精确的三维模型仍然是研究中亟待解决的关键问题。



技术实现要素:

本发明的目的是提出一种基于区域配准的深度点云三维重建方法。

本发明的目的是这样实现的:一种基于区域配准的深度点云三维重建方法,其特征在于,对于采集的彩色图像与深度数据,采用以下步骤进行处理,即可以实现深度点云的三维重建。

步骤1:对彩色图像进行区域分割

为对彩色图像进行区域分割,首先将彩色图像所有像素点存储在图G中,然后使用基于图的贪心聚类分割方法将彩色图像过分割成多个区域。具体地,将彩色图像每个像素初始化为图G的顶点,像素之间的颜色差异初始化为顶点之间的边权值。首先计算所有像素之间的颜色差异,计为图G的边权值h,按照公式(1)计算:

其中,hij是像素点pi与pj之间的边权值,(ri,gi,bi)与(rj,gj,bj)分别是两个像素点的红绿蓝三个颜色值。为了进一步进行区域分割,首先将图G中每一个顶点当作一个区域,然后根据公式(2)对每两个区域进行聚类分析,如果两个区域满足公式(2),那么将他们合并为一块新区域;

Dif(Ci,Cj)≤min(Int(Ci)+f/|Ci|,Int(Cj)+f/|Cj|) (2)

其中,Ci和Cj是待分割的两个区域,Dif(Ci,Cj)是连接两个区域Ci和Cj之间的最小的边权值,Int(Ci)和Int(Cj)分别为区域Ci和Cj包含的图所对应的最小生成树中最大的边权值。|Ci|和|Cj|分别是区域Ci和Cj中的像素点个数,f是分割的阈值参数,设为50。对所有像素点进行处理后,彩色图像被过分割成多个区域;

步骤2:对相似的过分割区域进行合并

为了对相似的过分割区域进行合并,首先计算所有区域的协方差矩阵,然后计算相邻区域的相似度,对相似度小于阈值的区域进行合并。具体地,首先根据公式(3)计算每个区域的协方差矩阵A(u(S)):

其中,c(S)是区域S的中心点的三维坐标,u(S)是区域S对应的三维点云。|u(S)|为u(S)的顶点数量。x是点云上u(S)任意一个点的三维坐标。对A(u(S))进行矩阵的特征分解,得到的三个特征值从大到小分别为w1(S)、w2(S)、wn(S),对应的三个特征向量分别为T1(S)、T2(S)、N(S);

然后,对图像中所有相邻的区域进行相似度计算。具体地,对于图像中任意两个相邻区域Si,Sj,按照公式(4)计算它们之间的相似度csmooth

其中||·||表示数量积计算,N(Si)与N(Sj)是两个区域计算得到的最小的特征向量。如果两个区域的相似度csmooth小于阈值常数cthod,相邻区域Si、Sj将合并成为新区域。其中cthod设为0.02m。对相邻时刻所有区域都进行相似度计算和合并后,得到相邻时刻两组合并后的区域集合;

步骤3:匹配相邻时刻的两组区域,对所有匹配的区域所对应的点云进行三维配准

为了进行区域点云之间的三维配准,首先要进行相邻时刻的两组区域之间的区域配对,然后进一步对配对后的区域点云进行三维配准。具体地,从时刻tk的区域集合中取一块区域Sm,再从下一时刻tk+1的区域集合中取一块区域Sn,组成区域对(Sm,Sn)。然后按照公式(5),计算Sm与Sn之间的空间位置关系rmn

其中,dmn为两个点云区域之间所有最临近点对的平均欧氏距离,按照公式(6)计算。

其中,(xm,ym,zm)是u(Sm)上的任意点的三维坐标,(xn,yn,zn)是在u(Sn)上距离(xm,ym,zm)欧式距离最小的点的三维坐标;

wmn表示两个点云的重叠率,按照公式(7)进行计算。

其中,Nw是两个点云中欧式距离最小的点对距离小于dthod的点对数,其中dthod设为0.01m;

然后,对相邻两个时刻所有区域的点云进行权值初始化,具体地,区域Sm和Sn的权值e(Sm),e(Sn)分别初始化为Sm和Sn对应点云u(Sm)和u(Sn)的顶点个数占该时刻所有点云的顶点个数合的比例。如果rmn小于阈值rthod,那么将该组点云区域对(Sm,Sn)加入预处理集合M中,并分别按照公式(8)更新权值e(Sm),e(Sn),其中rthod设为0.02;

对所有区域对的点云进行权值计算,迭代更新所有点云的权值,最终得到包含所有区域对的预处理集合M。

进一步对预处理的区域对进行对应点云的几何三维配准。首先从M中取出一对区域,对这两块区域对应的三维点云分别进行几何特征提取。具体地,对点云u(Sm)和u(Sn)中的每个点分别计算FPFH特征。其特征在于,对点云每个点周围距离小于R的点进行特征统计形成点特征直方图,其中特征统计包括对距离、角度的统计,R取值为0.5m。然后利用采样一致性初始配准算法计算物体的四阶变换矩阵,具体地,先在u(Sm)中寻找采样点,然后在另一个点云u(Sn)中查找与采样点FPFH特征相似的所有点,计算每个点对的四阶变换矩阵,选择其中误差最小的刚体变换矩阵Tkp作为最终变换矩阵。k表示第k时刻,p表示在预处理集合M中的第p对匹配区域。其中,采样一致性初始配准算法中的采样点之间的距离不应小于阈值dmin,设为0.1m。

步骤4:融合通过三维配准得到的所有区域的变换矩阵

对于同一个时刻k,将该时刻所有区域的变换矩阵Tkp融合成该时刻的完整变换矩阵Tk,假设时刻k总共有pk组区域对,按照公式(9)计算融合后的变换矩阵Tk

其中X为权值矩阵,设为(0.70.3),Tkp是时刻k时的第p对区域点云配准得到的变换矩阵,wkp是时刻k时的第p对区域点云的重叠率,按照公式(7)进行计算,dkp是时刻k时的第p对区域点云的平均欧式距离,按照公式(8)进行计算;

步骤5:将不同时刻的深度点云进行点云融合与三维表面重建。

为了将不同时刻的深度点云进行点云融合与三维表面重建,首先使用截断符号距离函数(TSDF)进行点云的融合。具体地,将空间划分成1283个栅格立方体,将点云分布在栅格立方体中,然后计算每帧融合后每个栅格立方体的TSDF值;

为了计算每个栅格立方体中的截断符号距离函数,首先要计算每个栅格立方体中的符号距离函数sdfkg(x),k表示第k时刻,g表示第g个栅格立方体,sdfkg(x)代表着点云上任意一点x的符号距离函数,按照公式(10)进行计算:

sdfkg(x)=dis(vg,tk)-Dk (10)

其中,tk是相机光心在三维坐标系下的坐标,相机光心坐标设为(320,240),vg是栅格g在三维坐标系下的坐标,dis(vg,tk)表示栅格到光心的距离,Dk是图像中x对应的像素点所对应的深度值,由Kinect设备相机采集得到。如果sdfkg(x)大于0,tsdfkg(x)按照公式(11)计算,否则按照公式(12)计算:

tsdfkg(x)=min(1,sdfkg(x)/mtruncation) (11)

tsdfkg(x)=min(-1,sdfkg(x)/mtruncation) (12)

其中mtruncation为常量,取值为10。然后计算权重wtkg(x),初始值为1。Wkg(x)为迭代后的权重,计算公式如(13)所示;

Wkg(x)=Wk-1,g(x)+wtkg(x) (13)

最后记录迭代后的加权TSDF值,标记为TSDFkg(x),按照公式(14)计算。

将Wkg(x)和TSDFkg(x)存储在对应的栅格g中,进行下个栅格g+1的计算。当对所有时刻的栅格都计算了截断符号距离函数后,所有点云已被存储在栅格立方体中。然后使用移动立方体算法抽取等值面,绘制三维表面,得到立体模型。

本发明利用彩色图像与深度图像,能得到具有一定真实度与准确度的三维模型,能够解决困难环境下的配准偏移问题。进一步实例证明了本发明的实验效果,适用于如TUM RGB-D库提供的数据集提供的深度与彩色图像等。

附图说明

图1为本发明实施例经过区域生成后的分割过程结果图;

图2为本发明实施例重建的三维模型结果图。

具体实施方式

下面结合附图及实施例对发明进行详细描述。

实施例

本实施例采用TUM RGB-D库提供的large cabinet,cabinet,teddy数据集进行实验。在Windows 10操作系统的PC机上进行实验,硬件配置是2.6GHzCoreTM i5-3230M CPU、8GB RAM;实验平台是VS2010。

本发明包括以下具体步骤:

步骤1:对彩色图像进行区域分割

为对彩色图像进行区域分割,首先将彩色图像所有像素点存储在图G中,然后使用基于图的贪心聚类分割方法将彩色图像过分割成多个区域。具体地,将彩色图像每个像素初始化为图G的顶点,像素之间的颜色差异初始化为顶点之间的边权值。首先计算所有像素之间的颜色差异,计为图G的边权值h,按照公式(1)计算:

其中,hij是像素点pi与pj之间的边权值,(ri,gi,bi)与(rj,gj,bj)分别是两个像素点的红绿蓝三个颜色值。为了进一步进行区域分割,首先将图G中每一个顶点当作一个区域,然后根据公式(2)对每两个区域进行聚类分析,如果两个区域满足公式(2),那么将他们合并为一块新区域。

Dif(Ci,Cj)≤min(Int(Ci)+f/|Ci|,Int(Cj)+f/|Cj|) (2)

其中,Ci和Cj是待分割的两个区域,Dif(Ci,Cj)是连接两个区域Ci和Cj之间的最小的边权值,Int(Ci)和Int(Cj)分别为区域Ci和Cj包含的图所对应的最小生成树中最大的边权值。|Ci|和|Cj|分别是区域Ci和Cj中的像素点个数,f是分割的阈值参数,设为50。对所有像素点进行处理后,彩色图像被过分割成多个区域。

步骤2:对相似的过分割区域进行合并

为了对相似的过分割区域进行合并,首先计算所有区域的协方差矩阵,然后计算相邻区域的相似度,对相似度小于阈值的区域进行合并。具体地,首先根据公式(3)计算每个区域的协方差矩阵A(u(S)):

其中,c(S)是区域S的中心点的三维坐标,u(S)是区域S对应的三维点云。|u(S)|为u(S)的顶点数量。x是点云上u(S)任意一个点的三维坐标。对A(u(S))进行矩阵的特征分解,得到的三个特征值从大到小分别为w1(S)、w2(S)、wn(S),对应的三个特征向量分别为T1(S)、T2(S)、N(S)。

然后,对图像中所有相邻的区域进行相似度计算。具体地,对于图像中任意两个相邻区域Si,Sj,按照公式(4)计算它们之间的相似度csmooth

其中||·||表示数量积计算,N(Si)与N(Sj)是两个区域计算得到的最小的特征向量。如果两个区域的相似度csmooth小于阈值常数cthod,相邻区域Si、Sj将合并成为新区域。其中cthod设为0.02m。对相邻时刻所有区域都进行相似度计算和合并后,得到相邻时刻两组合并后的区域集合。

步骤3:匹配相邻时刻的两组区域,对所有匹配的区域所对应的点云进行三维配准

为了进行区域点云之间的三维配准,首先要进行相邻时刻的两组区域之间的区域配对,然后进一步对配对后的区域点云进行三维配准。具体地,从时刻tk的区域集合中取一块区域Sm,再从下一时刻tk+1的区域集合中取一块区域Sn,组成区域对(Sm,Sn)。然后按照公式(5),计算Sm与Sn之间的空间位置关系rmn

其中,dmn为两个点云区域之间所有最临近点对的平均欧氏距离,按照公式(6)计算。

其中,(xm,ym,zm)是u(Sm)上的任意点的三维坐标,(xn,yn,zn)是在u(Sn)上距离(xm,ym,zm)欧式距离最小的点的三维坐标。

wmn表示两个点云的重叠率,按照公式(7)进行计算。

其中,Nw是两个点云中欧式距离最小的点对距离小于dthod的点对数,其中dthod设为0.01m。

然后,对相邻两个时刻所有区域的点云进行权值初始化,具体地,区域Sm和Sn的权值e(Sm),e(Sn)分别初始化为Sm和Sn对应点云u(Sm)和u(Sn)的顶点个数占该时刻所有点云的顶点个数合的比例。如果rmn小于阈值rthod,那么将该组点云区域对(Sm,Sn)加入预处理集合M中,并分别按照公式(8)更新权值e(Sm),e(Sn),其中rthod设为0.02。

对所有区域对的点云进行权值计算,迭代更新所有点云的权值,最终得到包含所有区域对的预处理集合M。

进一步对预处理的区域对进行对应点云的几何三维配准。首先从M中取出一对区域,对这两块区域对应的三维点云分别进行几何特征提取。具体地,对点云u(Sm)和u(Sn)中的每个点分别计算FPFH特征。其特征在于,对点云每个点周围距离小于R的点进行特征统计形成点特征直方图,其中特征统计包括对距离、角度的统计,R取值为0.5m。然后利用采样一致性初始配准算法计算物体的四阶变换矩阵,具体地,先在u(Sm)中寻找采样点,然后在另一个点云u(Sn)中查找与采样点FPFH特征相似的所有点,计算每个点对的四阶变换矩阵,选择其中误差最小的刚体变换矩阵Tkp作为最终变换矩阵。k表示第k时刻,p表示在预处理集合M中的第p对匹配区域。其中,采样一致性初始配准算法中的采样点之间的距离不应小于阈值dmin,设为0.1m。

步骤4:融合通过三维配准得到的所有区域的变换矩阵

对于同一个时刻k,将该时刻所有区域的变换矩阵Tkp融合成该时刻的完整变换矩阵Tk,假设时刻k总共有pk组区域对,按照公式(9)计算融合后的变换矩阵Tk

其中X为权值矩阵,设为(0.70.3),Tkp是时刻k时的第p对区域点云配准得到的变换矩阵,wkp是时刻k时的第p对区域点云的重叠率,按照公式(7)进行计算,dkp是时刻k时的第p对区域点云的平均欧式距离,按照公式(8)进行计算。

步骤5:将不同时刻的深度点云进行点云融合与三维表面重建

为了将不同时刻的深度点云进行点云融合与三维表面重建,首先使用截断符号距离函数(TSDF)进行点云的融合。具体地,将空间划分成1283个栅格立方体,将点云分布在栅格立方体中,然后计算每帧融合后每个栅格立方体的TSDF值。

为了计算每个栅格立方体中的截断符号距离函数,首先要计算每个栅格立方体中的符号距离函数sdfkg(x),k表示第k时刻,g表示第g个栅格立方体,sdfkg(x)代表着点云上任意一点x的符号距离函数,按照公式(10)进行计算:

sdfkg(x)=dis(vg,tk)-Dk (10)

其中,tk是相机光心在三维坐标系下的坐标,相机光心坐标设为(320,240),vg是栅格g在三维坐标系下的坐标,dis(vg,tk)表示栅格到光心的距离,Dk是图像中x对应的像素点所对应的深度值,由Kinect设备相机采集得到。如果sdfkg(x)大于0,tsdfkg(x)按照公式(11)计算,否则按照公式(12)计算:

tsdfkg(x)=min(1,sdfkg(x)/mtruncation) (11)

tsdfkg(x)=min(-1,sdfkg(x)/mtruncation) (12)

其中mtruncation为常量,取值为10。然后计算权重wtkg(x),初始值为1。Wkg(x)为迭代后的权重,计算公式如(13)所示。

Wkg(x)=Wk-1,g(x)+wtkg(x) (13)

最后记录迭代后的加权TSDF值,标记为TSDFkg(x),按照公式(14)计算。

将Wkg(x)和TSDFkg(x)存储在对应的栅格g中,进行下个栅格g+1的计算。当对所有时刻的栅格都计算了截断符号距离函数后,所有点云已被存储在栅格立方体中。然后使用移动立方体算法抽取等值面,绘制三维表面,得到立体模型。

本发明利用彩色图像与深度图像,能得到具有一定真实度与准确度的三维模型,能够解决困难环境下的配准偏移问题。实例进一步证明了本发明的实验效果,适用于如TUM RGB-D库提供的数据集提供的深度与彩色图像等。

图1是本发明实施例经过区域分割后的过程结果图。从图中的区域分割结果可以明显看出,利用本发明对彩色图像进行区域分割结果的合理性与有效性。

图2是本发明实施例重建的三维模型结果图,从图中的结果可以看出,利用本发明对物体的三维重建结果的真实度与准确度。

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