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')
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值