最近我一直在做AI方面的一些工作, 主要也是集中在文字生成这一块的. 但随着OpenAI Sora的发布, 相信大家都意识到, AI能做的事情已经越来越多了, 并且越来越强大了.
不仅是OpenAI这样的私有化AI愈发强大, 类似Meta的LLama 2, 国内阿里的QWen等开源AI也雨后春笋的发展起来.
今天又看到字节发布了开源的SDXL-Lightning, 于是我花了一些时间来学习Text To Image的提示词技巧. 现在把我学习到的一点东西整理成文章, 分享给大家.
Text To Image
先解释下什么是Text To Image
Text To Image
就是文本生成图片. 就是你输入一段文字, AI根据你的文字生成对应的图片. AI方面, 文字生成图片的发展也非常迅速, 令人眼花缭乱.
但总体来说, 前沿的文本生成图片包括
Midjourney
: 出现的比较早的, 直到现在也非常流行的文本生成图片服务. 属于私有商业服务DALL·E
: 最著名的AI公司OpenAI的Text To Image服务, 早期2版本水准较差, 但现在3版本后, 已不弱于Midjourney
Stable Diffusion
: 文本生成图片方面最有名的开源实现
比如今天字节跳动发布的SDXL-Lightning, 并不是自己完全原创的, 而是基于stabilityai/stable-diffusion-xl-base-1.0
上的改进与优化
提示词
如果你关注AI, 一定知道Prompts这个单词, 中文就是提示词.
AI能力虽然强大, 但一个很关键的点就是你要写出足够好的提示词. 因为提示词的重要性, 互联网有很多专门做提示词优化的服务.
可见提示词的重要性.
同样, 对于Text To Image来说, 提示词同样重要.
技巧
好了, 前面说了很多, 接下来进入这篇文章的主题.
这是我今天花了一点时间, 学习如何写出好的Text To Image的一些技巧.
技巧1: 尽量使用英文
好吧, 也许你看到这个, 会觉得有点难受. 但我想说的是, Text To Image的效果最好的是英语
这个是完全可以理解的, 任何AI都是事先经过大量数据训练的. 无论是文本生成 ,语音生成, 或是图片生成, 甚至是未来的视频生成.
这些大量的数据都是什么语言?
当然是英语.
所以, 理所当然, AI对英语的理解最到位, 如果都没有中文数据训练, AI怎么可能知道“元宵节”是什么东西? 而且对于图片生成, 还有光效, 色彩, 流派等, 这些英文更容易让AI理解.
效果差: 使用中文
这个是在字节的SDXL-Lightning的DEMO中生成的
提示词: 生成一个元宵节快乐的图片
看到没, 图不对题.
因为这个开源的AI可能没有经过大量中文训练, 很可能理解不了“元宵”
改进: 使用英文
提示词: A image of The Chinese Lantern Festival
是不是有点像模像样了?
可以预料, 这个AI的英文的训练数据中, 元宵是和灯笼这些相关联的. 所以AI生成了灯笼有关的图片.
技巧2: 具体的描述
我们再来看下前面的提示词, 生成一个元宵节快乐的图片
这个太抽象了. 越是抽象, AI生成的东西越不可预测, 什么都有可能. 所以对于AI来说, 你的提示词要明确, 具体. 越细越好.
比如就上面这个提示词, 我们思考下:
- 什么时候? 什么地方, 有什么样的人或景物
所以, 我们把提示词改进为: 中国元宵节的形象,人们在游玩享受,背景有一个月亮
记住前面我在前面说的, 用英文, 也就是:
A image of The Chinese Lantern Festival with people enjoying and a moon in the background
如何, 这个效果就会好很多了.
技巧3: 添加风格,特效
图片通常是有风格或特效的, 比如卡通, 写实, 印象, 超现实等. 同样有一些特效, 比如模糊, 光晕等
我们生成一幅元宵的卡通风格.
A cartoon style, also Chinese style of image of The Chinese Lantern Festival with a child and her parents enjoying and a moon in the background
已经是个非常好的图片了.
最后
当然, 这只是我今天在学习相关的资料时, 整理到的一些点, 希望对阅读这篇文章的你有一些帮助. 但这些技巧可能远远不够.
如果我没有记错, AI才一年多前我才听到, 当时就是OpenAI的文本生成. 一年才过, 无论是Openai, Google的Gemini等私有化AI发展迅速, 开源的AI也日益强大.
而AI的能力已经从单纯的文本生成扩展到了图片, 视频, 语音等各个不同的角度. 就以我们程序员来说, Meta前段时间发布了更强大的开源的Code LLama 2, 专门辅助编程的, 这可以是我们很好的伙伴.
迎接AI时代, 已经不可避免.