项目地址:https://gitcode.net/EricLee/classification
物体识别分类,pytorch 目前数据集
包括 1)Stanford Dogs 数据集 ,
2)14类静态手势自建数据集,
3)imagenet 1000类数据集
classification
物体识别分类
项目介绍
该项目对物体进行识别分类。
项目配置
- 作者开发环境:
- Python 3.7
- PyTorch >= 1.5.1
数据集
1、Stanford Dogs 数据集
2、静态手势识别数据集(handpose_x_gesture_v1)
3、imagenet 数据集 (使用"ILSVRC2012_img_train"数据集将原图裁剪后的部分数据集)
4、Stanford_Cars 数据集(共196 类)
构建自己的数据集
- 构建一个总的数据集目录,在目录内建立每一个具体类别的子目录,每一个子目录有且只有单独的一个类别。并且文件夹的命名为"数字-名称",比如上图的"one静态手势"的文件夹命名为"000-one"。
- 注意名称为英文命名,可以由自己定义,类别编号数字从0开始。
- 另外在具体训练时,需要在训练脚本 train.py 中进行训练集文件夹路径和类别数的对应修改。
预训练模型
1、Stanford Dogs 预训练模型
2、静态手势识别预训练模型(handpose_x_gesture_v1)
3、imagenet 预训练模型
- 具体分类看json信息即"imagenet_msg.json",运行 read_imagenet_msg.py 读取。
- "chinese_name"为类别中文名字,"doc_name"为数据集对应的每一类文件夹名字,前面的数字为模型的类别号从 "0"~"999",共 1000 类 。
4、Stanford_Cars 预训练模型
项目使用方法
模型训练
注意: train.py 中的 3个参数与具体分类任务数据集,息息相关,如下所示:
#---------------------------------------------------------------------------------
parser.add_argument('--train_path', type=str, default = './handpose_x_gesture_v1/',
help = 'train_path') # 训练集路径
parser.add_argument('--num_classes', type=int , default = 14,
help = 'num_classes') # 分类类别个数,gesture 配置为 14 , Stanford Dogs 配置为 120 , imagenet 配置为 1000
parser.add_argument('--have_label_file', type=bool, default = False,
help = 'have_label_file') # 是否有配套的标注文件解析才能生成分类训练样本,gesture 配置为 False , Stanford Dogs 配置为 True
- 根目录下运行命令: python train.py (注意脚本内相关参数配置 )
模型推理
- 根目录下运行命令: python inference.py (注意脚本内相关参数配置 )