Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

3DMed-RAG: Multimodal RAG for Medical Consultation

项目简介

本项目提出 3DMed-RAG,一个集成文本、图像-文本多模态的三维医学问诊系统。系统能够同时处理纯文本问诊、医学图像分析、图像+文本联合查询三种输入模态,面向真实临床场景提供高质量的医学辅助诊断。我们与浙二医院合作,基于 700 张眼科 CD 图像(含 OCT、OCTA、眼底照)进行验证,经专业医学鉴定,导诊效果优秀。

核心创新

1. 领域对齐负面拒绝机制(文本 RAG)

在经典 RAG 的检索-生成流程基础上,我们提出领域对齐负面拒绝机制(Domain-Aligned Negative Rejection),解决医学 RAG 中"检索到不相关内容仍强行回答"的安全性问题。具体而言:

  • 医学领域自动分类:基于领域关键词字典与医学实体识别,将用户查询自动归类至 8 大专科(放射科、内科、肿瘤科、消化科等),并提取查询中的医学实体用于术语扩展;
  • 领域感知文档分块:按照医学文档的临床结构(病史、体格检查、影像学检查、诊断、治疗方案等)进行语义分割,每个文本块附带领域标签、医学术语密度、章节类型等元数据;
  • 领域加权重排序:在 FAISS 粗检索之后,基于领域匹配度、医学术语密度、实体重叠度、章节相关性四个维度对候选结果进行加权重排序;
  • 多维置信度评估与拒绝决策:综合最大相似度、覆盖度、一致性、医学相关性、领域对齐度五项指标计算最终置信度,低于阈值时主动拒绝回答并引导用户就医,避免产生不可靠的医学建议。

2. CLIP 双路加权融合检索(多模态 RAG)

针对医学图像的分析与描述生成,我们提出基于 CLIP 双索引加权融合的多模态 RAG 架构,这是本项目的核心模块:

  • 统一嵌入空间:使用 CLIP(ViT-Large-Patch14)将医学图像和对应的临床描述文本编码到同一 768 维语义空间,实现跨模态对齐;
  • 双路 FAISS 索引:对同一批训练数据分别构建图像嵌入索引和文本嵌入索引。查询时,将待分析图像经 CLIP 编码后,同时在两个索引中检索——图像索引捕捉视觉形态相似性,文本索引利用 CLIP 的跨模态能力捕捉语义相关性;
  • Alpha 加权融合:以 α=0.6 的图像权重和 1-α=0.4 的文本权重融合两路检索分数,使"视觉相似 + 语义相关"的候选获得最高排名,相比单一索引检索提升了召回的准确性和鲁棒性;
  • 同类型优先策略:根据查询图像类型(OCT / OCTA / 眼底照)优先匹配同类型的参考病例,保证检索结果的临床可比性;
  • RAG 增强多模态生成:将检索到的 Top-K 参考病例的完整临床描述与查询图像原图共同输入 GPT-4o 多模态 API,使 LLM 在"看到图像 + 参考类似病例描述"的条件下生成专业的医学影像描述;
  • 患者级综合报告:支持对同一患者的多张多类型检查图像(OCT + OCTA + 眼底照)逐一分析后,聚合生成一份综合性眼科诊断报告。

系统架构

                          3DMed-RAG 系统架构
┌─────────────────────────────────────────────────────────┐
│                      用户输入                            │
│         文本查询 / 医学图像 / 图像+文本                    │
└──────┬──────────────────┬───────────────────┬───────────┘
       │                  │                   │
       ▼                  ▼                   ▼
┌──────────────┐  ┌───────────────┐  ┌────────────────────┐
│  文本 RAG     │  │ 多模态 RAG    │  │ 患者综合报告        │
│              │  │               │  │                    │
│ MiniLM 编码   │  │ CLIP 双路编码  │  │ 多图聚合 + LLM     │
│ 领域感知分块   │  │ 双索引加权融合  │  │ 综合诊断报告生成    │
│ 领域加权重排   │  │ 同类型优先     │  │                    │
│ 置信度拒绝    │  │ GPT-4o 生成   │  │                    │
└──────────────┘  └───────────────┘  └────────────────────┘

技术栈

层次技术
多模态编码OpenAI CLIP (ViT-Large-Patch14)
文本嵌入sentence-transformers (MiniLM)
向量检索FAISS (IndexFlatIP)
生成模型GPT-4o (多模态) / DeepSeek-R1
文档解析PyPDF2, python-docx
图像处理Pillow, OpenCV
数据管理Pandas, NumPy

关于 About

我提出了一个集成文本、图像文本多模态、图像的三维医学问诊系统:3DMed-RAG,该系统能够同时处理文本、图像、图像文本三种query形式,并做出高质量医学诊断。我们基于经典的RAG,在检索排位部分提出领域对齐负面拒绝机制,二次判断问诊的专业性;对于官方专家导诊文档(文档末尾一般有流程图概述),我们增强该流程图的数据,使llm在回答导诊路线相关回答时能更加详细。 对于医学图像,我们尝试基础的VQA-MedRAG模型,使用文本-图像对眼科描述问题进行尝试,为了提升准确性,使用Multimodal-RAG对index的文本、图像编码进行加权处理,对未知的患者图像进行有效的医学信息描述。

语言 Languages

Python100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
3
Total Commits
峰值: 2次/周
Less
More

核心贡献者 Contributors