wwh 7aa71c5f83 feat: 新增人员徘徊/静止行为分析功能
本次提交实现了完整的人员行为分析系统,包括:
1. 新增基于位置和跟踪ID的两种行为检测算法
2. 新增徘徊检测服务与行为处理器模块
3. 前后端集成算法配置界面与告警展示
4. 支持图片和视频流场景下的行为分析
5. 新增算法配置接口与文档说明

具体改动:
- 新增loitering_detection模型目录与算法实现
- 新增AlgorithmConfig组件实现可视化配置
- 扩展图片/视频检测接口支持算法参数传递
- 新增行为告警推送与前端展示页面
- 优化检测服务,集成行为分析逻辑
- 移除冗余日志输出,完善代码注释
2026-05-19 09:17:09 +08:00

jc-video-web

视频模型检测平台 - 基于YOLO的实时视频检测系统

项目架构

jc-video-web/
├── apps/
│   ├── web/              # 前端应用 (Vue 3 + Vite)
│   └── server/           # 后端服务 (FastAPI)
├── packages/
│   └── shared-types/     # 前后端共享类型定义
├── models/               # AI模型文件
│   ├── fire_detection/   # 火灾检测模型
│   ├── helmet_detection/ # 安全帽检测模型
│   ├── crowd_detection/  # 人群检测模型
│   └── smoking_detection/# 抽烟检测模型
├── scripts/              # 构建/开发脚本
└── docker/               # Docker配置

技术栈

前端

  • 框架: Vue 3 + Composition API
  • 构建工具: Vite 5
  • UI组件库: Element Plus
  • 状态管理: Pinia
  • 路由: Vue Router 4
  • HTTP客户端: Axios

后端

  • 框架: FastAPI
  • 服务器: Uvicorn
  • AI推理: Ultralytics (YOLO)
  • 图像处理: OpenCV, Pillow
  • 实时通信: WebSocket

快速开始

环境要求

  • Node.js >= 18
  • Python >= 3.9
  • pnpm >= 9.0

安装依赖

# 运行初始化脚本
bash scripts/setup.sh

或手动安装:

# 安装根依赖
pnpm install

# 安装前端依赖
cd apps/web
pnpm install
cd ../..

# 创建 Python 虚拟环境并安装依赖
cd apps/server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ../..

开发模式

在项目根目录执行:

# 同时启动前后端(需先激活后端虚拟环境)
pnpm dev

# 只启动前端
pnpm dev:web

# 只启动后端(需先激活虚拟环境)
cd apps/server
source venv/bin/activate  # macOS/Linux
# 或 venv\Scripts\activate  # Windows
pnpm dev:server

访问地址:

功能特性

检测模型

  1. 火灾检测 - 基于YOLOv10的火焰和烟雾检测
  2. 安全帽检测 - 基于YOLOv8的工地安全检测
  3. 人群检测 - 基于YOLOv8的人群聚集检测
  4. 抽烟检测 - 基于YOLOv8的吸烟行为检测

输入方式

  • 图片上传检测
  • 摄像头实时检测

核心功能

  • 可拖拽布局配置
  • 实时WebSocket视频流
  • 检测结果可视化
  • 多模型切换
  • 置信度阈值调整

项目脚本

pnpm dev          # 启动开发服务器
pnpm build        # 构建生产版本
pnpm build:web    # 只构建前端
pnpm test         # 运行测试
pnpm lint         # 代码检查
pnpm clean        # 清理构建产物

模型配置

模型文件存放在 models/ 目录下,需要在 apps/server/services/model_service.py 中配置模型路径。

许可证

MIT

Description
No description provided
Readme 438 MiB
Languages
Python 75.8%
Vue 20%
JavaScript 2%
Shell 1.9%
TypeScript 0.2%