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

3小时搞定PX4飞控:从零搭建无人机自主飞行系统

3小时搞定PX4飞控:从零搭建无人机自主飞行系统 【免费下载链接】PX4-AutopilotPX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 想要快速掌握无人机飞控核心技术?今天我就带你用3小时完成PX4飞控系统的完整搭建。无论你是无人机爱好者还是专业开发者,这套实战方案都能帮你避开弯路,直达目标! 🚀 快速上手:环境配置与项目获取 系统要求很简单: * Ubuntu 18.04及以上版本 * 4GB内存和20GB磁盘空间 * 稳定的网络环境 一键安装基础工具: sudo apt update && sudo apt install git cmake build-essential -y 获取PX4源码: git clone https://gitcode.com/gh_mirrors/px/PX4-Autopilot

西门子大型程序及Fanuc机器人焊装系统集成 - 包含多项Profinet通讯与智能模块

西门子大型程序及Fanuc机器人焊装系统集成 - 包含多项Profinet通讯与智能模块

西门子大型程序fanuc机器人焊装 包括1台 西门子1500PLC程序,2台触摸屏TP1500程序,9个智能远程终端ET200SP Profinet连接 15个Festo智能模块Profinet通讯 10台Fanuc发那科机器人Profinet通讯 3台G120变频器Profinet通讯 2台智能电能管理仪表PAC3200 4个GRAPH顺控程序 图尔克RFID总线模组通讯 和MES系统通讯,西门子安全模块 内含GSD文件,可供其他项目使用 程序经典,结构清晰,SCL算法,堆栈,梯形图,结构化编程,想学习项目累计经验时间可以借鉴思路博途v15.1以上可以打开。 最近在搞一个挺有意思的项目,用西门子1500PLC搭了个Fanuc机器人焊装产线。这系统里光Profinet设备就三十多个,从ET200SP到发那科机器人,再带G120变频器,活脱脱一个工业通讯大杂烩。但别被设备数量吓到,程序结构可是清清爽爽,就像老司机整理的衣柜——该挂的挂,该叠的叠。 先说这程序里的SCL算法,比老式梯形图利索多了。举个栗子,处理机器人故障信号时用了堆栈结构: VAR_TEMP AlarmStack :

无人机航测内业处理(iTwin Capture Modeler)

无人机航测内业处理(iTwin Capture Modeler)

iTwin Capture Modeler 内业处理 1、概述 本文以iTwin Capture Modeler(旧名称为Context Capture或Smart3D)软件为例介绍航测建模、土方算量、三维模型在线发布分享等内业处理。 本机所使用笔记本电脑主要配置: CPU:intel Core Ultra 9 275HX 显卡:NVIDIA GeForce RTX 5070 Ti Laptop GPU 12GB 内存:32GB 注意:内存大小决定是否可以成功建模,内存不足建模失败(不会提示失败原因),推荐16GB以上;硬盘剩余容量建议为建模图片大小的2~3倍,否则会因为容量不足建模失败。 2、内业数据处理 2.1新建工程 打开两个软件,第一个为引擎,建模必须打开,第二个为主程序,第三个为模型浏览查看程序 开始计算空三或者建模时,

自适应图像变焦与边界框变换用于无人机目标检测

自适应图像变焦与边界框变换用于无人机目标检测

作者: Tao Wang, Chenyu Lin, Chenwei Tang, Jizhe Zhou, Deng Xiong, Jianan Li, Jian Zhao, Jiancheng Lv 亮点 * 自适应空间变换: 对图像进行自适应空间变换可以有效地放大物体细节。 * 框变换: 框变换使得检测器能够在图像变换的空间中进行训练和推理。 * 实验效果: 在多种无人机图像数据集上的实验表明,该方法以较小的代价获得了有效的增益。 * 灵活模块化设计: 灵活的模块化设计使其能够与其他方法和任务场景集成。 https://arxiv.org/pdf/2602.07512 摘要 由于物体尺寸较小,从无人机(UAV)拍摄的图像中检测物体具有挑战性。在这项工作中,我们探索了一种简单高效的自适应变焦框架,用于无人机图像的目标检测。主要动机是,前景物体通常比普通场景图像中的物体更小且更稀疏,这阻碍了有效目标检测器的优化。因此,我们的目标是自适应地放大物体,以便更好地捕捉用于检测任务的物体特征。为了实现这一目标,需要两个核心设计:i)