APP下载

内河航运密集小目标船舶的图像检测方法

2024-04-10吴志华钟铭恩邓智颖吴航星谭佳威周美华

厦门理工学院学报 2024年1期
关键词:负片尺度船舶

吴志华,钟铭恩*,邓智颖,吴航星,谭佳威,周美华

(1. 厦门理工学院机械与汽车工程学院,福建 厦门 361024;2. 厦门理工学院光电与通信工程学院,福建 厦门 361024;3. 皖南医学院医学信息学院,安徽 芜湖 241002)

近年来,河道运输业呈现快速增长趋势,在枢纽河段采取必要的监管策略,有助于提前预防交通事故的发生。船舶出行具有不定时、不可预见的特点。人工值守查看视频工作量大、易视疲劳,容易引起漏检和误检。因此,需要研究出智能化的船舶检测方法。目前常用的检测方法主要是在固定高度的地方安装智能监控摄像头,通过网联工控机实时地对视频进行检测并发出预警[1]。由于设备安装点较高,这会导致视频中出现的船舶个体都为小目标,检测任务易受到附近噪声的干扰。

早期利用机器视觉的船舶检测方法主要分为区域选择、特征提取和分类3 个步骤[2]。区域划分后,通过针对性场景设计的图像算子来提取船舶的边缘、纹理、颜色等特征,进一步实现船舶分类和定位,为后续的异常事件检测提供数据支撑。不足的是,这些特征对船舶的表征能力不强,例如,常用的方向梯度直方图算子(histogram of oriented gradient,HOG)[3]和尺度不变特征变换(scale-invariant feature transform,SIFT)[4]。河段环境的不同,其提取特征的方法也不同,容易导致算法模型难以迁移使用,实时性较低。

随着智能光电监控技术的发展,利用深度学习技术实现船舶的检测已经成为研究热点。例如,薛远亮等[5]对SSD模型引入了融合通道和空间注意力等策略,用于船舶的实时检测;陈从平等[6]设计了具有后处理算法的Faster RCNN 算法模型,有效降低了船舶检测的漏检率;周薇娜等[7]提出了一种重新设计的YOLOv4多尺度船舶实时检测方法,通过构建的双向细粒度特征金字塔,在包含多种尺度的船舶图像上,验证了算法的超高性能;李佳东等[8]提出一种基于YOLOv5s 的船舶检测算法,通过引入空间金字塔模块,解决了船舶检测的精度问题。这些改进方案的检测精度虽然达到了较优水平,但主要是针对海面近距离拍摄的情况进行设计,对于内河航运中小目标的船舶检测不再适用。为了解决该问题,有研究者们提出了其他的检测方法。例如,周慧等[9]提出了一种基于特征金字塔网络(feature pyramid network,FPN)模型,解决了合成孔径雷达(synthetic-aperture radar,SAR)图像中小尺度船舶难检测的问题;邓睿哲等[10]设计了一种用于遥感影像船舶检测的FPN 建模方法,克服了网络难以应对具有随机朝向、形态多变的小尺度船舶的情况。然而,这些方法主要是针对遥感影像数据进行算法开发,难以应用在监控图像上。实际上,内河河道普遍存在早晚集中出航的实况,易面临其他目标物的遮挡和周围的尾流等噪声干扰,这都增加了检测难度。因此,增强上下文语义信息,突出船舶的显著特征,对于提高小尺度船舶的检测性能至关重要,合理选择一种高精度的检测模型作为参考并在此基础上重新设计是解决这些问题的有效路径。 YOLOv7 算法模型[11]具有高精度、低耗时的性能优势,但目前学者对其研究并不多。为此,本文以该模型为参考,提出了一种小目标船舶检测方法,该方法首先通过负片图像增强算法来扩充少样本船舶标签数量,然后增加一个10✕10 大小的细粒度检测头,检测头的锚框参数进行CIoU 度量自适应优化。同时,在模型Backbone 上引入分散注意力(shuffle attention,SA)机制结构,完成船舶的目标检测。

1 YOLOv7算法模型

YOLOv7 是基于锚框的检测模型,它的参数量较少,占用内存空间小,适合在边缘设备上部署。该网络模型主要分为3部分:1)骨干网络(Backbone)用来提取不同输出尺度的特征;2)特征融合网络(Neck)主要负责特征的融合;3)检测头(Head)负责结果的预测输出。

图1是YOLOv7的多尺度检测结构图,可见,模型有3个检测头。该模型每个检测头层分配3个先验框,用来回归不同尺度大小的船舶。图片输入经骨干网络和特征融合网络部分后,在3个不同尺度的检测层上输出目标的位置信息和类别信息。每一个检测层输出形状为(na,fw,fh,(nc+5))的张量,其中:na代表该层用于回归的锚框数量;fw、fh分别代表输出特征图的宽、高;nc+5 代表类别和位置信息,nc为类别数量,数值5表示预测框的中心点坐标、宽高尺寸和置信度的信息。特征图的每一个位置都有na个锚框来回归目标。网络输出的位置信息是相对于预先设定的锚框偏移量,需要通过锚框将预测值输出解码成检测框。

图1 YOLOv7的多尺度检测结构图Fig.1 Multi-scale detection structure of YOLOv7

2 算法改进

2.1 结合先验框和模型尺度的结构调整

通过多尺度融合检测的思想,使用K-means聚类算法对船舶数据集进行聚类。在K-means算法中,在一个固定的簇数K下,通过最小化总体平方和来求解最佳质心,然后基于质心实现锚框聚类,计算公式为

式(1)中:Cscore是质心与所有目标框的平均得分;ℓmeasurement是距离度量方法。本文采用CIoU 距离度量方式,具体为

式(2)中:bgt是真实目标框;b是聚类的质心;v是衡量长宽比的相似性因子,;α是权重系数,ε为无穷小数;l2(b,bgt)是质心与目标框中心点的欧氏距离;d为锚框与目标框的最小闭包矩形对角线距离。因此,采用CIoU距离度量方式的K-Means聚类计算公式为

式(3)中:Cscore-CIoU是质心与所有目标框的平均CIoU 得分。由图2 中K与平均CIoU 关系曲线变化可知,真实框的平均CIoU 与质心数量K呈正相关,但同时模型复杂度也会随之增加,并带来更多的负训练样本。当K大于12时,平均CIoU 的提升幅度逐渐平缓。因此,本文选择的先验框个数为12,其适应于4 个检测尺度,以在保证检测精度的情况下使算法的检测速度达到更快。

图2 K与CIoU的关系曲线Fig.2 Curve of relationship between K and CIoU

本文对YOLO 增加一个10×10 的细粒度检测头,以帮助模型融合更多小目标深层特征语义信息,实现更高的定位精度,提升检测效率。

当输入为640✕640 的图像尺度训练时,改进的多尺度融合网络分别通过8倍、16倍、32倍、64倍下采样的特征融合层,对应选择80×80、40×40、20×20、10×10共4种特征图分辨率进行预测。80×80对应的检测头为尺度1,在K-means 聚类算法中采用CIoU距离度量方式对船舶数据集聚类出的先验框结果分别为(5,3)、(6,4)、(8,4);40×40 为尺度2,它不仅拥有自身的特征信息,还能融合尺度1 的特征经过2 倍上采样的信息,其聚类结果为(8,5)、(12,5)、(10,7);同理,20×20 为尺度3,在自身特征信息的基础上能融合尺度1和尺度2上采样后的特征信息,其聚类结果为(12,9)、(19,7)、(15,11);增加的尺度4 包含的是10×10 特征图与尺度1、尺度2、尺度3 上采样融合后的特征信息,其对应的先验框聚类结果为(21,12)、(21,17)、(58,33)。

2.2 优化特征融合结构

注意力机制有助于神经网络准确地关注局部重要特征区域,已经成为提高深层神经网络性能的一个研究方向。常用的注意力机制主要有空间注意力和通道注意力2种,分别旨在捕捉像素级的成对关系和通道依赖性[12-13]。通常,将两者融合的实现方式更佳的特征提取性能,但容易增加计算负担。本文引入一种更高效的且不带来额外计算开销的SA 机制[14]。采用组卷积的思想,使通道和空间注意力协同作用。该注意力机制的原理如图3所示。

图3 分散注意力机制的原理图Fig.3 Principle of SA

1)分组操作。获得g组不同特征图,目的是降低模型的计算量,加快网络的运行速度。分组操作之后的特征层宽度和高度不变,通道数变为每个组内部使用SA 单元进行处理。该单元内部包含通道注意力机制和空间注意力机制,前者具体实现类似挤压和激励操作(squeeze-and-excitation,SE),如A1~A2,后者使用组规范化操作实现特征提取(group norm,GN),如B1~B2。

2)拼接操作。将第一步经SA单元处理后得到的特征图通过Concat的方式进行拼接,实现组内部的信息融合与交互。

3)重排操作。使用分散操作对组进行重排,使不同组之间进行信息流通,以输出带有注意力机制的特征层 。

为了验证以上方法,本文设计了一个实时船舶检测模型,它包括骨干网络、特征融合网络、检测头和注意力机制模块等,模型结构如图4 所示。该模型以YOLOv7 算法为参考,骨干网络在第十一层新引入一个分支,和负责输出尺度为80✕80 的检测头进行通道融合。特征融合网络主要思路为增加一层上采样的操作,为多引入10✕10 大小的检测头提供基础条件。注意力机制模块引入的位置在MP2模块和Concat中间,本文一共添加3个该模块,实现4个检测头的特征传输。

图4 船舶检测模型结构图Fig.4 Structure of ship detection model

2.3 船舶图像的数据增强方法

本文通过固定角度的光电监控摄像头,在国内某个内河航道进行实时图像采集,得到731张不同的船舶出航场景图像,图像分辨率大小为1 920 px×1 080 px。图像中船舶类别共包含私人小船、货艇和巡逻船3 类,如图5 所示。由图5 可见,船舶目标小,且分布密集。因此,标注这种细小的目标耗费人力,容易造成标注错误。而深度学习模型的性能易受到训练标签的质量和数目的影响。

图5 船舶监控图像举例Fig.5 Example of ship surveillance image

针对小目标学习特征不足的难题,现有研究多采用普通的图像增强技术。依据这种做法提供的小目标特征有限而无法满足本场景的需要。为此,本文提出了一种负片数据增强方法,利用图像边缘信息易突显性优势,结合负片效应和图像锐化机制,扩建出更多有效的样本。具体过程如下。

输入:内河航运密集小目标船舶数据集合A={a1,a2,…,an}。

输出:原始数据集像素信息集合P′={(w1,h1),(w2,h2),…,(wi,hi)},i∈{1,2,…,m},其中:(wi,hi)为样本的宽度和高度;m为样本数量。负片数据集合为S1,高斯模糊处理后的数据集合为S2,USM锐化处理之后的目标数据集合为S3。

步骤1:P′←{ },S0←{ },S1←{ },S2←{ },S3←{ }。

当集合A非空时,重复执行以下步骤。

步骤2: 获取A中样本的像素信息P′,再将需处理样本进行灰度图转换得到S0。

步骤3:由(wi,hi)逐一遍历数据集灰度图中的像素点,之后采用式(4)

对集合P′中每个像素点进行灰度值反转,得出集合S1。式(4)中:G_forward(wi,hi)为集合S0中在(wi,hi)像素点反转前的灰度值;G_back(wi,hi)为集合S1中在(wi,hi)像素点反转后的灰度值。

步骤4: 在集合S1中使用高斯模糊处理,得到集合S2。

步骤5:在集合S2中使用USM锐化增强图像算法,得到集合S3,具体公式为

式(5)中:n为三者集合对应的样本键值;α和β为图像增强效果的缩放系数。

图6为负片数据增强后的样本举例,与原图对比可见,通过负片图像增强方法的样本纹理信息较为突出。

图6 负片数据增强样本举例Fig.6 Example of negative data enhancement

同时,本文对训练中的输入标签数据再进行Mosaic 数据增强。该方法利用裁剪、融合、缩放、拼接、掩摸、模糊等图像操作,将输入图像进行处理,结果见图7。由图7 可见,原本较大的船舶目标再缩放较大的系数,为模型提供更充足的小目标船舶样本标签去学习。

图7 Mosaic数据增强结果Fig.7 Results of Mosaic data enhancement

3 实验结果及分析

本实验首先在Ubuntu22.04 操作系统下进行。处理器为Intel(R)Core(TM) i7-10700K CPU @3.80GH 3.79 GHz,内存为32 GB,显卡型号为NVIDIA GeForce RTX 3080。编译语言为Python3.8,深度学习框架为PyTorch1.12.1,图像加速器版本为Cuda11.0 和Cudnn8。基准模型选择YOLOv7 普通版本。模型训练时,输入图片大小设置为640 px×640 px,默认训练轮数设置为300,每个轮次输入图像训练的批量大小设置为32,同时模型训练中采用Adam 方法作为优化器。然后,将该YOLOv7 改进模型部署在个人PC端设备进行测试,该设备的处理器为AMD Ryzen 7 5800H@3.20 GHz,显卡型号为NVIDIA GeForce RTX 3050Ti。

3.1 算法评估

本文根据平均精度(average precision,AP)、平均精度均值(mean average precision,mAP)、每秒检测帧数(frames per second,FPS) 3 项指标对算法进行评估,进而比较及验证算法性能。AP 为P-R(precision-recall)曲线的积分面积,其计算公式为

式(6)中:查准率(precision,P)、查全率(recall,R)分别定义为其中:TP 为真阳性样本数目;FP 为假阳性样本数目;FN 为假阴性样本数目。mAP 为各个类别的AP 均值(IoU阈值取0.5),计算公式为

式(7)中:N代表待检测的船舶总类别数目,本文N取值为3。

3.2 自适应锚框匹配实验

表1为两种不同的距离度量方法对YOLOv7算法模型检测头锚框参数优化的客观评估数据。由表1 可见,采用CIoU 距离度量方法优化锚框,其检测的查准率、查全率和全类别平均精度均值分别达到81.9%、 65.3% 和69.2%,与欧式距离方法相比,分别提高了1.6%、1.3%和1.1%。表1的数据说明,在K-means聚类算法中采用本文的CIoU度量方式生成的先验框能够更好地匹配物体的尺寸和比例分布,检测效果上比欧式距离方法更优。

表1 不同距离度量方式的客观评估数据Table 1 Objective evaluation data for different distance measures 单位:%

图8 是在K-means 算法中采用CIoU 度量方式的聚类结果。由图8 可知,大部分船舶目标在图像中宽度和高度范围都在50 px 以下,而该图像总分辨率为较大的1 920 px×1 080 px,在这种大分辨率图像中,细小尺度占比的船舶的检测是有难度的。由图8 对比可见,相比于原本3 个检测头分配到的9个锚框数量分布,增加一个10✕10 大小的检测头后,包含12个锚框数量的分布更加均衡,说明增加细粒度检测头能更有效地辅助目标检测算法定位和识别细小尺度的船舶。

图8 利用CIoU距离度量的K-Means算法聚类结果Fig.8 Clustering results using K-Means algorithm of CIoU distance measurement

3.3 消融实验

为了量化分析本文提出的各个改进环节对船舶检测算法的性能影响,在相同实验条件下开展了消融实验,结果见表2,其中打勾符号表示实验有添加的改进方法。由表2 可见:通过负片图像增强方法训练得到的模型的查准率、查全率和全类别平均精度均值分别达到83.7%、67.4%和71.4%,与原始模型相比,分别提升了1.8%、2.1%和2.2%。这表明设计的负片图像增强算法可以有效扩充目标的标注标签,促进船舶的边缘特征得到学习以提升检测精度。从表2 还可知,增加一个细粒度检测头可以输出具备更广感受野的特征图,更准确地定位物体,从而提高检测的精度,因此使得检测算法的查准率、查全率和全类别平均精度均值分别提升了7.2%、14.5%和15.6%。此外,引入SA 注意力机制后,模型的查准率、查全率和全类别平均精度均值再次分别提升1.9%、7.0%和5.6%,分别达到92.8%、88.9%和92.6%。上述实验数据表明,该YOLOv7算法模型的改进策略是有效的。

表2 消融实验结果Table 2 Results of ablation experiments 单位:%

3.4 对比实验

为了进一步探明该算法与其他算法在船舶检测任务上的性能差异,本文在数据集上进行了对比实验。表3统计了对比算法模型的性能测试结果,可见,该算法模型mAP 达到最高值为92.6%,比原始YOLOv7算法模型提高了23.4%;检测速度为40.2 F·s-1,能满足船舶图像检测技术实际应用中的耗时需求。此外,模型参数量大小仅为47.1 MB,这有利于在边缘设备进行部署。

表3 不同对比算法模型的性能测试结果Table 3 Performance test results of algorithm models compared

本文算法部署前的检测效果如图9 所示,其中:G1 为私人小船;G2 为极小的巡逻艇。现实中在内河航运上出行的船舶可能分布密集,这种情况利用现有大部分船舶图像检测技术均难以实现检测。部署后的检测结果如图10 所示,其中:图10(a)中私人小船G1 被正确检出为0,置信度达到0.7;巡逻艇G2被正确检出为2,置信度达到0.6;图10(b)中C1部分中的船舶也全部被成功检测。可见,针对小尺寸“货船”(标签为cargo ship,标签索引号为1)、“巡逻艇”(标签为patrol boat,标签索引号为2)和极小尺寸的“私人小船”(标签为personal boat,标签索引号为0)目标物,本文算法模型都具有良好的检测性能。

图9 算法部署前的检测结果举例Fig.9 Research detection results before algorithm deployment

图10 算法部署后的检测结果举例Fig.10 Research detection results after algorithm deployment

4 结论

本文提出一种内河航道中的船舶检测方法,通过负片图像增强算法来扩充少样本船舶标签数量,在YOLOv7 模型算法基础上增加1 个10✕10 大小的细粒度检测头,并对检测头的锚框参数进行CIoU度量自适应优化:同时,在模型Backbone 上引入SA 注意力机制结构,完成船舶的目标检测。采用Cuda对测试PC端运行加速,利用DNN推理方式部署模型后进行实验。测试结果显示:该方法全类别平均精度均值为92.6%,与原模型相比提高了23.4%;查准率和查全率分别达到92.8%和88.9%,与原模型相比分别提高了10.9%和23.6%;单张图片耗时仅需要32.26 ms。研究表明,该方法在准确性和实时性方面达到了平衡,能够高效应对其他物体遮挡和河中尾流等噪声干扰,对分布密集的小尺度船舶的检测亦依然有效。

未来的工作将考虑采用其他有效策略进一步重新设计模型,以避免模型对背景中小目标产生的误检,并进一步提高船舶检测的准确率。另外,还将探索全尺度通用的蒸馏技术,以降低高分辨率图像的检测时长,提高效率。

猜你喜欢

负片尺度船舶
摄影的特性:人文主义还是物质主义?
《船舶》2022 年度征订启事
财产的五大尺度和五重应对
船舶!请加速
BOG压缩机在小型LNG船舶上的应用
船舶压载水管理系统
宇宙的尺度
9
选择胶卷因“材”制宜
数码时尚