摘要随着全球航运业的蓬勃发展和海洋安全监管需求的日益提升对海上船舶进行快速、准确的自动类型识别变得至关重要。传统的视觉监测方法效率低下且严重依赖人工经验难以满足现代海事管理、港口调度、安防预警等场景的实时性要求。为解决此问题本项目设计并实现了一个基于前沿YOLO系列目标检测算法与SpringBoot全栈框架的智能化船舶类型检测系统。本系统以最新一代的YOLOv8、YOLOv10、YOLOv11及YOLOv12算法为核心构建了一个高性能的船舶检测与分类模型。模型专门针对五类主要船舶集装箱船、邮轮、军用舰船、滚装船、油轮进行训练数据集包含总计3721张高质量标注图像。系统采用前后端分离的现代化架构后端基于SpringBoot构建提供稳定、可扩展的RESTful API服务前端则提供直观友好的Web交互界面。核心功能涵盖1多模态检测支持图像、视频文件及摄像头实时流媒体中的船舶检测2多模型切换允许用户在后端动态选择并使用不同版本的YOLO模型进行推理便于性能对比与算法评估3AI深度分析集成DeepSeek智能分析模块对检测结果提供更深入的洞察与解读4全方位数据管理所有检测记录包括图片、视频、实时流均结构化存储于MySQL数据库并辅以强大的信息可视化仪表盘进行展现5完整的用户体系包含用户注册登录含密码安全检测、个人中心管理以及管理员后台管理模块实现了系统级的权限控制与数据隔离。测试表明该系统能够有效识别复杂海况下的各类船舶识别准确率高、响应速度快。它不仅为海事监管和研究人员提供了一个强大的技术工具同时也为将先进目标检测算法工程化、产品化并构建完整的数据驱动型Web应用提供了一个典型的实践范例具有良好的应用价值与推广前景。关键词船舶类型检测YOLO系列算法深度学习SpringBoot前后端分离Web应用数据可视化智能分析详细功能展示视频基于YOLO和千问|DeepSeek的船舶类型检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12深度学习python_哔哩哔哩_bilibili基于YOLO和千问|DeepSeek的船舶类型检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12深度学习python_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV15Zc4zpETo/?vd_source549d0b4e2b8999929a61a037fcce3b0fhttps://www.bilibili.com/video/BV15Zc4zpETo/目录摘要详细功能展示视频引言二、 系统核心特性概述功能模块登录注册模块可视化模块图像检测模块视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计模型训练结果YOLO概述YOLOv8YOLOv10YOLOv11YOLOv12前端代码展示后端代码展示详细功能展示视频引言1. 研究背景与意义21世纪是海洋的世纪海上交通运输作为全球贸易的主动脉其安全、高效、智能化的运营管理关乎国家经济命脉与战略安全。在此背景下对广阔海域中航行的船舶进行自动识别与监控是港口管理、航道规划、海上搜救、边境安防以及海洋环境保护等领域不可或缺的基础能力。传统的船舶识别主要依赖于船舶自动识别系统AIS和雷达但AIS信息可能被关闭或篡改雷达图像则解读专业门槛高且二者在视觉细节识别上存在局限。因此基于计算机视觉和深度学习的船舶光学图像识别技术以其成本相对较低、信息直观丰富、可与非光学传感器信息融合等优势成为海事感知领域的研究热点。目标检测算法特别是以YOLOYou Only Look Once系列为代表的单阶段检测器因其在精度与速度间取得的卓越平衡已成为工业界落地应用的首选。从YOLOv8到最新提出的YOLOv10/YOLOv11/YOLOv12算法在骨干网络设计、特征融合策略、损失函数优化等方面持续演进性能不断提升。如何将这些学术界的最新成果快速转化为稳定可靠的业务系统并提供一个便于非专业用户操作、能够沉淀与分析数据的平台是当前面临的主要工程挑战。2. 国内外研究现状目前基于深度学习的船舶检测研究已取得显著进展。大量工作聚焦于改进特定算法如Faster R-CNN SSD YOLO及其变体在船舶数据集上的性能通过引入注意力机制、优化锚框设计、改进损失函数等方式提升对小型、密集或遮挡船舶的检测效果。然而现有研究大多停留在算法模型本身的训练与测试阶段或局限于简单的本地脚本演示缺乏一个将先进检测模型、健壮的后端服务、交互式前端界面以及系统的数据管理融为一体的完整解决方案。此外对于多种最新版YOLO模型在统一平台上进行便捷比较与切换的需求现有系统也少有支持。3. 本项目的主要内容与创新点针对上述需求与空白本项目旨在开发一个功能完备、架构先进、用户体验优良的“船舶类型检测系统”。本工作的核心内容与贡献主要体现在以下几个方面多模型集成与可配置检测引擎系统核心创新性地集成了YOLOv8, v10, v11, v12共四个版本的先进检测模型。用户可通过Web界面灵活切换实时体验和比较不同算法在相同输入下的性能差异为模型选型提供直观依据。全栈式Web系统实现采用前后端分离的现代化Web开发范式。后端使用SpringBoot框架构建微服务负责模型推理、业务逻辑处理与数据持久化MySQL前端负责渲染交互界面实现了高内聚、低耦合的系统架构确保了系统的可维护性与可扩展性。深度融合AI智能分析超越基础的边框绘制与类别标签系统集成了DeepSeek智能分析模块。该模块可对检测场景进行更深层次的语义分析与描述生成。全周期数据管理与可视化系统对每一次检测任务无论是图片上传、视频分析还是实时摄像头抓拍均生成详细的识别记录包括时间、所用模型、检测结果、原始文件路径等并全部存入数据库。同时通过图表、仪表盘等形式对用户行为、模型调用频率、检测结果分布等信息进行可视化展示赋能数据驱动的决策分析。完善的用户与权限管理体系构建了完整的用户认证与授权机制。支持用户注册、登录普通用户拥有个人中心管理检测记录和个人信息的权限管理员则拥有用户管理、全局数据查看等高级权限确保了系统的安全性与数据隔离性。二、 系统核心特性概述功能模块✅ 用户登录注册支持密码检测保存到MySQL数据库。✅ 支持四种YOLO模型切换YOLOv8、YOLOv10、YOLOv11、YOLOv12。✅ 信息可视化数据可视化。✅ 图片检测支持AI分析功能deepseek✅ 支持图像检测、视频检测和摄像头实时检测检测结果保存到MySQL数据库。✅ 图片识别记录管理、视频识别记录管理和摄像头识别记录管理。✅ 用户管理模块管理员可以对用户进行增删改查。✅ 个人中心可以修改自己的信息密码姓名头像等等。登录注册模块可视化模块图像检测模块YOLO模型集成(v8/v10/v11/v12)DeepSeek多模态分析支持格式JPG/PNG/MP4/RTSP视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计users- 用户信息表imgrecords- 图片检测记录表videorecords- 视频检测记录表camerarecords- 摄像头检测记录表模型训练结果#coding:utf-8 #根据实际情况更换模型 # yolon.yaml (nano)轻量化模型适合嵌入式设备速度快但精度略低。 # yolos.yaml (small)小模型适合实时任务。 # yolom.yaml (medium)中等大小模型兼顾速度和精度。 # yolob.yaml (base)基本版模型适合大部分应用场景。 # yolol.yaml (large)大型模型适合对精度要求高的任务。 from ultralytics import YOLO model_path pt/yolo12s.pt data_path data.yaml if __name__ __main__: model YOLO(model_path) results model.train(datadata_path, epochs500, batch64, device0, workers0, projectruns, nameexp, )YOLO概述YOLOv8YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布在准确性和速度方面提供了尖端性能。基于先前 YOLO 版本的进步YOLOv8 引入了新功能和优化使其成为各种应用中目标检测任务的理想选择。YOLOv8 的主要特性高级骨干和颈部架构YOLOv8 采用最先进的骨干和颈部架构从而改进了特征提取和目标检测性能。无锚点分离式 Ultralytics HeadYOLOv8 采用无锚点分离式 Ultralytics head与基于锚点的方法相比这有助于提高准确性并提高检测效率。优化的准确性-速度权衡YOLOv8 专注于在准确性和速度之间保持最佳平衡适用于各种应用领域中的实时对象检测任务。丰富的预训练模型:YOLOv8提供了一系列预训练模型以满足各种任务和性能要求使您更容易为特定用例找到合适的模型。YOLOv10YOLOv10 由 清华大学研究人员基于 Ultralytics Python构建引入了一种新的实时目标检测方法解决了先前 YOLO 版本中存在的后处理和模型架构缺陷。通过消除非极大值抑制 (NMS) 并优化各种模型组件YOLOv10 以显著降低的计算开销实现了最先进的性能。大量实验表明它在多个模型尺度上都具有卓越的精度-延迟权衡。概述实时目标检测旨在以低延迟准确预测图像中的对象类别和位置。YOLO 系列因其在性能和效率之间的平衡而一直处于这项研究的前沿。然而对 NMS 的依赖和架构效率低下阻碍了最佳性能。YOLOv10 通过引入用于无 NMS 训练的一致双重分配和整体效率-准确性驱动的模型设计策略来解决这些问题。架构YOLOv10 的架构建立在之前 YOLO 模型优势的基础上同时引入了几项关键创新。该模型架构由以下组件组成骨干网络负责特征提取YOLOv10 中的骨干网络使用增强版的 CSPNet (Cross Stage Partial Network)以改善梯度流并减少计算冗余。NeckNeck 的设计目的是聚合来自不同尺度的特征并将它们传递到 Head。它包括 PAN路径聚合网络层用于有效的多尺度特征融合。One-to-Many Head在训练期间为每个对象生成多个预测以提供丰富的监督信号并提高学习准确性。一对一头部在推理时为每个对象生成一个最佳预测以消除对NMS的需求从而降低延迟并提高效率。主要功能免NMS训练利用一致的双重分配来消除对NMS的需求从而降低推理延迟。整体模型设计从效率和准确性的角度对各种组件进行全面优化包括轻量级分类 Head、空间通道解耦下采样和秩引导块设计。增强的模型功能: 结合了大内核卷积和部分自注意力模块以提高性能而无需显着的计算成本。YOLOv11YOLO11 是 Ultralytics YOLO 系列实时目标检测器的最新迭代版本它以前沿的精度、速度和效率重新定义了可能性。YOLO11 在之前 YOLO 版本的显著进步基础上在架构和训练方法上进行了重大改进使其成为各种计算机视觉任务的多功能选择。主要功能增强的特征提取:YOLO11 采用改进的 backbone 和 neck 架构从而增强了特征提取能力以实现更精确的目标检测和复杂的任务性能。优化效率和速度YOLO11 引入了改进的架构设计和优化的训练流程从而提供更快的处理速度并在精度和性能之间保持最佳平衡。更高精度更少参数随着模型设计的进步YOLO11m 在 COCO 数据集上实现了更高的 平均精度均值(mAP)同时比 YOLOv8m 少用 22% 的参数在不牺牲精度的情况下提高了计算效率。跨环境的适应性YOLO11 可以无缝部署在各种环境中包括边缘设备、云平台和支持 NVIDIA GPU 的系统从而确保最大的灵活性。广泛支持的任务范围无论是目标检测、实例分割、图像分类、姿势估计还是旋转框检测 (OBB)YOLO11 都旨在满足各种计算机视觉挑战。Ultralytics YOLO11 在其前代产品的基础上进行了多项重大改进。主要改进包括增强的特征提取YOLO11 采用了改进的骨干网络和颈部架构增强了特征提取能力从而实现更精确的目标检测。优化的效率和速度改进的架构设计和优化的训练流程提供了更快的处理速度同时保持了准确性和性能之间的平衡。更高精度更少参数YOLO11m 在 COCO 数据集上实现了更高的平均 精度均值 (mAP)同时比 YOLOv8m 少用 22% 的参数在不牺牲精度的情况下提高了计算效率。跨环境的适应性YOLO11 可以部署在各种环境中包括边缘设备、云平台和支持 NVIDIA GPU 的系统。广泛支持的任务范围YOLO11 支持各种计算机视觉任务例如目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。YOLOv12YOLO12引入了一种以注意力为中心的架构它不同于之前YOLO模型中使用的传统基于CNN的方法但仍保持了许多应用所需的实时推理速度。该模型通过在注意力机制和整体网络架构方面的新颖方法创新实现了最先进的目标检测精度同时保持了实时性能。尽管有这些优势YOLO12仍然是一个社区驱动的版本由于其沉重的注意力模块可能表现出训练不稳定、内存消耗增加和CPU吞吐量较慢的问题因此Ultralytics仍然建议将YOLO11用于大多数生产工作负载。主要功能区域注意力机制: 一种新的自注意力方法可以有效地处理大型感受野。它将 特征图 分成l个大小相等的区域默认为 4 个水平或垂直避免复杂的运算并保持较大的有效感受野。与标准自注意力相比这大大降低了计算成本。残差高效层聚合网络R-ELAN一种基于 ELAN 的改进的特征聚合模块旨在解决优化挑战尤其是在更大规模的以注意力为中心的模型中。R-ELAN 引入具有缩放的块级残差连接类似于层缩放。一种重新设计的特征聚合方法创建了一个类似瓶颈的结构。优化的注意力机制架构YOLO12 精简了标准注意力机制以提高效率并与 YOLO 框架兼容。这包括使用 FlashAttention 来最大限度地减少内存访问开销。移除位置编码以获得更简洁、更快速的模型。调整 MLP 比率从典型的 4 调整到 1.2 或 2以更好地平衡注意力和前馈层之间的计算。减少堆叠块的深度以改进优化。利用卷积运算在适当的情况下以提高其计算效率。在注意力机制中添加一个7x7可分离卷积“位置感知器”以隐式地编码位置信息。全面的任务支持: YOLO12 支持一系列核心计算机视觉任务目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。增强的效率: 与许多先前的模型相比以更少的参数实现了更高的准确率从而证明了速度和准确率之间更好的平衡。灵活部署: 专为跨各种平台部署而设计从边缘设备到云基础设施。主要改进增强的 特征提取:区域注意力: 有效处理大型感受野降低计算成本。优化平衡改进了注意力和前馈网络计算之间的平衡。R-ELAN使用 R-ELAN 架构增强特征聚合。优化创新残差连接引入具有缩放的残差连接以稳定训练尤其是在较大的模型中。改进的特征集成在 R-ELAN 中实现了一种改进的特征集成方法。FlashAttention: 整合 FlashAttention 以减少内存访问开销。架构效率:减少参数与之前的许多模型相比在保持或提高准确性的同时实现了更低的参数计数。简化的注意力机制使用简化的注意力实现避免了位置编码。优化的 MLP 比率调整 MLP 比率以更有效地分配计算资源。前端代码展示视频检测界面一小部分代码template div classpredict-container div classpredict-content div classcontrol-panel div classpanel-header h3 classpanel-title视频分析控制台/h3 div classpanel-subtitle配置参数并开始处理/div /div div classcontrol-group div classcontrol-item label classcontrol-label模型选择/label el-select v-modelweight placeholder选择分析模型 sizelarge classmodel-select el-option v-foritem in state.weight_items :keyitem.value :labelitem.label :valueitem.value / /el-select /div div classcontrol-item label classcontrol-label置信度阈值/label div classconfidence-control span classconfidence-value{{ (conf / 100).toFixed(2) }}/span el-slider v-modelconf :format-tooltipformatTooltip classconfidence-slider / /div /div /div div classaction-group el-upload v-modelstate.form.inputVideo refuploadFile classvideo-upload actionhttp://localhost:9999/files/upload :show-file-listfalse :on-successhandleAvatarSuccessone el-button typeprimary classupload-btn i classupload-icon/i 上传视频文件 /el-button /el-upload el-button typesuccess clickupData classprocess-btn i classprocess-icon/i 开始分析处理 /el-button /div div classprogress-section v-ifstate.isShow div classprogress-info span classprogress-text{{ state.type_text }}中.../span span classprogress-percent{{ state.percentage }}%/span /div el-progress :text-insidetrue :stroke-width16 :percentagestate.percentage :stroke-colorprogressColor classcustom-progress / /div /div div classpreview-section refcardsContainer div classpreview-header h4分析结果预览/h4 div classpreview-tips处理后的视频将在此显示/div /div div classvideo-container img v-ifstate.video_path classresult-video :srcstate.video_path alt分析结果 div v-else classempty-preview div classempty-icon/div div classempty-text等待视频处理结果/div /div /div /div /div /div /template script setup langts import { reactive, ref, onMounted, computed } from vue; import { ElMessage } from element-plus; import request from //utils/request; import { useUserInfo } from //stores/userInfo; import { storeToRefs } from pinia; import type { UploadInstance, UploadProps } from element-plus; import { SocketService } from //utils/socket; import { formatDate } from //utils/formatTime; const uploadFile refUploadInstance(); const stores useUserInfo(); const conf ref(); const weight ref(); const { userInfos } storeToRefs(stores); const handleAvatarSuccessone: UploadProps[onSuccess] (response, uploadFile) { ElMessage.success(视频上传成功); state.form.inputVideo response.data; }; const state reactive({ weight_items: [] as any, data: {} as any, video_path: , type_text: 正在保存, percentage: 50, isShow: false, form: { username: , inputVideo: null as any, weight: , conf: null as any, startTime: }, }); const progressColor computed(() { if (state.percentage 30) return #e6a23c; if (state.percentage 70) return #409eff; return #67c23a; }); const socketService new SocketService(); socketService.on(message, (data) { console.log(Received message:, data); ElMessage.success(data); }); const formatTooltip (val: number) { return val / 100 } socketService.on(progress, (data) { state.percentage parseInt(data); if (parseInt(data) 100) { state.isShow true; } else { ElMessage.success(处理完成); setTimeout(() { state.isShow false; state.percentage 0; }, 2000); } console.log(Received message:, data); }); const getData () { request.get(/api/flask/file_names).then((res) { if (res.code 0) { res.data JSON.parse(res.data); console.log(res.data); state.weight_items res.data.weight_items; } else { ElMessage.error(res.msg); } }); };后端代码展示详细功能展示视频基于YOLO和千问|DeepSeek的船舶类型检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12深度学习python_哔哩哔哩_bilibili基于YOLO和千问|DeepSeek的船舶类型检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12深度学习python_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV15Zc4zpETo/?vd_source549d0b4e2b8999929a61a037fcce3b0fhttps://www.bilibili.com/video/BV15Zc4zpETo/