System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于点云数据处理和计算机图形学领域,特别涉及一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法。
技术介绍
1、点云是由大量离散的三维点构成的集合,且通常具有r、g、b三通道的彩色值,常用于描述具有色彩的物体表面的几何形状。然而,点云数据通常较为复杂,直接展示会导致视觉上的混乱,并且消耗大量计算和存储资源。而通过将点云投影到平面,可以将复杂的三维数据简化为更易于理解和分析的二维图像;在对点云进行各种分析和处理时,平面投影可以提供更方便的数据表示形式以提供给下游任务,例如基于多视角的点云语义分割与分类任务需要从多角度对点云数据投影作为神经网络的输入;在交互方面,将点云投影到平面后,用户可以更方便、直观地进行操作。
2、大规模场景下点云映射的过程中,体素化表示是一种常用的离散化方法,通过将点云数据划分为规则的体素单元,可以显著减少数据量和计算复杂度,并为后续的投影过程提供基础。尽管点云数据量大,动辄上百万个点,但是相比二维图像其稠密程度低,体素化将会进一步加剧点云的稀疏程度,导致映射到二维图像时可视化效果差;并且点云结构在一定的视角下结构会发生重叠,导致映射为图像时外部结构与内部结构出现在同一平面。
3、因此,需要设计一种大规模点云映射为高质量图像的方法,优化点云映射为图像的彩色可视化效果。
技术实现思路
1、为了解决上述问题,本方法提供一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,该方法提供的顶点扩散操作和填充滤波增强点云映射图
2、本专利技术提供的一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,包括如下步骤:
3、步骤(1)旋转:对点云数据的质心为中心旋转,调整合适位置以便于映射;
4、步骤(2)体素化:对所述旋转后点云数据使用指定底面体素边长,高度不限的体素单元进行划分,每个体素单元保留点云在笛卡尔坐标系下z轴值最大的点(顶点),使得点云稀疏化;
5、步骤(3)顶点扩散:对所述体素化后保留的每个体素单元的顶点扩散到近邻的体素单元中,然后对扩散后的点云数据重新指定体素化边长为1,高度不限的体素单元,每个体素单元再次保留点云在笛卡尔坐标系下的顶点;
6、步骤(4)点云映射图像:对所述顶点扩散后的体素单元构成的体素坐标与图像坐标产生映射,将每个体素单元的中保留顶点的r、g、b分量填充对应的像素r、g、b通道;
7、步骤(5)填充滤波:对所述构造图像后的像素应用填充滤波,该滤波对未填充区域响应并填充该区域,生成最终高质量的二维图像。
8、本专利技术所述步骤(1)中,对点云数据的质心为中心旋转,调整合适位置以便于映射,具体包括:
9、i)加载大规模场景下的彩色点云p∈rn×6,其中n表示该场景下点云的数量,6表示点云在笛卡尔坐标系下的x、y、z轴下的坐标(单位为米)和彩色的r、g、b分量;令xp∈rn、yp∈rn、zp∈rn分别表示p中n个点在x、y、z轴的坐标值,xi、yi、zi表示其任意点的坐标值,c∈rn×3表示彩色的r、g、b分量;计算点云质心,将点云原点平移至质心,操作过程如下:
10、
11、其中xc,yc,zc表示平移后的点云在x、y、z轴的坐标值;
12、ii)通过指定航向角(yaw)、俯仰角(pitch)、横滚角(yaw)构造围绕x轴,y轴,z轴的旋转矩阵,使用矩阵乘法完成点云的旋转,设旋转角度分别为α、β、γ,操作过程如下:
13、
14、其中xr,yr,zr表示平移后的点云在x、y、z轴的坐标值;
15、本专利技术所述步骤(2)中,对所述旋转后点云数据使用指定底面体素边长,高度不限的体素单元进行划分,每个体素单元仅保留点云在笛卡尔坐标系下z轴值最大的点(顶点),使得点云稀疏化,具体包括:
16、i)计算xr、yr、zr中点云的最小值,将点云坐标原点平移到x、y、z轴最小值,操作过程如下:
17、xmin=xr-min(xr),ymin=yr-min(yr),zmin=zr-min(zr) (3)
18、其中min(.)表示获取数据的最小值,xmin,ymin,zmin表示经上述平移后的点云在x、y、z轴的坐标值;
19、ii)设置体素单元底面边长为lv,高度不限,将点云坐标的x,y轴坐标转化为体素坐标,转化的操作过程如下:
20、
21、其中表示对数据向下取整,xposi,yposi表示为经过上述体素化后点云的x,y轴的坐标;
22、iii)将数据存入哈希表,相同体素单元的点将获得相同的key值,选择相同key值中z轴坐标最大的点,称作顶点,丢弃未被选中的点,实现大规模点云的稀疏化,具体操作过程如下:
23、key=hash(xposi,yposi) (5)
24、idxmax=selectmax(key,zmin) (6)
25、
26、其中hash(.)表示使用哈希函数计算key,selectmax(.)表示使用筛选相同key值中的顶点,筛选所得的索引为idxmax,xposi[.]、yposi[.]、zmin[.]、c[.]表示根据索引筛选对应坐标值xhm、yhm、zhm、chm。
27、本专利技术所述步骤(3)中,对所述体素化后保留的每个体素单元的顶点扩散到近邻的体素单元中;然后对扩散后的点云数据重新指定体素化边长为1,高度不限的体素单元,每个体素单元再次保留点云在笛卡尔坐标系下的顶点,具体包括:
28、i)设顶点扩散范围表示为rsize,通过平移rsize的方式实现顶点的扩散过程,具体操作为:
29、
30、其中,grid(.,.,.)表示根据rsize建立(2rsize+1)2的网格,通过以xhm,yhm为中心坐标,可获得所有网格实际的体素坐标xg,yg,对网格内坐标分别在x和y轴方向拼接后获得zg,cg,表示对数据拼接(2rsize+1)2次;
31、ii)对扩散后的点云数据再次体素化,保证每个体素单元中仅有一个顶点,设置体素单元底面边长为1,高度不限,将点云坐标的x,y轴坐标转化为体素坐标,转化的操作过程如下:
32、
33、其中表示对数据向下取整,表示为经过上述体素化后点云的x,y轴的坐标;
34、iii)将数据存入哈希表,相同体素单元的点将获得相同的keyg值,筛选相同keyg值的顶点,丢弃未被选中的点,具体操作过程如下:
35、
36、
37、
38、其中,表示selectmax(.)筛选相同keyg值中的顶点索引,zg[.]、cg[.]表示根据索引筛选对应坐标值
39、本专利技术所述步骤(4),对所述顶点扩散后的体素单元构成的本文档来自技高网...
【技术保护点】
1.一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,包括如下步骤:
2.根据权利要求1所述的一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,其特征在于:所述步骤(3)中,对所述体素化后保留的每个体素单元的顶点扩散到近邻的体素单元中;然后对扩散后的点云数据重新指定体素化边长为1,高度不限的体素单元,每个体素单元保留点云在笛卡尔坐标系下的顶点,具体包括:
3.根据权利要求1所述的一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,其特征在于:所述步骤(5)中,对所述构造图像后的像素应用填充滤波,该滤波对未填充区域响应并填充该区域,生成最终高质量的二维图像,具体包括:
【技术特征摘要】
1.一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,包括如下步骤:
2.根据权利要求1所述的一种基于顶点扩散和填充滤波的大规模点云的高质量图像映射方法,其特征在于:所述步骤(3)中,对所述体素化后保留的每个体素单元的顶点扩散到近邻的体素单元中;然后对扩散后的点云数据重新指定体素化边长为1...
【专利技术属性】
技术研发人员:周维,焦健斌,许海霞,魏名安,盘运红,聂旺,周敏,
申请(专利权)人:湘潭大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。