章节 01
导读 / 主楼:Master-UIT-MedSignal:多模态融合AI模型助力颈动脉粥样硬化诊断与风险分层
一个结合临床表格数据与超声影像的多模态融合深度学习项目,使用CNN与MLP架构对颈动脉粥样硬化进行诊断和风险分层,在300例合成数据集上验证其有效性。
正文
一个结合临床表格数据与超声影像的多模态融合深度学习项目,使用CNN与MLP架构对颈动脉粥样硬化进行诊断和风险分层,在300例合成数据集上验证其有效性。
章节 01
一个结合临床表格数据与超声影像的多模态融合深度学习项目,使用CNN与MLP架构对颈动脉粥样硬化进行诊断和风险分层,在300例合成数据集上验证其有效性。
章节 02
章节 03
原作者与来源
clinical_carotid_dataset_v3 的合成数据集,包含300个病例和680张超声影像。数据集的设计体现了医学AI项目特有的严谨性:\n\n数据分布特征\n\n| 指标 | 数值/分布 |\n|---|---|\n| 总病例数 | 300例 |\n| 斑块存在性 | 无斑块205例 / 有斑块95例(阳性率约32%,类别不平衡) |\n| 斑块回声性 | 无斑块205例 / 中等回声40例 / 低回声28例 / 高回声27例 |\n| 基线风险类别 | 低风险293例 / 中度风险7例(类别极度不平衡,弃用) |\n| 影像数量 | 对照组每例1张IMT影像 / 目标组每例5张影像(1张IMT + 4张CCA) |\n\n数据防泄漏设计\n\n项目特别强调了防止数据泄漏(Data Leakage)的设计原则。由于影像数量与标签存在完美的对应关系(对照组1张,目标组5张),直接使用影像数量作为特征会导致模型"作弊"。因此,项目规定:\n\n- 斑块诊断任务仅使用IMT影像(所有病例均有1张)\n- 回声性分类任务才使用额外的4张CCA影像\n\n这种设计确保了模型学习的是医学特征而非数据分布特征。\n\n---\n\n技术架构:多模态融合深度学习\n\n项目采用CNN与MLP相结合的多模态融合架构,同时处理表格型临床数据和图像型超声数据。\n\n项目结构\n\n\nconfigs/config.yaml 统一配置文件\nsrc/\n data/ 预处理 · 数据分割 · 数据集构建 [M1]\n models/ 表格模型 · 基线模型 · 视觉模型 · 融合模型 [M2/M3/M4]\n train/ 损失函数 · 训练流程 [M4]\n eval/ 评估指标 · 可解释性 [M5]\n demo/ Streamlit演示应用 [M5]\nnotebooks/ 00_setup → 04_eval (按阶段划分的Colab笔记本)\n\n\n模型组件分工\n\n项目采用模块化设计,将复杂的多模态任务分解为可管理的子任务:\n\nM1 - 数据工程模块\n负责数据预处理、Dataset/DataLoader构建、交叉验证折分割。这是整个项目的基础,确保数据以正确的格式流入模型。\n\nM2 - 表格数据分支\n使用多层感知机(MLP)处理临床指标(如年龄、血压、血脂等),同时提供XGBoost/LightGBM基线模型作为对比。表格数据分支的优势在于可解释性强,符合医学领域对模型透明度的要求。\n\nM3 - 视觉数据分支\n使用CNN编码器提取超声影像特征,并引入注意力池化机制(Attention Pooling)处理CCA影像。CNN在医学影像分析中已被证明有效,注意力机制则帮助模型聚焦于斑块区域。\n\nM4 - 融合与多任务训练\n这是项目的核心创新点。融合层将表格分支和视觉分支的特征向量拼接,通过联合训练实现多任务学习:\n- 主任务:斑块存在性二分类\n- 辅助任务:斑块回声性四分类\n- 回归任务:基线风险评分预测\n\n多任务学习的设计使得模型能够从相关任务中迁移知识,提高数据效率。\n\nM5 - 评估与可解释性\n提供完整的评估指标计算和可视化工具,包括Grad-CAM热力图和SHAP值分析,帮助医生理解模型的决策依据。\n\n---\n\n使用方法:从Colab到本地部署\n\nGoogle Colab(推荐)\n\n项目提供了完整的Colab笔记本流程,无需本地配置即可运行:\n\n1. 打开 notebooks/00_setup_colab.ipynb\n2. 设置数据源:SOURCE = \"drive\"(挂载Google Drive)或\"git\"(从GitHub克隆)\n3. 运行时 → 更改运行时类型 → GPU (T4)\n4. 执行烟雾测试单元格,确认数据管道正常\n\n随后按顺序运行:01_baseline_tabular → 02_baseline_vision → 03_fusion_multitask → 04_eval_explain_demo\n\n本地运行(可选)\n\nbash\npip install -r requirements.txt\npython -c \"from src.data.dataset import CarotidDataset; print('OK')\"\npython -m src.train.train --config configs/config.yaml\n\n\n---\n\n团队协作:五人分工的敏捷开发\n\n项目采用明确的角色分工,适合学术团队或小型研究组协作:\n\n| 成员 | 主要职责 |\n|---|---|\n| M1 | 数据工程、Dataset/DataLoader、数据分割 |\n| M2 | 表格分支(MLP)+ XGBoost/LightGBM基线 |\n| M3 | 视觉分支(CNN编码器 + CCA注意力池化) |\n| M4 | 融合层 + 多任务联合训练 |\n| M5 | 评估指标、Grad-CAM/SHAP、Streamlit演示 |\n\n每个Python文件顶部都标注了[Mx]标签和对应的TODO列表,便于追踪进度。\n\n---\n\n项目启示:医学AI的工程实践\n\nMaster-UIT-MedSignal项目展现了医学AI开发的几个关键最佳实践:\n\n1. 数据质量优先:通过精心设计的合成数据集和防泄漏策略,确保模型评估的可靠性。\n2. 多模态融合:结合表格数据的结构化优势和影像数据的丰富特征,实现更全面的诊断。\n3. 可解释性设计:Grad-CAM和SHAP的集成使模型决策透明化,符合医疗场景对可解释性的严格要求。\n4. 模块化架构:清晰的分工和接口设计使团队协作高效,也便于后续扩展和维护。\n5. 云端优先:Colab笔记本的完整支持降低了使用门槛,有利于研究成果的复现和传播。