基于YOLO和多模态大语言模型的工地安全监控预警系统(vue+flask+AI算法)
本项目是一个基于深度学习的智能工地安全监控系统,采用前后端分离架构。前端使用Vue3+TypeScript+Element Plus,后端使用Flask+PyTorch+YOLO,结合Qwen多模态大模型实现双阶段智能检测。系统支持多路实时视频监控、智能告警、工人设备管理、案例库等功能,通过两阶段检测机制(YOLO/LLM目标检测+LLM场景确认)提高识别准确率。提供AI智能建议、自动视频录制、检
一、项目演示视频
查看项目演示视频和部署运行视频(点击这里)
https://www.bilibili.com/video/BV1V4z7BKEZL/?share_source=copy_web&vd_source=31c839f46a9a845dd6dd641cbd5c2ac1
二、技术栈
前端: Vue3 + TypeScript + Element Plus + Pinia + Vue Router + Vite
后端+算法端: Flask + SQLite + OpenCV + PyTorch + YOLO + Qwen API接口 + WebSocket
三、功能模块
【用户端功能】
- 用户管理:注册、登录、个人信息管理、密码修改、头像上传
- 摄像头管理:添加摄像头、配置RTSP地址、在线状态检测、流启停控制
- 实时监控:多窗口布局(1/4/9路)、WebSocket实时推流、智能检测告警
- 图片上传分析:两阶段智能检测、第一阶段检测器选择(YOLO/LLM)、第二阶段LLM确认
- 检测记录管理:查看检测历史、筛选记录、处理状态标记、视频片段回放、AI智能建议、设为案例
- 分析记录查询:图片分析历史、两阶段结果对比、记录删除
- 案例库管理:案例创建(从检测记录/手动创建)、案例查询、案例详情、媒体管理、案例编辑删除
- 工人信息管理:工人登记、信息查询、工作区域班组筛选、工人维护、设备关联查看
- 设备登记管理:设备登记、信息查询、设备类型筛选、工人关联、设备照片管理
- 检测配置管理:第一阶段检测器切换、帧处理间隔配置、分析模式选择、LLM参数配置
【管理端功能】
- 用户管理:用户信息查看、状态管理、密码重置、用户删除
- 数据统计:用户数、摄像头数、检测记录数、图片分析记录数、工人状态分布、案例分布统计
- 全局查看:查看所有用户的摄像头、检测记录、图片分析记录、工人信息、设备信息、案例库
【核心技术功能】
- 双阶段检测架构:第一阶段YOLO/LLM目标检测,第二阶段LLM场景确认
- 检测器灵活切换:第一阶段支持YOLO和LLM两种检测器选择
- 实时视频流处理:基于WebSocket的多路并发检测,最多支持9路摄像头
- 智能场景分析:LLM生成场景描述和处理建议
- AI智能建议系统:基于案例库的智能处理建议生成(关键词提取→相似案例搜索→建议生成)
- 案例知识库:积累历史处理经验,为AI建议提供数据支持
- 资源池管理:检测器池、分析器池、模型池化管理,优化性能
- 自动视频录制:检测事件自动录制前后视频片段,完整保留证据
- 事件智能聚合:时间相近的检测事件自动合并,避免重复记录
- 工人设备管理:工人信息登记、设备登记备案、安全事件责任追溯
【两阶段检测机制】
第一阶段-目标检测:
- YOLO检测器:使用YOLOv8进行快速目标检测,支持多目标追踪
- LLM检测器:使用视觉语言模型(Qwen-VL)进行智能检测,理解能力更强
- 输出结果:检测到的目标列表、边界框坐标、置信度、场景信息
第二阶段-场景确认:
- 使用多模态大语言模型深度分析场景
- 基于第一阶段结果进行语义理解和确认
- 输出结果:是否确认为目标场景、详细场景描述、建议的处理措施
- 降低误报率,提供专业分析建议
【AI智能建议机制】
基于案例库的智能处理建议生成:
- 第一步:LLM提取检测记录的关键词
- 第二步:根据关键词在案例库中搜索相似案例
- 第三步:LLM基于当前记录和相似案例生成处理建议
【数据库表结构(10张表)】
-
user:用户表,存储用户基本信息和权限
- 支持普通用户(role=0)和管理员(role=1)两种角色
- 密码MD5加密存储,头像使用对象存储
-
camera:摄像头表,存储摄像头配置信息
- 支持RTSP协议的网络摄像头
- 记录设备名称、位置、在线状态、流运行状态
- 与用户关联,支持权限隔离
-
detection_record:检测记录表,存储摄像头实时检测事件
- JSON格式存储检测对象列表
- 记录LLM生成的场景描述和处理建议
- 支持处理状态跟踪和查看标记、AI智能建议
- 包含检测事件的开始和结束时间
-
detection_video:检测视频表,存储检测事件对应的视频片段
- 关联detection_record记录
- 同时保存原始视频和带检测框的结果视频
- 记录视频帧数、时长、文件大小等元数据
-
image_analysis_record:图片分析记录表,存储用户上传图片的分析结果
- 完整记录两阶段分析结果
- 第一阶段:检测目标、检测器类型、耗时、场景信息
- 第二阶段:LLM确认结果、场景描述、处理建议、分析耗时
- 与用户关联,支持个人记录查询
-
detection_config:检测配置表,全局检测参数配置
- 第一阶段检测器选择(YOLO/LLM)
- 帧处理间隔、YOLO置信度阈值
- LLM分析模式(once/always/interval)、重分析间隔
- 配置实时生效
-
worker:工人信息表,存储工地工人基本信息
- 工作区域、班组
- 姓名、电话、身份证号
- 紧急联系人、紧急联系电话
- 工人状态(在职/停职/离职)、备注信息、违规次数
- 支持按工作区域班组状态多维度查询
-
equipment:设备登记表,存储工地设备登记信息
- 关联责任工人ID、设备类型(挖掘机/装载机/推土机/压路机/塔吊等)
- 设备编号(唯一)
- 设备照片(对象存储)、状态
- 重点管理施工设备,支持安全事件责任追溯
-
case_library:案例库主表,存储工地安全事件案例
- 案例标题、案例类型(未戴头盔/人员打斗/明火/烟雾/人员摔倒/其他)
- 严重程度(低/中/高/紧急)
- 场景描述、建议应对措施、实际处理信息
- 为AI智能建议提供数据源
-
case_media:案例媒体表,存储案例关联的图片和视频
- 关联案例ID、媒体类型(image/video)
- 存储桶名称、对象键
- 一个案例可关联多个图片和视频
- 支持分页查询、删除管理
四、项目链接
链接: https://pan.baidu.com/s/18cJi4__Hns9fsRVQMa0YyA?pwd=srkj 提取码: srkj
- 完整系统源码
(1)前端源码(web-vue)
(2)后端与算法端源码(web-flask)
(3)模型训练代码(other/model_train/detect) - 项目介绍文档
(1)项目概述
(2)项目技术栈
(3)项目目录结构
(4)系统架构图、功能模块图
(5)数据库表结构详细说明 - 项目启动教程
(1)环境安装教程(视频+文档)
(2)系统启动教程(视频+文档) - 工地安全头盔检测数据集
(1)总样本数:6825张工地场景图片
(2)训练集:4765张图片
(3)验证集:1371张图片
(4)测试集:689张图片
(5)检测类别:未戴头盔、已戴头盔 - 已经训练好的模型权重,测试集整体精度如下:
(1)Precision (精确率): 0.947
(2)Recall (召回率): 0.913
(3)mAP@0.5 (IoU阈值0.5时的平均精度): 0.960
(4)mAP@0.5:0.95 (IoU阈值0.5-0.95的平均精度): 0.646
更多推荐


所有评论(0)