当前位置: 首页 > news >正文

重庆seo网站排名优化wordpress 数据库设计

重庆seo网站排名优化,wordpress 数据库设计,中企动力科技股份有限公司上海第一分公司,wordpress添加文章页不显示1、背景 在现代工业和建筑行业中,安全始终是首要考虑的因素之一。特别是在施工现场,工人佩戴安全帽是确保人身安全的基本要求。然而,人工监督难免会有疏漏,尤其是在大型工地或复杂环境中,确保每个人都佩戴安全帽变得非…

1、背景

在现代工业和建筑行业中,安全始终是首要考虑的因素之一。特别是在施工现场,工人佩戴安全帽是确保人身安全的基本要求。然而,人工监督难免会有疏漏,尤其是在大型工地或复杂环境中,确保每个人都佩戴安全帽变得非常具有挑战性。
为了解决这一问题,计算机视觉技术提供了一个有效的解决方案。通过使用深度学习模型(如YOLOv5)进行实时目标检测,我们可以自动识别视频流中的工人是否佩戴了安全帽。结合Flask框架,我们可以将这一功能封装为一个Web服务,方便在任何地方通过浏览器或其他设备进行访问。

项目目标

  • 使用YOLOv5模型实现对RTSP视频流的工人是否佩戴安全帽实时目标检测。
  • 将检测功能集成到Flask Web应用中,以便通过简单的HTTP请求访问检测结果。
  • 提供一个用户友好的前端界面,实时展示检测结果。

技术栈

  • YOLOv5:一个高效的实时目标检测模型,适用于多种场景的物体检测。
  • Flask:一个轻量级的Python Web框架,用于构建RESTful API和Web应用。
  • OpenCV:一个强大的计算机视觉库,用于处理视频流和图像。
  • RTSP:实时流传输协议,用于从摄像头获取视频流。

接下来,我将详细介绍如何构建这样一个系统,从环境准备到最终的部署。

2、环境准备

pip install Flask
pip install opencv-python
# 安装YOLOv5依赖:
pip install -r requirements.txt
#下载预训练权重:
wget https://github.com/ultralytics/yolov5/releases/download/v4.0/yolov5s.pt

3、模型训练

数据集为各类场景下的安全帽图片,并使用Labelimg标注工具对每张图片中的目标边框(Bounding Box)及类别进行标注。一共包含22789张图片,其中训练集包含15887张图片,验证集包含4641张图片,测试包含2261张图片。
在这里插入图片描述

  • 数据集目录结构:

    yolov5/
    ├── datasets/
    │   ├── train/
    │   │   ├── images/ 
    │   │   └── labels/      
    │   ├── val/
    │   │   ├── images/
    │   │   └── labels/
    │   └── test/
    │       ├── images/
    │       └── labels/
    
  • 创建数据配置文件:

    在 datasets 文件夹下创建一个 data.yaml 文件,内容如下:

    train: E:\yolo\mydata\train\images
    val: E:\yolo\mydata\val\images
    test: E:\yolo\mydata\test\images# number of classes
    nc: 2# class names
    names: ['head', 'helmet']
    
  • 在YOLOv5项目目录下,运行以下命令开始训练模型:

    python train.py --img 640 --batch 16 --epochs 50 --data datasets/data.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt --project runs/train --name safety_helmet
    

4、训练结果评估

在深度学习中,我们通常用损失函数下降的曲线来观察模型训练的情况。YOLOv5在训练时主要包含三个方面的损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss),在训练结束后,可以在runs/目录下找到训练过程及结果文件,如下所示:
在这里插入图片描述
在这里插入图片描述
本文训练结果如下:
在这里插入图片描述
PR曲线:
在这里插入图片描述

5、实现RTSP视频流处理

使用OpenCV可以方便地处理RTSP视频流逻辑集成到Flask Web服务中,以便通过HTTP请求访问目标检测结果。在这个获取视频流过程中利用海康或者大华摄像头。

from flask import Flask, render_template, Response
import cv2from models.experimental import attempt_load
from utils.general import set_logging, check_img_size
from utils.torch_utils import select_deviceapp = Flask(__name__)from camera_ready import detectclass VideoCamera(object):def __init__(self):# 通过opencv获取实时视频流(海康摄像头)self.count = 0self.video = cv2.VideoCapture("rtsp://admin:Tc246800@ya.tenchan.cn:61554/Streaming/Channels/102")# 大华摄像头# self.video = cv2.VideoCapture("rtsp://%s:%s@%s/cam/realmonitor?channel=%d&subtype=0" % (user, pwd, ip, channel))self.weights, imgsz = 'best.pt', 640set_logging()self.device = select_device('')self.half = self.device.type != 'cpu'  # half precision only supported on CUDAself.model = attempt_load(self.weights, map_location=self.device)  # load FP32 modelself.stride = int(self.model.stride.max())  # model strideself.imgsz = check_img_size(imgsz, s=self.stride)  # check img_sizeif self.half:self.model.half()  # to FP16def __del__(self):self.video.release()def get_frame(self):for i in range(1):success, image = self.video.read()image = detect(source=image, half=self.half, model=self.model, device=self.device, imgsz=self.imgsz,stride=self.stride)ret, jpeg = cv2.imencode('.jpg', image)return jpeg.tobytes()@app.route('/xyhaw')
def xyhaw():return render_template('index.html')def gen(camera):while True:frame = camera.get_frame()yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')@app.route('/video_feed')
def video_feed():return Response(gen(VideoCamera()),mimetype='multipart/x-mixed-replace; boundary=frame')if __name__ == '__main__':app.run(host='0.0.0.0', debug=True)

前端简单页面:index.html

<!DOCTYPE html>
<html>
<head><title>安全帽检测</title><style>body {font-family: Arial, sans-serif;text-align: center;margin: 0;padding: 0;}.header {background-color: #4CAF50;color: white;padding: 15px;}.video-container {margin-top: 20px;}img {border: 1px solid #ddd;border-radius: 4px;padding: 5px;}</style>
</head>
<body><div class="header"><h1>安全帽RTSP视频流实时目标检测</h1></div><div class="video-container"><img src="{{ url_for('video_feed') }}" width="640" height="480"></div>
</body>
</html>

6、检测结果

http://www.yayakq.cn/news/973306/

相关文章:

  • 左右悬停代码网站郑州网站推广外包地址
  • 江苏省建设工程招投标网站人寿保险网站
  • 网站海外推广谷歌seo方案女生就业前景最好的十大热门专业
  • 90后做网站福州快速优化排名
  • 网站策划与运营万网 x3 wordpress
  • 外贸网站建设公司案例洮南市城乡和住房建设局网站
  • 手机网站有用吗阿里云服务器登录
  • 凡科快图网站东莞万江网站制作
  • 个人网站建设步骤什么网站可以接装修活
  • 无锡做网站优化网络运维工程师项目案例
  • 翻墙到国外网站怎么做wordpress怎么添加二级
  • 公司一定建设网站吗合肥做检查军大网站
  • 招聘网站可以做两份简历吗天津软件优化公司排名前十
  • 网站首页栏目怎么做天津知名网站建设公司
  • 邯郸网站建设网站开发嘉兴企业网站模板建站
  • 企业门户网站管理要求做房产抵押网站需要什么手续费
  • 如何设置网站会员女生零基础可以学什么技术
  • 网站sem优化怎么做wordpress 3.1.3
  • 目前网站开发趋势wordpress readd
  • 汕头网站建设方案推广财务公司承兑汇票
  • 好的设计公司网站制作网页如何给背景设置颜色
  • 宁晋做网站广州推广公司
  • 国产做爰网站厦门最好的seo公司
  • 出口贸易网站中国互联网公司排名2022
  • 十堰优化网站哪家好云加速应用于html网站
  • 龙岗汤坑社区网站建设建材网络销售平台有哪些
  • 发布一个网站要多少钱汕头建设银行
  • 网站开发软件开发怎么样品牌建设和品牌推广
  • 比特币交易网站可以做空吗12306网站谁建设的
  • 腾讯云购买域名后如何建网站潍坊网站建设推荐