一种基于三维点云的建筑物平面分割方法
技术领域
本发明属于三维点云分割领域,涉及一种基于三维点云数据的建筑物平面分割方法。
背景技术
随着我国城镇化的快速发展、城市人口的高速增长以及智慧城市建设的迅猛需求, 三维建筑物模型已成为“数字城市”的重要组成部分,在城市规划、环境模拟、文化遗产保护 等领域得到广泛的应用。建筑物平面包含丰富和直观的细节信息,是建筑物三维建模不可或 缺的组成部分。建筑物平面点云分割是实现数字城市三维模型重建的前提和基础,如何高效 率、高精度地从点云数据中提取建筑物平面信息,成为建筑物三维重建的重要任务之一。建 筑物平面数据的主要通过三种方法获取:航空摄影测量、深度相机和激光雷达扫描仪,这些 方法可以提供建筑物平面的稠密点云数据。通过航空摄影测量可以获得建筑物平面特征的详 细纹理图案。深度相机可以记录物体到相机的距离。激光雷达扫描仪不仅可以获取在不同位 置物体的高密度、高精度几何结构信息,还可以提供高质量点云数据的三维建筑物模型。
传统分割算法根据点云的一些基本特性如几何特征、颜色信息等设计特征描述子, 然后基于这些特征描述子建立特征滤波器进行分割。传统的方法主要包括:1)霍夫变换 (Hough Transform):Hough变换主要用于检测具有给定特征的几何形状(如直线、平面和 圆)。2)随机采样一致性算法(RANSAC):RANSAC算法通过估计数学模型参数来检测平面,进行点云数据平面分割。3)区域增长算法:区域增长算法是检测平面、圆和其他参数 化形状的经典方法。该算法的基本思想是首先在分割区域中随机找出一个种子像素,将其作为初始点,然后将邻近区域中与种子像素具有相似特征的像素聚集在初始点区域中得到一个 新像素,将得到的新像素作为新的种子像素进行生长,直到附近邻域中没有种子像素特征相 似的像素为止。虽然,区域生长算法可以分割建筑平面。但会造成两平面相交点的缺失,而 RANSAC算法会引起平面的过度分割。Hough变换算法由于每个点需要参与多次投票,计 算量大、占用内存多且计算复杂度和存储量随参数和数据量的增加呈指数增长。因此,大多 数研究将区域生长算法与其他方法相结合来检测建筑平面,虽然这些方法可以提取建筑平面 点云数据,但操作复杂。
发明内容
为了从三维点云数据中能精确对建筑物平面进行分割,本发明将区域生长算法与基 于边界点的距离算法相结合,提出了一种基于三维点云的建筑物平面分割方法。
本发明所采用的技术方案是:一种基于三维点云的建筑物平面分割方法,其特征在 于,包括以下步骤:
步骤1:利用区域生长算法对建筑平面进行粗分割,并从原始建筑物点中去除粗提取平面点得到剩余点数据。
步骤2:利用在切面上的点与其相邻点之间形成的向量之间夹角的最大值来提取粗 平面的边界点。
步骤3:根据剩余点到提取的粗平面边界点的距离阈值,得到两平面相交的角点,将粗提取的平面点与对应的角点相结合,得到最优的平面分割。
对于建筑物平面分割算法,由于Hough变换的计算量大、占用内存多,RANSAC 算法容易产生过度分割,而区域生长算法容易缺失两平面的相交点。本发明将区域生长算法 与基于边界点的距离算法相结合,提出一种建筑物平面点云分割算法。与RANSAC算法相 比,该方法不仅可以在不产生过度分割的情况下对同一平面上的不同目标进行分割,还可以获取区域增长算法无法提取两个平面相交的角点。
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例的边界点提取图,(a)原始数据、(b)边界点提取结果;
图3为本发明实施例中cottage的原始点云;
图4为本发明实施例中pantry的原始点云;
图5为本发明实施例中cottage的平面分割结果图;
图6为本发明实施例中pantry的平面分割结果图。
具体实施方式
下面将结合附图对本发明作进一步的详细描述,所描述的实例仅旨在便于对本发明 的理解,并不用于限定本发明。
请见图1,本发明提供了一种基于三维点云的建筑物平面分割方法,本发明的具体步骤如下:
1.平面的粗提取
区域生长是一种基于空间邻近性和同质性的分割算法。本发明采用区域生长算法对 建筑平面进行粗提取。法向量和曲率是曲面的基本特征,是进行曲面特征识别的重要基础。 利用区域生长算法进行平面的粗提取,需要估计采样点的法向量和曲率来获得平面分割。本 发明利用由相邻点组成的曲面估计点的法向量和曲率,并利用主成分分析或由相邻点生成的 协方差矩阵的特征向量和特征值计算点的法向量。pi为平面上任意一点,则对应的协方差矩阵 C为:式中,n为pi的相邻点个数,ps为相邻点的 中心。pi的法向量为:其中λj为协方差矩阵的第j个特征值,为第j 个特征向量。法向量是对应于最小特征值的特征向量。由于特征值λ0<λ1<λ2代表一个点随三 个主要方向的变化程度,故pi的曲率σ可近似为:其中λ0,λ1,λ2为协方差矩 阵的特征值。
区域生长分割算法的具体流程:1)计算所有点的曲率,并将最小曲率点添加到种子点集。 2)计算当前种子点及其相邻点的法向量。如果当前种子点的相邻点不仅满足该点的法向量与当 前种子点法向量的夹角值,而且其曲率值小于设置的曲率值,则该相邻点到该种子点序列。3) 删除当前的种子点,将相邻的点视为新的种子点,继续区域的生长。4)这个过程将继续下去, 直到种子点序列为空为止。
2.边界点提取
粗提取平面的边界点是根据切平面上点与其相邻点所形成的向量夹角的最大值来提取 的。在得到所有点的法向量后,利用点与其邻点在切平面上形成的向量的最大夹角准则来判断其 是否位于平面的边界上。需要提取适当数量的边界点来计算剩余点到粗提取平面边界点的距离。 如果角度阈值太小,很多内部点将被视为边界点。如果角度阈值太大,可能会丢失一些边界点(如 图2)。
粗提取平面的边界点提取过程:1)计算由一个点及其邻近点构成的曲面的法向量。切平 面是由法向量计算出来的。2)将这些点投影到切平面上。3)计算这些相邻点在切平面上构成的 向量之间的夹角。4)若相邻向量之间的最大夹角大于设定的阈值,则视为边界点;否则,视为 内点。
3.最优平面获取
获得边界点后,利用剩余点到粗提取平面边界点的距离阈值提取两个平面相交的共面点。 剩余点从建筑的原始点中去除粗提取平面点后得到。剩余点用P(x,y,z)表示。粗提取平面的边 界点表示为Q(l,m,n)。剩余点到边界点的距离d(P,Q)为:
最后根据剩余点到提取的粗平面边界点的距离阈值,得到两平面相交的角点,将粗提取 的平面点与对应的角点相结合,得到最优的平面分割。图3和图4为建筑物原始点云数据,图5 和图6为本发明的平面分割结果。
以上所述仅为本发明的一种实施方式,不是全部或唯一的实施方式,本领域的普通技术 人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,对本发明技术方案采取 的任何等效的变换,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为 准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种三维图像的切割方法及电子设备