当前位置: 首页 > 专利查询>武汉大学专利>正文

一种机载激光点云数据的快速滤波方法技术

技术编号:7285301 阅读:267 留言:0更新日期:2012-04-20 07:31
本发明专利技术涉及一种机载激光点云数据的快速滤波方法,基于扫描线分割对机载激光点云数据进行滤波,并利用图形处理器进行加速。本发明专利技术的优点是在城市地区可有效滤除房屋、树木等非地面点,自动获取数字高程模型,数据处理速度快,同时由于各扫描线互不相关,因此适合用图形处理器进行加速,能极大地提高激光点云数据处理效率。

【技术实现步骤摘要】

本专利技术涉及遥感测绘领域,尤其是一种机载激光点云快速滤波方法。
技术介绍
LiDAR (激光扫描)系统集GNSS (全球导航卫星系统)、INS (惯性导航系统)、激光扫描系统于一体,能够直接测得空间点三维坐标,可高效快捷获取数字表面模型。现在的机载LiDAR技术可获取15-20cm水平分辨率的数据,一条航带测得的点数往往超过一千万。如此巨大的数据量,如何快速处理就成为一个值得研究的问题。另外,实际应用中一些关键领域也对数据的快速处理提出了要求,如地震区地形的提取,为了尽快制定出救援方案减小伤亡,必须在最短时间内得到地震区的地形数据。点云滤波是LiDAR数据处理过程中的重要一步,它将激光点分成地面点和非地面点如建筑物、树木等,是生成DEM (数字高程模型)并获取地形信息的关键步骤。研究人员提出了很多自动滤波算法,如基于数学形态学的滤波方法、基于线性预测的方法、基于渐进三角网的方法、基于分割的方法等。Sithole和Vosselman在2004年ISPRS大会上对常见的几种算法的做了一下对比,同时指出没有哪一种算法能处理好所有地形。近年来研究人员仍然在研究这个问题,如D. Costantino, F. Crosilla将高阶矩引入点云的分类,取得了不错的结果。面对巨大的数据量,研究人员也开始注意数据处理的效率。Sian和Sampath、 Han等分别提出了一维的滤波算法。相对于目前大多数二维滤波算法,一维滤波算法效率更高,速度更快。同时,并行计算方法也被引入用以加快处理速度。如计算机集群、GPU (图形处理器)、云计算、FPGA (现场可编程门阵列)等都有应用。相对于其他技术,GPU更常见更便宜,目前几乎所有的计算机中都装有GPU。另外,自NVIDIA公司发布CUDA (统一计算设备架构)后,GPU编程变得更加灵活和简单。其强大的并行计算能力使一些应用获得了上百倍的加速。CUDA中的线程以层状结构进行组织,多个线程组成一个线程块,多个线程块又组成一个网格。GPU上的存储器分为全局存储器、共享存储器等。一个线程块中的线程可以通过高速的共享存储器进行通信,线程块间的线程只能通过访问延迟比较大的全局存储器进行通信。执行在GPU上的函数称为核函数。
技术实现思路
本专利技术主要是解决存在的上述问题,提出了一种一维快速滤波方法,并利用GPU 对其进行加速,提高处理速度。本专利技术的技术方案是,,包括以下步骤 步骤1,读取激光点云数据,并按扫描线组织激光点云数据中包含的点;步骤2,对每一条扫描线进行滤波处理,具体方式如下,根据地物尺寸沿扫描线设置一个窗口,找出窗口内最低点,然后沿扫描线移动这个窗口,最终得到一系列局部最低点,将这些局部最低点标记为地面点;以这些局部最低点为种子点,分别向左右两边进行生长,判断相邻点的高差和坡度是否均在预设的阈值范围内,不是则将该相邻点标记为非地面点,停止向该相邻点方向的判断;是则将该相邻点标记为地面点,并以这个点为基础继续判断相邻点的高差和坡度是否均在预设的阈值范围内,直到相邻点为非地面点或边界点或是已被判断处理过的点为止; 所述边界点是该扫描线最左边的点或最右边的点。而且,将激光点云数据由内存拷贝到显存,利用图形处理器对步骤2进行加速,对所有扫描线进行滤波处理完成后将各点的标记由显存拷贝回内存;图形处理器通过同时对多条扫描线进行滤波处理实现加速,包括以下步骤,步骤a,通过执行第一个核函数,计算每条扫描线上所有相邻的点之间坡度和高差; 步骤b,设置移动窗口,通过执行第二个核函数,找出窗口内局部最低点; 步骤c,通过执行第三个核函数,以步骤b所得局部最低点为种子点,分别向左右两边进行生长,根据步骤a所得计算结果判断相邻点的高差和坡度是否均在预设的阈值范围内,不是则将该相邻点标记为非地面点,停止向该相邻点方向的判断;是则将该相邻点标记为地面点,并以这个点为基础继续判断相邻点的高差和坡度是否均在预设的阈值范围内, 直到相邻点为边界点或是已被判断处理过的点为止。本专利技术直接处理原始数据而不是重采样后的数据,因而没有几何精度的损失;它属于一维滤波方法,不需要计算复杂的二维邻接关系,简单高效;而且各条扫描线单独处理,非常适合并行计算处理,利用GPU强大的并行处理能力,可获得十几倍的加速。附图说明图1为本专利技术的扫描线滤波方法示意图。图2为本专利技术实施例的GPU (CUDA)加速示意图。图3为本专利技术实施例的加速比趋势图。具体实施例方式LiDAR点云滤波就是将数据进行分解,以区别地面及其覆盖物如房屋、植被等。一般来讲,地形是连续和光滑的,坡度较小,地面点的高度比其周围的点要低。本专利技术就是在此基础上提出来的,首先设置一个沿扫描线移动的窗口并找出窗口内的局部最低点,并认为这些点就是地面点,然后以这些点为种子点向两边生长最终得到地面,如附图1所示。实施例的扫描线滤波实现过程包括以下步骤 步骤1,读取激光点云数据,并按扫描线组织这些数据。具体实施时,每条扫描线上的点按扫描时获取的先后顺序依次进行组织即可。步骤2,对每一条扫描线进行滤波处理。实施例中,对每一条扫描线进行滤波处理的具体方式如下首先,根据地物尺寸沿扫描线设置一个窗口,找出窗口内最低点,沿扫描线移动这个窗口,得到一系列局部最低点,将这些局部最低点标记为地面点。由于每条扫描线的点都分布在扫描线所在直线附近,设置窗口时只需考虑窗口长度,不需考虑宽度。一般窗口要比最大的地物大,城市地区通常取50米。具体实施时,可以沿着扫描线逐点移动窗口。以扫描线第一个点为起始点,如果扫描线上其他的某点离这个起始点的平面距离小于50米,就认为这个点在窗口内。确定一个窗口内有哪些点后,再比较每个点的高度(Z轴坐标),找到窗口内最低点。然后移动窗口,以第二点作为起始点,继续寻找窗口内最低点…直到移动到这条扫描线最后。然后,以这些局部最低点为种子点,分别向左右两边进行生长,判断两边的点分别为地面点还是非地面点。具体方式为,判断相邻点的高差和坡度是否均在预设的阈值范围内,不是则将该相邻点标记为非地面点,停止向该相邻点方向的判断;是则将该相邻点标记为地面点,并以这个点为基础继续判断相邻点的高差和坡度是否均在预设的阈值范围内, 直到相邻点为非地面点或边界点或是已被判断处理过的点为止。已被判断处理过的点就是已被标记为地面点或非地面点的点,边界点是该扫描线最左边的点或最右边的点。也就是说,向左边生长时,首先判断种子点的左边相邻点,若种子点的左边相邻点与该种子点高差和/或坡度不在预设的阈值范围内,将该相邻点标记为非地面点,停止向左边的判断。若种子点的左边相邻点与该种子点高差和坡度均在预设的阈值范围内,则将该相邻点标记为地面点,并以这个点为基础继续用同样的方式判断它的左边相邻点,直到左边相邻点为非地面点或该扫描线最左边的点或是已被判断处理过的点为止,停止向左边的判断。向右边生长时,首先判断种子点的右边相邻点,若种子点的右边相邻点与该种子点高差和/或坡度不在预设的阈值范围内,将该相邻点标记为非地面点,停止向右边的判断。 若种子点的右边相邻点与该种子点高差和坡度均在预设的阈值范围内,则将该相邻点标记为地面点,并以这个点为基础继续用同样的方式判断它的右边相邻点,直到右边相邻点为非地面点或该扫描线最右边本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡翔云李小凯
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术