HY-1/CZI卫星影像的海上运动船只自动检测方法
2023-05-17李鸿喆龚芳朱乾坤何贤强
李鸿喆, 龚芳, 朱乾坤, 何贤强
1. 上海交通大学 海洋学院, 上海 201100;2. 自然资源部第二海洋研究所 卫星海洋环境动力学国家重点实验室, 杭州 310012
1 引 言
中国海域辽阔,拥有近300 万km2的海洋国土面积,沿海港口众多,海上船舶的监测对于海上航行安全保障和海洋权益维护尤为重要。卫星遥感可实现对海上船舶的大面积、高频率监测,可为渔业、海上交通及遇难搜救等提供重要信息支持。目前,海上船舶遥感监测主要是利用高空间分辨率的光学卫星影像或合成孔径雷达(SAR)影像,对船舶及尾迹进行目标提取。Murphy(1986)最早提出在SAR 影像中使用Radon 变换以提取影像上的直线特征。Rey 等(1990)认为船舶尾迹在一定范围内可以当作直线形状处理,从而通过直线检测算法进行尾迹提取。自此之后,提出了多种基于SAR 影像的船舶尾迹提取算法,常见的方法大多基于Hough 变换(种劲松和朱敏慧,2004)、Radon变换(蒋定定 等,2004)和脊波变换(江源和李健伟,2015)等,其总体思路都是提取影像上的直线特征。上述方法适合于提取长线段,但容易受到噪声影响。江源和李健伟(2015)与张宇等(2003)分别使用了局部脊波变换和局部Radon变换提取线段特征,这两种方法都通过滑窗将提取范围局部化,以便提取更小的目标。王世庆和金亚秋(2001)将图像形态学处理和Radon变换结合,以适应不同水域。种劲松和朱敏慧(2004)提出基于归一化灰度的Hough变换,引入直线长度统计空间,使得不同长度线段对Hough变换空间都能产生均匀贡献量,提高了检测精度。Grosso和Guida(2020)基于Sentinel-1影像,对船只尾迹进行提取并估算出航行速度。Liu 等(2021)基于光学影像提取舰船尾迹,在Radon变换的基础上提出了一种新颖的方式剔除虚假的尾迹,在不同影像样本上的测试表明,精度与召回率均有显著改善。
近年来,随着计算机性能不断提升,神经网络等机器学习算法发展迅速,如遥感影像上的目标提取已经广泛使用卷积神经网络。Zou和Shi(2016)在高分辨率光学遥感影像上使用卷积神经网络对舰船目标进行提取。Kang和Kim(2019)使用Inception网络对SAR 影像进行目标检测,并进行运动参数估计。Kun 和Yan(2020)和Lin 等(2021)使用YOLOv4模型对SAR影像进行船只检测。
然而,现有的高空间分辨光学或SAR卫星影像重访周期长,难以实现海上船只的连续检测,使得其实际应用具有较大局限性。中国于2018年9月、2020 年6 月分别发射了HY-1C、HY-1D 海洋水色遥感卫星,其上均装载有中分辨率的海岸带成像仪(CZI)。CZI的星下点空间分辨率为50 m,幅宽达1000 km,单颗卫星CZI 就可实现每3 天进行重复观测。目前,HY-1C/CZI 和HY-1D/CZI 形成了上、下午组网观测,进一步缩短了重访观测周期。
相较于SAR影像,中分辨率光学影像受云覆盖影响大,且自身空间分辨率较低,这对于提取海面船舶尾迹目标带来挑战。因此,如能实现中分辨率CZI影像的船舶自动检测技术,将对海上舰船监测具有重要价值。针对该问题,本文基于卷积神经网络建立HY-1/CZI 影像的海上运动船只尾迹提取算法,并开展应用效果检验。
2 数据源
本研究使用了2021年1月至3月、云量相对较少的17幅HY-1C/CZI影像数据,覆盖范围见图1(a)。成像时间信息见表1。
图1 影像裁剪示意图Fig. 1 Sketch map of image cropping
表1 用于本研究的HY-1C/CZI影像信息Table 1 The information of the HY-1C/CZI data used in this study
CZI共有4个波段,分别为420—500 nm、520—600 nm、610—690 nm、760—890 nm。由于船只尾迹相比于背景海水,在近红外波段的反射率大幅度提高,因此本文选择420—500 nm、520—600 nm、760—890 nm分别作为B、G、R通道,这样组合除了有突出尾迹的效果,还可以利用植被在近红外高反射率的特点,区分陆地与海面。由于单幅CZI影像数据宽21800像素、长7600像素,本文将影像先进行分割,同时需要保证不会因为分割将同一目标割裂导致检测精度下降。本研究获取的船舶尾迹样本长度为8—25像素,因此,将影像分割成416×416大小的子影像,两个相邻子影像之间保证30 个像素的重叠,避免同一目标被割裂。如图1所示,遇到图像边缘时直接从边缘算起取416个像素。然后,使用MNDWI 指数(徐涵秋,2005)对原始影像进行陆地掩膜处理,阈值取为0.1。使用传统图像处理方法时,经常需要对影像进行增强(Liu 等,2021),但本文没有采取这种预处理。影像增强的目的是突出图像上的某些特征,但同时会损失信息(Maini 和Aggarwal,2010),神经网络特征提取能力足以分辨细微的特征,图像增强可能反而会损失部分特征信息。
3 基于卷积神经网络的尾迹目标提取
卷积神经网络通过对大量样本进行学习,能够提取目标不同尺度上的特征,且在有干扰的情况下依旧能表现良好。由于HY-1/CZI 是一种光学成像仪,存在云层干扰,因此本文基于卷积神经网络进行尾迹目标提取,以获得稳健的尾迹检测算法。本文采用YOLOv5模型,该模型的自适应锚定框设计使其在检测小目标时有出色表现,下文也设计了与其他方法的对比实验以验证其优势。
模型网络分为Backbone、Neck、Prediction 这3部分(图2)。其中CBL模块是常见的卷积神经网络模块,由一个卷积层+批正则化层(BN)+激活函数;SPP 结构则是用不同尺度池化层池化后并拼接,使输出的特征图包含不同尺度的特征;CONV是单层卷积;CSP 是带有残差结构的多层卷积模块。Backbone是主特征提取网络,可以从图像中提取丰富的特征,由多个CSP 与CBL 模块交替构成;Neck 层为瓶颈层,将不同深度的特征混合传至预测层进行预测。在本研究中,仅有船舶尾迹一个类别,因此我们设置待检测类别数为1,并将输入层尺寸设置为416像素以符合裁剪后的影像尺寸。
图2 YOLOv5 网络结构Fig. 2 Structure of YOLOv5 network
3.1 模型训练
人工标注579张裁剪后影像,将全部样本按照7∶3比例划分成训练集和测试集。样本标注上,仅标注未遮挡的带有尾迹的运动船只,这是由于CZI星下点分辨率为50 m,不带有尾迹特征的静止船只难以被分辨;被遮挡导致残缺的样本也未标注,前文提到尾迹在影像上长度8—25像素不等,被遮挡后目标过小。由于尾迹的影像与预训练模型的样本形态差距过大,对整体网络进行训练,这样做可能会减慢训练速度,但是可以得到对于尾迹提取适用性更强的模型。本研究训练环境为:Windows 10操作系统、Pytorch 框架、NVIDIA GTX1060 GPU,训练时间3.656 h。训练过程中超参数的设置如表2所示。
表2 训练过程的部分超参数Table 2 Hyperparameters in training process
在经过100轮训练后,网络的损失趋于平稳,不再出现波动下降(图3),在此时停止训练。另外,由于显存大小限制,批尺寸设置为8,无法继续增加。
图3 损失随训练次数的变化曲线Fig. 3 Loss varies with the number of epochs
3.2 模型结果
在目标检测中,常用精度(precision)和召回率(recall)指标来评估算法的性能,它们的计算方式如下:
式中,TP(True Positive)指被检测出且种类正确的数量,FP(False Positive)指被检出但是种类不正确的数量,FN(False Negative)指对于指定种类未被检出的数量。将不同置信度下对应的精度(Precision)与召回率(Recall)绘制成曲线的P-R曲线如图4所示,目标种类仅为一种,该曲线代表了全体类别也就是尾迹。
为了评估模型的整体精度,使用PASCALVOC(Everingham 等,2010)中的评价指标mAP(mean Average Precision)。mAP 即不同召回率下的平均精度,在P-R 曲线中表现为曲线的积分。在认为检测结果与真实值的交并比(即真实框与预测框的交集与并集面积比值)大于0.5 时检测正确,此时mAP为78.2%,即图4中mAP@0.5值为78.2%。使用本文数据在SSD(Liu 等,2016)、YOLOv4(Bochkovskiy 等,2020)与Faster-RCNN(Ren 等,2015) 下的精度比较如表3 所示,可以看出,YOLOv5相较其他模型拥有更高的精度。
图4 精度与召回率曲线Fig. 4 P-R curve
表3 不同神经网络模型精度比较Table 3 Comparison among different networks
本模型晴空影响下的检测效果如图5所示。模型中设置score(输出评估值)大于0.3即可判别为目标。深度学习的特性使得本模型在复杂背景下也能正确检测到尾迹,例如存在云干扰的区域(图6),在港口区域复杂的陆地背景干扰下,也可以较好地对尾迹目标进行检测。基于直线提取的传统算法在处理此类情况时则会因为干扰特征尺度大于目标尺度,会提取出错误直线特征。在云覆盖过于密集,以及陆地线纹理特征存在干扰的情况下,为避免模型的错检或漏检(图7),在预处理影像时需要使用陆地掩膜和云掩膜,将陆地区域与云覆盖剔除,提高检测正确率。
图5 晴空下尾迹检测效果Fig. 5 Wake detection sample under clear sky
图6 云干扰下船舶尾迹检测Fig. 6 Wake detection with cloud influence
图7 模型错检和漏检情况Fig. 7 Wrong and neglected cases
4 尾迹参数提取
常见船舶尾迹有4类:布拉格波、开尔文尾迹、湍流尾迹和内波尾迹。在HY-1/CZI 影像上可见的尾迹为开尔文尾迹和湍流尾迹。但由于CZI空间分辨率相对较低,开尔文臂亮度过低,大部分情况下仅湍流尾迹可见,因此本文使用湍流尾迹对船只进行定位和定向。
湍流尾迹在影像上的特征是一条有一定宽度的线段,尺寸较小且和尾迹前方船体连在一起形成明亮的逐渐变淡的尾迹。前述卷积神经网络提取已经排除了绝大部分的背景干扰,在每个检测出的检测框中,尾迹亮度都明显高于背景海水。进一步使用Ostu 二值化算法(Otsu,1979),将影像中的尾迹提取出来。Ostu 二值化算法将影像分为前景与背景,选择使得两类类间方差最大分割点作为二值化阈值。在提取直线特征时,本文使用概率Hough 变换(Probabilistic Hough Transform),(Matas 等,1999)可以提取线段,同时还具有低运算量、可指定线段长度和线间间距的优点。详细流程如下(图8):
图8 湍流尾迹提取流程图Fig. 8 Flow chart of turbulence ship wake detection
(1)使用Ostu 阈值化分割影像,得到尾迹的高亮范围。
(2)使用概率Hough变换提取线段特征,累计阈值设定为整体高亮像素数的10%,最小线段长度设置为段边框的40%,最大线间间距设置为10。
(3)选择最长的线段作为整体尾迹特征线段。
(4)判断方向,沿直线取影像上的像素值,亮度增加的方向为船只航向。
尾迹提取典型效果如图9所示,可以看到,尽管尾迹尺寸只有十几甚至几个像素大小,本算法都能较准确地提取出尾迹。针对较大范围的海域进行提取时,可以快速提取出大量船只,结果如图10所示。
图9 湍流尾迹提取效果Fig. 9 Turbulence ship wakes detection
图10 大范围海域船只自动检测效果Fig. 10 Ship detection results in large sea areas
本文中使用的HY-1/CZI影像产品级别为L1B,每个像素都带有地理位置信息。对于每幅影像数据,可以根据每个像素的位置索引得到对应的位置信息。由于不能确定船只重心所在位置,我们将尾迹的起始位置,也就是船尾作为定位结果。这样做可能会带来误差,但是考虑到尾迹长度只有十几个像素,重心至船尾约1—2 个像素,地面距离50—100 m,对于海面船只该定位误差影响可以忽略。湍流尾迹在确定起始点之后直接计算方位角即可。注意影像方位角与地理方位角定义的不同,转换式如下:
式中,Rg与Ri分别为地理方位角与图像方位角,Rd为小窗口横坐标方向与原影像地理北方向之间的夹角。利用662个尾迹图像,对本算法精度进行定量评估,并与基于Hough 变换的改进的CGHT 算法(赵春晖和栾世杰,2014)及基于边缘检测的梯度阈值法(张志新 等,2019)的提取结果进行对比,结果见表4 与图11。以影像中带AIS 数据记录船只的成像时航向记录为参考,定位误差3像素以内,方向与实际方向偏差±15°以内定义为正确检测,结果见表5。
表4 尾迹提取精度评估结果Table 4 Wake extraction accuracy evaluation
图11 不同算法对比结果Fig. 11 Results of different algorithms
表5 船只定位定向评估结果Table 5 Positioning and orientation evaluation
本算法尾迹检出率(Recall)超过85%,显著高于改进CGHT 方法与梯度阈值法在相同影像下的检测精度(表4)。算法检出率与Liu 等(2021)基于Landsat 8 陆地成像仪83.8% 的检测精度(precision)相当。考虑到Landsat 8 海岸带成像仪30 m 星下点分辨率高于HY-1/CZI 的50 m 分辨率,本文算法的检测精度较高。此外本算法方向检测精度与位置检测精度分别达到64.20%和77.71%(表4)。
本算法尾迹检测精度较高主要有两个方面的原因。一是相较于传统算法对大面积海域进行直线特征提取,卷积神经网络排除了绝大多数的背景干扰,并且将尾迹放在了窗口中心,使得尾迹和背景海水反差强烈。二是CZI分辨率相对较低,排除了大量噪声干扰。开尔文尾迹中的横波会截断湍流尾迹,而尖波会干扰开尔文臂的形成。根据Liu等(2021)的研究,横波波长约为38.2 m,假设需要3个像素来区分波峰和波谷,则至少需要分辨率为13 m。尖波与横波同步产生,且波长小于横波,因此在检测线性尾迹特征时,使用分辨率低于13 m 的影像就可以避免横波于尖波干扰。另外在HY-1/CZI 影像上的暗线尾迹不可见,可见尾迹均为明亮线状特征。因此,虽然HY-1/CZI 分辨率相对较低,但在抑制噪声等方面则有正面作用。
5 结 论
本文利用卷积神经网络进行特征学习和目标提取,建立了适用于HY-1/CZI 影像的海上运动船只尾迹提取算法,实现了中分辨率光学遥感影像的船只自动检测。本文算法可从中分辨率HY-1/CZI影像上直接检测得到海上运动船只的位置和运动信息,无需人工筛选,实现了尾迹自动化提取,克服了中分辨率光学影像分辨率不足的问题。在尾迹检测检测结果的基础上,本文进一步定量地对尾迹进行描述,得到船只的位置和运动方向信息。实验结果表明,使用尾迹对船只位置和方向进行提取可达到较高精度,检出率(Recall)达到86.1%
,船只运动方向的检测精度为64.20%,船只位置检测精度达77.71%。
本算法也可以应用于其他中等分辨率光学遥感影像上。算法目前在船只运动方向的检测精度略显不足,主要原因是较低的分辨率使得开尔文尾迹难以辨别,仅依靠尺度较小的湍流尾迹进行位置及方向检测可靠性较低,需要未来进一步提升位置与方向检测精度。
志 谢感谢国家卫星海洋应用中心提供HY-1C/CZI数据产品。感谢卫星海洋环境动力学国家重点实验室卫星地面站和海洋遥感数据在线分析平台(SatCO2)提供数据处理帮助。