张政 王晋鑫 李磊
摘要:本文主要研究一种基于视觉目标捕捉的船舶航行态势感知系统。该系统旨在通过对船只上的视频信息进行分析处理,采用一种基于深度学习的目标检测算法,通过处理视频流,准确识别海上运动的目标船只,并获得其位置、速度和航向等关键信息。同时,利用机器学习算法预测目标船的航行轨迹,进一步提高系统的准确性和实用性,旨在满足用户在实际应用场景中的需求,以供参考。
关键词:态势感知;图像处理;目标识别
DOI:10.12433/zgkjtz.20233105
基金项目:工业和信息化部“船舶(航行)态势智能感知系统研制”项目
项目编号:MC-201920-X01
随着人工智能技术的不断发展和应用,无人船作为一种智能化、自主化的新型船舶正在迅速崛起。无人船相较于传统的船舶,具有无人值守、成本低廉、风险低等诸多优势,在海上巡航、监测、勘探等方面具有广阔的应用前景。本文旨在研究和应用基于视觉目标捕捉的船舶航行态势感知系统,为无人船的航行安全提供可靠的技术保障。
一、概述
目标检测是水面航行器的重要任务,因为它是航行驾驶员能识别和跟踪环境中的目标,对航行决策提供辅助建议,也可以用于与AIS目标、雷达ARPA目标融合后得到更精准的目标位置。
本文采用了一种将目标屏幕坐标转换为地球经纬度坐标的方法。该方法基于船舶的GPS定位信息和摄像机的拍摄角度等参数,可以实现对目标在地球表面上的准确定位。在转换过程中,需要进行多次坐标变换和计算,以实现对目标的精确定位。
本文训练了一个基于YOLOv5的深度神经网络用于船舶目标的识别,并将其与卡尔曼滤波相结合用于船舶目标的跟踪与预测。
二、方法
(一)空间对齐体系
1.基础信息
一般的摄像头会存在由于镜头光学系统的物理特性引起的径向畸变或切向畸变问题。针对摄像头畸变问题,张正友等人提出了一种基于棋盘格校正的畸变校正算法。该算法通过摄像头拍摄放置的已知形状和大小的棋盘格,并通过计算棋盘格角点与图像像素之间的映射关系,推导出畸变系数,并将其应用于整个图像中,从而纠正畸变图像。在具体实现上,该算法需要计算摄像头的内参矩阵和畸变系数,并通过对每个像素点进行畸变校正,将畸变图像纠正为无畸变的图像。
2.摄像头位姿
本文可通过获取本船静态信息与姿态信息的方式计算摄像头的瞬时位姿。
所需的本船静态信息数据包括船舶的长、宽、高、吃水深度(静态)、摄像头(组)的固定位置;同时,还要将实时获取的船身动作输入运动模型,包括纵摇、横摇等瞬时数据,计算当前状态下,摄像头所处三维位置和朝向,并进一步计算出摄像头画面的中心坐标,以保持视频数据与相融合的物标三维坐标的动态对齐。
本系统在不考虑遮挡的情况下将摄像头各个时刻的位置信息、高度信息和姿态信息作为输入,通过下列步骤,获得摄像头画面中识别出目标的屏幕坐标转换为经纬度坐标,并作为下一步目标融合的输入。
(1)计算目标点(地球表面点)距离画面中心的水平和垂直像素距离:
(1)
(2)计算画面中目标点(地球表面点)与摄像头位置的距离:
(2)
(3)计算画面中目标点(地球表面点)相对于摄像头位置的方位角:
(3)
(4)画面中目标点(地球表面点)的经纬度:
(4)
(5)
其中pointpixelx和pointpixely是画面中任意一点的像素坐标,cameralat是摄像头位置的纬度,cameralon是摄像头位置的经度,cameraheight是摄像头的高度(单位:米),camerabearing是摄像头的方位角(单位:弧度),earthradius是地球的半径(单位:米),viewangle是攝像头的视野角度(单位:弧度)。
(二)目标检测
为了在本系统中使用YOLOv5进行目标检测,可以采取以下步骤:
1.数据的预处理
使用COCO数据集中1578张作为本系统的训练集,自行标注数据1006张,共2584张已标注图片作为训练集。
2.模型的选择和配置
选择YOLOv5s作为模型版本,仅设置1类识别类,这是因为训练集标注单一且训练集较小,避免过拟合并提高训练速度。使用COCO预训练权重处理类似的目标检测任务。
3.模型的训练和评估
混淆矩阵如图1所示,显示了对于目标的识别结果,可以看到在船舶的识别中的准确率达85%,但在假正和真反上存在较大的误判率。损失函数收敛曲线如图2、图3所示,显示了算法在训练过程中损失函数的收敛情况,算法在迭代次数逐渐增加后,损失函数有逐渐下降趋势,表明算法在训练过程中逐渐收敛。
图1 混淆矩阵
图2 训练损失函数收敛曲线
图3 测试损失函数收敛曲线
(三)目标跟踪
本文使用尔曼滤波的方式对目标进行跟踪。具体而言,使用YOLOv5算法检测和识别视频帧中的船舶目标,并获取目标的边界框位置信息。将目标位置信息输入到卡尔曼滤波器中,估计目标的位置和速度,并预测下一帧中目标的位置。然后,使用YOLOv5算法检测和识别下一帧中的目标,并将检测到的目标位置信息输入到卡尔曼滤波器中,更新目标的位置和速度。通过不断重复这一过程,可以实现对目标的跟踪。实现步骤如下:
1.状态空间模型
假设目标状态由位置和速度两个维度组成,即
(6)
观测量是目标位置信息,即
(7)
因此,状态空间模型表示为:
(8)
(9)
其中,Fk是状态转移矩阵,表示上一时刻的状态如何转移到当前时刻的状态;Wk是过程噪声,表示状态转移过程中的不确定性;Hk是观测矩阵,表示当前状态如何映射到观测量;vk是观测噪声,表示观测过程中的不确定性。
2.预测
在预测阶段,根据上一时刻的状态和状态转移矩阵Fk,预测当前时刻的状态xk。同时,估计当前的状态协方差Pk,表示对当前状态的不确定性。
预测公式如下:
(10)
(11)
其中,是预测的状态,是预测的状态协方差,Qk是过程噪声协方差。
3.更新
在更新阶段,根据观测量Zk和Hk观测矩阵,对预测的状态进行校正,并计算当前状态的协方差Pk。
更新公式如下:
(12)
(13)
(14)
其中,Kk是卡尔曼增益,Rk是观测噪声协方差。
通过预测和更新两个步骤,可以实现对目标位置和速度的跟踪和预测,从而更加准确地进行目标识别和跟踪。
三、实验和评估
在对视频目标捕捉的试验评估中,选用航速较高的船舶运行中的AIS真实值数据和同时录制的视频数据,作为评估参考值和评估目标。
评估的指标是计算船舶的定位误差,即目标的实际位置和滤波估计位置之间的距离。选用的计算参数为平均绝对误差,计算公式如下:
(15)
其中,n为样本个数,x1i、y1i为真实坐标值,x2i、y2i为估计坐标值。即对每个样本,计算估计值与真实值之间的差,求出均值,得到平均绝对误差。
图4 视频识别目标跟踪绝对误差分布
本文使用50s的录制视频(视频画面中仅存在一个目标),以每秒所在视频帧识别的目标位置,与对应的AIS目标位置使用上述公式进行计算,得到的平均绝对误差为5.43m。
四、结语
本文提出基于视觉目标捕捉的船舶航行态势感知系统,并模拟船载摄像头的拍摄画面(船艏)进行测试,使用成熟的深度神经网络进行目标识别获得了近95%的捕捉成功率,并跟踪识别出的目标,获得近98%的目标跟踪率。
系统在实验评估过程中作为评估参考值的AIS数据进行比对的过程中,虽然精选了AIS数据的来源,但受限于AIS设备误差,参考值仍存在数据不准确的隐患。所以,关于目标捕获的评价体系的搭建仍存在不足,本文的方法可作為目标融合的信号源之一,在船舶导航领域为船舶识别和跟踪的准确性的提升给出了一个可行的方向,同时本系统在与AR设备z结合之后也可作为辅助瞭望设备。
参考文献:
[1]Kalman,R.E.(1960).A New Approach to Linear Filtering and Prediction Problems[J].Journal of Basic Engineering,82(01),35-45.
[2]Zhang,Z.(2000).A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,22(11),1330-1334.
[3]Lin,T.-Y.,Maire,M.,Belongie,S.,et al(2014).Microsoft COCO:Common Objects in Context[J].In European Conference on Computer Vision (740-755).Springer,Cham.