- 主题:百万级点云数据如何快速实现网格统计?
从雷达返回的点云数据,如果覆盖范围是6米*30米,把这个范围按照5厘米*5里面的小方格进行分块,希望快速统计出这300万个点在这么多小方格中的数量分布,以及求出每一个小方格内最大z坐标的均值和方差。对处理速度有一定的要求,最好能在2秒内完成,有什么好的方法实现呢?
--
FROM 1.198.28.*
如果2秒不包含数据传输时间的话,这不难。
最显然的方式,每个点(x,y,z) ,先判断在哪个小方格里,然后用z值更新这个小方格的统计量。
哪一步你不会…
【 在 bigsen () 的大作中提到: 】
: 从雷达返回的点云数据,如果覆盖范围是6米*30米,把这个范围按照5厘米*5里面的小方格进行分块,希望快速统计出这300万个点在这么多小方格中的数量分布,以及求出每一个小方格内最大z坐标的均值和方差。对处理速度有一定的要求,最好能在2秒内完成,有什么好的方法实现呢?
--
FROM 124.217.188.*
这个问题似乎用rtree+GPU更好,应该能比cpu快个五六倍吧
【 在 fanci (大葡萄) 的大作中提到: 】
: 如果2秒不包含数据传输时间的话,这不难。
: 最显然的方式,每个点(x,y,z) ,先判断在哪个小方格里,然后用z值更新这个小方格的统计量。
: 哪一步你不会…
: ...................
--
FROM 98.207.134.*
那个...两秒是随意说的,其实我本意是有什么比直接循环更快的方法...
【 在 fanci 的大作中提到: 】
: 如果2秒不包含数据传输时间的话,这不难。
: 最显然的方式,每个点(x,y,z) ,先判断在哪个小方格里,然后用z值更新这个小方格的统计量。
: 哪一步你不会…
--
FROM 223.88.88.*
覆盖范围当作渲染目标,一个方格对应一个像素,数据作为模型,渲染下就能自动排序,
显卡上这个功能已经深度优化过。把坐标写到渲染目标里就能读出所有方格的最大z值对应数据
如果要每个方格里的所有数据,参考顺序无关透明的算法
【 在 bigsen (大海无量) 的大作中提到: 】
: 从雷达返回的点云数据,如果覆盖范围是6米*30米,把这个范围按照5厘米*5里面的小方格进行分块,希望快速统计出这300万个点在这么多小方格中的数量分布,以及求出每一个小方格内最大z坐标的均值和方差。对处理速度有一定的要求,最好能在2秒内完成,有什么好的方法实现呢
--
FROM 120.244.154.*
每个方格一个像素?实际上每个方格里面很多个点,并且每个方格里面点的数量并不相同,近处扫描密度大,远处扫描密度小。
需要OpenGL还是什么,如何把点云数据写入渲染目标?
【 在 dilemma 的大作中提到: 】
: 覆盖范围当作渲染目标,一个方格对应一个像素,数据作为模型,渲染下就能自动排序,
: 显卡上这个功能已经深度优化过。把坐标写到渲染目标里就能读出所有方格的最大z值对应数据
: 如果要每个方格里的所有数据,参考顺序无关透明的算法
: ...................
--
FROM 223.88.88.*
计算均值和计算方差有遍历递推的算法,不需要把每个方格里的点全筛选出来再算方差。
目测这问题的计算复杂度不高,3M个点遍历1次出结果
【 在 bigsen (大海无量) 的大作中提到: 】
: 每个方格一个像素?实际上每个方格里面很多个点,并且每个方格里面点的数量并不相同,近处扫描密度大,远处扫描密度小。
: 需要OpenGL还是什么,如何把点云数据写入渲染目标?
--
FROM 123.150.181.*
渲染的时候每个像素对应的数据量就是不相同的,一般情况下每个像素会保留距离视点最近的数据。渲染结果可以选择保存到显存的纹理中,然后可以复制到内存里进行读取
常规操作,d3d,opengl都可以
【 在 bigsen (大海无量) 的大作中提到: 】
: 每个方格一个像素?实际上每个方格里面很多个点,并且每个方格里面点的数量并不相同,近处扫描密度大,远处扫描密度小。
: 需要OpenGL还是什么,如何把点云数据写入渲染目标?
--
FROM 120.244.154.*
你现在用什么算法?速度是多少?
这个问题看起来只是需要把点map到对应格子而已。如果能处理到二维,应该比三维快。因为你的网格是分好的不会变,而且点之间不相关,可以并行。
当然,我没有考虑显示渲染的过程,只是说mapping
--
FROM 82.19.154.*
这个有点意思,不需要计算每个方格里面的所有点 怎么算均值,能否详细说下
【 在 Akyrum 的大作中提到: 】
: 计算均值和计算方差有遍历递推的算法,不需要把每个方格里的点全筛选出来再算方差。
: 目测这问题的计算复杂度不高,3M个点遍历1次出结果
--
FROM 223.88.88.*