如今AI的发展,让我们对技术、对工具的使用仿佛有了更多的可选项,但也让我们逐渐丧失掉了最宝贵的一样东西——注意力!
现在的AI,无论是大语言模型还是AI绘画等等,不管是在哪个领域都算得上百花齐放、各家公司争奇斗艳,打得难解难分,好不快活...
但作为应用者的我(或者可以说绝大多数人),对此竟一时间说不上兴奋还是困惑。
兴奋的是竞争势必加速技术的更新换代,好的产品/服务也将会更快惠及我们的日常,使用、创作也将得到更优质的体验。
困惑则在于,在如今拥有海量工具的AI市场,除了必要存在的良性竞争和技术迭代,同样还充斥着太多的低质、套壳工具,也存在太多同质化严重的平台/产品,而网络像一望无际的海洋一般孕育着一切的发生。
当然,不可否认的是,这是技术发展带来的必然结果,特别对于当下更是如此。
在《注意力危机》这本书中有这样一句话:泵入的信息越多,人们专注于其中任何一部分的时间就越少。
所以对于如今的科技社会,无论是AI生态本身,还是AI带来的指数级信息爆炸,不论好坏真假,我们每天都在被迫接收着海量的信息,这些无形中都在蚕食着我们宝贵的注意力...
(该图片来源于网络)
面对这些,大多数人缺乏觉知,也束手无策,从而追求“雨露均沾”,卷入实则病态的社会节奏,做不到真正沉下心来学好一个领域,用好哪怕一款工具。
等等这些,都让我幻想在AIGC刚刚兴起的2023年,甚至是我刚开始接触AI绘画的时候,当时我对这个领域了解得不多,对我来说,SD(Stable Diffusion)和MJ(Midjourney)已经霸占了我的AI绘画世界中90%的占比。
因此对我来说,这两者是最重要的,学好它们是我必须要做的事,所以我的注意力基本放在了这两者之上。
但随着技术迭代日益增速,我们学习的进度貌似已经跟不上发展的节奏,所以很多人开始追随着“时代的浪潮”,从而忽略掉这个领域当中最原始的技术、最原始的理论、最原始的操作..
但截至我写下这篇文章之时,我始终认为SD和MJ作为AI绘画中的两大基座,学会它们对我们来说是始终是很有帮助的。因为当你掌握这两者,也就意味着你已经掌握了AI绘画的基本盘,进而使你具备了很强的技术贯通能力,你可以很轻易地学会其它任何AI图像类的工具及其相关操作,甚至是AIGC中的其它技术,你也能够游刃有余。
但现在我们依然发现,还有很多人对这些基本的工具不够熟悉,所以AIZ在未来会不定期更新对于一些软件/平台的深度使用讲解,当然如果只是一些参数的解说会很枯燥无聊,所以在中间我会穿插一些应用例子或者创想。
(通过以上内容,我想向读者朋友们传达的是:这篇文章不仅是下文会出现的一些关于AIGC技术的讲解,更有我对AI发展的一些感受和思考,这是我认为更重要的一点,或者说,这才是这个时代,每个人真正需要的东西)
那今天你们将学到MJ当中一些常用参数的应用,篇幅相对较长,相信你能够克服这个时代的惯性,回归原本的专注!
在正式开始讲解MJ的参数之前,我们必须先搞明白两个概念,这是很少有人会注意到的细节,那就是MJ当中的指令和参数,这两者分别指的是什么,如何区分。
针对指令,我们给出以下定义:
- 指令是MJ(Midjourney)提供的基础操作命令,用于触发特定的功能(如图像生成、设置、提问等)
当你在MJ对话界面下方的输入框当中输入一个 “/” 后,输入框上方会弹出一些预选项,而这些预选项就是MJ当中的指令,每一个指令对应一种特定的功能。
而对于参数的定义,如下:
- 在MJ(Midjourney)中,参数是附加在文本提示词后的选项,用于调整图像生成的具体细节(如风格、比例、权重等)
这里或许有的朋友听着会有一些迷糊,不知道什么叫“文本提示词后的选项”,那这里就不得不给大家科普一下MJ输入框的输入结构了,具体如下:
从上面这张图大家便能很直观地看出,在MJ当中,填写在输入框最后的前面带有双短横线(“--”)的那些玩意儿就叫参数。
所以现在我们可以为指令和参数做一个简单的区分,给出下表:
|
|
|
|
|
|
|
|
|
|
|
|
好了,到这里大家已经清楚了MJ当中指令与参数的区别是什么,现在让我们正式开始一些常用参数的介绍和使用讲解吧:
--v
这个太好理解了,V,version嘛,别想太复杂,就是控制不同版本的一个参数:通过在“--v”后面添加数值来指定采用哪个版本的MJ模型进行图像创作。
这里有两个小细节是需要大家注意的:
第一:参数的输入必须采用英文模式,或者说,你在输入框当中输入的任何内容,都要求是英文模式;
第二:当你在 “--v” 后面添加数值时,记得在数值前面加一个空格,例如“--v 5.2”。这一点非常重要,也不局限于这一个参数,而是任何需要在后面添加东西(无论是不是数值)的参数,都要空一个空格。
并且,当你需要添加多个参数进行组合使用时,参数与参数之间也需要留一个空格,比如“--ar 2:3 --v 5.2”。
你要是问我这是为什么,我会敛容屏气地回答你:我也不知道哈哈哈哈,这毕竟是人家官方规定的书写语法。
现在让我们以下面这段提示词为例:
- A girl in a long white dress and with long black hair is dancing gracefully on the grass
- 中文译为:一位身穿白色长裙、留着黑色长发的女孩在草地上翩翩起舞
像这样进行提示词输入:
然后MJ根据你的描述生成四张图片,就像这样:
这里也可以顺便为大家展示MJ这些年来,各个版本在图像质量方面的演变:
(从左到右——从V1到V6)
我们可以看出,前三个版本完全是没法看的,直到第四个版本后画面才变得正常,这也合理地解释了为什么2023年之前AI生图没火哈哈【狗头】...
当然啦,切换不同版本也不仅只有添加参数这一种方式,更确切的说:
- 用添加参数这种方式进行模型版本的切换更适合在某些想要看看针对当下提示词,其他版本的MJ模型有怎样的生图表现的时刻。
而如果你想将生图时调用的模型指定为某个默认版本,我更建议通过“设置指令”进行操作:
操作其实也很简单,首先清空输入框当中所有内容,既然是调用“设置指令”,那就是以上提到的,先输入一个 “/” :
然后在弹出的预选项当中,选择 “/settings” 并发送给MJ机器人。
(这里要注意:如果你输入 “/” 后弹出的预选项中没有 “/settings” ,那就继续多打几个字母)
MJ就会给你返回这么一个玩意儿:
接下来点击MJ历史版本的下拉菜单,选择你想要默认使用的模型版本即可。
最后可能有朋友已经留意到,目前MJ最新的版本是7.0。
想要使用的朋友,如果你的账号是第一次切换到7.0版本,那MJ会返回给你这样一个提示:
你只需要点击红色方框内到按钮,登陆相应的账号(谷歌/Discord),然后根据指示进行图像选择测试即可获得7.0版本的使用资格。
--ar / --aspect
(两者作用一致,看个人使用习惯)
这可能是MJ用户使用最频繁的一个参数。
MJ当中默认生成的图像比例为1:1,如果无法对此进行自定义调整控制,所有生成的图像都只是一幅幅胖嘟嘟的小方块,那对于用户来说,将失去很多乐趣,所以该参数的作用就此体现,其可通过指定在后面的比例数值来控制生成图像的画幅比例。
我们依旧以上面那段提示词——“A girl in a long white dress and with long black hair is dancing gracefully on the grass”为例(哈哈,看来这段提示词要贯穿全文了【狗头】),给出以下演示:
可以看到,MJ会根据你输入给它的比例参数对生成图像的比例进行匹配。
--q / --quality
该参数的数值取值范围:0.25-2,默认数值为1
该参数用于控制图像生成的质量与渲染时间(图像生成时间)的平衡,它直接影响图像的细节丰富度和生成所需的时间。
说人话:
- 该参数的数值越高,所生成的最终图像将更加细致,与此同时生成图像所花的时间会相对长一些;而数值越小,生成的图像将相对粗糙,但生成速度会相对快一些。
但随着MJ模型这两年的更新迭代,特别是在5.2版本之后的模型,这种不同数值带来的生图质量间的差距是在不断减小的。
(5.2版本,从左到右——0.25、0.5、1)
--c / --chaos
该参数的数值取值范围:0-100,默认数值为0
该参数是控制图像生成随机性与多样性的核心参数,直接影响生成结果的风格、构图和内容的变化程度。
说人话:
- 该参数数值越小,生成的画面整体效果越稳定,所生成的四张图会越相似,且画面内容更符合提示词的描述;
- 相反,该参数数值越高,留给AI发挥的空间便越大(生成的画面更加多样化,画面内容更加随机),也就意味着生成的四张图之间的差异会越大。
现在让我们来对以上用到的提示词进行更加细致的描述:
- A full-body display of a 20-year-old Asian girl with long black hair. She wore a high ponytail, a long white dress and white casual shoes on her feet. This young girl is dancing on an endless grassland. In the distance are snow-capped mountains and blue sky with white clouds
中文译为:一位留着黑色长发的20岁亚洲少女的全身展示,她扎着高马尾,身穿白色的长裙,脚上穿着白色休闲鞋。这位少女在一片一望无际的草原上跳舞。远处是皑皑雪山和蓝天白云
然后调整该参数不同的数值,得到以下结果:
--s / --stylize
该参数的数值取值范围:0-1000,默认数值为100
该参数是控制图像风格化程度的核心参数,直接影响生成图像的艺术性、细节丰富度与风格表现力。
说人话环节:
- 数值越大,图像更具艺术性,细节复杂,风格可能偏向抽象、夸张或超现实;
- 数值越小,图像更贴近提示词描述,细节也相对简单。
这里需要对 “--c” (或 “--chaos” )和 “--s” (或 “--stylize” )这两个参数间的区别做一个简单说明:
|
|
|
|
|
|
--no
这太好理解了!该参数在Midjourney中用于明确排除生成图像中不希望出现的特定元素或内容。
例如我再次利用那段简短的提示词重新进行生图,得到以下结果:
OK,现在我不想让画面当中有“阳光”这一元素,那我就在提示词后面添加上 “--no sunshine” ,然后再次将修改后的提示词发送出去,得到以下结果:
画面瞬间阴沉...
这时可能有朋友就要问了,能不能同时排除掉多个不想要的元素?
当然可以,只需要在每两个元素之间用逗号( “,” )隔开即可,例如:
这样,最终生成的画面中就即不会出现阳光,也不会出现房子了...
(由于篇幅的原因,还有其他很多常用到的MJ参数,我们留到后面的文章再做分享)
写到这里,已经是文章尾声了,按道理我应该就此打住,挪开敲击键盘的双手,然后将这篇内容交奉到你的面前。但就在我打算这样做时,一个细微的问题(其实也说不上算不算是一个问题)在我脑海中浮现,这是我自己一个小小的自问,当然也不排除有一部分朋友可能也会感到好奇:
对于指令和参数,在落笔写下这篇文章的第一个字之前,我内心为什么会默认更应该先向读者朋友们介绍参数,而非指令呢?
如果真的有一些朋友也开始意识到并思考这一层,对于这部分朋友我想说的是:好奇心害死猫哈哈(开玩笑【狗头】)。
其实更想对你们说的是:好奇心虽害死猫,但“可惜”我们不是猫,所以好奇心使人成长!(你**简直太棒了)
好了撇开题外话,我之所以先写参数,原因如下:
无论MJ具备哪些其他的操作或额外的功能,归根结底其本质上就是一个AI图像生成模型。既然是生图模型,那底层的核心功能必然是生图,这同样也是用户的核心诉求,因此对应到MJ当中的指令,就有且只有一个,那就是 “/imagine” 。
而在这一个核心指令下,想要玩转MJ的生图,需要学会使用的调整技巧远不止一个,针对这些图像调整技巧,所对应到的,就是MJ当中的参数。
核心指令只有一个,但涉及到必备参数有很多,这就是我选择先讲解参数的原因,也方便了完全不熟悉MJ使用的读者朋友能够更快上手进行创作。
以上的内容,并不只是我先写MJ参数的理由,更是我认为的在学习MJ乃至其它AI工具时,我提供的一种可能值得借鉴的思考,供参考。
好了,今天的分享就到这里,感谢你的浏览。
发表评论 取消回复