jadhav-anvesh/AI-gate-surveillance-system

GitHub: jadhav-anvesh/AI-gate-surveillance-system

一个基于YOLOv10和RF-DETR的实时门禁监控与车辆分析系统,提供从视频流检测、跟踪、流量/密度/速度估计到仪表盘可视化的端到端pipeline。

Stars: 0 | Forks: 0

# AI 驱道的门禁监控与车辆分析系统 ## 概述 本项目是一个实时门禁监控与车辆分析系统,作为夏季研究实习计划 (SRIP) 的一部分而开发。 该系统通过 CCTV/RTSP 摄像头视频流,执行实时的车辆检测、跟踪、计数、流量分析、密度估计、速度估计以及仪表盘可视化。 系统的架构已从单体 Streamlit 应用程序重构为模块化的 FastAPI 后端,并包含用于检测、跟踪、分析和数据库管理的独立服务。 ## 核心功能 ### 车辆检测 * 基于 YOLOv10n 的车辆检测 * 集成 RF-DETR 以提升检测性能 * 可配置的置信度与 IoU 阈值 * 多类别车辆检测 ### 多目标跟踪 * 使用 tracker ID 进行持久化车辆跟踪 * 车辆轨迹维护 * 跨帧的实时目标关联 ### 车辆流量估计 * 进出计数 * 线跨越分析 * 车辆移动统计 ### 车辆密度分析 * 密度热力图生成 * 交通集中度分析 * 空间车辆分布可视化 ### 车辆速度估计 * 实时速度估计 * 速度统计与分析 * 基于透视的计算 ### 仪表盘分析 * 车辆类型分布 * 车辆计数统计 * 速度分析 * 密度可视化 * 流量分析 * 历史数据库记录 ### RTSP/CCTV 支持 * 实时摄像头视频流处理 * RTSP 流集成 * 实时分析 pipeline ## 系统架构 RTSP/CCTV 视频流 ↓ 车辆检测 (YOLOv10 / RF-DETR) ↓ 多目标跟踪 ↓ 分析层 * 车辆流量 * 密度分析 * 速度估计 ↓ 数据库存储 ↓ Streamlit 仪表盘 ## 后端架构 后端被组织为多个模块化服务: ### API 层 处理所有 REST endpoint。 ``` backend/api/ ├── routes/ ├── schemas/ └── main.py ``` ### 核心层 负责 pipeline 编排与状态管理。 ``` backend/core/ ├── pipeline_manager.py └── state.py ``` ### 服务层 包含所有分析模块。 ``` backend/services/ ├── detector.py ├── tracker.py ├── flow.py ├── density.py ├── speed.py ├── video_source.py └── pipeline.py ``` ### 数据库层 数据库操作与模型。 ``` backend/database/ ├── database.py ├── models.py ├── crud.py └── detection_service.py ``` ## 使用的技术 ### 后端 * FastAPI * Python ### 计算机视觉 * OpenCV * YOLOv10 * RF-DETR ### 跟踪 * ByteTrack ### 前端 * Streamlit ### 数据库 * SQLite ### 可视化 * Matplotlib * Plotly ## 项目结构 ``` . ├── backend/ │ ├── api/ │ ├── config/ │ ├── core/ │ ├── database/ │ ├── services/ │ └── tests/ │ ├── database_dashboard.py ├── alpr_api.py ├── backend_architecture.md ├── current_config.json └── README.md ``` ## 已实现的分析 ### 车辆计数 对进入和离开监控区域的车辆进行计数。 ### 车辆流量分析 追踪跨越设定线的交通移动模式。 ### 密度分析 生成显示交通集中度的热力图。 ### 速度估计 使用校准变换计算车辆的大致速度。 ### 车辆分布 提供不同车辆类别的统计数据。 ## ALPR 模块状态 自动车牌识别 (ALPR) 集成目前正在开发中。 当前方案: 1. 车辆检测分配 tracker ID。 2. 保存新检测到车辆的裁剪图像。 3. ALPR 异步对保存的裁剪图进行处理。 4. 提取的车牌号与 tracker ID 进行绑定。 5. 更新数据库记录以包含识别出的车牌。 ALPR 模块目前处于实验阶段,尚未纳入生产 pipeline。 ## 性能亮点 * 实时 CCTV 视频流处理 * 模块化后端架构 * 多模型检测支持 * 端到端分析 pipeline * RTSP 流兼容性 * 基于数据库的分析 ## 研究贡献 ### 模型训练 * 在印度驾驶数据集 (IDD) 上 fine-tune 了 YOLOv10n * 评估了在印度交通场景下的检测性能 ### 系统工程 * 将单体应用迁移为模块化的后端服务 * 开发了可扩展的分析模块 * 集成了检测、跟踪、分析与可视化 pipeline ## 未来工作 ### ALPR 完善 * 完整的车牌识别集成 * 车牌与车辆关联 * 可搜索的车辆记录 ### 多机位支持 * 同步处理多个摄像头 * 跨摄像头跟踪 ### 高级分析 * 车辆停留时间 * 拥堵预测 * 异常检测 ### 云端部署 * Docker 部署 * 可扩展的后端服务 * 集中式监控 ## 重要说明 本仓库特意排除了以下内容: * 已训练的模型权重 * 数据集 * 运行时生成的文件 * 临时文件 * 数据库文件 在运行系统之前,必须将模型权重放置在对应的模型目录中。 ## 作者 Anvesh Jadhav 夏季研究实习计划 (SRIP) AI 驱动的门禁监控与车辆分析系统
标签:AV绕过, FastAPI, Kubernetes, Streamlit, YOLOv10, 人工智能, 用户模式Hook绕过, 视频监控, 计算机视觉, 访问控制, 车辆分析, 逆向工具