news 2026/4/18 5:31:52

眼底疾病智能辅助诊断系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
眼底疾病智能辅助诊断系统

眼底疾病智能辅助诊断系统

1. 项目概述

本项目是一个基于深度学习的眼底疾病智能辅助诊断系统。系统利用计算机视觉技术(主要是 YOLOv11-cls 图像分类模型)对眼底相机拍摄的图像进行自动分析,识别包括正常眼底、糖尿病视网膜病变、青光眼、白内障、老年性黄斑变性(AMD)、高血压视网膜病变、高度近视及其他异常在内的多种眼部状况。

项目旨在为医生提供快速、客观的辅助诊断参考,减轻医疗工作负担,并帮助患者进行初步的眼健康筛查。


2. 技术栈

本项目采用了前后端分离的架构设计,使用了目前主流的开发技术:

后端 (Backend)

  • 语言: Python 3.12
  • 框架: Django 5.2.9 + Django REST Framework (DRF)
  • 深度学习框架: PyTorch, Ultralytics YOLO
  • 图像处理: OpenCV, Pillow (PIL)
  • 数据库: SQLite3 (开发环境) / 可扩展至 PostgreSQL 或 MySQL

前端 (Frontend)

  • 框架: Vue 3 (Composition API)
  • 构建工具: Vite
  • UI 组件库: Element Plus
  • 图表库: ECharts (用于数据可视化)
  • HTTP 客户端: Axios

3. 数据集与算法

3.1 数据集 (Dataset)

数据集来源于公开的眼科医疗影像数据库(如 ODIR 等),经过清洗和标注,主要包含以下类别:

  • Normal (N): 正常眼底
  • Diabetes (D): 糖尿病视网膜病变
  • Glaucoma (G): 青光眼
  • Cataract ©: 白内障
  • 以及 AMD, Hypertension, Myopia, Other 等补充类别。

图解: 上图展示了数据集中各类眼底疾病的样本数量分布情况。了解样本分布对于评估模型的平衡性和泛化能力至关重要。

3.2 核心算法与模型 (Algorithm & Model)

本项目主要使用的核心模型是YOLOv11-cls(You Only Look Once - Classification)。YOLO 系列通常以目标检测闻名,但其分类头(Classification Head)在特征提取方面同样表现优异,具有推理速度快、精度高的特点,非常适合实时性要求较高的医疗辅助诊断场景。

此外,系统架构还支持扩展其他经典卷积神经网络模型,如:

  • MobileNetV2: 轻量级网络,适合移动端部署。
  • EfficientNet-B3: 在参数量和精度之间取得了极佳的平衡。
训练过程可视化

在模型训练过程中,我们通过 Batch(批次)输入图像进行特征学习。

图解: 以上三张图片展示了模型训练过程中,输入到神经网络中的一个 Batch 的图像数据。这些图像经过了预处理(如 Resize、归一化),包含了对应的标签(如 Normal, Cataract 等),模型通过不断学习这些样本来更新权重。


4. 训练与评估 (Training & Evaluation)

4.1 训练结果曲线

图解: 该图展示了模型在训练过程中的各项指标变化曲线:

  • train/loss & val/loss: 训练集和验证集的损失值,随 Epoch 增加而下降,表明模型正在收敛。
  • metrics/accuracy_top1: Top-1 准确率,随训练进行逐渐上升,最终趋于稳定,代表模型预测最可能的类别与真实标签一致的概率。

4.2 混淆矩阵 (Confusion Matrix)

图解: 混淆矩阵是评估分类模型性能的重要工具。

  • 横轴: 预测类别 (Predicted)。
  • 纵轴: 真实类别 (True)。
  • 对角线: 颜色越深数值越大,表示模型预测正确的数量越多。
  • 非对角线: 表示模型预测错误的数量(误判)。例如,如果“Normal”行的“Diabetes”列有数值,说明将正常眼底误判为了糖尿病病变。

5. 数据库设计 (Database Design)

系统使用关系型数据库存储图像记录、诊断结果、训练日志和用户信息。以下是核心数据表的详细设计。

5.1 眼底图像记录表 (api_eyeimage)

用于存储用户上传的眼底图像及其诊断结果。

字段名类型长度非空 (Null)唯一 (Unique)说明
idInteger-NoYes主键,自增 ID
imageVarchar100NoNo图像文件的存储路径 (media/eye_images/…)
uploaded_atDateTime-NoNo记录创建/上传时间,自动生成
predicted_labelVarchar50YesNo模型预测的疾病名称 (如 ‘Diabetes’)
confidenceFloat-YesNo预测置信度 (0.0 - 1.0)
true_labelVarchar50YesNo真实标签 (用于后续人工校对或半监督学习)

5.2 训练日志表 (api_traininglog)

用于记录模型训练过程中的性能指标,用于前端可视化训练进度。

字段名类型长度非空 (Null)唯一 (Unique)说明
idInteger-NoYes主键,自增 ID
model_nameVarchar50NoNo模型名称 (如 ‘mobilenet_v2’)
epochInteger-NoNo当前训练轮次
lossFloat-NoNo损失值
accuracyFloat-NoNo准确率
timestampDateTime-NoNo日志记录时间

5.3 用户表 (auth_user)

Django 内置的用户认证表,用于管理管理员和普通用户。

字段名类型长度非空 (Null)唯一 (Unique)说明
idInteger-NoYes用户 ID
usernameVarchar150NoYes用户名,登录凭证
passwordVarchar128NoNo加密后的密码哈希值
emailVarchar254NoNo电子邮箱
is_superuserBoolean-NoNo是否为超级管理员
is_staffBoolean-NoNo是否允许登录后台
date_joinedDateTime-NoNo注册时间

6. 系统界面与功能 (System Interface & Functions)

6.1 登录与注册

功能:

  • 提供用户身份认证入口,保障系统数据安全。
  • 用户可以通过注册创建新账号,或直接登录进入系统。
  • 支持 Token 认证机制,登录成功后获取访问令牌。

6.2 系统仪表盘 (Dashboard)

功能:

  • 数据概览: 展示系统总样本数、已诊断数量等关键指标。
  • 疾病分布图: 使用 ECharts 饼图/柱状图直观展示当前数据库中各类眼底疾病的比例。
  • 快捷入口: 提供快速跳转至诊断、历史记录等核心功能的卡片。

6.3 智能诊断 (Model View)

功能:

  • 图像上传: 用户可上传本地眼底图像。
  • 实时预测: 后端模型实时处理图像,返回预测结果。
  • 结果展示:
    • 显示预测的疾病类别(如“糖网病变”)。
    • 显示置信度条(Confidence),直观反映模型的确信程度。
    • 提供针对性的医疗建议(Suggestion)。
  • 可视化: 同时展示模型训练的混淆矩阵和训练结果图,增强用户对模型性能的信任。

6.4 历史诊断记录

功能:

  • 记录归档: 自动保存每一次诊断的图像、结果、置信度和时间。
  • 多维筛选: 支持按疾病类型(如只看“青光眼”)、日期范围进行筛选。
  • 视图切换: 提供“列表视图”和“卡片视图”两种展示方式。
  • 数据管理: 支持单条删除和批量删除操作。

6.5 个人中心

功能:

  • 展示当前登录用户的基本信息(用户名、邮箱、角色)。
  • 提供修改密码功能。
  • 显示用户的最后登录时间。

6.6 用户管理 (管理员专属)

功能:

  • 仅管理员权限可见。
  • 用户列表: 查看系统中所有注册用户的信息。
  • 权限控制: 可以将普通用户提升为管理员,或禁用违规账号。
  • 账号维护: 支持删除用户或重置用户信息的后台操作。

7. 总结

本系统通过整合先进的深度学习算法与现代化的 Web 开发技术,构建了一个功能完备、交互友好的眼底疾病辅助诊断平台。从底层的数据库设计到前端的可视化交互,再到后端的模型推理,各环节紧密配合,能够有效地辅助医生进行筛查工作,具有较高的实用价值和扩展潜力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 21:54:40

网络安全从业人员2026年后真的没有活路了吗?

Trend Micro 最新预测指,2030年人工智能( AI)将取代人类在网络安全(Cybersecurity )的作用。 大约四分之一(24%)IT领导者声称,到2030年, 数据访问将与生物识别或DNA数据绑定在一起,…

作者头像 李华
网站建设 2026/4/16 14:36:45

6.2 多Agent协作与任务流编排

6.2 多Agent协作与任务流编排 在上一节课中,我们学习了AI Agent的核心原理和复杂任务自动化的设计模式。本节课我们将深入探讨多Agent系统中的协作机制和任务流编排技术,这是构建复杂AI应用的关键技术之一。 多Agent系统概述 多Agent系统(Multi-Agent System, MAS)是由多个…

作者头像 李华
网站建设 2026/4/17 13:32:06

6.2 架构洞察:逆向工程Claude Code与Codex

6.2 架构洞察:逆向工程Claude Code与Codex 在上一节中,我们深入探讨了AI Agent的核心原理和架构设计。现在,我们将通过逆向工程的方法,分析两个业界领先的AI编程工具——Claude Code和OpenAI Codex的架构设计和实现原理,从中汲取经验,为构建自己的AI Agent系统提供参考。…

作者头像 李华
网站建设 2026/4/15 12:57:06

6.4 实战项目:基于Agent内核构建Code Review智能体

6.4 实战项目:基于Agent内核构建Code Review智能体 在前三节课中,我们学习了AI Agent的核心原理、多Agent协作机制以及Claude Code和Codex的架构分析。本节课我们将通过一个完整的实战项目,构建一个基于Agent内核的Code Review智能体,深入实践前面学到的知识。 项目概述 …

作者头像 李华
网站建设 2026/4/12 22:57:41

SAP 销售凭证中利润中心的自动维护

结论:无维护明细字段(profit_ctr)时根据仓去匹配物料主数据配置的利润中心现象:调用bapi SD_SALESDOCUMENT_CREATE 时没有维护字段值 profit_ctr ,生成的销售凭证有利润中心。VA03:是根据仓维护的物料主数据自动匹配的…

作者头像 李华
网站建设 2026/4/17 16:17:33

[N_121]基于微信小程序网上书城系统

开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springbootmybatisredis 本系统分微信小程序和管理后台两部分&a…

作者头像 李华