对于绘画一窍不通的我,也喜欢看动漫,看到一些绝美的画,何尝不会感叹,要是我也会画画就好了,现在终于有机会帮我实现这个想法了,无意间看到了AI的一个新应用,最近热度还挺高的AI绘画,充分引起了我的兴趣,于是乎我决定试用市面上主流的几款,包括了ERNIE-ViLG,DALL·E,Imagen,Midjourney,Disco Diffusion 从安装到简单的使用,接下来让我们先来看看支持中文的文转图模型ERNIE-ViLG,到底有多么好玩吧。
win10,python3.8
文心ERNIE-ViLG是百度开发的,参数规模达到100亿,是目前为止全球最大规模中文跨模态生成模型,可以输入一段文本描述以及生成风格,模型就会根据输入的内容自动创作出符合要求的图像。github地址
https://github.com/PaddlePaddle/PaddleHub/tree/develop/modules/image/text_to_image/ernie_vilg
根据步骤进行安装,我用的是cpu版本,如果系统环境变量pip路径是python3.8下的pip可以直接使用下面命令安装
安装paddlepaddle,版本需要大于2.0.0,直接安装的版本满足
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple/
安装paddlehub, 版本需要大于2.2.0,直接安装的版本满足
pip install paddlehub -i https://mirror.baidu.com/pypi/simple/
安装paddlepaddle的ernie_vilg模块
hub install ernie_vilg
安装完成预训练模型以后,可以直接使用下面的代码进行简单测试,结果会生成6幅油画。
import paddlehub as hub
module = hub.Module(name="ernie_vilg")
text_prompts = ["炎热的夏日,蓝天白云,公路边上一望无垠金黄色的稻田,戴着草帽的农夫在稻田里收割水稻"]
#参数介绍,text_prompts是要画的内容描述,style是画的风格,output_dir是结果的输出目录,里面最为关键的是text_prompts参数
images = module.generate_image(text_prompts=text_prompts, style='油画',
output_dir='./ernie_vilg_out/')
根据输出来看,5幅画中都没有农民在稻田里收割的细节,不过仅仅这么一句话,就能出来这个效果感觉还不错。
如果想要画出一些比较精美漂亮的画,可以通过调整Prompt ,构造更好的Prompt 得到更漂亮的图片。
如何设计Prompt?主要通过4个方面来说明:Prompt公式,Prompt原则,Prompt主体、Prompt修饰词。需要注意的是,这里的 Prompt公式仅仅是个入门级别的参考,是经验的简单总结,在熟悉了Prompt的原理之后,可以尽情地发挥脑洞修改Prompt。
Prompt=[形容词][主语],[细节设定],[修饰语或者艺术家]
根据这个公式,我们可以再看一下我们测试案例中的prompt描述是有问题的,可能才会导致农民没有出现,我们根据公式进行调整一下prompt再进行测试。首先构造一个形容词加主语的案例, 这里我构造的是”戴着草帽的农民伯伯”,然后我再添加一些细节设定,这里我给的是”在蓝天白云一望无垠金黄色的稻田中”, 在添加修饰语”收割水稻,风景画”,其它参数不变,下面是运行结果,比第一次效果好了很多。
import paddlehub as hub
module = hub.Module(name="ernie_vilg")
text_prompts = ["戴着草帽的农民,在蓝天白云一望无垠金黄色的稻田中,收割水稻,风景画"]
images = module.generate_image(text_prompts=text_prompts, style='油画',
output_dir='./ernie_vilg_out/')
Prompt 简单原则就是清楚地陈述。
除了公式之外,也有一些简单的 Prompt设计原则分享给大家:即清楚的陈述。
例如我们如果是简单地输入风景的话,往往模型不知道我们想要的风景是什么样子的(下图1)。我们要去尽量的幻想风景的样子,然后变成语言描述。例如我想象的是日落时,海边的风景, 那我就构造了 Prompt 『夕阳日落时,阳光落在云层上,海面波光粼粼,风景』(下图2)。进一步的,我想风格化我的图像,所以我在结尾的部分,增加了『胶片感』来让图片的色彩更加好看一些(下图3)。但是云彩的细节丢失了一些,进一步的我再增加天边巨大云朵这一个细节,让我的图片朝着我想要的样子靠得更进一步(下图4)。
Prompt 的主体可以是千奇百怪、各种各样的。比如说宇航员,孤岛,白色城堡,机器人等。
艺术类型 | 艺术家 | 常用艺术风格 |
肖像画 | 文森特·梵高 | 印象主义 |
风景画 | 尼古拉斯·罗伊里奇 | 现实主义 |
风俗画 | 皮埃尔-奥古斯特·雷诺阿 | 浪漫主义 |
宗教绘画 | 克劳德·莫内 | 表现主义 |
抽象画 | 彼得·孔查洛夫斯基 | 后印象主义 |
都市风景画 | 卡米尔·毕沙罗 | 象征主义 |
素描与草图 | 约翰·辛格·萨金特 | 新艺术主义 |
静物 | 伦勃朗 | 巴洛克风格 |
裸体画 | 马克·夏加尔 | 抽象表现主义 |
插画 | 巴勃罗·毕加索 | 北欧文艺复兴 |
古斯塔夫·多雷 | 素人艺术,原始主义 | |
阿尔布雷特·丢勒 | 立体主义 | |
鲍里斯·库斯妥基耶夫 | 洛可可 | |
埃德加·德加 | 色域绘画 | |
波普艺术 | ||
文艺复兴开端 | ||
文艺复兴全盛期 | ||
极简主义 | ||
矫饰主义,文艺复兴晚期 |
可以加入到 Prompt 中的摄影词 | |
浅景深 | 仰拍 |
负像 | 动态模糊 |
微距 | 高反差 |
双色版 | 中心构图 |
角度 | 逆光 |
三分法 | 长曝光 |
抓拍 | 禅宗摄影 |
软焦点 | 抽象微距镜头 |
黑白 | 暗色调 |
无镜反射 | 长时间曝光 |
双色调 | 框架,取景 |
颗粒图像 |
大家也可以通过Prompt 参考文档进行不同的尝试,通过不断尝试,肯定可以画出很不错的画,下面是文档地址
https://github.com/OleNet/YouPromptMe/tree/gh-pages/you-prompt-me
大家结合如下的Prompt修饰词,Happy Prompting 吧!
大家也可以关注微信公众号PythonerLeague,会发布一些有关python的文章,我们可以互相学习帮助,大家一起进步
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved