深度学习基于YOLOv11 变电柜开关指示灯检测系统 变电柜开关及亮灯状态检测数据集
2026/9/7 21:00:11 网站建设 项目流程

高分辨率变电柜开关及亮灯状态检测数据集,860张,yolo,voc,coco三种标注方式

图像尺寸:2160*3840
类别数量:13类
训练集图像数量:698; 验证集图像数量:103; 测试集图像数量:59
类别名称: 每一类图像数 ,每一类标注数
switch1-on - 开关1-开:560, 1775
switch1-off - 开关1-关:471, 1007
greenlight-on - 绿灯-亮:573, 1401
greenlight-off - 绿灯-灭:822, 3101
redlight-off - 红灯-灭:775, 3150
yellowlight-off - 黄灯-灭:683, 3273
redlight-on - 红灯-亮:622, 1417
switch2 - 开关2:583, 2912
switch3-off - 开关3-关:137, 416
switch3-on - 开关3-开:67, 153
yellowlight-on - 黄灯-亮:2, 2
whitelight-off - 白灯-灭:65, 72
whitelight-on - 白灯-亮:87, 110
image num: 860

模型代码:提供全部训练及测试源代码,模型训练使用yolov11n训练,50个epoch训练结果,map如描述图所示。

qt界面:运行界面采用pyqt5编写, 提供全部源代码,支持图片、视频及摄像头进行检测: 界面可实时显示目标位置、目标总数、置信度等信息: 支持检测结果保存;本项目已经训练好模型,配置好环境后可直接使用,运行效果见描述图像

YOLOv11 变电柜开关指示灯检测系统 以下作为参考学习使用。

一、数据集配置文件 config.yaml

path:./datasets/electric_cabinettrain:images/trainval:images/valtest:images/testnames:0:switch1‑on1:switch1‑off2:greenlight‑on3:greenlight‑off4:redlight‑off5:yellowlight‑off6:redlight‑on7:switch28:switch3‑off9:switch3‑on10:whitelight‑off11:whitelight‑on

二、训练代码 train.py

fromultralyticsimportYOLO# 加载yolov11n权重model=YOLO("yolo11n.pt")# 开始训练results=model.train(data="config.yaml",epochs=80,imgsz=640,batch=8,device=0)

三、单张图片推理 predict.py

fromultralyticsimportYOLO model=YOLO("./runs/detect/train/weights/best.pt")#图片检测res=model.predict(source="test.jpg",save=True,conf=0.5)forboxinres[0].boxes:cls_id=int(box.cls)conf=float(box.conf)xyxy=box.xyxy.tolist()[0]print(f"类别:{model.names[cls_id]},置信度:{conf:.2f},坐标:{xyxy}")

四、PyQt5可视化简易GUI检测界面 main_ui.py

importsysimportcv2fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QPushButton,QLabel,QFileDialogfromPyQt5.QtGuiimportQImage,QPixmapfromultralyticsimportYOLOclassDetectWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("变电柜开关指示灯检测系统")self.resize(1000,700)self.model=YOLO("./runs/detect/train/weights/best.pt")self.btn_img=QPushButton("导入图片检测",self)self.btn_img.move(30,30)self.btn_img.clicked.connect(self.detect_image)self.label_show=QLabel(self)self.label_show.setGeometry(30,80,700,550)defdetect_image(self):path,_=QFileDialog.getOpenFileName()ifnotpath:returnres=self.model.predict(source=path,save=False)img=res[0].plot()img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)h,w,ch=img.shape qimg=QImage(img.data,w,h,ch*w,QImage.Format_RGB888)self.label_show.setPixmap(QPixmap.fromImage(qimg))if__name__=="__main__":app=QApplication(sys.argv)win=DetectWindow()win.show()sys.exit(app.exec_())

运行环境依赖安装:

pipinstallultralytics pyqt5 opencv‑python

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询