[发明专利]基于视线更新算法的大规模场景实时三维重建方法和系统有效
申请号: | 201711087652.3 | 申请日: | 2017-11-02 |
公开(公告)号: | CN107862733B | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 周余;章坚;于耀 | 申请(专利权)人: | 南京大学 |
主分类号: | G06T15/08 | 分类号: | G06T15/08;G01S17/894 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 视线 更新 算法 大规模 场景 实时 三维重建 方法 系统 | ||
1.一种基于视线更新算法的大规模场景实时三维重建方法,其特征在于,包括如下步骤:
步骤1:三维点云获取以及传感器外参数据计算;
步骤2:基于视线算法计算隐式表面的符号距离值;以当前激光雷达所在空间位置为中心,对一定范围内空间进行体素化,其体数据结构为:
(pk,n,dk,n,wk,n)
其中,pk,n代表第k帧体数据结构中第n个体素的三维空间坐标,dk,n,wk,n分别是此体素所对应的符号距离值以及权重,dk,n开始时初始化为Nan,代表此体素未使用,wk,n初始化为0;
采用视线算法并行计算相关体素的符号距离值,对于第k帧点云,以点云中每个三维点作为终点,当前传感器空间位置o作为起点,计算视线方向向量xk,n∈Xk,xk,n代表第k帧点云Xk中第n个点的三维坐标,o代表当前激光雷达三维坐标,在视线方向上,以xk,n点为中心,取前后m个点,m∈Z+,Z+代表正整数的集合,m为系统参数,设置范围在1到10之间,得到2m个点的三维坐标r,r代表了每一个xk,n所相关的2m个点,设置体素的单位边长为l,l为系统参数,l∈R+,R+代表正数集合,当l取值较大时,三维重建后获得的细节较少,反之,细节保留较多,对此2m+1个点在x,y,z方向上分别以体素边长l为单位进行取整,得到视线方向上相关体素三维坐标pk,n,计算符号距离值sdfk,n,得到相关体素所对应的(pk,n,sdfk,n);
其中,计算sdfk,n的具体方式为:
Sdfk,n=||xk,n-pk,n||2
计算r的具体方法:
分别代表了向量在x,y,z方向上的分量,比较在x,y,z方向上分量的大小,选取最大分量进行归一化,得到t为方程变量,t的取值为:-m,-m+1,...,0,...,m;通过t对xk,n进行加减,得到xk,n相关点r;
上述视线算法既可以串行计算也可以并行计算,在并行计算时,计算得到的sdfk,n,不直接写入当前体数据结构,而是保存(pk,n,sdfk,n);在等待并行计算完成后,再进行步骤3;在视线算法进行串行运行时,每得到一次(pk,n,sdfk,n),即可进行符号距离值的融合;
步骤3:符号距离值加权融合;
步骤4:对体数据进行体绘制并保存,实时显示重建效果。
2.根据权利要求1所述的一种基于三维点云的隐式表面更新算法,其特征在于,所述步骤3进一步具体为:根据步骤2所保存的(pk,n,sdfk,n),使用pk,n索引当前体数据结构中对应的dk,n,wk,n;新的符号距离值(dk,n)new通过加权平均来得到:
(wk,n)new=wk,n+1
dmax=m·l
其中m为步骤2设置的系统参数,l为步骤2设置的体素边长,在获得了相应体素的新的(pk,n,(dk,n)new,(wk,n)new)后,直接用它去替换原来的(pk,n,dk,n,wk,n),实现更新,在对一帧点云每条视线完成加权融合后,此帧体数据完成更新。
3.一种基于激光雷达的实时表面重建系统,其特征在于,包括如下模块:
数据采集模块,包括激光雷达得到周围环境的三维点云数据,全球定位系统获得空间坐标,惯性导航元件获得当前加速度;
计算机处理模块,包括传感器外参计算子模块,视线算法计算符号距离值子模块,符号距离值加权融合子模块,体数据绘制子模块,体数据保存子模块;
所述视线算法计算符号距离值子模块用于执行如下步骤:
以当前激光雷达所在空间位置为中心,对一定范围内空间进行体素化,其体数据结构为:
(pk,n,dk,n,wk,n)
其中,pk,n代表第k帧体数据结构中第n个体素的三维空间坐标,dk,n,wk,n分别是此体素所对应的符号距离值以及权重,dk,n开始时初始化为Nan,代表此体素未使用,wk,n初始化为0;
采用视线算法并行计算相关体素的符号距离值,对于第k帧点云,以点云中每个三维点作为终点,当前传感器空间位置o作为起点,计算视线方向向量xk,n∈Xk,xk,n代表第k帧点云Xk中第n个点的三维坐标,o代表当前激光雷达三维坐标,在视线方向上,以xk,n点为中心,取前后m个点,m∈Z+,Z+代表正整数的集合,m为系统参数,设置范围在1到10之间,得到2m个点的三维坐标r,r代表了每一个xk,n所相关的2m个点,设置体素的单位边长为l,l为系统参数,l∈R+,R+代表正数集合,当l取值较大时,三维重建后获得的细节较少,反之,细节保留较多,对此2m+1个点在x,y,z方向上分别以体素边长l为单位进行取整,得到视线方向上相关体素三维坐标pk,n,计算符号距离值sdfk,n,得到相关体素所对应的(pk,n,sdfk,n);
其中,计算sdfk,n的具体方式为:
Sdfk,n=||xk,n-pk,n||2
计算r的具体方法:
分别代表了向量在x,y,z方向上的分量,比较在x,y,z方向上分量的大小,选取最大分量进行归一化,得到t为方程变量,t的取值为:-m,-m+1,...,0,...,m;通过t对xk,n进行加减,得到xk,n相关点r;
上述视线算法既可以串行计算也可以并行计算,在并行计算时,计算得到的sdfk,n,不直接写入当前体数据结构,而是保存(pk,n,sdfk,n);在等待并行计算完成后,再进行步骤3;在视线算法进行串行运行时,每得到一次(pk,n,sdfk,n),即可进行符号距离值的融合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711087652.3/1.html,转载请声明来源钻瓜专利网。