计算机系统应用  2021, Vol. 30 Issue (2): 165-170   PDF    
基于三维点云深度学习的路面异物检测
王孟, 李伟, 高荣, 王飒     
长安大学 信息工程学院, 西安 710064
摘要:针对采机场跑道异物FOD (Foreign Object Debris)检测问题, 本文设计了一套基于智能车载3D相机采集路面信息并进行异物检测的系统. 此系统通过深度图像的深度量化值分布差异初步筛除正常路面, 再经过点云异常值过滤与不均匀降样算法对参数进行纠正和数据量缩减, 精简后的点云通过对路面数据适应性改进的网络进行异物检测. 此网络采用PointCNN网络中的X卷积通过4次卷积提取点云数据进行空间特征, 尽可能的保留了异物目标的空间信息, 提高检测准确度. 通过对采集的数据进行测试实验, 本文设计的方法能够准确地识别出异物与非平整路面, 准确率接近90%.
关键词: FOD    3D相机    深度图像处理    点云非均匀降采样    三维卷积神经网络    
Foreign Object Debris Detection of Pavement Based on Deep Learning of 3D Point Cloud
WANG Meng, LI Wei, GAO Rong, WANG Sa     
School of Information Engineering, Chang’an University, Xi’an 710064, China
Foundation item: National Natural Science Foundation of China (51978071); the Fundamental Research Funds for the Central Universities of China (300102249306, 300102249301); National Key Research and Development Program of China (2018YFB1600200)
Abstract: Aiming at the Foreign Object Debris (FOD) detection of runways, this study designs a system based on intelligent vehicle-mounted 3D cameras to collect road information and detect foreign objects. This system preliminarily screens out normal roads through the difference in the distribution of the depth quantified value of the depth image, and then through the point cloud abnormal value filtering and uneven reduction algorithm to correct the parameters and reduce the amount of data, the streamlined point cloud is adapted to the road data. Improved network for foreign object detection. This network uses the X convolution in the PointCNN network to extract point cloud data for spatial features through four convolutions, which preserves the spatial information of foreign objects as much as possible and improves the detection accuracy. Through test experiments on the collected data, the method designed in this study can accurately identify foreign objects and uneven roads with an accuracy rate close to 90%.
Key words: FOD     3D camera     depth image processing     non-uniform down sampling of point cloud     3D convolutional neural network    

机场跑道作为飞机起降过程的风险最大的一环, 关系到所有乘客、机组人员的安全, 是机场安全重点监测区. 机场跑道异物又称FOD (Foreign Object Debris)对飞机的威胁巨大[1]. 目前FOD检测技术主要有红外线扫描、毫米波雷达探测和光学图像处理. 红外线扫描主要针对热辐射目标入侵跑道, 对于红外特征不显著的异物效果不明显, 毫米波雷达检测系统是安装在跑道两侧及周边, 由均匀间隔放置的检测单元组成, 检测到异物后产生告警, 向系统指出异物坐标以及记录发现目标的时间, 弥补局限于红外特征的检测方法, 对于机场入侵异物检测效果显著. 图像处理方法则更专注于跑道路面的检测, 图像处理传统方法是采集整洁跑道的背景图像, 再由检测车在机场休整时快速采集图像通过场景匹配识别异物, 目标检测效果与目标大小成正比, 目前研究界则是利用机器学习方法例如SVM支持向量机、BP神经网络、Bagging分类器[2]等对图像中物体进行分类识别从而检测异物.

本文中使用经过过滤的深度图像和分割的三维点云数据, 通过神经网络对跑道的平整性进行检测对于非平整的部分在再通过三维网络进行分类检测出异物的种类. 实验首先通过结构光照射路面采集到跑道的深度图像, 经图像滤噪后分割进行检测, 忽略平整的路面, 对非平整的路面进行异物点云提取, 对目标点云细节不均匀提取再由点云分类网络进行异物分类, 由仿真与实验测试表明经过对不同道面平整度和反光度适应性调试即可有效对跑道异物进行检测.

使用Automation Technology公司的C5-2040-GigE系列高速3D相机安装在智能检测车前部离地高1米的位置进行深度数据图像的采集, 安装示意图如图1所示.

图 1 智能检测车

传感器根据激光三角测量原理获取高度轮廓和高度图像. 激光线从一个方向投射到物体上. 传感器从另一个角度接收在物体上扫描反射的激光线过滤其他频谱的光如图2可以获得完整的高度图像. 图2显示了相机结构的示意图.

以下为本实验中图像成像分辨率:

(1) $\Delta x = $ 0.5 mm (沿激光线横向的分辨率);

(2) $\Delta y = $ 0.5 mm (垂直于激光线的分辨率);

(3)在反射角α下高度分辨率可以近似表示:

$\Delta {\textit{z}} \approx \Delta x/\sin (\alpha ) = 2\;{\rm{mm}}$ (高度分辨率).

图 2 相机透镜穿过特定频率的激光

1 深度图像的获取与预处理 1.1 深度图像分割与过滤

为提高检测系统的运行效率, 本实验将2048 pixels ×512 pixels 的图像分割成16个 512 pixels ×128 pixels的16 bit深度的灰度图像, 通过对图像灰度的分析可得相对平整路面灰度范围如图3, 选取深度图像的灰度值作为过滤与分割的依据, 对道面上异常灰度值进行滤除.

图 3 相对平整路面灰度值分布

将扫描路面的灰度值分布看作正态分布则由式(1), 式(2)计算, 其中, E为数学期望, δ为标准差.

$ E = \left( {{x_1} + {x_2} + \cdots + {x_n}} \right)/n $ (1)
$ \delta = \sqrt {\sum\nolimits_1^n {{{\left( {{x_1} - E} \right)}^2}} /n} $ (2)

得到扫描路面图像灰度值落在[36067, 36225]区间之外的概率小于1%, 因此将激光扫描的区域在平面上划分16个512 pixels × 128 pixels的矩形, 由于跑道路面的特点是高度变化缓慢, 高度集中在同一高度区域内, 且为一近似平面, 同一区域内灰度值相差不大. 区域内的异物的特点是灰度值与路面的相差明显展示如图4. 依据此特性可对路面异物如图5进行分离.

图 4 路面灰度值与异物灰度值直方图

图 5 异物

1.2 点云数据的获取

路面点云的获取本文利用OpenCV计算机视觉库中的Viz3d函数库来处理分割与过滤后的深度图像, 首先由于路面和异物具有非均匀反射率, 所以照射在表面上激光线不能百分百接收并反映在图像上, 为了去除点云中出现用于指示无效像素的无效数据值(IDV). 无效的像素是值为零的像素, 所以需要对孤立的无效像素进行抑制消除. 其次将含有深度信息的图像像素由图像坐标转化为世界坐标系下的坐标原理如图6, 深度图像生成点云数据示例如图7, 过程如下.

图像上的任意坐标点m, 图像坐标系下坐标为(u, v), $ ({{{u}}}_{0},{{{v}}}_{0} $ )为图像的中心坐标. $ {{x}}_{{w}},{{y}}_{{w}},{{{\textit{z}}}}_{{w}} $ 表示世界坐标系下的坐标点. $ {{{\textit{z}}}}_{{c}} $ 表示相机坐标系的Z轴, 表示目标到相机的距离[3], 在不考虑图像旋转和平移时由相机标定原理公式有:

${{\textit{z}}_c}\left( {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right) = \left[ {\begin{array}{*{20}{c}} {f/dx}&0&{{u_0}} \\ 0&{f/dy}&{{v_0}} \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_w}} \\ {{y_w}} \\ {{{\textit{z}}_w}} \end{array}} \right]$ (3)

本文为了计算方便假设相机坐标系和世界坐标系的坐标原点重合, 因此世界坐标下一个物体的深度等于相机坐标下物体的深度, 即 $ {{{\textit{z}}}}_{{c}}={{{\textit{z}}}}_{{w}} $ , 于是由此式(3)可得到图像上的点 ${[{{u}},{{v}}]}^{\rm {T}}$ 到世界坐标点 ${[{{x}}_{{w}},{{y}}_{{w}},{{{\textit{z}}}}_{{w}}]}^{\rm {T}}$ 的变换式(4)[4]:

$ \left\{ \begin{array}{l} {x_w} = {{\textit{z}}_c} \cdot \left( {u - {u_0}} \right) \cdot dx/f\\ {y_w} = {{\textit{z}}_c} \cdot (v - {v_0}) \cdot dy/f\\ {{\textit{z}}_w} = {{\textit{z}}_c} \end{array} \right. $ (4)
图 6 不同坐标系转换关系

图 7 由深度图像生成点云数据

1.3 点云数据标准化

512 pixels × 128 pixels 深度图像转化为点云共有65536个点数据, 其中大部分为道面信息反馈的低信息密度数据, 检测系统为降低异物检测网络的参数数量提高检测效率, 需要提取有效反映目标空间信息的点云, 剔除冗余的数据.

点云的存储一般使用PLY (Polygon File Format)存储格式[5], PLY格式中每一个元素对应一个点的信息, 每个点使用3个单精度浮点数代表点的空间 $({{x}},{{y}},{{{\textit{z}}}})$ 坐标, 使用3个无符号字符代表点的(R, G, B)颜色[6].

根据点云数据的存储格式可以按照Z轴数据对点云所代表的信息进行初步分类, 将Z轴数据分布在路面高度的信息进行裁减, 提高剩余点云所含信息量. 点云Z轴高度分布如图8.

图 8 点云Z轴分布柱状图

按照Z轴高度分布采取不均匀降采样策略, 少量采集道面点云数据, 尽可能多的保留目标空间信息忽略目标局部细节, 生成非均匀降采样目标点如图9.

图 9 降采样的点云数据

2 异物识别

点云数据目标识别的关键是从空间分布的数据信息中将体现目标几何特征的数据点筛选出来进行特征判断. 深度学习技术经近几年迅速发展, 已经在特征提取、语音识别和计算机视觉领域广泛应用. 深度学习通过特征提取[7], 并通过多层次的非线性映射学习深层次的目标特征, 适用于复杂数据下的特征学习, 而卷积神经网络(Convolutional Neural Networks, CNN)是典型的深度神经网络之一, 它能对数据进行多层卷积、池化等操作, 逐步提取从浅层到抽象的特征[8], 能够有效抽取高维数据的隐藏特征. 同时其独特的网络结构能有效减少参数数量、降低模型的复杂度, 便于模型的训练和应用, 本文实验即采用卷积神经网络.

2.1 卷积神经网络的改进

空间上的局部相关性(spatially-local correlation)是各种类型的数据都具有的一种性质, 并且与数据的表示方法无关. 对于可以表示在图像等规则域中的数据, 卷积算子已经证明在探索这种相关性上十分有效, 并且也是CNN在多种任务上取得成功的关键. 对于本身维度就比环境空间少的数据(比如3D空间所有目标分类中的面或2D空间中的线)而言, 如果将这些数据表示为环境空间中的点云(point cloud)而非整个空间的一个密集网格, 那么效果还会更好. 但是, 点云不因其无序性直接使用卷积会使得卷积算子难以利用点云之间的空间相关性[9].

在规则网格中, 每个网格单元都与一个特征关联. 在点云中, 点是从局部近邻中采样得到的, 类比于规则网格中的局部块, 每个点关联了一个特征、一个顺序索引以及它的坐标. 但是, 缺乏规则网格使得这些点难以将按规范顺序排列.

假设针对图10中I–IV任意维无序特征集合, 我们使用同一个的卷积核如式(5). 在图10的I中, 通过规则的网格结构给出的顺序, 可以得到良好的学习效果, 但是在图10的II、III和IV中, 这些点是从局部近邻中采样得到的, 因此可以是任意顺序. 通过相同的卷积操作, 这3种情况的输出特征可以按如式(5)计算:

$\left\{\begin{split} & {f_{\rm{I}}} = Conv\left( {K,{{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right) \\ & {f_{\rm II}} = Conv\left( {K,{{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right) \\ & {f_{\rm III}} = Conv\left( {K,{{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right) \\ \end{split}\right.$ (5)
图 10 点云排列

直接进行卷积会导致形状信息丢失从而使图10中II和III训练的结果大概率相似, 也会因为顺序而不同造成图10中III和IV训练结果大概率不同. 所以对于以点云形式表示的不规则无序数据, 图像中常用的卷积算子不适合利用数据中的空间局部相关性. 针对这个问题这里引用PointCNN网络X卷积, 它的原理是从前一层的数据中取K个点, 预测一个K×K大小的变换矩阵, 用前一层的特征做矩阵变换, 然在对其进行卷积[10]. 图10中II、III和IV的卷积可以描述为式(6):

$\left\{\begin{split} & {f_{\rm II}} = Conv\left( {K,{X_{\rm II}} \times {{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right)\\ & {f_{\rm III}} = Conv\left( {K,{X_{\rm III}} \times {{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right)\\ & {f_{\rm IV}} = Conv\left( {K,{X_{\rm IV}} \times {{\left[ {{f_a},{f_b},{f_c},{f_d}} \right]}^{\rm{T}}}} \right) \end{split}\right.$ (6)

示例中X是 4×4 的矩阵, 在图10K=4. 由于XIIXIII是从不同形状的点采样而来, 所含空间信息不同, 相应的通过X变化后, 应该得到 $ {{f}}_{{\rm{I}}{\rm{I}}}\ne {{f}}_{{\rm{I}}{\rm{I}}{\rm{I}}} $ . 对于XIIIXIV, 所含空间信息相同, 如果通过X变化后如果满足 $ {{f}}_{{\rm{I}}{\rm{I}}{\rm{I}}}={{f}}_{{\rm{I}}{\rm{V}}} $ , 相当于将(c, a, b, d)置换为(a, b, c, d), 实现, 因此解决无序排列问题.

2.2 网络结构

点云的三维空间中包含了物体所有尺度的点云表达, 有利于进一步深入地挖掘物体的空间特征. 为了能更好地实现分类分割, 将结合尺度空间中不同尺度的点云特征, 充分挖掘物体的本质信息, 更有效地识别点云. 该目标的实现主要分为两个过程, 首先非均匀降采样提高目标物的结构特征, 并对空间中每个点云进行特征学习, 从而得到每个方向的特征; 然后将这些不同方向局部特征进行结合, 得到包含丰富信息的多空间特征, 并利用卷积神经网络进行学习.

实验中使用的神经网络首先通过四层空间卷积网络将输入点(目标点或道面点)逐渐转换为较少的特征点, 但每个特征点含有的空间信息更丰富, 接着通过一层 $ [128\times 3\times {128,40}] $ 的全连接后在通过一层为 $ \left[{40,4}\right] $ 的4全连接层将点云数据分为4类, 即螺丝、螺母、一般异物、无异物, 一般异物针对图像截取后被部分分割的异物虽无法有效识别但能和无异物明显区分, 网络最后通过Softmax层计算得出各种数据的概率. 网络结构如图11, 图中NC表示输出代表点数和特征维数, K是输入代表点相邻点的个数, D是空间卷积膨胀率.

3 实验验证

FOD包含能损伤航空器的所有外来的物质. 如金属零件、防水塑料布、碎石块、报纸、瓶子、行李牌等, 典型的有: 金属器件(螺帽、螺钉、垫圈、钉子、保险丝等)、机械工具、飞行物品(私人物品、钢笔、铅笔、纽扣等)、橡胶碎片、塑料制品、混凝土沥青碎块(石头、沙子、冰渣等)、纸制品、动植物等[11].

由于机场环境特殊限制本实验在实验室中采用螺帽、螺钉、垫圈, 笔, 钥匙等模拟跑道异物采集数据, 由于异物种类较多, 为正确区分正常路面和异物路面将采集的数据分为4类, 采集数据示例如图12.

图 11 网络结构

图 12 数据展示

为验证三维检测方法在道路表面异物检测的效果, 我们实验采集异物和正常跑道路面各1100张数据做为原始数据集, 异物数据采集虽然较少, 可通过异物出现的位置及方向不同扩充数据, 同时由于采用不均匀随机降采样, 即使是同一张三维数据源也可以产生无数种数据指向同一空间特征. 通过不均匀降采样得到数据11000张点云图像, 其中1000张作为验证集, 通过第二节的步骤将数据做成目标点云数据进行训练.

图13(a)图13(b)看出经过6000多次batch训练后训练的损失率在0.3上下徘徊, 而在验证集上正确率接近0.90, 基本满足作为在道面异物检测方面三维补充检测实验要求, 能够对实验采集的图像数据得到较好的分类结果. 本文所提出的3D点云分类的方法优化对路面点云的采集与处理, 消除了冗余的数据带来的数据量陡增, 弥补了现有三维神经网络来对路面异物数据检测的研究.

图 13 数据实验结果

4 结论

本文研究了从三维数据处理方面对模拟机场跑道的异物进行识别, 设计了一系列从深度图像到点云数据再从点云数据优化后的目标分类方法. 直接对模拟跑道进行三维扫描后转化的图像进行过滤与分割, 再通过不均匀降采样减少数据的冗余降低参数量, 最后通过引入空间卷积变化相应解决了点云无序问题, 使得卷积算子得以利用数据中的空间局部相关性对物体分类, 以较高的分类准确率对不同的目标进行分类, 对现有的图像处理检测方法和机器学习分类法之外提供了从三维数据处理道面异物检测的新方法.

参考文献
[1]
邹单红. 基于差分图像的机场跑道异物检测算法的应用研究[硕士学位论文]. 成都: 电子科技大学, 2014.
[2]
党国龙. 机场跑道异物检测与识别的相关算法研究[硕士学位论文]. 南京: 南京航空航天大学, 2018.
[3]
Horsetail. 深度图转点云原理. https://www.cnblogs.com/cv-pr/p/5719350.html. [2016-07-29].
[4]
张翰, 包国琦, 刘凯. 一种结构光三维成像系统的简易标定方法. 激光与光电子学进展, 2019, 56(14): 141102.
[5]
Turk G. The PLY polygon file format. https://blog.csdn.net/eloudy/article/details/70478083. [2017-04-22].
[6]
唐林. 三维点云数据精简与压缩的研究[硕士学位论文]. 南京: 东南大学, 2017
[7]
滕潇, 李传坤, 李乐宁. 基于卷积神经网络的乙烯球罐泄漏检测研究. 安全、健康和环境, 2019, 19(8): 20-25. DOI:10.3969/j.issn.1672-7932.2019.08.005
[8]
魏晓良, 潮群, 陶建峰, 等. 基于LSTM和CNN的高速柱塞泵故障诊断. 航空学报. http://kns.cnki.net/kcms/detail/11.1929.V.20200522.1027.006.html. [2020-06-07].
[9]
张宏斌. 基于点云的三维目标检测算法研究与标注工具设计[硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2019.
[10]
顾砾, 季怡, 刘纯平. 基于多模态特征融合的三维点云分类方法. 计算机工程. [2020-02-11/2020-06-07].
[11]
赵锦华, 张军. 机场跑道异物检测系统研究. 现代电子技术, 2012, 35(19): 120-122, 126. DOI:10.3969/j.issn.1004-373X.2012.19.037