[发明专利]一种基于区域配准的深度点云三维重建方法在审

专利信息
申请号: 201611233141.3 申请日: 2016-12-28
公开(公告)号: CN106651926A 公开(公告)日: 2017-05-10
发明(设计)人: 全红艳;赵含放 申请(专利权)人: 华东师范大学
主分类号: G06T7/33 分类号: G06T7/33;G06T7/593
代理公司: 上海蓝迪专利商标事务所(普通合伙)31215 代理人: 徐筱梅,张翔
地址: 200241 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 区域 深度 三维重建 方法
【权利要求书】:

1.一种基于区域配准的深度点云三维重建方法,其特征在于,该方法包括以下具体步骤:步骤1:对彩色图像进行区域分割

将彩色图像每个像素初始化为图G的顶点,像素之间的颜色差异初始化为顶点之间的边权值;计算所有像素之间的颜色差异,计为图G的边权值h,按照公式(1)计算:

<mrow><msub><mi>h</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>r</mi><mi>i</mi></msub><mo>-</mo><msub><mi>r</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>-</mo><msub><mi>g</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>b</mi><mi>i</mi></msub><mo>-</mo><msub><mi>b</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>

其中,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)):

<mrow><mi>A</mi><mrow><mo>(</mo><mi>u</mi><mo>(</mo><mi>S</mi><mo>)</mo><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mo>|</mo><mi>u</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><msub><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>&Element;</mo><mi>u</mi><mo>(</mo><mi>S</mi></mrow></munder><mo>)</mo></msub><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>c</mi><mo>(</mo><mi>S</mi><mo>)</mo><mo>)</mo></mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>c</mi><mo>(</mo><mi>S</mi><mo>)</mo><mo>)</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>

其中,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

<mrow><msub><mi>c</mi><mrow><mi>s</mi><mi>m</mi><mi>o</mi><mi>o</mi><mi>t</mi><mi>h</mi></mrow></msub><mo>=</mo><mfrac><mrow><mi>max</mi><mo>{</mo><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>c</mi><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo><mo>-</mo><mi>c</mi><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>)</mo><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>,</mo><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>c</mi><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo><mo>-</mo><mi>c</mi><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo><mo>|</mo><mo>|</mo><mo>}</mo></mrow><mrow><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>

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

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

从时刻tk的区域集合中取一块区域Sm,再从下一时刻tk+1的区域集合中取一块区域Sn,组成区域对(Sm,Sn);然后按照公式(5),计算Sm与Sn之间的空间位置关系rmn

<mrow><msub><mi>r</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><msub><mi>w</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><msub><mi>d</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mfrac><mrow><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>&CenterDot;</mo><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mrow><mo>|</mo><mo>|</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>

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

<mrow><msub><mi>d</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mi>min</mi><mo>{</mo><mo>|</mo><mi>u</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>,</mo><mo>|</mo><mi>u</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>}</mo></mrow></mfrac><munder><munder><mo>&Sigma;</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>,</mo><msub><mi>y</mi><mi>m</mi></msub><mo>,</mo><msub><mi>z</mi><mi>m</mi></msub><mo>)</mo><mo>&Element;</mo><mi>u</mi><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow></munder><mrow><mo>(</mo><msub><mi>x</mi><mi>n</mi></msub><mo>,</mo><msub><mi>y</mi><mi>n</mi></msub><mo>,</mo><msub><mi>z</mi><mi>n</mi></msub><mo>)</mo><mo>&Element;</mo><mi>u</mi><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow></munder><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mi>n</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mi>n</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>z</mi><mi>m</mi></msub><mo>-</mo><msub><mi>z</mi><mi>n</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>

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

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

<mrow><msub><mi>w</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mfrac><msub><mi>N</mi><mi>w</mi></msub><mrow><mi>min</mi><mo>{</mo><mo>|</mo><mi>u</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>,</mo><mo>|</mo><mi>u</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>}</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>

其中,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;

<mrow><mtable><mtr><mtd><mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>&LeftArrow;</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mo>{</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>}</mo></mrow></mtd></mtr><mtr><mtd><mrow><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>&LeftArrow;</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>min</mi><mo>{</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>n</mi></msub><mo>)</mo></mrow><mo>}</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>

对所有区域对的点云进行权值计算,迭代更新所有点云的权值,最终得到包含所有区域对的预处理集合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

<mrow><msub><mi>T</mi><mi>k</mi></msub><mo>=</mo><mi>X</mi><mo>&CenterDot;</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><mfrac><mn>1</mn><mrow><munderover><mo>&Sigma;</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>p</mi><mi>k</mi></msub></munderover><msub><mi>w</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>p</mi><mi>k</mi></msub></munderover><msub><mi>w</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub><msub><mi>T</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mn>1</mn><mrow><munderover><mo>&Sigma;</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>p</mi><mi>k</mi></msub></munderover><msub><mi>d</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>p</mi><mi>k</mi></msub></munderover><msub><mi>d</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub><msub><mi>T</mi><mrow><mi>k</mi><mi>p</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>

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

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

将空间划分成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)计算;

<mrow><msub><mi>TSDF</mi><mrow><mi>k</mi><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>TSDF</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><msub><mi>W</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>tsdf</mi><mrow><mi>k</mi><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><msub><mi>w</mi><mrow><mi>k</mi><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>W</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>w</mi><mrow><mi>k</mi><mi>g</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>

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

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611233141.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top