当前位置: 首页 > news >正文

基于 YOLOv11 的智能化遥感图像目标检测

本项目基于 YOLOv11 与 DOTA v1.0 数据集,实现遥感/航拍图像中的多类别目标检测,并提供完整的训练流程与可视化检测系统。


一、项目概述

本项目面向航空影像、卫星遥感等场景,利用 YOLOv11 的 OBB(Oriented Bounding Box)有向边界框检测能力,对俯视角度下任意方向、多尺度的目标进行识别与定位。系统包含模型训练、可视化检测界面、历史记录管理、训练指标展示等功能模块。


二、数据集

2.1 数据集简介

DOTA v1.0(A Large-scale Dataset for Object Detection in Aerial Images)由武汉大学计算机视觉与遥感实验室发布,发表于 CVPR 2018,是遥感目标检测领域的权威基准数据集。

2.2 数据规模

项目数量
图像总数约 2,806 幅航拍图像
训练集约 1,411 幅
验证集约 458 幅
测试集约 937 幅
标注实例188,282 个目标实例
单幅图像尺寸约 800×800 ~ 4000×4000 像素

2.3 目标类别(15 类)

编号英文名称中文名称
0plane飞机
1ship船舶
2storage tank储油罐
3baseball diamond棒球场
4tennis court网球场
5basketball court篮球场
6ground track field田径场
7harbor港口
8bridge桥梁
9large vehicle大型车辆
10small vehicle小型车辆
11helicopter直升机
12roundabout环形交叉路口
13soccer ball field足球场
14swimming pool游泳池

2.4 标注格式

采用OBB(有向边界框)标注,每个目标由 8 个归一化坐标表示四边形的 4 个顶点,适配 YOLO OBB 格式。


三、训练过程与参数

3.1 训练流程

  1. 准备 DOTA v1.0 数据集,按images/trainimages/val划分
  2. 将标注转换为 YOLO OBB 格式,存放于labels/trainlabels/val
  3. 使用train.py加载预训练模型yolo11n-obb.pt进行训练
  4. 训练结果保存至output/train/,包含权重、日志、可视化图表

3.2 主要训练参数

参数说明
modelyolo11n-obb.pt预训练 OBB 模型
epochs100训练轮次
batch16批次大小
imgsz640输入图像尺寸
optimizerauto优化器(自动选择)
lr00.01初始学习率
iou0.7NMS IoU 阈值
mosaic1.0马赛克增强
amptrue混合精度训练

3.3 损失函数

  • box_loss:边界框回归损失
  • cls_loss:分类损失
  • dfl_loss:分布焦点损失(DFL)
  • angle_loss:角度损失(OBB 特有)

四、可视化图含义

4.1 训练曲线(losses.png)

  • Box Loss:边界框回归损失,训练/验证曲线
  • Cls Loss:分类损失
  • DFL Loss:分布焦点损失
  • Angle Loss:有向框角度损失

4.2 评估指标曲线(metrics.png)

  • Precision:精确率
  • Recall:召回率
  • mAP50:IoU 阈值为 0.5 时的平均精度
  • mAP50-95:IoU 从 0.5 到 0.95 的平均 mAP

4.3 系统内指标展示

  • 训练曲线:训练损失、验证损失、mAP、P/R 随 epoch 变化
  • 指标汇总:最终 mAP50、mAP50-95、精确率、召回率及柱状图

五、系统功能

5.1 图片识别

  • 支持 JPG、PNG、BMP、TIF 等格式
  • 单张图片目标检测,标注结果可视化
  • 统计摘要(总检测数、类别数、平均/最高置信度)
  • 详细数据表格、置信度分布直方图
  • 导出检测图片、CSV 结果

5.2 视频识别

  • 支持 MP4、AVI、MOV 等格式
  • 逐帧检测,可设置每 N 帧检测一次
  • 实时显示当前帧与累计统计
  • 导出当前帧

5.3 摄像头识别

  • 实时摄像头画面
  • 支持开启/关闭检测、截图保存
  • 会话累计统计,可保存到历史记录

5.4 检测历史

  • 按类型(图片/视频/摄像头)筛选
  • 关键词搜索
  • 查看记录详情、导出 CSV、清空历史

5.5 模型管理

  • 配置模型路径(默认output/train/weights/best.pt
  • 验证并加载模型
  • 参数设置:置信度阈值、IoU 阈值、最大检测数

5.6 指标展示

  • 读取output/train/results.csv
  • 训练曲线(损失、mAP、P/R)
  • 最终指标汇总

六、项目技术栈

类别技术
深度学习YOLOv11(Ultralytics)、PyTorch
目标检测OBB 有向边界框检测
界面PyQt6
数据可视化Matplotlib
图像处理OpenCV、NumPy
数据存储SQLite、JSON

七、项目结构

c137/ ├── main.py # 程序入口 ├── train.py # 模型训练入口 ├── config/ │ └── dota_v1.yaml # 数据集配置 ├── output/ │ └── train/ # 训练输出 │ ├── weights/ # 模型权重(best.pt、last.pt) │ ├── results.csv # 训练指标 │ └── *.png # 可视化图表 ├── vis/ │ └── plot_metrics.py # 训练指标可视化脚本 ├── ui/ │ ├── login_window.py # 登录/注册窗口 │ ├── main_window.py # 主窗口 │ ├── utils/ │ │ ├── styles.py # 样式表 │ │ ├── config.py # 配置管理 │ │ ├── database.py # 数据库 │ │ ├── detector.py # 检测推理线程 │ │ └── widgets.py # 通用组件 │ └── pages/ │ ├── image_page.py # 图片识别 │ ├── video_page.py # 视频识别 │ ├── camera_page.py # 摄像头识别 │ ├── history_page.py # 检测历史 │ ├── model_page.py # 模型管理 │ └── metrics_page.py # 指标展示 └── DOTA v1/ # 数据集目录 ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/

八、启动说明

训练

python train.py

可视化检测系统

python main.py

默认账号:admin/admin123

http://www.jsqmd.com/news/475912/

相关文章:

  • 具身智能实战:如何用AIBOX打造你的第一个无人化智能体(附避坑指南)
  • znew 命令超详细使用文档(.Z 转 .gz 格式转换工具)
  • Leather Dress Collection效果展示:Leather Beltbra MicroShorts微短裤皮革拉伸动态模拟
  • Cadence Virtuoso LVS检查全流程:数模混合版图从GDS导入到最终验证
  • Qt 实现三维坐标系的方法
  • CLIP-GmP-ViT-L-14实战落地:医疗影像报告关键词-检查图像语义检索
  • Windows进程通信实战:用CreateFileMapping实现内存共享(附完整代码示例)
  • Gemma-3-12b-it内容创作场景:自媒体图文选题+配图描述生成案例
  • 打开COMSOL时总想着搞点有意思的声场操控,这次咱们来折腾三维相控阵的声镊系统。实验室里那些悬浮的微粒子在声场里跳舞的样子,可比刷短视频带劲多了
  • MacOS新手必看:解决Python Tkinter报错‘No module named msilib’的完整指南
  • ISCTF2021
  • PROJECT MOGFACE辅助C语言学习:代码解释、调试与练习题生成
  • carsim simulink仿真,纯电动汽车Acc 自适应巡航 上层控制器 包括 mpc跟车...
  • 手动改写 vs AI工具降AI:效率和效果到底差多少?
  • 【MySQL开发】
  • 油车和电车标称续航500公里,两者不具可比性,电车有效续航可低至三成
  • Git系列一:git的下载与安装
  • 航空航天Web服务SpringBoot如何实现卫星数据大文件夹的秒传断点续传?
  • AIGlasses_for_navigation 高级教程:利用 ComfyUI 构建可视化导航工作流
  • AI 辅助开发实战:基于 Spring Boot 的 Java 电商系统毕设架构与提效指南
  • GLM-4-9B-Chat-1M实战案例:跨境电商产品说明书多语言自动校验与合规提示
  • 5分钟部署Qwen-Image-Edit-2509:体验用自然语言指令修改图片的乐趣
  • MedGemma Medical Vision Lab实测效果分享:GPU显存仅需16GB完成4B参数多模态推理
  • 探索AI辅助开发:用claude code在快马平台进行智能代码审查与优化
  • 深入学习 Windows 系统安全2
  • 飞轮储能系统:机侧与网侧变流器及其控制、PMSM应用与Matlab/Simulink仿真模型
  • Python基于flask-django基于机器学习的电商产品智能推荐系统的设计与实现
  • Fooocus:突破AI艺术创作壁垒的革新工具
  • 抖音直播内容高效保存方案:从技术原理到实战指南
  • 3个颠覆认知的抖音直播保存技巧:从反复失败到高效归档