HTML
-
本文中选用不同地形的高密度点云数据进行滤波实验,生成数字地形模型,首先通过比较滤波前后的点云断面,来直观判断滤波效果。本文中选用的4组数据信息如表 1所示。
dataset point number scope density features 1# 6185384 0.7km× 0.6km 11.81point/ m2 flat terrain, large buildings, potholes 2# 4978327 2.0km× 1.5km 1.61point/ m2 urban, buildings, vegetation 3# 23097984 0.6km× 0.9km 42.77point/ m2 mountain, steep slopes, dense vegetation 4# 19659989 1.2km× 0.5km 32.77point/ m2 mixture of flat terrain and hillside Table 1. Characteristics of test data set of data 1~data 4(point)
-
下面给出滤波实例,所选区域是一个较为平坦的区域,该区域有树木、低矮建筑物、高大建筑物以及深坑。滤波前后的点云数据如图 2a和图 2b所示。从图 2b可看出,建筑物、树木均被有效滤除,而微地形(如深坑)得到有效保留。图 2c是根据保留的地面点生成的DTM。图 2d为滤波前后的地形剖面对比,其中A为包含地物点的地形剖面,B为地面点,可以看出地面点和地物点被很好地分离。
-
所选区域为城市区域,该区域包括建筑物、植被、河流等。原始点云和滤波后地面点云如图 3a和图 3b所示。图 3c中插值生成的DTM,地面细节信息得到保留,植被被有效识别。图 3d为滤波前后的地形剖面, 位于建筑物包围下的地面及处于建筑物和树木下的地面都得到正确识别。
-
所选区域为山地,地形起伏较大,地面多被植被覆盖。图 4a和图 4b分别为滤波前后的点云数据。利用CSF滤波后生成的DTM见图 4c。图 4d为滤波前后的地形剖面,其中E为包含地物点的地形剖面,F为地面点。通过对比可以看出,数据中的地物部分被过滤,同时还保留了重要的地形特征, 如沟壑、陡坡和道路,滤波效果非常好。
-
所选区域为混合区域,既有高大陡峭的山坡,又有平坦区域,其中还包括建筑物和植被。由图 5b中滤波后地面点和图 5a中原始点云对比发现,山坡部分地面点丢失。图 5d为滤波前后的地形剖面,从中也可看出明显的错分,陡坡位置的部分地面点丢失,部分建筑物也没有被剔除。该算法针对混合区域滤波效果并非理想。
-
因为缺少可已分类好的参考点云数据,本文中选用两组数据实例数据5和实例数据6,其数据信息如表 2所示。分别进行人工判读后,将地面点和地物点分离,并依据这两组分类好的数据作为参考数据进行实验分析。
dataset point number density features ground point number not-ground point number 5# 418021 5.79point/m2 flat terrain,vegetation,building 252936 165085 6# 505619 6.57point/m2 vegetation on hillside,power line,low shrubs 439421 66198 Table 2. Characteristics of test data set of data 5 and data 6
实例数据5和数据6分别为相对平坦区域和相对陡峭区域。图 6a和图 7a是原始点云,按照高程进行赋色后,地形由高到低以红黄绿蓝渐变。图 6b和图 7b是依据人工判读进行手工分类后的点云数据,其中蓝色为地面点,红色为地物点。实例数据5滤波后地面点包含很少一部分非地面点(见图 6c中红色部分),滤波后非地面点几乎没有掺杂地面点(蓝色部分),即Ⅰ类误差和Ⅱ类误差都非常小,如表 3所示,滤波效果非常理想。实例数据6包含低矮灌木、树木和电力线。其中灌木因比较矮小且接近地面,对于算法本身来讲,其属于陡峭地物,算法边坡后处理具有一定局限性,因此极易被误分为地面点(见图 7c中红色部分)。相对来说地物点被很好地分离,如图 7d中蓝色部分所示,只有少部分地面点错分。因此Ⅰ类误差相对较高,Ⅱ类误差相对较小。
category data 5 data 6 ground point number non-ground number ground point number non-ground number ground point number 252936 1658 439421 2251 non-ground number 4047 165085 25047 66198 typeⅠ 1.60% 5.7% typeⅡ 1.05% 3.4% Table 3. Two types of error statistics
-
布料滤波算法执行步骤主要包括格网创建、栅格化、初始格网点位移、边坡后处理和距离估算分类等。本文中针对以上实验数据集将算法各步运行时间进行统计分析,结果见图 8。如图 8a所示,算法步骤中格网点牵扯移动比其它步骤花费更多的时间,该步将分别计算格网点受重力作用产生的位移和受格网点相互作用力产生的位移,需要遍历所有的格网点,迭代计算位移,因此消耗了更多的时间。
针对以上不同的实例数据,本文中滤波的格网分辨率范围设置在0.3m~1.4m之间,格网分辨率越小,布料格网越密集,格网点越多,算法执行耗时越多。如图 8b所示,算法执行总时间与格网点数目呈现很强的相关性,完全成正比关系。通过图 8也可以得出布料滤波算法执行时间只与格网分辨率和格网点数目有关,不受地形复杂度的影响。另外因为布料格网是被投影到2维平面,格网点数目和点云数量无直接联系,与所设定的格网分辨率、点云密度和点云数据范围大小有关。结合表 1和表 2所示数据集特性以及图 8b,点云数据越密集,滤波所需的格网分辨率越小; 格网分辨率增加,运行时间也会大幅度增加。
随着格网点数目增加,算法耗时也不断递增。针对几平方公里范围内的点云数据,实例3数据属于超高密度点云,点云平均密度达到42个/m2,点与点间隔在0.02m以内,激光脚点个数超过两千万个,滤波所设定的格网分辨率为0.3m,总耗时超过90s。实例数据1、实例数据4属于高密度点云,激光脚点也分别有六百多万个和一千多万个点; 实例数据2、实例数据5和实例数据6为稀疏点云,以上数据运行时间均在30s以内,实例数据5和实例数据6甚至在数秒内即可将滤波执行完成,滤波算法效率非常高效。