Midjourney|文心一格 prompt 教程 [技巧篇]:生成多样性、增加艺术风格、图片二次修改、渐进优化、权重、灯光设置等 17 个技巧等你来学
Midjourney|文心一格 prompt 教程[技巧篇]:生成多样性、增加艺术风格、图片二次修改、渐进优化、权重、灯光设置等 17 个技巧等你来学
1.技巧一:临摹
我认为学习图片类的 prompt,跟学习画画是类似的,最好的学习方法不是直接用模板。
而是拿真图,或者别人生成的图来临摹。英文不好,也可以先写中文,然后让 ChatGPT 翻译。当你临摹了几张后,你就会慢慢搞懂如何做出类似的图了。
拿上面的那个握手图为例,我们仔细观察上面那张图,图中元素有什么:
第一主体是两个手,然后握在了一起,并且看起来是两个亚裔男人。
第二两人都穿着西装。
第三背景看上去像是在办公楼的大门,两人可能是在握手告别。并且背景刻意进行虚化了,或者是使用照相机拍摄的。
再归纳总结下,大概的信息:
主体:两个穿着西装的亚裔男人在握手告别
场景:办公楼大门
图像风格:stock photo,照相机拍摄,
这时候,我们就能尝试写一下 prompt 了(如果你觉得自己英文水平还不太行,也可以尝试用翻译软件翻译)。
Midjourney 生成的结果如下所示。
Emm 🤔 好像跟我们的预期不一样。不要慌,刚开始用 Midjourney 一定会遇到这种问题,重要的是多尝试。
我们再来分析下 Midjourney 为何生成了这样的图片?复盘下:
首先图片的主体,或者说焦点,我们只需要「握手」,而不是两个人。
照相模式好像并不能实现背景虚化?更像是一种图像风格,图四就像是一种老照片的风格。
那我们调整下 prompt,增加焦点和背景虚化关键词:
再来看看生成的结果,结果好很多,图 1 和 图 4 基本满足需求了,图 2 和图 3 裁剪一下,也能满足我们的需求。不过需要注意,Midjourney 在人手的生成上,暂时还有点问题,你细看图 2 和图 4,其中有一个人的手有 6 个手指 😂,但我认为未来应该会修复:
那我们来总结一下 prompt ,该 prompt 分成以下几个部分:
第一部分(红色线):描述你想要的内容主体。
第二部分(蓝色线):描述主体背景/环境。
第三部分(黄色线):照片的焦点位置。
第四部分(绿色线):照片的风格或者说是特殊要求。
2.技巧二:多实验
我还想教给各位第二个技巧:多试验。
图片生成遇到不符合预期的情况,不要慌,分析问题,然后使用控制变量法,一个个调整图片,不要急,上面我写的 prompt 还有一个地方,不知道各位有没有注意,就是开头的 stock photo,试试将这两个词删掉会怎样?
生成结果也依然满足需求,而且手指的数量也准确了,说明这个 Stock Image 对模型的影响不是很大。
3.技巧三:善用 Image2Image 功能
在 Stock Photo 场景里,还有一个非常厉害的技巧,这个方法我一开始觉得不太适合教,因为这个对 Stock Photo 库影响太大了 😂
但本着工具中立的原则,并且这个技巧,其实在很多场景都能用(比如生成头像等),所以还是觉得有必要教给大家。
各位一般用 Stock Photo 库会遇到以下几个问题:
图有版权,没法商用,或者说需要付费。
有些图,被很多人用过,其他人一眼就看出来这是 Stock Photo。
图里的内容大体符合要求,但细节不符合要求,比如上图两个亚洲男性握手,可能换成一男一女,且其中一人是黑人会好一些。
要解决这三个问题,最好的方式就是让 AI 改一改原来的图片。让 AI 改图,只需要用到 Image2Image(或者叫 Blend) 功能即可。操作步骤如下:
:::info
后来在某书刷到类似的教程,我才知道这个方法大家一般叫垫图。老外好像一般都叫 Image2Image,或者 img2img。
:::
将你看到的不错的 stock photo 发给 Midjourney Bot(我还是以前面的那张握手照为例)
右键复制该图片的链接,然后黏贴到输入框
在链接后加个空格
接着输入你想要的内容,比如将其中一个人的手换成黑人,一个人换成女性:
生成的结果是这样的,我在 prompt 里没有提任何西装,以及场景背景信息,就说我要一个非裔的手,一个亚裔女性的手:
抛开 6 根手指的问题,这个技巧是不是很高效?不过需要注意,blend 功能(这个后续教程会讲到)我发现更适合两张图融合,图片+文字不是很稳定,各位要有耐心,多测试一下。
4.技巧四:增加风格——艺术运动
因为篇幅的原因,本教程不会介绍特别多的风格,我会在我的小红书账号上更新。感兴趣的朋友可以去关注下。
前面生成的 logo ,有一些估计各位会觉得平平无奇,比如 Lettermark Logo,原因并不是 Midjourney 能力不强,而是我们给的指令太少了,只要在 prompt 里加几个单词,就能生成不一样的 Logo:左边四个的 prompt 是这样的,我仅仅在原来的 prompt 上加了两个单词 Pop Art:
Pop Art 是什么?
波普艺术(Pop Art,又译为普普艺术或通俗艺术),是一种起源于 20 世纪 50 年代和 60 年代的艺术运动,它强调对大众文化、大众媒体和消费主义文化的反思和表达。Pop 来自“流行艺术”(popular art)一词里的 popular,由 1956 年英国艺术评论家罗伦斯·艾伟(Lawrence Allowey)所提出。
Pop Art 的特点是:
它的内容主体一般是大众日常生活中常见的物品和图像,如广告标语、杂志封面、食品包装等。
一般用色比较大胆,同时线条比较简洁,强调物品本身的视觉效果和意义。
右边边四个的 prompt 是这样的,我在 prompt 里加上了 De Stijl 。
De Stijl 是什么?
它是一个荷兰艺术运动,始于 1917 年,致力于简化视觉元素,包括直线,平面和基本色彩。
它的成员包括画家 Piet Mondrian 和 Theo van Doesburg 等人。De Stijl 的成员致力于将艺术与设计融合,以创造出具有实用性和功能性的美学。
De Stijl 的特点有:
常常用几何图形进行设计,如矩形和直线。
用色基本只用基本色彩,比如黑、白、灰、红、黄、蓝。
追求平衡和和谐,强调形式和结构,不注重细节和表现力。
5. 技巧五:增加风格——艺术家
前一章介绍了增加艺术运动,从而使得生成的图片更加特别,本章再教大家一个方法,是增加艺术家的名字。首先需要注意,Midjourney 支持大部分的艺术运动,但在艺术家的支持上,相对来说比较少,经过网友们的不懈努力,截止到 3 月 31 日,V4 已知支持的艺术家有 2000 多位,V5 有 100 多位。其中在榜的 Logo 设计师,只有 Paul Rand 和 Saul Bass,Paul 是 IBM、英孚、NeXT logo 的设计师,Saul 是美国联合航空、AT&T logo 的设计师。使用方法很简单,在 prompt 最后加上 by Paul Rand 即可:
当然也不是说只能加 Logo 设计师,加上没有设计过 Logo 的设计师名字,也很有意思。比如右边四张图我加的就是 Piet Cornelies Mondrian,第三张 logo 有 Composition II in Red, Blue, and Yellow 那味了。左边四张则是 Paul 的,第二张红色框加黑色 A,有他的经典眼镜 logo 那味,非常喜欢:
最后需要注意,增加艺术家名,有可能出现以下情况:
多长图的风格都很像:这是因为某些艺术家有非常强烈的标志性风格,比如我很喜欢的 Piet Mondrian,你用他的名字,会发现可能生成的很多张图都是 Composition II in Red, Blue, and Yellow 的风格。
生成的图看上去不太像该艺术家的风格:我自己测试,发现有两种可能,一种是模型并没有学习这个艺术家的作品(特别新的艺术家我感觉一般都不会收录),另一种可能是你的 prompt 里的一些词,跟该艺术家的风格有冲突,比如用了达芬奇 Leonardo da Vinci,但主体是个日本二次元小姑娘。
PS:在本教程里的 Artist List 可以看到我比较喜欢的艺术家。
6.技巧六:善用 no 参数,去掉不想要的元素
在徽章 Logo 的案例里,你应该还看过单色的徽章,比如校徽。但 Midjourney 有个习惯就是倾向于生成复杂的内容,生成单色内容,你可以在 prompt 里加入颜色,背景等等词,让其变得简洁。
还有一个技巧是用 no 参数。比如我想制作一个单色校徽,校徽主体是一本书,同时因为 Midjourney 对文字不是很擅长,我还要去掉 text。以下是我的 prompt,我在最后加了 no realistic color(没有颜色)text(字)。
然后我把上面那个 Instant Noodles company 的 prompt 也加了 no text,最后生成的两组图片是这样的(最后需要注意,no 参数在 logo 里使用时,--no text 有的时候会失效,但如果你去掉 — 直接输入 no text 就会生效,很神秘,估计是个 bug):
7.技巧七:多参数同时使用
在使用 img2img 的方法生成头像时,我发现问题是「文字权重比图片权重高」,导致其生成的图片不像原图,iw 参数在 V5 里最多提升图片权重到 2,所以我就在想有没有可能进一步降低文字的权重。
然后我就试了下 s 参数,发现的确好了很多。
如果生成的图片还是不像,你可以在 —iw 2 基础上,再加一个参数 —s 200 ,注意同时用两个参数时,中间不要有逗号。我发现加了 s 参数之后的确像了很多,我个人猜测是 s 和 iw 连用会进步一削弱 text 的权重。
s 是控制生成图片的风格化程度。简单理解,这个值越低会更符合 text prompt 的描述,数值越高艺术性就会越强,但跟 text prompt 关联性就会比较弱。所以如果你生成的图还是不像,就加大这个值,比如调到 500。
我想通过这个案例告诉大家,多个参数一起使用,有可能会形成合力,进一步放大模型的能力。未来有新的参数能力,不妨也想想有没有可能一起用?
8.技巧八:使用 Seed 参数对图进行二次修改
注意:这个技巧,我个人觉得未来潜力比较大,但目前 Midjourney 的实现效果还比较一般,效果得不到保证。官方的社区的帮助文档也提到这个功能在 V5 非常不稳定。详细可以看看我整理的 Midjourney 官方 FAQ 一章。
你可能遇到类似这样的场景:
你输入一段 prompt,机器生成了 4 张图片
你看了下 4 张照片,发现其中有一张还行,但其余不是很满意,然后改了下 prompt,机器又生成了一些
但这次生成的照片你都不满意,你就很烦恼为何会这样
然后你就像为啥不能在第一次生成图上做修改呢?
基于某一次生成的结果进行二次 prompt 修改,理论上我认为是可以的,以赛博朋克头像为例,我先用上述 prompt 生成了四张图片,然后在消息的右上角点击 emoji 按钮(下图 1),然后再输入框里(下图 2)输入 envelope,然后点击信封 emoji(下图 3),接着 bot 就会将 seed 号码发给你。
然后我修改上面的赛博朋克头像的 prompt,将其背景改为 China Town,此时需要注意:
新的 prompt 并不是只改 background,你需要将之前的 prompt 都带上。
prompt 仅修改 background 的部分。
最后带上 seed 参数。
以下是我的案例:
原 prompt:
新 prompt(seed 码只是示例,你要填写自己的 seed):
以下是生成的效果(左图为原图,右图是用了 seed 后生成的图),可以看到,背景的确换了,但人的外观也有点变化 😂
效果不是很好,但我觉得值得探索,这样能提高渐进优化的成功率:
9.技巧九:神秘的 blend 功能
这个技巧,说实话,我感觉不能称其为技巧,但这又是一个 Midjourney 非常重要的 feature,所以在这里着重介绍一下。
这个功能使用起来非常简单,在 Discord 输入框里 /blend,然后点击这个菜单:
之后你的输入框就会变成这样:
然后你就可以点击这两个框,然后选择你电脑上的照片,添加完成后,大喊一声「使用融合卡」(不是),然后点击回车:
然后 Midjourney 就会生成这样牛逼的结果,左边是融合钢铁侠,右边是融合巴斯光年:
这个功能我第一次看到时,我是非常震惊的,以为是小时候看游戏王里主角们使用「融合卡」的那种效果。可惜并不是,这个功能非常不稳定,仅有在满足多个未知条件才能达到上述的效果。
我本来打算用这个方法用于生成头像,但我发现只要用自己的照片,融合其他风格的照片,效果都不太好,目前实验下来效果最好的是名人头像,我的感觉是因为 Midjourney 喂了不少名人的头像给模型,所以这种融合的效果都很好。
但我觉得它真的很适合做头像,将自己的头像跟另一张图片融合一下,就能生成一张不错的图,方便又快捷。可惜目前这个功能感觉还不太好用。
当然这个功能还不仅仅止于此,它还有很多使用场景,在后续会介绍给大家。
10.技巧十:控制变量法渐进优化
很多人把 AI 生成图片比喻为炼丹,我觉得非常贴切,很多时候,也不知道为啥,在 prompt 里加一点神秘配方,图片就会很不一样。
不过我觉得虽然过程很像炼丹,但并不代表我们需要像古人那样,用撞大运的方式炼制丹药。我认为目前使用 Midjourney 最好的方法是:控制变量渐进优化法。
拿上面那个装备集的图片为例,我希望它生成的是装备,并且是一件件地排布,而且光剑的效果也很奇怪,首先我们来逐条排查 prompt:
从这个表里可以看到,我们发现了三个问题,其中第一个黏土风格问题,跟最后一个问题有关,此时我的建议是:
每次仅修改一个,其余变量不变。
修改完一条,效果符合预期后,再修改下一个。
我的经验优先修改主体内容,因为主体有的时候会影响其余的变量。
如果想确定这个修改是否具有一致性,或者说是否符合要求,而不是恰巧符合,可以用相同的 prompt 再生成一次。不过因为没生成一次都要花钱,所以这个是可选项。
OK,按照以上原则,我们修改一下我们的 prompt,看看生成了什么,的确加了 different types of 后,光剑就多了,问题解决了:
然后我们修改下 blender 3d,将其改为 clay render (黏土渲染),我改完之后发现生成的结果(左边四张),好像质感还是差了一点,于是我又试了下保留 3d blender 加 oily 的效果(中间四张),以及 clay render 加 oily 两个一起用(右边四张)。
我个人觉得好像两个都改了效果是最好的(右边四张)。
对比一下最开始的 prompt 生成的图片,是不是最终的图片效果更好?所以这个技巧主要想告诉大家,写 prompt 没有必要照抄答案,你也有能力自己写好 prompt。
11.技巧十一:增加风格——国家
说到手办,大家应该第一反应会想起日本,再介绍一个技巧,在 prompt 里加入 Japanese style 即可,拿圣女贞德作手办,以及之前做的 logo 作为例子:
圣女贞德是不是有种 FF 的感觉?Logo 也比较简洁,猫的外观也有点像动漫里猫的外观,当然除了 Japanese 还有 Chinese(左边 4 张),甚至 African Style:
12.技巧十二:增加权重
各位有没有发现,上面那个 Chinese 手办生成的结果好像只有第三张是中国人面孔?原因是 Chinese style 的权重太低,所以仅输出了一个结果。你在实践的过程中,也肯定会遇到,AI 忽略了某些 prompt 词的情况,比如你提到画面中要有一只鸟,但它就是没画出来。
那为何会产生这样的结果?原因 Midjourney 的 prompt 权重是按照顺序逐个降低(详情请见我翻译的 Midjourney 官方 FAQ),在我们上面的 prompt,我们将 Chinese Style 放到了最后,所以生成的结果也是最少的。忽略了某些词,这个原因暂时为止,但应该很可能是权重导致的问题。
增加权重的方法有很多,最简单的方法就是调整顺序,比如将上面的 Chinese Style 放到最前面(然后生成的结果就是眯眯眼 style 了 🤣,我生成了两次,第二次好一些):
调整下顺序,效果就大不一样,所以各位不要迷信所谓的 prompt 模板,多试试。
第二种方法是 Slider 方法。
你需要在 prompt 最后加 ,然后加上你需要调整权重的词语,接着再加 ,最后加上权重值。比如还是上面的例子,我想突出 Chinese style 但不想调整顺序,就可以改为:
然后你会发现,好像权重太高了,生成了跟 prompt 无关的图(下方左图),那我们可以在原来的基础上,再加以下 Joan of Arc 的权重(下方右图):
你可以看到,调整参数后,生成的 4 张图有 2 张具备较强的 Chinese 风格:
不过坦率说来,这个方法,并不特别适合这个案例,调整主体内容,或者顺序, ROI 会更高一些,这个方法更适合 miss 掉某个 prompt 词时使用,比如官方的案例是这样的:
生成的图片里(左四张图),猫咪们都看着你(你可能才是 crying woman 😂),如果用 slider 的功能(右边四张),crying woman 就出现在画面里了:
另外需要注意,slider 可用的参数有 0.25、0.5、0.6、0.7,也可以用这个方法降低权重,区间是 -0.7、-0.6、-0.5、-0.25:
如果你用了 slider 还是没有出现应该有的画面,那还有一个大招 cowbell,坦率说来,这个并不符合 Midjourney 的官方最佳实践,但的确是个可行的方法,以下面这个 prompt 为例,生成的图片里,woman 看起来并不 shy(左边四张图):
此时你可以重复重复再重复(我觉得这就是为何这个方法叫 cowbell 的原因):
13.技巧十三:善用灯光
坦诚地跟大家说,我不是设计师,也不是摄影师(而且我非常不擅长摄影),所以我仅能跟大家分享一下基础内容,因为这个对我来说,太多过程性知识了,不实际操作过,根本不知道有什么。
言归正传,摄影中,常用摄影灯光有以下几种:
主灯 (Key Light):主灯是最基本的摄影灯光之一,通常放置在被拍摄物体的正前方或正侧方,用于照明主体,决定拍摄物体的主要明暗度。主灯通常是亮度最高的灯光。
填光灯 (Fill Light):填光灯用于弥补主灯照射的阴影部分,调整阴影的深浅程度,使照片明亮一些。通常填充光应该比主光暗一些,以避免出现过度曝光。
逆光灯 (Back Light):逆光灯用于照射被拍摄物体的背面,能够区别出主体和背景,并使物体轮廓变得清晰,常用于拍摄骨感、重物感和逆光效果的照片等。
环境光 (Ambient Light):环境光就是摄影环境自然产生的光线,包括室内照明、自然光、街灯等,它可以补充被拍摄物体的表面,提升照片的自然度和真实感。
故事性灯光 (Special Light):通常是为了制造出某种情境或者表达某种意义而使用的,例如烛光、亮光等。它们能够产生温暖、浪漫、神秘等场景和气氛,以探索和表达艺术的想象力和创造力。
基于这些灯进行排列组合,你会得到不同使用场景的灯光。灯光的细节种类,可以去我归纳的 Lighting List 里查看,我这里主要分享一些常用和易用的场景灯光:
14.技巧十四:增加风格——年份
上面的老照片场景,我们用了 1990s 风格,严格地说,这个 1990s 更适合放在主体,或者环境里,放在风格里也不是不行,因为不仅仅希望主体是 1990s 还希望图片生成的风格也是 1990s。
这就是最后一种风格词用法:年代。
拿插画那一章的两个 prompt 修改一下,我都没在 prompt 里加艺术家的名字,而是改为 style of 1920s,玫瑰的图有点那味,猫的图右上角那张太逗了。
15.技巧十五:如何让 Midjourney 生成的人更具有多样性?
这里的多样性其实是指人的高矮胖瘦,甚至身体的一些特殊性等。
不知道各位有没有发现,大多数用 AI 生成的图片,人物都非常漂亮和英俊,但这并不好,这其实某种程度上代表了社会的偏见。
所以我想在本章重点介绍下,如何让 Midjourney 生成更多样的人体。
方法一:Slider 方法
在上一章,我介绍了增加权重的方法,这个方法还可以帮助你生成不同体型的人物,以下是 Midjourney 官方社区的案例:
你可以控制 plus-sized 后面的参数,从而使画面中的人物变胖或者变瘦。这里需要注意,并不是负数就是越瘦的意思,而是削弱了 plus-sized 权重,如果你的 prompt 词是 thin 你加个负数 slider 参数那就是变胖了:
方法二:直接描述
Midjourney 是知道一些多样性的词语的,比如:
blind:失明
deaf:聋
cerebral palsy:小儿麻痹
accessibility:行动不便
16.技巧十六:改变相机与镜头
前几章节分享了灯光,本章分享下,相机和镜头。
可能有些朋友用过一些手机 App ,它并不像 PS 工具那样,允许你修改图片的白平衡等参数,而是让你体验用旧相机(如胶卷相机)拍照,虽然本质上来说,它也是通过各种参数来模拟当年的相机效果,但的确挺有意思的。
在 Midjourney 里,你也可以通过增加相机或者镜头的名称,从而达到类似的效果。根据我的实验,Midjourney 可以改变以下几类:
相机:支持不同种类的相机,比如运动相机 GoPro
胶卷:比如 8 mm 电影胶卷
镜头:比如 15 mm 镜头
相机设置:比如长曝光、双重曝光
景深 & 焦点:比如深景、浅景,还有消失点
我很喜欢双重曝光的效果,以及长曝光:
不过各位使用时,需要根据自己的场景选择合适的相机和镜头,比如无人机视角,都不太适合拍近物:
17.技巧十七:看到别人的图,想知道它的 prompt 是啥
最简单的方法,当然就是直接问。
如果问不到,倒是可以借助一些工具,Midjourney 支持图片转 prompt 功能。方法很简单。第一步在输入框输入 /describe:
点击 describe 后,会弹出一个添加文件的入口,上传文件,并点击回车。
Midjourney 就会返回结果,点击图片下方的 1、2、3、4 按钮,可以直接发 prompt 给 bot,让其生成图片,右边是分别用 #1 和 #4 prompt 生成的图片,我觉得用它来探寻原图的构图、主体、风格应该都不错,但不要预期能生成一个完全一样的图:
参考链接:
https://github.com/thinkingjimmy/Learning-Prompt
https://github.com/wangxuqi/Prompt-Engineering-Guide-Chinese
https://github.com/tonyyuhang/ChatGPT/tree/main
https://github.com/f/awesome-chatgpt-prompts
版权声明: 本文为 InfoQ 作者【汀丶】的原创文章。
原文链接:【http://xie.infoq.cn/article/656cd126cc47bb796ad0289be】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论