无人机航拍视角建筑垃圾检测数据集无人机多场景下建筑材料与垃圾等目标的无人机视角检测数据集 多场景无人机视角目标检测数据集概览表项目内容数据集名称多场景建筑材料与垃圾无人机检测数据集应用场景城市管理、工地巡检、环境监测、智慧城市等采集视角无人机航拍俯视/斜视总图像数量6,800 张高质量标注图像数据划分✅ 已预划分为train训练集和test测试集典型比例如 8:2 或 7:3可按需调整标注格式YOLO 格式.txt每张图像对应一个标签文件含归一化边界框坐标兼容模型通用 YOLO 系列✅ YOLOv5 / YOLOv6 / YOLOv7 / YOLOv8✅ YOLOv9 / YOLOv10 / YOLOv11 / YOLOv12 等主流开源实现类别数量 (nc)6 类类别名称中文[建筑材料, 垃圾, 车牌, 积水, 行人, 路灯]类别说明-建筑材料如钢筋、砖块、水泥袋、木板等堆放物料-垃圾散落废弃物、塑料、生活垃圾等-车牌地面车辆可见车牌用于定位或识别辅助-积水路面积水区域雨后/排水不畅-行人地面上的人员目标-路灯道路两侧照明设施是否可直接训练✅ 是只需配置.yaml文件即可启动训练推荐用途- 智慧工地监控- 城市环境卫生评估- 应急灾害如内涝巡查- 低空目标感知系统开发 推荐目录结构YOLO标准UrbanDroneDataset/ ├── images/ │ ├── train/# 训练图像~5400│ └── test/# 测试图像~1400├── labels/ │ ├── train/# 对应 .txt 标签│ └── test/ └── urban_drone.yaml# 数据配置文件️ 示例urban_drone.yamltrain:./images/trainval:./images/test# YOLO系列通常用val字段即使名为test也可用于验证nc:6names:[建筑材料,垃圾,车牌,积水,行人,路灯]1使用YOLOv8训练您的数据集并构建一个完整的系统下面提供了一个简化的流程和示例代码。仅供参考1. 安装依赖首先确保安装了必要的库。YOLOv8基于Ultralytics的yolov5/yolov8框架因此您需要安装相应的包pipinstallultralytics2. 准备数据集请确保您的数据集按照上述推荐目录结构组织好并且urban_drone.yaml文件配置正确。3. YOLOv8训练代码以下是一个简单的YOLOv8训练脚本示例fromultralyticsimportYOLO# 加载预训练模型或创建新模型modelYOLO(yolov8n.yaml)# 创建新模型# 或者加载官方预训练模型# model YOLO(yolov8n.pt)# 数据集配置文件路径data_yaml_path./UrbanDroneDataset/urban_drone.yaml# 开始训练resultsmodel.train(datadata_yaml_path,epochs100,imgsz640,batch16)# 训练完成后可以保存最佳模型best_model_pathmodel.save(best_yolov8_urban_drone.pt)print(fBest model saved at{best_model_path})4. 构建系统可选如果您希望将训练好的模型集成到一个更大的应用中例如包含PyQt5的GUI界面下面是一个非常基础的例子来展示如何加载模型并进行预测a. 使用PyQt5构建简易界面首先安装PyQt5:pipinstallpyqt5然后创建一个简单的PyQt5窗口来加载图片并显示检测结果importsysfromPyQt5.QtWidgetsimportQApplication,QLabel,QVBoxLayout,QWidgetfromPyQt5.QtGuiimportQPixmapfromPyQt5.QtCoreimportQtfromultralyticsimportYOLOfromPILimportImageimportioclassDetectionApp(QWidget):def__init__(self):super().__init__()self.initUI()# 加载模型self.modelYOLO(best_yolov8_urban_drone.pt)definitUI(self):self.setWindowTitle(无人机视角目标检测)self.setGeometry(300,300,600,400)self.imageLabelQLabel(self)layoutQVBoxLayout()layout.addWidget(self.imageLabel)self.setLayout(layout)defload_image(self,image_path):# 进行预测resultsself.model(image_path)forresultinresults:im_arrayresult.plot()# plot a BGR numpy array of predictionsimImage.fromarray(im_array[...,::-1])# RGB PIL imagebufio.BytesIO()im.save(buf,formatPNG)qt_imgQPixmap()qt_img.loadFromData(buf.getvalue(),PNG)self.imageLabel.setPixmap(qt_img.scaledToWidth(600,Qt.SmoothTransformation))if__name____main__:appQApplication(sys.argv)exDetectionApp()ex.load_image(path/to/test/image.jpg)# 修改为测试图像的实际路径ex.show()sys.exit(app.exec_())