tjy/SkinType
PEAandDA ff11a09b8b 代码迁移 2024-06-20 18:22:33 +08:00
..
README.md 代码迁移 2024-06-20 18:22:33 +08:00
best_model_'0.8998410174880763'.pth 代码迁移 2024-06-20 18:22:33 +08:00
class_indices.json 代码迁移 2024-06-20 18:22:33 +08:00
model.py 代码迁移 2024-06-20 18:22:33 +08:00
model_config.py 代码迁移 2024-06-20 18:22:33 +08:00
my_dataset.py 代码迁移 2024-06-20 18:22:33 +08:00
predict.py 代码迁移 2024-06-20 18:22:33 +08:00
predict_api.py 代码迁移 2024-06-20 18:22:33 +08:00
train.py 代码迁移 2024-06-20 18:22:33 +08:00
transformer.py 代码迁移 2024-06-20 18:22:33 +08:00
unfold_test.py 代码迁移 2024-06-20 18:22:33 +08:00
utils.py 代码迁移 2024-06-20 18:22:33 +08:00
video.py 代码迁移 2024-06-20 18:22:33 +08:00

README.md

基于视觉的皮肤类型检测系统

该项目是一个基于图像的皮肤类型检测系统。它使用MobileViT在皮肤图像数据集上进行训练,然后可以从摄像头输入的视频中检测人脸,并为每个检测到的人脸预测皮肤类型(干性、正常或油性)。

核心文件

  • class_indices.json: 包含皮肤类型标签和对应数值编码的映射。
  • predict_api.py: 包含图像预测模型的加载、预处理和推理逻辑。
  • video.py: 视频处理和可视化的主要脚本。
  • best_model_'0.8998410174880763'.pth: 在皮肤图像数据集上训练的模型权重文件。

使用方法

  1. 确保已安装所需的Python库,包括opencv-pythontorchtorchvisionPillowdlib
  2. 运行video.py脚本。
  3. 脚本将打开默认摄像头,开始人脸检测和皮肤类型预测。
  4. 检测到的人脸周围会用矩形框标注,并显示预测的皮肤类型和置信度分数。
  5. q键退出程序。

模型介绍

该项目使用MobileViT作为基础模型,对皮肤图像数据集进行训练,以预测人脸图像的皮肤类型。模型输出包含3个值,分别对应干性、正常和油性皮肤类型的概率。

数据集介绍

该项目使用的皮肤图像数据集来自Kaggle平台数据集包含3152张标注了皮肤类型(干性、正常或油性)的人脸图像。

算法流程

  1. 人脸检测: 使用Dlib库中的预训练人脸检测器在视频帧中检测人脸。
  2. 预处理: 对检测到的人脸图像进行缩放、裁剪和标准化等预处理,以满足模型的输入要求。
  3. 推理: 将预处理后的图像输入到预训练的Mobile-ViT模型中,获得不同皮肤类型的概率预测结果。
  4. 后处理: 选取概率最高的类别作为最终预测结果。
  5. 可视化: 在视频帧上绘制人脸矩形框,并显示预测的皮肤类型和置信度分数。