这些图像是从 DCGAN 模型生成的,该模型在 143,000 个动漫人物脸上训练了 100 个时期。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
操纵潜在代码,可以实现从第一行图像到最后一行的转换。
图像不干净,可以观察到一些异常值,这会降低生成图像的质量。
要运行实验,
$ python main.py --dataRoot path_to_dataset/
DCGAN 的预训练模型也在这个 repo 中,在 jupyter notebook 中播放它。
使用爬虫工具gallery-dl从danbooru.donmai.us收集了 126 个标签的动漫风格图像。然后这些图像由动漫人脸检测器python-animeface处理。生成的数据集包含约 143,000 个动漫面孔。请注意,某些标签在裁剪后可能不再有意义,即“制服”标签下的裁剪面部图像可能不包含制服的可见部分。
如何从头开始构建数据集?
先决条件:gallery-dl、python-animeface
下载动漫风格的图像
# download 1000 images under the tag "misaka_mikoto"
gallery-dl --images 1000 "https://danbooru.donmai.us/posts?tags=misaka_mikoto"
# in a multi-processing manner
cat tags.txt | \
xargs -n 1 -P 12 -I 'tag' \
bash -c ' gallery-dl --images 1000 "https://danbooru.donmai.us/posts?tags=$tag" '
从下载的图像中提取人脸
import animeface
from PIL import Image
im = Image.open('images/anime_image_misaka_mikoto.png')
faces = animeface.detect(im)
x,y,w,h = faces[0].face.pos
im = im.crop((x,y,x+w,y+h))
im.show() # display
我清理了原始数据集,新版本的数据集有 126 个标签的 115085 张图像。您可以从以下位置访问图像:
请勿商用。
[/hidecontent]