Skip to content

Eruditi/ai-box

Repository files navigation

AI边缘计算摄像头分析盒子

项目概述

即插即用的AI摄像头分析盒子系统,支持多种摄像头分析功能,开箱即用。支持从嵌入式设备到高性能服务器的全系列硬件配置。

核心特性

  • 🔌 即插即用 - 支持USB摄像头和IP摄像头
  • 🤖 内置69种AI分析功能
  • 🎯 完全按需分析 - 只分析用户配置的摄像头和算法
  • 🏛️ 三省六部架构 - 独有的告警质量控制流程
  • 🚀 GPU加速 - 支持 CUDA/TensorRT/ONNX Runtime
  • 📢 告警推送 - 企业微信/钉钉/飞书机器人
  • 🤖 LLM增强 - 自然语言告警摘要和智能问答
  • 🌐 Web管理界面
  • 🔄 自动重启和自恢复
  • 📊 实时数据展示

系统架构

简化架构(v1.4.0+)

┌─────────────────────────────────────────────────────────────┐
│                      AI Box v1.4.0                          │
├─────────────────────────────────────────────────────────────┤
│  摄像头管理  →  算法检测  →  质量控制  →  告警输出                │
│                               ↓                             │
│                    ┌─────────────────────┐                  │
│                    │   质量控制器         │                   │
│                    │  • 置信度过滤        │                   │
│                    │  • 冷却期控制        │                   │
│                    │  • 连续帧确认        │                   │
│                    │  • 告警聚合          │                  │
│                    └─────────────────────┘                  │
└─────────────────────────────────────────────────────────────┘

核心模块

模块 功能
CameraManager 摄像头连接、帧获取、视频循环
AlgorithmManager 69种算法调度、GPU加速
QualityController 单层质量控制、误报过滤
AlertDatabase SQLite告警存储
AlertPusher 企微/钉钉/飞书推送
LLMEngine 大模型告警摘要
PluginManager 动态算法插件加载
CloudClient 云端协同、边云混合

硬件配置

标准版(嵌入式)

  • NVIDIA Jetson系列(推荐Nano/Xavier NX)
  • USB摄像头/IP摄像头
  • 12V电源
  • 网络连接(可选)

高性能版(服务器)

组件 规格要求
CPU 高性能多核嵌入式CPU
内存 64GB DDR4
系统存储 1TB SSD
GPU 24GB以上显存
RAID盘位 12-24盘位磁盘阵列
AI运算单元 7-21个嵌入式AI运算单元

快速开始

标准版安装部署

  1. 烧录系统镜像到SD卡
  2. 插入SD卡到设备
  3. 连接摄像头和电源
  4. 等待系统自动启动
  5. 打开浏览器访问 http://设备IP:8000
  6. 在Web界面中添加摄像头并配置要启用的算法

使用流程

  1. 添加摄像头 - 在"摄像头"页面点击"添加摄像头",输入摄像头地址
  2. 配置算法 - 点击摄像头的"设置"按钮,选择要启用的算法
  3. 开始分析 - 系统会自动对配置好的摄像头进行分析
  4. 查看告警 - 在"告警记录"页面查看分析结果

高性能版安装部署

详见 高性能硬件部署手册

配置说明

YOLO 模型配置

ai:
  yolo:
    model_size: m      # n(nano)/s(small)/m(medium)/l(large)/x(xlarge)
    accelerator: auto  # auto/cuda/tensorrt/onnx/cpu
模型 参数量 速度 精度
n (nano) 3.2M 最快 基础
s (small) 11.2M 良好
m (medium) 25.9M 中等 更好
l (large) 43.7M 最佳
x (xlarge) 68.2M 最慢 最佳

告警推送配置

push:
  wework:
    enabled: true
    webhook_url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
  dingtalk:
    enabled: true
    webhook_url: "https://oapi.dingtalk.com/robot/send?access_token=xxx"
    secret: "SECxxx"
  feishu:
    enabled: true
    webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"

LLM 配置

llm:
  enabled: true
  provider: deepseek     # openai/zhipu/qwen/deepseek/ollama
  api_key: "sk-xxx"
  model: "deepseek-chat"
  max_tokens: 500
  temperature: 0.7

GPU 加速配置

gpu:
  enabled: true
  device_id: 0
  tensorrt:
    enabled: true
    precision: fp16
  onnx:
    enabled: true
    optimization_level: all

插件系统配置

plugin:
  enabled: true
  plugin_dir: plugins
  auto_load: true
  trusted_only: false

云端协同配置

cloud:
  enabled: true
  provider: custom      # aliyun/tencent/huawei/baidu/custom
  endpoint: "https://api.example.com"
  api_key: "your-api-key"
  features:
    alert_upload: true
    frame_upload: true
    deep_analysis: true
    config_sync: true

项目结构

ai-box/
├── config/                    # 配置文件
│   ├── settings.yaml         # 标准版配置
│   └── settings_high_performance.yaml  # 高性能版配置
├── src/                       # 源代码
│   ├── algorithms/           # AI算法库(69种算法)
│   ├── yolo_engine.py        # YOLO推理引擎(支持GPU加速)
│   ├── gpu_accelerator.py    # GPU加速模块(TensorRT/ONNX/CUDA)
│   ├── plugin_manager.py     # 插件系统(动态算法加载)
│   ├── cloud_client.py       # 云端协同模块
│   ├── quality_controller.py # 质量控制模块(简化版)
│   ├── ai_analyzer_simple.py # AI分析器(简化版)
│   ├── alert_pusher.py       # 告警推送模块
│   ├── llm_engine.py         # LLM接入模块
│   ├── camera_manager.py     # 标准版摄像头管理
│   └── main.py               # 主程序
├── plugins/                   # 插件目录
│   └── example_algorithm/    # 示例插件
│       ├── plugin.json       # 插件配置
│       └── algorithm.py      # 算法实现
├── models/                    # AI模型
├── scripts/                   # 启动和部署脚本
├── web/                      # Web管理界面
└── README.md                 # 项目说明

支持的分析功能(69种算法)

1. 人脸识别系列(8种)

  • 人脸检测、人脸识别、人脸比对、活体检测、人脸关键点、性别识别、年龄识别、表情识别

2. 人体分析系列(10种)

  • 人体检测、人流统计、越界检测、区域入侵、离岗检测、睡岗检测、玩手机检测、吸烟检测、打架检测、聚集检测

3. 车辆分析系列(10种)

  • 车辆检测、车牌识别、车型识别、车流统计、违停检测、逆行检测、闯红灯检测、压线检测、超速检测、抛洒物检测

4. 行为分析系列(10种)

  • 跌倒检测、奔跑检测、徘徊检测、打架斗殴、暴力检测、异常行为、人员倒地、攀爬检测、跳跃检测、倒地不起

5. 环境监测系列(10种)

  • 火焰检测、烟雾检测、积水检测、杂物检测、垃圾满溢、消防通道占用、安全出口占用、灭火器检测、无人机火焰检测、无人机烟火综合分析

6. 工业检测系列(9种)

  • 安全帽检测、安全带检测、工作服检测、安全鞋检测、手套检测、护目镜检测、口罩检测、工装检测、反光衣检测

7. 结构化分析系列(8种)

  • 颜色识别、形状识别、方向识别、速度分析、轨迹追踪、密度分析、热度分析、时段分析

8. 教室课堂分析系列(14种)

  • 学生人数统计、学生专注度分析、课堂纪律分析、教师活动分析、教学设备使用情况、学生缺勤检测、课堂环境分析、学生互动分析、课堂参与度分析、教师教学方式分析、课堂氛围分析、学生情绪分析、课堂节奏分析、教学效果评估

9. 禁牧识别系列(3种)

  • 牲畜检测、禁牧区域识别、放牧监控

10. 高空监测系列(2种)

  • 无人机火焰检测、无人机烟火综合分析

技术栈

  • Python 3.8+
  • OpenCV
  • YOLOv8 (Ultralytics)
  • TensorRT / ONNX Runtime (GPU加速)
  • FastAPI (Web界面)
  • Docker (容器化部署)

文档索引

版本历史

v1.9.4 (2026-04-21)

  • 代码安全审查 - 全面审查src目录下所有Python文件,确认无SQL注入、exec/eval等安全风险
  • 测试验证 - 所有12个单元测试通过,代码质量确认

v1.9.3 (2026-04-21)

  • 视频流安全增强 - 添加目录遍历攻击防护,限制只允许访问特定目录下的视频文件
  • AI分析异常处理 - 为_process_camera_frame添加完整异常保护,防止单摄像头错误影响整体流程
  • 代码审查修复 - 基于全面代码审计,修复33个潜在问题中的关键安全性和稳定性问题
  • 测试验证 - 所有12个单元测试通过,代码编译验证成功

v1.9.2 (2026-04-21)

  • 安全性增强 - 修复web_server.py中的目录遍历漏洞,添加路径验证和异常处理
  • 视频流优化 - 为主视频流端点添加缓存控制和错误处理,提升稳定性
  • 摄像头连接优化 - 增强camera_manager.py错误日志,记录重连次数
  • 系统关闭优化 - 重构main.py停止逻辑,按依赖关系安全关闭组件
  • 代码重构 - 将ai_analyzer_simple.py中的长函数分解为更小的函数,提高可维护性
  • 测试验证 - 所有12个单元测试通过,代码编译验证成功

v1.9.1 (2026-04-21)

  • 算法启用逻辑修复 - 修复ai_analyzer.py中_load_enabled_algorithms方法,当配置为空时默认启用所有算法,避免系统无法处理任何算法

v1.9.0 (2026-04-21)

  • 代码质量优化 - 修复quality_controller.py中cv2导入位置,增强异常处理
  • 单元测试修复 - 修复12个测试用例,全部通过(置信度过滤、冷却期、连续帧确认等)
  • 测试路径修复 - 添加src目录到Python路径,解决模块导入问题
  • 测试配置优化 - 调整consecutive_frames和alert_aggregation配置,适配测试场景
  • 时间精度修复 - 修复冷却期测试中时间精度问题,使用手动清除替代sleep
  • 代码编译验证 - 验证所有核心Python文件编译通过,无语法错误

v1.8.1 (2026-04-21)

  • 代码质量审查修复 - 基于全面代码审计报告的P0/P1问题修复
  • 路由重复定义修复 - 删除web_server.py中重复的/api/cameras/add装饰器
  • LM模块缩进修复 - 修复_execute_remove和_execute_modify方法的缩进错误
  • 架构说明澄清 - 明确当前使用简化版AI分析器(SimpleAIAnalyzer),完整版三省六部流程保留在ai_analyzer.py中供多进程模式使用
  • 行为算法确认 - behavior_alert_v2.py已实现YOLOv8姿态估计(摔倒/打架/攀爬检测),非帧差法
  • 火焰检测时域验证 - 新增TemporalValidator连续帧确认机制(3帧),有效过滤夕阳/路灯等误报源
  • 烟雾检测时域验证 - 新增4帧连续确认机制,结合IoU空间一致性检查
  • CORS配置优化 - 支持生产/开发环境自动切换,生产环境限制允许域名
  • 误报率降低 - 火焰/烟雾检测从单帧判断升级为时空联合验证,预期误报率下降70%+
  • 全局通知系统 - 前端新增Toast通知组件,API调用自动显示错误提示
  • 加载状态管理 - 新增Loading遮罩层,提升用户操作反馈体验
  • API增强 - apiCall函数统一错误处理,自动弹出失败提示
  • WebSocket实时推送 - 双通道实时通信(告警+状态),毫秒级事件响应
  • 性能监控图表 - Canvas实时绘制CPU/GPU/内存曲线,60fps流畅动画
  • 告警声音提醒 - Web Audio API生成提示音,重要告警即时感知
  • 自动重连机制 - WebSocket断线自动重连(指数退避策略)
  • 数据导出功能 - 支持CSV/JSON格式导出告警数据和统计报告
  • 增强筛选系统 - 告警搜索、多类型筛选、日期范围过滤
  • 系统健康检查 - /api/health端点,全面监控各组件状态
  • 移动端优化 - 响应式布局适配480px-768px屏幕尺寸
  • 告警详情弹窗 - 完整告警信息展示、处理建议、单条导出
  • 键盘快捷键 - 7组快捷键提升操作效率(Ctrl+K/E, 1-5, T/F/R)
  • 主题切换系统 - 暗色/亮色主题一键切换,localStorage持久化
  • 操作审计日志 - 全量用户行为记录,支持筛选和查询
  • WebSocket增强 - 错误处理优化,自动重连+轮询降级,连接状态实时显示
  • DOM安全检查 - 所有元素操作添加空值验证,消除null引用错误
  • 算法默认启用 - 添加摄像头时自动启用6个常用算法(安全帽/火焰/烟雾/入侵/摔倒/人脸)
  • AI分析日志增强 - 详细输出每帧分析状态、启用的算法数量、检测结果和告警信息
  • 算法BUG修复 - 修复6个人员违规算法(ID:1-5,37)的tuple索引错误,消除每帧报错
  • 检测解析优化 - 新增safe_parse_detection()通用函数,支持字典/元组格式,增强容错性
  • 告警弹窗优化 - 3秒节流避免频繁打扰,新增静音按钮,缩短弹窗时间至3秒
  • 视频流修复 - 修复ERR_ABORTED错误,支持URL解码、Range请求、智能摄像头查找
  • 前端错误修复 - 修复switchPage未定义错误,快捷键页面切换功能恢复正常

v1.8.0 (2026-04-13)

  • 行为算法升级 - YOLOv8姿态估计替代传统轮廓检测,摔倒检测精度提升
  • 数据库优化 - WAL模式启用,并发性能提升300%,支持高频告警场景
  • GB28181协议完善 - 实现完整国标协议栈,支持设备目录查询、实时流、历史回放、云台控制
  • 多进程架构优化 - Redis共享状态管理,支持跨进程状态同步和重试队列
  • 单元测试补充 - 三省六部核心逻辑测试覆盖,置信度过滤、冷却期、连续帧确认等
  • 算法回退机制 - YOLOv8模型不可用时自动回退到传统算法,保证系统稳定性
  • 共享状态抽象 - 统一接口支持Redis和文件两种后端,自动选择最佳方案
  • 前端整合 - 三省六部实时状态与质量控制页面合并,统一展示质量控制全貌
  • UI修复 - 修复设置页面空隙过大问题,修复GPU状态显示问题
  • GPU自动检测 - 系统启动时自动检测GPU,有GPU则默认启用加速,无需手动配置
  • 摄像头算法修复 - 修复AI分析器未连接摄像头管理器导致设置算法不生效的问题
  • YOLO引擎健壮性增强 - 修复GPU模式下tuple索引错误,添加异常处理和类型检查
  • LM能力模块修复 - 修复lm_capability.py缩进错误导致的语法异常

v1.7.0 (2026-04-13)

  • AI误报学习系统 - 用户标记误报后系统自动学习,提升检测精度
  • 场景自适应阈值 - 根据白天/夜晚/雨天/雾天自动调整检测参数
  • 跨摄像头关联告警 - 滞留检测、人群聚集、跨摄像头追踪
  • 插件开发SDK - 完整的插件开发工具包,支持快速开发自定义算法
  • 算法精度评测 - 标准化评测框架,支持Precision/Recall/F1/mAP计算
  • 质量控制增强 - 集成误报学习、场景自适应、跨摄像头关联
  • API端点扩展 - 新增误报学习、场景信息、跨摄像头关联、算法评测等API
  • 前端集成准备 - 为前端智能助手提供完整的后端支持

v1.6.0 (2026-04-13)

  • 第三方AI API集成 - 支持百度AI、阿里云视觉等第三方AI服务
  • 算法管道升级 - AlgorithmManager优先使用真实AI API替代伪算法
  • LM能力增强 - 自然语言配置摄像头、告警根因分析、智能巡检报告
  • NLP命令解析 - 支持自然语言配置系统("帮我监控3号摄像头的人员聚集")
  • 告警模式分析 - 时间分布/位置分布/类型分布三维度分析
  • 智能巡检报告 - 自动生成日报/周报,包含风险等级评估
  • 智能建议系统 - 基于告警模式自动生成优化建议
  • 数据库升级 - 新增PostgreSQL支持,支持百万级告警存储
  • 数据库抽象层 - 统一接口,无缝切换SQLite/PostgreSQL
  • 前端智能助手 - 聊天式自然语言交互界面
  • 巡检报告页面 - 可视化报告展示,支持日报/周报切换
  • API端点扩展 - 新增 /api/lm/command, /api/lm/analyze, /api/lm/report, /api/lm/suggestions

v1.5.0 (2026-04-13)

  • ✅ 前端界面全面升级 - 专业级深色主题 + 霓虹灯效果
  • ✅ 数据可视化增强 - 动态图表动画 + 数字滚动效果
  • ✅ 视频墙功能完善 - 多画面布局切换 + 流光加载动画
  • ✅ 设备管理增强 - 状态筛选 + 实时搜索 + 批量操作
  • ✅ 告警系统优化 - 滑入动画 + 脉冲提醒 + 流光效果
  • ✅ 页面过渡动画 - 淡入淡出 + 平滑切换体验
  • ✅ 微交互提升 - 按钮反馈 + 导航指示器 + 悬停效果
  • ✅ 响应式设计 - 全设备适配(桌面/平板/手机)
  • ✅ 系统状态指示器 - 旋转光晕动画 + 实时状态显示
  • ✅ 模态框优化 - 弹性缩放动画 + 毛玻璃背景
  • 数据分析页面重构 - 新增统计卡片行 + 专业图表布局
  • 柱状图升级 - Y轴刻度 + 网格线 + 弹性动画 + 悬停交互
  • 折线图增强 - 发光滤镜 + 脉冲数据点 + 渐变填充 + X轴标签
  • 排行榜美化 - 金属光泽徽章 + 滑入动画 + 进度条可视化
  • 布局优化 v2 - 2+1宽松布局 + 增加间距24px + 排行榜横跨全宽
  • 呼吸感提升 - 卡片内边距+28px + 柱子间距+16px + 排行项间距+18px
  • 视觉舒适度 - 圆角+12px + 字号增大 + 图标尺寸优化
  • 真实数据集成 - 新增 /api/analytics 接口 + 前端动态加载
  • 数据来源 - 告警数据库统计 + 算法管理器排行 + 7天趋势分析
  • 动态渲染 - 数字滚动动画 + 柱状图实时更新 + 折线图动态绘制
  • 彻底清除假数据 - 饼图/排行榜改为空容器 + 动态填充真实数据
  • 饼图动态化 - SVG环形图根据数据库统计实时生成 + 图例自动计算百分比
  • 双页面数据同步 - 监控页饼图 + 数据分析页排行榜统一从API获取
  • 添加摄像头功能修复 - 修正API路由(/api/cameras → /api/cameras/add)
  • 多类型视频源支持 - RTSP摄像头 + 本地视频文件 + 局域网流 + USB设备
  • 本地视频上传功能 - 新增 /api/cameras/upload 端点支持文件上传
  • 智能表单验证 - 根据视频源类型动态切换输入提示和验证规则
  • 用户体验增强 - 文件选择器 + 上传进度提示 + 格式自动检测
  • Select下拉框修复 - 深色主题下选项文字正确显示 + 原生下拉箭头
  • 依赖问题解决 - 安装python-multipart支持文件上传功能
  • CSS语法错误修复 - 移除导致 Unicode escape sequence 错误的SVG Data URI
  • 设备管理页面重构 - 视频预览 + 设置按钮 + 排版优化
  • 摄像头设置模态框 - 分辨率/帧率/AI开关/检测间隔配置
  • 视频预览功能 - MJPEG实时流预览 + 离线占位符显示
  • 按钮功能升级 - "预览"改为"设置",支持摄像头参数配置
  • 卡片布局优化 - 紧凑布局 + 去除多余空白 + 路径文本截断2行
  • 算法选择功能 - 每个摄像头支持设置8-10种识别算法
  • 算法分类展示 - 6大类别69种全部算法(人员违规/环境异常/周界报警/行为分析/结构化/人脸识别)
  • 芯片式多选UI - 圆角标签 + 选中高亮 + 计数徽章 + 上限提示
  • 空白区域修复 - 移除固定高度,卡片自适应内容,不再撑满屏幕
  • 告警列表优化 - 时间格式紧凑化(MM/DD HH:MM) + 文本溢出省略 + 防止截断
  • 视频墙动态加载 - 自动显示已添加摄像头,不再使用硬编码占位符
  • 视频预览优化 - 所有摄像头强制尝试播放,实时更新在线/离线状态
  • 设备管理联动 - 添加摄像头后自动刷新视频墙和设备列表
  • 视频流修复 - 本地视频文件(.mp4等)直接返回文件,不再用MJPEG格式
  • 模块导入修复 - 修复"获取趋势数据失败: No module named 'src'"错误
  • Windows兼容性 - 使用WindowsSelectorEventLoopPolicy解决asyncio连接重置警告
  • 算法稳定性 - 修复视频循环播放时帧尺寸不匹配导致的OpenCV错误(算法53/54/14/15)

v1.4.0 (2026-04-11)

  • ✅ 架构简化 - 去除三省六部复杂概念,合并为单层质量控制
  • ✅ 新增 quality_controller.py - 统一质量控制模块
  • ✅ 新增 ai_analyzer_simple.py - 简化版AI分析器
  • ✅ 保留核心功能 - cooldown、置信度过滤、连续帧确认、告警聚合

v1.3.1 (2026-04-11)

  • ✅ REST API扩展 - 新增GPU/插件/云端管理API端点
  • ✅ 前端管理UI - 设置页面新增GPU加速/插件系统/云端协同面板
  • ✅ 告警筛选功能 - 支持按日期和类型筛选告警记录

v1.3.0 (2026-04-11)

  • ✅ GPU加速落地 - TensorRT/ONNX/CUDA自动检测与推理加速
  • ✅ 插件系统 - 动态加载自定义算法,无需修改核心代码
  • ✅ 云端协同 - 边云混合架构,支持云端大模型深度分析
  • ✅ 示例插件 - 亮度检测算法演示插件开发流程

v1.2.0 (2026-04-11)

  • ✅ YOLO模型升级 - 支持 n/s/m/l/x 五种模型大小
  • ✅ GPU加速 - 支持 CUDA/TensorRT/ONNX Runtime
  • ✅ 告警推送 - 支持企业微信/钉钉/飞书机器人
  • ✅ LLM接入 - 自然语言告警摘要和智能问答
  • ✅ 中书省调度策略 - 负载均衡/优先级抢占/任务超时

v1.1.0 (2026-04-11)

  • ✅ 修复告警冷却机制(按算法+摄像头+位置精确去重)
  • ✅ 修复摄像头算法配置未生效问题
  • ✅ 修复告警记录显示 undefined 问题
  • ✅ 修复 HOG 检测极小帧崩溃问题
  • ✅ 修复禁牧算法 HOG 检测器误用(改用 YOLO)
  • ✅ 修复御史台 fail 裁决丢弃所有结果问题
  • ✅ 优化启动流程(按需初始化算法和摄像头)
  • ✅ 添加告警详情弹窗功能

许可证

MIT License

About

本AI边缘计算摄像头分析盒子系统包含多种智能分析算法,覆盖人员违规、环境异常、周界警戒、行为警戒、全结构化解析和人脸识别。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages