无人机巡检系统 - 智慧交通基础设施监测 - 小目标/密集目标检测(如裂缝、垃圾) - 多类别路面病害联合检测 智慧交通高清无人机视角高速路面损害检测数据集

无人机巡检系统 - 智慧交通基础设施监测 - 小目标/密集目标检测(如裂缝、垃圾) - 多类别路面病害联合检测 智慧交通高清无人机视角高速路面损害检测数据集

航拍无人机视角高速路面损害检测数据集,3349张

在这里插入图片描述

yolo,voc,coco标注方式
图像尺寸:1152*2048
类别数量:6类
训练集图像数量:3153; 验证集图像数量:157; 测试集图像数量:39
类别名称: 每一类图像数 ,每一类标注数
Cracks - 裂缝:446, 815
Waterlogging - 积水:1208, 2091
Ravelling - 松散:459, 869
Muddy_road - 泥泞道路:952, 2084
Road_side_garbage - 道路旁垃圾:329, 429
Potholes - 坑洼:663, 1352
image num: 3349

以下是航拍无人机视角高速路面损害检测数据集的完整信息表格:

属性详情
数据集名称Aerial UAV Highway Pavement Damage Detection Dataset
采集视角无人机航拍(俯视高速道路场景)
图像总数3,349 张
图像分辨率1152 × 2048 像素
标注格式支持YOLO、VOC、COCO(三者均提供)
任务类型目标检测(Bounding Box)
类别数量6 类

在这里插入图片描述

📊 类别详细统计表

类别英文名中文名称包含该类别的图像数量该类别的标注实例总数
Cracks裂缝446815
Waterlogging积水1,2082,091
Ravelling松散459869
Muddy_road泥泞道路9522,084
Road_side_garbage道路旁垃圾329429
Potholes坑洼6631,352
总计图像数:3,349(与各图像数之和不等,因单张图像可含多个类别)
总标注实例数:7,640

在这里插入图片描述

📁 数据集划分

子集图像数量
训练集(train)3,153
验证集(val)157
测试集(test)39
总计3,349

该数据集适用于:

  • 无人机巡检系统
  • 智慧交通基础设施监测
  • 小目标/密集目标检测(如裂缝、垃圾)
  • 多类别路面病害联合检测
在这里插入图片描述


1、

在这里插入图片描述

航拍无人机视角高速路面损害检测数据集(6类,3349张图像,分辨率1152×2048)的完整 YOLOv8 训练代码与配置方案,支持 YOLO 格式标注(推荐),并兼容你已有的 VOC/COCO 标注。


✅ 一、环境准备

pip install ultralytics opencv-python numpy pandas tqdm 
ultralytics 是官方 YOLOv8 库,原生支持 YOLO、COCO、VOC(需转换)格式。

✅ 二、数据组织结构(YOLO 格式)

假设你的数据已按以下结构存放:

HighwayDamageDataset/ ├── images/ │ ├── train/ # 3153 张 │ ├── val/ # 157 张 │ └── test/ # 39 张 └── labels/ ├── train/ ├── val/ └── test/ 

每张图像 xxx.jpg 对应一个 xxx.txt,内容为:

<class_id> <x_center> <y_center> <width> <height> # 归一化到 [0,1] 
🔁 若你只有 VOC 或 COCO 标注,文末提供自动转换脚本。

✅ 三、YOLO 配置文件:highway_damage.yaml

# highway_damage.yamltrain: ./HighwayDamageDataset/images/train val: ./HighwayDamageDataset/images/val test: ./HighwayDamageDataset/images/test nc:6# 类别数names:- Cracks # 裂缝- Waterlogging # 积水- Ravelling # 松散- Muddy_road # 泥泞道路- Road_side_garbage # 道路旁垃圾- Potholes # 坑洼
💡 中文名可保留,但建议英文命名以避免部分工具兼容问题。推理时可通过映射显示中文。

✅ 四、训练脚本:train_highway.py

# train_highway.pyfrom ultralytics import YOLO import os defmain():# 创建输出目录 os.makedirs("runs/highway_damage", exist_ok=True)# 加载预训练模型(推荐 yolov8s 或 yolov8m) model = YOLO('yolov8s.pt')# 可替换为 'yolov8m.pt' / 'yolov8l.pt'# 开始训练 results = model.train( data='highway_damage.yaml',# 数据配置文件 epochs=150,# 推荐 100~200(根据收敛调整) imgsz=1024,# 输入尺寸(略小于原图 1152x2048,节省显存) batch=8,# 根据 GPU 显存调整(24GB 可用 12~16) name='yolov8s_highway_1024', project='runs/highway_damage', device=0,# GPU ID(多卡可用 [0,1]) workers=8, cache=False,# 内存充足可设 True 加速 optimizer='AdamW', lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3, patience=30,# 早停:验证损失不再下降则停止 save=True, save_period=10, verbose=True, plots=True,# 生成训练曲线、PR 曲线等 hsv_h=0.015,# 增强:色调 hsv_s=0.7,# 饱和度 hsv_v=0.4,# 亮度 degrees=10.0,# 旋转增强(±10°) translate=0.1,# 平移 scale=0.5,# 缩放(0.5~1.5) shear=2.0,# 剪切 perspective=0.001,# 透视变换 flipud=0.0,# 上下翻转(航拍不建议) fliplr=0.5,# 左右翻转(合理) mosaic=1.0,# Mosaic 增强(对小目标有效) mixup=0.1,# MixUp)print(f"✅ 训练完成!最佳模型路径:{results.save_dir}/weights/best.pt")if __name__ =='__main__': main()

✅ 五、命令行快速训练(替代方式)

yolo detect train \data=highway_damage.yaml \model=yolov8s.pt \epochs=150\imgsz=1024\batch=8\name=yolov8s_highway_1024 \project=runs/highway_damage \device=0\optimizer=AdamW \patience=30\hsv_h=0.015hsv_s=0.7hsv_v=0.4\degrees=10fliplr=0.5mosaic=1.0

✅ 六、关键训练建议

项目建议
输入尺寸使用 imgsz=1024(保持长宽比,YOLO 自动填充)
若 GPU 允许,可尝试 1280 提升小目标召回
Batch Size8~16(2048 宽图显存占用高)
数据增强启用 mosaicfliplrhsv禁用 flipud(航拍上下方向有意义)
类别不平衡“积水”和“泥泞道路”样本多,“垃圾”较少 → 可开启 class_weights(需自定义)
评估重点关注 [email protected]小目标 AP(裂缝、垃圾)

✅ 七、VOC / COCO 转 YOLO 脚本(如需要)

▶ 如果你有 VOC 格式(XML)

# voc2yolo.pyimport os import xml.etree.ElementTree as ET from pathlib import Path class_names =["Cracks","Waterlogging","Ravelling","Muddy_road","Road_side_garbage","Potholes"]defconvert_voc_to_yolo(voc_dir, yolo_dir, image_dir): os.makedirs(yolo_dir, exist_ok=True)for xml_file in Path(voc_dir).glob("*.xml"): tree = ET.parse(xml_file) root = tree.getroot() img_w =int(root.find('size/width').text) img_h =int(root.find('size/height').text) lines =[]for obj in root.findall('object'): cls_name = obj.find('name').text if cls_name notin class_names:continue cls_id = class_names.index(cls_name) bndbox = obj.find('bndbox') xmin =int(bndbox.find('xmin').text) ymin =int(bndbox.find('ymin').text) xmax =int(bndbox.find('xmax').text) ymax =int(bndbox.find('ymax').text) x_center =(xmin + xmax)/2/ img_w y_center =(ymin + ymax)/2/ img_h width =(xmax - xmin)/ img_w height =(ymax - ymin)/ img_h lines.append(f"{cls_id}{x_center:.6f}{y_center:.6f}{width:.6f}{height:.6f}")withopen(os.path.join(yolo_dir, xml_file.stem +'.txt'),'w')as f: f.write('\n'.join(lines))# 使用示例 convert_voc_to_yolo('annotations/voc/train','labels/train','images/train')

▶ 如果你有 COCO 格式(JSON)

YOLOv8 原生支持 COCO,只需在 highway_damage.yaml 中指定:

train: path/to/coco/train.json val: path/to/coco/val.json 

但需确保类别顺序与 names 一致。


✅ 八、推理与部署示例

from ultralytics import YOLO model = YOLO('runs/highway_damage/yolov8s_highway_1024/weights/best.pt') results = model('test_image.jpg')# 显示结果(含中文标签) chinese_names ={"Cracks":"裂缝","Waterlogging":"积水","Ravelling":"松散","Muddy_road":"泥泞道路","Road_side_garbage":"道路旁垃圾","Potholes":"坑洼"}for r in results: boxes = r.boxes for box in boxes: cls_name = model.names[int(box.cls)]print(f"检测到:{chinese_names.get(cls_name, cls_name)}")

📌 注意:由于图像宽高比极端(1152×2048 ≈ 9:16 竖屏),YOLO 会自动 padding 成正方形。若想保留原始比例,可考虑 滑动窗口裁剪 或使用 YOLOv8-OBB(但本任务无需旋转框)。

Read more

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

Clawdbot整合Qwen3:32B的低代码工作流:拖拽式Agent编排与条件分支

Clawdbot整合Qwen3:32B的低代码工作流:拖拽式Agent编排与条件分支 1. 为什么需要这个工作流:从“写代码”到“搭积木” 你有没有遇到过这样的情况:想让大模型帮自己自动处理一批客户咨询,但每次都要改Python脚本、调API参数、写if-else逻辑,改完还要测试、部署、查日志?或者想让AI根据用户提问类型自动走不同流程——比如问价格走报价分支,问售后走工单分支,问教程走知识库分支——可一想到要写状态机、维护路由表、处理异常跳转,就直接放弃了? Clawdbot + Qwen3:32B 的这套低代码工作流,就是为解决这类问题而生的。它不让你写一行后端逻辑,也不要求你懂FastAPI或LangChain内部机制。你只需要在界面上拖拽几个模块,连几条线,设几个判断条件,就能把一个320亿参数的大模型变成真正能干活的智能体(Agent)。 这不是概念演示,而是已经跑在生产环境里的真实配置:Qwen3:32B 模型私有部署在本地服务器,通过 Ollama 统一提供 API;Clawdbot 作为前端编排层,不碰模型推理,只负责“

一、FPGA到底是什么???(一篇文章让你明明白白)

一句话概括 FPGA(现场可编程门阵列) 是一块可以通过编程来“变成”特定功能数字电路的芯片。它不像CPU或GPU那样有固定的硬件结构,而是可以根据你的需求,被配置成处理器、通信接口、控制器,甚至是整个片上系统。 一个生动的比喻:乐高积木 vs. 成品玩具 * CPU(中央处理器):就像一个工厂里生产好的玩具机器人。它的功能是固定的,你只能通过软件(比如按不同的按钮)来指挥它做预设好的动作(走路、跳舞),但你无法改变它的机械结构。 * ASIC(专用集成电路):就像一个为某个特定任务(比如只会翻跟头)而专门设计和铸造的金属模型。性能极好,成本低(量产时),但一旦制造出来,功能就永远无法改变。 * FPGA:就像一盒万能乐高积木。它提供了大量基本的逻辑单元(逻辑门、触发器)、连线和接口模块。你可以通过“编程”(相当于按照图纸搭建乐高)将这些基本模块连接起来,构建出你想要的任何数字系统——可以今天搭成一个CPU,明天拆了重新搭成一个音乐播放器。 “现场可编程”

AI绘画电商产品提示词撰写指南

AI绘画电商产品提示词撰写指南

在电商领域,利用 AI 绘画生成产品图片正逐渐成为提升商品视觉吸引力、提高运营效率的重要手段。而撰写精准有效的提示词,是让 AI 理解并生成符合预期产品图片的关键。 一、明确产品关键信息 产品基础描述 产品类型与用途:清晰界定产品所属类别,无论是服装、电子产品、家居用品还是美妆产品等,这是 AI理解产品的基础。同时,简要说明产品的核心用途或目标受众,可分为3层结构(按优先级排序) * 基础层:明确产品核心属性(避免 AI 生成偏差),包括「产品类别 + 规格 + 材质 / 工艺」,例: “女士夏季短袖连衣裙(长度到膝盖),雪纺面料,蕾丝领口” * 场景层:搭建使用场景(增强代入感),包括「使用环境 + 搭配元素 + 人群画像」,例: “在海边沙滩场景,搭配草编帽和珍珠凉鞋,适合 25-35