Skip to content

CV Python Tigerpro

Flask + Vue 前后端分离的 多任务视觉 / 语音 AI 管理平台(RBAC + 模型管理 + 检测 / 姿态 / 人脸 / 车辆 / OCR 等)。

许可证: Apache-2.0中文要点译本,仅供参考,以英文原版为准)· 仓库: https://github.com/5758703/CV_PythonVue_TigerPro

快速开始

backend/                 Flask + SQLAlchemy + JWT + Ultralytics / InsightFace / OCR …
frontend/frontend_home/  项目门户(Vue3 + Vite)          → http://localhost:5174
frontend/frontend_admin/ 管理控制台(Vue3 + Element Plus) → http://localhost:5173
  1. 后端:见 backend/README.md(推荐 Python 3.12 + scripts/setup_venv.ps1 / run_backend.ps1
  2. 控制台:cd frontend/frontend_admin && npm install && npm run dev(:5173)
  3. 门户:cd frontend/frontend_home && npm install && npm run dev(:5174)
  4. 浏览器打开 http://localhost:5174 ,点「进入控制台」;默认账号 admin / admin123

本机请统一使用 localhost(勿混用 127.0.0.1)。前端总览见 frontend/README.md

参与贡献

GitHub 是任务与决策的最终记录场所。统一流程:

Discussion → Issue(含验收标准)→ 认领 → PR → 评审 → Squash 合并 → CHANGELOG / 发版

文档 说明
CONTRIBUTING.md 开发环境、规范、分支与 PR
部署指南 本地 / Linux / Docker 详细步骤
GOVERNANCE.md 角色、权限、晋升与决策
ROADMAP.md 版本规划
SECURITY.md 安全漏洞请私密报告,勿公开开 Issue
CODE_OF_CONDUCT.md 行为准则
THIRD_PARTY_NOTICES.md 依赖与模型许可证
CHANGELOG.md 版本变更
新手任务(8 条) good-first-issue 文案
社区索引 文档导航

演示与截图

backend/                 Flask + Flask-SQLAlchemy + PyMySQL + Flask-Cors + Flask-JWT-Extended
frontend/frontend_home/  Vue3 + Vite(项目门户)
frontend/frontend_admin/ Vue3 + Vite + Element Plus + Vue Router + Pinia + Axios + ECharts
Tiger.AI.Platform.mp4
image 微信图片_20260719005341_513_226 ScreenShot_2026-07-05_122934_328
fall02_1786757013_fall.mp4
fall01_1786764966_fall.mp4
fall-result01.mp4
segment_result.mp4
fall-result01.mp4
wudao_1782559579_pose.mp4
02_1784196851_det.mp4
badminton_1784461172982.mp4
video_1783781025_pose.mp4
segment_result.2.mp4
0f2b3ace2fc0d2be0bba35e2f8b43cf8_1782640338_track.mp4
微信图片_20260719050319_517_226
segment_result.1.mp4
footballtrack.mp4
video_1783781402_pose.mp4
e0b459e132f2d00241930cae1d9674b3_1783843146_det.mp4
segment_result.6.mp4
2026-07-21_064358_872.mp4
2026-07-21_064406_945.mp4
02_1784202781_det.mp4
微信图片_20260719005341_513_226 微信图片_20260709055050_436_226 微信图片_20260719013021_514_226 微信图片_20260709055035_435_226 微信图片_20260719013047_515_226 微信图片_20260709055007_434_226 微信图片_20260717110704_504_226 FireShot Capture 017 - Tiger AI Platform · 多任务AI模型管理与测试平台 -  localhost demo_result_on_your_image 微信图片_20260718031938_508_226 微信图片_20260717105559_500_226 微信图片_20260704112908_365_226 微信图片_20260704235432_374_226
badminton_1783162518673.mp4

功能

近期新增(重点)

能力 说明 入口 / 文档
跨镜 MTMC 重识别 多路共享拉流 → Tracklet → OSNet/CLIP 并联 Youtu → 车辆视觉 ReID+车牌融合 → 全局 ID;监控墙 AI 叠加;McByte++ 短时粘性 / 新生才长时 ReID /ai/mtmc · 文档
跌倒检测 姿态四指标;图片 / 视频 / 摄像头;异步标注视频与触发事件;告警规则 + 告警音 /ai/fall · 告警页 fall_detection
手势识别 MediaPipe 数字手势 + YOLO 中国手语,可多选同跑,视频序列输出 /ai/handpose
项目门户 frontend_home(:5174)+ 控制台深链;Cookie tiger_ai_token 登录态互通 http://localhost:5174
Windows 屏幕 RTSP 本机桌面推流接入摄像头管理 / 监控墙,便于无实体摄像头联调 操作说明
模型管理独立目录 侧栏根级「模型管理」(模型列表 + 模型训练),与「AI智能识别」同级并置顶 /ai/model · /ai/training

更完整的功能解读见:平台近期新增功能说明

能力总览

  • 用户注册 / 登录(JWT 认证)
  • RBAC:用户·角色·部门(无限级树)·岗位·菜单/权限
  • 多对多:用户↔角色、用户↔部门、用户↔岗位、角色↔权限、用户↔权限
  • 权限分类:
    • 功能权限 — 菜单(M目录/C菜单)、按钮(F,前端 v-permission)、API 接口(A,后端校验)
    • 数据权限 — 角色 data_scope:1 仅本人 / 2 本部门 / 3 本部门及下级 / 4 全部
  • 视觉:目标检测 / 姿态 / 分割 / 跌倒检测 / 手势识别(含中国手语) / 人脸识别(InsightFace + OpenCV YuNet+SFace) / 行人重识别(Youtu ReID) / 跨镜 MTMC 重识别(强 ReID + 车辆车牌融合 + 监控墙 AI 叠加) / 图像修复(LaMa) / 表格识别(YOLO+RapidOCR+SLANet) / 目标追踪(含车辆追踪、人员离岗检测场景;离岗支持多工位与移动镜头运动补偿)
  • OpenCV Zoo 轻量能力:YuNet+SFace、Youtu Person ReID、EfficientSAM、LaMa、MobileNet V2(DNN + ORT 回退)
  • 安防检测模型包(11 个本地 ONNX):烟火 / 森林火灾 / 灾害扩展、PPE 与安全帽、跌倒与行为、打架、武器、车牌等,种子分类「安防检测」(sec-*),ONNX Runtime CPU 推理,可挂图片/视频/摄像头检测与告警规则
  • 模型权重转换(pt → onnx):模型管理支持异步导出(imgsz / dynamic / half),同目录存在 .onnx 时检测优先走 ONNX Runtime(YOLO_PREFER_ONNX=0 可关闭);列表支持自定义每页条数(1–200)并本地记忆
  • 摄像头实时检测:支持 本地摄像头网络摄像头(摄像头管理视频流);Windows 本机可将 桌面屏幕 RTSP 推流 接入监控,见 docs/camera-screen-rtsp.md
  • 双前端:项目门户(宣传 / 深链入口)+ 管理控制台(RBAC 侧栏与 AI 工作台)

默认账号(种子数据自动写入)

账号 密码 角色 数据范围 说明
admin admin123 超级管理员(admin) 全部数据 全菜单 + 全部增删改
tiger 123456 普通角色(common) 本部门(前端组) 只读,用户列表仅见本部门

初始化幂等:sys_user 无数据时才灌种子(5 部门 / 4 岗位 / 31 菜单 / 2 角色 / 2 用户)。

数据表

说明
sys_user 用户(主部门 dept_id)
sys_role 角色(data_scope 数据范围)
sys_dept 部门(无限级树,ancestors 祖级链)
sys_job 岗位
sys_menu 菜单/权限(menu_type M/C/F/A)
sys_user_role / sys_user_dept / sys_user_post 用户的角色/部门/岗位(多对多)
sys_role_menu / sys_user_menu 角色权限 / 用户直接授权(多对多)

后端 backend

conda activate cv_python_tigerpro
cd backend
pip install -r requirements.txt

cp .env.example .env      # 编辑 .env 填入 MySQL 账号密码(默认 root/123456)
# MySQL 建库:
#   CREATE DATABASE cv_python_tigerpro DEFAULT CHARSET utf8mb4;

python app.py            # http://127.0.0.1:5001 (启动自动建表 + 灌种子)

返回结构统一 { code, message, data }code=0 成功。请求头带 Authorization: Bearer <token>

接口:

模块 路径 说明
认证 POST /api/auth/login 登录,返回 {token}
认证 POST /api/auth/register 注册(默认普通角色)
认证 GET /api/auth/info 当前用户 + 角色标识 + 权限标识
认证 GET /api/auth/routers 当前用户可见菜单树(侧栏)
认证 POST /api/auth/logout 退出
用户 /api/system/user GET 列表(数据权限) / POST / PUT / DELETE
角色 /api/system/role CRUD + 菜单授权 + data_scope
部门 /api/system/dept 树 + CRUD
岗位 /api/system/job CRUD
菜单 /api/system/menu 树 + CRUD
人脸 /api/ai/face 底库 CRUD / enroll / recognize
行人重识别 /api/ai/reid 底库 CRUD / enroll / recognize / search / search-video
健康 GET /api/health 健康检查

功能权限装饰器 @permission_required("system:user:add");数据权限 apply_user_data_scope() 按角色 data_scope 过滤。

前端

仓库包含两个前端应用(总览:frontend/README.md):

目录 角色 开发地址
frontend/frontend_home 项目门户(宣传 / 入口) http://localhost:5174
frontend/frontend_admin 管理控制台 http://localhost:5173

门户 frontend_home

cd frontend/frontend_home
npm install
npm run dev              # http://localhost:5174
  • 公开接口:/api/portal/summary/api/health(经 Vite 代理 → :5001
  • CTA 按登录态跳转:已登录直达目标页,未登录走 /login?redirect=;本机统一 localhost
  • 登录态:控制台写入 localStorage + Cookie tiger_ai_token,门户跨端口可读

控制台 frontend_admin

cd frontend/frontend_admin
npm install
npm run dev              # http://localhost:5173

Vite 代理:/apihttp://127.0.0.1:5001

  • 登录后守卫调 getInfo+getRouters → 动态侧栏 + 权限标识
  • 按钮级权限:v-permission="'system:user:add'"
  • 顶栏「项目门户」跳转 VITE_PORTAL_URL(默认 http://localhost:5174)
  • 支持门户深链:/login?redirect=/ai/fall
  • 页面:登录、首页、AI 任务页、系统管理(用户/角色/部门/岗位/菜单)

文档

文档 说明
投资人讲解文档 面向 VC 的全模块定位、市场与路演讲稿
部署指南总览 本地 / Linux / Docker 完整步骤
本地开发部署 Windows / macOS / Linux 本机联调
Linux 生产部署 Ubuntu / Debian / CentOS·RHEL:环境配置与完整操作步骤
Docker 部署 Compose 实验性编排
Supervision 使用汇总 RF-DETR 链路中 supervision.Detections / Annotator 触点
前端总览 门户 frontend_home + 控制台 frontend_admin
羽毛球分析模块 技术栈、姿态/球模型、球场与网线、HUD、API;含 §11 Roboflow 导出 YOLO zip 与自训指南
图像/视频分割模块 技术栈、依赖、模型权重、API 与使用流程(RF-DETR-Seg / YOLOE 图片视频 / MobileSAM)
数据标注功能说明 视频抽帧、Canvas 标注、YOLO 格式、构建训练集、API 与 FAQ
外接标注工具操作说明 X-AnyLabeling / CVAT / Roboflow 小白入门、分步举例与回灌说明
姿态估计模型选型说明 平台 7 款姿态模型对比;含羽毛球页六模型速查
数据标注质量检测与格式转换 质量检测指标解读、五类格式转换与训前检查清单
TigerAI平台模型框架与类型汇总 推理框架 / 任务类型 / 种子模型与工作台对照(含配图位)
人脸识别模块 InsightFace + YuNet+SFace、本地视频、五色关键点、底库与 API
人脸识别功能汇总 选型对照与本项目落地摘要
行人重识别 Youtu ReID、独立底库/权限、混合人脸、检测器优先级、API
跨镜 MTMC 重识别 多路共享拉流、强 ReID 并联、车辆车牌融合、全局 ID、监控墙 AI 叠加
平台近期新增功能说明 跨镜 MTMC / 跌倒 / 手势 / 门户 / 屏幕 RTSP / 模型管理目录等近期能力解读
Windows 屏幕 RTSP 推流 本机桌面推流接入摄像头管理与监控墙
OpenCV Zoo 轻量视觉 EfficientSAM / LaMa / MobileNet / 与人脸·行人索引
表格识别功能汇总 YOLO 检表 → RapidOCR → SLANet_plus;模型、API、前端与代码位置
目标追踪-场景分类说明 通用追踪 / 车辆追踪 / 人员离岗三场景架构、权限路由与扩展方式
人员离岗检测-功能说明 多工位离岗规则、镜头运动补偿(移动镜头工位锚定)、API 与验收
车辆追踪-技术说明与操作手册 车牌 OCR、测速、拥堵、运动轨迹与过车记录
检测告警模块 P0 烟火/聚集 + P1 PPE未戴帽/越线入侵、规则引擎与事件
P2 监控墙与陌生人脸告警 RTSP 监控墙 7×24、陌生人脸告警使用与实现
烟火与人员聚集告警功能汇总 框架与检测模型配合、规则阈值、叠加/事件实践、配图占位
越线入侵告警功能汇总 越线几何原理、规则引擎、追踪页画线使用与配置排查

文档内保留 实测截图占位,可在 docs/images/ 下按章节补充项目截图后替换。

启动顺序

  1. 启动 MySQL,建库 cv_python_tigerpro
  2. 后端 python app.py(:5001,自动建表+种子)
  3. 控制台 cd frontend/frontend_admin && npm run devhttp://localhost:5173
  4. 门户 cd frontend/frontend_home && npm run devhttp://localhost:5174
    打开门户后点「进入控制台」,用 admin/admin123 登录
744ec6c19b3817d1e7c1efe5d66124e7 243ec0a85149c5fc2c79168466bfd19d a894ca39be5586d2f9bcc7a587404d4d

开源不易,接收赞赏

f0afa6f30ce5b11d3bc0b17c42ab5c9a 5ea44947061de1d34f2c713fb8ce5ce8

About

计算机视觉+AI大模型测试学习平台(自己搭建)

Resources

Code of conduct

Contributing

Security policy

Stars

108 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages