Midjourney绘图技巧(上篇)
技巧一:临摹
我认为学习图片类的 prompt,跟学习画画是类似的,最好的学习方法不是直接用模板。
而是拿真图,或者别人生成的图来临摹。英文不好,也可以先写中文,然后让 ChatGPT 翻译。当你临摹了几张后,你就会慢慢搞懂如何做出类似的图了。
拿上面的那个握手图为例,我们仔细观察上面那张图,图中元素有什么:
第一主体是两个手,然后握在了一起,并且看起来是两个亚裔男人。
第二两人都穿着西装。
第三背景看上去像是在办公楼的大门,两人可能是在握手告别。并且背景刻意进行虚化了,或者是使用照相机拍摄的。
再归纳总结下,大概的信息:
-
主体:两个穿着西装的亚裔男人在握手告别
-
场景:办公楼大门
-
图像风格:stock photo,照相机拍摄,
这时候,我们就能尝试写一下 prompt 了(如果你觉得自己英文水平还不太行,也可以尝试用翻译软件翻译)。
stock photooftwo Asian meninsuits shaking hands,say goodbyeinfrontofthe main entranceofthe office building,takenwithCanon
Midjourney 生成的结果如下所示。
Emm 好像跟我们的预期不一样。不要慌,刚开始用 Midjourney 一定会遇到这种问题,重要的是多尝试。
我们再来分析下 Midjourney 为何生成了这样的图片?复盘下:
-
首先图片的主体,或者说焦点,我们只需要「握手」,而不是两个人。
-
照相模式好像并不能实现背景虚化?更像是一种图像风格,图四就像是一种老照片的风格。
那我们调整下 prompt,增加焦点和背景虚化关键词:
stockphoto of two Asian men in suits shaking hands,say goodbye in front of the main entrance of the office building, focusontwo hands, taken with Canon, background bokeh
再来看看生成的结果,结果好很多,图 1 和 图4 基本满足需求了,图 2 和图 3 裁剪一下,也能满足我们的需求。不过需要注意,Midjourney 在人手的生成上,暂时还有点问题,你细看图 2和图 4,其中有一个人的手有 6 个手指 ,但我认为未来应该会修复:
那我们来总结一下 prompt ,该 prompt 分成以下几个部分:
-
第一部分(红色线):描述你想要的内容主体。
-
第二部分(蓝色线):描述主体背景/环境。
-
第三部分(黄色线):照片的焦点位置。
-
第四部分(绿色线):照片的风格或者说是特殊要求。
技巧二:多实验
我还想教给各位第二个技巧:多试验。
图片生成遇到不符合预期的情况,不要慌,分析问题,然后使用控制变量法,一个个调整图片,不要急,上面我写的 prompt 还有一个地方,不知道各位有没有注意,就是开头的 stock photo,试试将这两个词删掉会怎样?
twoAsian men in suits shaking hands,say goodbye in front of the main entrance of the office building, focusontwo hands, taken with Canon, background bokeh
生成结果也依然满足需求,而且手指的数量也准确了,说明这个 Stock Image 对模型的影响不是很大。
技巧三:善用 Image2Image 功能
在 Stock Photo 场景里,还有一个非常厉害的技巧,这个方法我一开始觉得不太适合教,因为这个对 Stock Photo 库影响太大了
但本着工具中立的原则,并且这个技巧,其实在很多场景都能用(比如生成头像等),所以还是觉得有必要教给大家。
各位一般用 Stock Photo 库会遇到以下几个问题:
-
图有版权,没法商用,或者说需要付费。
-
有些图,被很多人用过,其他人一眼就看出来这是 Stock Photo。
-
图里的内容大体符合要求,但细节不符合要求,比如上图两个亚洲男性握手,可能换成一男一女,且其中一人是黑人会好一些。
要解决这三个问题,最好的方式就是让 AI 改一改原来的图片。让 AI 改图,只需要用到 Image2Image(或者叫 Blend) 功能即可。操作步骤如下:
后来在某书刷到类似的教程,我才知道这个方法大家一般叫垫图。老外好像一般都叫 Image2Image,或者 img2img。
-
将你看到的不错的 stock photo 发给 Midjourney Bot(我还是以前面的那张握手照为例)
-
右键复制该图片的链接,然后黏贴到输入框
-
在链接后加个空格
-
接着输入你想要的内容,比如将其中一个人的手换成黑人,一个人换成女性:
one Afican-American hand and one Asian woman hand
生成的结果是这样的,我在 prompt 里没有提任何西装,以及场景背景信息,就说我要一个非裔的手,一个亚裔女性的手:
抛开6 根手指的问题,这个技巧是不是很高效?不过需要注意,blend 功能(这个后续教程会讲到)我发现更适合两张图融合,图片+文字不是很稳定,各位要有耐心,多测试一下。
技巧四:增加风格——艺术运动
前面生成的 logo ,有一些估计各位会觉得平平无奇,比如 Lettermark Logo,原因并不是 Midjourney 能力不强,而是我们给的指令太少了,只要在 prompt 里加几个单词,就能生成不一样的 Logo:左边四个的 prompt 是这样的,我仅仅在原来的 prompt 上加了两个单词 Pop Art:
letter A logo, lettermark, typography,vectorsimple, Pop Art
Pop Art 是什么?
波普艺术(Pop Art,又译为普普艺术或通俗艺术),是一种起源于20世纪50年代和60年代的艺术运动,它强调对大众文化、大众媒体和消费主义文化的反思和表达。Pop 来自流行艺术(popular art)一词里的 popular,由1956年英国艺术评论家罗伦斯·艾伟(Lawrence Allowey)所提出。
Pop Art 的特点是:
-
它的内容主体一般是大众日常生活中常见的物品和图像,如广告标语、杂志封面、食品包装等。
-
一般用色比较大胆,同时线条比较简洁,强调物品本身的视觉效果和意义。
右边边四个的 prompt 是这样的,我在 prompt 里加上了 De Stijl 。
letter A logo, lettermark, typography,vectorsimple,De Stijl
De Stijl 是什么?
它是一个荷兰艺术运动,始于 1917 年,致力于简化视觉元素,包括直线,平面和基本色彩。
它的成员包括画家 Piet Mondrian 和 Theo van Doesburg 等人。De Stijl 的成员致力于将艺术与设计融合,以创造出具有实用性和功能性的美学。
De Stijl 的特点有:
-
常常用几何图形进行设计,如矩形和直线。
-
用色基本只用基本色彩,比如黑、白、灰、红、黄、蓝。
-
追求平衡和和谐,强调形式和结构,不注重细节和表现力。
看完这些介绍,再看看 Midjourney 输出的 Logo 是不是有那味了?
技巧五:增加风格——艺术家
前一章介绍了增加艺术运动,从而使得生成的图片更加特别,本章再教大家一个方法,是增加艺术家的名字。首先需要注意,Midjourney 支持大部分的艺术运动,但在艺术家的支持上,相对来说比较少,经过网友们的不懈努力,截止到 3 月 31 日,V4 已知支持的艺术家有 2000 多位,V5 有 100 多位。其中在榜的 Logo 设计师,只有Paul Rand和Saul Bass,Paul 是 IBM、英孚、NeXT logo 的设计师,Saul 是美国联合航空、AT&T logo 的设计师。使用方法很简单,在 prompt 最后加上 by Paul Rand 即可:
letter A logo, lettermark, typography, vector simple,byPaul 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 可以看到我比较喜欢的艺术家。
技巧六:善用 no 参数,去掉不想要的元素
在徽章 Logo 的案例里,你应该还看过单色的徽章,比如校徽。但 Midjourney 有个习惯就是倾向于生成复杂的内容,生成单色内容,你可以在 prompt 里加入颜色,背景等等词,让其变得简洁。
还有一个技巧是用 no 参数。比如我想制作一个单色校徽,校徽主体是一本书,同时因为 Midjourney 对文字不是很擅长,我还要去掉 text。以下是我的 prompt,我在最后加了 no realistic color(没有颜色)text(字)。
emblem for a universitywithlargebook, vintage--no realistic color text
然后我把上面那个 Instant Noodles company 的 prompt 也加了 no text,最后生成的两组图片是这样的(最后需要注意,no 参数在 logo 里使用时,--no text 有的时候会失效,但如果你去掉 — 直接输入 no text 就会生效,很神秘,估计是个 bug):
技巧七:多参数同时使用
在使用 img2img 的方法生成头像时,我发现问题是「文字权重比图片权重高」,导致其生成的图片不像原图,iw 参数在 V5 里最多提升图片权重到 2,所以我就在想有没有可能进一步降低文字的权重。
然后我就试了下 s 参数,发现的确好了很多。
如果生成的图片还是不像,你可以在 —iw 2 基础上,再加一个参数 —s 200 ,注意同时用两个参数时,中间不要有逗号。我发现加了 s 参数之后的确像了很多,我个人猜测是 s 和 iw 连用会进步一削弱 text 的权重。
s 是控制生成图片的风格化程度。简单理解,这个值越低会更符合 text prompt 的描述,数值越高艺术性就会越强,但跟 text prompt 关联性就会比较弱。所以如果你生成的图还是不像,就加大这个值,比如调到 500。
我想通过这个案例告诉大家,多个参数一起使用,有可能会形成合力,进一步放大模型的能力。未来有新的参数能力,不妨也想想有没有可能一起用?
技巧八:使用 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:
{img url} avatar, cyberpunk robot face, holographic VR glasses,holographic cyberpunk clothing, neon-lit cityscape background, Cyberpunk,byJosan Gonzalez --s500--iw1br
新 prompt(seed 码只是示例,你要填写自己的 seed):
{imgurl}avatar,cyberpunkrobotface,holographicVRglasses,holographiccyberpunkclothing,ChinaTownbackground,Cyberpunk,byJosanGonzalez--s500--iw1--seed758242567br
以下是生成的效果(左图为原图,右图是用了 seed 后生成的图),可以看到,背景的确换了,但人的外观也有点变化
效果不是很好,但我觉得值得探索,这样能提高渐进优化的成功率:
技巧九:神秘的 blend 功能
这个技巧,说实话,我感觉不能称其为技巧,但这又是一个 Midjourney 非常重要的 feature,所以在这里着重介绍一下。
这个功能使用起来非常简单,在 Discord 输入框里 /blend,然后点击这个菜单:
之后你的输入框就会变成这样:
然后你就可以点击这两个框,然后选择你电脑上的照片,添加完成后,大喊一声「使用融合卡」(不是),然后点击回车:
然后 Midjourney 就会生成这样牛逼的结果,左边是融合钢铁侠,右边是融合巴斯光年:
这个功能我第一次看到时,我是非常震惊的,以为是小时候看游戏王里主角们使用「融合卡」的那种效果。可惜并不是,这个功能非常不稳定,仅有在满足多个未知条件才能达到上述的效果。
我本来打算用这个方法用于生成头像,但我发现只要用自己的照片,融合其他风格的照片,效果都不太好,目前实验下来效果最好的是名人头像,我的感觉是因为 Midjourney 喂了不少名人的头像给模型,所以这种融合的效果都很好。
但我觉得它真的很适合做头像,将自己的头像跟另一张图片融合一下,就能生成一张不错的图,方便又快捷。可惜目前这个功能感觉还不太好用。
当然这个功能还不仅仅止于此,它还有很多使用场景,在后续会介绍给大家。