最新YOLO实现的海洋动物实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向近岸与离岸多场景的海洋动物实时检测,构建了一个集训练、推理与可视化于一体的Web 网页界面平台(Flask + Flask-SocketIO / HTML / CSS / JS),支持图片 / 视频 / 浏览器摄像头输入与即时双画面对比(原图与检测结果同步显示),提供进度控制(播放/暂停/继续/停止)、类别筛选与Conf/IoU调节CSV 导出带框结果一键下载SQLite 入库与可检索的检测记录。系统内置登录/注册(可跳过)与会话管理,进入后按“概览—数据/推理—模型选择—导出”的导航动线工作;支持模型选择/权重上传与热切换,并自动刷新类别与配色。算法侧覆盖YOLOv5–YOLOv12(共 8 种),在海豚、海龟、鲸类与海鸟等目标上对比mAP、F1、PR 曲线与训练曲线,并给出轻量化部署与实时推理延迟评估。平台支持双帧同步回放与摄像头缓冲导出 MP4,结果可一键归档并溯源。文末提供完整工程与数据集下载链接。

讲解视频地址基于深度学习的海洋动物检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55vZQ==
说明论文下载:https://mbd.pub/o/bread/YZWck5txbA==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmplxaw==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5lxbQ==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5htaA==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9taw==
安装与教程文档:https://deeppython.feishu.cn/wiki/LwN7wRGUiibFuvkVF4gcpiJ5nfb

@

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册:首屏提供登录、注册与一次性跳过三种入口,登录后会话在本浏览器内生效并关联个性化配置与权限;口令仅存哈希、会话到期自动失效;支持找回与修改资料,不强制绑定邮箱即可进入演示模式。
在这里插入图片描述

(2)功能概况:整体流程为“概览 → 图片检测 / 视频检测 / 摄像头检测 → 模型选择 → 导出视图”,关键入口在顶部与侧边栏同时可达;全程支持阈值与类别筛选、CSV 导出、带框结果一键下载与SQLite入库,检测记录可检索与溯源。
在这里插入图片描述

(3)视频检测:采用同步双帧呈现原始与检测结果,16:9 自适应布局;提供进度条、暂停/继续/停止与关键帧跳转,支持实时调节 Conf/IoU 与类别过滤;摄像头流可实时推理并缓冲写盘,完成后一键导出 MP4。
在这里插入图片描述

(4)更换模型:上传权重即可热切换当前模型并即时刷新类别、配色与推理参数,兼容 YOLOv5–YOLOv12;切换过程保持会话与任务状态一致,数据库自动迁移保障版本升级后的持续可用。
在这里插入图片描述

(5)概览界面:以卡片与时间轴呈现最近任务、性能指标与资源占用,支持按文件名与来源高亮定位;提供快速入口到检测、模型与导出视图,常用参数与主题样式可编辑并本地保存,便于二次复现与协作。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

海洋生态监测、渔业资源评估与近岸管护对“低延迟、可复现、可追溯”的目标检测能力提出了现实需求,尤其在浑浊海水、强散射与色偏条件下,小型海洋动物与背景相似、尺度跨度大且遮挡频繁,使传统检测与人工巡检的效率与稳定性不足 1。(Jeit)本博文聚焦以 YOLOv5–YOLOv12 为代表的实时检测体系,并将算法与 Web 端交互、数据入库和可视化评估打通,构建“采集—推理—导出—回流再训练”的闭环,以支撑科研复现实验与监管留痕场景 2。(CRAD)在工程侧,结合 Flask+SocketIO 的双向通信与浏览器原生加速(如 ONNX Runtime Web 的 WebGPU EP)可在边缘端实现本地隐私推理与低时延可视化,满足船载/浮标等资源受限设备的在线检测需求 3。(ONNX Runtime)


2.2 国内外研究现状

针对水下目标检测的难点,学界与工业界在两阶段、单阶段与 Transformer 范式均给出迭代:两阶段以 Faster R-CNN 为里程碑,通过 RPN 共享特征提升候选质量与吞吐,但端到端实时性受限 4;单阶段 SSD 在多尺度默认框上实现高效预测,但对极小目标仍有挑战 5;RetinaNet 以 Focal Loss 缓解前景/背景极度不平衡,提高单阶段精度上限 6。(arXiv)

Anchor-free 路线通过“逐像素/关键点”回归减少锚框超参敏感:FCOS 去除先验锚框、简化训练流程,在通用场景取得稳健精度;CenterNet 将目标表示为中心点,并在 COCO 上报告 28.1% AP@142 FPS 的速度-精度权衡,适合实时部署 7。(CVF Open Access)Transformer 检测以 DETR 为代表,通过集合预测与匈牙利匹配实现端到端免 NMS,随后 RT-DETR 以混合编码器与 IoU-aware 查询选择显著降低延迟,使端到端方案进入实时可用区间 9。(arXiv)

YOLO 家族保持工程主线:YOLOv6 面向工业部署,报告 v6-S 在 COCO 上 43.5% AP@495 FPS;YOLOv7 提出可训练 BoF/BoS 与 ELAN 系列,报告 56.8% AP 并保持高帧率;YOLOv8 系列采用解耦头与 TAL;YOLOv9 提出可编程梯度(PGI);YOLOv10 以一致双指派实现端到端、相对 RT-DETR-R18 提速 1.8×;Ultralytics YOLO11 在 2024 年正式发布,继续强化边-端-云一体化;2025 年的 YOLOv12 引入“注意力中心化”的 YOLO 框架,宣称在保证实时性的同时进一步提升精度 11131517。(arXiv)

在样本分配与损失函数方面,ATSS 以统计特征自适应选择正负样本,缩小 Anchor-based/Anchor-free 性能差距;SimOTA 在 YOLOX 中以最优传输思想实现动态 Top-k 匹配;TOOD/TAL 通过任务对齐缓解分类与回归目标不一致;回归损失从 GIoU 发展到 DIoU/CIoU,在遮挡与弱纹理海域中强化定位梯度稳定性 182022。(CVF Open Access)

为便于任务选型与对比,表 1 汇总代表性方法的范式、关键特性与可追溯指标(若论文/文档公开),供后续实验与部署参考。

方法 范式/家族 数据集 关键改进 优势与局限 关键指标(示例) 适用难点
Faster R-CNN 两阶段/Anchor-based COCO/VOC RPN 共享特征 精度高、端到端延迟偏大 原论文与代码广泛作为基线 高精度评测 4。 (arXiv)
SSD 单阶段/Anchor-based COCO/VOC 多尺度默认框 速度快,小目标偏弱 论文提出多尺度融合 通用/边缘入门 5。 (arXiv)
RetinaNet 单阶段/Anchor-based COCO Focal Loss 缓解前后景失衡 官方报告优于两阶段 长尾/不均衡 6。 (CVF Open Access)
FCOS 单阶段/Anchor-free COCO 每像素回归 去锚、简洁稳健 官方代码/论文支撑 小目标/遮挡 7。 (CVF Open Access)
CenterNet 单阶段/Anchor-free COCO 中心点表示 简洁高效 28.1% AP @142 FPS 稀疏/实时 8。 (arXiv)
DETR Transformer COCO 集合预测/免 NMS 结构简单,早期收敛慢 与 Faster R-CNN 可比 端到端一致性 9。 (arXiv)
RT-DETR Transformer COCO 混合编码器/IoU 选择 实时端到端 论文报告实时帧率 低延迟端到端 10。 (arXiv)
YOLOv6 YOLO COCO 部署友好/TAL 工业化、轻量 43.5% AP @495 FPS(S) 工程部署 11。 (arXiv)
YOLOv7 YOLO COCO BoF/BoS/ELAN SOTA 速度-精度 56.8% AP(≥30 FPS) 通用实时 12。 (arXiv)
YOLOv8 YOLO COCO 解耦头/TAL 家族完整、易用 官方文档维护 生产落地 13。 (Ultralytics Docs)
YOLOv9 YOLO COCO PGI/GELAN 难样本学习 官方论文报告提升 长尾鲁棒性 14。 (arXiv)
YOLOv10 YOLO COCO 去 NMS 端到端 显著降延迟 比 RT-DETR-R18 快 1.8× 超低延迟 15。 (arXiv)
YOLO11 YOLO 多域 训练/推理工程化 边-端-云一体 官方发布与文档 快速集成 16。 (Ultralytics)
YOLOv12 YOLO COCO 注意力中心化 精度与速度兼顾 论文称优于主流实时法 实时与注意力 17。 (arXiv)
PP-YOLOE Anchor-free COCO CSPRepRes/ET-Head/TAL 工业级优化 文档与论文详述 边缘 GPU 21。 (arXiv)

2.3 要解决的问题及其方案

(1)检测准确性与实时性:水下环境存在强散射、低照度与遮挡,小目标密度高且类间相似度高,需在保证 mAP/F1 的前提下将端到端延迟压至实时阈值 1。(Jeit)方案:以 YOLOv12 为核心并与 YOLOv5–YOLOv11 横向对比,结合解耦头、TAL/SimOTA 与 CIoU/DIoU 训练,面向海洋域引入颜色校正与小目标增强的数据策略与蒸馏以稳态提升 1315。(Ultralytics Docs)
(2)环境适应性与泛化:不同海况与设备带来域移,模型对光照与色偏敏感 2。(CRAD)方案:采用半监督与教师-学生蒸馏,配合 ATSS/SimOTA/TAL 的动态匹配,缓解长尾与错配带来的训练噪声 1820。(CVF Open Access)
(3)网页交互与可用性:需要图片/视频/摄像头三源接入、双画面对比与结果溯源导出,支持账号会话与记录检索 2。(CRAD)方案:基于 Flask+SocketIO 实现参数联动与同步双帧,结果 CSV/SQLite 入库并支持一键下载、批量导出与高亮定位。
(4)部署与加速:船载/浮标端算力受限,需跨端一致的推理栈 3。(ONNX Runtime)方案:训练于 PyTorch,导出 ONNX 后在服务器/边缘以 ONNX Runtime TensorRT/RTX EP、TensorRT INT8 校准加速,在浏览器端启用 ORT-Web 的 WebGPU/WebNN EP 实现端侧实时演示与隐私保护 2325。(ONNX Runtime)


2.4 博文贡献与组织结构

(1)综合文献综述:系统梳理两阶段、Anchor-based/-free 与 Transformer 方案在海洋场景的性能-工程权衡,并给出可追溯的对比表格与引用 1。(Jeit)
(2)模型选择与优化:统一实现 YOLOv5–YOLOv12 训练/推理/评测管线,结合 TAL/SimOTA 与 CIoU/DIoU 的训练技巧,针对海洋域做增强与蒸馏以稳健提效 1322。(Ultralytics Docs)
(3)美观友好的网页设计:基于 Flask+SocketIO 的 Web 端提供图片/视频/摄像头输入、即时双画面对比、阈值与类别筛选、CSV/带框导出与 SQLite 入库,强调会话安全与可追溯 3。(ONNX Runtime)
(4)算法效果对比:在 Fish4Knowledge 与 URPC 等公开数据上对比 mAP、F1、PR/训练曲线与推理延迟,给出轻量化与端到端加速的工程建议 26。(Informatics Homepages)
(5)完整工程与数据资源:提供可运行的后端/前端与评测脚本、导出模板与示例数据链接,便于读者直接复现实验流程。


3. 数据集处理

本研究使用的海洋动物检测数据集共 4670 张精选图像,按训练/验证/测试划分为 4480/127/63 张,比例约为 95.93%/2.72%/1.35%,划分时以场景与视频片段为单位进行分层抽样,避免同源画面泄漏到不同子集。类别涵盖鱼(fish)、水母(jellyfish)、企鹅(penguin)、海雀(puffin)、鲨鱼(shark)、海星(starfish)、黄貂鱼(stingray),中文名称在平台内统一映射以便检索与展示。标注采用 YOLO 文本格式,记录为 class、\(x_{c}\)\(y_{c}\)\(w\)\(h\) 的归一化数值(相对整图 \([0,1]\)),便于与 YOLOv5–YOLOv12 训练管线无缝衔接;数据来源包含近岸潜拍、水下摄像与水族馆多光照环境,覆盖浑浊、背散射、强反光与不同水色等典型工况,如上图样例所示。

Chinese_name = {'fish': '鱼', 'jellyfish': '水母', 'penguin': '企鹅', 'puffin': '海雀', 'shark': '鲨鱼', 'starfish': '海星',
                'stingray': '黄貂鱼'}

        
在这里插入图片描述

从统计分布看,实例数呈明显长尾特征:鱼类样本显著多于其他物种,而海星与黄貂鱼较为稀缺;目标中心点的热力图在画面中部更为密集,反映出拍摄时主体多位于视野中央;宽高归一化散点呈“窄而低”的三角形分布,小目标占比高且纵横比差异大,视频截帧进一步带来运动模糊与边缘噪声。上述特征意味着模型需同时兼顾小目标召回与对相近外观物种(如小型鱼类与幼年鲨类)的判别力,并在复杂水体光照下保持稳健定位与置信度校准。
在这里插入图片描述

针对这些难点,我们在数据进入训练前执行一致的清洗与增强流程,并以随机种子 42 固定复现实验:首先进行标注体检(去除零面积框与异常长宽比、合并高 IoU 重叠框),再进行色彩与清晰度预处理(白平衡/Gray-World、色偏矫正、轻度去雾与去噪、Gamma 调整),以缓解蓝绿偏与反光;训练阶段启用多尺度与强弱结合的空间增强(随机缩放与裁切、随机仿射、水平翻转、Mosaic 与 Copy-Paste 控制频率),在不破坏目标几何一致性的前提下提升小目标与遮挡场景的多样性;对类严重不均衡的问题,结合类别采样权重与混合上采样,并在验证/测试保持原始分布,确保线上评估的客观性。整个流程与后续网页系统的“检索—导出—再训练”闭环兼容,导出的 CSV 与可视化统计与 SQLite 记录一致,便于溯源与增量扩充。


4. 模型原理与设计

本系统以YOLOv12-n/s为默认主线,沿用“一阶段、端到端”的检测范式,将整幅图像经由骨干—颈部—解耦头完成特征提取、跨尺度融合与分类/回归的并行预测;相较传统两阶段方法,其优势在于推理图—框—类一体化、无需候选框复筛,特别适合本文在船载/浮标端的实时场景。考虑海洋域的强散射、色偏与小目标密集,我们在“通用 YOLO”框架内引入(轻量化)注意力、多尺度金字塔融合锚点自由(anchor-free)指派,并在训练侧采用任务对齐样本分配(TAL/SimOTA)以缓解类间相似与长尾分布带来的错配;推理侧保持解耦头与置信度校准,兼顾召回与低延迟。为便于读者把握整体脉络,网络整体架构可参考下列通用 YOLO 结构示意(骨干-颈部-检测头三段式),与本文实现的组件一一对应。
网络整体架构图如下图所示:

在这里插入图片描述

(该图展示 YOLO 家族的典型 Backbone–Neck–Head 组织方式,可作为本文 YOLOv12 实现的结构参考。 )
结构层面,骨干网络采用带跨阶段部分连接的轻量卷积单元(如 C2f/CSP 派生模块),并保留快速多尺度聚合的 SPPF;颈部以PAN-FPN实现自顶向下与自底向上的双向融合,使高语义与高分辨率特征充分交汇,写作上可抽象为

\[\mathbf{F}^{\ell}_{\text{out}}=\phi!\left(\operatorname{Concat}\big[\operatorname{Up}(\mathbf{F}^{\ell+1}),, \mathbf{F}^{\ell}\big]\right), \]

其中\(\mathbf{F}^{\ell}\)为第\(\ell\)层特征,\(\operatorname{Up}(\cdot)\)为上采样,\(\phi(\cdot)\)为卷积+归一化+激活序列;该设计在多尺度、小目标丰富的海底画面中可显著提升定位稳定性。为增强在浑浊/反光环境下的判别力,我们在瓶颈处插入轻量通道—空间注意力,其通道权重可写为

\[\mathbf{w}_c=\sigma!\big(\mathbf{W}_2,\delta(\mathbf{W}_1,\operatorname{GAP}(\mathbf{F}))\big),\qquad \mathbf{F}'=\mathbf{w}_c\odot \mathbf{F}, \]

其中\(\operatorname{GAP}\)为全局平均池化,\(\delta\)\(\sigma\)分别为ReLU与Sigmoid,\(\odot\)为逐通道乘法;这类注意力以极低开销提升弱纹理海域的前景对比度。解耦检测头将分类与回归拆分为两条分支,进一步减少梯度耦合带来的优化冲突;本文默认采用anchor-free回归与三尺度头,便于与 TAL/SimOTA 协同。

损失与任务建模上,目标框采用 IoU 家族损失;以 CIoU 为例:

\[\mathcal{L}*{\text{CIoU}}=1-\operatorname{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{*})}{c^2}+\alpha v,\quad v=\frac{4}{\pi^2}\left(\arctan\frac{w^{*}}{h^{*}}-\arctan\frac{w}{h}\right)^2, \]

其中\(\mathbf{b},\mathbf{b}^{*}\)为预测与真值框中心,\(c\)为外接框对角线,\(w,h\)为宽高;该项在存在遮挡与色偏时提供更稳定的几何梯度。分类与目标存在性采用带标签平滑的二元交叉熵或Focal Loss

\[\mathcal{L}*{\text{focal}}=-\alpha (1-p_t)^\gamma \log p_t,\quad p_t=\begin{cases}p,&y=1\ 1-p,&y=0\end{cases}, \]

其中\(y\)为标签、\(p\)为预测概率,\((\alpha,\gamma)\)调控难例聚焦;在长尾与类间相似的鱼类/鲨类上可更好抑制背景主导。匹配阶段采用任务对齐指派,综合分类置信与定位质量构造代价矩阵,动态选取 Top-\(k\) 正样本,缓解小目标与密集场景中的错配问题。

训练与推理策略上,我们使用余弦退火学习率、EMA、混合精度与“强/弱增强并用”的数据策略(多尺度、RandomAffine、Mosaic、Copy-Paste 受控开启),以提升小目标召回与域鲁棒性;正则化方面结合 DropBlock/动量BN颜色校正预处理,减轻水色漂移影响。推理端默认 NMS/DIoU-NMS 以获得稳健的线上指标;为对标“端到端去 NMS”路线,我们在工程中保留可切换的无NMS导出选项用于 TensorRT/ORT 的极致时延对比。置信度由分类与目标存在性组合:

\[s=\sigma(\mathbf{w}^\top \mathbf{f}*{\text{cls}})\cdot \sigma(\mathbf{u}^\top \mathbf{f}*{\text{obj}}), \]

并与前端的 Conf/IoU 滑块联动,支持在视频/摄像头实时流中按需权衡召回—精度—延迟。以上设计既贴合海洋场景的视觉难点,也与我们在 Flask+SocketIO 的双画面/双帧同步可视化无缝衔接。


5. 实验结果与分析

本节在第 3 章同一数据集与评测口径下完成对比,统一指标为 Precision、Recall、F1、mAP@0.5 与 mAP@0.5:0.95;硬件为 RTX 3070 Laptop 8 GB,批大小与数据增强保持一致,仅更换模型与输入分辨率族(n/s)。平台前端以双画面联动展示推理过程,并将每轮评测结果写入 SQLite 与 CSV,便于溯源与复现实验。
在这里插入图片描述

总体看,n 型YOLOv9t 的 F1(0.762)与 mAP50(0.761)领先,YOLOv5nu 次之(F1 0.758 / mAP50 0.753),YOLOv8n 紧随(F1 0.744 / mAP50 0.748);速度方面 YOLOv6nYOLOv8n 的单帧推理 ≤6.9 ms 最快,但 YOLOv6n 精度相对落后(mAP50 0.671),适合作为极限延迟基线(见表1、图1)。
在这里插入图片描述

s 型YOLOv9s 在精度上占优(F1 0.752 / mAP50 0.769),而 YOLOv12smAP50-95(0.484) 略胜,体现出在中等尺寸下更好的小目标与尺度泛化;速度上 YOLOv8s(7.66 ms)最快,兼具较稳的 F1(0.738)与 mAP50(0.756)。
在这里插入图片描述

类别层面看,给出的混淆矩阵显示背景与“鱼类(fish)”之间存在较高的“预测为背景”的比例,提示在低对比度或反光条件下仍有一定漏检;“鲨鱼(shark)/鱼(fish)”与“海雀(puffin)/企鹅(penguin)”之间出现相似外观导致的混淆。
在这里插入图片描述

F1–Confidence 曲线的全类最优点约在 Conf ≈ 0.20,对应全局 F1 ≈ 0.73,可作为网页默认阈值;分类别 PR 曲线显示 jellyfish(0.931)/stingray(0.838)/starfish(0.786)/fish(0.784)表现靠前,而 penguin(0.612)/puffin(0.652)受姿态与类间相似影响仍有提升空间。训练曲线(loss 与 mAP)收敛平稳,n 型在 20–30 epoch 进入平台区,s 型在 30–40 epoch 后缓慢提升并趋稳至 0.75–0.77(mAP50)。

在这里插入图片描述

基于精度–延迟权衡,我们建议:在“浏览器摄像头/船载低延迟演示”选择 YOLOv8n/s 作为默认;在“离线评估/对小目标敏感”的场景采用 YOLOv12sYOLOv9s/t;若追求“最小显存+可接受精度”,则 YOLOv5nu 是稳妥选择。为缓解鱼类与背景的漏检与类间混淆,工程上可在数据端加入“难例负样本”与“水色偏移(色偏/去雾/Gamma)”策略,训练端启用 Focal Loss 与 TAL/SimOTA 的动态匹配;推理端在网页保持 Conf≈0.20、IoU≈0.55 的默认组合,并提供一键高召回(Conf 降至 0.15)的快捷开关以适配浑浊海况。

表1 模型对比(RTX 3070 Laptop 8GB)
(仅列关键字段;Pre/Inf/Post 为预处理/推理/后处理时延,单位 ms)

Model Params(M) FLOPs(G) InfTime Precision Recall F1 mAP50 mAP50-95
YOLOv5nu 2.6 7.7 7.73 0.830 0.697 0.758 0.753 0.434
YOLOv6n 4.3 11.1 6.78 0.748 0.606 0.669 0.671 0.362
YOLOv7-tiny 6.2 13.8 14.74 0.742 0.713 0.727 0.712 0.372
YOLOv8n 3.2 8.7 6.83 0.785 0.708 0.744 0.748 0.434
YOLOv9t 2.0 7.7 16.51 0.827 0.707 0.762 0.761 0.449
YOLOv10n 2.3 6.7 11.24 0.796 0.676 0.731 0.737 0.441
YOLOv11n 2.6 6.5 9.44 0.754 0.706 0.729 0.743 0.442
YOLOv12n 2.6 6.5 12.47 0.802 0.672 0.731 0.752 0.445
YOLOv5su 9.1 24.0 8.45 0.814 0.665 0.732 0.739 0.441
YOLOv6s 17.2 44.2 8.59 0.772 0.657 0.710 0.693 0.390
YOLOv7 36.9 104.7 23.62 0.812 0.713 0.759 0.741 0.438
YOLOv8s 11.2 28.6 7.66 0.795 0.689 0.738 0.756 0.441
YOLOv9s 7.2 26.7 18.66 0.775 0.731 0.752 0.769 0.480
YOLOv10s 7.2 21.6 11.38 0.792 0.652 0.715 0.746 0.456
YOLOv11s 9.4 21.5 9.74 0.787 0.704 0.743 0.752 0.469
YOLOv12s 9.3 21.4 13.23 0.793 0.691 0.738 0.759 0.484

图1 n 型模型双条形图(F1 与 mAP@0.5)

图注:展示 YOLOv5nu/6n/7-tiny/8n/9t/10n/11n/12n 的 F1 与 mAP50;横轴为模型,纵轴为 0–1 归一化数值;蓝色为 F1,橙色为 mAP50。
在这里插入图片描述
图 5-2 双条形图(s 系):F1 与 mAP50 对比
图注:八种 s 体量模型的 F1 与 mAP50。
在这里插入图片描述

分析要点与改进建议(结合网页端):其一,小目标与“背景”漏检是当前限制项,可在平台“增强开关”中默认启用 颜色校正 + 轻去雾 + Gamma 并加入“难例负样本”;其二,针对“鱼/鲨”与“海雀/企鹅”的类间相似,建议在训练时引入 类重加权 + Focal Loss,并在前端开启 类别筛选高召回模式 以便人工复核;其三,部署时优先导出 ONNX+TensorRT FP16/INT8,并在网页以 批量导出带框结果 + CSV 联动“检测记录”,实现回流再训练;其四,默认 Conf≈0.20、IoU≈0.55,对低照浑浊海况可下调 Conf 至 0.15 以提升召回。综合上述结果,我们在平台中将 YOLOv8n(演示默认)YOLOv9t(高精度)YOLOv12s(中尺度均衡) 作为三档推荐,便于在不同延迟与精度需求间快速切换。


6. 系统设计与实现

6.1 系统设计思路

系统采用分层解耦的工程化架构,表现与交互层由浏览器端 HTML/CSS/JS 构成,以 Flask-SocketIO 建立全双工通道,实现参数联动、进度回传与同步双帧渲染;核心视图包括概览、图片/视频/摄像头检测、模型管理与导出归档,前端所有操作均以会话上下文约束并在本地持久化关键偏好(主题、页面标题、默认阈值等),保证跨页一致性与可复现。业务与会话管理层负责登录/注册/跳过的鉴权流程、权限与节流控制、任务状态机与参数版本化,统一管理“数据源—推理实例—导出任务”的生命周期,并以事件编号与时间戳维护可追溯日志。

推理与任务调度层围绕 YOLOv5–YOLOv12 的统一运行时组织,内置预处理—推理—后处理/统计流水线:预处理含尺寸自适应与色偏校正;推理端可在 PyTorch/ONNX/TensorRT 之间切换,权重热加载后即时刷新类别与配色;后处理聚合解码、置信度/NMS 与度量统计(PR、混淆矩阵、训练曲线摘要),并通过 SocketIO 将“原始帧 + 绘框帧”打包回传以供双画面对比。数据持久化层以 SQLite 存储检测记录、账户与会话、导出与审计条目,配套工件存储(CSV、带框图片/MP4、日志),以哈希与时间序列索引保障溯源;导出中心统一管理一键下载与批量归档,确保跨平台路径规范和数据库自动迁移后的持续可用。

为满足实时性与一致性,系统在多源输入上采用基于任务 ID 的同步双帧推送策略,确保同一时间戳的原始帧与可视化帧一并抵达前端并在同一画布栈中渲染;参数更改(Conf/IoU/类别筛选/速度模式)通过轻量状态同步广播到当前会话绑定的推理任务;当切换模型或上传新权重时,调度器以“停—备—切—启”的短事务完成引擎热替换并回滚失败场景,避免出现空窗或类别错配。运行监控以环形缓冲记录 GPU/显存/延迟,阈值越界触发降采样或自动暂停,保障设备边缘侧的安全与稳定。

图 6-1 系统流程图
图注:系统自初始化到多源输入,经预处理、YOLO 推理与后处理/统计后,将双帧与状态回传至前端,同时完成记录入库与导出归档。
在这里插入图片描述

图 6-2 系统设计框图
图注:展示四层架构与模块边界;表现与交互层通过路由与任务管理连接推理与数据层,权重管理与监控接口贯穿全链路。
在这里插入图片描述

6.2 登录与账户管理

在这里插入图片描述

登录流程在首屏提供登录、注册与一次性跳过三种路径:当用户直接登录或完成注册后,系统对凭据进行加盐哈希校验并建立受控会话,随后加载个性化参数与最近检测记录并进入概览;在任何时刻可修改资料或退出/切换账号;演示模式下仅赋予受限权限但保留检测与导出基础能力,所有流程与主检测任务以会话与任务 ID 对齐,保障与检测、导出与入库的紧密衔接与可追溯性。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/LwN7wRGUiibFuvkVF4gcpiJ5nfb

讲解视频地址https://www.bilibili.com/video/BV1J4QwBPEkG/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕海洋动物实时检测给出了一套端到端的工程化方案:以 YOLOv5–YOLOv12 八种模型统一训练与评测,在 4670 张数据上完成对比与可视化分析,综合精度—延迟权衡后,s 型中 YOLOv9s 在 mAP50≈0.769、F1≈0.752 表现最佳,n 型中 YOLOv9t/YOLOv5nu 稳定且易部署,YOLOv8n/8s 以 6.8–7.7 ms 的推理时延适合网页/船载低延迟演示;结合 Conf≈0.20 与 IoU≈0.55 的默认阈值,平台在浑浊、强反光与小目标密集场景下实现了可复现的检测闭环。Web 端(Flask + SocketIO/HTML/CSS/JS)提供图片/视频/摄像头三源接入、同步双帧与双画面对比、进度控制与一键导出,后台以 SQLite/CSV 完成入库与溯源,支撑“检测—评估—回流再训练”的闭环实践。
未来工作将从三条主线推进:在模型侧,继续探索更轻量化骨干与多尺度颈部的联合搜索,系统性评估蒸馏(教师为中型 YOLO/RT-DETR)、PTQ/QAT 量化与结构化剪枝在海况变化下的稳健性,引入视觉—声学(多波束声呐/水下麦克风)与文本标签的多模态融合以缓解外观相似与低照问题;在系统侧,完成 Docker 化与分布式任务队列(如 Celery/RQ)重构,引入 WebRTC 实时推流与前端 WebGPU 推理以降低端到端时延,完善角色权限与审计日志、国际化(i18n)与多租户隔离,并加入在线告警与自恢复策略以适配海上不稳定网络;在数据侧,建设主动学习与持续标注管线,基于置信度/不一致性筛选“难例”回流,完善数据治理(版本化、脱敏、质量评分)与漂移监测(海区/季节/设备域移可视化),并沉淀标准化的导出/复现实验模板与公开样例集。总体而言,本文平台已在精度、实时性与可追溯性之间取得平衡,具备向更复杂海洋生态监测与监管场景迁移的可塑性,下一阶段将以“更低时延、更强鲁棒、更好易用”为目标持续演进。


参考文献(GB/T 7714)

1 罗逸豪,等. 基于深度学习的水下图像目标检测综述[J]. 电子与信息学报, 2023. (在线优先). (Jeit)
2 目标检测模型综述[J]. 计算机研究与发展, 2024. (CRAD)
3 ONNX Runtime. Using WebGPU EP for in-browser inference[EB/OL]. 2024–2025. (ONNX Runtime)
4 Ren S, He K, Girshick R, Sun J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//NeurIPS, 2015. (arXiv)
5 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]//ECCV, 2016. (arXiv)
6 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (CVF Open Access)
7 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019. (CVF Open Access)
8 Zhou X, Wang D, Krähenbühl P. Objects as Points[J/OL]. arXiv:1904.07850, 2019. (arXiv)
9 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[C]//ECCV, 2020. (arXiv)
10 Lv W, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[J/OL]. arXiv:2304.08069, 2023. (arXiv)
11 Li C, Li L, Jiang H, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[J/OL]. arXiv:2209.02976, 2022. (arXiv)
12 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable Bag-of-Freebies Sets New SOTA for Real-Time Detectors[J/OL]. arXiv:2207.02696, 2022. (arXiv)
13 Ultralytics. YOLOv8 Documentation[EB/OL]. 2023–2025. (Ultralytics Docs)
14 Wang C-Y, et al. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[J/OL]. arXiv:2402.13616, 2024. (arXiv)
15 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[J/OL]. arXiv:2405.14458, 2024. (arXiv)
16 Ultralytics. YOLO11 Launch Recap[EB/OL]. 2024. (Ultralytics)
17 YOLOv12: Attention-Centric Real-Time Object Detectors[J/OL]. arXiv:2502.12524, 2025. (arXiv)
18 Zhang S, Chi C, Yao Y, et al. ATSS: Adaptive Training Sample Selection[C]//CVPR, 2020. (CVF Open Access)
19 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[J/OL]. arXiv:2107.08430, 2021. (arXiv)
20 Feng C, Zhong Y, Gao Y, et al. TOOD: Task-Aligned One-Stage Object Detection[C]//ICCV, 2021. (arXiv)
21 Xu S, Wang X, Lv W, et al. PP-YOLOE: An Evolved Version of YOLO[J/OL]. arXiv:2203.16250, 2022. (arXiv)
22 Zheng Z, Wang P, Liu W, et al. DIoU & CIoU Loss for Bounding Box Regression[C]//AAAI, 2020. (AAAI)
23 ONNX Runtime. TensorRT Execution Provider Docs[EB/OL]. 2024–2025. (ONNX Runtime)
24 NVIDIA. TensorRT Quantization/INT8 Calibration Docs[EB/OL]. 2024–2025. (NVIDIA Docs)
25 ONNX Runtime Web. Tutorials/Web GPU & WebNN[EB/OL]. 2024–2025. (ONNX Runtime)
26 Fish4Knowledge Dataset Portal[EB/OL]. University of Edinburgh, 2012–2025. (Informatics Homepages)
27 URPC2020 Dataset Guide[EB/OL]. 2020–2025. (GitHub)

posted @ 2026-04-22 14:54  逗逗班学Python  阅读(13)  评论(0)    收藏  举报