基于深度学习的无人机影像夜光藻赤潮提取方法

2022-09-25 08:43李敬虎邢前国郑向阳李琳王丽丽
计算机应用 2022年9期
关键词:赤潮夜光语义

李敬虎,邢前国,郑向阳,李琳,王丽丽

(1.鲁东大学信息与电气工程学院,山东烟台 264025;2.中国科学院烟台海岸带研究所,山东烟台 264003;3.中国科学院大学,北京 100049)

0 引言

近年来,随着海洋资源的大力开发利用,海洋生态环境遭受破坏,赤潮事件在全球范围内呈现多发态势[1]。赤潮是有害藻华(Harmful Algal Blooms,HAB)的一种常见类型[2],呈红色或棕色,赤潮爆发期间会产生有毒物质,造成海洋生物死亡,对沿海地区的渔业和旅游业造成严重破坏[3],开展赤潮监测和研究工作具有重要现实意义。

针对赤潮对渔业和旅游业造成的恶劣影响,众多监测手段被提出用于赤潮监测工作[4]。早期依赖于实地取样和叶绿素a(Chlorophyll a,Chl-a)浓度实验分析的现场观测方法,资源密集且耗时,而通过固定点水质传感器监测赤潮,存在无法灵活改变监测地点和深度的问题,导致赤潮研究局限于相对较小的区域或较短的时间段[5]。卫星遥感作为一种重要观测手段,在目标识别、环境监测中发挥着重要作用[6]。目前,已经成功开发出众多利用卫星光学遥感数据进行赤潮监测的算法[7-9]。借助卫星遥感,赤潮监测工作不再受限于现场采样效率,降低了时间和经济成本[10]。

随着机器学习、深度神经网络不断优化改进,展示了其在遥感等领域的应用潜力[11-12],为赤潮信息提取提供了新的解决方法。Kim 等[13]利用U-Net 模型对地球静止海洋水色成像仪(Geostationary Ocean Color Imager,GOCI)数据进行分析,成功提取了朝鲜半岛南部沿海地区的赤潮;Lee 等[14]对2013 年朝鲜半岛南部沿海地区赤潮的Landsat-8 OLI(Operational Land Imager)数据进行分析,结合实地考察,提出了结合深度学习的赤潮监测方法。

受限于卫星遥感的固定时空分辨率,卫星遥感无法为赤潮监测提供更加精准和实时的技术支持。近年来,搭载高分辨率摄像机的无人机(Unmanned Aerial Vehicle,UAV)作为传统卫星遥感的重要补充,具有使用成本低、操作简单、获取影像速度快、地面分辨率高等传统遥感无法比拟的优势,在环境监测中得到越来越多的应用[15-16]。目前常见的无人机配备高分辨率的RGB(Red-Green-Blue)数码相机,若能用于赤潮高效的提取,会大幅提高赤潮的遥感监测水平。

基于以上讨论,本文以无人机采集夜光藻(Noctiluca scintillans)赤潮RGB 视频影像作为监测数据,通过在原始UNet++网络[17]基础上,修改主干网络为VGG-16(Visual Geometry Group-16)[18],引入空间dropout(spatial dropout)策略[19],同时使用ImageNet 数据集[20]预先训练VGG-16 网络进行迁移学习,提出了一种基于深度学习的无人机影像夜光藻赤潮提取方法,实现了对复杂环境中夜光藻赤潮自动化、高精度的提取。在自建的赤潮数据集Redtide-DB 上,通过与多种方法进行对比测试,探究所提方法的优势和不足。

1 数据采集和数据采样

本文无人机获取的夜光藻赤潮影像来自北黄海近岸海域,数据保存为视频格式,视频分辨率为1 280 像素×720 像素。数据获取所用的无人机型号为大疆“御”Mavic 2 专业版,搭载RGB 相机。夜光藻赤潮数据采集期间大气能见度一般(如图1 所示)。

图1 无人机采集的夜光藻赤潮样本数据Fig.1 Sample data of Noctiluca scintillans red tide taken by UAV

为便于夜光藻赤潮提取工作,首先按照固定频率,对视频格式的数据进行采样,最终形成2 691 张图片的样本库,部分数据如图1 所示。样本库中的2 511 张图片作为训练样本参与模型训练,视频最后30 s 采样所得的180 张图片作为测试样本,用于评估所提方法的夜光藻赤潮提取精度。

2 夜光藻赤潮提取与精度评估

针对目前卫星遥感中夜光藻赤潮识别精度低、实时性差的问题,以无人机采集的高分辨率夜光藻赤潮RGB 视频影像作为监测数据,提出一种基于深度学习的无人机影像夜光藻赤潮自动提取方法,由数据预处理、网络训练与测试、精度评估构成,提取流程如图2 所示。

图2 基于深度学习的无人机影像夜光藻赤潮提取流程Fig.2 Flow of Noctiluca scintillans red tide extraction from UAV images based on deep learning

2.1 数据预处理

为构建用于训练的数据集,首先对数据进行标注。夜光藻赤潮区域分为明显区域和不明显的区域,如图1 所示。夜光藻赤潮不明显区域由于边界模糊,人工标注容易受到主观因素的影响。为减小数据集标注导致的误差,首先在HSV(Hue-Saturation-Value)颜色空间选取H(Hue)波段阈值法对夜光藻赤潮进行提取;然后结合目视解译对提取结果进行修正;最终将数据标注为背景、夜光藻赤潮明显区域和非明显区域三部分。

训练过程中为减少图片尺寸过大带来的硬件压力,将图片切割为512×512 大小的子图;同时,为减少正负样本失衡对分类器性能的影响,去除背景像元占单样本像元总数90%以上的样本;最后对数据进行镜像、随机旋转、随机平移的数据扩增操作,如图3 所示。

图3 数据扩增Fig.3 Data augmentation

经过上述图片裁剪、正负样本均衡和数据扩增处理之后,得到有效样本数为6 560 的赤潮数据集Redtide-DB。Redtide-DB 数据集被随机分为两部分,其中80%作为训练集,20%作为验证集。最后,在对图片进行预测时,使用Overlap-tile 策略[21]保留图片边缘特征,以获得更准确的赤潮提取结果。

2.2 网络训练与测试

在原始UNet++网络基础上,通过修改主干网络为VGG-16 网络,以提高其特征提取能力,同时引入空间dropout 策略,将dropout 扩展到整个网络来防止过拟合。本文网络模型训练过程中,使用ImageNet 数据集预先训练VGG-16 网络进行迁移学习,提高收敛速度。

本文网络的拓扑结构如图4 所示,由编码器、解码器和密集跳跃连接组成,其中:Input、Conv、Max pool、Tr-conv、Softmax 分别代表输入层、卷积层、最大池化层、反卷积(Transposed convolution)层、分类层;每个圆圈代表一个特征提取模块,由两个3×3 的卷积层组成,其卷积操作之后,依次连接空间dropout 单元和修正线性单元(Rectified Linear Unit,ReLU)。每个特征提取模块节点下面的数字表示当前节点输出的通道数,节点内部En、Me、De 用来区别编码路径、密集跳跃连接、解码路径的单元。

图4 网络拓扑结构Fig.4 Network topology

在本文网络模型中,通过编码结构中降采样操作,可以不断增加感受野大小,从而避免较小感受野造成的分割边缘模糊问题;同时,在不断下采样过程中,可以得到不同程度的下采样分支,进行多尺度特征的融合,以提高分类精度。在解码结构中,对密集跳跃连接融合的特征图进行上采样,将特征图尺寸还原为原始图片大小,以便对图片中各个像素进行分类。在相同层之间通过跳跃连接(skip connection)的方式将特征向后传递,从而将编码特征与解码特征进行连接,减少特征提取过程中的信息损失;在不同层之间,特征自上至下深度聚合,缩小了编码特征与解码特征跳跃连接时的语义鸿沟(semantic gap),从而提升模型的特征学习能力。网络中每个模块的输出结果为:

式中:xi,j表示当前特征提取模块的输出,i表示网络模型的层序,从上至下依次取值为1~5,j表示同一层的模块序号,j=0表示为编码器特征提取模块;C(·)表示特征提取模块的卷积操作;M(·)表示最大池化操作;T(·)表示反卷积操作;[·]表示特征通道合并(concatenate)。

本文以PyTorch 作为深度学习开发框架,在硬件配置为Intel Core i5 CPU,NVIDIA Tesla T4 GPU,16 GB 显存,16 GB内存,操作系统为Ubuntu16.04,编程语言python 的环境上进行训练和测试。使用Lovasz 损失函数[22];损失函数优化算法采用自适应矩估计法(Adaptive moment estimation,Adam);基础学习率为0.000 1;批大小设为8;设置100 个epoch;空间dropout 参数为0.5。

2.3 精度评估

为验证本文所提出的夜光藻赤潮提取方法的可靠性,选用总体精度(Overall Accuracy,OA)、F1 评分(F1 score)和Kappa 作为评价指标,在验证集上进行夜光藻赤潮提取测试和精度评估,其中OA 代表所有正确分类的像元占总像元的比例。

为了探究所提方法与其他方法相比在提取夜光藻赤潮时的优势和不足,选取不同拍摄角度和高度的6 张典型测试图片对提取结果进行展示,其原图及目视解译的真实分割结果如图5 所示。

图5 用于细节展示的原始图片和真实分割结果Fig.5 Original images and actual segmentation results for detail display

3 实验及结果分析

3.1 机器学习方法夜光藻赤潮提取结果对比

为验证本文所提出的夜光藻赤潮提取方法的优越性,采用K近邻(K-Nearest Neighbors,KNN)[23]、支持向量 机(Support Vector Machine,SVM)[24]和随机森 林(Random Forest,RF)[25]这3 种机器学习方法进行对比测试。在实验过程中,KNN 方法参数为:采用KD 树(K-Dimensional tree)算法,K值设为5,使用欧几里得距离,距离的权重选择无;SVM方法参数为:核函数为径向基函数(Radial Basis Function,RBF),其中调整惩罚系数值为10,gamma 参数值为0.1;RF方法参数为:森林中树木的数量为30,最大分裂数为249。在验证集上,KNN、SVM、RF 和本文方法的夜光藻赤潮提取评价指标如表1 所示,6 张典型测试图片的分类细节如图6所示。

图6 不同机器学习方法的夜光藻赤潮提取结果对比Fig.6 Noctiluca scintillans red tide extraction results comparison of different machine learning methods

表1 机器学习方法的夜光藻赤潮提取评价指标对比Tab.1 Comparison of evaluation indexes of machine learning methods on Noctiluca scintillans red tide extraction

在机器学习方法中,SVM 方法的夜光藻赤潮提取评价指标(OA=88.69%,F1 评分=0.891 3,Kappa=0.842 7)高于其他2 种机器学习方法。但是由于建筑物区域和夜光藻赤潮区域的像元光谱信息相近,机器学习方法没有充分利用图像的上下文信息,导致其提取结果中出现较多的建筑物误识别。

与机器学习方法对比,本文提出的基于深度学习夜光藻赤潮提取方法具有明显的精度优势,其夜光藻赤潮提取的三个评价指标均高于机器学习方法。本文所提方法在准确识别夜光藻赤潮的同时,有效避免了建筑物、云雾、耀光等因素的干扰,具有较强的抗干扰能力,且计算简单,不用人工提取特征。

3.2 语义分割网络赤潮提取结果对比

为比较本文方法相比其他语义分割网络在赤潮提取任务上的性能差异,采用PSPNet(Pyramid Scene Parsing Network)[26]、SegNet[27]和U-Net[21]这3 种典型的语义分割网络进行对比测试。在实验过程中,3 种典型语义分割网络的超参数设置与本文方法保持一致。在验证集上,3 种语义分割网络(PSPNet、SegNet 和U-Net)及本文方法的夜光藻赤潮提取评价指标如表2 所示,6 张典型测试图片分类细节如图7所示。

表2 语义分割网络的夜光藻赤潮提取评价指标对比Tab.2 Comparison of evaluation indexes of semantic segmentation networks on Noctiluca scintillans red tide extraction

从表2 可以看出,评价指标的最高值(OA=94.63%;F1评分=0.955 2;Kappa=0.949 6)均为本文方法的提取结果。从图7 可以看出,3 种语义分割网络都可以有效识别建筑物等干扰信息,但是在赤潮非明显区域的信息提取上效果较差;本文方法相较于其他3 种语义分割网络,可以更好地保留夜光藻赤潮的细节信息,在细弱目标识别上具有较高精度。

图7 语义分割网络的夜光藻赤潮提取结果对比Fig.7 Noctiluca scintillans red tide extraction results comparison of semantic segmentation networks

3.3 泛化能力分析

在实际应用中,本文所提出夜光藻赤潮提取方法对新样本的泛化能力也是一项重要的评价指标,选用不同拍摄环境和不同拍摄设备获取的夜光藻赤潮影像进行测试,并验证精度。用于测试的图片尺寸为3 968×2 976,相机型号为HMAAL00。本文所提方法的夜光藻赤潮提取结果如图8 所示。

图8 泛化能力测试Fig.8 Test of generalization ability

分析结果可知,基于深度学习的无人机影像夜光藻赤潮提取方法的在新样本上同样具有较好的分类结果,经过定量精度评估其OA 为97.41%,F1 评分为0.965 9,Kappa 为0.938 2,说明其对新样本具有一定泛化能力,可以应用于不同拍摄设备和环境。

4 结语

无人机具有获取影像灵活和分辨率高的特点,使得快速对赤潮做出反应成为可能。为快速和准确地处理无人机获取的大量视频数据,本文通过融合UNet++模型、VGG16 主干网络、空间dropout 策略,提出了一种基于深度学习的无人机影像夜光藻赤潮提取方法。

研究表明,机器学习方法(KNN、SVM、RF)无法准确提取复杂环境中的夜光藻赤潮信息,并且训练数据需要人工提取特征,操作困难且效率低;PSPNet、SegNet 和U-Net 3 种典型的语义分割网络在赤潮图像的细弱目标识别上效果较差。本文所提出的夜光藻赤潮提取方法在对比实验中表现最优,实现了高精度提取,且自动化程度高,鲁棒性强,使业务化的夜光藻赤潮无人机监测具有较高的可行性。不同的赤潮具有不同的颜色,本文提出的模型能否应用于其他优势种的赤潮,我们将进一步开展研究。

猜你喜欢
赤潮夜光语义
高纬度上空的天体秀
夜光衣
夜光配电箱
汉语依凭介词的语义范畴
揭秘韩国流
征子与引征
揭秘韩国流
揭秘韩国流