celebA_hq高清人脸图片下载、生成代码

高清人脸.jpg格式下载

celebA_hq是clebbA的高质量人脸图像,共30000张可达1024尺寸。我分别生成了64、128、256、512、1024大小的图片,生成过程很漫长,约跑了3/4天才把所有图片保存出来。这里提供下载链接,供需要的朋友直接下载使用。

补一个永久链接,自己选择需要的文件
链接:https://pan.baidu.com/s/1ZF1G2MQILZSFNjD1YLVgZA
提取码:t76m

celebA_hq_64 ——提取码:6hf3
celebA_hq_128——提取码:xk6d
celebA_hq_256——提取码:016n
celebA_hq_512——提取码:byix
celebA_hq_1024——提取码:bszu

celebA_hq高清人脸图像获取方法

代码的原作者是GitHub上的willylulu,作者是python2写的。我自己改写了一个python3的版本,另修改了代码中的一点小问题,我的代码可以在Github中查看:链接

你需要下载准备

  1. img_celeba: 下载解压出202599张图片。注意是celeba,不是celeba_align!二者的区别,celeba是原始图像,大小比例不等;celeba_align是裁出其中的人脸部分,并带有40个属性标注,尺寸是178*218。如下图:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  2. CelebA_hq_deltas: 下载30个压缩包和1个image_list.txt,不需要解压。deltas是原始图片对应的增量,共30000个,所以hq共30000张图片。查看image_list.txt,可以查看delta对应的原始图片orig_files是哪些。这里有个玄学问题求大佬解答,我对比了图片加delta和不加delta的结果,对图片生成的质量几乎没什么影响,且加了delta的图片黑色区域反倒会出现噪点。然后我又对比了生成的图片和原图,发现原图的尺寸本身就是非常大的,hq也没有比原图更清晰,所以hq只是把原图中分辨率高的图片挑出来做了个简单的图像处理?求解答!!
    在这里插入图片描述
  3. list_landmarks_celeba 这个别的文章里面都说很好下载,但我找了很久才找到,云盘共享出来提取码:if0g 。如下图,里面包含了img_celeba中人脸五官的位置信息,用于确定人脸位置做裁剪。
    在这里插入图片描述

代码解析

我们只需要看h5tool.py中的create_celeba_hq函数,根据command的参数运行代码就行了。只需要指定celeba_dir和delta_dir, 其他参数不用管,生成h5文件的时候才会用到。

// 除了celeba_dir,delta_dir,其他参数不用管,生成h5文件的时候才会用到
p = add_command(    'create_celeba_hq', 'Create HDF5 dataset for CelebA-HQ.',
                                        'create_celeba_hq celeba-hq-1024x1024.h5 ~/celeba ~/celeba-hq-deltas')
p.add_argument(     'h5_filename',      help='HDF5 file to create')
p.add_argument(     'celeba_dir',       help='Directory to read CelebA data from')
p.add_argument(     'delta_dir',        help='Directory to read CelebA-HQ deltas from')
p.add_argument(     '--num_threads',    help='Number of concurrent threads (default: 4)', type=int, default=4)
p.add_argument(     '--num_tasks',      help='Number of concurrent processing tasks (default: 100)', type=int, default=100)

注意580行左右,process_func函数的这个位置。其中img加delta的效果我上面又讲,酌情考虑要不要加。图片的尺寸是1024的,可以自己酌情resize成任意尺寸。return的orig_file,为原始图片的名字,用于生成图片的命名,保持生成图和原图名称一致。

# Apply delta image.
img = img + delta
img = np.asarray(img).transpose(1, 2, 0)
img = PIL.Image.fromarray(img, mode='RGB')
img512 = img.resize((512, 512), PIL.Image.ANTIALIAS)
img256 = img.resize((256, 256), PIL.Image.ANTIALIAS)
img128 = img.resize((128, 128), PIL.Image.ANTIALIAS)
img64 = img.resize((64, 64), PIL.Image.ANTIALIAS)
return orig_file, img64, img128, img256, img512, img

自定义图片存储路径,其中x = x + 1000 用于定义开始获取HQ图片的位置,以免程序意外中断,可以接着运行。

for x in fields['idx']:
    x = x + 1000
    print(x)
    aidx, aimg64, aimg128, aimg256, aimg512, aimg1024 = process_func(x)
    aimg64.save('./celeba-hq/celeba_64/'+str(aidx)+'.jpg')
    aimg128.save('./celeba-hq/celeba_128/'+str(aidx)+'.jpg')
    aimg256.save('./celeba-hq/celeba_256/'+str(aidx)+'.jpg')
    aimg512.save('./celeba-hq/celeba_512/'+str(aidx)+'.jpg')
    aimg1024.save('./celeba-hq/celeba_1024/'+str(aidx)+'.jpg')
  • 50
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
CelebA-HQ是一个用于人脸识别和人脸属性预测的数据集,由CelebA数据集的升级版演化而来。与CelebA数据集相比,CelebA-HQ提供了更高分辨率的图像,具有更多的细节和更高的质量。 PyTorch是一个基于Python的顶级机器学习框架,功能强大且易于使用。PyTorch提供了丰富的工具和函数,使得人工智能研究人员和开发者可以快速构建和训练各种深度学习模型。而在PyTorch中使用CelebA-HQ数据集,可以进一步提高人脸识别和人脸属性预测的性能。 在使用PyTorch和CelebA-HQ数据集时,可以首先通过PyTorch的数据加载功能将CelebA-HQ数据集导入到内存中。然后,可以使用PyTorch的图像处理功能来进行预处理,如调整大小、裁剪、数据增强等,以便为模型提供更好的输入。 接下来,可以使用PyTorch的模型构建功能来设计和实现人脸识别和人脸属性预测模型。PyTorch提供了各种预训练模型和模型构建块,如卷积神经网络、循环神经网络等,可以根据实际需求选择合适的结构和参数。 然后,可以使用PyTorch的训练功能来对模型进行训练。PyTorch提供了丰富的优化器和损失函数,可以选择适当的优化算法和损失函数,以最大程度地提高模型的性能。 最后,可以使用PyTorch的模型评估功能来评估训练好的模型在CelebA-HQ数据集上的性能。通过计算准确率、召回率、精确率等指标,可以评估模型对于人脸识别和人脸属性预测的表现,并进行模型调优和改进。 总之,PyTorch提供了丰富而强大的功能,可以很好地支持使用CelebA-HQ数据集进行人脸识别和人脸属性预测的研究和开发工作。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值