基于深度学习与大模型融合的皮肤病智能问答系统研究与搭建
2025-10-03 08:34 tlnshuju 阅读(0) 评论(0) 收藏 举报随着皮肤病发病率的逐年上升,早期精准诊断和科学治疗成为临床诊疗的重要课题。传统的依靠人工诊断,在面对复杂的皮肤病变时,诊断主观性较强、误诊率高、医生资源紧缺等问题,因此系统设计并实现了一种基于深度学习的皮肤病症智能问答平台,将图像识别和自然语言问答两大核心模块相结合,旨在帮助医生提高诊断效率和准确率,同时也为用户给出初步的智能问诊服务。
作者:Bob(原创)
环境配置
开发工具:
– PyCharm的安装包:PyCharm: Python IDE for Professional Developers
– PyCharm的历史安装包:PyCharm: Python IDE for Professional Developers
– Anaconda的安装包:Anaconda | Start Coding Immediately
语言环境:Python == 3.9
研究背景
皮肤病是发病率较高的一类常见疾病,其中部分严重病例可能发展为皮肤癌。例如,黑色素瘤是一种高度恶性且致死率极高的皮肤病;即使是鳞状细胞癌、基底细胞癌等致死率较低的皮肤恶性病变,也具有一定的局部侵袭能力,可能从皮肤表面或深层扩散至身体其他部位,造成严重的组织损伤甚至威胁生命。据世界卫生组织统计,皮肤癌病例占全球所有癌症的三分之一,每年新增病例超过三百万例,且仍呈持续上升趋势。
然而,皮肤科专业医生数量有限,临床工作负担较重。许多皮肤病在外观上具有高度相似性,再加之医生经验差异与视觉疲劳等客观因素,极易导致误诊或漏诊。有研究表明,若黑色素瘤能够在早期被识别并及时治疗,其五年生存率可高达 99%;若延误诊断,该生存率则可能骤降至 23%。这进一步凸显了早期、准确识别的重要性。
在此背景下,计算机辅助诊断系统(Computer-Aided Diagnosis,CAD)逐渐成为临床诊疗的重要辅助工具。凭借图像处理与模式识别科技,CAD系统能够自动从皮肤病变图像中提取关键特征,辅助医生进行智能化判断,既能减轻医生负担,也能提升诊断的准确性与效率。但传统图像处理方式流程复杂、特征表达能力有限,难以全面捕捉皮肤病灶的困难特征。
深度学习技术的快速发展为皮肤病智能识别献出了新思路。卷积神经网络(Convolutional Neural Networks, CNN)在医学图像分析中表现出色,能够自动提取多层次的特征信息,从而显著提高分类与识别性能。然而,性能优越的神经网络模型往往依赖大量高质量标注数据,而医学图像素材普遍存在稀缺性与敏感性,这成为深度学习模型在医学应用中的主要瓶颈。
为了满足临床对皮肤病图像智能识别的需求,本设计拟构建一套融合图像识别与自然语言问答作用的智能辅助诊断系统。该架构旨在改善医生对皮肤病变的早期识别能力,并为临床实践提供高效可靠的辅助工具,具有重点的研究意义与应用价值。
本项目基于YOLOv8的目标检测技能,结合PySide6、MySQL和LangChain,通过onnx部署训练好的模型,设计并实现了一个智能的皮肤病检测系统。系统不仅可以进行实时的皮肤病检测,还能通过数据库搜索与大语言模型进行问答交互,帮助用户获取更详细的皮肤病信息。
算法概述
YOLOv8由Ultralytics公司于2023年1月10日正式开源,是继YOLOv5之后的重要更新版本。目前,YOLOv8不仅支持图像分类、目标检测和实例分割等任务,在尚未开源前便已引起研究者和开发者的广泛关注。作为一种最新的SOTA(State-of-the-Art)模型,YOLOv8在继承前几代YOLO系列成功经验的基础上,引入了多项关键改进,包括全新的骨干网络(Backbone)、Anchor-Free检测头以及优化后的损失函数,从而进一步提升了模型在精度、速度和灵活性方面的综合性能。该模型能够在从CPU到GPU的多种硬件平台上搭建高效运行,具备良好的跨平台适配性。
需要指出的是,Ultralytics并未将开源库单独命名为“YOLOv8”,而是统一以“ultralytics”命名。这一命名策略体现了该库的定位差异:它并不仅限于YOLO系列模型,而是作为一个通用的算法框架存在。该框架强调可扩展性,旨在支持包括YOLO及非YOLO系列在内的多类模型,覆盖分类、分割、姿态估计等多种计算机视觉任务,从而为研究和应用提供更加灵活的工具支持。
图1 YOLOv8 网络结构图
YOLOv8是YOLO系列中的最新版本,在目标检测与实例分割任务中相较现有模型展现出全面优势。其设计充分借鉴了YOLOv5、YOLOv6、YOLOX等模型的结构优点,并在此基础上进行了系统性的优化与改进。在保持YOLOv5工程化简洁性与易用性的同时,YOLOv8对网络结构进行了全面升级,有用提升了模型的精度、速度和泛化能力,从而在多个计算机视觉基准任务中完成了更优的综合性能。
图2 YOLO系列模型在COCO信息集上的性能对比图
通过如下表所示,基于 COCO Val2017 数据集对 YOLOv5 与 YOLOv8 在 mAP、参数量(Params)及计算量(FLOPs) 等指标上进行了对比。从结果能够看出,YOLOv8 在精度方面较 YOLOv5 有显著提升。然而,在 n、s、m 等中小规模模型上,参数量与 FLOPs 较 YOLOv5 明显增加,同时在大多数规模下模型的推理速度有所下降。
表1 YOLOv5 与 YOLOv8 模型规模对比图
需要指出的是,目前各类 YOLO 系列算法的性能提升主要集中体现在 COCO 等通用内容集 上,而在 特定领域或自定义数据集 上的泛化能力尚未得到充分验证。因此,其在实际应用场景中的可靠性与稳健性仍有待进一步评估与优化。
系统设计
本系统主要应用于皮肤病图像的智能识别与问答交互,整体采用“图像输入 + 模型推理 + 结果展示 + 智能问答”的一体化模式,分为图像输入模块、深度学习推理模块、问答系统模块和可视化交互模块。系统前端支持皮肤病图像上传、症状文本输入与结果展示,后端集成训练好的 YOLOv8 检测模型和百度千帆大语言模型。YOLOv8 模型用于病灶检测与分类,具备精度高、速度快和跨平台部署等优势;千帆大模型结合本地医学知识库,实现自然语言理解和多轮问答交互。整体环境具有准确性高、交互性强和扩展性好的特点,适用于临床辅助诊断、公众健康咨询与医学教育等场景。
图3 基于YOLOv8与千帆大模型的皮肤病智能问答平台架构
在系统运行流程中,用户第一通过图形界面上传待分析的皮肤病图像或输入相关症状描述。对于图像材料,系统将其传递至 YOLOv8 推理引擎,由模型自动搞定病灶区域的检测与分类,并输出定位框、类别标签及对应的置信度评分;对于文本输入,系统调用百度千帆大语言模型结合本地知识库,对用户的症状描述进行语义解析并生成诊疗建议。最终结果在界面上以图像标注和文本说明的形式同步呈现,既方便医生直观获取皮肤病灶的关键信息,也便于普通用户获得初步的就医参考,从而提升诊断效率与交互体验。
数据库设计
本系统使用 MySQL 8.0.40 版本作为数据库管理系统(DBMS)来支持皮肤病智能诊断系统。MySQL 作为一个高效的开源关系型数据库管理系统,能够处理大量的数据查询和存储需求,尤其在需要高性能、数据一致性和复杂查询的环境下表现良好。本设计通过合理的数据库结构存储皮肤病检测记录、皮肤病种类信息及相关的查询结果,并献出高效、可扩展的数据处理能力。
环境数据库设计目标
本架构的数据库设计目标是通过高效的存储与索引、灵活的数据查询、动态更新与集成,以及严格的安全性与隐私保护,确保皮肤病检测内容的准确性、实时性和合规性。
表1 数据库设计目标概述
数据库表设计
表1:皮肤病检测记录 (detect_family)
该表用于存储每次皮肤病检测的详细记录,包含图像、检测到的皮肤病类型、检测得分及检测日期。
表2 皮肤病检测记录表结构
表3 皮肤病检测记录字段功能说明
表2:皮肤病检测记录(detect_pest)
该表专注于存储与皮肤病种类相关的检测数据,可以记录不同类型的皮肤病及其相关置信度。
表4 皮肤病检测记录表结构
表5 皮肤病检测记录字段功能说明
表3:皮肤病种类信息 (pest_info)
该表存储皮肤病的种类信息,提供详细的皮肤病描述,供系统查询和展示。
表6 皮肤病种类表结构
表7 皮肤病种类字段功能说明
大模型问答
ChatLLM模块运用LangChain提供的预训练大语言模型(本计划启用的是百度千帆Yi-34B-chat),实现基于自然语言的问答能力。用户允许利用与模型进行对话,获取与皮肤病相关的详细信息、处理建议等。该模块通过将强大的自然语言理解能力与深度学习技术相结合,为用户提供智能化的查询与诊疗承受。
1.大语言模型集成
在本平台中,Yi-34B-chat 是核心的大语言模型,集成了 LangChain 平台的自然语言处理技术。该模型经过大规模文本信息的预训练,能够处理困难的自然语言问题,提供高质量的问答服务。无论是皮肤病的症状分析、处理方法,还是治疗方案的建议,Yi-34B-chat 都能够生成精确的答案,并为用户供应智能化的交互体验。
(1)模型选择与应用
由百度千帆团队编写的一款大型语言模型,专注于多轮对话和高质量的问答服务。该模型在大规模的语料库上进行预训练,具备强大的语言理解和生成能力,能够处理各种复杂的自然语言输入。就是我们启用的 Yi-34B-chat 模型
(2)结合LangChain框架
LangChain 是一个专为大语言模型设计的开发框架,它使得与大语言模型的集成更加简便,并通过管理对话历史和上下文,提升了多轮对话的表现。
(3)应用场景
皮肤病智能问答:用户通过输入症状,Yi-34B-chat 模型能够分析并生成相关的诊疗建议、病因分析、治疗方法等。在皮肤病领域,此种能力尤为重要,源于它能够支援用户快速获取医学建议,特别是在初步诊断时给予专业的援助。
医生辅助诊断:医生可以通过与系统的互动,快速获得症状分析与诊断建议,系统根据用户提供的详细症状数据,生成个性化的治疗方案和推荐。这大大提升了诊断的效率并为医生节省了时间。
患者健康咨询:患者允许直接与系统对话,询问与皮肤病相关的症状及处理方法。经过与 Yi-34B-chat 的对话,患者能够获得详细的病情分析和健康指导,帮忙其更好地理解病情。
多轮对话的灵活性:在多轮对话中,框架能够随着对话的深入逐步完善其诊断建议。随着用户给予更多的症状细节,架构能够自动调整回答,生成更精确的处理建议。
2.问答流程与技术
问答流程与技能通过对用户输入的自然语言进行解析,结合多轮对话管理和模型推理,生成精准的诊疗建议,并在持续对话中提供个性化的响应与优化。
ChatLLM(大语言模型问答)模块通过使用百度千帆Yi-34B-chat大语言模型和LangChain框架,能够为用户提供智能、专业的皮肤病诊断与治疗建议。通过集成多轮对话、自然语言理解与生成功能,系统不仅可以帮助医生快速判断症状,还能够为患者供应健康咨询。依据微调模型,平台将通用模型转化为专用皮肤病诊断模型,进一步提高了诊断的准确性和个性化服务。
数据集构建
1.内容来源
本体系所使用的皮肤病图像数据主要来源于 ISIC(International Skin Imaging Collaboration)数据库。该数据库由多家国际医学机构与研究组织共同建立,旨在构建大规模、标准化的皮肤影像资源,以推动人工智能在皮肤病辅助诊断中的研究与应用。
表2 ISIC 数据集主要信息
ISIC 数据库持续收集来自临床实际环境的高清皮肤镜图像,并配有专业的人工标注信息,覆盖多种皮肤病类型。其中既包含色素痣、脂溢性角化等良性病变,也涵盖黑色素瘤、基底细胞癌、鳞状细胞癌等恶性病变,具有类别丰富、标注规范和研究价值高的特点。
图4 ISIC数据集图片
本研究在对原始皮肤病图像数据进行清洗与筛选后,共构建得到六个类别的皮肤病数据集。其类别分布整体较为均衡,涵盖了常见的良性病变与典型的恶性病变,能够较全面地反映临床实际情况。其中,日光性角化病(Actinic keratosis)与特应性皮炎(Atopic Dermatitis)多被视为炎症性或癌前病变;皮肤纤维瘤(Dermatofibroma)与色素痣(Melanocytic nevus)主要属于良性病变,临床发病率较高且危害程度相对较低;而黑色素瘤(Melanoma)与鳞状细胞癌(Squamous cell carcinoma)则为典型的高危恶性肿瘤,具有明显的侵袭性和转移潜能。该数据集在良性与恶性病变样本之间保持了较为合理的比例分布,为后续基于 YOLOv8 的皮肤病灶检测与分类模型训练提供了坚实的数据基础。
2.标注方法
ISIC(International Skin Imaging Collaboration)数据集不仅提供皮肤镜图像,还包含由专业皮肤科医生或病理学专家完成的标注信息。其 分类标注(Classification Labels) 以诊断标签的形式体现,每张图像均对应一个明确的皮肤病类别,如色素痣(Melanocytic nevus)、黑色素瘤(Melanoma)、基底细胞癌(Basal cell carcinoma)等。为确保标注结果的可靠性,该过程通常由多名皮肤科专家独立完成,并通过共识机制(consensus review)进行交叉验证,从而有效降低个体差异带来的偏差,提升数据标注的准确性与权威性。
(1)YOLO 图像目标检测标注格式
该标注格式主要用于目标检测任务,常见于 YOLOv8 等深度学习模型的训练。其方法是对图像中的病灶区域进行边界框标注,并将其转换为 YOLO 统一的归一化形式(class, x_center, y_center, width, height)。这种标注方式能够保证数据与模型在训练与推理过程中的高效匹配,从而提升目标检测与分类的准确性。
(2)信息集划分
标注后的数据集不仅包括图像文件,还包含对应的标注信息。经过上述所有步骤处理和验证后的图像数据被划分成训练集、验证集和测试集,形成最终的数据集,用于算法训练学习模型。
图5 材料集划分:测试集、验证集和训练集
以下是数据集的具体含义及每个资料集的作用:
表3 数据集概述
模型训练
YOLOv8 是一种常用于目标检测任务的深度学习模型。其训练过程重要包括以下几个步骤:配置文件与超参数的设置、训练过程的执行以及训练结果的可视化分析。
图6 YOLOv8 模型训练流程图
1.配置文件与超参数设置
以下是关于 YOLOv8 模型训练过程中的配置文件和超参数设置,使用 ultralytics 库下的 YOLO 模型加载预训练模型,并通过配置文件以及相关参数进行训练设置。
表4 YOLOv8 模型训练超参数设置
2.模型性能评估
在 YOLOv8 模型的训练过程中,模型性能评估是衡量其在特定任务中表现的重要环节,能够全面反映模型在目标检测与分类等方面的能力。科学而准确的评估不仅有助于揭示模型的优势与不足,还能为后续的改进与优化提供可靠依据。
(1)YOLOv8模型训练过程中的损失与评估指标可视化
图7 YOLOv8 模型训练与验证过程的损失函数及性能指标曲线
分析:随着训练轮次的增加,各项损失逐渐收敛,Precision、Recall 与 mAP 指标持续提升,表明模型训练过程稳定且性能优良。
(2)F1-置信度曲线(F1-Confidence Curve)
图8 F1-置信度曲线图
分析:这张图展示了不同类别的F1得分随置信度变化的曲线,表明随着置信度的提高,模型在所有类别上的预测表现趋于稳定,并且在高置信度下表现最佳,尤其是“日光性角化病”类别。
(3)精确度-置信度曲线(P_curve)
图9 精度-置信度曲线图 (Mask)
分析:这张图展示了“精度-置信度曲线”,表明随着模型置信度的增加,精度逐渐提升,尤其是在“所有类别”的表现上,精度接近1,表明出高置信度下模型的预测准确性。各类别的精度曲线差异较小,但“日光性角化病”和“特应性皮炎”在低置信度时表现较好。
(4)召回率-置信度曲线(R_curve)
图10 召回率-置信度曲线图 (Mask)
分析:这张图展示了随着置信度增加,模型在所有类别上的召回率逐渐下降,表明高置信度预测时模型更保守,漏掉了部分正类样本。
(5)精确度-召回率曲线(PR_curve)
图11 精度-召回率曲线图 (Mask)
分析:这张图展示了模型在不同召回率下的精度表现,所有类别的曲线接近右上角,表明模型在高召回率下保持了较高的精度,整体表现优异。
(6)混淆矩阵(Confusion Matrix)
图12 混淆矩阵图
分析:这张混淆矩阵显示了模型在大多数类别上表现出色,但背景类的误分类较多,特别是在将背景预测为“Actinic keratosis”时。
(7)指标对比雷达图(Radar Chart of Evaluation Metrics)
图13 各类别 mAP@0.5 指标对比雷达图
各类别在 mAP@0.5 指标上的表现均接近 1,说明模型在不同皮肤病检测任务中都具备较高的准确性和稳定性。
(8)训练日志(Training Log)
训练日志记录了模型在训练过程中的详细信息,包括训练轮数、每轮的损失值、验证结果以及推理时间等,帮助评估模型的训练效果和性能。
图14 训练日志
表4 模型训练日志概要
在mAP50-95上表现优异(接近100%)。推理速度保持在1.7毫秒左右,后处理时间为1.2毫秒,显示了较高的处理效率。此外,模型在多个类别上的精度和召回率也达到了很高的水平。就是从该日志输出来看,模型在训练过程中表现良好,达成了150个epoch,并且在验证集上取得了不错的结果,特别
简而言之,模型在训练和验证阶段都表现出色,并且具备较高的推理效率。
模型推断
训练完成后,模型会生成一个最佳训练结果文件 best.pt,该文档保存在 runs/detect/train/weights 目录下。我们可以使用该文件进行后续的推理检测,imgTest.py 是用于加载训练好的模型并对图片进行推理检测的脚本文件。
图15 YOLOv18 Detection Result
在这张图像中,YOLOv8模型成功识别出了“Melanocytic nevus”(黑色素痣),并为该区域给予了置信度评分为0.90,表明模型对该检测结果有较高的信心。边框准确地框住了病变区域,模型的表现良好,适合在医学影像分析中使用。
表5 模型推理表
YOLOv8模型在推理过程中表现出良好的速度和高效性,能够快速且准确地识别皮肤病变图像中的“Melanocytic nevus”(黑色素痣),适合在医学影像分析中利用。
功能展示
本系统深度学习与大模型融合的皮肤病智能问答系统框架,献出了多种检测与结果呈现方式,能够满足科研与临床的多样化需求。以下为主要效果界面展示:
1. 系统主界面展示
该界面展示了一个深度学习皮肤病智能诊断系统的主界面,集成了模型选择、检测精度调整和实时检测等功能,用户可通过直观的操作进行图像、视频检测及结果展示。
图16 深度学习皮肤病智能诊断系统主界面
2. 图片检测功能
帮助对单张皮肤病图像进行快速检测。系统能够自动识别正常皮肤或异常病变区域,并给出置信度评分。检测结果以边框和文字提示的方式直观呈现,帮助医生快速做出诊断判断。
图17 单张皮肤病图像检测结果:皮肤纤维瘤
该界面展示了深度学习皮肤病智能诊断系统对图像进行皮肤纤维瘤(Dermatofibroma)检测的结果,置信度为82.9%。
图18 单张皮肤病图像检测结果:色素痣
该界面展示了深度学习皮肤病智能诊断系统对单张图像进行检测,成功识别出色素痣(Melanocytic nevus),置信度为83.1%。
图19 单张皮肤病图像检测结果:日光性角化病
图20 单张皮肤病图像检测结果:鳞状细胞癌
图21 单张皮肤病图像检测结果:特应性皮炎
3. 视频检测特性
支持对视频流进行逐帧检测。用户可能查看每帧图像的检测结果,满足视频分析和科研实验等需求。
图22 视频检测:色素痣
该界面展示了深度学习皮肤病智能诊断系统对视频图像进行检测,成功识别出色素痣(Melanocytic nevus),并给出置信度为83.1%。
4. 实时检测功能
系统支持调用摄像头或外部视频输入,完成实时检测。该功能可在敏捷筛查、临床应急等场景中提供即时反馈,保证检测的时效性和准确性。
图23 实时检测:皮肤纤维瘤
该界面展示了深度学习皮肤病智能诊断系统对皮肤病进行实时检测,成功识别出皮肤纤维瘤(Dermatofibroma),置信度为78.19%。
5.病症记录
图24 病症记录:全部记录
图25 病症记录:统计数量
6.病症特征
图24 病症特征:轻度皮肤病
图24 病症特征:中度皮肤病
图24 病症特征:重度皮肤病
7.ChatLLM(大语言模型问答)
图25 人工智能对话界面
图26 人工智能对话界面:咨询病情
图27 人工智能对话界面:咨询是否癌变
图28 人工智能对话界面:咨询具体治疗方案
8.识别结果
图29 识别结果
界面设计
本系框架的图形用户界面基于 PySide6 框架进行开发,设计目标是直观、简洁且交互流畅。通过合理的界面布局设计与模块化达成,体系各项作用得以清晰呈现并高效运行。
图30 PySide6 主控面板界面
图31 PySide6 病症记录界面
图32 PySide6 病症特征界面
图33 PySide6 智能对话界面
图34 PySide6 智能诊断结果界面
这些界面展示了基于PySide6编写的皮肤病智能诊断系统的不同作用,包括主界面、ChatLLM对话界面、检测记录、病症特征展示以及识别结果显示,提供了直观简洁的操作体验。
文件清单
1.YOLOv8皮肤病检测(推理)
(1)核心代码文件
这些文档具备了项目的主要能力实现,如皮肤病检测模型推理、数据库操作、用户交互等。
(2)图像和视频资源
存储项目所需的图像、视频资源。
(4)UI 与资源文件(PySide6)
这些材料负责用户界面的设计和静态资源的管理,采用 PySide6(Qt的Python绑定)框架构建。
(5)数据库
存储皮肤病相关信息的数据库文件。
2.YOLOv8皮肤病检测(训练)
(1)训练相关文件
(2)训练结果与日志
(3)第三方框架库资料、
3.YOLO 数据集目录文件
官方声明
(1)实验环境真实性与合规性声明:
本研究所利用的硬件与软件环境均为真实可复现的配置,未采用虚构实验平台或虚拟模拟环境。实验平台为作者自主购买的外星人 Alienware M16笔记本电脑,具体硬件参数详见表。软件环境涵盖操作系统、开发工具、深度学习框架等,具体配置详见表,所有软件组件均来源于官方渠道或开源社区,并按照其许可协议合法安装与采用。
研究过程中严格遵循学术诚信和实验可复现性要求,确保所有实验数据、训练过程与结果均可在相同环境下被重复验证,符合科研规范与工程实践标准。
(2)版权声明:
本算法改进中涉及的文字、图片、表格、程序代码及实验数据,除特别注明外,均由2zcode.Bob独立搞定。未经2zcode官方书面许可,任何单位或个人不得擅自复制、传播、修改、转发或用于商业用途。如需引用本研究内容,请遵循学术规范,注明出处,并不得歪曲或误用相关结论。
本研究所使用的第三方开源器具、框架及数据资源均已在文中明确标注,并严格遵守其相应的开源许可协议。使用过程中无违反知识产权相关法规,且全部用于非商业性学术研究用途。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925658.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!