本目录下有用于训练反卷积网络以及与反卷积网络相交互的代码,实验基于Learning to Generate Chairs, Tables and Cars with Convolutional Networks这篇论文所提出的模型做了改进。 论文地址:https://arxiv.org/abs/1411.5928 能够通过Radboud Faces Database数据集生成人脸。实验所需工具为:Keras、NumPy、SciPy、tqdm以及Python 3。 Radboud Faces Database数据集::8180/RaFD2/RaFD?p=main Generating Faces with Deconvolution Networks这篇博客详细地讲解了本实验的具体过程及原理。 地址:https://zo7.github.io/blog/2016/09/25/generating-faces.html 训练新模型 执行以下命令即可训练一个新模型: python3 faces.py train path/to/data 如果你的内存允许,你可以通过-d参数指定反卷积层的层数以生成更大的图像。你也可以通过-b参数和-k参数分别调整批处理数量(batch size)和每一层的卷积核(kernels)的数量直到适应计算机内存,但是这些改变实际上可能会导致更差的结果或者更长的训练时间。 本实验中默认的反卷基层数是6,批处理数量是8,在Nvidia Titan X显卡上(12GB)生成512x640的图像需要一天稍多一点的时间。 生成图像 在yaml文件中指定具体参数并执行以下命令,即可使用已训练好的模型。 python3 faces.py generate -m path/to/model -o output/directory -f path/to/params.yaml 本实验提供四种生成图像的模式: · single:生成单一图像 · random:生成一个随机图像的集合 · drunk:与random模式类似,直播,开奖,但是会生成更连续的图像序列 · interpolate:指定的一系列关键帧,生成这些关键帧之间的图像 在params目录中有这些文件的示例,这些示例将有助于你理解怎样格式化这些文件、分清哪些内容是可用的内容。 示例 在人脸和表情之间插值:
在不同的方向之间插值(此时模型不能进行学习):
随机生成(使用drunk模式):
热门文章推荐 (责任编辑:本港台直播) |