原创项目合集 基于 YOLOv11 的遥感图像目标检测系统

基于 YOLOv11 的遥感图像目标检测系统

一、项目概述

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

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

基于 YOLOv11 的遥感图像目标检测系统项目截图1

二、数据集

基于 YOLOv11 的遥感图像目标检测系统项目截图1

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 格式。

基于 YOLOv11 的遥感图像目标检测系统项目截图1

三、训练过程与参数

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、精确率、召回率及柱状图
基于 YOLOv11 的遥感图像目标检测系统项目截图1

五、系统功能

5.1 图片识别

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

5.2 视频识别

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

5.3 摄像头识别

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

5.4 检测历史

  • 按类型(图片/视频/摄像头)筛选
  • 关键词搜索
  • 查看记录详情、导出 CSV、清空历史
基于 YOLOv11 的遥感图像目标检测系统项目截图1

5.5 模型管理

  • 配置模型路径(默认 output/train/weights/best.pt
  • 验证并加载模型
  • 参数设置:置信度阈值、IoU 阈值、最大检测数
基于 YOLOv11 的遥感图像目标检测系统项目截图1

5.6 指标展示

  • 读取 output/train/results.csv
  • 训练曲线(损失、mAP、P/R)
  • 最终指标汇总
基于 YOLOv11 的遥感图像目标检测系统项目截图1 基于 YOLOv11 的遥感图像目标检测系统项目截图2

六、项目技术栈

类别技术
深度学习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

本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和个人学习使用。如需购买项目成品或定制化需求可以联系作者。

微信二维码
Jay 微信二维码