APP下载

面向水面轮船行为认知的海缆安全监控技术

2022-11-18李凯鹏王云葛邵渊吴星笑

电子设计工程 2022年22期
关键词:海缆轮船形状

李凯鹏,王云葛,邵渊,吴星笑

(象山电力实业有限公司,浙江宁波 315700)

海底电缆,简称海缆,主要为远距离岛屿提供电力。海上渔船拖网或锚泊会破坏海缆。拖网时,渔网等渔具会刺入海床,拉断浅埋的海缆;锚泊时,锚容易将海缆钩住,并在起锚时钩断海缆,甚至会出现船员直接下水将海缆砍断等情况。为了保护海缆,相关部门派专门人员观测海域情况。一般地,对于海缆监控,将设置专门的相机来代替人工观察。视频监控需要人工判断轮船行为,没有实现真正意义上的智能监控。人工监控存在缺陷,即在长时间的工作后,人体会非常疲劳,此时容易忽略海缆出现的异常情况,而且人的主观意识也会漏掉对海面异常情况的监控。文中采用新方法对海面进行实时监控,该方法克服了人工监控的缺陷,降低事故发生的概率,保障海缆安全稳定运行。

1 相关技术

1.1 深度学习与卷积神经网络

深度学习是一种人工智能模型,用较深的人工神经网络学习样本数据的内在规律[1]。在计算机视觉领域,最常用的深度学习模型是卷积神经网络(Convolutional Neural Network,CNN)[2]。CNN 是一种基于感受野的网络,由卷积层、池化层和全连接层构成。卷积层的主要作用是提取特征。池化层的作用是保留主要特征、增大感受野、减少参数。全连接层主要对卷积层提取到的特征进行分类。

1.2 目标检测

目标检测的目的是找出画面中所有感兴趣的目标,确定目标的类别及其在画面中的位置[3]。工业上常用的目标检测算法基本都基于深度学习技术,主要有Faster R-CNN[4]和YOLO[5]。Faster R-CNN 精度高但速度慢,而YOLO 速度快但精度低。文中需要实时监控海面船只,因此YOLO 算法更适合。但是该项目的监控场面巨大,轮船航速相对于整个监控画面显得非常慢;Faster R-CNN 支持更高的分辨率,可防止小目标丢失,因此也可以选择使用Faster R-CNN。

Faster R-CNN 需要有一个强大的BackBone 负责特征提取,一般选用CNN 作为BackBone。目前在工业界最常用的CNN 是ResNet[6]、VGG[7]。ResNet 采用残差结构解决深度网络的退化问题,并使用BottleNeck 结构减少参数[8]。

1.3 多目标跟踪算法

多目标跟踪(Multi Object Tracking,MOT)是在一段视频中同时跟踪多个目标[9]。海面上不止有一个轮船目标,有些存在违规行为,有些正常行驶,因此需要分别对待每一个轮船目标,并分析它们的行为,故使用多目标跟踪算法。

2 模型设计

2.1 检测模型

由于监控场景巨大,因此远处轮船在画面中显得格外小,这对检测过程带来了巨大的困难。如何检测小目标一直都是CNN 的研究课题。在CNN 中存在着大量下采样,这些下采样增大了感受野,也同时降低了图像的分辨率,但下采样又是必须存在的。特征金字塔网络(Feature Pyramid Network,FPN)既可以保留下采样,又可以保留分辨率[10]。C2、C3、C4、C5 分别是ResNet50 第二、第三、第四、第五个Block的特征图。特征图边框粗细表示特征表达能力的强弱。如图1 所示,特征图M5 由C5 得到,M4 由M5 上采样和C4 融合得到,M3、M2 和M4 获取方式一致。

FPN 将强表达能力、低分辨率的深层特征图和弱表达能力、高分辨率的浅层特征图融合成强表达能力、高分辨率的特征图。文中项目监控区域较大,离相机较远的轮船在成像画面中非常小,因此在检测模块中加入FPN。

卷积核的目的是提取特征。普通卷积的尺寸是固定的方形尺寸(例如3×3、5×5)。同一层普通卷积核的感受野尺寸相同,但是特征图的不同位置对应不同尺寸或不同形状的特征,这些特征需要自动调整尺寸和形状的感受野。普通卷积对特征尺寸和形状的变化适应性差,泛化能力不强。

目前解决上述问题的方法是通过大量样本训练,以提高卷积核的泛化能力。因为在该项目的实际场景下,无法获取大量数据样本,所以考虑使用可变形卷积网络(Deformable Convolution Network,DCN)[11]。

方形卷积不是最好的形状,因此必须使网络自身学习形状,以适应不同的特征。实际上完成上述操作并不需要改变卷积核形状。卷积操作本质上是卷积采样点作用于对应特征图上的像素点。DCN 为每个卷积采样点加上一个偏移量以达到改变形状的效果。

一个常规的3×3 卷积有9 个采样点,其中(-1,-1)表示左下采样点,(-1,0)表示左采样点,依次类推。常规3×3 卷积的输出用式(1)表示:

其中,pn∈R表示位置,w(pn) 表示pn的权重,x(p0+pn)表示pn对应特征图中的像素值。

如果需要改变卷积核形状,本质上只需要改变采样的特征图上的像素位置即可。

式(2)中,与x(p0+pn)相比,x(p0+pn+Δpn)表示采样位置发生了改变,而w(pn)没有发生改变。

最终的结果是只需采样的像素位置发生偏移,就可以完成可变形卷积操作。

如图2 所示,用一个额外的卷积层来学习offset。DCN 对特征图的每个像素位置都生成一组偏移量。以3×3 卷积为例,需要生成3×3×2=18 个的offset,18表示该位置的9 个采样点对该像素x方向和y方向的偏移量。然后将特征图和offset 共同作为输入,采样点先发生偏移,再进行卷积。

DCN 可以适应特征的形状和尺寸,无需大量样本,也可以很好地学习特征,这对难以获取样本的场景相当友好。

2.2 跟踪模型

目前工业界最常用的跟踪算法是Simple Online and Realtime Tracking(SORT)[12]算法。SORT 算法由目标检测、卡尔曼滤波预测[13]和匈牙利算法匹配[14]三部分组成,其总体框架如图3 所示。使用目标检测获取目标位置,使用卡尔曼滤波(Kalman filter)预测并更新目标位置,使用匈牙利算法匹配预测位置和检测位置。

卡尔曼滤波是一种利用线性系统状态方程,通过系统输入、输出观测数据,并对系统状态进行最优估计的算法。卡尔曼滤波的预测过程如式(3)、(4)所示:

式(3)为状态预测公式,-1表示t-1 时刻的物体状态;是t-1 时刻的控制量;F为状态转移矩阵,表示根据t-1 时刻的状态推测t时刻的状态;B是控制矩阵,表示控制量如何作用于当前状态。是t时刻的物体状态。式(4)表示不确定性在各个时刻的传递关系,Pt-1是t-1 时刻的噪声,Q是预测模型本身的噪声。整个过程表示对物体运动状态的估计,并做了预测。这种预测是不准确的,因此需要根据观测到的数据对预测值进行更新。

卡尔曼滤波的更新过程如式(5)-(7)所示:

式中,Kt是卡尔曼系数;Zt是观测值;H为观测矩阵,表示估计值与观测值的转换。整个更新过程表示根据观测值来修正预测值,使预测值更加接近实际情况。

将n个卡尔曼预测边界框指派给n个目标检测边界框,使用匈牙利算法,匈牙利算法是一种快速使总匹配度最优的算法。由于每对边界框匹配程度不同,而匈牙利算法可以寻找匹配最优解。

式(8)中,Xij表示第i个检测框和第j个预测框的匹配结果,Cij表示第i个检测框和第j个预测框的匹配度系数矩阵。

2.3 行为分析

单应性原理表示两个平面之间的对应关系,包括刚体变换、仿射变换、投影变换。刚体变换只改变物体位置,包括平移、旋转,无法改变物体形状。仿射变换改变物体位置和形状,如长方形变成平行四边形。投影变换彻底改变物体位置和形状。文中项目监控海面,海面上的物体在成像中的形状发生了彻底的改变,因此使用投影变换。

式(9)中的矩阵为单应性矩阵,有8 个未知量,需要至少求出8 个已知量,即4 组坐标。(x',y')是海平面上的坐标,用经纬度表示;(x,y)是图像平面上的坐标。单应性矩阵就是它们之间的变换关系,已知海平面的坐标就可以求出图像平面坐标,反之亦成立。

纬度是地面上一点到地球球心的连线与赤道平面的夹角;经度是地面上一点与两极的连线所在平面与本初子午线所在平面的夹角。使用半正矢公式(式(10))计算1、2 两点的圆心夹角α,利用式(11)计算两点之间的实际距离d。

其中,N代表纬度,E代表经度,EARTHRADIUS代表地球半径。最后通过经典的速度公式求取此时轮船航行的时间。根据轮船锚泊或捕捞时航速较低的特征,设置航速阈值为2 海里/时,低于2 海里/时的航速判定为轮船违规。

3 实验

3.1 数据集

实验所使用的数据集是使用LabelImg 软件进行人工标注的698 张包含轮船的图像数据集,标注信息使用XML 保存。整个轮船数据集的格式与COCO数据集格式保持一致。随机抽取其中600 张图像作为训练集,剩下98 张作为测试集。为了提高模型的泛化能力,通常使用数据增强和迁移学习等方法。数据增强(Data Augmentation)是一种扩充数据集的方式[15]。在训练过程中,每个Epoch 会随机抽取训练集中50%的图像进行水平或垂直翻转。

3.2 检测实验

实验所使用的硬件平台是Intel Core i7-9700 CPU 和NVIDIA RTX 2080 GPU,其中GPU 提供CUDA通用并行计算架构,极大地提高了CNN 的训练和推理速度。部署平台是NVIDIA Jetson Xavier NX,ARM64 位架构的边缘计算设备,该设备提供高达21 TOPS 的加速计算能力。

优化器采用SGD 加Momentum 的组合。学习率衰减方式为分段常数衰减。一共训练了15个Epoch,初始学习率是0.01,当训练到第9个Epoch 时,学习率降为之前的1/10,即0.001。当训练到第13 个Epoch时,学习率降为初始学习率的1/100,即0.000 1。

模型训练的batch size设置为1,由于批量太小,所以禁用Batch Normalization[16]。图像尺寸统一缩放至800~1 333 pixel中的一个尺寸,即短边最短为800 pixel,长边最长为1 333 pixel,并保持原始宽高比不变。

迁移学习(Transfer Learning)[17-19]是将在某个领域中学到的知识应用到其他相关领域中的技术。将在COCO 上训练过的参数迁移到文中模型,再从C3层开始微调参数。

普通模型记作R_50_C4,FPN 记作R_50_FPN,DCN 记作R_50_FPN_DCN。由于ResNet50 的C5 层特征图太小,不适合目标检测任务,因此普通RCNN 一般使用C4 层的特征图。而在FPN 中,C2-C5层的特征图都会使用,使用控制变量法保证其他所有参数不变。

最后实验结果如图4 所示。以IoU=0.5∶0.95 为指标,三个模型在第10 个Epoch 时趋于稳定,此时可以认为模型已经得到充分训练。R_50_C4 的AP 值在0.45 左右;R_50_FPN 的AP 值在.48 左右;R_50_FPN_DCN 的AP 值在0.51 左右。可以看出,R_50_FPN_DCN 的检测效果优于R_50_FPN,R_50_FPN 优于R_50_C4。在图5 中,APsmall 是针对小目标的评价指标,可见R_50_FPN_DCN 的检测效果优于R_50_FPN,R_50_FPN 优于R_50_C4。三个模型的最高值对比如表1 所示,由表1 可知,R_50_FPN_DCN 各方面表现优异。

表1 最高值对比

3.3 测速实验

部署到边缘处理设备NVIDIA Jetson Xavier NX之后,解除航速阈值,此时测试海面轮船的速度。船舶自动识别系统(Automatic Identification System,AIS)可以显示每艘轮船2 min 或5 min 之前,甚至30 min以前的信息。船载AIS可能出现损坏或被用户直接关掉等情况,有些海域没有被AIS 基站覆盖,所以项目并没有使用AIS。但是,AIS上的一些信息仍可以作为参考,正常行驶的轮船航速一般是13~17海里/时。文中系统测得锚泊在岸边的轮船速度为0.08 m/s,航速基本为0;锚泊在海面上的工程船速度是0.6 m/s,这种超低航速或静止的轮船都会严重威胁到海缆的安全;正常行驶轮船的航速是6.1 m/s 或7.9 m/s,与一般轮船的正常航速相符,证明了测速系统的准确性。

4 结束语

一般情况下,轮船在有警告标志的海缆海域低速航行或停止时,基本上都是在捕鱼或锚泊,但是也存在有些轮船出现故障,不得已在相关海域低速漂泊或停止。针对此类情况,文中方法会将它当成违规行为一并处理。在后续的工作中,将增加3~4 个相机,对目前相机监控到的所有轮船进行360 度放大监控,利用图像识别算法识别轮船的锚和渔网是否存在违规行为。

猜你喜欢

海缆轮船形状
国网福建电力海缆抢修队开展海缆抢修实战演练
输电线路海底电缆保护方式探讨
码头和轮船
轮船
浅谈海上平台间海缆末端抽拉工艺
一起220kV海缆敷设故障抢修案例分析
火眼金睛
分一半
心的形状
海鸥为什么追着轮船飞