python:基于YOLO框架和遥感图像的目标检测

作者:CSDN @ 养乐多

本文将介绍如何通过YOLO框架和遥感图像进行目标检测的代码。


文章目录


一、数据集下载与格式转换

下载数据集之后,统一转换为YOLO格式。

1.1 NWPU VHR-10(73.1 MB)

下载链接:https://opendatalab.com/OpenDataLab/NWPU_VHR-10

标注信息

python 复制代码
class_id_to_name = {
    0: "飞机",
    1: "船只",
    2: "储油罐",
    3: "棒球场",
    4: "网球场",
    5: "篮球场",
    6: "跑道场地",
    7: "港口",
    8: "桥梁",
    9: "车辆"
}

NWPU VHR-10 数据集转换为YOLO格式,参考博客《python:将 NWPU_VHR-10 遥感目标检测数据集转换成 YOLO 格式》。并配置data.yaml文件。

1.2 DIOR(7.06 GB)

下载链接:https://opendatalab.com/OpenDataLab/DIOR

DIOR数据集转换为YOLO格式,参考博客《YOLO:VOC格式数据集转换为YOLO数据集格式》,并配置data.yaml文件。

1.3 配置data.yaml

data.yaml 文件中,写入以下几行代码。保存。

修改训练图片路径和验证路径。

python 复制代码
train: E:\\DataSet\\NWPU-YOLO\\train
val: E:\\DataSet\\NWPU-YOLO\\val
nc: 10
#names: ['飞机', '船只', '储油罐', '棒球场', '网球场', '篮球场', '跑道场地', '港口', '桥梁', '车辆']
names: ['Airplane', 'Ship', 'Oil Tank', 'Baseball Field', 'Tennis Court', 'Basketball Court', 'Runway', 'Harbor', 'Bridge', 'Vehicle']

二、训练

python 复制代码
from ultralytics import YOLO
from swanlab.integration.ultralytics import add_swanlab_callback

if __name__ == '__main__':
    model = YOLO("yolov8n.pt")
    add_swanlab_callback(model, project='training_project')
    model.train(data="D:/data.yaml", epochs=10, workers=0) 
    metrics = model.val()
    # model.predict("../测试图片/00011.jpg", imgsz=640, save=True, device=0)
    path = model.export(format="onnx")

三、训练结果

训练100次。

标注数据1:

预测结果1:

标注数据2:

预测数据2:

相关推荐
炸炸鱼.24 分钟前
Python 操作 MySQL 数据库
android·数据库·python·adb
_深海凉_1 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
AC赳赳老秦1 小时前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
zhaoshuzhaoshu2 小时前
Python 语法之数据结构详细解析
python
AI问答工程师2 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
zfan5203 小时前
python对Excel数据处理(1)
python·excel·pandas
小饕3 小时前
我从零搭建 RAG 学到的 10 件事
python
老歌老听老掉牙3 小时前
PyQt5+Qt Designer实战:可视化设计智能参数配置界面,告别手动布局时代!
python·qt
格鸰爱童话4 小时前
向AI学习项目技能(六)
java·人工智能·spring boot·python·学习
悟空爬虫-彪哥4 小时前
VRChat开发环境配置,零基础教程
python