APP下载

基于MaskR-CNN的水面漂浮物识别方法研究

2021-12-09刘伟王源楠江山马天肖维

人民长江 2021年11期
关键词:深度学习

刘伟 王源楠 江山 马天 肖维 

摘要:为及时发现并处理水面漂浮物,提高河湖监管水平,提出了一种基于Mask R-CNN模型的水面漂浮物识别方法。设计了一套漂浮物标签分类规则,建立起河湖领域真实数据样本集,然后构建以抓图服务、AI分析和预警平台为核心模块的水面漂浮物识别方案。对比研究了基于Mask R-CNN模型与基于HOG特征的漂浮物识别方法,并采用不同特征提取网络进行试验。结果表明:所提出的方法显著优于传统的HOG特征方法,平均准确率提高16%,平均召回率提高13.8%;且基于ResNet的方法对于不规则漂浮物的识别能力更强。新方法成功应用于河湖监管系统,对常见目标的识别准确率达90%以上。

关键词:水面漂浮物识别; Mask R-CNN; 深度学习; ResNet

中图法分类号: TP391

文献标志码: A

DOI:10.16232/j.cnki.1001-4179.2021.11.037

0引 言

随着社会经济的发展,人们的生活越来越便捷,但环境保护意识还相对较弱。水环境作为人类赖以生存的重要保障也遭到破坏,突出表现在水面垃圾等漂浮物成为屡见不鲜的现象。水面漂浮物不仅影响美观,更导致水污染、鱼类死亡等各类问题,相关管理部门对其也越来越重视,及时发现并处理水面的垃圾漂浮物成为一项任务。依靠人工巡查来发现漂浮物的效率极低,迫切需要智能技术及时发现并预警。此外,随着“金山银山就是绿水青山”论断的提出,政府部门也逐步提高了对水环境治理的认识,水利部在智慧水利总体方案中也提出了利用智能视频分析技术发现和识别水面漂浮物的技术路线。

在视频监控方面,随着海康、大华等国内厂商持续加大研发,视频监控技术取得了长足的发展。视频摄像头的分辨率可以达到500万像素(4K标准),云台控制、视频传输、视频集成的技术也十分成熟,价格较为亲民。目前水利及相关行业在河道、湖泊、水库、渠道等附近已经建设了大量的摄像头,为分析水面垃圾漂浮提供了数据支撑。另外,深度学习算法给目标检测技术带来了划时代的进步,相对于传统的背景差分、光流法等技术取得了显著的进步,给水面垃圾漂浮物识别提供了技术支撑。

1研究现状

传统目标检测算法一般基于图像特征和级联分类的算法,在运动目标检测方面,有背景差分法、帧差法、光流法等。Navneet等首次提出以计算和统计图像局部区域的梯度方向直方图作为图像特征,即HOG特征[1],此方法作为经典的人工设计特征而广泛运用于图像检测领域[2]。王敏等[3]针对静态水面的特性,提出了一种水上物体检测分割算法,以水面具有较低饱和度的特征对水面区域进行提取,在此基础上运用浮雕处理凸显水面区域的边缘灰度,利用区域一致性进行边缘检测分割出水面和水上物体,最后提取出目标物体的中心位置。但其不足也很明显,由于采用的图像相对简单,对于噪声污染以及水面存在波浪、阳光反射等问题时表现不稳定。

基于深度学习的检测算法对图像噪声表现出了较强的鲁棒性,主要分为两类:二阶段的目标检测算法和一阶段的目标检测算法。前者是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;后者则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。正是由于两种方法的差异,在性能上也有不同,前者在检测准确率和定位精度上占优,后者在算法速度上占优。二阶段算法的代表就是FasterR-CNN[4],MaskR-CNN[5],一阶段的算法的代表有SSD[6]、YOLOv1-v4[7-10]系列。

具体到水面漂浮物识别研究,国内外对此研究不多。国外因为人口密度低、水环境保护较好,这方面需求不多。国内有相关的一些研究,但总体偏少,主要原因是对水面漂浮物素材的采集十分不易,需到野外长期观察和收集,耗费人力物力和时间较多。

李宁等[11]以塑料袋和塑料瓶为素材,训练AlexNet网络结构,利用梯度下降法对网络进行了微调,并融合光照矫正法对待识别图像进行预处理,最终对水面漂浮物的识别准确率比基于HOG特征的方法提高了15%。李昌龙[12]以接入一个摄像机的图像为素材,基于R-CNN网络进行网络训练,采用直方图均衡化与对数变换对图像进行预处理,并提出了智能识别流程,在其测试集上达到了96%的准确率。邓磊等[13]为垃圾打捞设备提供视觉支持,采用了slic方法对图像进行预处理,然后提取边缘、纹理、灰度特征,利用BP神经网络进行训练,在实践中取得较好的识别效果。雷李义等[14]以自己拍摄的广西大学湖面垃圾照片为素材,提出了一个关于水面漂浮物的小型数据集,并分析了几种目标检测模型在数据集上的表现,Faster R-CNN,R-FCN和SSD。SSD目标检测模型有着更高的精确度,Faster R-CNN 模型则能给出更详细的预测,而同时拥有丰富结构特征和相当深度特征的模型对于困难目标有着更好的表现。Zhang等[15]基于Faster R-CNN将模型划分为两个模块,分别融合低层和高层特征,在13FPS的速度下,MAP达到83.7%。

综上所述,由于水面漂浮物的识别對准确率和定位精度要求较高,本文采用二阶段的算法。

2方法理论

2.1数据集

近几年随着深度学习的飞速发展,神经网络的层数不断增加。相较于传统模型,深度学习模型的表达能力越来越强,但同时也越容易牺牲对未知数据的泛化能力,而专注于解释或记忆训练数据,也就是出现所谓的过拟合现象。弥补这一缺陷的有效手段之一就是采用高质量、大规模的数据集进行训练。

本文从湖北省荆州市、武汉市江夏区、重庆市石柱县等真实监控场景中,抓拍河流、湖泊的照片,筛选出包含漂浮物的图片12 782张,整理成数据集。大型公开数据集ImageNet在组织1 400万图片时,采用27个大类,21 841个小类[16]。李宁等[11]整理数据集仅包含常见的塑料袋和塑料瓶两类,雷李义等[14]则主要对水面及岸边植物细分为四小类。结合通用数据集分类方法及水面漂浮物的常见类型,并兼顾后续新数据的不断并入,本文按两级标签对漂浮物类别进行分类,如表1所列。

本数据集共分成20大类,42小类,大类表示范围包含了小类。由于人、车、船等目标在河湖监控视频中经常出现,为了更有效地训练模型,把這些目标也纳入到漂浮物分类表中,并且进行单独分类。大类对应一级标签,小类对应二级标签。一级标签按照漂浮物对象划分,二级按照材质来区分,没有材质区分的一级,不细分二级,二级标签同一级标签。部分漂浮物由于数量太少,或者不典型,统一划分到“其他”中。随着漂浮服务数据量的积累,不属于以上分类的漂浮物,统一放到其他中,当“其他”类别中某一类漂浮物的数量达到100个,则考虑增加标签类别。如果能划分到表1中的一级标签下,则给该类别新增一个二级标签。如果无法划分到一级标签下,则新增一级标签,标签序号在“42”之后继续排序,这样不改变之前已有的标签序号,可以不用修改标注直接兼容新类别,一起参与训练,便于模型识别能力的不断扩充。

对于收集到的图片,统一进行白化、降噪,尽可能提高图片质量。本文使用开源的标注工具CVAT对数据集进行标注,标签采用“一级标签_二级标签“的组合形式,标注示例如图1所示。

标注策略采用“人工+模型”预标注方式,前期以人工标注为主,标注一定量的数据之后,开始训练模型,使模型具备一定的识别能力,然后转为以模型标注为主,人工标注为辅,数据集中的图片样本均先使用模型进行预标注,然后进行人工的确认。以此节约人工耗时,提高标注效率。

2.2网络模型

Mask R-CNN[5]是Facebook AI Research(FAIR)于2018年提出的,继承了之前所有R-CNN系列网络的优点,并在Faster R-CNN[4]的基础上加入了语义分割功能。相比传统网络VGG16[17],MaskR-CNN使用了ResNet[18]基础网络结构,使其能在更深的网络层里提取有效的特征,所以提升了识别不规则或者是传统网络难以拟合的物体特征的概率。并且因为语义分割功能提取的是ROI网络卷积层的结果,加以拓展得到物体轮廓,所以在计算效率上与FasterR-CNN保持几乎不变。网络流程大概可分为4步,如图2所示。

首先,图片经过预处理,将长或宽大于1 333像素的图片按比例缩放,并使之缩放结果可以整除26,以确保在网络结构中经过多次池化后保持整数。同时将小于分辨率的图片各个颜色信道不足之处用像素0填充。并通过颜色正规化处理,然后,放入训练网络进行运算。为了加快训练拟合速度,在不超过显存容量的前提下尽量加大每次放入模型的图片数量,将处理好的图片集依照预设好的批量(batchsize)打包导入显存。

图2显示卷积层(conv layers)为可变的基础网络结构。以常用的50层ResNet为例将图片集以[批量,通道(channel),长,宽]4维数组形式传入网络,先经过一个步长(Stride)为2,7*7*64的卷积层和一个步长为2,3*3的池化层,将信道维度从3扩张到64,并将像素长宽压缩到之前的1/4。再让其进行49组处理,每一组为一次卷积、池化、激活函数操作,将特征宽度提升到最大1 024。然后按照ResNet预设,提取其第10,22,40,49层特征值,经过上采样处理得到关联性更高的5层特征,最后通过3*3*256的卷积层消除上采样的混叠效应,得到最终特征图集,在图中显示为特征图(featuremaps)。

在区域生成网络(Region Proposal Network)中,要通过上文生成的特征图,并结合预设锚点(Anchor)得到目标物体的大概区域框,如图3所示。

创建预设锚点时,根据目标物体尺寸,在预设参数中设定预设框大小(32,64,128,256,512),每一个预设框有3个尺寸比例(2∶1,1∶1,1∶2),所以每个位置产生15个预设框。在区域生成网络阶段,首先特征图通过1个3*3的卷积和两个1*1的卷积,得到1个数量为2*15(长*宽)的特征图和一个数量为4*15(长*宽)的特征图。其中第一个特征图为每个前景预设框与背景预设框的概率,并按照前景与背景1∶4的比例保留背景数量,第二个特征图为每个预设框的左上顶点坐标和预设框的长宽边长度与真实框的差值。

运用上文中得到的前景框与在第一步得到的特征图裁剪出大小不等的小特征图,在感兴趣区域池化(Region of Interest pooling)中使用RoI Align,为每一个可能的目标物体输出14*14*256大小的特征图。裁剪之后,用2*2大小的最大池化来获得最终的7*7*256特征图。每个特征图通过线性全连接层输出目标种类和目标种类长度*4的边界框(Bounding-box)。在Faster R-CNN训练阶段,计算真实框坐标与输出边界框坐标的距离差,得出Lbox和真实类别与输出类别的概率差Lcls,以此反向传播改进网络。

2.3应用方案

本文构建以AI分析服务为核心,以数据为支撑,以预警平台为重点的分布式监控方案,核心业务逻辑流程图如图5所示。

(1) 抓图服务-数据。

抓图服务模块为整个流程提供数据来源。该模块基于开源的轻量级框架SpringBoot开发,自动采集图像数据,适配多家硬件厂商以及流媒体数据,动态配置频率、时段,拓展性强,具体如图6所示。

(2) 数据库-存储。

抓图服务获取的数据存储于分布式文件存储系统MongoDB,并通过GridFS来处理大文件的存储。直接将图片这种大文件存储于数据库十分有利于大量图片文件的复制、删除以及备份。同时由于其分片式存储机制,实现分布式存储的操作简单,拓展性强,安全性高。

(3) 中间件-通信。

存储模块、展示模块与AI模块的通信均采用消息中间件RabbitMQ进行,其在整个分析流程中存储、转发消息,可用性高、拓展性强。

(4) AI-分析。

AI分析模块以Mask R-CNN为核心算法模型,集成FackBook的开源框架Detectron 2,实现对数据的实时推理与分析。

(5) 预警平台-展示。

预警平台(WEB端)串接整个系统的各个模块,从用户在WEB端提交定期或即时的分析请求,请求进入到RabbitMQ消息队列,然后转发至AI分析模块。收到分析请求后,AI分析模块从存储模块提取MongoDB Grid FS文件进行智能分析,并将结果再次推送至Rabbit MQ消息队列,最终WEB端收到AI分析模块的分析结果,并进行展示和统计,同时即刻发送预警信息至相关工作人员的操作终端。

整个监控方案实现全流程自动化采集、存储、分析、展示和推送,极大地提高对监控区域的监管质量和效率。

3试 验

3.1试验环境及参数

本文的模型训练及测试均在Detectron 2平台上进行。Detectron 2是继Detectron目标检测平台之后,FAIR(Facebook AI Research)开发的下一代目标目标检测和分割研究的平台。它基于Pytorch框架,以Mask R-CNN基准测试作为起点,集成了最先进的目标检测算法。服务器安装Ubuntu 18.04系统,并配备了一张NVIDIA Tesla V100显卡。结合漂浮物目标特点,设置Mask RCNN模型预设参数如下:

综合考虑服务器性能,选择超参数为:batch size,8;iteration,49 999;learning rate,0.000 25。

3.2评估标准

本文评估标准采用目前主流的目标检测评价方法,即准确率和召回率。在计算这两项指标时,以IoU=0.5作为基本阈值。

(1) IoU。

以IoU作为衡量预测目标的位置偏差指标,当识别出的类别正确且IoU达到规定的阈值,则表明该识别结果正确。IoU的定义如下:

IoU=P∩GP∪G(5)

式中:P表示预测样本面积,G表示真实样本面积,P∩G表示预测样本与真实样本的重叠面积,P∪G表示预测样本与真实样本原始样本的并集面积。

传统目标检测以及深度学习目标检测算法在計算IoU时,均只能从box的层面进行计算,不可避免地引入背景误差,而Mask R-CNN是从像素层面计算,去除了计算IoU时的背景误差,尤其当水面漂浮物的形状极不规则时,对模型的识别效果评价更加准确。

(2) 准确率。

数据集中的水面漂浮物,一类是独立存在的单个漂浮物,比如塑料瓶、塑料袋、鱼等等,另一类是以水葫芦为代表的聚集成一团的漂浮物,为统一评价标准,把成团的水葫芦当作一个水葫芦对象来处理。针对预测结果,统计准确识别漂浮物的数量与识别出的漂浮物总数量之比,称为识别准确率,定义如下:

P=TPTP+FP(6)

式中:TP即True Positive,表示正样本被正确识别为正样本的数量,FP即False Positive,表示负样本被错误识别正样本的数量。TP与FP之和,表示所有被识别为正样本的数量,在本文中则表示识别出的漂浮物总数量。

(3) 召回率。

准确率是针对预测结果而言的性能指标,召回率则是针对原始样本而言,它表示的是原始样本中正样本被正确识别的比例,定义如下:

R=TPTP+FN(7)

式中:FN即False Negative,表示正样本被错误识别为负样本的数量,TP+FN即表示原始样本中所有的正样本数量,在本文中则表示漂浮物的总数量。

3.3试验结果及分析

由于漂浮物数量分布极不均匀,本文以水面漂浮物中常见的水葫芦、塑料袋、塑料瓶和鱼为例,从训练样本数量、特征提取模型等方面对Mask RCNN在水面漂浮物场景下的识别性能进行研究。训练集、验证集、测试集按照8∶1∶1的数量比例进行划分,在训练集和验证集上调试出最佳训练参数后,把所有训练集和验证集的样本共同作为训练集,以最佳参数进行训练,得到最终的模型,在测试集上测试模型性能。

3.3.1样本数量

水葫芦数据集一共有2 683个样本,预留10%的样本作为测试集,即268个,在剩余的样本中随机抽取不同数量的样本作为训练集和验证集。不同训练样本总量下,模型性能如图7所示。

从图7可以看出:随着样本数量的增加,Mask R-CNN对水葫芦的识别准确率和召回率显著增加,当水葫芦的数量达到2500左右时,模型的识别准确达到96.5%,召回率达到86.2%。但数量达到一定程度后,准确率和召回率的增张速度逐渐放缓。

3.3.2对比试验

分别以塑料瓶、鱼、塑料袋和水葫芦数据集为对象,对比测试基于HOG特征的传统目标检测方法与Mask RCNN模型的性能,如表2所列。所有输入图像在输入模型之前均只做缩放和归一化处理,不做其他任何预处理操作。

从试验结果中可以清晰地看到:Mask R-CNN模型在准确率和召回率上的均显著由于传统基于HOG特征的目标检测方法,其中平均准确率提高16.0%,平均召回率提高13.8%。

基于HOG这一类手工设计的特征模式进行目标检测的传统漂浮物识别方法由于对图像噪声极为敏感,而真实河湖领域的图像素材又复杂多样,不仅场景丰富,而且由于图像采集设备的不同,质量差别较大,因此性能不佳。Mask R-CNN基于神经网络的特征提取方法能从数据集中学习并找到目标更本质的特征,识别准确率和召回率显著高于传统方法。

3.3.3特征提取网络

相比于基础的特征提取网络VGG16,Mask R-CNN采用ResNet结构作为特征提取网络,试验对比研究了分别采用VGG16、ResNet50和ResNet101作为Mask R-CNN的特征提取网络时模型对塑料瓶、鱼、塑料袋与水葫芦的识别性能,如图8所示。

从图8可以看出:以ResNet 50为特征提取模型时,Mask R-CNN对4种常见的水面垃圾漂浮物的识别准确率显著高于VGG16,平均高出3.3%,而ResNet101性能更加优异,平均高出ResNet 50网络1.5%。由此可见,ResNet的特征提取能力显著强于VGG16,而且层数越多,提取能力越强。

详细对比4种类别的性能,可以发现不论是ResNet系列还是VGG16,对于塑料瓶和鱼的识别准确率均高于塑料袋和水葫芦。塑料瓶和鱼的形态特征相对固定,而塑料袋和水葫芦的形态更加不规则,这对网络拟合能力的挑战更大。

ResNet 50相比于VGG16对塑料瓶和鱼的准确率平均提升2个百分点,而对塑料袋和水葫芦的准确率提升明显,达到平均4.5%,ResNet 101则分别提升了3.1%和6.45%。不难发现,对于形态不规则的物体,ResNet的拟合效果更佳。

3.4应用效果

本文构建的深度学习预警方案已成功运用于某区河流监控系统。系统总计接入摄像头30个,预置位100个,覆盖区内的主要河流、湖泊和闸口,监控面积总计约25 km2,24 h不间断进行自动监控。设置模型识别置信度阈值t=0.5,IoU阈值i=0.5,即当模型识别目标的置信度和重叠率同时超过0.5时,才判定为识别出漂浮物。

2020年第三季度初的预警信息统计如图9所示,预警类型及数量分布如图10所示,预警类型仅列出数量较多的类型。

经清漂工作人员抽样验证,船、工程车和人这3类目标平均识别准确率高达95%,水葫芦、塑料袋以及树叶的平均识别准确率达到90%。实际应用性能虽略低于试验结果,但仍然能达到较高水平,显著地提高了清漂工作效率。

4结 论

基于深度学习的相关技术现阶段处于井喷发展状态,大量成熟的目标检测、分割算法纷纷落地于各行各业的实际应用场景。以Mask RCNN为代表的一些列优秀算法对于水环境污染防治发挥了重要作用。本文研究得到以下主要成果及结论。

(1) 构建了常见漂浮物类型分类体系,以目标对象为一级标签,以对象的材质作为二级分类依据,并且与人、车、船等常见目标一起参与分类和训练,实现了对河湖监控视频信息的系统拆分与组织,为监管信息化提供数据支持。

(2) 數据量的提升能有效提高深度学习模型Mask R-CNN的性能,以水葫芦为例,最终达到96.5%的识别准确率和86.2%的召回率。

(3) 基于Mask R-CNN的漂浮物识别方法在识别性能上显著优于基于HOG特征的传统漂浮物识别方法,平均准确率提高16%,平均召回率提高13.8%。

(4) 相比于VGG16网络,分别以ResNet 50和ResNet 101作为Mask R-CNN的特征提取网络时的识别准确率分别高出3.3%和4.8%,并且ResNet系列对于不规则的目标的拟合能力更强。

(5) 本文以Mask R-CNN为基础,构建一套包含视频接入、算法推理、前端展示、预警消息推送的全流程预警方案,为目前的河湖监管提供了有力技术支撑,有效提升了河湖监管的自动化和智能化水平。

参考文献:

[1]DALALN,TRIGGSB.Histograms of oriented gradients for human detection[C]∥Computer Vision and Pattern Recognition,2005(1):886-893.

[2]蔡强,刘亚奇,曹健,等.图像目标类别检测综述[J].计算机科学与探索,2015,9(3):257-265.

[3]王敏,周树道.静态水上物体检测分割算法[J].实验室研究与探索,2010,29(6):30-32.

[4]REN S Q,HE K M,ROSSG,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.

[5]HE K M,GKIOXARIG,Dollàr P,et al.Mask R-CNN[C]∥Computer vision and pattern recognition,2017:2961-2969.

[6]LIUW,ANGUELOVD,ERHAND,et al.SSD:Single shot multiBox detector[C]∥European Conference on Computer Vision,2016(2):21-37.

[7]REDMONJ,DIVVALAS,GIRSHICKR,et al.You only look once:unified,real-time object detection[C]∥Computer Vision and Pattern Recognition,2016(2):779-788.

[8]REDMON J,FARHADI A.YOLO9000:Better,Faster,Stronger[C]∥Computer Vision and Pattern Recognition,2017(2):7263-7271.

[9]REDMON J,FARHADI A.YOLOv3:An incremental improvement[J].arXiv,2018(4):1804.02767.

[10]BOCHKOVSKIYA,WANG CY,LIAOHY M.YOLOv4:Optimal speed and accuracy of object detection[J].arXiv,2020(3):2004.10934.

[11]李寧,王雨萱,徐守坤,等.基于AlexNet的小样本水面漂浮物识别[J].计算机应用与软件,2019,36(2):245-251.

[12]李昌龙.基于R-CNN训练法的水面漂浮物智能识别技术探讨[J].信息化技术研究与应用,2019(增1):18-21.

[13]邓磊,严立甫,张诗晗,等.基于机器视觉的水面漂浮物智能识别判定系统[J].电子测试,2019(17):133-134.

[14]雷李义,艾矫燕,彭婧,等.基于深度学习的水面漂浮物目标检测评估[J].环境与发展,2019(6):117-123.

[15]ZHANG L L,ZHANG Y,ZHANG Z,et al.Real-time water surface object detection based on improved Faster-RCNN[J].Sensors(Basel),2019(16):3523.

[16]DENG J,DONG W,SOCHERR,et al.ImageNet:A large-scale hierarchical image database[C]∥Computer Vision and Pattern Recognition,2009:248-255.

[17]SIMONYANK,ZISSERMANA.Verry deep convolutional networks for large-scale image recognition[C]∥International Conference on Learning Representations,2015.

[18]HE K M,ZHANGX Y,RENS P,et al.Deep Residual learning for image recognition[C]∥Computer Vision and Pattern Recognition,2016:770-778.

(编辑:郑 毅)

Abstract:In order to detect and deal with floating objects on water surface in time and improve the supervision level of rivers and lakes,we proposed a method for recognition of floating objects on water surface based on Mask R-CNN algorithm.First,we designed a set of floating object label classification rules,and established a real data sample set in the field of rivers and lakes.Then we built a water surface floating object identification scheme with image capture service,AI analysis and early warning service platform as the core modules.We compared the floating object recognition method base on the Mask R-CNN model and the HOG feature,and conducted experiments with different feature extraction networks.The results showed that the proposed method was significantly better than the traditional HOG method,the average accuracy increased 16%,the average recall rate increased 13.8%,and the ResNet-based method was more capable of identifying irregular floating objects.This method was successfully applied to the river and lake supervision system,and the recognition accuracy of common targets was over 90%.

Key words:recognition of floating objects;Mask R-CNN;deep learning;ResNet

猜你喜欢

深度学习
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现