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

76 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析 - 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 磁盘空间不足 | 中 | 监控磁盘,配置清理策略 |
| 单次会议工程过大 | 高 | 分模块迭代,先跑通骨架再丰富 |