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

Cosmos-Reason1-7B实战案例:工业巡检中识别设备异常动作的推理过程

Cosmos-Reason1-7B实战案例:工业巡检中识别设备异常动作的推理过程 1. 项目背景与模型介绍 Cosmos-Reason1-7B是NVIDIA开源的一款7B参数量的多模态视觉语言模型,专注于物理理解和思维链推理能力。作为Cosmos世界基础模型平台的核心组件,它能够处理图像和视频输入,并生成符合物理常识的决策回复。 在工业场景中,设备异常动作的识别一直是个挑战。传统方法需要大量规则编写和人工检查,而Cosmos-Reason1-7B通过其强大的视觉理解和推理能力,可以自动分析设备运行状态,识别异常动作并提供解释。 2. 工业巡检场景准备 2.1 数据采集要求 要使用Cosmos-Reason1-7B进行工业设备异常检测,需要准备以下数据: * 设备正常运行时的视频片段(作为基准参考) * 待检测的视频片段(可能包含异常动作) * 设备的基本信息(类型、预期动作等) 2.2 视频规格建议 为了获得最佳分析效果,建议视频满足以下条件: 参数推荐值说明分辨率720p或更高确保设备细节清晰可见帧率4-10 FPS与模型训练设置匹配时长10-30秒

OpenREALM:无人机实时映射框架的技术深度解析

OpenREALM:无人机实时映射框架的技术深度解析

在无人机应用日益广泛的当下,精准、高效的实时映射技术成为推动行业发展的关键。传统无人机映射方案往往存在数据处理滞后、对复杂地形适应性差等问题,难以满足精准农业、应急救援等场景的实时决策需求。OpenREALM 作为一款开源的无人机实时映射框架,创新性地融合了视觉 SLAM、单目稠密重建等前沿技术,实现了从 2D 图像拼接至 3D 表面重建的多模式映射功能。 原文链接:https://arxiv.org/pdf/2009.10492 代码链接:https://github.com/laxnpander/OpenREALM 沐小含持续分享前沿算法论文,欢迎关注... 一、引言:无人机映射技术的现状与挑战 1.1 应用背景与核心需求 人类对世界的勘测需求推动了映射技术的持续发展,而无人机的兴起为空中勘测提供了全新的解决方案。空中影像已广泛应用于精准农业、城市规划、灾害风险管理等关键领域,这些应用场景不仅对数据分辨率有较高要求,更在可用性、成本和映射效率方面提出了严苛标准。传统的有人机勘测存在操作复杂、成本高昂等局限,而无人机凭借轻量化设计、自主飞行能力强等优势,

零基础小白如何自学无人机开发

为零基础小白量身定制的无人机开发自学路径,规划了一条从入门到精通的系统性学习路线。这份指南会帮你避开新手常走的弯路,用最高效的方式掌握无人机开发的核心技能。 第一阶段:基础入门(1-2个月) - 打好根基 1. 理论学习 - 了解无人机如何工作 * 空气动力学基础:了解四旋翼无人机的基本飞行原理( pitch/roll/yaw ) * 硬件组成:学习飞控、电调、电机、GPS、IMU等核心部件的作用 * 推荐资源: * 书籍:《四旋翼飞行器设计与控制》 * 在线课程:Coursera的“Robotics: Aerial Robotics” * B站系列视频:“无人机原理入门” 2. 软件开发基础 - 掌握必要编程技能 * Python入门:语法基础、面向对象编程 * C++基础:指针、内存管理、类与对象(后续深入飞控开发必备) * Linux基本操作:Ubuntu系统安装、终端命令、