刘云彤,黄金亭,王家耀
(1.黄河水利职业技术学院,河南 开封 475004; 2.河南大学地理与环境学院,河南 开封 475004;3.河南大学时空大数据产业研究院,河南 郑州450046)
近年来,随着城市化进程的加速和车辆保有量的快速增长,停车问题逐渐成为城市交通管理和规划的重要挑战之一[1]。室内停车场作为解决停车需求的重要设施,在城市中扮演着重要的角色,不仅提供车辆停放的空间,还能有效利用地下空间,缓解交通压力。然而,室内停车场的管理和使用涉及一系列复杂的问题,如停车位的分配、车辆导航、安全性规划等。在解决这些问题时,室内停车场平面图作为一种重要的工具和信息载体发挥着至关重要的作用。构建精确的室内停车场平面图是一项重要的工作,对于解决城市停车问题、提高停车效率和优化交通流动具有积极的影响[2]。
近年来,由于手持式三维激光扫描仪具备体积小巧、重量轻、易于携带和操作的优点,逐渐被应用于地下空间普查[3]、工业测量[4-5]和文物保护[6]等领域。使用者可以自由移动扫描仪,不受固定架或支撑设备的限制,能够快速、方便地扫描室内停车场,得到整个停车场的三维点云。然而,目前商业软件中尚未见到利用手持扫描仪点云高效、自动化进行室内停车场成图的工具。在实际制图过程中,常常采用在点云上手工绘图的方法,制图效率较低。其主要瓶颈在于缺乏快速、自动化的三维点云地图要素的提取方法,从而无法自动识别和提取地图要素,制约了制图效率的提高。室内停车场的地面标识要素(车位线、车道线和地面箭头标识)占据制图要素的绝大部分,其提取效率制约着停车场制图的效率。基于此,本文在手持激光扫描点云的基础上,提出室内停车场地面标识要素的自动化提取方法,以期能够精确提取室内停车场的地面标识要素,有效提高室内停车场地图构建的效率。
为快速获取室内停车场的三维点云,本文采用Leica BLK2GO手持激光扫描仪作为室内停车场点云采集设备。Leica BLK2GO采用GrandSLAM定位方式,不再依赖于三脚架和固定位置静态扫描,可以边走边采集,扫描速度高达42万点/s,数据实时传输,扫描效率提高数倍。Leica BLK2GO获取室内停车场点云如图1所示。
考虑整个停车场点云数据量较大,同时点云处理对内存的要求较高,本文首先按照平面规则格网的方式对整个停车场点云进行划分,然后在每个区块点云的基础上提取地面点。为了实现划分,采用了边长为L的正方形网格(设置L为15 m)对整个停车场点云进行划分。单个网格的点云示意图如图2所示。
图2 室内停车场点云划分
由于单个网格覆盖范围较小,划分后每个网格内的点云数量较少,并且单个网格内的地面点云都处于同一个平面附近。本文使用RANSAC平面拟合算法[7](拟合距离阈值设置为4 cm)提取点云中的平面。设置平面法向量约束条件,若法向量与Z轴的夹角小于M(设置M=20°),则保留该平面及其对应点,否则,将该平面排除。通过该方法,可以得到顶面和地面等多个平面,选择最底部的平面作为地面,其对应的点为地面点,如图3所示。
图3 单个网格地面点云
点云具有稀疏性和散乱性,直接从大范围地面点云提取标识要素,算法的复杂程度较高,并且识别精度有限。相比之下,二维图像数据更加规则。因此,为了提高室内停车场标识要素的识别精度,本文根据地面点云生成图像,并在图像的基础上采用深度神经网络识别标识要素。
2.2.1 地面点云图像生成
根据点的坐标将网格内的地面点云,投影至XOY平面。假设投影后点云的最小X、Y坐标分别为xmin、ymin,则投影后的任意一点P(xp,yp,zp)的图像坐标为
式中,K=5 cm,为像素大小。计算每个点的图像坐标,可得到单个网格的地面点云图像,如图4所示。
图4 地面点云图像
2.2.2 基于BiSeNet的地面标识语义分割
近年来,深度学习技术[8]得到快速发展,其无论在图像分割的精度还是稳健性上都大大优于传统的图像处理方法。目前,有大量的学者针对图像的语义分割提出了不同的深度网络模型,最常用的有FCN[9]、SegNet[10]、BiSeNet[11]等。其中BiSeNet是一种高效的图像语义分割模型,在保持准确性的同时,具有较低的计算复杂性和内存消耗,它在多个公开数据集上进行了评估,并在速度和精度方面取得了良好的结果。鉴于BiSeNet的优良特性,采用BiSeNet网络对停车场地面图像进行分割。由于本文的样本库图像数量较少,使用深度神经网络进行训练时,容易出现过拟合现象,网络的泛化能力有限。为了提高分割的正确率,采用迁移学习的策略。首先使用SUPS数据集[12]对BiSeNet网络进行预训练,然后将少量的人工扫描生成的图像作为样本对网络进行微调,以减少人工标注样本的工作量。语义标签分为4类,分别为箭头、车位线、车道线和背景,如图5所示。
图5 SUPS数据样例
2.2.3 地面标识要素结构化提取
为了方便后续的要素提取,将分割后的要素像素单独进行二值化处理,生成不同要素的二值化图像。对于车位线和车道线,采用基于霍夫变换的线段检测方法[13]进行提取。提取后的车位线和车道线如图6所示。
图6 车位线和车道线的提取效果
对于地面箭头标志,采用文献[14]提出的模板匹配的方法,使用预先设定的模板,与提取的箭头区域的像素进行匹配,寻找与其最相似的箭头,从而使用匹配后的模板箭头作为提取结果,如图7所示。
图7 地面导线箭头匹配结果样例
为了验证本文方法的分割效果,选择2个室内停车场,使用Leica BLK2GO手持激光扫描仪进行扫描,获取其三维点云数据。试验基于Windows 10系统,CPU为Intel(R) Core(TM)i7-7700 CPU @ 3.60 GHz,GPU为NVDIA GeForce GTX1080Ti。采用C++语言进行本文方法的程序编码,程序相关功能的实现采用PCL点云处理及OpenCV图像处理开源库。
为了实现本文提出的室内停车场结构要素提取方法,对BiSeNet网络进行训练。选择5864张图像作为数据集,并将数据集按4∶1划分为训练集和测试集。对网络训练了 200 周期,并统计了F分数(F-Score)、像素准确率(PA)及平均交并比(MIoU)3个指标,其结果见表1。
表1 BiSeNet网络评价指标统计
从表1可以看出,经过训练后的BiSeNet的语义分割精度较高,大部分的地面标识像素可以被准确识别。此外,本文测试了BiSeNet网络的运行效率,处理100张图像约耗时1035 ms,运行效率较高,能够满足实际应用的需求。
为了测试本文提出的车位线和车道线的提取效果,选择停车场多个位置进行测试。经测试发现,大部分的车道线都能被够准确完整地识别出来,但对于扫描不全的车位线,不能完整被提取,如图8所示。这主要是由于停放车辆的遮挡,导致某些车位线只能被部分扫描,从而无法完整地提取车位的边界线。而车道线附近通常没有干扰,获取的车道线点云大部分是完整的,因此,车道线可以较完整地提取出来。
图8 车道线及车位线提取效果
此外,为了测试箭头标识匹配的正确率及效率,选择了136个箭头标志进行匹配,并统计了匹配的正确率与耗费时间,见表2。可以看出,本文的检测方法正确率较高,能够正确识别大部分的地面箭头标识,可节省大部分的人工绘制箭头的工作;且匹配效率较高,可满足实际应用需求。
表2 箭头标识匹配结果统计
为了实现室内停车场的快速制图,本文在手持三维激光扫描数据的基础上,提出了室内停车场地面标识要素的快速提取方法。首先,采用平面规则网格对整个停车场点云进行划分;其次,采用RANSAC平面拟合的方法提取每个网格内的地面点云;然后,将地面点云投影至XOY平面,生成地面点云图像;在此基础上,采用BiSeNet网络对地面图像进行语义分割,得到车道线、车位线及导线箭头的像素;最后,基于霍夫变换的线段提取方法对车道线和车位线进行提取,并采用模板匹配的方法对导线箭头进行匹配识别,最终实现地面标识要素的提取。试验证明,本文方法能够有效提取扫描完整的地面标识要素,大大提高制图效率,具有一定的应用价值。