尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

YOLOv11红外光伏缺陷检测系统 红外光伏缺陷检测数据集,

YOLOv11红外光伏缺陷检测系统 红外光伏缺陷检测数据集, 红外光伏缺陷检测数据集2232张yolo和voc两种标注方式4类标注数量Cell Fault: 电池故障3060Bypass Diode: 旁路二极管1472Hotspot:热斑 3207Defects: 损伤5image num: 2232.模型代码模型训练使用yolov11n训练30个epoch训练结果map如描述图所示全套代码和训练好的权重文件。qt界面可视化运行界面采用pyqt编写可视化界面简单友好本项目已经训练好模型配置好环境后可直接使用运行效果见描述图像一、data.yaml配置红外光伏缺陷数据集类别旁路二极管故障、电池片故障、热斑path:./pv_fault_datasettrain:images/trainval:images/valtest:images/testnames:0:Bypass‑Diode1:Cell‑Fault2:Hotspot二、YOLOv11训练代码fromultralyticsimportYOLO#加载预训练权重modelYOLO(yolo11n.pt)#开始训练model.train(datadata.yaml,epochs80,imgsz640,batch8,device0,project光伏缺陷检测,nametrain_result)#模型评估metricsmodel.val()print(fmAP0.5:{metrics.box.map50})#导出onnx部署模型model.export(formatonnx)三、PyQt5可视化检测界面完整简易代码importsysfromultralyticsimportYOLOfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QTextEdit,QComboBox,QTableWidget,QTableWidgetItem)fromPyQt5.QtGuiimportQPixmap,QImageimportcv2importnumpyasnpclassPvDetectWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle(基于YOLOv11红外光伏面板缺陷检测系统)self.resize(1260,960)self.modelYOLO(./runs/光伏缺陷检测/train_result/weights/best.pt)#图片显示标签self.img_labelQLabel(self)self.img_label.setGeometry(20,60,620,520)#导入图片按钮self.btn_importQPushButton(文件导入,self)self.btn_import.setGeometry(680,60,180,40)self.btn_import.clicked.connect(self.load_image)#结果表格self.result_tableQTableWidget(self)self.result_table.setGeometry(20,610,950,300)self.result_table.setColumnCount(5)self.result_table.setHorizontalHeaderLabels([序号,文件路径,类别,置信度,坐标位置])defload_image(self):file_path,_QFileDialog.getOpenFileName(self,选择红外图片,,图片(*.jpg *.png))ifnotfile_path:returnimgcv2.imread(file_path)resultsself.model.predict(sourcefile_path,conf0.5,saveFalse)#绘制检测框forresinresults:boxesres.boxesforidx,boxinenumerate(boxes):x1,y1,x2,y2map(int,box.xyxy[0])conffloat(box.conf[0])clsint(box.cls[0])cls_nameself.model.names[cls]cv2.rectangle(img,(x1,y1),(x2,y2),(255,0,0),2)cv2.putText(img,f{cls_name}{conf:.2f},(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.5,(255,0,0),2)#写入表格rowself.result_table.rowCount()self.result_table.insertRow(row)self.result_table.setItem(row,0,QTableWidgetItem(str(idx1)))self.result_table.setItem(row,1,QTableWidgetItem(file_path))self.result_table.setItem(row,2,QTableWidgetItem(cls_name))self.result_table.setItem(row,3,QTableWidgetItem(f{conf*100:.2f}%))self.result_table.setItem(row,4,QTableWidgetItem(f[{x1},{y1},{x2},{y2}]))#图片渲染到界面img_rgbcv2.cvtColor(img,cv2.COLOR_BGR2RGB)h,w,chimg_rgb.shape bytes_per_linech*w q_imgQImage(img_rgb.data,w,h,bytes_per_line,QImage.Format_RGB888)self.img_label.setPixmap(QPixmap.fromImage(q_img))if__name____main__:appQApplication(sys.argv)winPvDetectWindow()win.show()sys.exit(app.exec_())四、视频/文件夹批量推理代码fromultralyticsimportYOLO modelYOLO(./runs/光伏缺陷检测/train_result/weights/best.pt)#视频检测model.predict(sourcetest_video.mp4,saveTrue,conf0.5)#批量文件夹红外图像检测model.predict(source./test_images/,saveTrue,save_labelsTrue,conf0.5)
返回列表