摘要:指甲作为人体健康的”晴雨表”,其形态和颜色变化可反映多种系统性疾病的早期信号。传统指甲疾病诊断依赖于专科医生的临床经验,存在主观性强、诊断效率低、专家资源稀缺等问题。

项目概览

项目简介

指甲作为人体健康的”晴雨表”,其形态和颜色变化可反映多种系统性疾病的早期信号。传统指甲疾病诊断依赖于专科医生的临床经验,存在主观性强、诊断效率低、专家资源稀缺等问题。本研究旨在开发一种基于深度学习的指甲疾病智能辅助诊断系统,为临床诊断提供客观、快速的参考依据。

本系统采用迁移学习策略,以预训练的 VGG16 卷积神经网络为基础架构,通过对最后的全连接层进行微调,实现对 17 种常见指甲疾病的分类识别。系统使用 PyTorch 深度学习框架构建,数据集包含 838 张指甲图像(训练集 655 张,测试集 183 张),涵盖达里埃病、博氏线、杵状指、甲剥离等 17 类疾病。训练过程采用 Adam 优化器,设置学习率为 0.001,批次大小为 10,训练 30 个 epoch。为防止过拟合,采用早停机制(patience=5)和学习率动态调整策略。系统同时开发了基于 PyQt5 的桌面应用程序和基于 Flask 的 Web 应用程序,实现了图像上传、智能分析、结果展示和治疗建议等功能。

经过训练,模型在测试集上达到 96.72% 的分类准确率,训练损失收敛至 0.0929。在 CUDA GPU 加速下,单张图像的推理时间约为 0.38 秒,满足实时诊断需求。系统为每种疾病提供了详细的治疗方案建议,包括基础治疗、系统治疗、日常护理和专科就诊指导。用户界面设计采用现代化的三栏布局,集成了操作引导、图像预览、实时进度显示和诊断结果可视化等功能,提供了良好的用户体验。

系统架构

本系统采用分层架构设计,由数据层、模型层、业务逻辑层和表示层四部分组成:数据层负责指甲图像的存储、加载和预处理,使用 torchvision transforms 实现图像标准化和数据增强;模型层基于 VGG16 卷积神经网络,通过迁移学习策略冻结特征提取层,仅训练自定义的全连接分类层,实现 17 种疾病的智能识别;业务逻辑层封装模型推理、置信度计算和治疗方案匹配等核心功能,采用 PyTorch 框架实现 GPU 加速推理;表示层提供 PyQt5 桌面应用和 Flask Web 应用双端支持,采用多线程异步处理机制确保界面流畅响应,并通过可视化组件展示诊断结果、置信度和个性化治疗建议,整体架构具有高内聚、低耦合的特点,便于维护和扩展。

图1 系统架构图

技术创新

创新点1:实现基于 VGG16 迁移学习的多分类指甲疾病智能诊断系统

本研究首次将 VGG16 深度卷积神经网络的迁移学习方法应用于指甲疾病的多分类诊断领域,实现了对 17 种常见指甲疾病的高精度自动识别(准确率 96.72%)。不同于传统的单病种识别或简单的二分类方法,本系统能够同时区分包括达里埃病、博氏线、杵状指、甲剥离等在内的 17 种疾病类型,填补了指甲疾病智能诊断领域多分类系统的空白。

创新点2:集成诊断与治疗建议的一体化智能医疗辅助平台

本系统不仅提供疾病诊断功能,更创新性地集成了基于疾病类型的个性化治疗方案推荐模块,构建了从”图像输入→智能诊断→治疗建议→专科引导”的完整闭环医疗辅助流程。系统为每种疾病建立了详细的治疗知识库,包括基础治疗、系统治疗、日常护理、监测要求和专科就诊建议,并根据诊断置信度动态调整建议的详细程度,实现了智能诊断与临床决策支持的深度融合。

数据集

本研究使用的指甲疾病图像数据集共包含 838 张高质量医学影像,涵盖达里埃病、博氏线、杵状指、甲剥离等 17 种常见指甲疾病类型。数据集按照 78:22 的比例划分为训练集(655 张)和测试集(183 张),各类别样本数量在 25-72 张之间,呈相对均衡分布,其中裂片状出血样本最多(72 张,占 8.59%),全白甲样本最少(25 张,占 2.98%),最多与最少类别比例为 2.88:1。所有图像均经过专业医学人员审核标注,确保诊断准确性,并统一调整至 224×224 像素用于模型训练。训练过程中采用随机旋转(±20°)、随机水平翻转、颜色抖动(亮度和对比度各±20%)等数据增强策略,并使用 ImageNet 标准参数(均值=[0.485, 0.456, 0.406],标准差=[0.229, 0.224, 0.225])进行归一化处理,以提升模型的泛化能力和鲁棒性。基于该数据集训练的 VGG16 模型在测试集上达到了 96.72% 的分类准确率,充分验证了数据集的质量和代表性。

模型训练

运行model_training.py

图2 训练与验证曲线

快速开始

克隆项目后,使用 pip install -r requirements.txt 安装依赖,将预训练模型文件放置到 model/ 文件夹,然后运行 python nail_diagnosis_gui.py 即可启动桌面应用进行指甲疾病智能诊断(如需训练模型,准备数据集后执行 python model_training.py 即可)。

环境要求

本系统基于 Python 3.8+ 开发,需要安装 PyTorch 2.0.1、PyQt5 5.15.9 等深度学习和图形界面框架,推荐使用 NVIDIA GPU(CUDA 11.8+)以获得最佳训练和推理性能,最低硬件配置为 4GB RAM 和 5GB 可用磁盘空间。

运行展示

运行nail_diagnosis_gui.py

图3 主界面

图4 诊断:斑秃相关甲改变

图5 诊断:博氏线

图6 诊断:蓝甲

图7 诊断:杵状指

图8 诊断:达里埃病

图9 诊断:湿疹性指甲病

图10 诊断:半半甲

图11 诊断:匙状甲

图12 诊断:白甲症

图13 诊断:米尔克线

图14 诊断:甲剥离

图15 诊断:苍白甲

图16 诊断:红色甲半月

图17 诊断:甲下裂片状出

图18 诊断:特里甲

图19 诊断:白色甲

图20 诊断:黄甲综合症

项目资源

配套文档

点击查看:基于深度学习的指甲疾病早期智能诊断系统的设计与实现:采用VGG16卷积神经网络的迁移学习方法 注意:免费提供!

配套文件

包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息

作者信息

作者:Bob (张家梁)
项目编号:AI-28-P
原创声明:本项目为原创作品

联系方式

开源协议

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

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知