基于深度学习的衣物分类识别 yolov8图像分类之衣物分类 衣服颜色识别 虚拟穿衣数据集
文章目录
- 数据集划分
- 数据预处理
- 下载结构
- 数据集中的类别
- 训练使用的模型:YOLOv8s-cls
- 演示
- 颜色处理
- 识别主色功能
- 匹配颜色功能
衣物分类
数据集
用于此训练的数据集可以通过以下链接在 我这上找到。
数据集划分
| 数据集 | 训练集 | 验证集 | 测试集 |
|---|---|---|---|
| 图片数量 | 6037 张 | 682 张 | 742 张 |
| 占比 | 81% | 9% | 10% |
数据预处理
- 自动方向:已应用
- 调整大小:拉伸至 640x640
下载结构
文件夹结构
数据集中的类别
- 连衣裙
- 帽子
- 长袖
- 外套
- 裤子
- 衬衫
- 鞋子
- 短裤
- 裙子
- T恤
训练使用的模型:YOLOv8s-cls
| 模型 | 大小 (像素) | top1 准确率 | top5 准确率 | CPU ONNX 速度 (ms) | A100 TensorRT 速度 (ms) | 参数量 (M) | FLOPs (B) at 640 |
|---|---|---|---|---|---|---|---|
| YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
| YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
| YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
| YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
| YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
演示
原始图像:
原始图像
带预测的图像:
带预测的图像
颜色处理
识别主色功能
recognize_predominant_color函数将打开 PNG 图像,将像素转换为 RGBA 格式,并遍历这些像素,忽略透明度 (alpha) 值为 0 的像素。它会统计每种非透明颜色的频率,并返回最主要的颜色。
返回的主色为: (30, 45, 78)
裤子的颜色也是:
裤子颜色
匹配颜色功能
matching_colors函数接受一个选定颜色和一组颜色列表作为输入,此外还包括一个容差值。它将返回颜色列表中与选定颜色在指定容差范围内匹配的颜色。
用法:
selected_color: 你希望找到匹配的 RGB 颜色元组。color_list: 一组 RGB 颜色元组。tolerance: 一个数值,表示允许选定颜色与列表中颜色之间的最大差异,超过该差异则不被视为匹配。
