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:

相关推荐
zhaoyong22213 小时前
MySQL 存储过程中字符集与排序规则不匹配导致查询性能下降的解决方案
jvm·数据库·python
sinat_3834373613 小时前
golang如何从Python转型Go开发_golang从Python转型Go开发攻略
jvm·数据库·python
rockey62713 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本
gqk0113 小时前
Python入门
python
Muyuan199814 小时前
28.Paper RAG Agent 开发记录:修复 LLM Rerank 的解析、Fallback 与可验证性
linux·人工智能·windows·python·django·fastapi
代码小书生14 小时前
statistics,一个统计的 Python 库!
开发语言·python
STLearner14 小时前
SIGIR 2026 | LLM × Graph论文总结(图增强LLM,GraphRAG,Agent,多模态,知识图谱,搜索,推
人工智能·python·深度学习·神经网络·机器学习·数据挖掘·知识图谱
FreakStudio14 小时前
MicroPython 内核开发者直接狂喜!这个 Claude 插件市场,把开发全流程做成了「对话式外挂」
python·单片机·嵌入式·面向对象·并行计算·电子diy
老陈说编程15 小时前
12. LangChain 6大核心调用方法:invoke/stream/batch同步异步全解析,新手也能轻松学会
开发语言·人工智能·python·深度学习·机器学习·ai·langchain
给自己做减法15 小时前
rag混合检索
人工智能·python·rag