摘要
针对水产养殖中鱼类病害人工识别效率低、主观性强等问题,本文基于YOLO26架构构建了一套四类鱼病害识别检测系统。系统涵盖EUS(流行性溃疡综合征)、Eye disease(眼病)、Fin lesions(鳍病变)和Rotten gills(烂鳃病)四种常见病害。实验采用2,321张标注图像进行训练,在255张验证集和290张测试集上评估模型性能。结果表明,模型整体mAP50达到0.847,其中Rotten gills识别效果最优(mAP50=0.992),推理速度达3.4ms/帧。混淆矩阵分析显示,模型对EUS和Eye disease存在一定背景误判,但总体性能满足实际水产养殖场景下的辅助诊断需求。本研究为智能化鱼类健康监测提供了可行的技术方案。
关键词:YOLO26;鱼类病害检测;目标检测;水产养殖;深度学习
引言
随着全球水产养殖业的集约化、规模化发展,鱼类病害问题日益突出,已成为制约产业可持续发展的关键因素之一。传统的病害检测主要依赖人工目视巡检和经验判断,不仅效率低下、劳动强度大,而且易受主观因素影响,往往在病害大规模爆发后才能被发现,导致严重的经济损失。因此,研发快速、准确、自动化的鱼类病害识别系统具有重要的现实意义和应用价值。
近年来,以深度学习为代表的计算机视觉技术在农业病害识别领域取得了显著进展。其中,YOLO(You Only Look Once)系列模型因其端到端的检测架构和优异的实时性能,在目标检测任务中得到广泛应用。YOLO26作为Ultralytics公司推出的最新版本,在检测精度与推理速度之间实现了更好的平衡,特别适合部署在边缘计算设备上,满足水产养殖现场的实时监测需求。
目录
摘要
引言
功能模块
1、用户管理模块
2、界面与交互模块
3、检测源管理模块
4、检测参数配置模块
5、YOLO检测核心模块
6、结果显示模块
7、结果保存模块
8、工具栏功能
9、辅助功能
10、数据校验模块
背景
水产养殖病害检测的现实需求
计算机视觉在水产领域的应用进展
数据集介绍
3.2 病害类别定义
训练结果
整体性能评估编辑
优势
问题
各类别详细分析编辑编辑编辑编辑
混淆矩阵关键发现编辑
训练曲线分析编辑
Ultralytics YOLO26
概述
主要功能
常用标注工具
详细功能展示视频
功能模块
✅用户登录注册:支持密码检测,密码加密。
注册
登录
✅图片检测:可对图片进行检测,返回检测框及类别信息。
✅参数实时调节(置信度和IoU阈值)
✅支持选择检测目标:可以选择一个或者多个类目的目标进行检测
✅视频检测:支持视频文件输入,检测视频中每一帧的情况。
✅摄像头实时检测:连接USB 摄像头,实现实时监测。
✅日志记录:日志标签页记录操作和错误信息,带时间戳
✅结果保存模块:支持图片/视频/摄像头检测结果保存
1、用户管理模块
| 功能 | 描述 |
|---|---|
| 用户注册 | 用户名、密码、确认密码、邮箱(选填)注册,密码SHA256加密存储 |
| 用户登录 | 用户名密码验证,自动跳转主界面 |
| 用户数据存储 | JSON文件存储用户信息(密码加密、注册时间、邮箱) |
| 登录状态 | 主界面显示当前登录用户名 |
2、界面与交互模块
| 功能 | 描述 |
|---|---|
| 玻璃效果界面 | 半透明毛玻璃背景,圆角边框,现代化视觉风格 |
| 无边框窗口 | 自定义标题栏,支持窗口拖动、最小化、最大化、关闭 |
| 响应式布局 | 主窗口三栏布局(左侧控制区、中央显示区、右侧信息区) |
| 状态栏 | 显示设备信息、模型状态、当前用户、实时时间 |
3、检测源管理模块
| 功能 | 描述 |
|---|---|
| 图片检测 | 支持JPG/JPEG/PNG/BMP格式图片载入 |
| 视频检测 | 支持MP4/AVI/MOV/MKV格式视频载入 |
| 摄像头检测 | 实时调用摄像头(默认ID 0)进行检测 |
| 检测源切换 | 下拉菜单切换三种检测模式,自动更新界面状态 |
4、检测参数配置模块
| 功能 | 描述 |
|---|---|
| 置信度阈值 | 滑动条调节(0-100%,步长1%),实时显示当前值 |
| IoU阈值 | 滑动条调节(0-100%,步长1%),实时显示当前值 |
| 类别选择 | 动态生成检测类别复选框,支持全选/取消全选 |
| 参数同步 | 参数实时同步到检测器核心 |
5、YOLO检测核心模块
| 功能 | 描述 |
|---|---|
| 模型加载 | 加载best.pt模型文件,自动检测GPU可用性,支持CPU/GPU切换 |
| 多模式检测 | 图片检测、视频检测、摄像头实时检测 |
| 检测线程 | 基于QThread的多线程处理,避免界面卡顿 |
| 检测结果 | 返回目标类别、置信度、边界框坐标 |
| FPS计算 | 实时计算处理帧率 |
| 进度反馈 | 视频处理进度条实时更新 |
6、结果显示模块
| 功能 | 描述 |
|---|---|
| 实时画面 | 中央区域显示检测结果图像(带标注框) |
| 统计信息 | 检测状态、目标数量、FPS、处理帧数实时更新 |
| 检测列表 | 右侧列表显示当前帧所有检测到的目标(类别+置信度) |
| 日志记录 | 日志标签页记录操作和错误信息,带时间戳 |
| 占位显示 | 未选择检测源时显示系统LOGO和提示文字 |
7、结果保存模块
| 功能 | 描述 |
|---|---|
| 保存开关 | 复选框控制是否保存检测结果 |
| 路径选择 | 自定义保存路径,支持图片/视频格式自动识别 |
| 自动命名 | 保存文件自动添加时间戳(detection_result_20240101_120000.jpg) |
| 视频保存 | 支持检测结果视频录制(MP4格式) |
| 手动保存 | 工具栏保存按钮可随时保存当前画面 |
| 保存反馈 | 保存成功弹窗提示,日志记录保存路径 |
8、工具栏功能
| 功能 | 描述 |
|---|---|
| 图片按钮 | 快速切换到图片检测模式并打开文件选择器 |
| 视频按钮 | 快速切换到视频检测模式并打开文件选择器 |
| 摄像头按钮 | 快速切换到摄像头检测模式 |
| 保存按钮 | 手动保存当前显示画面 |
9、辅助功能
| 功能 | 描述 |
|---|---|
| 错误处理 | 统一错误弹窗提示,日志记录错误详情 |
| 资源清理 | 检测停止时自动释放摄像头、视频文件、视频写入器资源 |
| 时间显示 | 状态栏实时显示系统时间 |
| 模型状态 | 状态栏显示模型加载状态和当前设备(CPU/GPU) |
10、数据校验模块
| 功能 | 描述 |
|---|---|
| 注册验证 | 用户名长度≥3,密码长度≥6,密码一致性检查,邮箱格式验证 |
| 协议确认 | 注册前需勾选同意用户协议 |
| 文件校验 | 模型文件存在性检查,文件大小验证(≥6MB) |
| 输入非空 | 登录/注册时必填项非空检查 |
背景
水产养殖病害检测的现实需求
中国是全球最大的水产品生产国,水产养殖产量占世界总产量的60%以上。在集约化养殖模式下,鱼类病害的发生频率和传播速度显著增加。据农业农村部统计,每年因病害导致的水产养殖经济损失高达数十亿元人民币。常见的细菌性、病毒性、寄生虫性病害,如EUS、烂鳃病、鳍腐烂病等,具有传染性强、潜伏期短、死亡率高等特点。如果不能及时发现并采取隔离或治疗措施,往往在3-7天内即可导致整池鱼群的大量死亡。
传统的人工巡检方法存在明显的局限性。首先,大型养殖场动辄数百个池塘,人工逐池观察耗时耗力,难以做到高频次全覆盖。其次,早期病害的肉眼可见病灶往往非常细微,即使是经验丰富的技术人员也容易漏检。第三,病害诊断需要专业知识,基层养殖户往往不具备准确的鉴别能力,容易延误最佳防治时机。第四,随着劳动力成本上升和从业人员老龄化,养殖场越来越难以维持足够的技术巡检人员。因此,开发一套能够自动、实时、非侵入式检测鱼病害的智能化系统,已成为水产养殖行业数字化转型的迫切需求。
计算机视觉在水产领域的应用进展
计算机视觉技术在水产养殖中的应用经历了从传统图像处理到深度学习的演变。早期研究主要采用颜色特征、纹理分析、形态学操作等手工特征结合SVM、随机森林等分类器,但这类方法对光照变化、水质浑浊、病害形态多样性等情况的鲁棒性较差。
2015年以后,卷积神经网络(CNN)的兴起极大地推动了该领域的发展。在鱼类种类识别、数量计数、行为分析、体型估测等任务上,ResNet、Inception、EfficientNet等分类网络取得了超越传统方法的性能。在病害检测方面,研究人员尝试使用Faster R-CNN、SSD等两阶段或单阶段检测器识别鱼体表面的溃疡、出血点、鳍条腐烂等异常症状。
YOLO系列模型的出现进一步改变了实时检测的可能性。从YOLOv3到YOLO26,模型在保持高帧率的同时持续提升检测精度。特别是YOLOv8引入的无锚框(Anchor-Free)设计、C2f模块、解耦头(Decoupled Head)等创新结构,使其在检测小目标和密集目标时表现出色。这对鱼病害识别尤为重要——早期病灶通常只占图像中很小的像素区域,且可能出现在鱼体的任意位置。
数据集介绍
所有原始图像经过筛选,剔除模糊、曝光过度、无鱼体或病害特征不明显的无效样本,最终保留有效图像2,866张(训练集2,321张、验证集255张、测试集290张)。图像以JPEG格式存储,统一缩放到640×640像素输入模型。
3.2 病害类别定义
根据水产病理学标准和实际养殖中最常见、经济损失最严重的病害类型,本研究定义了四个检测类别:
| 类别名称 | 英文缩写 | 病害描述 | 典型病灶特征 |
|---|---|---|---|
| EUS | EUS | 流行性溃疡综合征 | 体表出现红色溃疡斑,后期发展为深部坏死性溃疡,常伴有真菌菌丝 |
| Eye disease | Eye disease | 眼病 | 眼球突出、浑浊、白斑、出血或眼球脱落 |
| Fin lesions | Fin lesions | 鳍病变 | 鳍条边缘发白、腐烂、缺损,鳍膜破损 |
| Rotten gills | Rotten gills | 烂鳃病 | 鳃丝颜色变淡、黏液增多、组织坏死、鳃盖张开 |
训练结果
整体性能评估![]()
优势
总体精度较高:mAP50达到0.847,mAP50-95为0.452,说明模型对鱼病害有较好的识别能力
特定病害表现优异:Rotten gills(烂鳃病)达到0.992的mAP50,近乎完美
推理速度快:3.4ms/图,适合实时检测场景
硬件利用率高:使用RTX 4090 D,CUDA加速正常
问题
部分类别召回率偏低:Eye disease召回率仅0.684
各类别详细分析![]()
![]()
![]()
![]()
| 类别 | 样本数 | Precision | Recall | mAP50 | mAP50-95 | 评价 |
|---|---|---|---|---|---|---|
| Rotten gills | 57 | 0.954 | 0.982 | 0.992 | 0.556 | 优秀 |
| Fin lesions | 84 | 0.873 | 0.810 | 0.836 | 0.456 | 良好 |
| EUS | 206 | 0.812 | 0.753 | 0.824 | 0.431 | 良好 |
| Eye disease | 79 | 0.772 | 0.684 | 0.738 | 0.364 | 待提升 |
混淆矩阵关键发现![]()
从归一化混淆矩阵看出:
EUS识别问题:24%被误判为背景,说明部分EUS病灶特征不明显或标注边界问题
Eye disease混淆严重:32%被误判为背景,25%被误判为EUS
Fin lesions表现中等:19%被误判为背景
Rotten gills表现最佳:仅2%误判,98%正确识别
训练曲线分析![]()
训练损失:box_loss从1.7降至0.4,cls_loss从5降至约0.01,收敛良好
验证损失:稳定下降,无明显过拟合
性能指标:precision、recall、mAP50、mAP50-95均呈上升趋势并趋于稳定
Ultralytics YOLO26
概述
Ultralytics YOLO26 是 YOLO 系列实时对象检测器的最新演进,从头开始专为边缘和低功耗设备而设计。它引入了简化的设计,消除了不必要的复杂性,同时集成了有针对性的创新,以实现更快、更轻、更易于访问的部署。
YOLO26 的架构遵循三个核心原则:
- 简洁性:YOLO26是一个原生的端到端模型,直接生成预测结果,无需非极大值抑制(NMS)。通过消除这一后处理步骤,推理变得更快、更轻量,并且更容易部署到实际系统中。这种突破性方法最初由清华大学的王傲在YOLOv10中开创,并在YOLO26中得到了进一步发展。
- 部署效率:端到端设计消除了管道的整个阶段,从而大大简化了集成,减少了延迟,并使部署在各种环境中更加稳健。
- 训练创新:YOLO26 引入了MuSGD 优化器,它是SGD 和MUON的混合体——灵感来源于 Moonshot AI 在 LLM 训练中Kimi K2的突破。该优化器带来了增强的稳定性和更快的收敛,将语言模型中的优化进展转移到计算机视觉领域。
- 任务特定优化:YOLO26 针对专业任务引入了有针对性的改进,包括用于Segmentation的语义分割损失和多尺度原型模块,用于高精度姿势估计的残差对数似然估计 (RLE),以及通过角度损失优化解码以解决旋转框检测中的边界问题。
这些创新共同提供了一个模型系列,该模型系列在小对象上实现了更高的精度,提供了无缝部署,并且在CPU 上的运行速度提高了 43%— 使 YOLO26 成为迄今为止资源受限环境中最实用和可部署的 YOLO 模型之一。
主要功能
DFL 移除
分布式焦点损失(DFL)模块虽然有效,但常常使导出复杂化并限制了硬件兼容性。YOLO26 完全移除了 DFL,简化了推理过程,并拓宽了对边缘和低功耗设备的支持。端到端无NMS推理
与依赖NMS作为独立后处理步骤的传统检测器不同,YOLO26是原生端到端的。预测结果直接生成,减少了延迟,并使集成到生产系统更快、更轻量、更可靠。ProgLoss + STAL
改进的损失函数提高了检测精度,在小目标识别方面有显著改进,这是物联网、机器人、航空影像和其他边缘应用的关键要求。MuSGD Optimizer
一种新型混合优化器,结合了SGD和Muon。灵感来自 Moonshot AI 的Kimi K2,MuSGD 将 LLM 训练中的先进优化方法引入计算机视觉,从而实现更稳定的训练和更快的收敛。CPU推理速度提升高达43%
YOLO26专为边缘计算优化,提供显著更快的CPU推理,确保在没有GPU的设备上实现实时性能。实例分割增强
引入语义分割损失以改善模型收敛,以及升级的原型模块,该模块利用多尺度信息以获得卓越的掩膜质量。精确姿势估计
集成残差对数似然估计(RLE),以实现更精确的关键点定位,并优化解码过程以提高推理速度。优化旋转框检测解码
引入专门的角度损失以提高方形物体的检测精度,并优化旋转框检测解码以解决边界不连续性问题。
常用标注工具
假设您现在准备好进行标注。有几种开源工具可以帮助简化数据标注流程。以下是一些有用的开放标注工具:
Label Studio:一个灵活的工具,支持各种标注任务,并包含用于管理项目和质量控制的功能。 CVAT:一个强大的工具,支持各种标注格式和可定制的工作流程,使其适用于复杂的项目。 Labelme:一个简单易用的工具,可以快速标注带有多边形的图像,非常适合简单的任务。 LabelImg: 一款易于使用的图形图像标注工具,特别适合以 YOLO 格式创建边界框标注。
这些开源工具经济实惠,并提供一系列功能来满足不同的标注需求。
界面核心代码: