我用AI生成了这些明星一生的样貌变化 | 已填坑附源码
共 2760字,需浏览 6分钟
·
2020-12-12 20:25
点击上方“AI算法与图像处理”,选择加"星标"或“置顶”
重磅干货,第一时间送达
导读
这是来自斯坦福和华盛顿大学研究员发表的论文,提出了基于GAN的新方法,仅需要一张照片即可生成一个人从小时候到老了的样子
论文:https://arxiv.org/abs/2003.09764
项目地址:
https://github.com/royorel/Lifespan_Age_Transformation_Synthesis
关于这篇论文的介绍在之前的文章中,有所介绍,这里就不多赘述。文章的重点是如何将这个项目用起来!
这里我已经将坑帮大家填好了,也会附上代码和相关权重的下载链接,由于ti子,所以部分小伙伴在跑的时候可能会比较麻烦(当然我也是其中的一个),所以我现在我已经把文件都打包好了,大家可以放心使用!
先看效果
demo 代码分享和使用
完整的项目使用(如果从附带的链接下载可以跳过下面的步骤):
# 克隆项目
git clone https://github.com/royorel/Lifespan_Age_Transformation_Synthesis.git
# 环境配置和预训练模型下载
pip install -r requirements.txtpython download_models.py
PS:因为模型很大而且是从谷歌网盘上面下载的导致很可能会失败
因此推荐从这里下载,然后直接运行我写好的demo.py代码即可
链接: https://pan.baidu.com/s/1Jwg-q9nYYAGb5o5fevT9zA
提取码: aicv
为了便于大家使用自己的照片进行测试,这里说明一些重点
# demo.py文件
import os
from collections import OrderedDict
from options.test_options import TestOptions
from data.data_loader import CreateDataLoader
from models.models import create_model
import util.util as util
from util.visualizer import Visualizer
opt = TestOptions().parse(save=False)
opt.display_id = 0 # do not launch visdom
opt.nThreads = 1 # test code only supports nThreads = 1
opt.batchSize = 1 # test code only supports batchSize = 1
opt.serial_batches = True # no shuffle
opt.no_flip = True # no flip
opt.in_the_wild = True # This triggers preprocessing of in the wild images in the dataloader
opt.traverse = True # This tells the model to traverse the latent space between anchor classes
opt.interp_step = 0.05 # this controls the number of images to interpolate between anchor classes
data_loader = CreateDataLoader(opt)
dataset = data_loader.load_data()
visualizer = Visualizer(opt)
opt.name = 'males_model' # change to 'females_model' if you're trying the code on a female image
model = create_model(opt)
model.eval()
img_path = "t.jpg" # 添加希望生成的图片
data = dataset.dataset.get_item_from_path(img_path)
visuals = model.inference(data)
os.makedirs('results', exist_ok=True)
out_path = os.path.join('results', os.path.splitext(img_path)[0].replace(' ', '_') + '.mp4')
visualizer.make_video(visuals, out_path)
注意:
1、img_path = "t.jpg" ,
添加自己希望生成的人脸照片,最好是正脸,否则效果会比较差
2、opt.name = 'males_model'
根据输入图片中人物的性别进行修改,男性:males_model, 女性:females_model
# 即修改成:
opt.name = 'females_model'
3、输出的结果为 MP4视频,保存的路径在result文件夹下,并以图片的名字进行命名!
感悟
CV方向有很多有趣的应用,以后会分享更好自己看到的应用demo,如果你觉得不错可以试试哈,顺手帮我点个在看!我平时也会去查找一些趣味应用,因为看到一种观点,我个人觉得挺有道理的,有时候技术并不是最重要的,重要的是要了解市场的需求,所以试着挤出一些时间去认识世界,感觉不错哦
下载1:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:leetcode 开源书
在「AI算法与图像处理」公众号后台回复:leetcode,即可下载。每题都 runtime beats 100% 的开源好书,你值得拥有!
下载3 CVPR2020 在「AI算法与图像处理」公众号后台回复:CVPR2020,即可下载1467篇CVPR 2020论文 个人微信(如果没有备注不拉群!) 请注明:地区+学校/企业+研究方向+昵称
觉得不错就点亮在看吧