🏥 基于YOLO与大语言模型的中医智能舌诊系统
智能舌诊、症状关联、中医辩证、健康管理
代码获取:https://mbd.pub/o/bread/YZWakplqbQ==
基于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 检测到的客观特征(如"舌质红"、"苔黄腻")与用户的主观感受进行逻辑关联。例如,检测到"舌尖红"且用户主诉"失眠",模型会智能推断为"心火旺"。
- 标准化输出 :自动生成结构化的中医诊断报告,严格包含以下模块:
- 症状关联分析:解释症状与舌象的内在联系。
- 辩证结论:明确体质类型(如:阴虚火旺、脾胃湿热)。
- 调理方案:提供个性化的饮食禁忌、中药方剂建议及作息指导。
3. 📊 批量体检与健康档案 (Batch & History)
面向医疗机构或社区体检场景的实用功能。
- 高通量自动筛查 :支持由文件夹批量导入舌象图片,系统自动进行检测与分析,并生成包含文件名、检测结果、病理计数的 Excel/CSV 报表。
- 数字化健康档案 :
- 历史回溯:系统本地数据库自动记录每一次诊断详情(时间、图像路径、诊断结果)。
- 趋势分析:提供可视化仪表盘,展示用户健康状态随时间的变化曲线,辅助疗效评估。
🛠️ 安装与运行 (Installation)
环境准备
- OS: Windows 10/11 (推荐)
- Python: 3.8+
- GPU: NVIDIA GPU (推荐)
安装步骤
-
安装依赖
bashpip install -r requirements.txt -
配置大模型
系统依赖 Ollama 运行 LLaVA 模型:bashollama pull llava
运行系统
bash
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: 白舌厚腻苔