1. 项目概述与核心挑战

在海洋资源勘探、生态监测和水产养殖等领域,对水下生物进行快速、准确的识别与定位是一项基础且关键的任务。传统的人工观测或基于声呐的方法不仅效率低下,而且难以获取精细的视觉信息。随着水下机器人(ROV/AUV)和固定式摄像设备的普及,基于机器视觉的自动化检测技术成为了研究热点。然而,水下环境给目标检测带来了前所未有的挑战:光照分布极不均匀,从水面透射下的光线会形成复杂的光斑和阴影;水体对光线的吸收和散射导致图像对比度低、颜色失真;此外,悬浮颗粒、波浪扰动以及海底复杂背景(如珊瑚、沙石、海草)使得目标与环境的区分度极低,小目标、密集目标和伪装目标(如颜色与沙地相近的海参)的漏检、误检问题尤为突出。

面对这些挑战,一个理想的海洋生物检测算法必须在 精度 速度 之间取得精妙的平衡。高精度的两阶段检测器(如Faster R-CNN)往往计算复杂度高,难以部署在算力有限的水下设备上进行实时推理;而轻量化的单阶段检测器(如YOLO系列)虽然速度快,但在复杂水下场景下的检测精度常常不尽如人意。因此,我们的核心目标是在轻量化网络YOLOv4-tiny的骨架基础上,进行针对性的改进,使其在保持高帧率(FPS)的同时,显著提升对水下海洋生物的检测精度。最终,我们提出了名为MODA(Marine Organism Detection Algorithm)的改进算法,通过在网络中嵌入 坐标注意力(Coordinate Attention, CA)模块 和构建 混合空洞卷积(Hybrid Dilated Convolution, HDC)结构 ,有效增强了网络对感兴趣目标的特征提取能力和上下文信息感知范围。

2. 算法改进思路与核心模块设计

2.1 基线模型:YOLOv4-tiny的轻量化之道

YOLOv4-tiny作为YOLOv4的轻量化版本,其设计哲学是在精度和速度之间寻求一个极致的平衡点。它的主干网络(Backbone)是CSPDarknet53-tiny,通过跨阶段部分连接(CSPNet)和残差结构(Resblock)的组合,在减少计算量的同时,保持了梯度流的畅通,缓解了梯度消失问题。特征金字塔网络(FPN)部分采用了简化的路径聚合网络(PANet)思想,通过自上而下和侧向连接,融合了深层语义特征和浅层细节特征,用于检测不同尺度的目标。

然而,正是这种“轻量化”的设计,使其在应对水下复杂场景时暴露出固有缺陷:

  1. 特征提取能力不足 :为了追求速度,网络深度和宽度被大幅削减,导致模型的特征提取能力,尤其是对微弱、模糊特征的提取能力较弱。
  2. 空间信息丢失 :在卷积和下采样过程中,目标精确的位置信息容易被稀释,这对于需要精确定位的小目标检测极为不利。
  3. 感受野有限 :标准卷积的感受野增长缓慢,对于需要依靠大范围上下文信息来判断的目标(例如部分被遮挡的生物),模型感知能力不足。

我们的改进策略正是针对这三点“痛点”展开,核心思想是“ 精准增强 ”与“ 高效扩展 ”,即不显著增加计算负担的前提下,有选择性地强化网络的关键能力。

2.2 坐标注意力(CA)模块:让网络“看得更准”

注意力机制的本质是让网络学会“关注”哪里更重要。在海洋生物检测中,我们需要网络能聚焦于目标本身,而非被光照变化或复杂背景干扰。SE(Squeeze-and-Excitation)注意力通过全局平均池化聚合通道信息,但它完全丢失了空间位置信息。CBAM(Convolutional Block Attention Module)在通道注意力后加入了空间注意力,但其空间注意力是通过卷积生成的,仍然是一种局部且隐式的空间关系建模。

我们采用的坐标注意力(CA)机制,其创新之处在于将位置信息 显式地 编码到通道注意力中。它通过两个并行的、具有方向感知的一维全局池化操作,分别沿水平(X轴)和垂直(Y轴)方向聚合特征。这样,对于一个通道,我们得到了两个独立的特征图:一个编码了宽度方向上的全局信息,另一个编码了高度方向上的全局信息。

技术细节 :假设输入特征图尺寸为 C×H×W。CA模块首先使用尺寸为 (H, 1) 和 (1, W) 的池化核,分别沿水平方向和垂直方向进行全局平均池化,得到两个方向感知的特征张量:Z^h (尺寸 C×H×1) 和 Z^w (尺寸 C×1×W)。这个过程可以理解为将二维的空间全局池化解耦为两个一维的编码过程,从而保留了精确的空间坐标信息。

接着,将这两个特征张量拼接后,通过一个共享的1×1卷积进行降维和非线性变换,再分割回两个独立的方向特征。最后,分别使用1×1卷积和Sigmoid函数生成方向感知的注意力权重图(G^h 和 G^w)。最终的输出是输入特征图与这两个权重图的逐元素乘积。

实操心得 :将CA模块嵌入网络的位置至关重要。经过实验,我们将其连接在主干网络中两个Resblock_body之后。具体来说,是在生成52×52×128和26×26×256这两个有效特征层之后立即插入CA模块。这样做的原因是,这些中层特征既包含丰富的细节信息,又具有一定的语义信息,在此处引入注意力,可以引导网络在后续的深层特征提取中,更关注那些在空间坐标上被“点亮”的区域,从而保留更多关于小目标和模糊目标的关键信息。

2.3 混合空洞卷积(HDC)结构:让网络“看得更广”

感受野决定了卷积层的一个输出像素能“看到”输入图像的多大区域。更大的感受野意味着神经元能整合更大范围的上下文信息,这对于理解目标与背景的关系、判断被遮挡物体至关重要。扩大感受野的传统方法包括堆叠更多卷积层(增加深度)或使用更大卷积核,但这都会显著增加参数和计算量。

空洞卷积(Dilated Convolution)提供了一种高效的替代方案。它在标准卷积核的权重之间插入“空洞”(dilation rate, dr),在不增加参数和计算量的情况下,指数级扩大感受野。例如,一个3×3卷积核,当dr=2时,其感受野等效于一个5×5的标准卷积核。

然而,简单地使用单一的大空洞率(如dr=3, 5)会带来“网格效应”(Gridding Effect):由于采样点过于稀疏,卷积计算时完全跳过了中间像素,导致局部信息丢失严重,特征变得不连续,这对于检测需要精细轮廓的海洋生物是致命的。

为了解决这个问题,我们设计了 混合空洞卷积(HDC)结构 。其核心思想是: 将不同空洞率的卷积层串联起来,并以“锯齿状”的模式设置空洞率 。在我们的设计中,我们串联了两个3×3的空洞卷积层,空洞率分别为1(即标准卷积)和2。

为什么是“锯齿状”结构? 假设我们连续使用三个dr=2的卷积层,其等效感受野会急剧扩大,但有效采样点会形成一个稀疏的网格,中间存在大量未被“看到”的像素。而采用dr=1和dr=2交替的“锯齿状”结构,可以确保在扩大感受野的同时,不同层的感受野能够相互重叠、互补,最终覆盖一个连续、密集的区域,避免了信息丢失。

我们将HDC结构添加在特征金字塔网络(FPN)的顶部,即处理最深层、分辨率最低的特征图(例如13×13×512)时。这样做的目的是:在深层特征语义信息最丰富但空间细节最少的阶段,通过HDC扩大其感受野,捕获更广泛的上下文信息。然后,在FPN的上采样和特征融合过程中,这个拥有“广角视野”的深层特征与包含“高清细节”的浅层特征相结合,生成的新特征图便同时具备了 强大的语义理解能力和精确的定位能力

3. MODA模型架构与实现细节

3.1 整体网络架构设计

基于上述两个核心模块,我们构建了完整的MODA模型,其架构是YOLOv4-tiny的增强版。下图清晰地展示了数据流和模块位置:

(此处应有一张清晰的MODA模型结构图,图中需标注:输入图像尺寸、Backbone中各层输出尺寸、CA模块插入位置、HDC模块插入位置、FPN路径、两个YOLO Head输出位置。由于无法直接绘图,以下用文字描述关键路径)

  1. 输入 :图像被统一缩放至416×416×3。
  2. 主干网络(Backbone)
    • 经过初始卷积层(DarknetConv2D-BN-Leaky)后,得到52×52×128的特征图。
    • 该特征图经过第一个Resblock_body,并 嵌入第一个CA模块 ,进行空间-通道注意力加权,输出仍为52×52×128。
    • 继续经过卷积和下采样,得到第一个有效特征层P3(26×26×256)。
    • P3经过第二个Resblock_body,并 嵌入第二个CA模块 ,输出为26×26×256。
    • 最后经过卷积和下采样,得到第二个有效特征层P4(13×13×512)。
  3. 特征金字塔网络(FPN)与检测头
    • 深层路径 :P4(13×13×512)首先通过我们设计的 HDC模块 (由dr=1和dr=2的3×3空洞卷积串联而成),扩展感受野,得到增强后的特征图。
    • 该特征图经过一个卷积层后,分两路:
      • 第一路 :直接送入一个YOLO Head(检测头1),用于预测大尺寸目标。
      • 第二路 :先经过一个卷积层,再进行2倍上采样,将尺寸变为26×26×256。
    • 浅层路径 :将上采样后的特征图与来自Backbone的P3(26×26×256)进行拼接(Concatenate)。
    • 拼接后的特征图再经过一系列卷积层,送入第二个YOLO Head(检测头2),用于预测中小尺寸目标。

3.2 训练策略与超参数调优

模型的成功不仅依赖于结构创新,也离不开精细的训练策略。

  • 数据集与数据增强 :我们使用了两个数据集进行验证。一是2020年全国水下机器人大赛(URPC2020)数据集,包含海星、扇贝、海胆、海参四类生物,图像背景复杂,小目标密集。二是Roboflow开源的Aquarium数据集,包含七类海洋生物。针对水下数据量相对较少的问题,我们采用了Mosaic数据增强(随机拼接四张图像)、随机旋转、色彩抖动、添加模糊等方法,以提升模型泛化能力。同时,我们也发现,在数据量足够时,Mosaic增强有时会引入不自然的边界,反而可能降低精度,需根据实际情况谨慎使用。
  • 迁移学习 :我们使用在大型通用数据集(如COCO)上预训练的YOLOv4-tiny权重作为初始参数。这相当于让模型从一个“见过世面”的状态开始学习,极大地加速了在水下特定领域的收敛过程,并提升了最终性能。
  • 关键超参数设置
    • 输入尺寸 :416×416。这是一个权衡后的选择,更大的尺寸(如608)可能带来精度提升,但会显著增加计算量和降低速度。416在速度和精度间取得了良好平衡。
    • 优化器 :SGD with momentum。动量设为0.937,能加速收敛并帮助跳出局部最小值。
    • 学习率(lr)与调度 :初始学习率设置为0.01。我们采用了余弦退火(Cosine Annealing)的热身重启(Warmup Restart)策略,配合线性热身(Linear Warmup)。具体来说,在前3个epoch进行学习率热身,从一个小值线性增加到0.01。之后,学习率按余弦函数周期下降,每个周期结束时(如50个epoch)学习率重置到峰值再开始下降,这有助于模型跳出尖锐的局部最优点。
    • 批次大小(Batch Size) :根据GPU显存(12G RTX 3080)设置为16。较大的批次大小有助于稳定梯度估计。
    • 训练周期(Epochs) :200个epoch。我们通过监控训练损失和验证集mAP曲线来确定。当损失曲线平稳且验证指标不再上升时,提前停止(Early Stopping)可以防止过拟合。

避坑指南 :学习率是训练中最关键的参数之一。一开始我们使用固定的学习率0.001,发现收敛速度慢且最终精度有瓶颈。切换到带热身的余弦退火调度后,模型在初期能快速探索,在中后期能精细调优,最终mAP提升了约1.5%。另外,权重衰减(Weight Decay)对于轻量化模型需要格外小心,过大的权重衰减(如5e-4)会过度惩罚参数,导致模型欠拟合,我们在实验中将其设为1e-5,取得了更好效果。

4. 实验验证与结果分析

4.1 消融实验:模块有效性验证

为了严格评估CA和HDC模块各自的贡献,我们在URPC数据集上设计了消融实验。所有实验保持相同的训练设置和超参数。

实验编号 模型配置 mAP@0.5 (%) 参数量 (M) GFLOPs FPS
01 原始 YOLOv4-tiny (基线) 74.00 5.95 3.45 90
02 基线 + CA模块 75.60 (+1.60) 6.01 (+0.06) 3.47 88
03 基线 + HDC结构 75.70 (+1.70) 5.97 (+0.02) 3.46 89
04 基线 + CA + HDC (MODA) 76.62 (+2.62) 6.02 (+0.07) 3.48 87

结果分析

  1. 独立贡献 :单独添加CA模块(实验02)或HDC结构(实验03),均能带来约1.6%~1.7%的mAP提升,这证实了二者都能有效解决基线模型的不足。CA通过增强特征选择能力提升了精度,HDC通过扩大感受野提升了上下文理解能力。
  2. 组合效应 :将CA和HDC结合(实验04,即MODA),带来了2.62%的mAP提升,效果优于单独添加,说明两个模块是互补的。CA帮助网络聚焦于正确的位置,HDC则为这个“聚焦点”提供了更丰富的周边环境信息。
  3. 效率代价 :在带来显著精度提升的同时,MODA仅增加了约0.07M参数和0.03 GFLOPs的计算量,FPS从90略微下降到87。这意味着我们以 不到1%的速度损失,换取了超过3.5%的相对精度提升 ,性价比极高。

4.2 对比实验:与主流检测器同台竞技

我们将MODA与当前主流的目标检测模型在URPC和Aquarium两个数据集上进行了全面对比,涵盖了大型网络和轻量化网络。

URPC数据集结果对比(部分关键模型)

模型 Backbone 参数量 (M) mAP@0.5 (%) FPS
Faster R-CNN ResNet-50 41.2 64.1 7
SSD300 VGG-16 26.3 63.5 46
YOLOv3 Darknet-53 61.6 73.5 35
YOLOv4 CSPDarknet53 64.4 75.6 28
YOLOv5s CSPDarknet 7.1 74.6 90
YOLOv4-tiny CSPDarknet53-tiny 5.95 74.0 90
MODA (Ours) CSPDarknet53-tiny+CA+HDC 6.02 76.6 87

分析

  1. 轻量化优势 :MODA与YOLOv5s、YOLOv4-tiny同属轻量化阵营,参数量均在10M以下,FPS远高于大型网络(Faster R-CNN, YOLOv3/v4)。
  2. 精度领先 :在轻量化模型中,MODA取得了最高的mAP(76.6%),不仅显著超越了原版YOLOv4-tiny,也优于同样以高效著称的YOLOv5s。甚至,其精度超过了参数量是其10倍以上的大型网络YOLOv4(75.6%)。
  3. 实时性保障 :87 FPS的检测速度,意味着处理一张图片仅需约11.5毫秒,完全满足水下机器人或实时监控系统对高帧率的要求。

4.3 可视化分析:感受野与检测效果

为了直观理解HDC结构的作用,我们对深层特征图进行了可视化(Grad-CAM类方法)。对比原始YOLOv4-tiny和MODA对同一张密集海胆图像的特征响应热力图,可以明显看到:

  • 原始模型 :热力响应主要集中在少数几个最明显的海胆上,且响应区域较小、较分散。
  • MODA模型 :热力响应更加强烈、范围更大,能够覆盖到更多边缘模糊、对比度低的海胆目标,并且对每个目标的核心区域激活更加集中。

这从视觉上证实了HDC结构有效扩大了网络的有效感受野,使其能够整合更大区域的上下文信息,从而“发现”那些在局部看来特征不明显的目标。

在检测结果可视化对比中(见图13,14),MODA成功检出了许多原版YOLOv4-tiny漏检的小目标(如远处的小海胆、隐藏在珊瑚缝隙中的生物),并且大幅减少了将背景纹理误检为生物的案例。特别是在Aquarium数据集中,对于快速游动的鱼群,MODA的检测框更加稳定,抖动更小。

5. 部署考量与未来展望

5.1 实际部署中的注意事项

将MODA模型应用于实际水下检测系统时,有几个工程要点需要考虑:

  1. 模型压缩与加速 :虽然MODA已经很轻量,但在边缘计算设备(如Jetson Nano, NX)上部署时,可以进一步使用TensorRT或OpenVINO等工具进行推理优化,利用FP16或INT8量化在几乎不损失精度的情况下进一步提升速度。
  2. 数据域的适配 :不同海域、不同季节、不同设备拍摄的水下图像风格差异巨大。在实际部署前,必须在目标水域采集少量数据(即使没有精细标注)进行 域适应(Domain Adaptation) 微调。可以使用生成对抗网络(GAN)进行风格迁移,或直接在目标域数据上对MODA的最后一两层进行微调,能极大提升模型在特定场景下的鲁棒性。
  3. 动态环境处理 :对于波浪导致的目标模糊和抖动,单纯的图像检测可能不够。可以考虑结合 多帧信息 或简单的 卡尔曼滤波 进行目标轨迹预测与关联,平滑检测结果,提高稳定性。
  4. 类别不平衡问题 :在特定养殖场,可能某类生物(如海参)数量远多于其他。需要在训练时采用 加权损失函数 过采样/欠采样 策略,防止模型偏向于数量多的类别。

5.2 未来改进方向

尽管MODA在精度和速度上取得了良好平衡,但仍有提升空间:

  1. 针对极小目标的优化 :当前模型对于像素面积小于16×16的“极小目标”漏检率仍较高。未来可以借鉴FPN-PAN的更深层融合,或专门设计一个更浅的、高分辨率的检测头(如来自P2特征层)来专门负责极小目标检测。
  2. 自适应注意力机制 :当前的CA模块是固定加在网络中的。可以探索动态路径网络,让模型自己学习在哪些层、何时需要引入注意力,实现计算资源的自适应分配。
  3. 多模态信息融合 :单纯依靠光学图像在水质浑浊时效果会急剧下降。可以考虑融合声呐(声学图像)或多光谱信息,设计一个跨模态的检测网络,提升全天候、全水深的检测能力。
  4. 从检测到实例分割 :对于生态研究,仅提供边界框可能不够。可以在MODA的检测头基础上,增加一个轻量化的掩码预测分支,实现实时的海洋生物实例分割,提供更精细的形态学信息。

通过这项研究,我们验证了在轻量化骨干网络上,通过精心设计的即插即用模块(CA和HDC)来针对性强化特定能力(空间感知和上下文建模),是提升复杂场景下目标检测性能的一条高效路径。MODA模型为资源受限的水下平台实现高精度、实时的海洋生物观测提供了一个可靠的技术选项。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐