Py学习  »  Python

深度学习根据文字生成图片教程(附python代码)

机器学习AI算法工程 • 4 年前 • 522 次点击  


向AI转型的程序员都关注了这个号👇👇👇

人工智能大数据与深度学习  公众号:datayx


其实在过往我们生活的世界里,当人们需要获取信息的时候,更多地强调的是信息的检索和遍历,意味着去已经存在的物品中找到自己合适的。在我看来这是一种很低级的生活形态,比如我的意识中有一个某种图案的杯子,想要它,只能打开淘宝根据标签去找已经设计好的款式有没有相近的,而不能直接根据我的想法自动生成一个我需要的杯子。

又比如,我想要一张猫正在喝水的照片,只能去搜索引擎里去根据关键词搜索已经存在的猫喝水的照片,而不是自动生成一张符合我要求的照片。随着人工智能的升级,这种低级的信息获取方式一定会淘汰。

今天就介绍一种深度学习方法,如何根据文字自动生成图片。先来看下效果:

输入文本:

sky is above the grass, man standing on the grass

生成的图片,是不是有点神奇:  




详细流程

关于具体的算法细节可以看下这个论文:“Image Generation from Scene Graphs”


https://arxiv.org/abs/1804.01622


1.下载代码

关注微信公众号 datayx  然后回复 图像生成  即可获取。

AI项目体验地址 https://loveai.tech


需要把sgim文件夹复制到scripts文件夹下面:  



2.安装需要的第三方库

建议用python3以上版本,在文件夹下执行
sudo pip3 install -r requirements.txt


3.下载模型

首先自行安装好wget,然后在代码目录下执行:
bash scripts/download_models.sh


4.创建图片

首先,要先自己搞个描述脚本,这个脚本需要描述生成图片中的对象以及对象间的位置关系。比如以下脚本(看过《机器学习实践应用》的同学是不是会眼熟,有点像里面知识图谱的内容):

[
{
"objects": ["car", "street", "line", "sky"],
"relationships": [
[0, "on", 1],
[2, "on", 1],
[3, "above", 1]
]
}
]

描述的是car在street的上面,line在street的上面,sky也在street上面。然后在代码的根目录下执行以下代码(代码中的括号内容是注释,执行前需要去掉):

python3 scripts/run_model.py(预测脚本) --checkpoint sg2im-models/vg128.pt(下载好的模型所在地址) --scene_graphs aohai.json(上面写的脚本) --output_dir outputs(图片输出路径)

最终生成的图片效果:



是不是很好玩,可以自己任意添加描述脚本,生成自己想要的图片,是不是非常酷。目前来看像素还比较低,希望以后该项目可以继续更新,可以生成更多高清大图。






阅读过本文的人还看了以下:


分享《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


同样是机器学习算法工程师,你的面试为什么过不了?


前海征信大数据算法:风险概率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest做特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)通过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程


不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

长按图片,识别二维码,点关注


AI项目体验

https://loveai.tech



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33743
 
522 次点击