news 2026/8/31 11:48:41

深度学习YOLOv11无人机风力发电叶片损伤检测系统-无人机风机损伤缺陷检测数据集-风机设备损伤、脏污检测数据集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习YOLOv11无人机风力发电叶片损伤检测系统-无人机风机损伤缺陷检测数据集-风机设备损伤、脏污检测数据集

无人机风机损伤缺陷检测数据集-风机设备损伤、脏污检测数据集,
2191张,提供yolo,voc,coco三种标注方式
图像尺寸:371*586
类别数量:2类
训练集图像数量:1534; 验证集图像数量:431; 测试集图像数量:226
类别名称: 每一类图像数 ,每一类标注数
damage: 1852,6380
dirt: 407,422
image num: 2191

模型代码
采用 YOLOv11n 网络训练
训练轮次:80 个 epoch
提供全部训练 + 测试源代码
训练精度 mAP 效果如图所示

PyQt5 界面功能

界面使用 PyQt5 开发,提供全部源码(.ui、.qrc、.py 及图标文件)
支持图片检测、视频检测、摄像头实时检测
界面实时显示:目标位置、目标总数、置信度等信息

支持检测结果保存导出
操作简单直观,无需命令行


运行环境:Python=3.8、opencv-python、PyQt5、torch
支持 Windows、Linux 系统

一、项目完整信息文档

风机设备损伤、脏污检测数据集

  • 总图像:2191张
  • 图像尺寸:371 × 586
  • 类别:2类
    • damage(损伤):图像数1852,标注框6380
    • dirt(脏污):图像数407,标注框422
  • 数据集划分
    数据集图片数量
    训练集(train)1534
    验证集(val)431
    测试集(test)226
  • 标注格式:YOLO‑txt、VOC‑xml、COCO‑json 三格式
  • 训练网络:YOLOv11‑n
  • 训练轮次:epoch=80
  • 指标:mAP@0.5 = 0.724

二、YOLOv11训练简易完整代码

1.数据集yaml配置文件wind_defect.yaml

# wind_defect.yamlpath:./datasets/wind_defecttrain:images/trainval:images/valtest:images/testnames:0:damage1:dirt

2.训练脚本train.py

fromultralyticsimportYOLO# 加载YOLOv11n轻量化模型model=YOLO("yolo11n.pt")# 开始训练results=model.train(data="wind_defect.yaml",epochs=80,imgsz=640,batch=8,device=0,workers=4,patience=10,project="runs/train",name="wind_blade_detect")

3.测试评估脚本test.py

fromultralyticsimportYOLO model=YOLO("./runs/train/wind_blade_detect/weights/best.pt")metrics=model.val(split="test")print(f"mAP@0.5:{metrics.box.map50:.3f}")

4.单张图像预测脚本predict.py

fromultralyticsimportYOLO model=YOLO("./runs/train/wind_blade_detect/weights/best.pt")#图片检测res=model.predict(source="test.jpg",save=True,conf=0.5)#视频检测#res = model.predict(source="test.mp4",save=True,conf=0.5)#摄像头实时检测#res = model.predict(source=0,save=True,conf=0.5)

三、PyQt5可视化推理界面简易源码

实现:图片、视频、摄像头检测;输出目标数目、置信度、xy坐标
main_ui.py

importsysimportcv2fromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QPushButton,QLabel,QFileDialog,QComboBox,QTextEdit)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQt,QThread,pyqtSignalfromultralyticsimportYOLO#加载训练好的权重model=YOLO("./runs/train/wind_blade_detect/weights/best.pt")classDetThread(QThread):send_img=pyqtSignal(object)send_result=pyqtSignal(list)def__init__(self,source):super().__init__()self.source=source self.run_flag=Truedefrun(self):cap=cv2.VideoCapture(self.source)whileself.run_flag:ret,frame=cap.read()ifnotret:breakres=model(frame,conf=0.5)boxes=res[0].boxes det_info=[]forboxinboxes:x1,y1,x2,y2=map(int,box.xyxy[0])conf=float(box.conf[0])cls=int(box.cls[0])det_info.append([x1,y1,x2,y2,conf,cls])cv2.rectangle(frame,(x1,y1),(x2,y2),(255,0,0),2)cv2.putText(frame,f"{model.names[cls]}{conf:.2f}",(x1,y1-8),cv2.FONT_HERSHEY_SIMPLEX,0.5,(255,0,0),1)self.send_img.emit(frame)self.send_result.emit(det_info)cap.release()classMainWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("基于YOLOv11的风机损伤检测系统")self.resize(1200,800)self.init_ui()self.det_thread=Nonedefinit_ui(self):#图像显示区self.img_label=QLabel(self)self.img_label.setGeometry(20,60,750,600)self.img_label.setStyleSheet("border:1px solid #999;")#按钮self.btn_img=QPushButton("图片检测",self)self.btn_img.setGeometry(820,60,180,40)self.btn_img.clicked.connect(self.detect_image)self.btn_video=QPushButton("视频检测",self)self.btn_video.setGeometry(820,120,180,40)self.btn_video.clicked.connect(self.detect_video)self.btn_cam=QPushButton("摄像头检测",self)self.btn_cam.setGeometry(820,180,180,40)self.btn_cam.clicked.connect(self.detect_camera)#结果文本框self.result_text=QTextEdit(self)self.result_text.setGeometry(820,250,320,380)self.result_text.setPlaceholderText("检测结果、坐标、置信度信息展示")defshow_frame(self,frame):rgb=cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,ch=rgb.shape bytes_per_line=ch*w q_img=QImage(rgb.data,w,h,bytes_per_line,QImage.Format_RGB888)self.img_label.setPixmap(QPixmap.fromImage(q_img).scaled(self.img_label.size(),Qt.KeepAspectRatio))defshow_result(self,det_list):self.result_text.clear()total=len(det_list)self.result_text.append(f"目标总数目:{total}\n")foridx,iteminenumerate(det_list):x1,y1,x2,y2,conf,cls=item cls_name=model.names[cls]self.result_text.append(f"[{idx+1}]类别:{cls_name}置信度:{conf:.2f}\n"f"坐标:xmin={x1},ymin={y1},xmax={x2},ymax={y2}\n")defdetect_image(self):path,_=QFileDialog.getOpenFileName(self,"打开图片","","Image(*.jpg *.png *.jpeg)")ifnotpath:returnframe=cv2.imread(path)res=model(frame,conf=0.5)boxes=res[0].boxes info=[]forboxinboxes:x1,y1,x2,y2=map(int,box.xyxy[0])conf=float(box.conf[0])cls=int(box.cls[0])info.append([x1,y1,x2,y2,conf,cls])cv2.rectangle(frame,(x1,y1),(x2,y2),(255,0,0),2)cv2.putText(frame,f"{model.names[cls]}{conf:.2f}",(x1,y1-8),cv2.FONT_HERSHEY_SIMPLEX,0.5,(255,0,0),1)self.show_frame(frame)self.show_result(info)defdetect_video(self):path,_=QFileDialog.getOpenFileName(self,"打开视频","","Video(*.mp4 *.avi)")ifnotpath:returnself.det_thread=DetThread(path)self.det_thread.send_img.connect(self.show_frame)self.det_thread.send_result.connect(self.show_result)self.det_thread.start()defdetect_camera(self):self.det_thread=DetThread(0)self.det_thread.send_img.connect(self.show_frame)self.det_thread.send_result.connect(self.show_result)self.det_thread.start()if__name__=="__main__":app=QApplication(sys.argv)win=MainWindow()win.show()sys.exit(app.exec_())

依赖安装命令

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

开源视频智能体:开发者掌控视频处理全流程

先抛一个判断:开源视频智能体最近被讨论得很多,但多数人把它理解成了“文字生成视频的工具”。这个理解差得很远。视频智能体真正改变的不是单点生成效果,而是把视频处理链条的控制权交还给了开发者。以前你只能把视频扔给闭源 API&#xff0…

作者头像 李华
网站建设 2026/8/31 11:47:43

基于YOLOv8的工地高空作业安全检测实战与改进

简介:本资源是一套面向建筑安全智能化管理场景的实战型深度学习项目,专为计算机视觉初学者、安全工程技术人员及智慧工地系统开发者设计,聚焦高空作业中安全帽、安全带等防护装备的实时识别与违规行为预警。资源包含26个文件,涵盖…

作者头像 李华
网站建设 2026/8/31 11:47:39

招行信用卡中心IT笔试复盘:题型分布与备考策略

先说个背景:2019年秋天我参加了招商银行信用卡中心的IT笔试(开发方向第三批),岗位是软件开发方向,整体感受是“时间紧、范围宽、行测和英语占比高于预期”。这篇文章会把那场笔试的题型分布、考点细节、做题顺序、编程…

作者头像 李华
网站建设 2026/8/31 11:41:47

可拓浏览器v7.9资源内容整理与使用指南

点击获取资源:可拓浏览器v7.9资源内容整理与使用指南https://pan.baidu.com/s/1BJGx6Dju_L4FvwNn3LWtiw?pwdhjpx 【名称与分类】本资源可拓浏览器v7.9内容充实、实用性强,涵盖了相关主题的方方面面。 【功能概述】资料经过精心整理,格式规范…

作者头像 李华
网站建设 2026/8/31 11:41:22

Claude API提示词工程实战:从基础到可复用模板设计

在使用 Claude API 构建企业级应用时,很多人会先花大量时间去折腾模型参数、网络连接、SDK 封装,却忽视了一个比参数更重要的环节:提示词本身的质量。尤其是在准备 Claude Certified Architect 相关认证与工程能力训练时,提示工程…

作者头像 李华
网站建设 2026/8/31 11:39:28

AI教学新范式:用teach skill让AI成为真正的私人教师

最近一直在研究怎么让 AI 从“回答问题”变成“真正教你东西”,偶然看到 Matt Pocock 的实战教程,主题就是 teach skill——让 AI 像真老师一样教你任何知识。这个思路和普通聊天问答完全不同,核心不是让 AI 给答案,而是让 AI 具备…

作者头像 李华