数据集制作-图像分类
# 数据集制作-图像分类
图像分类是计算机视觉领域的一个重要任务,其目标是将图像划分为不同的类别。在深度学习的过程中,图像分类任务通常被视为一个多分类问题,即给定一张图像,预测其所属的类别。常见的模型有:ResNet、MobileNet等。
# 图像分类数据集结构(以 ResNet50 为例)
数据集根目录/
├── train/ # 训练集
│ ├── class_1/ # 类别1的图片
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ ├── class_2/ # 类别2的图片
│ │ ├── img1.jpg
│ │ └── ...
│ └── ... # 更多类别文件夹
│
├── val/ # 验证集(可选)
│ ├── class_1/
│ │ ├── img1.jpg
│ │ └── ...
│ └── ...
│
└── test/ # 测试集(可选)
├── class_1/
│ ├── test_img1.jpg
│ └── ...
└── ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 核心特点
- 按类别分文件夹
- 每个子文件夹代表一个类别(如
cat
,dog
,car
) - 文件夹名称即类别标签(如
train/dog/xxx.jpg
→ 标签为 "dog")
- 每个子文件夹代表一个类别(如
- 训练/验证/测试集分离
train/
:用于模型训练val/
:用于超参数调优和早停test/
:仅用于最终评估(模型不接触此数据)
- 文件格式
- 支持常见格式:
.jpg
,.png
,.jpeg
等 - 图片尺寸无需统一(ResNet50 会预处理为
224×224
)
- 支持常见格式:
# 案例-ResNet50 的加载数据集
输入尺寸
- 必须缩放至
224×224
像素(通过预处理实现) - 通道顺序:RGB
- 必须缩放至
预处理 需进行归一化(ImageNet 均值/标准差):
# PyTorch 示例 transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ])
1
2
3
4
5
6
7
8
编辑 (opens new window)
上次更新: 2025/06/07, 21:53:36