NWPU VHR-10数据集 无人机遥感目标检测数据集 飞机 储罐 棒球场 网球场篮球场 港口车辆桥梁检测 遥感图像中的地理空间目标检测

NWPU VHR-10数据集 无人机遥感目标检测数据集 飞机 储罐 棒球场 网球场篮球场 港口车辆桥梁检测 遥感图像中的地理空间目标检测

NWPU VHR-10数据集 遥感数据集

在这里插入图片描述

NWPU VHR-10数据集是 10个类别地理空间目标检测的挑战性数据集,共650张图片。

YOLO和COCO格式

数据集按默认划分比例:390张训练集、130张验证集、130张测试集。

手动标注了757架飞机、302艘船只、655个储罐、390个棒球场、524个网球场、159个篮球场、163个田径场、224个港口、124座桥梁和598辆车辆。

在这里插入图片描述

📊 一、数据集总体信息

项目描述
数据集名称NWPU VHR-10(Northwestern Polytechnical University Very High Resolution 10-class Dataset)
任务类型遥感图像中的地理空间目标检测(Object Detection in Remote Sensing Images)
图像总数650 张(均为高分辨率遥感图像,源自 Google Earth 等平台)
图像分辨率约 600×600 至 1000×1000 像素,空间分辨率高
标注格式✅ YOLO TXT 格式
✅ COCO JSON 格式(开箱即用,无需转换)
数据划分- 训练集:390 张
- 验证集:130 张
- 测试集:130 张
(比例 ≈ 6:2:2)
应用场景军事侦察、城市规划、灾害评估、智能遥感解译等

🏷️ 二、类别定义与实例数量统计

类别 ID类别名称(英文)类别名称(中文)标注实例数量
0Airplane飞机757
1Ship船只302
2Storage Tank储罐655
3Baseball Diamond棒球场390
4Tennis Court网球场524
5Basketball Court篮球场159
6Ground Track Field田径场163
7Harbor港口224
8Bridge桥梁124
9Vehicle车辆598
🔢 总标注目标数3,896 个
📌 所有目标均以 水平边界框(Axis-Aligned Bounding Box) 标注。

📁 三、推荐使用方式

用途建议
模型训练直接使用提供的 YOLO 或 COCO 格式,适配 YOLOv5/v8、MMDetection、Detectron2 等主流框架
评估指标通常采用 [email protected](IoU=0.5)作为主指标
挑战点• 小目标(如车辆、飞机)
• 类间尺度差异大(港口 vs 车辆)
• 背景复杂(城市、水域、农田混合)
扩展建议可结合 DIOR、DOTA 等遥感数据集进行跨域泛化研究


📁 一、项目结构建议

nwpu_vhr10_yolo/ ├── dataset.yaml # 数据集配置文件 ├── train.py # 主训练脚本 ├── predict_demo.py # 推理演示 ├── export_model.py # 模型导出脚本 └── data/ ├── images/ │ ├── train/ # 390 张训练图像 │ ├── val/ # 130 张验证图像 │ └── test/ # 130 张测试图像 └── labels/ ├── train/ # 对应 .txt 标注(YOLO格式) ├── val/ └── test/ 
✅ 假设你已将官方提供的 YOLO 格式数据按上述结构组织。

📄 二、数据集配置文件 dataset.yaml

# dataset.yamlpath: ./data train: images/train val: images/val test: images/test nc:10names:['airplane','ship','storage_tank','baseball_diamond','tennis_court','basketball_court','ground_track_field','harbor','bridge','vehicle']

🚀 三、详细训练代码 train.py

# train.pyfrom ultralytics import YOLO import torch defmain(): device ='cuda'if torch.cuda.is_available()else'cpu'print(f"🚀 使用设备: {device}")# 选择模型(遥感小目标多,推荐 yolov8m 或 yolov8l) model_name ="yolov8m.pt"# 可选: yolov8s / yolov8l / yolov8x project_name ="nwpu_vhr10_detection"# 加载预训练模型 model = YOLO(model_name)# 开始训练 results = model.train( data='dataset.yaml', epochs=150,# 遥感数据复杂,建议充分训练 imgsz=640,# NWPU 图像较小,640 足够;若需更高精度可用 1024 batch=16,# 640 分辨率下 batch=16(32G 显存可设 32) name=project_name, device=device, patience=30,# 早停机制(验证集 mAP 不升则停) save=True, plots=True,# 自动生成 PR 曲线、混淆矩阵、样本可视化 exist_ok=False, workers=8, optimizer='AdamW', lr0=0.01, lrf=0.01,# 数据增强(关键!提升小目标和尺度变化鲁棒性) augment=True, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=15.0,# ±15° 旋转(遥感视角多样) translate=0.1, scale=0.5, flipud=0.0,# 不上下翻转(地理目标方向敏感) fliplr=0.5,# 左右翻转安全 mosaic=1.0,# Mosaic 增强(对小目标如 vehicle/airplane 极有效) mixup=0.1)# 在测试集上评估最终性能 metrics = model.val(data='dataset.yaml', split='test')print("\n✅ NWPU VHR-10 测试集结果:")print(f" [email protected] (all): {metrics.box.map50:.5f}")print(f" [email protected]:0.95: {metrics.box.map:.5f}")print(f" Precision: {metrics.box.mp:.5f}")print(f" Recall: {metrics.box.mr:.5f}")if __name__ =='__main__': main()

运行命令:

python train.py 

🔍 四、推理演示 predict_demo.py

# predict_demo.pyfrom ultralytics import YOLO model = YOLO('runs/detect/nwpu_vhr10_detection/weights/best.pt') results = model.predict( source='test_image.jpg', conf=0.25,# 遥感小目标建议降低阈值 iou=0.45, save=True, show=True, line_width=2, font_size=12)# 打印检测结果 class_names =['Airplane','Ship','Storage Tank','Baseball Diamond','Tennis Court','Basketball Court','Ground Track Field','Harbor','Bridge','Vehicle']for result in results: boxes = result.boxes print(f"检测到 {len(boxes)} 个目标")for box in boxes: cls_id =int(box.cls.item()) conf =float(box.conf.item())print(f" → {class_names[cls_id]} (置信度: {conf:.3f})")

📤 五、模型导出(用于部署)

# export_model.pyfrom ultralytics import YOLO model = YOLO('runs/detect/nwpu_vhr10_detection/weights/best.pt')# 导出为 ONNX(通用) model.export(format='onnx', imgsz=640, simplify=True)# 导出为 TensorRT(NVIDIA GPU / Jetson) model.export(format='engine', imgsz=640, half=True, device=0)# 导出为 OpenVINO(Intel CPU) model.export(format='openvino', imgsz=640)

⚙️ 六、训练优化建议

挑战解决方案
小目标漏检(如车辆、飞机)启用 mosaic=1.0,使用 imgsz=1024(若显存允许)
类别不平衡(如桥梁仅124个)YOLOv8 内置 Focal Loss 变体,通常无需额外处理;也可对稀有类过采样
背景复杂干扰增加 hsv_vdegrees 增强,提升光照与角度鲁棒性
实时遥感分析若部署于边缘设备(如无人机),可改用 yolov8s + TensorRT

Read more

如何在 Visual Studio Code 中使用 Cursor AI

如何在 Visual Studio Code 中使用 Cursor AI

在当今快节奏的开发环境中,像 Cursor AI 这样的 AI 工具正在彻底改变开发人员编写和管理代码的方式。Cursor AI 通过提供智能代码建议、自然语言编辑和多文件项目更新功能,增强了“ Visual Studio Code (VS Code )”的功能,所有这些功能均由 GPT-4 和 Claude 3.5 Sonnet 等“顶级”模型提供支持。 这篇详细的文章探讨了如何在Visual Studio Code中使用 Cursor AI ,提供了性能基准,并包括真实世界的编码比较以说明其实际应用。 什么是 Cursor AI Cursor AI 是一个以 AI 为中心的集成开发环境 (IDE),是 Visual Studio Code 的变体。它融合了

零基础学AI大模型之LangChain链

零基础学AI大模型之LangChain链

大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注实战代码系列最新文章😉C++实现图书管理系统(Qt C++ GUI界面版)SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案分库分表分库分表之实战-sharding-JDBC分库分表执行流程原理剖析消息队列深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)AI大模型零基础学AI大模型之LangChain聊天模型多案例实战 前情摘要: 1、零基础学AI大模型之读懂AI大模型 2、零基础学AI大模型之从0到1调用大模型API 3、零基础学AI大模型之SpringAI 4、零基础学AI大模型之AI大模型常见概念 5、零基础学AI大模型之大模型私有化部署全指南 6、零基础学AI大模型之AI大模型可视化界面 7、零基础学AI大模型之LangChain 8、零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路 9、零基础学AI大模型之Prompt提示词工程 10、零基础学AI大模型之LangChain-Promp

OpenClaw实战三|电商自动化AI工具:自动上下架+智能客服+订单统计,小店运营效率直接翻3倍

OpenClaw实战三|电商自动化AI工具:自动上下架+智能客服+订单统计,小店运营效率直接翻3倍

做电商的朋友,不管是淘宝、拼多多、抖音小店,每天都在被三件事绑死: * 商品上下架全靠手动盯:库存不够了忘下架超卖、活动到点没上架、滞销品堆着占权重,天天提心吊胆; * 买家消息回不完:「什么时候发货」「尺码怎么选」「能退换吗」,重复问题占80%,吃饭睡觉都在盯手机; * 订单统计熬到半夜:每天手动算销量、退款率、客单价,做报表做表做一半还能漏单、算错数。 我身边做女装的朋友,夫妻店两个人,一半时间都耗在这种重复操作上,旺季直接忙到凌晨,客服、运营、发货一肩挑,人累垮不说,还经常因为漏回消息、忘上下架丢单。 上个月我用OpenClaw帮他搭了一套电商自动化AI工具,没写一行复杂业务代码,纯靠平台API对接+技能编排,就把「商品上下架、买家自动回复、订单自动统计」全流程跑通了。 上线之后,他们每天只用处理发货和售后纠纷,重复工作直接砍掉80%,日均订单量还涨了20%,再也不用熬夜盯后台。 这篇是「OpenClaw企业/个体落地实战」第三篇,

AI 技能(Skills):一种面向任务自动化的模块化执行范式

AI 技能(Skills):一种面向任务自动化的模块化执行范式 摘要:Skills 并非新概念,而是对提示工程(Prompt Engineering)与工具调用(Tool Use)的系统性封装。它通过元数据、行动指南与可执行资源的三元结构,将大模型能力从“文本生成”延伸至“闭环操作”。 一、本质定义 * Skills 是一种轻量级、可复用的任务执行单元,用于赋予大模型确定性行为能力。 * 其核心目标是解决传统提示词的三大局限: * 不可复用:每次需重复编写相似指令; * 无状态:无法跨会话保持上下文策略; * 无执行:仅输出文本,无法触发真实动作(如绘图、文件处理、API 调用)。 类比理解:Skills ≈ 函数(Function) 输入:自然语言指令; 输出:结构化结果 + 副作用(如生成图像、修改文件、发送请求)