作者:CSDN @ 养乐多
本文将介绍如何通过YOLO框架和遥感图像进行目标检测的代码。
文章目录
-
-
- 一、数据集下载与格式转换
-
-
- [1.1 NWPU VHR-10(73.1 MB)](#1.1 NWPU VHR-10(73.1 MB))
- [1.2 DIOR(7.06 GB)](#1.2 DIOR(7.06 GB))
- [1.3 配置data.yaml](#1.3 配置data.yaml)
-
- 二、训练
- 三、训练结果
-
一、数据集下载与格式转换
下载数据集之后,统一转换为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: