system: [SYSTEM]

user: 3. 算法描述 PHT是逐个处理OSM中的道路点，提取其邻域点云。这样运行内存比载入全部点云更加友好。该方法是基于局部路面可用平面拟合的假设。算法流程如图1所示。可分为3个步骤：1) 基于正交投影将三维路面投影成二维直线，然后利用HT拟合该直线，找出道路候选点集合。相比拟合平面，用HT拟合直线提高了算法的效率；投影也自动过滤了干扰面；HT能一次拟合多条直线，可以很好的适应多条道路存在的情况。2) 利用RANSAC和LSM根据得出的候选点集合拟合出道路平面。3) 为了解决室内通道无点云覆盖，提出了利用相关联的室外通道的高度值以及投影距离加权的方法估计室内通道的高度值。4) 针对坡度异常的道路，利用带权重的霍夫变换(Weighted Hough Transform， WHT)进行再计算。 针对每一个OSM中的道路点，根据XY平面内的距离提取它在激光雷达点云中的邻域点。如果邻域太小，由于OSM本身位置的偏差以及遮挡等问题，目标路面可能不存在于邻域点云中。另一方面，较大的邻域半径会带来更多噪声和干扰面，计算效率也会下降。因此，根据提取出的平面的梯度来实时调整半径。具体为梯度超过25˚ (当地政府提供的先验知识：路面坡度不会超过25˚)，邻域半径将会增加。 获取到的点云不可避免会存在干扰点和异常值，采用基于平均距离的统计分布方法滤除离群点；由于局部路面的法向量变化平缓，将邻域法向量变化程度大的作为干扰点去除。 预处理完点云后，PHT主要由室外通道处理，室内通道处理和坡度异常再计算三个阶段组成。 3.1. 室外通道的处理技术 3.1.1. 正交变换 点云预处理后，下一步是找到合适的投影面使得三维路面可以被投影成直线。如图2所示，首先投影向量应该尽可能垂直于目标路面的法向量，其次要寻找的投影面必须垂直于XY平面。 图1. 流程图 图2. 三维路面投影成直线示意图 利用PCA提取点的法向量时，由于协方差距离矩阵是对称的，因此PCA得到的三个特征向量是相互正交且独立的。最小的特征值对应的特征向量就是点的法向量。将离OSM中目标点p在XY平面上最近的k个点的法向量的平均值近似为p所在路面上的法向量。所以可以利用其余两个特征向量作为一组正交基计算出投影向量n，这样可以保证投影向量尽可能垂直于平面法向量。 n = a ∗ n ′ + b ∗ n ″ (1) n ′ ， n ″ 为上文提到的k个点分别利用PCA分解得到的k个特征向量的和，分别对应特征值最大和特征值第二大。a，b为系数。 另一方面，现实中，因为路面是平坦的，因此PHT要寻找的投影面必须垂直于XY平面，即投影向量是平行于XY平面的。 0 = a * n ′ z + b * n ″ z (2) n ′ z ， n ″ z 为向量 n ′ ， n ″ 的z维度分量。 因为投影向量n的长度不影响投影，为了简化计算，假设a为1，则计算结果为 a = 1 ;   b = − n ′ n ″ z (3) 图3(a)是OSM中某点的谷歌地图全景。按照计算出的投影向量(图3(b)中绿色向量所示)投影后结果如图3(c)所示。可以发现许多干扰面比如屋顶立面经过投影后是无序的，并不能形成直线。而两个道路平面成功投影成两条直线(图3(c)蓝色直线所示)。图3(d)显示的是k个点的法向量，某些法向量存在轻微偏移目标路面法向量的情况，但是向量的平均操作，提高了算法的鲁棒性。 3.1.2. 利用霍夫变换获取道路候选点 HT的思想是让每个点为预定义的它可能属于的结构投票。投票在所有点上累积，投票最多的模型即为最终拟合出的模型。 通过梯度的约束 [ 16 ] 来提高HT的效率，每个点只对梯度附近的参数投票同时忽略梯度异常的投票值。图4是某实际道路点的霍夫空间表示。结果表明，滤除干扰点并利用梯度投票的霍夫空间投票更集中，为后续寻找投票极大值奠定基础。 图3.点云降维的结果 图4. 点(纬度为50.7363403，经度为6.1011415)霍夫空间表示 使用高斯滤波器平滑霍夫空间可以去除一些干扰的极大值点，同时也使目标直线的参数的投票值更突出。图5显示了高斯滤波器对于HT的影响，图5(a)和图5(b)的对比说明了滤波有效去除了霍夫空间内有干扰的极大值。 图5. 高斯滤波器的作用 采用文献 [ 17 ] 提出的扫描平面的方法去寻找局部极大值。其中邻域太小会使算法更易检测到多余的直线，邻域太大，可能会遗漏目标直线的检测。PHT倾向于选择小的邻域，因为多余的直线并不会影响最终直线的选择，如图5中的(c)和(d)，它们最终拟合的目标直线都是绿色的直线。 3.1.3. RANSAC改善最小二乘法拟合道路平面 在霍夫空间寻找到极大值后，可根据极大值追寻投票给该参数的点的集合。再使用RANSAC将这些点分为内点和外点。内点是满足估计参数的点，外点是一些干扰点。最后，在内点集合中，使用最小二乘法拟合出道路平面。当霍夫空间存在多个极大值，即存在多个平面时，选择XY平面内与离OSM中目标点p点距离最近的极值点。 图6(b)中，紫色的点是道路点集合。利用该先验知识，计算HT拟合的直线和LSM结合RANSAC拟合的平面的投影的误差，分别为44厘米和14厘米。由此可见，RANSAC可被用于去除外点的影响，提高拟合平面的准确性。 拟合出平面后，即可根据p点的x和y值求出对应高度z值。 图6. RANSAC与LSM提高了拟合的精度 3.2. 室内通道的处理技术 室内通道也是OSM道路的重要组成部分，然而室内区域并没有点云覆盖，因此这部分道路的高度需要依据相连的室外通道来计算。 图7. 室内通道高度计算示意图 搜索OSM中每一条室外通道，如果只有一个点被标识是室内的，则说明这条室外通道与一条室内通道相连。每一条室内通道都有起始点。起点和终点分别与两条室外通道相连。如图7所示，将室内道路点投影到起始点的连线上，按投影比例和起始点高度差h se 即可算出室内每一点的高度。 3.3. 基于权重霍夫变换的异常坡度的处理技术 在处理完OSM中所有道路点后，每条道路相邻的两点都可以根据自身的高度和距离算出坡度。当坡度大于25˚时，该道路一定有某些点高度估计不准确。坡度异常的原因主要有以下3点：1) 道路被遮挡，由于OSM中的目标道路点在XY平面一定落入遮挡物范围内，致使高度估计值实际是遮挡物的高度，因此会造成坡度异常。2) OSM经纬度存在误差。比如图9(a)，图9(b)在OSM都是桥上的两点，结果一点的经纬度在谷歌地图上显示在桥下。这样这两点就存在错误的高度差。3) 阶梯一般也会造成大的坡度，符合预期；PHT使用阶梯旁边的斜坡来代替阶梯的高度。WHT主要针对前两点改善算法。图8是WHT的流程图。首先生成所有异常边集合。当一条道路两条异常边有交点时，将交点加入异常点集合。 图8. WHT算法流程图 对于隧道，立交桥等OSM中有标识的路面，因为HT已经拟合出所有平面，则试着将其它平面的高度值赋给该异常点直到坡度小于25˚。如图9(b)，图9(c)所示，被桥遮挡的路面高度值从桥的高度变成自身高度。 但是，对于没有标识的情况，比如图9(e)所示，由于茂密的树林的遮挡，点云集合中只有极少部分点来自于目标路面，HT依然会为干扰点拟合出一个模型，所以图9(e)中会出现目标点的高度处在树冠中间。但同时异常的坡度也预示着当前提取的模型的不合理，因此，将这些支持当前模型的点的权重减少，再次拟合模型，重复以上步骤直到坡度小于25˚。当有权重小于0时但坡度依然异常，此时增加邻域的半径重新计算。图9(e)是由于树冠的遮挡，高度值估计错误的情况，经过半径的自动增加如图9(g)所示，目标道路点的增多以及图9(f)非道路点权重的降低，使得最终得到了合理的道路估计值，如图9(g)中蓝色点所示。