一种3D城市场景自动重建方法与流程

文档序号:14654162发布日期:2018-06-08 22:45阅读:287来源:国知局
一种3D城市场景自动重建方法与流程

本发明涉及计算机视觉领域,具体涉及一种3D城市场景自动重建方法。

技术背景

对城市场景的可靠再现是计算机视觉研究的一个重要问题,现在有很多用于从图像重建准确和密集的3D点云的方法。除了根据图像计算这些点之外,还存在其他类型的点云数量的增加,例如机载LiDAR数据和激光扫描仪。尽管这些点云可以令人印象深刻的方式呈现,但是许多应用(例如导航,模拟,虚拟现实)仍然需要多边形模型作为基础。

从点云重建多边形模型仍然是一个难点。从点云计算城市重建的主要困难是数据质量低下,例如获得的城市场景中的点云通常具有明显的缺失区域以及不均匀的点密度。这是因为数据采集过程中不可避免的受到遮挡因此将有关城市场景结构的先验知识纳入重建过程变得十分重要。

现有的从点云计算城市重建的方法被设计用于处理特定类型的输入。无论是MVS点云,机载激光雷达数据,还是激光扫描,都很难扩展这些方法来处理来自其他来源的数据。此外,现有的大多数方法都需要将场景分割成单独的建筑物,其中一些需要进一步提取单独的外观,这通常会导致处理时间长。将场景的语义分割成有意义的建筑物或立面,仍然是一个未解决的问题,自动的方法往往会产生不满意的分割。本发明方法可以很好地解决上述问题。



技术实现要素:

本发明所要解决的技术问题是提出一种3D城市场景自动重建方法,其可以解决传统技术中的城市场景重建存在的处理时间长,鲁棒性差等问题。

本发明解决上述技术问题采用的方案是:

一种3D城市场景自动重建方法,包括以下步骤:

S1、输入点云数据;

S2、提取平面段;

S3、生成候选框;

S4、候选框选择:

S5、生成场景表面模型。

作为进一步优化,S1中具体内容包括:

S11输入场景表面点云或者利用激光扫描仪或深度相机采集场景表面点云数据,将采集到的点云数据P作为输入。

作为进一步优化,S2中具体内容包括:

S21、由于建筑物的主要由轴对齐的平面组成。首先确定场景的三个主要方向,以及大多数点所在的一组平面,之后迭代细化这些平面。

S22、确定场景的三个主要方向,从点云的正态分布的直方图中确定前三个强峰值。然后将三个峰值的对应法线方向作为主导方向,转换点云,使得其主方向与给定坐标系的轴线对齐。如果给出,直接使用发现信息。否则,k近邻的主成分分析来估计每个点的法线值。

S23、利用RANSAC算法从嘈杂的点云中提取平面片段,考虑到点云中的噪声和离群值,我们多次运行RANSAC算法,生成大量的初始平面假设。描述场景结构可以用检测的平面进行表示。如果检测平面的方向与主方向夹角超过20度,或者它们有很少的支持点,则丢弃该平面。

S24、迭代细化这些初始平面,根据支撑点的个数来对每个平面进行评分。然后从平均得分最低的一对平面片段开始,如果满足以下两个条件,将它们合并:

1)两平面之间的夹角小于阈值θt

2)从一个平面到另一个平面的质心的距离小于一个阈值dt

之后,执行合并点的最小二乘拟合,合成新的平面。重复这个过程,直到合并完所有的平面对,经过合并平面的数量会大大减少。

S25、对于数据缺失的点云数据,为了确保重建数据的完整性,从相邻的平面确定缺失的数据。具体来说,首先将点投影到地平面上生成高度图,并将投影点的高度值进行光栅化。然后,我们通过使用双边过滤器来平滑高度图。之后,使用霍夫变换方法在高度图上检测线段。注意,由于高度地图是用正交投影生成的,所以检测到的线段实际是建筑物的墙壁和屋顶的交叉点。因此,可以通过将垂直平面拟合到检测的线段来确定这些壁面。

作为进一步优化,S3中的具体内容如下:

S31、从上一个步骤中提取的平面生成假设框体。根据平面的方向,可以将精炼后的的平面划分为三大类:Gx、Gy和Gz,分别与三个主导方向相一致。直观地说,这些支撑平面将输入点云的空间划分为一组轴对齐的框体。假设Nx,Ny和Nz是沿着三个主导方向的平面的数量(|Gx|=Nx,|Gy|=Ny,|Gz|=Nz),候选框的总数可以通过计算得到:

N=(Nx-1)·(Ny-1)·(Nz-1)

在下一步中,我们将提出一个基于优化的框体选择算法来选择合适的候选框体来近似建筑物几何形状。

作为进一步优化,S4中的具体内容如下:

S41、假定生成N个候选框B={bi}(1≤i≤N),选择这些框体的一个子集来近似由点样本P表示的建筑物的3D几何形状,最终近似的建筑场景支持高保真数据拟合和密实度的结构模型;

S42、为了从采样点得到忠实的重建。首先,重建模型的面应该尽可能接近输入点云。其次,由于寻找一组框体来近似建筑模型的三维几何形状,所以选择的框体应该是紧凑的,并且符合建筑物的结构特性且平面包含较少的孔洞和突起。

用数据拟合评分S(bi)来衡量点云支持候选框bi的程度,函数S(bi)被定义为:

nf表示在框体bi中为面f的法向量,nj表示支持点的法线值,为了测量f的支持点{pj}(1≤j≤M)的拟合质量,只考虑在f内投影并且距离f小于阈值dt的点,在这里,t设置为1.0,以确保非常小的距离不会得到很大的权重;

S43、S42中上面定义的S(bi)函数会产生3种类型的候选框体,S(bi)为正时为正向的框体,更倾向于被用来表示建筑物的几何形状;S(bi)为负时为负向的框体,这些框体实际上不在建筑的体积内;S(bi)为零时为空白框体,这种类型的框体不能代表建筑物的几何形状,应该被移除;

S44、对所有空白候选框的数据拟合评分进行平滑处理,即重新计算一个空白框的数据拟合分数,作为其相邻框体的面积和距离的加权平均值:

Nbi是通过面bi连接的相邻框体;S(bj)是由方程2所计算的框体bj的数据拟合值;wj是根据两个框体接触面的面积A(fij)和两个中心之间距离dij决定的。

S45、为了避免小孔和突出物,引入了每一对相邻的框体的紧凑度,外观的紧凑度可通过与框体的厚度成比例的一些值来评估,即在两个相邻的框体之间定义一个成对的紧凑度:

ti和tj是两个相邻的框体的厚度值分别是bi和bj,直观地说,如果两个相邻的框体中的一个是薄的,那么将不同的标签分配给盒子的紧凑度将会很小。

S46、使用马尔可夫随机场来选择适当的候选框;

S461、首先构造一个关联图,其中节点表示所有候选框,并且每条边连接两个相邻的框,这个图形有一个3D网格结构,其中每个节点最多有6个邻居和最小的3个邻居;

S462、将框体的选择作为概率函数来计算,并计算出每个候选框体属于正或非正的概率,然后在场景中进行最后的重建;

S463、目标函数包括一个数据项和一个平滑项,数据项:数据项鼓励选择具有较高数据匹配分数的框体:

平滑项:为了避免空洞和突出物以确保最终的重建是紧凑的,平滑性项可被定义为将相同的标签分配给相邻的盒子:

如果两个相邻的框都很厚,将平滑权重设置为1的恒定值,这是为了处理非常大的框体;

因此,目标函数可被定义为这两项和的线性组合:

{xi}∈X表示二进制标签(正的或非正的);λ是在数据项和平滑项之间平衡的权重,根据经验,λ可以近似为dt距离内的所有相邻点的平均值,其中dt是两个平行平面的最小距离。

作为进一步优化,S5、生成场景表面模型,包括如下步骤:在S4中的目标函数(公式7)被最小化后,标记为正的候选框的组合,构成近似于由输入点云所代表的建筑物的几何形状。

本发明的大致过程为:输入点云与一个全局坐标系统相一致,利用RANSAC算法从点云中检测出大量的平面区段。之后,迭代地精炼这些平面被,以适应输入点云。精炼后的平面将输入数据的空间划分为一个由一组紧凑的盒子组成的网格。利用马尔可夫随机场公式,将箱型选择作为能量最小化问题。在优化之后,选定的盒子的子集是一种轻型的多边形模型,它忠实地表达了场景中建筑物的几何形状。

本发明的有益效果是:本发明可以对各种数据源进行很好的重构,可以直接应用于重建大规模的城市场景,具有较好的精度和鲁棒性,且速度较快。

附图说明

图1为本发明的流程图。

图2为两平面的融合示意图。

图3为平面的精简示意图。

图4为候选框体和支撑点示意图。

图5为空洞和突起的二维图示意图。

具体实施内容

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例,对本发明作进一步的详细说明,本发明的示意性实施方式仅用于解释本发明,并不作为对本发明的限定。

参见图1-图5,一种3D城市场景自动重建方法,包括以下步骤:

S1、输入建筑表面点云数据。

S11、输入点云数据P或者利用激光扫描仪、深度相机或者其他扫描设备采集城市建筑表面点云信息,作为输入点云数据。

S2、提取平面段

S21、由于建筑物主要由轴对齐的平面组成,首先确定场景的三个主方向,从点云的正态分布的直方图中确定前三个强峰值。将三个峰值的对应法线方向作为主导方向,转换点云,使其主方向与给定坐标系的轴线对齐。如果给出,直接使用法线信息,否则,k近邻的主成分分析来估计每个点的法线值。

S22、利用RANSAC算法从输入点云中提取大量的平面片段,考虑到点云中的噪声和离群值,多次运行RANSAC算法,生成大量的初始平面段。

S23、迭代细化这些初始平面,具体来说根据平面支撑点的个数对平面进行评分。然后从平均得分最低的一对平面片段开始,如果满足以下两个条件,将它们合并:

1)两平面之间的夹角小于阈值θt

2)从一个平面到另一个平面的质心的距离小于一个阈值dt

利用最小二乘法将得分最低的一对平面拟合成新的平面,重复这个过程,直到合并完所有的平面段。

S24、对于缺失的点云数据,为了确保重建数据的完整性,这里从相邻的平面区域确定缺失的墙壁。

S241、首先将点投影到地平面上生成高度图,并将投影点的高度值进行光删化。

S242、之后,通过使用双边过滤器来平滑高度图。

S253、然后,使用霍夫变换方法在高度图上检测线段。由于高度图是用正交投影生成的,所以检测到的线段实际是建筑物的墙壁和屋顶的交叉点。因此,可以通过将垂直平面拟合到检测的线段来确定这些壁面。

S3、生成候选框

S31、根据平面方向将精炼的平面方向划分成三大类:Gx、Gy和Gz,分别与三个主导方向相一致,支撑平面将输入点云的空间划分为一组轴对齐的框体。

S32、假设Nx,Ny和Nz是沿着三个主导方向的平面的数量(|Gx|=Nx,|Gy|=Ny,|Gz|=Nz),候选框的总数可以通过计算得到:

N=(Nx-1)·(Ny-1)·(Nz-1) (1)

S4、候选框的选择

S41、假定上一步生成N个候选框B={bi}(1≤i≤N),选择这些框体的一个子集来近似由点样本P表示的建筑物的3D几何形状。最终近似的建筑场景支持高保真数据拟合和密实度的结构模型。

S42、为了从采样点得到忠实的重建。首先,重建模型的面应该尽可能接近输入点云。其次,由于寻找一组框体来近似建筑模型的三维几何形状,所以选择的框体应该是紧凑的,并且符合建筑物的结构特性且平面包含较少的孔洞和突起。

S43、用数据拟合评分S(bi)来衡量点云支持候选框bi的程度。具体来说,函数S(bi)被定义为:

nf表示在框体bi中为面f的法向量,nj表示支持点的法线值。为了测量f的支持点{pj}(1≤j≤M)的拟合质量,只考虑在f内投影并且距离f小于阈值dt的点。在这里,t设置为1.0,以确保非常小的距离不会得到很大的权重。

上面定义的S(bi)函数会产生3种类型的候选框体,如图5所示(正面的框B或C,负面的框A,空白框D),S(bi)为正时为正向的框体,更倾向于被用来表示建筑物的几何形状;S(bi)为负时为负向的框体,这些框体实际上不在建筑的体积内;S(bi)为零时为空白框体,这种类型的框体不能代表建筑物的几何形状,应该被移除。

S44、具有很少支持点的框体具有非常低的数据拟合值,可能被错误的识别为空白的框体,从而导致模型中的空洞。

为解决这个问题,对所有空白候选框的数据拟合评分进行了平滑处理。具体来说,重新计算一个空白框的数据拟合分数,作为其相邻框体的面积和距离的加权平均值。

Nbi是通过面bi连接的相邻框体;S(bj)是由方程2所计算的框体bj的数据拟合值;wj是根据两个框体接触面的面积A(fij)和两个中心之间距离dij决定的。

S45、为了避免小孔和突出物,引入了每一对相邻的框体的紧凑度。外观的紧凑度可以通过与框体的厚度成比例的一些值来评估。具体来说,在两个相邻的框体之间定义了一个成对的紧凑度。

ti和tj是两个相邻的框体的厚度值分别是bi和bj。直观地说,如果两个相邻的框体中的一个是薄的,那么将不同的标签分配给盒子的紧凑度将会很小。

S46、使用马尔可夫随机场(MRF)来选择适当的候选框。首先构造一个关联图,其中节点表示所有候选框,并且每条边连接两个相邻的框。这个图形有一个3D网格结构,其中每个节点最多有6个邻居(对于内部框)和最小的3个邻居(在3D网格的角落里的盒子)。将框体的选择作为概率函数来计算,并计算出每个候选框体属于正或非正的概率,然后在场景中进行最后的重建。

目标函数包括一个数据项和一个平滑项。数据项:数据项鼓励选择具有较高数据匹配分数的框体。

平滑项:为了避免空洞和突出物以确保最终的重建是紧凑的。因此,平滑性项被定义为将相同的标签分配给相邻的盒子。

如果两个相邻的框都很厚,我们将平滑权重设置为1的恒定值。这是为了处理非常大的框体(即厚度大于1米的框体)。

因此,目标函数可以被定义为这两项和的线性组合。

{xi}∈X表示二进制标签(正的或非正的);λ是在数据项和平滑项之间平衡的权重。根据经验,λ可以近似为dt距离内的所有相邻点的平均值,其中dt是两个平行平面的最小距离。

在目标函数被最小化后,标记为正的候选框的组合,近似于由输入点云所代表的建筑物的几何形状。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1