APP下载

水下图像目标检测数据集及检测算法综述

2022-11-08董金耐谢卓冉蔡立鹏

海洋技术学报 2022年5期
关键词:图像目标算法

董金耐,杨 淼,谢卓冉,蔡立鹏

(江苏海洋大学电子工程学院,江苏 连云港 222005)

近年来,水下目标检测技术的应用越来越广泛,例如在水下生态监测、水下管道检修、沉船捕捞等任务中。对于水下目标检测的方式主要有高清视像、侧扫声呐、合成孔径、多波束、前视声呐和磁梯度仪等方法[1]。基于光学图像的检测方式分辨率较高、灵活性好,在近距离的水下目标检测任务中具有显著优势。与自然环境下的目标检测不同,水下图像的成像与水体对不同波长光的吸收和衰减、目标距离和光源的光谱分布相关[2]。由于蓝色波长较短且传播距离长,因此,水下图像呈现蓝绿色。人工光源的使用可以增加水下可视距离,但同时也会导致图像上亮斑存在,而且使用人工光源会导致水下悬浮物散射更加严重。因此,水下图像存在以下特点:低对比度、非均匀光照、模糊、亮斑和各种复杂因素导致的高噪声[3]。且由于水下环境复杂,水下图像难以获取,水下数据集相对自然环境下的数据集少。水下生物目标小且分布密集,存在重叠遮挡现象。现有的目标检测算法在复杂的水下环境下的精确度有限[4],因此,水下目标检测任务面临诸多挑战,如何在复杂的水下环境中,精准快速地检测到目标是急需解决的问题。

近年来,国内外研究人员对基于光学图像的水下目标探测关键技术进行了大量研究,水下目标检测技术取得了快速发展,一些研究人员对检测中的关键技术进行了总结。YANG M 等[5]对一系列水下的图像增强及复原的算法进行了系统归纳,对水下场景的代表性方法进行了详细的客观评价和分析,HAN M 等[6]总结了水下图像智能去雾和色彩还原算法,LIU R 等[7]对一系列水下图像增强算法综述。林森等[8]总结了水下光学目标探测中的关键技术,但没有对数据集进行分析,目前仍缺少针对水下目标检测数据集分析,以及针对水下目标检测难点的算法总结。本文针对水下目标检测存在的难点问题对水下目标检测算法进行了总结;总结了现有的水下图像目标检测数据集,并对具有代表性的数据集进行分析;总结了近五年来国内外研究人员的在水下目标检测上的研究进展;应用Faster RCNN(Region Convolutional Neural Networks) 和YOLOV3(You Only Look Once)为基本型,结合数据增强、图像增强、高分辨率网络等可以提升目标检测性能的方法,比较了每种增强方法相较于基本型性能的提升;讨论了水下目标检测技术的进一步的发展方向。

1 水下目标检测数据集分析

对于目标检测算法尤其是基于深度学习的目标检测算法,需要大量的数据进行训练,但由于水下环境复杂,水下图像难以获取,所以目前没有较为完整的公开的大型水下图像目标检测数据集,现有的水下目标检测数据集存在目标单一、类别分组较少等一系列问题,本节总结了学者们在水下光学目标检测算法研究中公开采用的数据集,共包括10个数据集,对数据集的总结如表1 所示,并给出了下载链接。对其中具有代表性的3 个水下目标检测数据集进行详细分析。

表1 水下目标检测数据集总结表

1.1 水下目标检测数据集介绍

对于鱼类检测和物种分类,最常用的是Fish4Knowledge[9]数据集,该数据集包括数据集A[10]和数据集B[11]两部分,数据集A 包含23 种鱼类的27 370 张图像。数据集B 克罗地亚鱼类数据集包含12 种鱼类的794 幅图像,分辨率为1 280 × 960,包含带边界框的带注释的真值(Ground Truth,GT)和物种名称。数据集部分示例如图1 所示。

图1 Fish4Knowledge 数据集示例

Lifeclef 数据集包含Fishclef2014[12]数据集、Fishclef 2015[13]数据集、Seaclef2016[14]数据集3 个鱼类数据集,Fishclef2014 数据集数据来源是Fish4knowledge 水下数据集,Fishclef2014 数据集中训练集包含285 个视频,19 868 个鱼类注释,包含10 种鱼的类别。Fishclef2015 数据集训练数据集包括20个手动标注的视频,共15 种鱼的类别,共包含9 162 个标注,数据集部分示例如图2 所示。Seaclef 2016 数据集基于2014Fishclef 和2015Fishclef 数据集,在两个数据集的基础上增加了鲸鱼、海豚、海床、珊瑚等目标,训练集包含20 个低分辨率视频和20 000 多张样本图像。5 个视频的分辨率是640×480,其余15 个视频的分辨率是320×240。JÄGER J 等[15]对Seaclef2016 数据集进行了标注。

图2 Fishclef2015 数据集示例

Wild Fish Marker[16]数据集是在2015 年提出的,数据来源是美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,NOAA) 数据集,该数据集包括鱼类、无脊椎动物和海床的图像,训练集由929 个图像文件组成,其中包含1 005 个带相关标注的标记鱼。数据集部分示例如图3 所示。

图3 Wild Fish Marker 数据集示例

在海洋生物检测中不仅仅是对鱼类感兴趣,另一个关键领域是监测底栖生物,如扇贝和珊瑚。HabCam 数据集[17-18]包含250 万张带注释的图片,主要是扇贝,也有鱼类和海星。2018 年和2019 年“用于环境监测的海洋视频自动化分析”研讨会中发布了MOUSS(Modular Optical Underwater Survey System) 数据集、MBARI(Monterey Bay Aquarium Research Institute)水下数据集,这些数据集都包含目标的注释,注释用Bounding box 或者关键点标出。MOUSS 数据集包含159 副包含注释的鱼类图像,MBARI 水下数据集包含666 副鱼类图像。

Brackish 数据集[19]于丹麦北部的海峡中拍摄,包含鱼类、螃蟹和其他海洋生物,目标的位置用边界框进行注释,有14 518 个图像,包含6 个类别的28 518 个标注信息,数据集部分如图4 所示。

图4 Brackish 数据集部分示例

URPC2021 数据集[20]是真实海底环境下拍摄的,包含海胆、海参、海星、扇贝4 种生物,共有7 600张训练图像和2 400 张测试图像,数据集部分数据如图5 所示。检测水下目标数据集DUO[21]为URPC挑战赛多年数据集的整合,对其中重复数据进行删除,训练集并且对有误的标签进行了重新标注。

图5 URPC2021 数据集部分示例

1.2 水下目标检测数据集分析

数据集是训练及提升目标算法精度的关键,水下目标检测相较于自然环境中的目标检测难度更大。由于水下特殊的成像方式,水下图像质量的退化严重影响目标检测的性能。图6 是真实水下图像数据集示例,水下图像由于水质色彩颜色不同,且水下图像对比度较低,背景与目标界限不明显,难以区分,如图6(a)所示。水下目标分布较为密集,不同目标之间重叠情况严重,如图6(b)所示。同一种鱼,由于鱼的姿态发生变化,导致难以识别,如图6(c)所示。

图6 水下数据集特征示例

现有的水下数据集中,目标的尺寸大小不一,而且目标的样本数量不均衡,不同种类的水下目标数据量差别大,容易导致某一种类识别效果好,另一种识别效果特别差。如图7 所示,在URPC2021数据集中,海胆的数量占比48.3%,其他目标占比较少。Brackish 数据集中螃蟹、小鱼和海星的数量占比远远超过其他3 种。在2015Fishclef 数据集中,网纹宅泥鱼的数量比其他14 种数量多。数量的不均衡会导致模型对其中数量较多的种类训练效果好,其他数量少的样本效果差。

图7 水下数据集各目标数量占比饼状图

在MS COCO 挑战赛中,绝对尺寸大小的定义为:目标面积像素小于322时定义为小目标,大于322小于962时为中等目标,大于962时定义为大目标。我们对小目标尺寸的定义与COCO 数据集一致,对3 个数据集的目标面积统计如图8 所示,在Brackish 和2015Fishclef 数据集中都是小目标,在URPC2021 数据集中小目标占比达到7.9%,小目标的存在导致目标检测效果不佳。

图8 水下数据集各目标数量占比饼状图

2 光学图像的水下目标检测

2.1 评价目标检测算法的指标

评价目标检测算法的指标主要有交并比(Intersection over Union,IOU)、检测速度(Frame Per Second,FPS)、准确度(Precision)、召回率(Recall)、平均精确度均值(Mean Average Precision,MAP)[22]。交并比是指预测框与真值的交集与并集之比,目的是计算预测框和真实框偏离程度,预测框越接近于真实框,IOU 越接近于1。检测速度是指画面每秒处理帧数,FPS 是一个衡量算法检测速度的重要指标。准确度指的是识别为正确识别为正例的数量占所有被识别为正例的比例。在目标检测中MAP 是最直观的描述模型的性能的体现,MAP 值越高,表现为模型的精度越高。召回率也是评价目标检测性能的主要标准,召回率是指被正确预测为正例的数量占所有正例样本的比例,召回率越高,表明模型正确预测的正例越高。

2.2 基于传统目标检测的水下目标检测算法

从1998 年提出目标检测算法以来,产生了大量的基于手工设计特征的传统的目标检测算法。基于传统特征的水下目标检测与识别算法是手工设计目标特征,这些特征通常是低层图像特征描述符,对于特征明显的目标能够很好地识别。FATAN M等[23]利用Canny 边缘检测法和Hough 变换检测水下线缆,但计算量较大且无法提供直线的完整信息。SUSANTO T 等[24]使用颜色特征对水下目标进行检测,实验结果表明当照明条件不足或者过亮时,检测效果差。CHENG E 等[25]采用灰度共生矩阵提取水下模糊图像的纹理细节信息。虽然灰度共生矩阵能够很好地提取图像的纹理特征,但也存在计算量大、耗时较长的缺点。由于单一特征难以对目标进行完整描述,STRACHAN N J C 等[26]使用颜色和形状特征识别传送带上的鱼类。SPAMPINATO C 等[27]利用颜色特征和纹理特征进行检测。由于水下生物多样性,基于传统特征的目标检测算法没有针对性,而且需要人为设计目标特征,难以满足对复杂水下环境下检测的需求。

2.3 基于深度学习的水下目标检测算法

卷积神经网络发展于2012 年,随着图形处理器(Graphic Processing Unit,GPU)算力的提升,近年来逐渐成熟。由于深度学习的目标检测算法提取特征鲁棒性强,检测实时性好,相较于传统的目标检测算法精度和速度都有了较大的提升。基于深度学习的目标检测技术,在网络结构上可以分为一阶段框架和两阶段框架。两阶段框架的第一级网络用于候选区域提取,第二级网络对提取的候选区域进行分类和精确坐标回归,两阶段网络包括R-CNN[28]、Fast RCNN[29]、Faster RCNN[30]等。一阶段网络的方法摒弃了候选区域提取这个步骤,只用一级网络就完成了分类和回归两个任务,一阶段网络包括YOLO[31]、SSD(Single Shot MultiBox Detector)[32]等系列框架。LI X 等[33]将Fast RCNN[29]应用于水下,在Lifeclef 数据集上进行训练和测试,相对于先前的R-CNN[28]网络MAP 提升了11.2%,且检测速度超越了先前的R-CNN。之后LI X 等[34]又将Faster RCNN 应用于水下目标检测,性能超过Fast RCNN。ZHANG J 等[35]利用多尺度特征结合的SSD 算法对水下目标进行检测,同时引入了注意力机制,在URPC 数据集上训练和测试,使小目标的检测性能显著提升。SUNG M 等[36]将YOLO 应用于水下目标检测,并在NOAA 水下数据集上对该方法进行训练和测试,分类准确率为93%。CAI K 等[37]和YANG H等[38]将改进的YOLOV3 应用于水下目标检测中,进一步提高了目标检测精度和速度。CHEN L 等[39]将改进的YOLOV4 检测网络应用于水下,IOU 阈值大于0.5 的平均精确率AP50 相较于基础模型提升了0.11。

目前的水下目标检测算法主要针对3 个方面展开研究:①数据集数量少。②图像质量差导致识别效果差的问题。③水下目标遮挡、小尺寸等问题。研究人员提出的算法的总结在表2 中展示。

表2 基于深度学习水下目标检测算法总结

针对水下目标检测数据集的图像数量少的问题,LIU H 等[40]提出了水背景转换(Water Quality Transfer,WQT)的方法,原理是将一种目标转换到八种不同的背景下,增加了水下数据集的大小,且提升了目标检测算法在不同水下环境的检测性能。YEH C H 等[41]利用随机剪切裁剪的方式对水下图像进行数据增强,从一幅有目标的水下图像中提取出目标,对目标进行尺度、颜色调整,然后随机粘贴到新的水下背景中生成新的图像。CHEN L等[39]提出了e-mosaic 数据增强的方式,原理是对4 幅水下图像进行拼接生成新的训练图像,AP50 相较于未使用增强的模型提升了0.05。上述方法增加了数据集的图像的数量,解决了水下数据量少的问题。ZENG L 等[42]将遮挡网络与Faster RCNN 结合,检测网络与遮挡网络相互对抗,以获得更好的目标检测鲁棒性,在水下数据集上MAP 提升了0.04。

针对水下图像质量差的问题,CHEN W 等[43]对水下图像进行增强,采用了多种增强方法,对比度限制自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)、IAAEmboss、I AASharpen、Random Brightness Contrast,多种增强方法的使用相较于基本模型MAP 提升了0.3。YANG M 等[44]提出了一种新的水下图像恢复模型,以提高边缘细节的清晰度和输出图像的色彩丰富度,水下目标检测效果提升。

针对水下目标遮挡、小尺寸等特点,PAN T S等[45]提出了多尺度的目标检测算法M-ResNet,在预处理阶段,采用了生成对抗网络(Generative Adversarial Network,GAN)进行增强的方法,对检测网络选择3 个尺度特征图,并且在每个尺度中的每个网格设置3 种比例的anchor,实验结果表明在小目标检测的效果表现好,但是对于一些微小的及隐藏的目标检测效果一般。LIN W H 等[46]提出的ROIMIX方法模拟目标的重叠现象,利用RPN(Region Proposal Network) 网络从不同图片中生成建议框,将两个建议框按照比例进行融合,创建新的增强样本进行训练,该增强方法提高了目标检测网络对于重叠目标的检测性能。CHEN L 等[47]提出一个名为SWIPENet 神经网络,它充分利用了多个Hyper Feature Maps 来改善小物体检测。PENG F 等[48]提出了S-FPN(Shortcut Feature Pyramid Network),通过在传统的特征金字塔网络中加入一些基于残差学习的快捷连接路径,卷积网络的底层空间位置特征和上层语义特征可以相互补充,弥补了多次操作后丢失的信息,从而提高检测性能。

3 水下目标检测算法模型对比实验

本节基于Faster RCNN 两阶段和YOLOV3 单阶段目标检测网络,在URPC2021 数据集上进行训练和测试,对比了马赛克增强方法、图像增强方法、高分辨网络方法,比较了每种方法相较于基本型MAP的提升。本实验平台的操作系统为Ubuntu18.04、CUDA 11.0、CUDNN 8.0.3,硬件为Intel Core i7-11700 CPU (2.5 GHz)、显卡为Nvidia GeForce RTX 3080ti(12 GB 显存)、32 GB 内存。

3.1 训练过程

本实验采用的数据集为URPC2021 数据集,该数据集共包含7 600 幅带有标签的水下图像,共包含海胆、海参、海星和扇贝4 种目标。本实验按照8 ∶2 的比例随机将数据集进行划分,80%用作训练,20%用作测试。设置迭代次数为20 个epoch,初始学习率为0.001,分别在迭代10 次、15 次时下降学习率,评价指标为MAP(0.5 ∶0.05 ∶0.95) 和召回率AR。实验结果如表3 所示。

表3 水下目标检测算法实验结果对比

3.2 结果分析

本实验采用了单阶段目标检测网络YOLOV3 和双阶段目标检测网络Faster RCNN 两种网络模型,检测效果如图9 所示。Faster RCNN 直接用于检测时MAP 为0.429,单阶段目标检测网络YOLOV3 直接应用于检测时MAP 为0.399,双阶段目标检测网络由于存在候选特征提取部分,检测效果优于单阶段目标检测网络,但是检测速度低于单阶段目标检测网络。YOLOV3 为了检测小目标,在3 个不同尺寸的特征图上进行预测,YOLOV3 在小目标的检测效果APS 值相较于Faster RCNN 提高了0.011。本文采用的图像增强方法为色彩补偿、色彩校正和伽马校正,采用图像增强的Faster RCNN 算法MAP 相较于基础模型降低了0.004,采用图像增强的YOLOV3 算法MAP 相较于基础模型降低了0.023,分析其原因,首先在URPC 数据集训练图片中存在一定的标注噪声。在原始数据集中,由于背景与目标界限不明显,存在未标注、误标注的情况,如图10(a)红色框所示,在增强之后目标界限明显,目标检测网络检测出目标,但标注信息中不存在,如图10(c)所示。数据集标注有噪声,导致MAP 下降。其次考虑到图像增强可能会导致目标细节信息丢失,导致检测效果不佳。Faster RCNN 和高分辨率网络算法结合相较于基本模型提升了0.009,YOLOV3 结合高分辨率网络的算法相较于基本模型提升了0.004,同时提升了检测的召回率,提高了检测到的目标数量。高分辨率网络结合了多种尺度的特征图,能够较好地对多种尺度的目标进行特征提取,所以MAP 提升较为明显,尤其是小目标,Faster RCNN 结合高分辨网络的APS 提升了0.016,YOLOV3 结合高分辨网络的APS 也提升了0.016,达到了0.199,为几种算法中小目标检测效果最好的。在Faster RCNN 基础上增加mosaic 增强的方法,该数据增强方法是在YOLOV4 中提出来的,是将4 幅图像进行随机缩放、随机裁剪、随机排布的方式进行拼接。该方法对小目标检测有提升,但对于中等目标和大目标检测效果不佳。

图9 水下目标检测网络检测效果对比

图10 水下数据集噪声数据示例

4 结论与展望

水下目标检测技术对于海洋信息探索中具有重要的意义,受到越来越多学者的关注,通过对国内外水下目标检测算法的调研总结,虽然基于光学图像的水下目标探测关键技术取得了许多研究成果,但仍存在一些问题需要进一步探讨,可以从以下几个方面入手。

(1)生成大规模的水下数据集

自然环境下的目标检测算法发展迅速,一些在自然环境下的解决思路可以应用于水下环境中解决水下目标检测过程的问题。例如在解决数据集数量较少的问题时,传统的目标检测技术通常都需要大量的样本,并且需要大量的时间训练,促进了少样本学习的发展,研究人员开发出零样本学习(Zeroshot Learning)、一样本学习(One-shot Learning)、少样本学习(Few-shot Learning)[49-54],FAN Q 等[55]将少样本学习应用于自然环境中的目标检测过程中,结合注意力机制和多关系检测器,并在FSOD 自然环境下的数据集上进行验证,最优的检测效果相较于基本模型AP50 提升了0.125,效果提升明显。水下目标检测用数据集存在样本数量较少的问题,可以将少样本学习应用于水下,提升水下目标检测算法性能。由于数据量较少,可以利用GAN 网络生成仿真的数据集[56],提升模型的鲁棒性,但是实验表明,利用GAN 网络进行数据增强,只有在数据量特别少的情况下,对目标检测性能有提升,对于大部分目标检测任务,提升不大甚至降低了目标检测性能。

(2)进一步研究深度学习网络

基于传统的水下目标检测技术泛化能力差,更换检测目标时,需要重新设计特征,难以进行突破,基于深度学习的目标检测技术可以大大提升目标检测的性能,但深度学习算法可解释性差,在预处理过程中,发现一些基于深度学习的水下图像复原或增强技术,增强效果可视性较好,或者评价指标较高,但是对于目标检测性能并没有提升甚至对性能有所影响。在这方面还需进一步研究,例如研究针对目标检测性能提升的图像增强技术,以及对无监督算法、自监督算法和动态神经网络的研究。在基于深度学习的目标检测算法中,算法对于训练集类似的环境中检测效果好,但是在不同失真类型环境下检测效果差,如何学习生物视觉的处理方式,学习人类的思考方式,也是一个可以考虑的提升目标检测性能的方向。

(3)将自然环境中的目标检测技术应用到水下

自然环境下的目标检测技术发展迅速,目前较为先进的自然环境中的目标检测算法,例如基于Tranformer 的DETR[57]、Cascade RCNN[58]、YOLOF[59]、Varifocalnet[60]等目标检测网络,如何克服水下环境的局限,将自然环境下的目标检测算法迁移到水下,并且能够满足实时检测的需求,对于水下目标检测技术的发展具有重要的意义,这是我们以后的工作。

猜你喜欢

图像目标算法
巧用图像中的点、线、面解题
有趣的图像诗
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
一种改进的整周模糊度去相关算法
遥感图像几何纠正中GCP选取
趣味数独等4则
新目标七年级(下)Unit 3练习(一)
新目标七年级(下)Unit 4练习(一)