yolov5明厨亮灶检测系统,厨师帽-口罩检测,带pyqt界面-可检测图片和视频,支持中文标签,检测接口已封装好并优化,代码可读性强!

明厨亮灶检测系统是一个专门用于餐饮业厨房安全监管的智能系统。该系统结合了先进的计算机视觉技术,尤其是使用YOLOv5模型进行厨师帽和口罩的实时检测,并通过PyQt5构建了一个用户友好的图形界面。该系统不仅能够检测图片和视频中的目标,而且支持中文标签,方便国内用户的使用。以下是对此项目的详细介绍。

项目背景

随着食品安全和卫生标准的不断提高,餐饮业对厨房工作人员的着装要求也越来越严格。佩戴厨师帽和口罩不仅是基本的职业规范,更是防止食品污染的重要措施。因此,开发一套能够自动检测厨房工作人员是否佩戴厨师帽和口罩的系统,对于提高食品安全标准具有重要意义。

项目目标

  • 实时检测:通过YOLOv5模型实时检测视频流或图片中的厨师帽和口罩。
  • 中文标签支持:系统支持中文标签,便于国内用户理解和使用。
  • 用户界面:使用PyQt5构建图形用户界面,提供友好的操作体验。
  • 多功能:支持图片和视频检测,满足不同场景下的需求。

关键功能

  1. 厨师帽和口罩检测:利用YOLOv5模型实时检测图像中的厨师帽和口罩。
  2. 中文标签显示:检测结果以中文标签形式显示,便于用户理解。
  3. 图片检测:支持从本地上传图片进行检测。
  4. 视频检测:支持实时视频流或本地视频文件的检测。
  5. 结果可视化:在检测结果上绘制边界框和标签,直观展示检测对象的位置和类别。
  6. 用户界面:通过PyQt5构建的图形界面,用户可以方便地操作和查看检测结果。

技术栈

  • 目标检测模型:YOLOv5
  • 图形用户界面:PyQt5
  • 图像处理:OpenCV
  • 编程语言:Python

关键代码示例

1. 安装依赖

确保安装了所有必要的库:

1pip install opencv-python torch torchvision pyqt5 numpy
2pip install ultralytics  # 用于YOLOv5的最新版本
2. 导入库
1import sys
2import cv2
3import numpy as np
4import torch
5from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget, QPushButton, QFileDialog
6from PyQt5.QtCore import QTimer
7from PyQt5.QtGui import QImage, QPixmap
8from ultralytics import YOLO  # 使用YOLOv5的最新版本
3. 初始化YOLOv5模型

假设YOLOv5模型的权重文件位于weights/yolov5.pt

1device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
2yolo_model = YOLO('weights/yolov5.pt').to(device)
4. 创建GUI

创建一个简单的GUI来显示视频流和检测结果。

1class KitchenSafetyWindow(QMainWindow):
2    def __init__(self):
3        super().__init__()
4        self.initUI()
5
6    def initUI(self):
7        self.setWindowTitle('明厨亮灶检测系统')
8        self.setGeometry(100, 100, 800, 600)
9        
10        layout = QVBoxLayout()
11        self.label = QLabel(self)
12        layout.addWidget(self.label)
13        
14        button = QPushButton('打开图片', self)
15        button.clicked.connect(self.open_image)
16        layout.addWidget(button)
17        
18        button = QPushButton('打开视频', self)
19        button.clicked.connect(self.open_video)
20        layout.addWidget(button)
21        
22        container = QWidget()
23        container.setLayout(layout)
24        self.setCentralWidget(container)
25    
26    def open_image(self):
27        options = QFileDialog.Options()
28        file_name, _ = QFileDialog.getOpenFileName(self, "选择图片", "", "Images (*.png *.jpg *.jpeg);;All Files (*)", options=options)
29        if file_name:
30            self.detect_image(file_name)
31    
32    def detect_image(self, image_path):
33        img = cv2.imread(image_path)
34        results = yolo_model(img)
35        self.draw_boxes(img, results)
36        self.display_results(img)
37    
38    def open_video(self):
39        options = QFileDialog.Options()
40        file_name, _ = QFileDialog.getOpenFileName(self, "选择视频", "", "Videos (*.mp4 *.avi);;All Files (*)", options=options)
41        if file_name:
42            self.detect_video(file_name)
43    
44    def detect_video(self, video_path):
45        self.capture = cv2.VideoCapture(video_path)
46        self.timer = QTimer()
47        self.timer.timeout.connect(self.update_frame)
48        self.timer.start(20)  # 每50毫秒更新一次画面
49    
50    def update_frame(self):
51        ret, frame = self.capture.read()
52        if ret:
53            results = yolo_model(frame)
54            self.draw_boxes(frame, results)
55            self.display_results(frame)
56    
57    def draw_boxes(self, frame, results):
58        for result in results:
59            boxes = result.boxes.cpu().numpy()
60            for box in boxes:
61                x1, y1, x2, y2 = [int(i) for i in box[:4]]
62                label = box[5]
63                cv2.rectangle(frame, (x1, y1), (x2, y2), (255, 0, 0), 2)
64                cv2.putText(frame, f"{label}", (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36, 255, 12), 2)
65    
66    def display_results(self, frame):
67        height, width, channel = frame.shape
68        bytesPerLine = 3 * width
69        qImg = QImage(frame.data, width, height, bytesPerLine, QImage.Format_BGR888)
70        pixmap = QPixmap.fromImage(qImg)
71        self.label.setPixmap(pixmap)
72
73if __name__ == '__main__':
74    app = QApplication(sys.argv)
75    window = KitchenSafetyWindow()
76    window.show()
77    sys.exit(app.exec_())

应用场景

  • 餐饮业厨房:实时监控厨房工作人员是否正确佩戴厨师帽和口罩,保障食品安全。
  • 食品安全检查:帮助监管部门进行食品安全检查,提高检查效率。
  • 培训教育:用于培训厨房工作人员正确的着装规范,提高职业素养。

结论

明厨亮灶检测系统通过结合YOLOv5模型和PyQt5界面,提供了一个功能齐全且易于使用的工具,能够实时检测厨师帽和口罩,支持中文标签,并且适用于图片和视频检测。该系统不仅能够帮助餐饮业提高食品安全标准,还能提升厨房工作人员的职业形象。随着技术的不断发展和完善,这样的系统将在食品安全和卫生管理中发挥更加重要的作用。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值