城市管理问题检测数据集 深度学习基于YOLOv11城市管理公共设施检测系统 城市垃圾 野生动物 井盖 路面坑洼 违规停车 道路裂倒伏树木
智慧-城市管理问题检测数据集9775张提供yolovoccoco三种标注方式图像尺寸:640*640类别数量:14类训练集图像数量:7002; 验证集图像数量:1855 测试集图像数量:918类别名称: 每一类图像数 每一类标注数overflowing_trashbin-垃圾桶溢满214,349trash-垃圾1172,3983broken_urban_furniture-破损市政设施337,344wild_animals-野生动物277,317open_manhole-敞开井盖791,798pothole-路面坑洼1621,3255stray-流浪动物1719,2590illegal_parking-违规停车146,296cracks-路面裂缝847,921flood-路面积水441,456fallen_trees-倒伏树木563,660graffiti-乱涂涂鸦1023,2340roadkills-路倒动物632,663dangerous_buildings-危房建筑23,23image num: 9775模型代码采用 YOLOv11n 网络训练训练轮次80 个 epoch提供全部训练 测试源代码训练精度 mAP 效果如图所示PyQt5 界面功能界面使用 PyQt5 开发提供全部源码.ui、.qrc、.py 及图标文件支持图片检测、视频检测、摄像头实时检测界面实时显示目标位置、目标总数、置信度等信息城市管理问题检测数据集数据集信息表项目详情数据集名称城市管理问题检测数据集图像总数9775张图像尺寸640×640标注格式YOLO、VOC、COCO三种标注类别总数14类训练集7002张验证集1855张测试集918张训练模型YOLOv11n训练轮次80 epoch配套资源训练测试全套源码PyQt5可视化界面完整源码.ui/.qrc/.py图标支持图片/视频/摄像头实时检测输出目标框、目标数量、置信度类别清单类别英文类别中文图像数量标注实例数overflowing_trashbin垃圾桶溢满214349trash垃圾11723983broken_urban_furniture破损市政设施337344wild_animals野生动物277317open_manhole敞开井盖791798pothole路面坑洼16213255stray流浪动物17192590illegal_parking违规停车146296cracks路面裂缝847921flood路面积水441456fallen_trees倒伏树木563660graffiti乱涂涂鸦10232340roadkills路倒动物632663dangerous_buildings危房建筑2323应用场景智慧城市、城市环卫自动化巡检无人机/车载摄像头自动识别路面各类城市问题市政道路病害排查自动识别坑洼、裂缝、积水、倒伏树木、危房、敞开井盖等安全隐患市容环境监管识别垃圾溢出、散落垃圾、墙面涂鸦、违规停放城市安全预警识别流浪动物、野生动物、路面动物尸体辅助城市应急管理城管数字化平台自动采集问题生成上报工单降低人工巡查成本。数据集yaml配置文件urban.yaml# urban.yamlpath:./urban_dataset#数据集根目录train:images/trainval:images/valtest:images/testnames:0:overflowing_trashbin1:trash2:broken_urban_furniture3:wild_animals4:open_manhole5:pothole6:stray7:illegal_parking8:cracks9:flood10:fallen_trees11:graffiti12:roadkills13:dangerous_buildingsYOLOv11n训练代码 train.pyfromultralyticsimportYOLOif__name____main__:# 加载YOLOv11n权重modelYOLO(yolo11n.pt)# 开始训练resultsmodel.train(dataurban.yaml,epochs80,imgsz640,batch16,device0,workers4,patience10,projecturban_manage_det,nameyolo11n_urban)print(训练完成)# 在测试集评估metricsmodel.val(splittest)print(metrics.box.map)单图推理代码 predict.pyfromultralyticsimportYOLO modelYOLO(urban_manage_det/yolo11n_urban/weights/best.pt)defpredict_img(img_path):resmodel.predict(img_path,conf0.3)forrinres:boxesr.boxesprint(f检测目标总数{len(boxes)})forboxinboxes:cls_idint(box.cls)conffloat(box.conf)xyxybox.xyxy.tolist()[0]print(f类别ID:{cls_id},置信度:{conf:.3f},坐标:{xyxy})r.save(result.jpg)if__name____main__:predict_img(test.jpg)PyQt5简易界面推理代码 gui.py图片/视频/摄像头importsysimportcv2fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QPushButton,QLabel,QFileDialogfromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQt,QThread,pyqtSignalfromultralyticsimportYOLO modelYOLO(urban_manage_det/yolo11n_urban/weights/best.pt)classCamThread(QThread):signal_imgpyqtSignal(QImage)defrun(self):capcv2.VideoCapture(0)whilecap.isOpened():ret,framecap.read()ifnotret:breakresmodel(frame,conf0.3)frameres[0].plot()rgbcv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,chrgb.shape qt_imgQImage(rgb.data,w,h,ch*w,QImage.Format_RGB888)self.signal_img.emit(qt_img.scaled(800,480,Qt.KeepAspectRatio))cap.release()classMainWin(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(城市管理问题检测系统)self.setGeometry(100,100,900,600)self.lbl_showQLabel(self)self.lbl_show.setGeometry(20,20,800,480)self.btn_imgQPushButton(图片检测,self)self.btn_img.setGeometry(20,520,120,30)self.btn_img.clicked.connect(self.detect_img)self.btn_videoQPushButton(视频检测,self)self.btn_video.setGeometry(160,520,120,30)self.btn_video.clicked.connect(self.detect_video)self.btn_camQPushButton(摄像头实时,self)self.btn_cam.setGeometry(300,520,120,30)self.btn_cam.clicked.connect(self.open_cam)self.cam_threadCamThread()self.cam_thread.signal_img.connect(self.show_img)defshow_img(self,qimg):self.lbl_show.setPixmap(QPixmap.fromImage(qimg))defdetect_img(self):path,_QFileDialog.getOpenFileName(self,选择图片,,Image(*.jpg *.png))ifnotpath:returnresmodel(path,conf0.3)imgres[0].plot()rgbcv2.cvtColor(img,cv2.COLOR_BGR2RGB)h,w,chrgb.shape qt_imgQImage(rgb.data,w,h,ch*w,QImage.Format_RGB888)self.lbl_show.setPixmap(QPixmap.fromImage(qt_img.scaled(800,480,Qt.KeepAspectRatio)))defdetect_video(self):path,_QFileDialog.getOpenFileName(self,选择视频,,Video(*.mp4))ifnotpath:returncapcv2.VideoCapture(path)whilecap.isOpened():ret,framecap.read()ifnotret:breakresmodel(frame,conf0.3)frameres[0].plot()rgbcv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,chrgb.shape qt_imgQImage(rgb.data,w,h,ch*w,QImage.Format_RGB888)self.lbl_show.setPixmap(QPixmap.fromImage(qt_img.scaled(800,480,Qt.KeepAspectRatio)))QApplication.processEvents()cap.release()defopen_cam(self):self.cam_thread.start()if__name____main__:appQApplication(sys.argv)winMainWin()win.show()sys.exit(app.exec_())环境安装命令pipinstallultralytics opencv-python pyqt5 torch torchvision