摘要针对复杂海洋环境下多类别船舶检测任务中存在的类别混淆与精确率不足问题本文基于YOLOv8目标检测算法构建了一套船舶识别检测系统。系统涵盖10类常见船舶类型包括散货船、集装箱船、杂货船、油品船、客船、油轮、拖网渔船、拖船、车辆运输船和游艇。实验采用自建数据集共包含4,998张标注图像其中训练集3,498张、验证集1,000张、测试集500张。实验结果表明该系统在测试集上的平均精度均值mAP50达到94.1%召回率达到100%精确率为93.7%。模型对客船、拖网渔船、拖船等类别识别效果极佳但对油轮与油品船之间存在一定的类别混淆。总体而言所提系统在船舶检测任务中表现出高召回与高精度的优良性能具备较强的工程应用价值。目录摘要功能模块1、用户管理模块2、界面与交互模块3、检测源管理模块4、检测参数配置模块5、YOLO检测核心模块6、结果显示模块7、结果保存模块8、工具栏功能9、辅助功能10、数据校验模块引言背景船舶检测的重要性目标检测技术发展现存挑战数据集介绍类别设置数据集划分标注格式训练过程训练结果1、整体性能评估非常优秀​编辑2、各类别详细性能3、混淆矩阵分析​编辑4、训练过程分析​编辑常用标注工具功能模块✅用户登录注册支持密码检测密码加密。注册登录✅图片检测可对图片进行检测返回检测框及类别信息。✅参数实时调节置信度和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/GPU10、数据校验模块功能描述注册验证用户名长度≥3密码长度≥6密码一致性检查邮箱格式验证协议确认注册前需勾选同意用户协议文件校验模型文件存在性检查文件大小验证≥6MB输入非空登录/注册时必填项非空检查引言随着全球航运业的快速发展船舶类型自动识别在港口管理、海上交通监控、渔业监管及国防安全等领域具有重要应用价值。传统的船舶识别方法多依赖人工观察或雷达信号分析存在效率低、成本高、易受天气影响等局限性。近年来基于深度学习的目标检测技术尤其是YOLO系列算法因其检测速度快、精度高已广泛应用于遥感图像、无人机航拍及视频监控中的船舶检测任务。然而现有研究多集中于船舶与背景的二分类检测或在少量船舶类别上进行识别对于10类及以上细粒度船舶分类的研究仍较为有限。此外油轮与油品船等外观相似的船型之间容易出现误检成为制约系统精确率的关键问题。为此本文基于YOLOv8框架构建了一个覆盖10类主要船舶类型的识别检测系统并在自建的大规模标注数据集上进行训练与评估。本文的主要贡献包括构建了一个包含近5,000张图像、10类船舶的高质量数据集实现了对10类船舶的高召回检测Recall100%分析了类别混淆的具体成因并提出针对性改进方向。背景船舶检测的重要性船舶类型识别是智能海洋监控系统的核心任务之一。不同类型的船舶在航行速度、载货性质、停靠权限及风险等级上存在显著差异。例如油轮和油品船需重点监控以防泄漏事故而游艇和客船则关注乘客安全。因此实现对船舶类型的自动细粒度识别对于提升海事管理智能化水平具有重要意义。目标检测技术发展传统目标检测方法如Haar级联、HOGSVM等在船舶识别中效果有限难以应对光照变化、波浪干扰及船舶部分遮挡等复杂情况。2012年以来卷积神经网络CNN的兴起推动了目标检测技术的快速发展。其中YOLOYou Only Look Once系列以端到端回归的方式同时预测目标位置与类别在实时性与精度之间取得了良好平衡。YOLOv8作为Ultralytics于2023年发布的最新版本在骨干网络、损失函数及数据增强策略上进行了多项优化支持更高效的多尺度特征提取与更精准的边框回归。因此本文选择YOLOv8作为船舶识别检测的基础模型。现存挑战尽管YOLOv8在通用目标检测任务上表现优异但在特定领域——如船舶细粒度分类——仍面临以下挑战类间相似性高油轮与油品船、散货船与杂货船外观高度相似易产生混淆数据不平衡某些船型如拖网渔船、游艇样本量可能较少背景干扰海面波浪、港口建筑物及光照反射可能引入误检。本研究正是针对上述挑战基于自建的多类别均衡数据集对YOLOv8进行训练与系统评估。数据集介绍类别设置数据集共包含10类船舶具体如下序号类别名称英文类别名称中文0BULK CARRIER散货船1CONTAINER SHIP集装箱船2GENERAL CARGO杂货船3OIL PRODUCTS TANKER油品船4PASSENGERS SHIP客船5TANKER油轮6TRAWLER拖网渔船7TUG拖船8VEHICLES CARRIER车辆运输船9YACHT游艇数据集划分数据集总图像数量为4,998张按如下比例划分集合图像数量比例训练集3,49870%验证集1,00020%测试集50010%标注格式所有图像均使用边界框bounding box标注采用YOLO格式归一化的中心坐标与宽高。每张图像可能包含多艘船舶标注信息存储在对应的.txt文件中。训练过程训练结果1、整体性能评估非常优秀mAP50: 0.94194.1%mAP50-95: 0.94194.1%Precision: 0.93793.7%Recall: 1.00100%结论模型整体性能非常出色尤其是召回率达到100%意味着所有船舶都被成功检测出来没有漏检。2、各类别详细性能类别PrecisionRecall表现评价PASSENGERS SHIP0.9951.00⭐ 极佳TRAWLER0.9951.00⭐ 极佳TUG0.9941.00⭐ 极佳VEHICLES CARRIER0.9951.00⭐ 极佳YACHT0.9951.00⭐ 极佳CONTAINER SHIP0.9891.00优秀BULK CARRIER0.9391.00良好GENERAL CARGO0.9331.00良好OIL PRODUCTS TANKER0.7781.00需改进TANKER0.7581.00需改进问题类别OIL PRODUCTS TANKER和TANKER的精确率偏低约0.76-0.78存在较多误检把其他船误认为这两类3、混淆矩阵分析从归一化混淆矩阵可以看出TANKER与OIL PRODUCTS TANKER之间存在明显混淆~0.27的误分BULK CARRIER与GENERAL CARGO也有一定混淆背景误检极少~0.01说明模型对船舶/背景区分能力强4、训练过程分析训练损失box_loss、cls_loss、dfl_loss 均从较高值平稳下降至接近0收敛良好验证损失同样呈下降趋势没有明显过拟合精确率/召回率在训练早期10 epoch内就达到0.88-0.90以上收敛速度快常用标注工具假设您现在准备好进行标注。有几种开源工具可以帮助简化数据标注流程。以下是一些有用的开放标注工具Label Studio一个灵活的工具支持各种标注任务并包含用于管理项目和质量控制的功能。 CVAT一个强大的工具支持各种标注格式和可定制的工作流程使其适用于复杂的项目。 Labelme一个简单易用的工具可以快速标注带有多边形的图像非常适合简单的任务。 LabelImg: 一款易于使用的图形图像标注工具特别适合以 YOLO 格式创建边界框标注。这些开源工具经济实惠并提供一系列功能来满足不同的标注需求。界面核心代码