APP下载

基于Faster R-CNN的海域监管预警方法

2021-09-06文莉莉

吉林大学学报(信息科学版) 2021年4期
关键词:准确率样本海洋

文莉莉 孙 苗 邬 满

(1.广西壮族自治区药用植物园 信息产业办,南宁 530023;2.自然资源部 海洋信息技术创新中心,天津 300171;3.国家海洋信息中心 海洋信息化部,天津 300171;4.广西壮族自治区海洋研究院 信息科,南宁 530022;5.广西大学 电气工程学院,南宁 530002)

0 引 言

我国海域辽阔、岸线漫长、岛屿众多,拥有大陆岸线18 000 多千米,主张管辖海域面积约300 万平方千米[1]。随着我国经济社会的高速发展,沿海地区对海洋资源的开发力度持续加大,我国海洋管理面临着越来越严峻的挑战,但受开发理念、开发方式、监管困难及利益驱动等多方面的影响,我国沿海违规开发(偷填、超填、闲置)、随意围垦种养殖、破坏红树林等生态环境、盗采海砂、非法挖矿采石、垃圾偷排与倾倒等行为使海洋资源与生态环境受到严重破坏[2]。特别是2017 年以来,国家海洋督察组、环保督察组的轮番督察督办,更是彰显了国家对海洋资源与环境的重视。

海洋开发与海洋经济发展形势日趋复杂,海洋资源环境管理面临的压力越来越大。然而,目前大部分问题的发现仍然依靠群众举报、执法船只巡航、实地考察调查、人工对比遥感影像等高成本、低效率的方式,受天气影响大,且存在严重的滞后性,无法实现快速有效地对大范围海域的全天候动态监管。仅依靠这些传统的人工监管手段已难以满足需求,因此利用大数据、人工智能等新技术,结合日益丰富的高分辨率遥感数据,建立智能的大范围、全天候、动态监管体系势在必行[3-4]。

笔者依托海量影像、海洋基础数据、涉海规划数据,以深度学习技术为框架,在研究多规融合分析处理的基础上,构建海上目标与用海类型深度学习样本库;利用深度学习卷积神经网络对样本库进行训练,建立智能识别模型,用于海上目标的智能识别、非法用海占海与破坏生态环境行为的自动判断与预警。

1 基于Faster R-CNN的海上目标识别与用海行为分析

传统目标检测与识别的方法大多需要认真设定目标的特征,这种方法工作量大,特征设置困难[5]。目前,深度学习已经在多个领域取得突破。然而,将深度学习用于海上目标检测方面的研究和应用还比较少[6]。其中一个关键的问题是样本集建立困难,目前尚无公开可用的海上目标检测数据集。目前用于海上目标检测的方法大多为传统方法,如HOG(Histogram of Oriented Gradient)+SVM(Support Vector Machine)、DPM(Deform able Part Model)等,这些方法对光照、形态变化、遮挡等鲁棒性不强,并且检测精度和实时性方面远比不上近些年来越来越受关注的深度学习方法[7]。

2019 年,袁明新等[8]提出一种基于深度学习的海上舰船目标检测方法。该方法利用卷积神经网络、区域建议网络及Fast R-CNN(Regions with Convolutional Neural Networks features) 检测框架构建了舰船检测系统。该系统通过共享的卷积神经网络提取特征;通过区域建议网络生成候选区域;通过Fast R-CNN框架实现目标检测识别,从而实现端到端的舰船目标检测。实验结果表明,相比传统机器学习目标检测算法,该舰船检测系统在检测精度及检测速率上均有大幅提高,达到83.79%的准确率及0.05 s/帧的检测速率[9]。但该方法只尝试了对舰船一种目标的识别,并没有对多尺度多类型的其他海上目标进行识别(小目标、集群目标),也没有对识别后的目标进行监测和预警分析。

1.1 Faster R-CNN 目标检测

Faster R-CNN 是一种经典的目标检测算法,它用网络训练的方法实现目标提取,在一个网络中整合了特征抽取、proposal 提取、边框回归、分类等操作,极大地提高了目标检测、分类的效率和性能。传统的目标检测算法是用Selective Search 方法提取候选框,该方法十分耗时,难以满足高效、实时检测的应用需求。因此,Faster R-CNN 中引入了区域候选网络(RPN:Region Proposal Networks)的概念,专门用于提取目标候选框。RPN 方法检测速度快,相对耗时少,且易于整合到Fast R-CNN 算法中,故而Faster R-CNN=RPN+Fast R-CNN。目前该算法在目标检测系统中得到了广泛应用。

Faster R-CNN 主要包括6 个步骤:1) 通过卷积和池化操作,提取图像特征;2) 用RPN 提取目标候选区域;3) 经过后处理,确定更精确的位置;4) 建立候选区域与特征图的映射关系;5) 根据前面确定的精确位置,从特征图中抠出用于分类的目标数据,并池化成固定长度的数据;6) 利用proposal feature maps 计算proposal的类别,同时再次边框回归获得检测框最终的精确位置。其整体结构如图1 所示。

图1 Faster R-CNN 整体结构图Fig.1 Faster R-CNN overall structure

RPN的原理是将一个卷积、池化处理后的feature map 经sliding window 处理得到一个256 维特征向量,最后经两次全连接处理得到2k个分数和4k个坐标。其整体结构如图2 所示。RPN的作用是对处理的图片区域进行预处理,以减少后续计算量,主要包括两部分操作:1) RPN Classification。对feature map 进行区域分割,并从中分辨出前景和背景区域;2) RPN 边框回归。提取前景区域的大概位置坐标。RPN 训练时需要将两部分的loss 加起来。设anchor 预测为目标的概率为pi,是前景的标签值,正样本为1,负样本为0;Ncls是一个batch的大小,Nreg是anchor的总数,λ是两种loss的平衡比例,前景与背景的对数损失为Lcls(pi,),ti是Anchor[i]预测的Bounding Box的参数化坐标,是Anchor[i]的Ground Truth的Bounding Box的参数化坐标,R是Smooth L1 函数,Faster R-CNN的损失函数如下

图2 RPN 整体结构图Fig.2 RPN overall structure

1.2 基于遥感数据和Faster R-CNN的海上目标识别模型

由于海域面积辽阔,巡查执法成本昂贵且效率低下,导致非法用海占海、破坏海洋生态环境的行为屡禁不止;视频监控可以实现近海海域的监管,但是可控范围有限,且受天气影响较大;雷达监测不受天气影响,然而建设与维护成本十分昂贵,且同样监测范围有限。遥感具有大面积、快速、动态、低成本获取区域信息的优势,如何充分利用遥感手段实现大范围快速的海域监控管理,从大量的遥感图像中识别并跟踪海上目标已成为一个亟需解决的科学前沿问题。目前利用遥感图像深度学习识别海上目标及其用海占海行为,并进行执法取证的相关研究还未见报道。已有的遥感技术在海洋监测中的应用,目前国内外主要集中在海洋溢油监测、悬浮物、叶绿素、赤潮等要素上的定量遥感识别方面,然而,海量的遥感影像具有极大的信息量,它同时具有空间分辨和时间分辨的能力,但真正把有效信息提取和挖掘是极其复杂和困难的[10]。

遥感影像深度学习技术是指通过对大量的遥感影像进行深度学习,自学习出各类海上目标及用海占海活动的特征,过滤掉图像中无用的或干扰的信息,抽取图像源中关键的有用信息,准确地检测和识别海上目标或用海占海活动,从而为海洋执法管理工作的顺利推进提供直观且有价值的图像依据。

综上所述,由于海量遥感影像数据处理、图像内容挖掘所存在的技术挑战目前尚未有很好的、全面的解决方案,因此当前针对遥感影像的新特点和新变化,研发具有自主知识产权的、创新性的、先进的针对海量遥感影像的海上目标及活动识别当前是非常必要和紧迫的,对于公共资源管理、公共安全、国家安全等方面都将具有重要意义。

基于深度学习的遥感影像海上目标识别方法,其步骤如下:

1) 采集高分辨率遥感影像,运用分布式处理技术对海量遥感数据进行噪音、匀色、统一数据集成、噪音等预处理;

2) 在遥感影像上对海上目标、用海占海活动进行标注和打标签,记录目标区域在遥感影像中的位置坐标,并标注目标类型,形成海上目标及活动样本库;

3) 通过Faster R-CNN 设计一个深度学习模型,采用“迁移学习”方法用样本库对模型预训练,构建RPN 区域建议网络模型和Faster R-CNN 目标检测模型[11];

4) 采用交叉训练方法对RPN 区域建议网络和Faster R-CNN 目标检测网络进行训练,可将一个完整深度卷积网络的计算拆分到多个GPU 上进行合理调度并行地执行,通过模型并行和数据并行在两个数据/计算组织层次上加速训练,得到最终的海上目标及活动检测模型[12];

5) 使用目标检测模型对遥感图像海上目标及活动进行检测识别。

其中Faster R-CNN 直接利用RPN 网络计算候选框[13]。RPN 以一张任意大小的图片为输入,输出一批矩形区域提名,每个区域对应一个目标分数和位置信息。Faster R-CNN 中的RPN 结构如图3 所示。

图3 渔船、蚝排RPN 检测示意图Fig.3 RPN detection diagram of fishing boat and oyster bar

1.3 海上目标用海行为分析与预警

针对海域大规模、高强度开发利用的监管工作技术需求,利用人工智能及大数据技术,实现对海上目标、海域使用空间格局及其变化过程的遥感监测,对非法用海占海行为进行取证、监测及预警,构建“基础信息全覆盖、动态监管全海域、业务运行全行业、决策评价全方位”的立体动态监控体系。步骤如下:

1) 利用遥感影像,提取和建立海上目标(蚝排、养殖网箱、围填海、采砂船、采砂场等)样本库;

2) 用人工智能深度学习方法,训练海上目标识别模型;

3) 收集广西区域涉海规划数据,制定规划间冲突规则,研发多规分析地理信息平台;

4) 利用多规分析平台,提取规划间的重叠和交叉区域,对交叉区域进行切割细分,实现整个广西海域的无缝无叠“多规融合”图层;

5) 对海量的遥感影像,使用海上目标智能识别模型,提取海上目标和疑似用海行为,确定其用海类型,并与规划数据、海域使用权属数据进行叠加分析,判断是否为非法用海;

6) 对非法用海行为进行自动记录、存证,并生成数据包提供给管理部门和执法部门进行调查处理。

将识别结果、用海行为与该区域的信息综合体进行融合分析;对海洋灾害、资源盗采及生态破坏情况进行预警,对疑似非法用海占海行为进行取证、记录,提交海洋管理执法部门进行调查处理,并建立“基础信息全覆盖、动态监管全海域、业务运行全行业、决策评价全方位”的立体监控体系。渔船、蚝排RPN 检测示意图如图4 所示。

图4 渔船、蚝排RPN 检测示意图Fig.4 RPN detection diagram of fishing boat and oyster bar

2 算法实现与测试结果

2.1 样本准备

利用自然资源部下发的不同年份的卫星遥感影像、91 卫图助手影像及笔者制作的无人机影像,针对5 类(船舶、红树林、养殖池塘、蚝排、房屋建筑)重要海洋目标,建立样本图像库与测试图像库。为了扩充数据样本及防止过拟合,笔者对每类样本做了数据扩充处理,包括颜色抖动、角度旋转、随机裁剪和加噪声等处理。每类目标图像为4 000 张以上,各抽出200 张作为测试集,并随机抽出200 张作为交叉验证集,数据样本如图5、图6 所示。

图5 海上目标样本图Fig.5 Sample map of marine target

图6 数据扩充Fig.6 Data expansion

在深度学习训练前,需要将样本图片生成样本数据列表。每个类别的样本图片均单独存放在一个文件夹下。

2.2 定义训练及测试的mapper

笔者采用百度的paddlepaddle 深度学习框架,编程语言采用Python,IDE(Integrated Development Environment)采用Pycharm。train_mapper 函数的作用是对训练集的图像进行处理修剪和数组变换,返回img 数组和标签。由于数据集的像素维度各不相同,需要进一步处理对图像进行变换。笔者先对图像进行crop 修剪操作,输出img的维度为(3,400,400);然后将img 数组进行进行归一化处理,得到0~1之间的数值。核心处理代码如下。

其中sample 是一个Python 元组,里面保存图片的地址和标签。测试的mapper 实现方法与train_mapper类似。

2.3 算法模型设计与实现步骤

海上目标识别算法主要有以下几个步骤:1) 对输入图像数据进行特征提取,得到feature map,常用的特征提取网络模型有VGG、ResNet、IncRes V2 等;2) 利用RPN 检测算法,进行前景和背景分析,得到比较精确的目标候选区域ROIs;3) 将ROIs 映射到ROI pooling 对应的feature map 上,通过full connection和softmax 对region proposals 进行分类,同时进行bounding box regression 处理以获得更精确的rectangle box。其网络模型结构如图7 所示。

图7 目标检测网络模型结构图Fig.7 Structure diagram of target detection network model

笔者使用VGG16 和ResNet101 两个网络模型进行特征提取对比测试。VGG16 包含13 个卷积层、13 个relu 层、4 个池化层和3 个全连接层,卷积核大小为3×3,池化矩阵为2×2。ResNet101 模型有101 层(不含激活层和池化层),第1 个卷积层卷积核大小为7×7,后面经过33 个building block 处理,每个block含3 层:核大小分别为1×1、3×3、1×1,最后还有个全连接层,共101 层。可以看出,ResNet101 模型的计算量要远远大于VGG16 模型。

2.4 训练模型

模型训练主要分以下步骤:1) 获取分类器,用3.3 设计的网络进行分类计算;2) 获取损失函数和准确率,计算损失函数中所有元素的平均值及准确率[14];3) 定义优化方法,笔者采用Adam 方法减小误差,然后取局部最优化的平均损失(Adam 是一阶基于梯度下降的算法,该函数基于自适应低阶矩估计实现了自适应矩估计优化器);4) 批量取训练样本和测试样本进行训练,直至达到设定的训练轮数结束。最后得到训练的网络模型参数。

2.5 模型测试

随机抽取1 000 张未参与训练的测试样本对模型进行测试,验证模型的准确率,结果表明,笔者算法的平均识别准确率为83.7%。测试结果表明,RestNet101 模型的特征提取效果比VGG16 好,更适合复杂特征的提取。另外,笔者还针对5 类典型海上目标进行了分别测试,测试结果表明,船舶的识别准确率最高,超过92%,红树林的识别准确率最低,在70%左右,因为其特征不如船舶明显,容易被其他因素干扰。整体识别准确率受影像分辨率影像较大,尤其是红树林,分辨率低的影像里红树林纹理十分模糊。测试结果如表1、表2、图8 所示。

表1 对比测试结果Tab.1 Comparative test results

表2 分类测试结果Tab.2 The test results by category

图8 测试效果图Fig.8 Test effect map

最后根据目标的经纬度坐标,读取规划图层对应位置的图斑属性,将识别结果与规划属性进行符合性对比分析,判断其是否在规划允许的范围内进行作业,对非法用海活动进行预警并生成报告。测试效果如图9 所示。

图9 测试效果图Fig.9 Test effect map

由图9 可见,将海上目标识别结果与海洋规划属性进行关联分析,大多数情况下可对其用海行为进行合法性分析。但也存在特殊情况,如图9c 所示,由算法分析结果可得出,有3 艘船舶在农渔业区作业,可判为合法行为;但其实则在进行非法采砂行为。此类情况需结合采砂船及其周边环境的特征进行综合判断,如采砂船尾部轨迹上会有大量泥沙浑浊的痕迹、并且采砂船一般均为多艘船舶协同作业等。因此,若要进行复杂场景和用海行为的分析,需要在笔者算法的基础上,结合海洋管理经验知识,以及图像场景分析,进行整体算法稳定性提升,才能更好地满足海洋管理需求。

3 结 语

笔者基于Faster R-CNN 算法实现了对海上目标的检测识别及其用海行为的分析判断。经实验验证,RestNet101 模型的特征提取能力优于VGG16,更适合用于复杂海上目标的检测识别,针对文中5 类典型海上目标的识别准确率约为84.1%;此外,在此5 类海上目标中,船舶、红树林、养殖池塘、蚝排、房屋建筑的识别准确率分别为92.7%、70.9%、83.2%、89.3%、79.5%。其中红树林与房屋建筑由于其特征结构复杂,较依赖于高分辨率影像,所以其整体识别准确率偏低。实验表明此方法具有可行性与推广应用价值,且模型有进一步优化的空间。人工智能技术的使用,可以促进对大范围海域监管水平的大幅提升。

猜你喜欢

准确率样本海洋
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
规划·样本
人大专题询问之“方城样本”
爱的海洋
第一章 向海洋出发
随机微分方程的样本Lyapunov二次型估计
“官员写作”的四个样本