2. 河南中光学集团有限公司 河南 南阳 473003;
3. 河南科技大学 信息工程学院 河南 洛阳 471000
2. Henan Costar Group Co., Ltd, Nanyang 473003, China;
3. College of Information Engineering, Henan University of Science and Technology, Luoyang 471000, China
鱼类的生存情况往往和生存环境密切相关,同时也是水域监管体系中的一项重要指标。鱼类死亡后,若不能及时打捞,会对其他生物、水质以及饮水安全造成严重威胁。因此,对水面死鱼进行准确高效的检测并及时控制水域污染风险是十分必要的。
目前,基于深度学习的目标检测技术已经在众多领域广泛应用。在水面死鱼检测研究中,文献[1]主要考虑了死鱼检测模型面向部署过程中的轻量化问题。其中,MobileNet网络在特征提取方面会导致信息丢失,非对称卷积也会在某些方面的特征提取能力较弱,需要复杂的特征融合模块保证其特征信息流通性。在现有水面漂浮物检测研究中,可以分为基于深度学习的两阶段检测方法[2]、单阶段检测方法[4]以及基于多模态数据融合处理的检测方法。受分段式网络结构限制,两阶段检测算法的研究主要集中在提升检测精度上[4-5]。随着边缘计算[6]和移动端等平台部署需求增多,更多的研究集中在基于单阶段检测算法上,以提升检测精度和速度的平衡性。文献[7]基于YOLOv5网络,采用原始拓扑结构增强了对漂浮物的特征提取能力。文献[8]通过增加RefineDet模型深层次特征提取并进行特征融合,生成了具有更好表征能力的特征层。文献[9]面向嵌入式设备通过减少检测尺度来提升检测速度,采用K-means聚类算法调整锚框补偿精度,该方法更多考虑了对检测速度的提升,忽略了水面小目标对浅层特征的依赖问题。此外,将雷达数据与视觉信息进行多模态数据融合的检测方法能够进一步提升对水面漂浮物的检测精度。张堡瑞等[10]采用三维激光雷达点云数据与CornerNet-lite目标检测网络得到的视觉信息进行融合,通过调整两者得到的目标置信度比例来获得新的目标判定置信度。Cheng等[11]面向无人水面车辆将毫米波雷达点云数据与视觉信息进行深层次多尺度融合,利用雷达数据的特性,提升水面目标检测的精度和鲁棒性。基于多模态数据处理的检测方法能够弥补单一方法的缺陷,具有更好的检测效果。目标检测算法是整个感知系统的重点,同时也提高了对数据处理中心的计算能力要求,并涉及高成本的专业设备,适用性较差。在小目标检测研究中,特征融合是通过特征表达增强小目标检测的策略之一[12]。文献[13]利用多尺度空洞卷积进行特征融合,为网络补充更多的上下文信息。文献[14]采用融入分组残差连接的Darknet-53作为SSD的主干网络,增强特征提取能力,引入基于多尺度空洞卷积的浅层特征增强模块,丰富浅层特征的特征信息。其中小尺度特征图在特征融合中效果并不明显,多尺度空洞卷积能够降低单个空洞卷积引起的远距离信息不相关性,但多次叠加的空洞卷积会损失信息的连续性。
本文综合水面漂浮物检测和小目标检测的特点,以SSD为基础网络,提出了基于多尺度特征融合和注意力机制的水面死鱼检测网络模型。设计小目标数据增强算法提升数据集中的小目标数量以及丰富训练背景。采用ResNet50作为主干网络增强特征提取能力。将高层次特征融合至低层次特征中,丰富低层次特征中的语义信息。引入高效通道注意力机制来抑制网络中负面信息带来的影响。实验结果表明,本文方法能够在保持实时检测的同时,具有更高的检测精度。
1 基于多尺度特征融合和注意力机制的SSD算法 1.1 SSD目标检测算法SSD是一个单阶多层的目标检测模型,结合了YOLO(you only look once)和Fast R-CNN(fast region-based convolutional network)的优点,在检测精度和速度上都有不错的表现。SSD模型采用VGG16(visual geomertry group-16)作为主干网络,并将VGG16末端的两个全连接层替换为卷积层,同时为了提取包含不同层次语义信息的特征,在VGG16后增加了多个不同尺度的卷积层作为附加网络,共设置了六个不同尺度的特征提取层,以满足不同尺寸目标的检测需求。最后在不同尺度上利用不同比例和数量的先验框生成候选区域,采用非极大值抑制方法得到最终预测框。
1.2 改进的SSD网络结构VGG16网络层数较多且结构比较简单,不仅需要更多的计算量和参数量,还容易出现梯度消失和过拟合的问题。SSD网络虽然通过不同尺度特征图检测不同尺寸目标,但缺乏高层语义信息和浅层细节信息的交互,导致其在小目标检测方面有所不足。
在水面死鱼检测任务中,数据源往往与目标之间存在一定距离,导致会有更多的小目标被检测。针对SSD网络在小目标检测任务中存在的问题,提出一种改进的SSD算法FFA-SSD,首先调整ResNet50[15]残差网络并作为主干网络;设计了特征融合模块,通过对不同尺度的特征图进行级联融合,增强高层次语义信息和浅层细节信息交互;同时引入注意力机制模块,提升网络对目标的关注度,抑制无关噪声信息。FFA-SSD网络结构如图 1所示。
![]() |
图 1 FFA-SSD网络结构 Fig. 1 FFA-SSD network structure |
与VGG16相比,ResNet通过引入残差连接可以更好地解决由网络加深带来的退化问题,具有更强的特征提取能力。ResNet根据不同网络深度拥有不同的版本,本文采用ResNet50为主干网络,ResNet50网络结构和残差结构如图 2所示。
![]() |
图 2 ResNet50网络结构和残差结构 Fig. 2 ResNet50 network structure and residual structure |
在残差结构中,输入特征x经过通道降维、特征提取和通道升维,得到残差映射结构F(x),右侧分支通过恒等映射x直接与残差映射结果F(x)逐元素相加得到最终的残差结果H(x),学习到的残差特征表示为
$F(\boldsymbol{x})=H(\boldsymbol{x})-\boldsymbol{x}。$ | (1) |
本文对ResNet50网络进行了调整和修改,首先,保留残差结构之前的卷积和最大池化作为第一个卷积层(Conv_Layer1);其次,只保留前三个残差层(Res_Layer2,Res_Layer3,Res_Layer4);然后,修改Res_Layer4的第一个残差结构的步长,将其由2调整为1,增大特征图尺寸,保留更多浅层特征细节;最后,由Res_Layer4得到的特征图尺度为38×38×1 024,并将其作为第一个有效特征层,其余更深层次、语义信息更加丰富的有效特征层均在本层之后的附加层得到。修改后的ResNet50网络作为主干网络,其参数如表 1所示。
![]() |
表 1 主干网络参数 Tab. 1 Backbone network parameters |
本文通过设计一个多尺度特征融合模块,增加深层特征图中的有效信息与浅层特征的交互融合。特征融合模块如图 3所示。
![]() |
图 3 特征融合模块 Fig. 3 Feature fusion module |
SSD模型通过采用多尺度特征检测不同尺寸物体,但缺乏对不同尺度特征图的融合,本文设计的特征融合模块通过将高层次特征图(融合层)融合至更低的特征层(优化层)中,丰富低层次特征图中的语义信息。融合层(第二层,第三层)的高层次特征图采用双线性插值算法进行上采样统一特征图尺寸,与低层次的优化层(第一层) 分别经过常规卷积模块后进行拼接,最后通过卷积降维进行通道转换。新的特征图尺寸以及通道数与第一层相同。在FFA-SSD网络中,共进行了三次特征融合,前两次是三个特征层进行融合,最后一次是两个特征层进行融合,由于Conv10_2和Conv11_2特征图尺度太小,包含特征信息较少,本文并未对这两个特征层进行融合。
1.5 高效通道注意力机制不同层次的特征图通常具有不同的背景噪声分布,本文采用特征融合来抑制单个特征图的背景噪声,并生成更有判别力的特征表示,同时也会由于特征图尺度和位置的差异产生冗余信息。为抑制这些负面信息的干扰,引入一种高效的通道注意力机制(efficient channel attention,ECA)[16]模块,降低冗余信息和噪声对网络的负面影响,提高网络对目标的注意力。
ECA模块首先对上一次的卷积输出进行全局平均池化,采用一维卷积快速捕获每个通道和它的近K个相邻通道之间的跨通道信息交互,通过Sigmoid激活函数得到每个通道可学习的权重系数,再将权重应用于每个原始特征图的每个通道上,并生成加权后的特征图。用C表示通道维度,K为卷核大小, 表示局部跨通道交互覆盖率,其大小根据特征图通道数自适应确定。K和C之间的非线性映射关系定义以及K的取值分别为
$C=\phi(K)=2^{(r * k-b)}, $ | (2) |
$K=\psi(C)=\left|\frac{\log _2(C)}{\gamma}+\frac{b}{\gamma}\right|_{\text {odd }}, $ | (3) |
其中:本文中γ和b分别为2和1;todd表示最接近t的奇数。ECA模块避免了输入特征映射到低维空间带来的信息丢失,同时能够采用有效的方式捕获跨通道交互,更好地捕捉待检测目标的重要特征信息,整个模块涉及少量的参数,具备更有效的通道学习注意力,为网络带来明显的性能增益。
1.6 小目标数据增强传统的数据增强方法是通过对图像进行镜像翻转、缩放、增强对比度等操作丰富数据集。针对SSD网络对小目标死鱼检测能力较弱的问题,本文提出一种针对小目标检测的数据增强方法(small target data augmentation,STDA),通过该方法扩充数据集中小目标的数量,提升数据背景复杂度,增强网络对小目标的检测能力。
STDA方法如图 4所示,首先随机选取四幅原始图像(边长为w)放入集合f{f1,f2,f3,f4},对f中的图像分别按照随机比例P{P1,P2,P3,P4}缩小,并进行传统数据增强,得到处理后的图像集合为F{F1,F2,F3,F4},将F集合中经处理的图像分别与f集合中对应的原图像进行像素区域替换,并按照图 4方式拼接,得到边长为2w的图像Fa。最后采用边长为w的新样本选取框在Fa中框选出新样本。
![]() |
图 4 小目标数据增强 Fig. 4 Small target data augmentation |
随机比例因子P的设置理论上应该在0~1之间,但如果P过小,会损失过多目标原始特征信息,P过大时,图像缩小程度低,在训练过程中效果提升较小。不同的网络模型输入尺寸不同,在本文FFA-SSD网络中,设置P的范围为0.2~0.9。新样本选取框根据中心坐标、宽度、高度在Fa图像上框选像素区域作为新样本,其中心坐标范围是由组成Fa的四幅图像的中心点组成的矩形区域,以此保证新样本选取框的框选范围能够完全覆盖Fa。此方法会缩小原始图像,进而也将对目标原始特征产生不同程度的影响,但作为原始数据集的扩增,可以得到包含更小尺寸目标的新样本数据。
2 实验结果与分析 2.1 实验环境及数据集为验证本文算法在水面死鱼检测任务中的有效性,在相同环境下将本文改进SSD模型同其他主流目标检测模型进行对比实验,并进行了改进模块的消融实验。本文实验基于Ubantu18.04系统,GPU为GeForce RTX 3090,内存16 GB,设置训练轮次为300。
本文实验数据集主要来自网络搜集相关死鱼图像、手动拍摄死鱼图像等,共3 200张, 通过LabelImg进行目标标注,按照Pascal VOC2012数据集格式建立,其中训练集、验证集、测试集按照8∶1∶1的比例划分。
2.2 评价指标为验证本文改进算法的检测性能,选取精度(precision,P)和检测速度(每秒检测图片的帧数)为评价指标,精度计算公式为
$P=T P /(T P+F P), $ | (4) |
其中:TP为正样本中的正例;FP为负样本中的正例;FN为负样本中的负例。
2.3 不同模型性能对比实验采用Faster R-CNN、YOLOv3、MobileNet-SSD、SSD以及本文改进算法FFA-SSD进行检测实验,实验结果如表 2所示。FFA-SSD算法比原SSD算法精度提高了7.6%,比Faster R-CNN、YOLOv3和MobileNet-SSD分别提高了1.4%、5.4%和12.1%,改进后的SSD算法更具有精度优势。在检测速度上,Faster R-CNN难以满足实时性的需求,MobileNet-SSD检测速度最快。由于FFA-SSD采用更加轻量化的ResNet50作为主干网络,可以有效减少计算量和参数量,加入特征融合网络和注意力机制后,比SSD-VGG16仍具有速度优势,可以达到48 fps。
![]() |
表 2 主流算法检测性能对比 Tab. 2 Mainstream algorithm detection performance comparison |
为验证本文改进策略的有效性,在SSD网络中分别加入各改进模块进行消融实验,实验数据集为测试集。消融实验结果如表 3所示,“●”表示在对应序号实验中添加此改进模块。
![]() |
表 3 改进模块消融实验 Tab. 3 Improved modular ablation experiments |
由表 3可知,将ResNet50作为主干网络后,模型的检测精度提升了1.7%,证明ResNet50具有更强的特征提取能力,提取的特征信息更丰富,在此基础上添加特征融合网络、ECA注意力机制、STDA小目标增强,模型的检测精度分别比前者提升了3.5%,1.2%,1.2%。其中特征融合模块对模型检测精度提升最大。以上数据验证了本文改进模块均能有效提升网络模型对死鱼的检测效果。总体来讲,本文提出的FFA-SSD算法比原SSD算法在精度上提高了7.6%,能够更精准地识别水面死鱼目标。
2.5 小目标检测实验为更好地证明本文改进算法在小目标检测中的优势,制作了包含200张图片、418个目标的测试数据集,其中小目标数量为267个,分别采用改进前、后的网络模型在该数据集上进行检测,采用错检率为评价指标。
在实验中,原SSD网络在小目标检测中共错检了39个,错检率达到9.3%,其中小目标错检32个,错检率为12%;本文改进算法共错检了11个目标,其中含有小目标10个,总错检率下降了6.7%,小目标错检率下降了8.3%。实验验证了本文针对小目标的改进策略能够有效提升网络对小目标的检测能力。
2.6 检测结果可视化分析为了验证本文设计的多尺度特征模块和高效通道注意力机制对检测性能的提升效果,本文利用Grad-CAM(gradient-weighted class activation mapping)[17]技术,通过可视化的热力图谱进行分析。如图 5所示,在图 5(b)中未添加多尺度特征融合和注意力机制的SSD模型在检测过程中容易受一些噪声的影响,对死鱼目标关注度不够,在图 5(c)中,FFA-SSD模型对小目标死鱼关注更加细致,有效提升了网络模型对感兴趣区域的注意力,对目标覆盖更加准确。
![]() |
图 5 SSD/FFA-SSD特征可视化 Fig. 5 SSD/FFA-SSD feature visualization |
为了更清晰地展现本文改进算法在水面死鱼检测中的效果,本文采用SSD-VGG16算法和FFA-SSD算法对不同环境下的死鱼图像进行检测,检测效果如图 6所示。
![]() |
图 6 死鱼检测效果对比 Fig. 6 Dead fish detection effect comparison |
图 6(a)中,FFA-SSD算法在检测精度上具有明显优势。图 6(b)中包含多个小目标,且分布相对密集,为更好地观察目标检出情况,在图 6(b)的检测过程中只保留了检测框,SSD-VGG16算法出现了七处漏检,FFA-SSD算法只有两处未检出。图 6(c)和图 6(d)的背景都相对复杂,二者均能正确检出,但FFA-SSD算法更具精度优势。
3 总结本文提出了一种基于特征融合和注意力机制的水面死鱼检测算法FFA-SSD,比VGG16、ResNet50具有更强的特征提取能力和更小的参数量。特征融合模块通过增强不同尺度特征之间的交互,丰富浅层特征的语义信息,有效提高了特征表征能力。同时引入高效通道注意力机制,有效抑制了网络中负面信息带来的影响,提升了网络对目标的关注度。小目标数据增强算法能够使网络学习到更多的鲁棒性特征,提高模型泛化能力。实验结果表明,本文改进算法的检测精度可以达到93.5%,比原SSD算法提高了7.6%,检测速度能够保持在48 fps,可以满足实时性的需求。本文的改进算法具有较高的检测精度,同时能保持较高的检测速度,从而为水面死鱼自动化检测提供参考。
[1] |
YU G Y, WANG L, HOU M X, et al. An adaptive dead fish detection approach using SSD-MobileNet[C]//2020 Chinese Automation Congress. Piscataway: IEEE Press, 2021: 1973-1979.
( ![]() |
[2] |
邓姗姗, 黄慧, 马燕. 基于改进Faster R-CNN的小目标检测算法[J]. 计算机工程与科学, 2023, 45(5): 869-877. DENG S S, HUANG H, MA Y. A small object detection algorithm based on improved Faster R-CNN[J]. Computer engineering & science, 2023, 45(5): 869-877. ( ![]() |
[3] |
ZHENG J L, LIU Y. A study on small-scale ship detection based on attention mechanism[J]. IEEE access, 2022, 10: 77940-77949. DOI:10.1109/ACCESS.2022.3193669 ( ![]() |
[4] |
李国进, 姚冬宜, 艾矫燕, 等. 基于改进Faster R-CNN的水面漂浮物识别与定位[J]. 信阳师范学院学报(自然科学版), 2021, 34(2): 292-299. LI G J, YAO D Y, AI J Y, et al. Detection and localization of floating objects via improved faster R-CNN[J]. Journal of Xinyang normal university (natural science edition), 2021, 34(2): 292-299. ( ![]() |
[5] |
DUC MINH T, HOA N T N, LE T H. A model for floating garbage detection and quantification using fixed camera[C]//2022 9th NAFOSTED Conference on Information and Computer Science. Piscataway: IEEE Press, 2022: 389-393.
( ![]() |
[6] |
CHENG Q Q, WANG H J, ZHU B, et al. A real-time UAV target detection algorithm based on edge computing[J]. Drones, 2023, 7(2): 95. DOI:10.3390/drones7020095 ( ![]() |
[7] |
HE X Q, WANG J C, CHEN C B, et al. Detection of the floating objects on the water surface based on improved YOLOv5[C]//2021 IEEE 2nd International Conference on Information Technology, Big Data and Artificial Intelligence (ICIBA). Piscataway: IEEE Press, 2021: 772-777.
( ![]() |
[8] |
ZHANG L L, WEI Y X, WANG H B, et al. Real-time detection of river surface floating object based on improved RefineDet[J]. IEEE access, 2021, 9: 81147-81160. DOI:10.1109/ACCESS.2021.3085348 ( ![]() |
[9] |
LI X L, TIAN M J, KONG S H, et al. A modified YOLOv3 detection method for vision-based water surface garbage capture robot[J]. International journal of advanced robotic systems, 2020, 17(3): 172988142093271. ( ![]() |
[10] |
张堡瑞, 肖宇峰, 郑又能. 基于激光雷达与视觉融合的水面漂浮物检测[J]. 应用激光, 2021, 41(3): 619-628. ZHANG B R, XIAO Y F, ZHENG Y N. Detection of floating objects on water surface based on fusion of lidar and vision[J]. Applied laser, 2021, 41(3): 619-628. ( ![]() |
[11] |
CHENG Y W, XU H, LIU Y M. Robust small object detection on the water surface through fusion of camera and millimeter wave radar[C]//2021 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE Press, 2021: 15243-15252.
( ![]() |
[12] |
马天凤, 杨震, 罗勇, 等. 基于深度特征融合的红外弱小目标检测方法[J]. 郑州大学学报(理学版), 2023, 55(3): 65-72. MA T F, YANG Z, LUO Y, et al. Infrared dim small target detection method based on depth feature fusion[J]. Journal of Zhengzhou university (natural science edition), 2023, 55(3): 65-72. ( ![]() |
[13] |
肖进胜, 赵陶, 周剑, 等. 基于上下文增强和特征提纯的小目标检测网络[J]. 计算机研究与发展, 2023, 60(2): 465-474. XIAO J S, ZHAO T, ZHOU J, et al. Small target detection network based on context augmentation and feature refinement[J]. Journal of computer research and development, 2023, 60(2): 465-474. ( ![]() |
[14] |
陈科圻, 朱志亮, 邓小明, 等. 多尺度目标检测的深度学习研究综述[J]. 软件学报, 2021, 32(4): 1201-1227. CHEN K Q, ZHU Z L, DENG X M, et al. Deep learning for multi-scale object detection: a survey[J]. Journal of software, 2021, 32(4): 1201-1227. ( ![]() |
[15] |
RAVEENA S, SURENDRAN R. ResNet50-based classification of coffee cherry maturity using deep-CNN[C]//2023 5th International Conference on Smart Systems and Inventive Technology (ICSSIT). Piscataway: IEEE Press, 2023: 1275-1281.
( ![]() |
[16] |
SONG T N, QIN W W, LIANG Z, et al. Research on CNN for anti-missile object detection algorithm based on improved attention mechanism[C]//2021 40th Chinese Control Conference. Piscataway: IEEE Press, 2021: 8286-8291.
( ![]() |
[17] |
HOU Q S, XING J S. SSD object detection algorithm based on KL loss and Grad-CAM[J]. Acta electronica sinica, 2020, 48(12): 2409-2416. ( ![]() |