一、项目演示视频
b站项目演示与部署教程视频地址(点这里)
https://www.bilibili.com/video/BV1UerTBqEDk/?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)、重分析间隔
配置实时生效resident:住户信息表,存储小区住户基本信息
楼栋、单元、楼层、房间号
姓名、电话、身份证号
住户状态(正常/搬离等)、备注信息
支持按楼栋单元状态多维度查询vehicle:车辆登记表,存储住户登记的车辆信息
关联住户ID、车辆类型(自行车/电动自行车/电动摩托车/摩托车/其他)
车辆品牌、颜色、车牌号
车辆照片(对象存储)、登记时间、状态
重点管理电动车,支持电动车入梯事件追溯case_library:案例库主表,存储电梯安全事件案例
案例标题、案例类型(电动车入梯/宠物入梯/火源烟雾/人员异常/危险物品/其他)
严重程度(低/中/高/紧急)
场景描述、建议应对措施、实际处理信息
为AI智能建议提供数据源case_media:案例媒体表,存储案例关联的图片和视频
关联案例ID、媒体类型(image/video)
存储桶名称、对象键
一个案例可关联多个图片和视频
支持分页查询、删除管理
四、项目链接
链接: https://pan.baidu.com/s/1XJCbiM1xJEgOgKv8PpoUww?pwd=z3uc 提取码: z3uc
- 完整系统源码
(1)前端源码(web-vue)
(2)后端与算法端源码(web-flask)
(3)模型训练代码(other/model_train/detect) - 项目介绍文档
(1)项目概述
(2)项目技术栈
(3)项目目录结构
(4)系统架构图、功能模块图
(5)数据库表结构详细说明 - 项目启动教程
(1)环境安装教程(视频+文档)
(2)系统启动教程(视频+文档) - 电梯电动车监控数据集
(1)总样本数:4320张电梯场景图片
(2)训练集:3600张图片
(3)验证集:500张图片
(4)测试集:215张图片
(5)检测类别:行人、电动自行车 - 已经训练好的模型权重,测试集整体精度如下:
(1)Precision (精确率): 0.964
(2)Recall (召回率): 0.965
(3)mAP@0.5 (IoU阈值0.5时的平均精度): 0.982
(4)mAP@0.5:0.95 (IoU阈值0.5-0.95的平均精度): 0.834