使用 YOLO 进行遥感图像中的目标检测训练_遥感目标检测数据集VEDAI数据集_识别遥感状态下的汽车车辆卡车飞机等进行识别


以下文字及代码仅供参考。同学仅供参考。
遥感目标检测数据集VEDAI数据集 在这里插入图片描述
YOLO遥感目标检测数据集VEDAI数据集 txt标注YOLO目标检测
标签分类: 包含9种不同类别的目标,分别是:
pick-up (皮卡)
plane (飞机)
tractor (拖拉机)
Engineering vehicle (工程车辆)
truck (卡车)
camping car (露营车)
van (厢式货车)
car (轿车)
boat (船)
在这里插入图片描述
1
在这里插入图片描述
1
在这里插入图片描述
使用 YOLO 进行遥感图像中的目标检测,特别是利用 VEDAI (Vehicle Detection in Aerial Imagery) 数据集,

从准备数据、训练模型以及评估结果。VEDAI 数据集包含 9 种不同类别的目标,并且标注格式已经为 YOLO 模型进行了优化。

一、准备工作

1. 安装依赖库

确保你已经安装了必要的库:

pip install ultralytics opencv-python matplotlib
  • ultralytics: 包含 YOLOv8 的官方实现。
  • opencv-python: 用于图像处理。
  • matplotlib: 可视化工具。
2. 数据集组织

同学呀,假设你的 VEDAI 数据集已经按照 YOLO 格式组织好:

vedai_dataset/
├── images/            # 图片文件夹
│   ├── train/
│   ├── val/
│   └── test/
├── labels/            # 标注文件夹(YOLO格式的txt文件)
│   ├── train/
│   ├── val/
│   └── test/
└── data.yaml          # 数据配置文件

二、创建 data.yaml 文件

在数据集根目录下创建一个名为 data.yaml 的文件,内容如下:

train: ./images/train
val: ./images/val
test: ./images/test

nc: 9                   # 类别数量(9类)
names: ['pick-up', 'plane', 'tractor', 'Engineering vehicle', 'truck', 'camping car', 'van', 'car', 'boat']

然后:

三、训练 YOLOv8 模型

1. 训练脚本

创建一个 Python 脚本来进行模型训练。例如,可以命名为 train_model.py

from ultralytics import YOLO

# 加载预训练模型
model = YOLO('yolov8n.pt')  # 使用 YOLOv8 Nano 模型

# 开始训练
if __name__ == "__main__":
    model.train(
        data='path/to/your/data.yaml',  # 数据配置文件路径
        epochs=50,                      # 训练轮数
        imgsz=640,                      # 输入图片大小
        batch=16,                       # 批量大小
        device='0' if torch.cuda.is_available() else 'cpu',  # 使用 GPU 或 CPU
        name='vedai_detection'           # 实验名称
    )

请将 'path/to/your/data.yaml' 替换为实际的数据配置文件路径。

运行训练脚本:

python train_model.py

训练完成后,生成的模型权重文件将保存在 runs/detect/vedai_detection/weights/best.pt

四、评估与测试

1. 测试模型

同学。你呀 使用训练好的模型来对新的图像进行预测。以下是一个简单的测试脚本示例:

from ultralytics import YOLO
import cv2

# 加载训练好的模型
model = YOLO('runs/detect/vedai_detection/weights/best.pt')

# 对单张图片进行预测
image_path = 'path/to/test/image.jpg'
results = model(image_path)

# 显示预测结果
for result in results:
    annotated_image = result.plot()
    cv2.imshow("Prediction", annotated_image)
    cv2.waitKey(0)
cv2.destroyAllWindows()

五、总结

这样呢,你就可以完成基于 YOLOv8 的遥感图像目标检测系统,特别针对 VEDAI 数据集。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐