本节课程是midjourney的进阶课程,本节课我们将学习如何设计优秀的提示词引导midjourney更好地按照我们的想法出图,我们也会讲述一些实用指令的应用方式,然后我们也会讲述通过图生图的方法,更好的控制图像生成结果。接着我们会演示通过局部重绘功能,实现图像的局部调整和修改。最后我们会再讲解关于模型的一些基础知识,以便大家在出图之前能根据需求更好地选择合适的模型。
一:提示词框架
我们通过chatgpt的学习课程已经了解到,提示词以及提示语句是我们与AI程序交互的桥梁,我们的需求通过提示词或提示语句的方式传递给AI程序,然后AI算法根据学习到的数据和信息再结合我们的提示词或语句去生成结果。
提示词和提示语句的设计同样也是midjourney的使用关键,midjourney的提示词设计实际是图像构思的文字描述过程,我们在大脑中构思一副图像,然后将这幅图像用文字语言描述出来,提供给midjourney。midjourney如何很好地理解我们的文字描述和意图呢?,我们又如何对图像做一些细节的设定和调整呢?这些,midjourney有着属于自己的一套特定的最佳实践规范。
第一:
虽然提示词也可以使用中文,但是midjourney目前对中文提示词的支持还非常有限。如果英文比较好,我们建议直接书写英文提示词,如果英文水品有限,我们也建议借助翻译软件,比如百度翻译,将书写的中文提示翻译成英文后再输送给midjourney。
第二:
我们书写提示词的过程,实际上是将构思画面用语言描述的过程,但是,midjourney对文字的理解和我们对自然语言的理解是有区别的。
比如,我们构思的画面可能会有很多元素,如果用自然语言详细描述出来,可能需要非常长的文字内容,这些文字给到midjourney,可能并不能得到期望的画面,这是因为midjourney对长语句的理解可能会出现偏差,虽然当前midjourney最新的模型对长语句的理解能力已经有了很大的提升,我们还是推荐尽量采用简洁的词或句字,我们推荐尽量采用短词或短句去描述我们的图像构思,比如我们可以采用逗号分隔的多个短词或多个短句来描述画面中的元素与细节。
第三:除了尽量使用简洁词句,一些文字细节也需要特别注意
比如。midjourney模型有的时候不能很准确地理解介词,这个时候,我们需要采用更好地方式去描述场景。
比如如果使用提示词a girl walking on a spaceship”,生成的图片可能会与我们的预期有偏差,而换个角度修改提示词,去掉了介词
“a spaceship corridor contains a striding girl”,则生成的图片更符合我们的预期。
注意这里强调的只是转换描述方法,并不是不能使用介词,通常是当某些介词的使用使得生成图片偏离预期时,可以考虑更换表述方式。
另外,提示词中词句的顺序会对图像产生影响,较前的词句,会更多地影响生成的图像。
如上所述,书写提示词其实也是根据画面构思组合简短词或句过程,我们对midjourney的提示词总结了一个规范性的框架:
主体+环境+风格+画质渲染
我们可以以上述方式组合书写提示词,
其中,
1、主体:也就是画面的主体内容是什么,比如我们的脑海勾勒的是一副关于人物的图像,人物则是主体,其主体描述主要包括人物的发型、五官、姿态、服装。
2、环境:即图像背景内容,光线和视角
3、风格:主要描述绘图风格比如艺术风格,也可以是艺术家名字,midjourney如果读到艺术家名字,能根据其学习到的艺术家作品风格来绘制图像
4、画质渲染:比如增加高画质表述,渲染方式可以是c4d,3ds max等专业词,画质渲染提示词对图像绘制实际作用有限,比如高清等等描述词,对图像影响不大,我们可以加也可以不加,加上也不会有什么坏处,提示词最重要的部分还是主题,环境和风格描述。
我们将简短词或句用逗号分隔,然后按上述的框架逻辑组合起来,通常便能得出一份不错的midjourney提示词。
我们举例演示一下
我们在脑海中勾勒出一副画面,一位美丽的女孩在海边漫步
1、主体是中国女孩,黑色长发,白色裙子,画面中的女孩是侧脸,高高的鼻梁,大大的眼睛,细长的眉毛,
2、环境是海边,有沙滩,湛蓝的大海
3、风格是写实风格,长镜头
4、画质:高清画质 super detail,ultra HD
然后组合上述描述提示词:
中国女孩,黑色长发,白色裙子,画面中的女孩是侧脸,高高的鼻梁,大大的眼睛,细长的眉毛,海边,沙滩,湛蓝的大海,照片,广角镜头,高清画质
如之前所述,midjourney目前不能很好处理中文描述,我们还需要使用翻译软件将上述描述翻译成英文,我们可以使用翻译软件,得到翻译结果:
Chinese girl with long black hair and white skirt, side face, high nose bridge, big eyes, slender eyebrows, seaside, beach, azure blue sea, photography, wide-angle lens, high-definition image quality
如果有一定英文基础可以稍作修改
Chinese girl with long black hair and white skirt, side face, high nose bridge, big eyes, slender eyebrows, sea beach, azure sea, photography, wide-angle lens, super detail,ultra HD --ar 4:3
复制提示词到midjourney提交,
midjourney很快便会帮我们绘制4幅精美的图片。
我们稍微修改一下提示词,更换一下风格,换成油画风格,
Chinese girl with long black hair and white skirt, Side face, high nose bridge, big eyes, slender eyebrows, sea beach, azure sea, oil painting, wide-angle lens, super detail,ultra HD --ar 16:9
设定好参数,16:9图像,提交
可以看到midjourney使用了油画风格绘制图片。
我们再看一个例子:
我们现在想让midjourney帮我们画一幅中式风格家居场景图,我们在脑海中先勾勒场景,包括主体,风格,环境光线等。
我们设计的提示词如下
客厅,中式风格,大电视,茶几,沙发,吊顶灯, 明亮的光线
翻译成英文:Living room, Chinese style, large TV, coffee table, sofa, ceiling light, bright light
复制提交,midjourney会帮我们绘制出具有典型中国风的客厅场景图
以上两个例子可以看到,借鉴提示词框架,构造好提示词组合,然后借助翻译工具翻译成英文,传递给midjourney,便能让midjourney帮助我们绘制想要的图像。
由于midjourney已经是非常受欢迎的AI绘画工具,而提示词是使用midjourney的关键,所以很多好用的midjourney提示词工具也陆续推出,比如一些网站就提供了midjourney提示词助手服务,可以帮助我们快速书写提示词,这些网站很多,我们就不再讲述,大家可以自行搜索。另外很多站点也提供了优秀的midjourney作品,我们可以参考这些优秀的midjourney作品,学习他们的提示词写法。
二:提示词分析指令 /shorten
对于提示词,midjourney官方最近也推出了一个非常有用的指令/shorten,该指令可以帮助我们调试提示词,
比如,我们输入命令/shorten,然后输入提示词beach, sea, a beautiful asian girl,midjourney会给出分析结果,
我们可以根据这些分析结果了解到midjourney是如何理解我们书写的提示词的,我们可以根据这些信息决定如何去调整提示词。
三:提示词权重
刚刚,我们介绍了midjourney提示词的基本书写框架,而关于提示词,还有一些重要的知识点需要了解。
由于AI绘图具备很强的随机性,其绘制的图像与我们的设想可能会有些出入。比如
我们想要绘制一幅图像,图像中的主体是花,草,树,河流,我们给出提示词
flower, grass, tree, river
这时midjourney通常都能绘制出包含这些提示词元素的图像
但现在我们希望图像中更突出树这个元素,如何告诉midjourney呢?,根据上节课程的讲述,我们可以将tree提示词放到最前面,从而更加突出tree这个元素,
但是此时绘制的图像,可能仍然无法达到我们的预期。
这个时候,我们可以通过设置提示词权重的方式来实现预期的功能,设置提示词权重可以让 AI更多或更少的考虑对应的提示词元素。
设置提示词权重的方法是使用双冒号,在词的后面加上双冒号并设置数字即可,比如我们这里使用
tree::3, flower, grass::1, river::1 ,将树的权重设置为3,其他元素的权重设置为1,
可以看到midjourney绘制出的图像更加突出了树这一元素,这就是权重的作用。但需要注意的是,权重的设置也可能会影响其他提示词元素,这里绘制的图片,flower和river元素都基本上缺失了,这是因为tree的元素权重设置过大,导致其他元素未出现在画面中,我们需要根据实际情况更加合理地分配权重比例,比如将其他元素的权重设置为2,调整提示词为tree::3, flower, grass::2, river::2,重新提交,
可以看到,新的权重比例设置使得midjourney绘制的图像更加地符合我们的预期。
关于权重,有几点需要提醒大家,
第1: 双冒号后如果不接数字,则默认权重为1,flower, grass::1, tree::3, river::
第2: 没有双冒号则权重默认为1,flower, grass::1, tree::3, river这个river权重是1
第3: 需要注意例如flower, grass::3, tree::6, river这个语句,flower没有接冒号?但是flower的权重是3不是1
这是因为如果提示语句中出现了双冒号,则双冒号会将提示语句分为几个部分分别计算权重,这里grass后双冒号权重设置,对flower和grass提示词都是生效的。
第4: 我们还可以设置负权重
::-0.5权重设置则是不显示该元素的意思,和—no参数效果相同
比如flower, grass::-0.5, tree::, river
则花和草都将不会出现在图像中
提示词权重其实是控制AI随机性的一种技巧,控制AI随机性无论对midjourney还是stable diffusion等人工智能绘画应用都是重要的课题,控制AI随机性有很多方法和思路,如上节课程中提到的seed种子值,cref人物一致性,也是控制AI随机性的一种方法。另外,下面讲述的垫图,局部重绘等方法也是控制随机性的手段。
四:图生图
我们接下来看一下midjourney的图生图功能。
图生图,我们通常又称做垫图,这是AI绘画非常重要的一个功能。
在midjourney中,我们先上传图片,然后加上详细的文字描述,便可以让AI程序基于上传的图片和文字,重新生成图像
我们演示一下。
我们先上传一张图片,先点击聊天窗口旁边的加号,点击上传文件,
选择本地的一张图片(这是一张女性的图片),点击回车,即可将图片上传到discord服务器中。
接下来我们要获取上传后的图片链接地址,获取图片链接地址的方法有很多,比如点击上传后的图片,会打开预览图,回车,或者点击预览图下方的“在浏览器中打开”,然后图片会在浏览器窗口中打开,复制浏览器中的地址,这就是图片的链接地址。
不过实际操作中,我们通常采用更简便的方式,即按住鼠标左键不动,拉到提示词输入框,图片链接会自动填充到提示词输入框中
我们可以使用上传的图片,也可以使用midjourney生成的图片,然后让midjourney会基于目标图片来生图,具体如何操作呢?还是使用imagine指令
在聊天窗口输入/imagine指令,提示输入提示词,这个时候,我们可按上述方式将图片链接输入到提示词输入框中,然后空格,再填入其他提示词:
girl,sea,beach --ar 16:9回车,
midjourney会帮我们生成一幅女孩在海边的图像,我们可以看到,图像中的女孩虽然和我们上传的图像是不一样的,但是还是有很多相似的地方。
这就是图生图的强大功能。我们也可以上传多个图像,只需要按上述方式上传图像,获取图像链接,然后复制图像链接到提示词输入框,需要注意的是每个图像链接之间需要以空格分隔,图像和提示词之间也使用空格分隔。
可以看到,新生成的图片融合了多张垫图的特征。
我们在前面讲述了可以通过设置权重,来增强和减弱提示词对生成图片的影响程度,而在垫图的过程中,我们也可以设置图片的权重,我们可以通过使用--iw参数对垫图设置权重。权重越高,生成的图像则会越多的参考上传的图像,比如
我们这里将图像的权重调高,可以看到,生成的图片就更接近所参考的图片。
五:/describe指令应用(设计师推荐)
在上节课程中讲述/describe指令时我们有提到,对于设计师而言,很多时候会参考一些优秀的图片来进行设计,尤其是为了避免版权问题,不能直接使用未经授权的图片,这个时候我们可以使用midjourney的/describe和图生图功能来快速绘制新的设计图。
我们举例说明,这里有一张很不错的图片,我们希望设计一张类似的图片。
我们首先上传该图片,
然后使用/describe命令,获取该图片的描述信息,
describe命令会分析出来多组信息,我们可以任选一组信息作为图片的提示词,复制下来。
然后我们使用/imagine 指令,并垫上上传的图片,然后粘贴刚刚复制的提示词,回车提交。
midjourney很快便生成了图片,可以看到,生成的图片很好的借鉴了垫图,同时进行了一些创意型的设计。
上节课程我们也演示过blend指令,/blend多图融合实际也可通过图生图的方式实现,上传图像获取图像链接后,使用/imagine指令将多个图像链接复制到提示词中,且以空格分隔,然后不填写任何提示词回车提交即可。不过,blend指令简化了操作过程,不需要手动获取图像链接。
总的来说,在AI绘图领域,垫图是最为常见的图像控制与实战应用手段,很多时候我们都会通过该手段来对AI绘图过程进行引导,我们需要熟练掌握。演示了图生图功能
六:局部重绘
我们接下来看一看midjourney另外一项重要功能,局部重绘,何为局部重绘呢?
局部重绘是指让AI只绘制图片的局部区域,其他区域保持不变的一种图像绘制方法。
我们选择之前生成的一幅图片,在4宫格图像中选择一张图像,点击U按钮,midjourney帮我们生成大图
生成的大图下方,我们看到有3个重绘按钮
我们在上节课程中已经讲述这几个重绘按钮的功能和区别,第三个Vary(Region)则是我们这里重点介绍的,我们上节课程演示局部重绘时没有对提示词进行调整,但在实际操作中,局部重绘很有可能会伴随图像元素的改变,从而也需要对提示词进行调整。比如我们需要在图像中增加两只小鸟,但是我们不希望改变图像其他的部分,这个时候我们借助局部重绘功能,并使用套索或者矩形框工具,在图片的局部选择一部分区域,然后修改提示词,增加sea-gull is flyging,点击提交按钮。
midjourney重绘图片,框选的区域之外不会发生变化,而在框选的区域,绘制了一只海鸥
这就是局部重绘,就目前而言,midjourney的重绘功能还有很多需要改进的地方,比如有时候局部重绘的区域与原图融合程度需要改善,这些,midjourney在未来应该会有更好的手段来提升重绘功能的适应性。
七:模型介绍
以上是关于midjourney的一些进阶使用方法,本节课程的最后,我们再简单介绍一下midjourney不同模型的区别,好让大家在使用midjourney时可以根据自己的需求,快速的选择合适的模型。
midjourney目前共推出了V1-V5,V5.1,V5.2,v6模型以及NIJI4,NIJI5,NIJI6模型
这里给出了模型绘制图片的对比。
V1到V3为midjourney推出的早期版本,分别于2022年2月,4月,7月推出,早期的版本在生成图的质量方面还是偏弱一些,这些早期版本我们现在已经比较少使用。虽然V1~V3模型出图质量偏弱,但是在当时,已经是非常惊艳的表现了,也为后续更加优秀的模型奠定了基础。
从2022年11月推出的V4版本开始,midjourney成图质量得到了巨大的提升,也超越了当时的stable diffusion,V4模型的推出促使midjourney的社群和用户飞速增长。。
V5模型相比V4模型,画面的真实感得到进一步提升,画面也更具美感
V5.1模型V5.2模型则在V5模型的基础上进一步提升了画面的美感,比如V5.2在角色设计方面,面部细节等方面,就进行了更多的优化。
V6模型是一个完全从头训练的模型,相比早前的模型,v6模型对长句的理解有了很大提升,语义理解也更加准确,另外,图像细节更加精致,光影的处理更加自然,画面质感显著提升,同时还增加了如文本生成等一些之前的模型难以实现的能力。
Niji模型主要用于制作二次元风格的图像,擅长动画和插图风格的图像绘制,需要注意的是,niji是经过特殊风格趋向训练得出的模型,他并不是一个升级版本。该模型侧重于动漫、动漫风格和动漫美学。一般来说,在动态和动作镜头以及以角色为中心的构图方面表现出色。
NIJI包括模型4,5和6。
在prompt末尾添加参数--niji 4,5或者6或/settings设置模型默认值就可以调用对应的niji模型。
Niji 5和niji 6模型可以使用--style参数引导生成具有某些特征的图像。
比如niji5使用--style参数可以使图像更趋向某种风格。
--style cute 更适合创建迷人的和可爱的角色、道具和摆设。
--style scenic 主打场景以及场景与人物的合理融合
--style expressive 注重表现主义风格,绘制图像时表现力和色彩都要更丰富更有活力,比如使用这种风格制作的3D类图像会很明亮。
--style original 用原始的版本,也就是使用默认的方式
而niji6使用--style raw可以使图像风格更原始,不再那么 “动漫” 或华丽
此外,niji 5和niji6对--stylize参数比较敏感,我们可以使用--stylize参数来微调图像,大家可以自行尝试。
八:快速查找历史图片
目前为止,我们已经通过多个示例演示了如何使用midjourney生成理想的图片。在discord的聊天页面,通常是以聊天对话记录的方式来展示这些图片,聊天对话轮次越多,这些图片展示也就越长,这个时候,如果我们想找到很早之前所创作的图片,将会变得很困难。
有没有更好的办法呢?答案是肯定的
midjourney官方为我们提供了更方便的历史图片查询方法。
我们可以访问midjourney官方网站www.midjourney.com,点击sign in登录,在弹出框选择以对应的discord账户登录。登录后就进入了对应的管理界面,
点击左侧的图片图标,可以看到midjourney为我们整理好的以日期分类的历史图片,
这里可以看到每张图使用的提示词和参数,同时还可以进行重绘,放大等操作,非常的方便。另外,我们也可以在最上方输入提示词,直接在该页面下生成图片。
好了,本节课的课程到这里就结束了,我们回顾一下本节课的内容,本节课,我们学习了如何设计好的提示词来引导midjourney更贴切地按照我们的想法出图。我们给出了提示词的设计框架,也演示了关于提示词权重的使用技巧,学习这些知识后,我们便能很好的将脑海中勾勒的图像特征用合适的提示词语句描述出来,然后交由midjourney帮我们生成。接着我们演示了如何使用midjourney来实现图生图,该功能可以让我们更好的控制midjourney的图像生成过程,图生图也是midjourney在实战应用中经常使用的手段。然后,我们讲解了midjourney另外一项重要功能-局部重绘,局部重绘功能同样用于帮我们更好的控制图像的生成,控制AI随机性对图像生成的影响。课程最后我们详细讲解了关于midjourney不同模型版本的一些基础知识,比较了各个版本的特征,这些知识可以让我们在出图之前能根据需求更好地选择合适的模型版本。学习完midjourney进阶课程,我们便可以使用这些学习到的知识开始我们的实战之旅,下节课程中,我们将讲解midjourney在各个场景的实战应用,包括设计LOGO,设计产品图,绘制装修设计图等等。通过实战应用课程,我们会对midjourney有更深入的了解,从而帮助我们在将来的实践中更好地发挥出midjourney的潜力。
标签:进阶,提示,Midjourney,模型,图像,midjourney,我们,图片 From: https://blog.csdn.net/HuggingAI/article/details/143154737