# 需求分析 - 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 替代 fetch,WebSocket 对接解析进度 - **优先级**: 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 磁盘空间不足 | 中 | 监控磁盘,配置清理策略 | | 单次会议工程过大 | 高 | 分模块迭代,先跑通骨架再丰富 |