王 孟,李 伟,高 荣,王 飒
(长安大学 信息工程学院,西安 710064)
机场跑道作为飞机起降过程的风险最大的一环,关系到所有乘客、机组人员的安全,是机场安全重点监测区.机场跑道异物又称FOD (Foreign Object Debris)对飞机的威胁巨大[1].目前FOD 检测技术主要有红外线扫描、毫米波雷达探测和光学图像处理.红外线扫描主要针对热辐射目标入侵跑道,对于红外特征不显著的异物效果不明显,毫米波雷达检测系统是安装在跑道两侧及周边,由均匀间隔放置的检测单元组成,检测到异物后产生告警,向系统指出异物坐标以及记录发现目标的时间,弥补局限于红外特征的检测方法,对于机场入侵异物检测效果显著.图像处理方法则更专注于跑道路面的检测,图像处理传统方法是采集整洁跑道的背景图像,再由检测车在机场休整时快速采集图像通过场景匹配识别异物,目标检测效果与目标大小成正比,目前研究界则是利用机器学习方法例如SVM支持向量机、BP 神经网络、Bagging 分类器[2]等对图像中物体进行分类识别从而检测异物.
本文中使用经过过滤的深度图像和分割的三维点云数据,通过神经网络对跑道的平整性进行检测对于非平整的部分在再通过三维网络进行分类检测出异物的种类.实验首先通过结构光照射路面采集到跑道的深度图像,经图像滤噪后分割进行检测,忽略平整的路面,对非平整的路面进行异物点云提取,对目标点云细节不均匀提取再由点云分类网络进行异物分类,由仿真与实验测试表明经过对不同道面平整度和反光度适应性调试即可有效对跑道异物进行检测.
使用Automation Technology 公司的C5-2040-GigE 系列高速3D 相机安装在智能检测车前部离地高1 米的位置进行深度数据图像的采集,安装示意图如图1所示.
图1 智能检测车
传感器根据激光三角测量原理获取高度轮廓和高度图像.激光线从一个方向投射到物体上.传感器从另一个角度接收在物体上扫描反射的激光线过滤其他频谱的光如图2可以获得完整的高度图像.图2显示了相机结构的示意图.
以下为本实验中图像成像分辨率:
(1)∆x=0.5 mm (沿激光线横向的分辨率);
(2)∆y=0.5 mm (垂直于激光线的分辨率);
(3)在反射角α下高度分辨率可以近似表示:
∆z≈∆x/sin(α)=2 mm (高度分辨率).
图2 相机透镜穿过特定频率的激光
为提高检测系统的运行效率,本实验将2048 pixels ×512 pixels 的图像分割成16 个 512 pixels ×128 pixels 的16 bit 深度的灰度图像,通过对图像灰度的分析可得相对平整路面灰度范围如图3,选取深度图像的灰度值作为过滤与分割的依据,对道面上异常灰度值进行滤除.
图3 相对平整路面灰度值分布
将扫描路面的灰度值分布看作正态分布则由式(1),式(2)计算,其中,E为数学期望,δ为标准差.
得到扫描路面图像灰度值落在[36 067,36 225]区间之外的概率小于1%,因此将激光扫描的区域在平面上划分16 个512 pixels ×128 pixels 的矩形,由于跑道路面的特点是高度变化缓慢,高度集中在同一高度区域内,且为一近似平面,同一区域内灰度值相差不大.区域内的异物的特点是灰度值与路面的相差明显展示如图4.依据此特性可对路面异物如图5进行分离.
图4 路面灰度值与异物灰度值直方图
图5 异物
路面点云的获取本文利用OpenCV 计算机视觉库中的Viz3d 函数库来处理分割与过滤后的深度图像,首先由于路面和异物具有非均匀反射率,所以照射在表面上激光线不能百分百接收并反映在图像上,为了去除点云中出现用于指示无效像素的无效数据值(IDV).无效的像素是值为零的像素,所以需要对孤立的无效像素进行抑制消除.其次将含有深度信息的图像像素由图像坐标转化为世界坐标系下的坐标原理如图6,深度图像生成点云数据示例如图7,过程如下.
图像上的任意坐标点m,图像坐标系下坐标为(u,v),(u0,v0)为图像的中心坐标.xw,yw,zw表示世界坐标系下的坐标点.zc表示相机坐标系的Z 轴,表示目标到相机的距离[3],在不考虑图像旋转和平移时由相机标定原理公式有:
本文为了计算方便假设相机坐标系和世界坐标系的坐标原点重合,因此世界坐标下一个物体的深度等于相机坐标下物体的深度,即zc=zw,于是由此式(3)可得到图像上的点[u,v]T到世界坐标点[xw,yw,zw]T的变换式(4)[4]:
图6 不同坐标系转换关系
图7 由深度图像生成点云数据
512 pixels ×128 pixels 深度图像转化为点云共有65 536 个点数据,其中大部分为道面信息反馈的低信息密度数据,检测系统为降低异物检测网络的参数数量提高检测效率,需要提取有效反映目标空间信息的点云,剔除冗余的数据.点云的存储一般使用PLY (Polygon File Format)存储格式[5],PLY 格式中每一个元素对应一个点的信息,每个点使用3 个单精度浮点数代表点的空间(x,y,z)坐标,使用3 个无符号字符代表点的(R,G,B)颜色[6].
根据点云数据的存储格式可以按照Z 轴数据对点云所代表的信息进行初步分类,将Z 轴数据分布在路面高度的信息进行裁减,提高剩余点云所含信息量.点云Z 轴高度分布如图8.
按照Z 轴高度分布采取不均匀降采样策略,少量采集道面点云数据,尽可能多的保留目标空间信息忽略目标局部细节,生成非均匀降采样目标点如图9.
图9 降采样的点云数据
点云数据目标识别的关键是从空间分布的数据信息中将体现目标几何特征的数据点筛选出来进行特征判断.深度学习技术经近几年迅速发展,已经在特征提取、语音识别和计算机视觉领域广泛应用.深度学习通过特征提取[7],并通过多层次的非线性映射学习深层次的目标特征,适用于复杂数据下的特征学习,而卷积神经网络(Convolutional Neural Networks,CNN)是典型的深度神经网络之一,它能对数据进行多层卷积、池化等操作,逐步提取从浅层到抽象的特征[8],能够有效抽取高维数据的隐藏特征.同时其独特的网络结构能有效减少参数数量、降低模型的复杂度,便于模型的训练和应用,本文实验即采用卷积神经网络.
空间上的局部相关性(spatially-local correlation)是各种类型的数据都具有的一种性质,并且与数据的表示方法无关.对于可以表示在图像等规则域中的数据,卷积算子已经证明在探索这种相关性上十分有效,并且也是CNN 在多种任务上取得成功的关键.对于本身维度就比环境空间少的数据(比如3D 空间所有目标分类中的面或2D 空间中的线)而言,如果将这些数据表示为环境空间中的点云(point cloud)而非整个空间的一个密集网格,那么效果还会更好.但是,点云不因其无序性直接使用卷积会使得卷积算子难以利用点云之间的空间相关性[9].
在规则网格中,每个网格单元都与一个特征关联.在点云中,点是从局部近邻中采样得到的,类比于规则网格中的局部块,每个点关联了一个特征、一个顺序索引以及它的坐标.但是,缺乏规则网格使得这些点难以将按规范顺序排列.
假设针对图10中I–IV 任意维无序特征集合,我们使用同一个的卷积核如式(5).在图10的I 中,通过规则的网格结构给出的顺序,可以得到良好的学习效果,但是在图10的II、III 和IV 中,这些点是从局部近邻中采样得到的,因此可以是任意顺序.通过相同的卷积操作,这3 种情况的输出特征可以按如式(5)计算:
图10 点云排列
直接进行卷积会导致形状信息丢失从而使图10中II 和III 训练的结果大概率相似,也会因为顺序而不同造成图10中III 和IV 训练结果大概率不同.所以对于以点云形式表示的不规则无序数据,图像中常用的卷积算子不适合利用数据中的空间局部相关性.针对这个问题这里引用PointCNN 网络X卷积,它的原理是从前一层的数据中取K个点,预测一个K×K大小的变换矩阵,用前一层的特征做矩阵变换,然在对其进行卷积[10].图10中II、III 和IV 的卷积可以描述为式(6):
示例中X是4×4 的矩阵,在图10中K=4.由于XII和XIII是从不同形状的点采样而来,所含空间信息不同,相应的通过X变化后,应该得到fII≠fIII.对于XIII和XIV,所含空间信息相同,如果通过X变化后如果满足fIII=fIV,相当于将(c,a,b,d)置换为(a,b,c,d),实现,因此解决无序排列问题.
点云的三维空间中包含了物体所有尺度的点云表达,有利于进一步深入地挖掘物体的空间特征.为了能更好地实现分类分割,将结合尺度空间中不同尺度的点云特征,充分挖掘物体的本质信息,更有效地识别点云.该目标的实现主要分为两个过程,首先非均匀降采样提高目标物的结构特征,并对空间中每个点云进行特征学习,从而得到每个方向的特征;然后将这些不同方向局部特征进行结合,得到包含丰富信息的多空间特征,并利用卷积神经网络进行学习.
实验中使用的神经网络首先通过四层空间卷积网络将输入点(目标点或道面点)逐渐转换为较少的特征点,但每个特征点含有的空间信息更丰富,接着通过一层[128×3×128,40]的全连接后在通过一层为[40,4]的4 全连接层将点云数据分为4 类,即螺丝、螺母、一般异物、无异物,一般异物针对图像截取后被部分分割的异物虽无法有效识别但能和无异物明显区分,网络最后通过Softmax 层计算得出各种数据的概率.网络结构如图11,图中N和C表示输出代表点数和特征维数,K是输入代表点相邻点的个数,D是空间卷积膨胀率.
FOD 包含能损伤航空器的所有外来的物质.如金属零件、防水塑料布、碎石块、报纸、瓶子、行李牌等,典型的有:金属器件(螺帽、螺钉、垫圈、钉子、保险丝等)、机械工具、飞行物品(私人物品、钢笔、铅笔、纽扣等)、橡胶碎片、塑料制品、混凝土沥青碎块(石头、沙子、冰渣等)、纸制品、动植物等[11].
由于机场环境特殊限制本实验在实验室中采用螺帽、螺钉、垫圈,笔,钥匙等模拟跑道异物采集数据,由于异物种类较多,为正确区分正常路面和异物路面将采集的数据分为4 类,采集数据示例如图12.
图11 网络结构
图12 数据展示
为验证三维检测方法在道路表面异物检测的效果,我们实验采集异物和正常跑道路面各1100 张数据做为原始数据集,异物数据采集虽然较少,可通过异物出现的位置及方向不同扩充数据,同时由于采用不均匀随机降采样,即使是同一张三维数据源也可以产生无数种数据指向同一空间特征.通过不均匀降采样得到数据11 000 张点云图像,其中1000 张作为验证集,通过第二节的步骤将数据做成目标点云数据进行训练.
从图13(a)和图13(b)看出经过6000 多次batch训练后训练的损失率在0.3 上下徘徊,而在验证集上正确率接近0.90,基本满足作为在道面异物检测方面三维补充检测实验要求,能够对实验采集的图像数据得到较好的分类结果.本文所提出的3D 点云分类的方法优化对路面点云的采集与处理,消除了冗余的数据带来的数据量陡增,弥补了现有三维神经网络来对路面异物数据检测的研究.
图13 数据实验结果
本文研究了从三维数据处理方面对模拟机场跑道的异物进行识别,设计了一系列从深度图像到点云数据再从点云数据优化后的目标分类方法.直接对模拟跑道进行三维扫描后转化的图像进行过滤与分割,再通过不均匀降采样减少数据的冗余降低参数量,最后通过引入空间卷积变化相应解决了点云无序问题,使得卷积算子得以利用数据中的空间局部相关性对物体分类,以较高的分类准确率对不同的目标进行分类,对现有的图像处理检测方法和机器学习分类法之外提供了从三维数据处理道面异物检测的新方法.