激光雷达三维点云目标补全算法
2022-07-07严璐顾昕
严璐 顾昕
(南京莱斯信息技术股份有限公司 江苏省南京市 210000)
激光雷达在无人机/无人驾驶/文物修复/机器人等领域应用越来越广泛,视频图像数据易受光照变换的影响,激光雷达点云有效避免此问题,且数据量小。本算法应用场景是泊位引导中基于点云检测出航空器。点云数据量小,数据稀疏,机场环境下,雷达安装位置和角度以及飞机本身相互遮挡,目标点云严重缺失。飞机为异形结构,无法采用规则图形进行点云补全,这些对飞机目标的识别检测和尺寸衡量造成很大障碍,因此需要需要合适的点云补全模型。
点云补全一直是深度学习和三维重建领域的一个重要的研究课题。基于深度学习的三维点云修复技术主要有密集、补全、去噪三类重建方法。修复模型的关键技术有特征编码/特征扩展和损失函数设计。点云修复目的是提升点云密度,补全点云形状以及去除噪声等,从而提高点云质量,便于后期识别检测点云中的目标,衡量目标大小。
现有技术利用激光雷达扫描获取物体外形,通常对外形不做补全处理。现有的点云补全方法很多,但是补全稠密均匀性不足,目标尺寸不够准确,还需要深入研究改进。有些补全算法通过点云和图像融合的方式,但是摄像头受环境因素影响很大,如雨雾天,夜晚等。另外实际应用中考虑到各种因素,并不能只为补全信息,同时架设雷达和摄像机。本文只基于PCN模型进行改进,优化点云补全。
本文第2节介绍了点云补全相关技术点;第3节介绍了算法详细细节;第4节给出了测试实验结果,最后给出本文的总结和后期工作展望。
1 研究背景
基于深度学习的点云修复目前较为通用的基础网络模型有多层感知器(MLP),卷积神经网络(CNN),自编码器(AE)和对抗生成网络(GAN)等。
1.1 多层感知器
1.2 卷积神经网络
卷积神经网络(CNN)基本结构主要包括输入层,卷积层,池化层,全连接层以及输出层。各层级之间区别于MLP的全神经元相连,CNN只有部分神经元相连。卷积层是通过在输入图像上滑动卷积核并进行相应计算得到特征图,一个特征图共享相同的权重和偏置项,共享权重减少参数的数量。池化层在卷积层后面,池化层与卷积层一般交替出现,是一种非线性降采样,减小数据的空间大小,降低参数数量和计算量。全连接层负责网络中的高级推理。使用损失函数评价模型的预测值和真实值的相异程度。卷积层后连接激励函数,增强判定函数和整个神经网络的非线性特性,常用的激励函数包括修正线性单元(rectified linear units,ReLU),双曲正切函数和Sigmoid函数等。
1.3 自编码器
自编码器(AutoEncoder,AE)将输入X编码为一个新的表达Y,然后再将Y解码回X,是一个无监督机器学习算法。目的是对一组数据学习出一种编码,然后通过这种编码重构输出。自编码器具有数据相关性/数据有损性和自动学习性等特点,常用于数据的去噪和降维。
1.4 PointNet
2017年Qi等提出了第一个作用于点云的深度学习框架PointNet网络,实现三维点云分类,形状部分分割和场景语义分析。PointNet分类网络将n个点作为输入,应用输入和特征变换,然后通过两次的多层感知器获取点云特征信息,通过最大池化层聚合点要素,输出是k类的分类分数。此模型设计关键点是无序输入的对称函数,本地和全局信息汇总以及联合调整网络。
1.5 基于深度学习的三维点云修复技术
上文提到的密集重建、补全重建和去噪重建三种方法,实际应用中可根据点云修复任务的侧重点差异选择合适的方法。密集重建的目标是通过采集到的一组非均匀分布,密度与实际需求相较欠缺的点云,保持目标形状特征完整性的前提条件下,输出相对均匀、密集的补全数据。补全重建的目标是从目标残缺的、被部分遮挡的点云数据中,还原目标完整形状特性。用于补全重建的神经网络结构一般由点云编码器和点云解码器组成,编码器提取出输入的残缺点云的形状特征,解码器利用形状特征基于由粗到细递增的策略恢复出完整的点云数据。点云去噪目标是从输入的点云数据中,提取并过滤噪声,恢复一个干净的点云集,同时保留目标的三位几何细节。
图卷积网络(GCN)是对图数据进行深度学习,图一般包含社交网络,通信网络等,图中的每个节点分别表示网络中的每个个体。目前常用的方法有:
(1)通过Multi-branch GCN,Clone GCN,NodeShuffle三个新的模块进行点云采样,其中采用图卷积网络实现对于局部点信息的编码,此外通过Inception-DenseGCN进行多尺度点的特征提取,通过坐标重建再现最终的密集点云。
(2)基于深度学习的点补全网络(PCN)。PCN网络模型包括编码器和解码器,编码器使用基于MLP和最大池化操作的网络模型,提取输入点云的特征,得到特征向量;解码器先通过全连接层得到较为稀疏的补全点云,在经过折叠网络获得稀疏的点云坐标和平滑的密集点云。
(3)基于神经网络进行三维点云去噪,利用神经网络提取的点云特征估计噪声点云的参考平面,然后将噪声点投影到相应的估计参考平面上,对点云进行降噪处理。Zhao等提出一种基于自动编码器结构的3D点胶囊网络,来实现稀疏点云的重建;
(4)基于生成对抗网络框架,提出了一种自动修复补全三维点云形状的神经网络;
(5)结合强化学习代理控制生成对抗网络(Generative adversarial network,GAN)进行点云的生成补全算法。
2 基于改进的PCN模型的激光雷达三维点云补全算法
算法简要流程是输入原始点云,使用本算法模型进行点云补全,测量计算补全的点云并输出结果。算法以飞机点云数据为例,飞机原始点云数据稀疏且残缺不全,飞机轮廓难以判断,更对飞机尺寸测量造成困难。
2.1 算法思路
针对飞机这种异形结构目标,在不同角度下,机翼机身缺失严重,对获取目标点云特征要求较高,因此算法基于PCN网络对编码层进行改进,增加一层共享多层感知器(Shared MLP)和逐点最大池化层(Point-feature Maxpool)组合,并且将多层提取的特征串联。
2.2 算法
算法的基本思想:
PCN算法如图1所示,采用深度学习方法。本算法基于PCN网络做出改进,原始的PCN网络编码层网络结构采用两层共享多层感知器(Shared MLP)与逐点最大池化层(Point-Wise MaxPool)组合,第二层输入时第一层(Shared MLP)输出与(Point-wise Maxpool)输出串联结果。
图1:原始PCN网络结构
改进的PCN网络模型如图2所示:
图2:PCN改进网络结构
(1)编码阶段:本方法将扩展增加一层共享多层感知器(Shared MLP)和逐点最大池化层(Point-feature Maxpool)组合,并且第一层获得的点特征Point feature i与第二层获得的点特征Point feature ii和逐点最大池化全局特征Global feature ii串联作为该层输入,但是新增层全局特征每点的维度不变,获得最后全局特征Global feature iii。
(2)解码阶段:本方法与PCN模型结构一致,即将获得的特征Global feature iii通过全连接层解码(fully-connected decoder),重采样获得飞机整体完整轮廓,通过基于折叠的解码操作(folding-based operation)平滑物体表面。
2.3 算法详述
PCN网络改进:
PCN改进网络结构:本方法将扩展增加一层共享多层感知器(Shared MLP)和逐点最大池化层(Point-feature Maxpool)组合,并且第一层获得的点特征Point feature i与第二层获得的点特征Point feature ii和逐点最大池化全局特征Global feature ii串联作为该层输入,但是新增层全局特征每点的维度不变,获得最后全局特征Global feature iii。具体描述如下:
在解码阶段,本方法与PCN网络结构一致,即将获得的特征Global feature iii通过全连接层解码(fully-connected decoder),重采样获得飞机整体完整轮廓,通过基于折叠的解码操作(folding-based operation)平滑物体表面。
3 实验结果及分析
3.1 硬件配置与试验平台
算法实现采用的主机,内核I7,英伟达1080Ti的显卡,设备内存4G,操作系统为Ubuntu16,采用python语言实现。
3.2 实验结果和效果分析
本方法输出如图3 output所示。改进之后,点云数据更加稠密均匀,物体轮廓特征细节部分补全效果更好。
图3:左边input为飞机原始点云数据,右边output为飞机点云补全输出
测试部分,测量机翼宽度,准确补全机翼宽度对测量准确度影响很大,这就要求算法对物体轮廓细节部分还原效果要好。利用补全好的飞机外形测量机翼宽度,如图4所示。由于激光束长度a,b,及角度c是可以直接测量,则利用数学知识可以求得机翼长度。
图4:(a)(b)测量机翼宽度
由以上方法计算出机翼宽度,对进场泊位的飞机进行机型判别,确认泊位飞机信息。
4 结束语
本文基于改进的PCN算法实现点云补全,输入稀疏的飞机点云,获得完整飞机点云,并基于完整的飞机点云计算出飞机的机翼宽度。
机场、光伏、水利、学校、风景区等应用场景,占地广,重点位置需要实时监测,需要在多个重点关注点安装雷达获取点云数据,采用此算法补全缺失的点云,提高点云检测识别模型的准确率。后期可以采用边缘计算框架,将点云补全算法部署到边缘服务器上,将经过补全等处理的结果发送给总控,或者在边缘服务器上实现点云的补全和识别检测,将检测结果发送给总控,实现边缘部署和计算。