摘要:本文面向港口安防、海上巡检与海事监管等场景,构建一套基于深度学习的舰船检测与识别桌面系统,目标是在离线可控的前提下实现“可视化、可追溯、可对比”的一体化检测流程。系统提供PySide6/Qt图形界面,支持图片/视频/本地摄像头多源输入与互斥切换,在主显示区实时叠加检测框(类别名+置信度)并同步展示处理用时与进度显示/处理进度条;用户可在线调整 Conf/IoU、选择目标并高亮定位,同时一键完成CSV 导出带框结果一键导出(单帧 PNG / 多帧 AVI),满足巡检取证与复核复现需求。为兼顾易用性与安全性,系统内置登录/注册(可跳过)入口与会话管理,账号信息与检测记录统一落库到SQLite 本地入库,支持按最近记录快速检索与定位;在模型侧提供模型选择/权重加载(.pt 热切换),切换后自动刷新类别信息与配色并即时生效。算法评测覆盖 YOLOv5–YOLOv12(共 8 种)检测器,统一训练与推理流程,输出并对比 mAP、F1、PR 曲线与训练曲线等指标,给出精度、速度与部署成本的综合结论。文末提供完整工程与数据集下载链接

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


1. 系统功能与效果

(1)登录注册:系统提供登录、注册与“跳过进入”的入口,首次进入可快速完成体验,后续也可在账户体系下沉淀个人数据。登录成功后会话在本地客户端范围内生效,用于统一管理历史检测记录、个性化偏好与导出行为。账户信息与记录采用本地存储与口令校验,既便于离线使用,也兼顾基础安全与可追溯性。
在这里插入图片描述

(2)功能概况:主界面遵循“左侧输入源与阈值控制—中央可视化—右侧目标详情—底部记录与进度”的动线组织,用户从概览进入后可按图片/视频/摄像头等模块完成检测闭环。推理过程提供进度条与耗时提示,交互层支持源互斥切换,避免多源并发导致的状态混乱。底部记录区与导出区贯穿全流程,便于快速定位最近一次结果并复核。
在这里插入图片描述

(3)选择模型:用户可在界面中选择本地权重文件实现模型切换,切换后当前类别信息与配色方案同步刷新,避免“模型变更但显示未更新”的错配。模型选择与阈值等常用配置会在本地持久化,重新打开后可保持一致的使用习惯。该流程强调“即选即用”,在不打断操作的前提下完成权重热切换与效果对比。
在这里插入图片描述

(4)图片检测:支持单张图片与图片目录输入,加载后可即时推理并在主显示区叠加检测框,框内展示类别名与置信度以便快速判读。用户可通过 Conf/IoU 参数调节控制误检与漏检的平衡,并对某一目标进行选择与高亮,右侧同步呈现该目标的关键属性。检测结果会同步写入底部记录区,便于跨图像复查与批量对照。
在这里插入图片描述

(5)文件保存:系统提供统一的结果归档策略,检测产生的可视化结果、结构化表格与日志信息可按时间戳命名,便于溯源与批量管理。支持一键导出带框图片与CSV结果,导出后可通过文件名快速检索并回到界面复核对应记录。整体保存体验以“少配置、可追溯、易复查”为目标,降低工程化落地中的整理成本。
在这里插入图片描述


2. 绪论

2.1 研究背景及意义

海上交通与海事监管场景天然具备“目标稀疏但范围极大、背景动态但可观测线索有限”的矛盾,这使得舰船检测与识别既是典型的工程落地问题,也是算法与系统能力的综合考题。1 在遥感与岸基监控等多源成像条件下,舰船目标经常呈现尺度跨度大、姿态变化强、海杂波与云雾干扰明显、遮挡与密集停泊并存等现象,传统依赖手工特征与规则阈值的方案往往难以在精度与实时性之间取得稳定平衡。1 因此,以深度学习为核心的目标检测与类别识别不仅能提升自动化水平,也为后续的轨迹关联、行为分析与证据留存提供更可靠的视觉入口。1 (ope.lightpublishing.cn)

从数据与评价角度看,面向舰船的公开数据通常更强调尺度多样性、遮挡与成像条件变化,这要求系统在训练与推理阶段都具备更强的鲁棒性与可解释输出。1 以海岸视频监控为来源的 SeaShips 数据集给出了较大规模的精细标注样例,并覆盖多类常见船型,有助于评估检测器在真实工程画面中的泛化表现。3 与此同时,研究侧常通过多尺度结构与特征融合来对抗小目标漏检和密集场景误检,这类思路也为本文的模型选择与系统交互设计提供了直接的工程启示。2 (GitHub)

2.2 国内外研究现状

围绕“舰船检测与识别”这一具体任务,现有研究普遍将难点归结为类间相似性高与类内差异大并存、密集停泊导致的遮挡与重叠、海面反光与浪纹带来的伪边缘、以及跨平台实时推理的资源约束等问题。1 面向上述挑战,学界通常通过更强的多尺度特征表达、注意力或全局建模机制、以及更贴近部署约束的结构简化与后处理优化来实现性能提升。1

在检测范式上,两阶段方法以候选区域为中介,通常在复杂背景下更稳健,但推理链路更长、工程开销更大。4 一阶段方法通过端到端回归与分类显著提升吞吐量,并在工业应用中形成了更成熟的部署生态。5 为缓解密集目标与正负样本不均衡问题,Focal Loss 通过重新加权易难样本,成为密集检测任务中常见的优化基线之一。[6] 进一步地,Anchor-free 思路通过逐像素或关键点建模减少锚框超参数,FCOS 的中心度分支与分层回归策略在通用检测中表现出良好的精度与简化潜力。[7] 关键点范式的 CenterNet 将目标表示为中心点与尺寸回归,为小目标场景提供了另一种轻量化路径。[8]

在 Transformer 方向,DETR 将检测视为集合预测并用匹配损失约束唯一性,弱化了锚框与 NMS 等手工设计组件,从而提升了建模统一性。[9] 针对 DETR 系列“精度高但算力成本大”的传统印象,RT-DETR 通过高效混合编码器与查询选择机制,将端到端检测推向实时区间,并在 COCO 上给出了兼顾速度与精度的结果。[10] 对舰船任务而言,这类全局建模机制在大视场、长条形目标与远距离小目标同时存在的画面中,往往更利于抑制海面纹理带来的局部误响应。1 (arXiv)

以 YOLO 家族为代表的实时检测器仍是工程系统的主流选择,其技术演进通常围绕骨干与颈部的高效特征提取、检测头解耦、多尺度融合以及训练端的样本分配策略优化展开。1 YOLOX 以 Anchor-free 与解耦头为核心改造方向,在保持高效率的同时强化了分类与回归的优化独立性。[11] PP-YOLOE 通过更贴近工业需求的结构与动态标签分配等策略,在通用数据集上给出更优的速度精度权衡。[12] 在工程生态层面,Ultralytics 系列(如 YOLOv5、YOLOv8)通过统一的训练、验证与导出接口降低了系统集成成本,促使“训练评测与桌面端推理”更易形成闭环。[13] YOLOv8 作为 Ultralytics 的重要版本之一,也强调在可用性与性能之间取得平衡,从而适配更广泛的业务侧落地。[14] 面向进一步的端到端部署趋势,YOLOv10 聚焦于减少对 NMS 的依赖并优化整体效率,强化了实时场景下的端到端推理链路。[15] 更近一步,YOLOv12 将注意力机制放入实时检测框架核心,并给出了在延迟与精度上的对比结果,为“高精度且可实时”的工程目标提供了新的结构参考。[16] (arXiv)

为便于对比不同算法范式与工程属性,下表给出若干代表性方法与数据集在“适用难点”与“关键指标”上的归纳,表中指标均以原论文或官方材料为准。

方法/资源 范式/家族 典型任务特征 关键改进点 优势与局限性 关键指标(示例) 对应任务难点
SeaShips 舰船数据集 海岸监控视频帧、船型标注 大规模精细框标注、多船型覆盖 更贴近工程画面,但仍受采集域限制 31,455 张图像、6 类船型 遮挡、尺度变化、真实背景 3
Faster R-CNN Two-stage 通用检测基线 RPN 候选区域与共享特征 精度稳健但链路偏重 VGG-16 上约 5 fps(含全流程) 复杂背景、误检抑制 4
SSD One-stage/Anchor-based 实时检测 多尺度默认框与特征层预测 速度快但小目标易吃亏 典型输入 300×300 的实时设定 小目标、尺度跨度 5
RetinaNet One-stage/Anchor-based 密集检测 Focal Loss 缓解类别不均衡 训练更稳但仍依赖锚框设计 COCO 上达到有竞争力的 AP 长尾分布、密集目标 [6]
FCOS One-stage/Anchor-free 简化超参 逐像素回归与中心度 部署友好但需尺度分配策略 COCO AP 在论文中给出 密集遮挡、锚框敏感 [7]
CenterNet Anchor-free/Keypoint 关键点检测 “Objects as Points”表示 结构简洁但相邻目标易冲突 论文给出速度与 AP 对比 紧邻目标、中心冲突 [8]
DETR Transformer 集合预测 匹配损失与全局查询 统一性强但训练与算力成本较高 与两阶段基线相当的设定 大视场全局建模 [9]
RT-DETR Transformer/Real-time 端到端实时 高效混合编码器与查询选择 端到端但实现更复杂 53.1% AP、108 FPS(T4) NMS 依赖、实时性 [10]
YOLOX YOLO系/Anchor-free 工程实时 解耦头与样本分配 速度精度平衡但仍需后处理 论文与报告给出多尺度对比 多尺度、小目标 [11]
PP-YOLOE YOLO系/Anchor-free 工业部署 动态标签分配与结构优化 部署友好但生态偏工程化 51.4 mAP、78.1 FPS(V100) 实时性、可部署性 [12]
YOLOv10 YOLO系/端到端趋势 NMS弱化 一致双分配等端到端设计 工程链路更简但兼容性需验证 论文给出延迟精度权衡 端到端、低延迟 [15]
YOLOv12 YOLO系/Attention-centric 高精实时 注意力中心架构 精度更强但注意力开销需控制 40.6% mAP、1.64 ms(T4) 复杂背景、全局关系 [16]

综合来看,算法侧的趋势正在从“单纯堆叠卷积与后处理技巧”逐步转向“端到端、强表征、可部署”的一体化设计。[15] 系统侧的趋势则更强调模型格式互通与推理后端的工程加速,ONNX 提供了跨框架的中间表示以降低部署割裂问题。[17] 以 NVIDIA TensorRT 为代表的推理引擎通过图优化、算子融合与低精度计算等机制提升吞吐量,是边缘与桌面端部署常用的加速选项。[18] 在资源受限场景中,整数化量化为降低延迟与内存开销提供了可行路径,但需在精度损失与硬件友好性之间进行权衡。[19] 知识蒸馏则通过教师学生框架在较小模型上逼近大模型性能,为“实时且高精”的舰船检测系统提供了额外的模型压缩思路。[20] (ONNX)

2.3 要解决的问题及其方案

面向“基于深度学习的舰船检测与识别系统”,本文需要解决的问题主要体现在以下四个方面:(1)检测与识别的准确性和实时性需要兼顾,尤其在远距离小目标与密集停泊场景中容易出现漏检与误检并存的现象。(2)模型对环境变化的适应性与泛化能力需要强化,包括海面反光、雾霾、不同成像设备与不同海域背景带来的域偏移。(3)桌面端交互界面的直观性与功能完整性需要统一,既要支持多源输入与即时可视化,也要保证模型切换、阈值调参与导出留存的连贯体验。(4)数据处理效率与存储安全性需要体系化设计,确保检测记录可追溯、导出可复查、账户与权限信息可控。

针对上述问题,本文拟采用如下解决方案:(1)以 YOLOv12 为核心候选模型,并覆盖 YOLOv5 至 YOLOv12 的多模型训练与推理对比,在统一指标体系下综合评估准确性与速度表现。(2)基于 PyTorch 完成训练、验证与推理流程,并将推理能力封装为可被桌面端调用的统一接口,形成端到端的工程闭环。(3)前端采用 PySide6/Qt 实现桌面交互,支持图像、视频与本地摄像头输入,并提供权重文件热切换与阈值参数同步,保证调参与可视化一致。(4)优化数据处理与存储结构,采用时间戳命名的导出策略与本地 SQLite 记录管理,并在必要时结合模型压缩与推理加速手段提升稳定性与可部署性。

2.4 博文贡献与组织结构

本文的主要贡献可以概括为:(1)结合舰船场景的任务难点与工程约束,对主流检测范式与 YOLO 系列技术演进进行面向落地的综述与归纳。(2)围绕 YOLOv5 至 YOLOv12 构建统一训练评测流程,给出多模型在同一数据与指标体系下的对比依据。(3)设计并实现基于 PySide6/Qt 的桌面端系统,使模型推理、阈值调参、结果可视化与导出留存形成可复查的闭环体验。(4)从系统角度引入结果追溯与本地持久化机制,增强工程可用性与数据安全性。(5)整理并开放工程代码与数据集组织方式,便于复现实验与二次开发。

全文组织结构如下:摘要之后首先给出系统功能与效果概览;随后在绪论中明确任务背景、研究现状与本文方案;接着介绍数据集处理与标注规范;在模型原理与设计部分以 YOLOv12 为主线阐述关键结构与训练策略;实验结果与分析对 YOLOv5 至 YOLOv12 进行指标对比与误差讨论;系统设计与实现章节从分层架构与交互闭环角度给出实现框架与流程图;最后总结全文并展望模型、系统与数据闭环的可扩展方向。


3. 数据集处理

本系统使用的舰船数据集共 5725 张图像,按 4022 张训练集、1130 张验证集与 573 张测试集进行划分,以覆盖从港口近景到外海远景的多样成像条件;从训练批次样例可以直观看到同一批次内同时存在密集停泊、遮挡重叠、低对比度与海面纹理复杂等情况,这使得数据在“真实感”上更贴近工程部署,但也会显著增加类间相似与小目标漏检的压力。类别体系采用 6 类标注,并在系统侧提供中文语义映射:A型、浮标、货轮、游轮、渔船、军舰;标注格式与 YOLO 系列训练接口一致,通常以“类别编号 + 归一化中心点坐标 ( x , y ) (x,y) (x,y) + 归一化宽高 ( w , h ) (w,h) (w,h)”描述每个目标框,便于后续统一解析为 c l a s s n a m e , b b o x ( x m i n , y m i n , x m a x , y m a x ) , s c o r e {class_name, bbox(x_{min},y_{min},x_{max},y_{max}), score} classname,bbox(xmin,ymin,xmax,ymax),score 并在桌面端实现坐标还原与可视化叠加。标签及其对应中文名如下:

Chinese_name = {'a': "A型", 'buoy': "浮标", 'container': "货轮", 'cruise': "游轮", 'fish-b': "渔船", 'warship': "军舰"}

在这里插入图片描述

从标签分布相关图可以看出,目标中心点在 x x x y y y 维度上呈现明显的中部聚集趋势,说明采集构图存在一定“居中先验”,如果不加处理容易导致模型对画面边缘区域的召回偏弱;同时, w w w h h h 的分布具备典型长尾特征,小尺寸目标占比更高且宽高比变化大,这与远距离舰船、浮标等细小目标以及船体细长结构高度一致,也是海上场景中误检与漏检的主要来源之一。结合样例可视化还可观察到密集目标的框间重叠现象,此类样本会放大 NMS 抑制与定位回归的冲突,因此训练与推理需要在阈值策略、后处理与样本分配上保持一致,避免“相邻目标被压掉”或“高置信误检被保留”的体验波动。
在这里插入图片描述

在数据预处理与增强方面,工程流程通常先进行异常标注清理(如空框、越界框、极端尺寸框与重复标注)以减少噪声对收敛的干扰,并对输入统一进行 640×640 尺度对齐与必要的填充处理,从源头保证训练与桌面端推理的坐标体系一致;数据划分阶段建议采用固定随机种子并尽量按场景域均衡抽样,以保证验证与测试能够真实反映不同海况与光照条件下的泛化性能。针对海上检测的核心难点,增强策略更强调“对症下药”:通过随机尺度抖动、裁剪与平移缓解中心偏置并提升边缘目标召回,通过 Mosaic/MixUp 增加小目标与密集目标的出现频次以改善拥挤场景分离能力,通过 HSV/亮度对比度扰动、轻量模糊与噪声模拟适配反光、雾霾与低清晰度画面,从而为后续 YOLOv5–YOLOv12 的公平对比与系统端稳定部署奠定一致的数据基础。


4. 模型原理与设计

本文的舰船检测与识别任务在工程上更关注“准确性与实时性”的统一:一方面海面反光、浪纹纹理与港口背景会带来强干扰,另一方面远距离小目标与密集遮挡又容易造成漏检与重复框,因此博主在模型侧选择以单阶段 YOLO 框架为主线,并默认以 YOLOv12 作为核心对比与部署模型。YOLOv12 延续了 YOLO 系列“backbone–neck–head”的端到端结构优势,输入端统一采用 640×640 的尺度对齐以保证训练与桌面端推理的一致性,输出端以多尺度特征图完成类别概率与边界框回归,从而可以稳定映射到系统内的 c l a s s n a m e , b b o x , s c o r e {class_name, bbox, score} classname,bbox,score 结果结构,用于后续叠框显示、目标高亮、CSV/PNG/AVI 导出与本地入库等链路。

与以往主要依赖卷积堆叠的版本不同,YOLOv12 的关键思路是“以注意力为中心,但仍保持实时检测所需的吞吐”:它通过更高效的注意力计算与特征聚合模块,将长程依赖建模能力引入 YOLO 框架,并在实现层面结合 FlashAttention 等优化来降低注意力带来的访存开销。 在形式上,注意力机制可写为
A t t n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d ) V , \mathrm{Attn}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^{\top}}{\sqrt{d}}\right)V, Attn(Q,K,V)=softmax!(d QK)V,
其中 (Q,K,V) 分别为查询、键、值,(d) 为通道维度;YOLOv12 进一步采用“区域化”的注意力思想,将特征图划分为若干区域并在区域内进行注意力计算,以在保持较大感受野的同时降低复杂度与延迟,更适合海上场景中“背景大、目标小、上下文强”的检测需求。网络整体架构图如下图所示(可下载原论文图示用于复现与讲解)。(arXiv)

在检测头与损失建模上,系统采用与 YOLO 系列一致的多任务学习范式,将分类与定位以端到端方式联合优化,并在训练时平衡不同分支的梯度贡献,常用的总体损失可以概括为
L = λ box L IoU + λ cls L cls + λ obj L obj , L=\lambda_{\text{box}}L_{\text{IoU}}+\lambda_{\text{cls}}L_{\text{cls}}+\lambda_{\text{obj}}L_{\text{obj}}, L=λboxLIoU+λclsLcls+λobjLobj,
其中 ( L cls L_{\text{cls}} Lcls) 与 ( L obj L_{\text{obj}} Lobj) 通常采用二元交叉熵或其改进形式以应对类别不均衡,( L IoU L_{\text{IoU}} LIoU) 则通过 IoU 系列回归损失提升框的几何一致性。以 CIoU 为例,其形式常写为
L CIoU = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v , L_{\text{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{gt})}{c^2}+\alpha v, LCIoU=1IoU+c2ρ2(b,bgt)+αv,
其中 ( ρ ( ⋅ ) \rho(\cdot) ρ()) 表示预测框 ( b \mathbf{b} b) 与真值框 ( b g t \mathbf{b}^{gt} bgt) 的中心点距离,( c c c) 为包围两框的最小外接框对角线长度,( v v v) 则刻画宽高比差异、( α \alpha α) 为权重系数;这类项对舰船这种“细长目标、姿态变化明显”的框回归更友好,有助于降低船艏船艉截断、细长框抖动带来的定位误差。

训练与正则化策略上,本文将数据增强与优化过程视为模型鲁棒性的组成部分:通过尺度抖动与裁剪缓解目标中心偏置,通过颜色与对比度扰动适配海面反光、雾霾与逆光,通过混合增强提升密集船列与小目标的学习频次;同时结合学习率调度与 EMA 等稳定收敛手段,使注意力模块在中小规模数据上更易训练。推理阶段则以置信度阈值与 NMS 构成最后一道“误检抑制”闸门,典型的抑制规则可概括为:在保留最高分框后,剔除与其重叠度 ( I o U > τ \mathrm{IoU}>\tau IoU>τ) 的候选框,从而在港口密集停泊场景下降低重复框,在远海小目标场景中通过合理的 (\tau) 与置信度下限避免“弱目标被过度抑制”。这些策略最终服务于系统目标:在保证实时性的前提下,尽可能提高军舰/货轮/渔船等相近外观类别的可分性,并降低浪纹、岸线建筑等背景结构引发的误检。

在这里插入图片描述


5. 实验结果与分析

本章实验围绕“桌面端可用的实时舰船检测”这一目标展开,在同一数据集与同一评价协议下,对比 YOLOv5–YOLOv12 共 8 种模型的轻量分支(n/t/tiny)与小型分支(s)。数据集共 5725 张图像,按 4022/1130/573 划分为训练/验证/测试,类别为 6 类:A型、浮标、货轮、游轮、渔船、军舰;评价指标采用 Precision、Recall、F1、mAP@0.5(mAP50)与 mAP@0.5:0.95(mAP50-95),并统计端到端耗时分解为预处理、推理与后处理时间(单位 ms)。所有速度测试均在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB)上完成,便于后续与 Qt 桌面端的实际推理体验对齐。
在这里插入图片描述

从轻量模型(n/t/tiny)对比来看,各模型在 mAP50 上整体差距不大(约 0.724–0.795),但在推理时延与 mAP50-95 上差异更明显:YOLOv11n 取得最高 mAP50=0.7951 与最高 F1=0.7709,整体呈现“精度更稳、召回更均衡”的特征,适合作为默认部署权重;YOLOv6n 在推理端表现更“激进”,Recall 达到 0.8296 且推理时间 6.78 ms,在轻量模型里属于速度与召回都很强的选项,但 Precision 相对偏低(0.7124),更适合在系统侧配合 Conf/IoU 滑块做误检抑制;YOLOv9t 的 mAP50-95=0.5753 为该组最高,说明其在更严格 IoU 阈值下的定位质量更优,但推理时间 16.51 ms 明显偏高,更适合作为“离线复核或高精模式”的备选。如上图所示,n 型模型在 F1 与 mAP50 上整体呈现“高位挤压”,最终选择更应结合桌面端的实时帧率与交互体验,而非只看单一精度指标。

在这里插入图片描述

从小型模型(s)对比来看,YOLOv6s 在精度侧优势最明显(mAP50=0.7977,mAP50-95=0.5727),适合在算力允许时追求更稳健的定位与综合精度;YOLOv11s 的 F1=0.7762 为该组最高,同时 Recall 达到 0.8317,体现出对“漏检更敏感”的策略倾向,适合海上远距小目标较多、希望尽量少漏的业务;YOLOv8s 的推理时间 7.66 ms 且总流水时间约 11.39 ms(预处理+推理+后处理),是该组速度最好的模型之一,更适合视频或摄像头实时预览。相比之下,YOLOv7(非 tiny)与 YOLOv9s 的计算量与推理时延显著更大(23.62 ms 与 18.66 ms),在桌面端实时性目标下性价比不高,除非任务更强调极端遮挡与复杂背景下的稳定性验证。

为了更直观地量化“精度—时延—体量”的工程权衡,下表给出两组模型的核心指标摘要,其中总耗时按 PreTime+InfTime+PostTime 计算,便于与系统端的进度条与帧率体感做近似对照。可以看到,轻量组中 YOLOv8n/YOLOv6n 的总耗时均约 10 ms,适合作为实时预览的首选;若更看重综合精度与稳定性,YOLOv11n 在 12.97 ms 的总耗时下提供了最优 mAP50 与 F1,是“默认部署权重”更均衡的选择;而 s 组整体精度略有提升,但参数量与 FLOPs 的上升会带来更显著的显存与部署成本,通常更适合作为“高精模式”或离线批处理模型。

组别 模型 Params(M) FLOPs(G) 总耗时(ms) Precision Recall F1 mAP50 mAP50-95
n/tiny YOLOv6n 4.3 11.1 10.34 0.7124 0.8296 0.7665 0.7869 0.5600
n/tiny YOLOv8n 3.2 8.7 10.17 0.7544 0.7816 0.7678 0.7865 0.5597
n/tiny YOLOv11n 2.6 6.5 12.97 0.7481 0.7950 0.7709 0.7951 0.5718
n/tiny YOLOv9t 2.0 7.7 19.67 0.7407 0.7807 0.7602 0.7843 0.5753
s YOLOv6s 17.2 44.2 12.26 0.7297 0.8246 0.7743 0.7977 0.5727
s YOLOv11s 9.4 21.5 13.47 0.7277 0.8317 0.7762 0.7879 0.5643
s YOLOv8s 11.2 28.6 11.39 0.7372 0.7806 0.7583 0.7807 0.5557
s YOLOv12s 9.3 21.4 16.74 0.7257 0.8004 0.7612 0.7851 0.5675

从误差结构角度进一步观察,整体规律非常贴合海上场景的数据特性:
在这里插入图片描述

其一,F1 随置信度阈值变化存在明显峰值,综合最优点出现在 Conf≈0.304 且全类别 F1≈0.76,这意味着系统端默认阈值不宜过高,否则会快速牺牲召回;
在这里插入图片描述

其二,类别间难度差异显著,浮标与游轮通常具有更稳定的外观与更清晰的轮廓,PR 曲线更“饱满”,而 A型与货轮更容易受到尺度变化、遮挡与背景结构干扰,既可能漏检也可能与背景纹理产生误检;
在这里插入图片描述

其三,混淆矩阵中“被预测为 background”的比例在 A型与货轮上更高,说明主要瓶颈不是“类别互相混淆”,而是“小目标与低对比目标的漏检”,这与第 3 章中宽高长尾分布与中心偏置的统计结论一致。对应到改进建议上,模型侧可以优先从小目标友好的训练策略入手(更激进的多尺度训练、对小目标采样更友好的标注分配、适度提高输入分辨率或引入更强的颈部融合),系统侧则建议将 Conf/IoU 滑块与“目标高亮复核、CSV 记录回查”联动作为默认工作流:实时预览阶段以较低 Conf 保证召回,复核导出阶段再通过阈值与 NMS 策略抑制误检,从而在同一套 Qt 桌面系统内实现“先看全、再收敛”的工程闭环。


6. 系统设计与实现

6.1 系统设计思路

本文系统以“桌面端可交互的实时检测闭环”为设计目标,采用分层架构将界面与交互、业务与会话、推理与任务调度、数据持久化四类职责解耦组织。表现与交互层以 PySide6/Qt 客户端为核心,负责多源输入选择、阈值滑块同步、检测结果可视化与记录呈现;业务与会话管理层负责源互斥、参数与主题配置、导出编排与历史记录检索;推理与任务调度层将媒体帧采集、预处理、YOLO 推理与后处理串联为可控的流水线;数据持久化层则将账户、记录与配置写入本地 SQLite,并将带框结果与 CSV 等文件统一归档,从而形成可追溯的工程闭环。

在跨层协同方面,系统将“多源输入—预处理—推理—后处理—前端联动”抽象为事件驱动的帧流管线:图像目录以逐帧迭代方式调度,视频以帧序列推进并伴随进度显示,本地摄像头以实时帧回调驱动推理。为保证一致性与实时性,系统在同一时刻仅允许一种输入源处于激活状态,并将 Conf/IoU 等阈值参数视为全局可观察状态,确保滑块更新后对后处理与可视化即时生效;同时,推理过程拆分统计预处理、推理与后处理耗时,用于界面端进度条与用时信息展示,使用户能够感知“性能瓶颈位于何处”,并在模型切换或阈值调整后快速获得反馈。

在可扩展性方面,系统将模型权重管理作为独立能力:权重文件可热切换,切换后类别名与配色同步刷新,避免界面显示与模型输出的语义错配;统计与导出被设计为可插拔模块,既能支持单帧 PNG,也能将摄像头/视频的推理结果序列化导出为 AVI,并配合时间戳命名实现批量管理与溯源。异常恢复策略强调“不中断主流程”:当输入源不可用或帧读取失败时,系统通过任务调度层统一回收资源并回到可选择状态,确保界面与后台状态一致,降低长时间运行下的资源泄漏与卡死风险。

在这里插入图片描述

图 6-1 系统流程图
图注:流程自启动加载配置与模型列表开始,经多源输入、预处理、YOLO 推理与后处理,驱动 Qt 前端叠框与统计,并在交互控制下形成“持续取帧—实时更新—记录导出”的闭环。

在这里插入图片描述

图 6-2 系统设计框图
图注:框图以分层方式界定模块边界,数据流自媒体接入进入推理调度层,再向上驱动 Qt 前端呈现,最终在持久化层完成记录入库与导出归档。

6.2 登录与账户管理 — 流程图

在这里插入图片描述

图 6-3 登录与账户管理流程图
图注:流程覆盖注册写库、登录校验、个性化配置载入与注销切换,确保账户体系与主检测闭环在同一会话语义下衔接。

在账户管理逻辑上,系统启动后首先呈现登录界面,用户可选择注册新账号或直接登录;注册流程将用户名、邮箱与口令等信息写入本地数据库并生成账户记录,登录流程则在输入凭据后完成口令校验并建立会话,校验失败会回到输入环节以保证交互闭环与安全边界。登录成功后系统载入用户的个性化配置(例如主题样式、默认模型与最近记录),从而将“阈值偏好、模型选择、历史结果复查”纳入同一会话语义下统一管理;进入主界面后,用户可在检测过程中进行资料修改并在需要时注销或切换账号,确保账户空间、检测记录与导出归档之间具备稳定的绑定关系,进而支持系统端的可追溯性与长期运行的管理需求。


7. 下载链接

    若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

在这里插入图片描述

本文涉及到的完整全部程序文件: 包括环境配置文档说明、python源码、数据集、训练代码、UI文件、测试图片视频等:

详细介绍文档博客: 基于深度学习的舰船检测与识别系统(YOLOv12完整代码+论文示例+多算法对比)

环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程
数据集标注教程(如需自行标注数据):数据标注合集


参考文献(GB/T 7714)

1 黄泽贤, 吴凡路, 傅瑶, 等. 基于深度学习的遥感图像舰船目标检测算法综述[J]. 光学精密工程, 2023, 31(15): 2295-2318.
2 吴园园, 臧柏涵, 王兴华, 等. 基于多尺度神经网络的船舶目标检测方法[EB/OL]. ChinaXiv, 2024-03-23.
3 SHAO Z F, WU W J, WANG Z Y, DU W, LI C Y. Seaships: A large-scale precisely annotated dataset for ship detection[J]. IEEE Transactions on Multimedia, 2018, 20(10): 2593-2604.
4 REN S Q, HE K M, GIRSHICK R, SUN J. Faster R-CNN: Towards real-time object detection with region proposal networks[EB/OL]. arXiv:1506.01497, 2015.
5 LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
[6] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[EB/OL]. arXiv:1708.02002, 2017.
[7] TIAN Z, SHEN C, CHEN H, HE T. FCOS: Fully convolutional one-stage object detection[EB/OL]. arXiv:1904.01355, 2019.
[8] ZHOU X, WANG D, KRÄHENBÜHL P. Objects as points[EB/OL]. arXiv:1904.07850, 2019.
[9] CARION N, MASSA F, SYNNAEVE G, et al. End-to-end object detection with transformers[EB/OL]. arXiv:2005.12872, 2020.
[10] ZHAO Y, LV W, XU S, et al. DETRs beat YOLOs on real-time object detection[EB/OL]. arXiv:2304.08069, 2023.
[11] LIU S, QI L, QIN H, et al. YOLOX: Exceeding YOLO series in 2021[EB/OL]. arXiv:2107.08430, 2021.
[12] XU S, WANG X, LV W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022.
[13] Ultralytics. Ultralytics YOLOv5 Documentation[EB/OL]. (2025-12-23).
[14] Ultralytics. Ultralytics YOLOv8 Documentation[EB/OL]. (2025-12-23).
[15] WANG A, CHEN H, LIU L, et al. YOLOv10: Real-time end-to-end object detection[EB/OL]. arXiv:2405.14458, 2024.
[16] TIAN Y, YE Q, DOERMANN D S. YOLOv12: Attention-centric real-time object detectors[EB/OL]. arXiv:2502.12524, 2025.
[17] ONNX. Open Neural Network Exchange (ONNX) Official Site[EB/OL]. (2025-12-23).
[18] NVIDIA. NVIDIA TensorRT Documentation[EB/OL]. (2025-12-23).
[19] JACOB B, KLIGYS S, CHEN B, et al. Quantization and training of neural networks for efficient integer-arithmetic-only inference[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2018: 2704-2713.
[20] HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[EB/OL]. arXiv:1503.02531, 2015.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐