Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nnU-Net Web · 医学图像分割推理平台

基于深度学习的医学图像自动分割系统 — 上传 CT/MRI 影像,一键获取器官与病灶分割结果

Python FastAPI nnU-Net NiiVue License

🏆 第十八届上海市大学生计算机应用能力大赛 参赛作品


🎯 项目简介

医学图像分割是疾病诊断、治疗规划中的关键环节,但传统手工标注效率低、主观性强,深度学习模型又部署复杂

本平台将 nnU-Net 封装为 Web 服务,提供「上传 → 推理 → 对比 → 可视化」一站式工作流:

  1. 📤 上传 CT/MRI 影像(NIfTI / DICOM 格式)
  2. 🤖 nnU-Net 模型自动分割器官/病灶
  3. 📊 并排对比原始影像与预测结果
  4. 🔍 NiiVue 专业级 3D 医学影像浏览器交互查看

🚀 快速开始

# 1. 安装依赖
pip install -r nnunet-web-platform/backend/requirements.txt

# 2. 准备模型(放在 nnunet-web-platform/models/ 下)
# 或使用预训练权重

# 3. 启动服务
cd nnunet-web-platform
python start.py

# 4. 浏览器访问
# http://localhost:8765

🏗️ 系统架构

┌──────────────────────────────────────────────────────┐
│                    前端 (HTML5 + JS)                   │
│  ┌──────────┐  ┌──────────────┐  ┌────────────────┐  │
│  │ 上传模块  │  │ NiiVue 3D浏览器│  │  结果对比面板   │  │
│  └─────┬────┘  └──────┬───────┘  └───────┬────────┘  │
└────────┼──────────────┼──────────────────┼───────────┘
         │              │                  │
┌────────┴──────────────┴──────────────────┴───────────┐
│                  后端 (FastAPI)                        │
│  ┌──────────┐  ┌──────────┐  ┌──────────────────┐   │
│  │ 文件管理  │  │ nnU-Net  │  │  DICOM/NIfTI处理  │   │
│  └──────────┘  │ 推理引擎  │  └──────────────────┘   │
│                 └──────────┘                          │
└──────────────────────────────────────────────────────┘

✨ 核心功能

功能 说明
📤 多格式上传 支持 NIfTI (.nii.gz) 和 DICOM 系列文件
🤖 一键推理 基于 nnU-Net v2,KiTS19 肾脏肿瘤分割模型
📊 结果对比 原始影像 / 预测结果 / Ground Truth 同屏对比
🔍 3D 可视化 集成 NiiVue,支持三视图(轴/冠/矢)+ 3D 渲染
🎨 叠加显示 分割轮廓叠加在原始影像上,透明度可调
📁 批量处理 支持多病例队列推理

🧪 演示数据

本平台使用 KiTS19(Kidney Tumor Segmentation Challenge 2019)数据集训练:

  • 🫘 肾脏 + 肾肿瘤自动分割
  • 📐 3D 全分辨率推理(3d_fullres
  • 🔄 5-Fold 交叉验证集成

🛠️ 技术栈

层级 技术
深度学习框架 nnU-Net v2 (PyTorch)
后端 API FastAPI + Uvicorn
前端 HTML5 + CSS3 + Vanilla JS
医学影像可视化 NiiVue 0.43.1
影像格式处理 SimpleITK / NiBabel / pydicom
任务队列 Python asyncio

📁 项目结构

medical_image_processing/
├── nnunet-web-platform/      # 主项目
│   ├── backend/              # FastAPI 后端
│   ├── frontend/             # Web 前端
│   ├── models/               # nnUNet 模型权重
│   ├── doc/                  # 大赛文档
│   ├── start.py              # 启动入口
│   └── test_model.py         # 模型测试
├── niivue_viewer/            # NiiVue 独立查看器
│   ├── index.html
│   ├── server.py
│   └── lib/niivue.umd.js
├── 文档/                     # 参考材料与截图
└── 模型权重文件/              # 训练好的模型权重

🔮 未来规划

  • 多器官分割模型(肺、肝、脑…)
  • DICOM SR 结构化报告输出
  • 用户登录与病例管理系统
  • GPU 加速推理优化
  • Docker 一键部署
  • 微信小程序前端

👥 贡献者

  • 参赛团队 — 第十八届上海市大学生计算机应用能力大赛

💡 让 AI 走进医学影像科,降低分割门槛,提升诊断效率。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages