VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性

简介: VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:VisionFM 能够筛查和诊断多种眼科疾病,并预测疾病的发展趋势。
  2. 技术:通过大规模预训练和多模态多任务学习,VisionFM 展现出强大的泛化能力。
  3. 应用:VisionFM 在眼科临床任务、基层医疗环境和教育培训中具有广泛的应用前景。

正文(附运行示例)

VisionFM 是什么

公众号: 蚝油菜花 - VisionFM

VisionFM(伏羲慧眼)是一个多模态多任务的视觉基础模型,专为通用眼科人工智能而设计。通过预训练 3.4 百万张来自 560,457 个个体的眼科图像,覆盖广泛的眼科疾病、成像模态、设备和人群统计数据。VisionFM 能处理包括眼底摄影、光学相干断层扫描(OCT)、荧光素眼底血管造影(FFA)等在内的八种常见眼科成像模态,应用于眼科疾病识别、疾病进展预测、疾病表型细分以及全身生物标志物和疾病预测等多种眼科 AI 任务。

VisionFM 在诊断 12 种常见眼科疾病方面超越了具有基础和中级水平的眼科医生,在大规模眼科疾病诊断基准数据库上超越了强大的基线深度神经网络。VisionFM 还表现出对新眼科模态、疾病谱系和成像设备的强泛化能力。

VisionFM 的主要功能

  • 疾病筛查和诊断:VisionFM 能够筛查和诊断多种眼科疾病,包括糖尿病视网膜病变、青光眼、老年性黄斑变性等。
  • 疾病预后:模型还能预测疾病的发展趋势和预后。
  • 疾病表型细分:VisionFM 可以进行疾病表型的亚分类,包括病变、血管和层的分割,以及地标检测。
  • 全身生物标志物和疾病预测:除了眼部疾病,VisionFM 还能从眼部图像中预测全身的生物标志物和疾病。
  • 多模态处理能力:VisionFM 能够处理包括眼底摄影、OCT、FFA 在内的八种常见眼科成像模态。
  • 模态无关的诊断:VisionFM 支持模态无关的诊断,即可以用单一解码器诊断不同成像模态中的多种眼科疾病。
  • 少样本学习:VisionFM 展现出少样本学习的能力,能够以高准确度诊断新疾病,即使只有少量的标注样本。
  • 强大的泛化能力:模型对新的眼科模态、疾病谱系和成像设备展现出强大的泛化能力。
  • 合成数据增强学习:VisionFM 还能利用合成的眼科成像数据来增强其表示学习能力,从而在下游眼科 AI 任务上取得显著的性能提升。

VisionFM 的技术原理

  • 大规模预训练:VisionFM 是一个基于深度学习的视觉基础模型,它通过预训练 3.4 百万张来自 560,457 个个体的眼科图像,覆盖广泛的眼科疾病、成像模态、成像设备和人口统计学数据。
  • 多模态多任务学习:VisionFM 能够处理多种眼科成像模态,包括眼底摄影、OCT、FFA 等,并应用于疾病筛查、诊断、疾病预后、疾病表型细分等多种眼科 AI 任务。
  • 专家级智能和准确性:预训练后的 VisionFM 在多个眼科 AI 应用中展现出专家级别的智能性和准确性,其全科智能在联合诊断 12 种常见眼科疾病方面超越了初级和中级眼科医生。

如何运行 VisionFM

1. 安装环境

首先,使用 Conda 创建并激活环境:

conda create -n vfm python=3.8
conda activate vfm

安装依赖项:

git clone https://github.com/ABILab-CUHK/VisionFM.git
cd VisionFM
pip install -r requirements.txt

2. 预训练

2.1. 准备预训练数据集

在研究中,我们使用了 8 种模态:Fundus, OCT, External Eye, UBM, B-Ultrasound, MRI, Silt Lamp, and FFA。每种模态的数据路径应包含所有图像,例如:

.
├── /dst_dir/Fundus/
│   ├── 1.jpg
│   ├── 2.png
│   └── ....
├── /dst_dir/OCT/
│   ├── 1.png
│   ├── 2.jpg
│   └── ...
└── ...

如果没有眼底摄影图像,可以使用以下命令生成随机图像:

cd evaluation
python random_data.py --task pretrain --dst_dir ../dataset/pretrain_random

2.2. 预训练 VisionFM 编码器

训练 vit-base 编码器:

CUDA_VISIBLE_DEVICES=0,1,2,3 nohup python3 -m torch.distributed.launch --nnodes 1 --node_rank 0 --nproc_per_node=4 --master_addr=127.0.0.1 --master_port=29500 main_pretrain.py \
--local-rank=0 \
--data_path ./dataset/pretrain_random \
--modality Fundus \ 
--norm_last_layer true \
--epochs 400 \
--batch_size_per_gpu 12 \
--shared_head true \
--out_dim 8192 \
--output_dir ./results \
--global_crops_scale 0.32 1.0 \
--pred_ratio 0 0.3 \
--pred_ratio_var 0 0.2 \
--name Train_Random_Fundus \
--load_pretrain > train_fundus.log 2>&1 &

3. 训练解码器

3.1. 下载预训练权重

根据需要研究的模态下载相应的模型权重:

Modality Google Drive
Fundus https://drive.google.com/file/d/13uWm0a02dCWyARUcrCdHZIcEgRfBmVA4/view?usp=sharing
OCT https://drive.google.com/file/d/1o6E-ine2QLx2pxap-c77u-SU0FjxwypA/view?usp=sharing
FFA https://drive.google.com/file/d/128izBUNV00Ojb9w9Dq3GhBvhWqzU-mla/view?usp=sharing
Ultrasound https://drive.google.com/file/d/1IlD0snowxdEVvxmiIBZGR0D9uOcrCT2D/view?usp=sharing
External Eye https://drive.google.com/file/d/16zGHTD4ZcGAYW382kKHBw3TU6D1OtvTD/view?usp=sharing
Silt Lamp https://drive.google.com/file/d/1pemWDkGoZYlqLQ6ooFINktyk8xnv9wY_/view?usp=sharing
MRI https://drive.google.com/file/d/1fcfylnOWhfnZHBAKT9pQPufyS5ZYCXu0/view?usp=sharing
UBM https://drive.google.com/file/d/1q2fVOgFBnWNu1BsXaza1A-OIcCiifNUQ/view?usp=sharing

3.2. 训练分类解码器

训练分类解码器的命令如下:

CUDA_VISIBLE_DEVICES=0 nohup python3 -m torch.distributed.launch --nproc_per_node=1 --master_port=29501 evaluation/train_cls_decoder.py \
--name single_cls_debug \
--pretrained_weights ./pretrain_weights/VFM_Fundus_weights.pth \
--output_dir ./results \
--data_path ./dataset/single_cls_random/FundusClassification/ \
--num_labels 5 \
--batch_size_per_gpu 32 > train_single_cls.log 2>&1 &

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
11月前
|
人工智能 IDE API
还在配置规则文件和智能体?Roo Commander:预置90+领域专家,开箱即用的AI编程新体验
Roo指挥官是一款创新AI编程助手,通过智能调度90多位虚拟技术专家,实现对复杂项目的自主规划与高效执行。用户无需手动选择专家或反复调整提示,只需提交需求,系统即可自动分析、拆解任务并协调最合适的技术角色完成开发。文中以构建3D互动简历为例,展示了其从需求分析到项目落地的全流程自动化能力,显著提升开发效率,开启AI驱动的智能化编程新体验。
693 0
|
9月前
|
存储 人工智能 NoSQL
用Context Offloading解决AI Agent上下文污染,提升推理准确性
上下文工程是将AI所需信息(如指令、数据、工具等)动态整合到模型输入中,以提升其表现。本文探讨了“上下文污染”问题,并提出“上下文卸载”策略,通过LangGraph实现,有效缓解长文本处理中的信息干扰与模型幻觉,提升AI代理的决策准确性与稳定性。
1094 2
用Context Offloading解决AI Agent上下文污染,提升推理准确性
|
9月前
|
机器学习/深度学习 数据采集 人工智能
AI能帮我们读懂心事吗?——聊聊人工智能在精神疾病早期诊断中的探索
AI能帮我们读懂心事吗?——聊聊人工智能在精神疾病早期诊断中的探索
273 5
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
AI+基因数据:健康诊断的“未来体检报告”来了
AI+基因数据:健康诊断的“未来体检报告”来了
353 6
|
10月前
|
人工智能 前端开发 Java
构建能源领域的AI专家:一个多智能体框架的实践与思考
本文介绍了作者团队在能源领域构建多智能体(Multi-Agent)框架的实践经验。面对单智能体处理复杂任务时因“注意力发散”导致的效率低下问题,团队设计了一套集“规划-调度-执行-汇总”于一体的多智能体协作系统。
1050 19
|
11月前
|
传感器 存储 人工智能
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
本文由AI产品专家三桥君探讨了AI从被动响应到主动决策的演进路径,重点分析了函数调用和RAG技术在构建AI Agent中的关键作用。文章梳理了大模型能力的迭代(原生能力与涌现能力),技术演进的三个阶段(提示工程→函数调用→RAG),并提出AI Agent需具备环境感知、推理决策和行动执行的核心要素。AI产品专家三桥君认为,未来AGI需突破跨领域学习、实时更新和安全性挑战,最终实现如"贾维斯"般的智能伙伴。
375 1
ChatGPT让AI展现‘智能’魅力,函数调用和RAG如何助力迈向AI Agent?
|
11月前
|
人工智能 架构师 机器人
我是怎么把我的 AI 从“傻瓜”重构成“专家”的
本文分享了一次 Agent 项目的重构经验,讲述如何将一个僵化、被动的指令式系统,升级为具备内在驱动力的“专家”Agent。通过引入“动机层”和“成长机制”,让 Agent 更加主动、灵活并能自我优化,最终实现从“流水线工人”到“资深顾问”的蜕变。
|
人工智能 运维 云计算
专家对谈|AI推动文化传媒行业向“新”发展
随着“人工智能+”行动的深入推进,文化传媒行业正经历深刻变革。云计算与AI深度融合,重构内容生产、分发全流程,为行业注入新动能。预计到2025年,我国AI核心产业规模将破万亿,文化传媒作为技术应用先锋,以两位数增速迈向智能化。在CCBN活动现场,中央广播电视总台与阿里云探讨了大模型如何驱动行业升级,展望未来新图景。汪莹指出,大模型将重构文化消费形态,助力生产力与传播力倍增,推动中国文化走向世界。同时,解决AI应用“最后一公里”问题需产业链各方协同发力,基于现有大模型能力进行二次开发是切实可行路径。
763 4

热门文章

最新文章