基于YOLO与大语言模型的中医智能舌诊系统

作品简介

🏥 基于YOLO与大语言模型的中医智能舌诊系统

智能舌诊、症状关联、中医辩证、健康管理

📖 背景 (Background)

在中医诊断中,“望闻问切”是核心手段,其中舌诊(望舌)和问诊(症状询问)结合是精准辩证的基础。

本项目设计并实现了一套基于深度学习的中医智能舌诊系统。系统以 YOLOv8 为核心进行舌象特征提取,结合 用户主诉症状,利用 LLaVA 多模态大模型进行深度辩证分析。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

🏗️ 系统架构 (System Architecture)

系统采用 B/S 架构,融合了目标检测、自然语言处理与现代前端技术:

graph TD
    subgraph Input_Layer [输入层]
        A[摄像头/图片上传] -->|Image| B(图像预处理)
        A1[主诉/症状输入] -->|Text| B1(症状向量)
    end

    subgraph AI_Core [AI 核心层]
        B -->|YOLOv8| C{病理特征识别}
        C -->|Feature Tags| D[特征向量]
        B1 --> D
        D -->|Multimodal Prompt| E[LLaVA 大模型]
        E -->|Reasoning| F[中医辩证报告]
    end

    subgraph Service_Layer [业务逻辑]
        C --> G[特征标注可视化]
        F --> H[结构化报告生成]
        F --> I[健康档案数据库]
    end

    subgraph UI_Layer [交互展示层]
        G --> J[Web Interface (Premium UI)]
        H --> J
        I --> K[可视化仪表盘]
    end

💎 核心功能 (Core Features)

1. 🔍 智能病理特征识别 (High-Precision Detection)

基于 YOLOv8 深度学习模型,实现了对舌象细微病理特征的毫秒级检测。

  • 多病种覆盖:精准识别 黑苔 (危重/热极)地图舌 (胃气阴虚)紫舌 (血瘀)黄/白腻苔 (湿热/痰饮) 等典型病变。
  • 抗干扰能力:采用数据增强训练,能在不同光源、拍摄角度及背景下准确提取舌体区域,有效排除面部其他器官的干扰。
  • 实时推理:支持实时视频流检测,在 GPU 环境下可达实时帧率,满足临床快速筛查需求。

2. 🧠 多模态融合辩证 (Multimodal Diagnosis)

引入 LLaVA (Large Language-and-Vision Assistant) 大模型,模拟老中医的“望闻问切”思维过程。

  • “望+问”双诊合参:系统不仅仅依靠图像,还能结合用户输入的主诉症状(如:失眠多梦、口苦口干)。
  • 深度推理:大模型将 YOLO 检测到的客观特征(如“舌质红”、“苔黄腻”)与用户的主观感受进行逻辑关联。例如,检测到“舌尖红”且用户主诉“失眠”,模型会智能推断为“心火旺”。
  • 标准化输出:自动生成结构化的中医诊断报告,严格包含以下模块:
  1. 症状关联分析:解释症状与舌象的内在联系。
  2. 辩证结论:明确体质类型(如:阴虚火旺、脾胃湿热)。
  3. 调理方案:提供个性化的饮食禁忌、中药方剂建议及作息指导。

3. 📊 批量体检与健康档案 (Batch & History)

面向医疗机构或社区体检场景的实用功能。

  • 高通量自动筛查:支持由文件夹批量导入舌象图片,系统自动进行检测与分析,并生成包含文件名、检测结果、病理计数的 Excel/CSV 报表
  • 数字化健康档案
  • 历史回溯:系统本地数据库自动记录每一次诊断详情(时间、图像路径、诊断结果)。
  • 趋势分析:提供可视化仪表盘,展示用户健康状态随时间的变化曲线,辅助疗效评估。

🛠️ 安装与运行 (Installation)

环境准备

  • OS: Windows 10/11 (推荐)
  • Python: 3.8+
  • GPU: NVIDIA GPU (推荐)

安装步骤

  1. 安装依赖
pip install -r requirements.txt
  1. 配置大模型
  2. 系统依赖 Ollama 运行 LLaVA 模型:
ollama pull llava

运行系统

python run_web_tongue.py

启动后访问:http://localhost:7860

📝 数据集与模型 (Dataset & Model)

本系统使用专门构建的 Tongue Diagnosis Dataset,识别类别包括:

  • black_tongue_coating: 黑苔
  • map_tongue_coating: 地图舌
  • purple_tongue_coating: 紫舌
  • red_tongue_yellow_fur_thick_greasy_fur: 红舌黄腻苔
  • The_red_tongue_is_thick_and_greasy: 红舌厚腻苔
  • The_white_tongue_is_thick_and_greasy: 白舌厚腻苔


创作时间: