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

OpenClaw龙虾机器人实战:基于Rust+Tauri构建带“安全沙箱”的跨平台清理Skill

摘要: 当 AI 走出聊天框,拿起系统的“ root 权限”,它是你的“数字管家”还是潜伏的“特洛伊木马”?2026年初,由 Peter Steinberger 打造的 OpenClaw(龙虾机器人) 横扫全球开源社区,GitHub 星标数迅速突破 18 万。它不再是单纯的 Chatbot,而是能通过 WhatsApp、Telegram 直接操控你电脑的执行型智能体。 然而,权力的下放伴随着巨大的风险——Meta 高管因授权 OpenClaw 访问邮箱而导致收件箱被批量清空的惨案犹在眼前。本文将基于 OpenClaw 架构,使用 Rust + Tauri 技术栈,开发一款跨平台临时文件清理 Skill。我们将重点解决两大核心难题: 1. 系统级深度操作:如何用 Rust 优雅地调用

开源:AI+无人机巡检系统项目调研

主流开源AI无人机巡检项目调研 本部分系统梳理了当前主流的开源无人机巡检相关项目,涵盖飞控系统、地面站软件、AI视觉识别、数据处理等多个技术栈,为商业化产品开发提供技术选型参考。 一、飞控与地面站开源项目 1.1 PX4 Autopilot 项目地址:github.com/PX4/PX4-Autopilot 开源协议:BSD 3-Clause 项目简介:由Dronecode基金会(Linux基金会旗下)维护的专业级开源自动驾驶仪软件,是全球最广泛使用的无人机飞控系统之一。支持多旋翼、固定翼、垂直起降等多种机型,广泛应用于工业无人机和科研领域。 核心能力:飞行控制、任务规划、传感器融合、MAVLink通信协议、硬件抽象层、模块化架构 1.2 ArduPilot 项目地址:github.com/ArduPilot/ardupilot 开源协议:GPLv3 项目简介:历史最悠久的开源自动驾驶仪项目,社区活跃度极高。

多源融合定位入门到精通:无人机GPS/北斗标定、抗干扰与精度提升全攻略

多源融合定位入门到精通:无人机GPS/北斗标定、抗干扰与精度提升全攻略

在工业无人机的所有性能指标中,定位精度是决定任务价值的核心。巡检需要精准悬停、测绘需要厘米级定位、返航需要米级落点、安防需要稳定跟踪。然而绝大多数团队都会遇到:定点飘、航线弯、信号弱、高楼丢星、磁场干扰、返航偏差大等问题。很多人将这些问题归咎于 GPS 模块质量差,实际上,80% 的定位问题来自安装不规范、环境干扰、未做融合标定、多传感器不同步、坐标系不统一。 一、定位为什么会飘?底层原理科普 无人机定位依靠卫星信号(GPS、北斗、GLONASS),但现实环境充满干扰因素: 信号遮挡:高楼、树木、桥梁、山体遮挡卫星信号。多路径反射:信号经地面、墙面反射后产生虚假位置。电磁干扰:电机、电调、电源、数传产生磁场干扰。传感器不同步:GPS、IMU、罗盘时间戳不一致。未现场标定:出厂参数无法适应实际环境。

低空经济新实践:无人机如何革新光伏电站巡检

低空经济新实践:无人机如何革新光伏电站巡检

引言:当低空经济遇见新能源革命 在“双碳”战略引领下,光伏电站如雨后春笋般遍布神州大地。截至2023年底,我国光伏发电装机容量已突破6亿千瓦,连续多年位居全球首位。然而,随着光伏电站规模的急剧扩大,传统人工巡检方式已难以满足高效、精准的运维需求。此时,低空经济的崛起为这一痛点带来了创新解法——无人机光伏巡检技术正在重新定义新能源设施的运维模式。 一、传统光伏巡检之困:低效、高风险、不精准 传统光伏巡检主要依赖人工方式,运维人员需要手持红外热像仪等设备,在光伏板阵列中徒步检查。这种方式存在明显短板: 1. 效率低下:一个100MW的光伏电站,人工全面巡检往往需要数周时间 2. 安全风险:高温、高电压环境下作业,人员安全隐患不容忽视 3. 漏检率高:人工目视检查难以发现细微缺陷,问题检出率通常不足70% 4. 数据离散:检查结果依赖个人经验,难以形成标准化数据资产 二、无人机智能巡检系统架构 现代无人机光伏巡检已形成完整的系统解决方案,主要由以下核心模块组成: 2.1 硬件配置 * 飞行平台: