tjy/SkinDisease/README.md

35 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 基于视觉的皮肤病检测系统
该项目是一个基于图像的皮肤病检测系统。它使用MobileViT在皮肤图像数据集上进行训练,然后可以从摄像头输入的视频中检测人脸,并为每个检测到的人脸预测皮肤病类型共支持24类。
## 核心文件
- `class_indices.json`: 包含皮肤病类型标签和对应数值编码的映射。
- `predict_api.py`: 包含图像预测模型的加载、预处理和推理逻辑。
- `video.py`: 视频处理和可视化的主要脚本。
- `best300_model_0.7302241690286009.pth`: 训练的模型权重文件。
## 使用方法
1. 确保已安装所需的Python库,包括`opencv-python`、`torch`、`torchvision`、`Pillow`和`dlib`。
2. 运行`video.py`脚本。
3. 脚本将打开默认摄像头,开始人脸检测和皮肤病预测。
4. 检测到的人脸周围会用矩形框标注,并显示预测的皮肤病类型和置信度分数。
5. 按`q`键退出程序。
## 模型介绍
该项目使用MobileViT作为基础模型,对皮肤病图像数据集进行训练,以预测人脸图像的皮肤类型。模型输出包含24个值,分别对应各皮肤病类型的概率。
### 数据集介绍
该项目使用的皮肤病图像数据集来自网络开源数据数据集包含20000张标注了皮肤病类型的人体皮肤图像。
## 算法流程
1. **人脸检测**: 使用Dlib库中的预训练人脸检测器在视频帧中检测人脸。
2. **预处理**: 对检测到的人脸图像进行缩放、裁剪和标准化等预处理,以满足模型的输入要求。
3. **推理**: 将预处理后的图像输入到预训练的MobileViT模型中,获得不同皮肤病类型的概率预测结果。
4. **后处理**: 选取概率最高的类别作为最终预测结果。
5. **可视化**: 在视频帧上绘制人脸矩形框,并显示预测的皮肤病类型和置信度分数。