基于深度学习的三维感知算法在船舶自主靠泊场景中的应用

2021-04-12 10:16:36谢涵清邓乃铭
舰船科学技术 2021年3期
关键词:卷积船舶神经网络

谢涵清,邓乃铭

(上海交通大学高新船舶与深海开发装备协同创新中心,上海200240)

0 引言

2018年,中国船级社发布了《自主货物运输船舶指南》[1],指出了自主货物运输船的构造以及船舶各系统的目标和功能要求,其中就包括船舶自主靠离泊这一操作场景,规定了其场景感知等相关技术要求。感知技术是保证船舶自主系统的核心功能模块,是自主靠泊的前提和决策控制的重要依据。本文以船舶自主靠泊感知算法为核心问题展开研究。

船舶领域常用的感知设备有摄像头、雷达和激光雷达等。摄像头具有特征稠密、颜色信息丰富等优点,但难以获得空间信息。雷达和激光雷达能够精准地获取距离信息,但存在数据稀疏,特征不足等缺陷。近年来的研究基本可以分为基于点云的探测技术[2],基于图像的检测技术[3]和基于多传感器数据的检测技术[4],这些方法大多通过人工定义目标特征,泛化能力和精度都比较差。随着人工智能的发展,深度学习技术逐步应用在无人船感知算法中,以图像检测为例,如文献[5]将深度网络Fast-RCNN应用在海上舰船目标检测中,检测的准确率和速度都有一定的提升。但是目前基于深度学习的多传感器融合技术在船舶领域还未被实现与应用,而国内外这方面的技术已经在其他领域[6]取得不错成果。

本文根据《指南》对船舶靠泊探测范围和测量精度的要求,选择摄像头和激光雷达作为船舶自主靠泊的感知设备,设计并实现了基于深度学习的三维感知算法,使用卷积神经网络提取点云与图像的特征,利用空间连续卷积网络将两者特征进行深度融合,并在融合两者优势的特征图上检测三维目标。然后搭建了一个基于虚拟物理引擎的船舶靠泊仿真系统,实现以低成本创建船舶靠泊场景数据集。最后构建基于GNC框架的自主靠泊系统,进行靠泊仿真试验,对算法性能进行验证。

1 感知算法设计与实现

1.1 感知算法架构

本文采用摄像头和激光雷达作为靠泊感知设备,构建基于深度学习的三维感知算法,框架如图1所示。算法由3个核心网络组成,用于特征提取的卷积神经网络,用于特征融合的空间连续卷积网络和用于目标识别与定位的检测生成网络。首先对点云进行预处理,生成卷积神经网络能处理的数据格式。卷积神经网络将处理后的点云或图像作为输入,输出高语义的特征图。空间连续卷积网络将输出的图像特征融入点云卷积神经网络的多层特征图中。检测生成网络可以预测检测框的类别和回归检测框的边界。由于网络比较复杂,若单单靠三维检测流的损失函数进行模型训练,图像卷积神经网络经过过长的反向传播链,参数已经难以优化。为此,本文额外增加了以图像为主的二维检测生成网络,通过二维检测和三维检测的联合训练,辅助模型参数更新,提高三维检测的精度。

图1 感知算法架构Fig.1 Perception algorithm framework

1.2 点云数据预处理

点云数据处理是对不规则且无序的点云进行规整化处理,尽可能保留靠泊场景的空间信息,将点云转换成卷积神经网络能使用的数据形式,降低了数据的空间复杂度,并加快计算效率。本文根据鸟瞰图处理法(BEV)[7],按0.1m的分辨率划分点云的探测空间,将点云的高度和强度信息作为特征通道,生成点云映射到水平面上的多特征通道网格图。若存在扫描点落在某网格单元的某高度空间范围内,则该网格单元在该高度的特征值记为1,反之为0。网格单元的强度特征值为该位置竖直方向上的所有扫描点的强度平均值。

1.3 基于卷积神经网络的特征提取

卷积神经网络(CNN)是深度学习特征提取常用的方法,其具有表征学习的能力,利用卷积、池化等操作不断提取和学习高层次的特征。本文选择残差网络[8]作为点云和图像特征提取的基础,并在此基础上进行优化,结构如图2所示。残差网络是一种易于训练的卷积神经网络,由多个残差块组成。由于靠泊场景存在较多目标与本船距离较远的情况,后续算法很难从残差网络输出的低分辨率特征图中提取丰富的信息。因此,本文结合残差的思想在网络尾部新增上采样操作,增大输出特征图分辨率,并使用网络中间的高分辨率特征图恢复细节特征,用于后续特征融合和目标检测使用。

图2 残差网络结构Fig.2 Resnet structure

1.4 基于空间连续卷积网络的特征融合

为了利用点云和图像各自的优势,需要将两者的特征图进行深度融合,以提高目标检测识别和定位的精度。本文基于空间信息和多层感知器(M LP),提出了一种改进的空间连续卷积网络[9],将图像卷积神经网络提取的特征数据和点云空间信息,融入点云卷积神经网络的多层特征图中,构建更加稠密的点云特征图,如图3所示。若要计算点云特征图中某网格单元(方块1)待融合的特征,首先基于最邻近算法找到与该网格单元距离最近的若干扫描点(灰黑色圆点),根据感知设备的空间几何模型将这些扫描点映射到图像的像素空间中,利用插值法找到对应的图像特征(方块2),最后将这些图像特征和扫描点距离该网格单元中心的三维偏移量拼接在一起,使用多层感知器计算出该网格单元待融合的特征,最终与原始特征相加完成特征融合。

1.5 基于检测生成网络的目标识别与定位

图3 空间连续卷积原理图Fig.3 Spatial continuous convolution schematic

目标识别与定位是自主靠泊感知算法最终的结果输出。本文提出一种基于全卷积的检测生成网络,使用卷积操作取代普通检测网络的全连接层,直接预测靠泊场景中各类目标的类别和回归目标的边界。二维与三维的检测生成算法原理和步骤基本一致,文中以三维为例。该方法通过权值共享的方式重复利用参数,使检测生成网络更加高效。检测生成网络根据功能分为识别模块和定位模块。识别模块能预测特征图中每个网格单元可能存在的三维检测框的各类别置信度,将概率最高的类别设为该检测框的类别,其中背景也视为一种特殊的类别。定位模块对三维检测框的边界进行回归,得到能够准确的三维检测框。对于边框回归值,选择简化的中心点编码,只需6个参数就可以确定三维检测框的唯一位置,如图4所示。相比八角编码,需要学习的参数量更少,更容易训练。在模型训练时,计算检测生成网络输出的结果与真实标签的偏差,作为损失函数指导整个感知网络的优化,寻找参数最优解。其中检测框分类损失函数Lcls如式(1),回归边界的损失函数Lreg如式(2)和式(3),p与t分别为某网格单元对应的预测值与真实值,c为物体类别,i为边界值。

图4 中心点编码原理图Fig.4 Center point coding schematic

2 船舶靠泊仿真系统

2.1 仿真系统架构

为低成本获取模型训练数据集以及验证算法在自主靠泊场景中的效果,本文将基于ROS和Gazebo建立自主靠泊仿真系统,模拟靠泊场景,框架如图5所示。ROS是斯坦福大学人工智能实验室主导开发的分布式机器人软件框架,Gazebo是一个能够与ROS完美兼容的仿真平台。本文设计与实现了基于Gazebo多种物理引擎的靠泊仿真场景,定义光线环境,导入三维建模软件设计的湖泊、码头标志物等模型,还原真实靠泊环境。基于FOSSEN[10]提出的船舶控制方程,构建无人船六自由度仿真模型,赋予无人船运动学和动力学性能,结合激光雷达、摄像头、GPS、IMU等多种仿真传感器,赋予无人船自由航行和环境感知等能力,其中考虑到靠泊的具体情况,将摄像头布置在无人船的一侧。此外,将自主靠泊等算法模块包装成ROS节点,在仿真系统中运行,并利用RVIZ工具实现数据可视化。

图5 仿真系统架构Fig.5 Simulation system structure

2.2 靠泊场景数据采集与训练

目前国内外还没有可以应用在真实航运或靠泊场景中的公开多传感器数据集,故本文基于仿真系统创建靠泊场景数据集,如表1所示。在靠泊仿真系统中遥控无人船,多角度多距离观测靠泊目标,包括码头标志物和被补给船,采集激光雷达、摄像头、GPS和IMU的传感器数据,同时记录多种靠泊目标的姿态和位置信息。通过坐标变换,计算靠泊目标与无人船的相对位置关系,结合靠泊目标的主尺度数据,获得二维和三维边界框,作为数据集的真实标签(G round True),并按常用的KITTI格式[11]记录。

表1 靠泊场景数据集Tab.1 Berthing scene dataset

以端到端的方式训练感知网络,使用小批量梯度下降法(MBGD),按序以0.01,0.001和0.0001的学习率,分别训练迭代80000,40000和40000次。在靠泊场景数据集的测试集上测试,准确率达到94.6%,检测效果较为优秀,基本满足靠泊仿真要求。本文的训练和测试过程均基于深度学习框架Pytorch,计算机的配置为Intel i5处理器、16 G内存和NVIDIA 1080ti显卡。

3 自主靠泊仿真结果

3.1 自主靠泊系统

根据“决策-观测-控制”逻辑完整构建自主靠泊系统架构,如图6所示。观测部分基于本文设计的三维感知算法,使用仿真传感器采集的点云和图像数据,实现对靠泊目标的实时检测;决策与控制部分使用较成熟的靠泊决策和控制算法,根据指定的靠泊目标计算虚拟泊位区域或实时补给靠泊点坐标,使用ANN靠泊路径规划算法[12]确定靠泊路径,使用LOS循迹算法[13]计算目标航向航速控制量,输出控制指令到推进系统中,实现靠泊动作。

图6 自主靠泊系统架构Fig.6 Autonomous berthing system framework

3.2 仿真试验内容

为了验证感知算法的有效性,本文针对指定的靠泊目标,完成码头靠泊仿真试验和补给靠泊仿真试验。码头标志物保持静止,被补给船保持往返匀速直线运动。黑白色双体船作为本船,当系统检测到任务指定的靠泊目标时,执行自主靠泊任务。无人船通过感知算法完成对靠泊目标的探测工作,通过决策控制算法实现靠泊动作,其中感知算法运行频率为1 Hz,决策控制算法运行频率为5Hz。

3.3 仿真试验结果

图7 码头靠泊仿真试验结果Fig.7 Dock berthing simulation experiment result

码头靠泊仿真试验比对结果如图7所示,补给靠泊仿真试验比对结果如图8所示。结果图左侧是轨迹图,中间是x和y方向位移的时历曲线,右侧是首向和航速的时历曲线。分析码头靠泊仿真试验数据,码头标志物和探测结果基本一致,且无人船最终停靠在算法推算出来的虚拟泊位中,首向和航速符合靠泊要求,表明感知算法能成功识别码头标志物并给出精确的坐标,且较为成功地完成码头靠泊动作。分析补给靠泊仿真试验数据,被补给船和探测结果基本一致,无人船最终与目标保持2m距离平行航行,稳定后的首向和航速基本一致,表明感知算法对被补给船的检测精度符合预期,且拥有良好的补给靠泊效果。但是感知算法在部分时间还存在一定的误差,其原因是感知算法运行频率较低,传感器数据没有根据时间戳完全匹配,这种误差在无人船做回转运动时会被放大。

图8 补给靠泊仿真试验结果Fig.8 Supply berthing simulation experiment result

4 结语

本文针对船舶自主靠泊场景,构建基于深度学习的三维感知系统,通过卷积神经网络和空间连续卷积网络对点云与图像进行特征提取和特征融合,通过检测生成网络生成三维检测框的类别和边界,实现对靠泊目标的识别与定位。通过自建船舶仿真系统,创建靠泊场景数据集,完成自主靠泊感知网络的训练,并测试达到预期的检测精度。最后结合成熟的靠泊决策和控制算法,构建了基于GNC的自主靠泊系统,在仿真系统中完成自主靠泊试验,验证了算法的有效性,为实船自主靠泊应用提供了一种新的研究思路。但是本文设计的三维感知算法在运行速率方面仍有较大提升空间,有待未来进一步研究。

猜你喜欢
卷积船舶神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
《船舶》2022 年度征订启事
船舶(2021年4期)2021-09-07 17:32:22
船舶!请加速
神经网络抑制无线通信干扰探究
电子制作(2019年19期)2019-11-23 08:42:00
BOG压缩机在小型LNG船舶上的应用
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
船舶压载水管理系统
中国船检(2017年3期)2017-05-18 11:33:09
基于神经网络的拉矫机控制模型建立
重型机械(2016年1期)2016-03-01 03:42:04
复数神经网络在基于WiFi的室内LBS应用