摘要:光学相干断层扫描血管成像(OCTA)技术能够无创地获取视网膜血管的三维结构信息,在眼科疾病诊断中具有重要应用价值。视网膜新生血管是多种眼底疾病的共同病理特征,其早期发现和准确诊断对于预防视力损害至关重要。然而,传统的人工阅片方式依赖医生的经验,耗时且主观性强,难以满足临床大规模筛查的需求。因此,开发基于深度学习的OCTA图像新生血管自动检测系统具有重要的临床意义和应用价值。
项目概览
项目简介
本研究构建了一个包含544张OCTA眼底血管图像的数据集,其中阳性样本193张,阴性样本351张,按照74:16:10的比例划分为训练集、验证集和测试集。采用ResNet50深度残差网络作为特征提取骨干,利用ImageNet预训练权重进行迁移学习,通过包含Dropout正则化(丢弃率0.5)和双层全连接网络(2048→512→2)的分类器实现二分类。模型训练采用交叉熵损失函数结合自动计算的类别权重处理样本不均衡问题,使用Adam优化器(学习率1e-4,权重衰减1e-4)和余弦退火学习率调度策略,并设置早停机制(patience=10)防止过拟合。为全面评估模型泛化能力,采用5折交叉验证方法进行严格测试,同时开发了基于PyQt5的图形用户界面系统,实现了模型的可视化临床应用。
实验结果表明,本研究提出的方法在5折交叉验证中取得了优异的性能,平均准确率达到96.93%,敏感度为94.07%,特异度为98.67%,AUC-ROC达到0.9812,接近完美分类水平。各fold之间的性能波动很小(AUC标准差仅为1.83%),充分证明了模型的稳定性和泛化能力。开发的可视化系统支持单张和批量图像检测,能够实时显示检测结果和置信度,提供了直观的图像预览、历史记录查询和检测报告导出功能,为临床医生提供了便捷的辅助诊断工具。本研究为OCTA图像的智能分析提供了有效的解决方案,具有良好的临床应用前景。
系统架构
本系统采用ResNet50深度残差网络(50层)作为特征提取骨干,通过加载ImageNet预训练权重进行迁移学习,模型首先将输入的400×640像素OCTA图像调整为224×224标准尺寸并进行归一化处理,经过ResNet50的5个残差阶段提取得到2048维深度特征向量,随后通过自定义分类器(Dropout层丢弃率0.5 → 全连接层2048→512 → ReLU激活 → Dropout层丢弃率0.3 → 全连接层512→2)输出二分类logits,训练采用交叉熵损失函数配合基于样本比例自动计算的类别权重(阳性:阴性≈1.29:0.82)处理数据不均衡,使用Adam优化器(学习率1e-4,权重衰减1e-4,批次大小32)和余弦退火学习率调度器(周期50轮,最小学习率1e-7),设置早停机制(连续10轮验证准确率无提升则停止)和混合精度训练加速收敛,最终通过Softmax层输出各类别置信度概率,同时开发了基于PyQt5的完整图形用户界面,集成模型加载、图像批量导入、实时预览、智能检测、结果统计可视化和检测报告导出等功能模块。

图1 系统架构图
技术创新
创新点1:针对小规模医学图像的迁移学习优化策略
针对OCTA医学图像数据集规模有限(544张)且正负样本不均衡(阳性193:阴性351,比例约1:1.8)的实际情况,本研究充分利用ResNet50在ImageNet大规模自然图像数据集上学习到的通用视觉特征,通过精心设计的双层全连接分类器(2048→512→2)配合两级Dropout正则化(0.5和0.3)实现从自然图像特征到医学图像特征的有效迁移,同时采用基于样本比例自动计算的类别权重(权重比约1.29:0.82)和丰富的在线数据增强策略有效解决样本不足和类别不均衡问题,使模型在有限数据条件下仍能在保持高特异度(98.67%)的同时实现高敏感度(94.07%)。
创新点2:基于5折交叉验证的严格性能评估体系
不同于多数研究仅报告单次随机划分的训练结果,本研究采用严格的5折交叉验证方法对模型性能进行全面评估,将全部544张图像分为5个互不重叠的子集,每次使用4个子集(约435张)作为训练数据、1个子集(约109张)作为验证数据,通过5次独立训练获得5组性能指标并计算均值和标准差,每次训练均采用完全相同的超参数配置确保评估的公平性和可比性,最终获得更加可靠和具有统计意义的性能评估(准确率96.93%±2.14%,AUC 0.9812±0.0183),各fold间的低标准差(AUC仅1.83%)充分证明了模型的稳定性和泛化能力。
创新点3:完整的临床导向型检测系统
开发了一套从数据管理、模型训练、性能评估到临床应用的端到端完整解决方案,包括规范化的训练流程(配置文件驱动training/config.yaml、TensorBoard实时监控、自动模型检查点保存)、科学的评估方法(交叉验证、多指标综合评价、可视化对比分析)以及专门针对临床使用场景设计的PyQt5图形用户界面系统,系统提供模型一键加载、支持多种格式图像批量导入(BMP/JPG/PNG)、实时图像预览和智能检测、分类统计和置信度展示、历史检测记录管理以及格式化检测报告导出等完整功能,显著降低了AI技术的使用门槛。
数据集
本研究构建的OCTA新生血管数据集包含544张高质量眼底血管图像(400×640像素),其中阳性样本(有新生血管)193张,阴性样本(无新生血管)351张,数据按照约74:16:10的比例划分为训练集(403张,阳性156张/阴性247张)、验证集(85张,阳性30张/阴性55张)和测试集(56张,阳性7张/阴性49张),训练过程采用水平翻转、垂直翻转、随机旋转、亮度调整、对比度增强等多种数据增强技术动态扩充训练样本,所有图像均经过专业医生标注和审核,确保了数据集的质量和可靠性。
模型训练
../training/train_model.py
单次训练结果

图2 训练过程综合展示

图3 单次训练最终性能
交叉验证结果
../scripts/cross_validation.py

图4 平均性能

图5 5折对比

图6 性能分布
快速开始
安装依赖(pip install -r requirements.txt)后,准备数据集于data/train/val/test目录,运行训练脚本(python training/train_model.py)训练模型或加载预训练权重(checkpoints/best_model.pth),启动GUI系统(python gui/main_application.py)进行检测。
环境要求
Python 3.8+,依赖PyTorch 1.12+、torchvision 0.13+、PyQt5 5.15+、NumPy、Pillow等,支持CPU/GPU,推荐8GB+内存和NVIDIA GTX 3060+显卡。
运行展示

图7 系统主界面

图8 模型加载成功

图9 单张图像:有新生血管

图10 单张图像:无新生血管

图11 单张图像:有新生血管检测报告

图12 单张图像:无新生血管检测报

图13 单张图像:有新生血管检测报告导出成功

图14 批量图像检测结果

图15 批量图像检测报告

图16 批量图像检测报告导出成功
项目资源
配套文档
点击查看:基于深度学习的OCTA图像新生血管自动检测研究 注意:收费提供!
配套文件
包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息
作者信息
作者:Bob (张家梁)
项目编号:AI-81-P
原创声明:本项目为原创作品
联系方式

开源协议
本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。


评论(2)