性别年龄数据集制作

参考链接:
性别年龄文献综述

在这里插入图片描述

UTKFace的处理:
'''
    MXNet lst rec idx 文件生成 [适合任意的标签数量,自定义生成最灵活合适]
    1. lst文件自定义创建,格式: index label_1 label_n image_abs_path_name; 
                                              eg: 0 2 3 /mnt/data/my.jpg [label需要从0开始]
    2. rec idx文件创建,使用 mxnet/tools/im2rec.py(自己去安装路径下复制出来) ,命令行执行 python im2rec.py lst_path image_data_root --pack-label
                                              eg: python im2rec.py /mnt/data/train.lst /mnt/data/image --pack-label  生成train.rec train.idx; image_data_root所有图片放在一个文件夹
    val.lst val.rec val.idx 同理;
    
'''

def create_lst_file(img_root_path, lst_file_save_path):
    '''
    :param img_root_path:
    :param lst_file_save_path:
    :return:  只创建lst, 未区分train / val
    '''
    name_list = [f for f in os.listdir(img_root_path) if f.endswith('jpg')]
    with open(lst_file_save_path, 'w+') as f:
        for i, img_name in enumerate(name_list):
            lis = img_name.split('_')
            # 要求 age需要在[1,100]之间,大于100的,网络会处理成100;gender需要male=1,female=0;而数据集正相反
            age, gender = lis[0], lis[1]
            f.write(str(i) + '\t' +
                    str(1-int(gender)) + '\t' + age + '\t' +
                    img_name + '\n')
    f.close()
    return

def create_lst_train_val_file(img_root_path, train_lst_file_save_path, val_lst_file_save_path):
    '''
    :param img_root_path:
    :param train_lst_file_save_path:
    :param val_lst_file_save_path:
    :return:  创建人脸-gender-age训练测试集lst文件, 区分 trian/val = 4:1
    '''
    name_list = [f for f in os.listdir(img_root_path) if f.endswith('jpg')]
    random.shuffle(name_list)
    num = len(name_list)
    # trian.lst
    with open(train_lst_file_save_path, 'w+') as f:
        for i, img_name in enumerate(name_list[:int(num*0.8)]):
            lis = img_name.split('_')
            # 要求 age需要在[1,100]之间,大于100的,网络会处理成100;gender需要male=1,female=0;而数据集正相反
            age, gender = lis[0], lis[1]
            f.write(str(i) + '\t' +
                    str(1-int(gender)) + '\t' + age + '\t' +
                    img_name + '\n')
    f.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值