35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
|
# 基于视觉的皮肤病检测系统
|
|||
|
|
|||
|
该项目是一个基于图像的皮肤病检测系统。它使用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. **可视化**: 在视频帧上绘制人脸矩形框,并显示预测的皮肤病类型和置信度分数。
|