news 2026/2/10 7:26:28

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

作者头像

张小明

前端开发工程师

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

航拍无人机视角高速路面损害检测数据集,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 标注。


✅ 一、环境准备

pipinstallultralytics 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/trainval:./HighwayDamageDataset/images/valtest:./HighwayDamageDataset/images/testnc:6# 类别数names:-Cracks# 裂缝-Waterlogging# 积水-Ravelling# 松散-Muddy_road# 泥泞道路-Road_side_garbage# 道路旁垃圾-Potholes# 坑洼

💡 中文名可保留,但建议英文命名以避免部分工具兼容问题。推理时可通过映射显示中文。


✅ 四、训练脚本:train_highway.py

# train_highway.pyfromultralyticsimportYOLOimportosdefmain():# 创建输出目录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(需自定义)
评估重点关注mAP@0.5小目标 AP(裂缝、垃圾)

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

▶ 如果你有VOC 格式(XML)

# voc2yolo.pyimportosimportxml.etree.ElementTreeasETfrompathlibimportPath 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)forxml_fileinPath(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=[]forobjinroot.findall('object'):cls_name=obj.find('name').textifcls_namenotinclass_names:continuecls_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')asf: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.jsonval:path/to/coco/val.json

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


✅ 八、推理与部署示例

fromultralyticsimportYOLO 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":"坑洼"}forrinresults:boxes=r.boxesforboxinboxes:cls_name=model.names[int(box.cls)]print(f"检测到:{chinese_names.get(cls_name,cls_name)}")

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


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 10:53:57

爱沙尼亚语数字政府服务:公务员数字人讲解办事流程

爱沙尼亚语数字政府服务&#xff1a;公务员数字人讲解办事流程 在爱沙尼亚&#xff0c;一个不到140万人口的国家&#xff0c;99%的政务服务已实现在线办理。居民可以在几分钟内完成报税、注册公司甚至跨境业务申报——这一切都建立在“电子公民”&#xff08;e-Residency&#…

作者头像 李华
网站建设 2026/2/7 15:02:03

马耳他语地中海饮食推广:厨师数字人推荐健康食谱

马耳他语地中海饮食推广&#xff1a;厨师数字人推荐健康食谱 —— 基于 HeyGem 数字人视频生成系统的技术实现 在马耳他&#xff0c;一种被联合国教科文组织列为非物质文化遗产的地中海饮食文化正面临传播困境&#xff1a;尽管它以橄榄油、新鲜蔬果和鱼类为核心&#xff0c;被誉…

作者头像 李华
网站建设 2026/2/2 20:59:21

如何用C#实现跨平台请求拦截与调试?90%开发者忽略的关键细节

第一章&#xff1a;C#跨平台请求拦截的现状与挑战在现代软件开发中&#xff0c;C# 作为一门强大的面向对象语言&#xff0c;已通过 .NET Core 和 .NET 5 实现了真正的跨平台能力。随着应用架构向微服务和分布式系统演进&#xff0c;对 HTTP 请求进行拦截、监控和修改的需求日益…

作者头像 李华
网站建设 2026/2/10 9:23:20

客服数字人上线前演练:HeyGem模拟对话场景视频制作

客服数字人上线前演练&#xff1a;HeyGem模拟对话场景视频制作 在企业客服系统加速智能化的今天&#xff0c;一个关键却常被忽视的问题浮出水面&#xff1a;如何在不反复真人出镜的前提下&#xff0c;高效验证数字人的表达自然度&#xff1f;尤其是在准备上线阶段&#xff0c;运…

作者头像 李华
网站建设 2026/2/7 18:36:52

PyCharm激活码永不过期?误传信息澄清及IDE调试HeyGem建议

PyCharm激活码永不过期&#xff1f;误传信息澄清及IDE调试HeyGem建议 在AI内容创作工具快速普及的今天&#xff0c;数字人视频生成系统如HeyGem正被广泛应用于虚拟主播、在线教育和自动化营销场景。这类系统通常基于Python构建&#xff0c;依赖Gradio或Flask提供Web交互界面&a…

作者头像 李华
网站建设 2026/2/8 6:12:12

面试模拟机器人:HeyGem生成HR提问视频供求职者练习

面试模拟机器人&#xff1a;HeyGem生成HR提问视频供求职者练习 在每年数以百万计的求职大军中&#xff0c;一个共通的难题始终存在&#xff1a;如何在真正站到面试官面前之前&#xff0c;获得足够真实、可重复的演练机会&#xff1f;传统的“对着镜子练”或找朋友扮演HR&#…

作者头像 李华