一、项目演示视频

查看项目演示视频和部署运行视频(点击这里)
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

三、功能模块

【用户端功能】

  1. 用户管理:注册、登录、个人信息管理、密码修改、头像上传
  2. 摄像头管理:添加摄像头、配置RTSP地址、在线状态检测、流启停控制
  3. 实时监控:多窗口布局(1/4/9路)、WebSocket实时推流、智能检测告警
  4. 图片上传分析:两阶段智能检测、第一阶段检测器选择(YOLO/LLM)、第二阶段LLM确认
  5. 检测记录管理:查看检测历史、筛选记录、处理状态标记、视频片段回放、AI智能建议、设为案例
  6. 分析记录查询:图片分析历史、两阶段结果对比、记录删除
  7. 案例库管理:案例创建(从检测记录/手动创建)、案例查询、案例详情、媒体管理、案例编辑删除
  8. 工人信息管理:工人登记、信息查询、工作区域班组筛选、工人维护、设备关联查看
  9. 设备登记管理:设备登记、信息查询、设备类型筛选、工人关联、设备照片管理
  10. 检测配置管理:第一阶段检测器切换、帧处理间隔配置、分析模式选择、LLM参数配置

【管理端功能】

  1. 用户管理:用户信息查看、状态管理、密码重置、用户删除
  2. 数据统计:用户数、摄像头数、检测记录数、图片分析记录数、工人状态分布、案例分布统计
  3. 全局查看:查看所有用户的摄像头、检测记录、图片分析记录、工人信息、设备信息、案例库

【核心技术功能】

  1. 双阶段检测架构:第一阶段YOLO/LLM目标检测,第二阶段LLM场景确认
  2. 检测器灵活切换:第一阶段支持YOLO和LLM两种检测器选择
  3. 实时视频流处理:基于WebSocket的多路并发检测,最多支持9路摄像头
  4. 智能场景分析:LLM生成场景描述和处理建议
  5. AI智能建议系统:基于案例库的智能处理建议生成(关键词提取→相似案例搜索→建议生成)
  6. 案例知识库:积累历史处理经验,为AI建议提供数据支持
  7. 资源池管理:检测器池、分析器池、模型池化管理,优化性能
  8. 自动视频录制:检测事件自动录制前后视频片段,完整保留证据
  9. 事件智能聚合:时间相近的检测事件自动合并,避免重复记录
  10. 工人设备管理:工人信息登记、设备登记备案、安全事件责任追溯

【两阶段检测机制】
第一阶段-目标检测:

  • YOLO检测器:使用YOLOv8进行快速目标检测,支持多目标追踪
  • LLM检测器:使用视觉语言模型(Qwen-VL)进行智能检测,理解能力更强
  • 输出结果:检测到的目标列表、边界框坐标、置信度、场景信息

第二阶段-场景确认:

  • 使用多模态大语言模型深度分析场景
  • 基于第一阶段结果进行语义理解和确认
  • 输出结果:是否确认为目标场景、详细场景描述、建议的处理措施
  • 降低误报率,提供专业分析建议

【AI智能建议机制】
基于案例库的智能处理建议生成:

  • 第一步:LLM提取检测记录的关键词
  • 第二步:根据关键词在案例库中搜索相似案例
  • 第三步:LLM基于当前记录和相似案例生成处理建议

【数据库表结构(10张表)】

  1. user:用户表,存储用户基本信息和权限

    • 支持普通用户(role=0)和管理员(role=1)两种角色
    • 密码MD5加密存储,头像使用对象存储
  2. camera:摄像头表,存储摄像头配置信息

    • 支持RTSP协议的网络摄像头
    • 记录设备名称、位置、在线状态、流运行状态
    • 与用户关联,支持权限隔离
  3. detection_record:检测记录表,存储摄像头实时检测事件

    • JSON格式存储检测对象列表
    • 记录LLM生成的场景描述和处理建议
    • 支持处理状态跟踪和查看标记、AI智能建议
    • 包含检测事件的开始和结束时间
  4. detection_video:检测视频表,存储检测事件对应的视频片段

    • 关联detection_record记录
    • 同时保存原始视频和带检测框的结果视频
    • 记录视频帧数、时长、文件大小等元数据
  5. image_analysis_record:图片分析记录表,存储用户上传图片的分析结果

    • 完整记录两阶段分析结果
    • 第一阶段:检测目标、检测器类型、耗时、场景信息
    • 第二阶段:LLM确认结果、场景描述、处理建议、分析耗时
    • 与用户关联,支持个人记录查询
  6. detection_config:检测配置表,全局检测参数配置

    • 第一阶段检测器选择(YOLO/LLM)
    • 帧处理间隔、YOLO置信度阈值
    • LLM分析模式(once/always/interval)、重分析间隔
    • 配置实时生效
  7. worker:工人信息表,存储工地工人基本信息

    • 工作区域、班组
    • 姓名、电话、身份证号
    • 紧急联系人、紧急联系电话
    • 工人状态(在职/停职/离职)、备注信息、违规次数
    • 支持按工作区域班组状态多维度查询
  8. equipment:设备登记表,存储工地设备登记信息

    • 关联责任工人ID、设备类型(挖掘机/装载机/推土机/压路机/塔吊等)
    • 设备编号(唯一)
    • 设备照片(对象存储)、状态
    • 重点管理施工设备,支持安全事件责任追溯
  9. case_library:案例库主表,存储工地安全事件案例

    • 案例标题、案例类型(未戴头盔/人员打斗/明火/烟雾/人员摔倒/其他)
    • 严重程度(低/中/高/紧急)
    • 场景描述、建议应对措施、实际处理信息
    • 为AI智能建议提供数据源
  10. case_media:案例媒体表,存储案例关联的图片和视频

    • 关联案例ID、媒体类型(image/video)
    • 存储桶名称、对象键
    • 一个案例可关联多个图片和视频
    • 支持分页查询、删除管理

四、项目链接

链接: https://pan.baidu.com/s/18cJi4__Hns9fsRVQMa0YyA?pwd=srkj 提取码: srkj

  1. 完整系统源码
    (1)前端源码(web-vue)
    (2)后端与算法端源码(web-flask)
    (3)模型训练代码(other/model_train/detect)
  2. 项目介绍文档
    (1)项目概述
    (2)项目技术栈
    (3)项目目录结构
    (4)系统架构图、功能模块图
    (5)数据库表结构详细说明
  3. 项目启动教程
    (1)环境安装教程(视频+文档)
    (2)系统启动教程(视频+文档)
  4. 工地安全头盔检测数据集
    (1)总样本数:6825张工地场景图片
    (2)训练集:4765张图片
    (3)验证集:1371张图片
    (4)测试集:689张图片
    (5)检测类别:未戴头盔、已戴头盔
  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
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐