Files
Pre_Seg_Server/工程分析/需求分析-2026-04-29-21-51-19.md

3.3 KiB
Raw Blame History

需求分析 - 2026-04-29-21-51-19

需求来源

  • 提出时间: 2026-04-29-21-51-19
  • 需求类型: 全栈系统改造 / 架构重构

原始需求描述

将现有纯前端 React 静态 UI 彻底改造为前后端联动的全栈语义分割系统。打通数据流转,实现:

  1. 本地多媒体资产(视频/图片/DCM影像上传
  2. 服务器端按帧解析FFmpeg 拆帧)
  3. AI 视觉大模型 SAM 3 实时交互式推理点分割、box分割、语义分割
  4. 动态图层状态管理
  5. 标注数据结构化导出

后端技术栈Python + FastAPI + PostgreSQL + Redis + MinIO AI 基座SAM 3 输入数据:@Data_MyVideo_1.mp4、@Data_Dicom帧DCM格式

需求拆解

需求 1: 基础设施部署

  • 详细描述: 在 Ubuntu 22.04 上部署 PostgreSQL、Redis、MinIO 对象存储
  • 优先级: P0-阻塞
  • 影响范围: 系统级服务
  • 验收标准: 三个服务均可访问,有持久化数据目录

需求 2: Conda 环境 + SAM 3 模型部署

  • 详细描述: 新建 conda 环境 seg_server安装 PyTorch + CUDA部署 SAM 3 模型权重
  • 优先级: P0-阻塞
  • 影响范围: Python AI 推理层
  • 验收标准: conda 环境可激活GPU 可被 PyTorch 识别SAM 3 权重文件存在

需求 3: FastAPI 后端框架搭建

  • 详细描述: 替换现有 Express 后端,建立 FastAPI 服务包含上传、项目、模板、AI推理、导出等模块
  • 优先级: P0-阻塞
  • 影响范围: 后端全部
  • 验收标准: FastAPI 服务可启动Swagger UI 可访问

需求 4: 前端状态管理 + 网络层改造

  • 详细描述: 引入 Zustand 全局状态管理Axios 替代 fetchWebSocket 对接解析进度
  • 优先级: P0-阻塞
  • 影响范围: src/ 全部
  • 验收标准: 前端可正常与后端通信,状态跨组件同步

需求 5: Canvas Mask 渲染对接

  • 详细描述: Konva Canvas 接收后端 SAM 3 返回的 Mask 数据Polygon/RLE动态渲染遮罩图层
  • 优先级: P1-高
  • 影响范围: CanvasArea.tsx, AISegmentation.tsx
  • 验收标准: 点击画布后,后端返回 Mask前端可正确绘制

需求 6: 视频/DCM 解析流水线

  • 详细描述: 上传视频后 FFmpeg 拆帧DCM 影像逐帧提取,进度通过 WebSocket 推送
  • 优先级: P1-高
  • 影响范围: 后端任务模块 + 前端 Dashboard
  • 验收标准: 可上传文件,解析队列可显示进度,帧图片存入 MinIO

需求 7: 数据持久化(项目/模板/标注)

  • 详细描述: PostgreSQL 存储项目元数据、本体字典、标注结果MinIO 存储原始媒体/帧/Mask
  • 优先级: P1-高
  • 影响范围: 后端数据库模型 + API
  • 验收标准: 数据重启后仍可读取

约束条件

  • 使用 Ubuntu 22.04, sudo 密码 Wkmgc
  • GPU: RTX 4090, CUDA 13.2
  • 无 Docker使用系统包管理 + 二进制部署
  • 保持现有前端界面风格(深色主题、中文)

风险评估

风险点 影响 缓解措施
SAM 3 权重下载慢/失败 使用国内镜像源,分段下载验证
PostgreSQL/Redis 端口冲突 检查端口占用,使用非默认端口
MinIO 磁盘空间不足 监控磁盘,配置清理策略
单次会议工程过大 分模块迭代,先跑通骨架再丰富