AI绘图之Midjourney初体验

Midjourney (MJ) 使用笔记

最近尝试了 Midjourney 绘图,简单记录下使用流程。

注册及登陆

首先是账号注册和登陆,基本上就是一路下一步,唯一需要注意的是加入MJ频道,具体流程为:

  1. 打开Discord,点击右上角Login进入登陆界面
  2. 点击登陆页面下方的Register,进入注册页面
  3. 输入用于注册的相关信息,点击下方continue完成注册。
  4. MJ会发送一份验证邮件,需要进入邮箱点击完成验证。
  5. 继续登陆MJ,进入MJ主界面
  6. 点击左侧的探索可发现的服务器按钮,打开服务器界面,找到下方的Midjourney群组并点击。如果下方没有找到,也可以在搜索框搜索

  7. Getting Started进入到服务器,进来之后点击最上面的加入Midjourney,加入MJ群组。如果此处一直加入不了群组,可能是代理的国家人数太多受限了。尝试切换代理的国家,再次尝试。但是如果IP换得频繁,也有可能触发风控。
  8. 加入群组后,点击左上角的私信,打开Midjourney Bot,即可打开和MJ机器人的对话框。
  9. 如果需要订购会员,在对话框输入/subscribe命令,点击弹出的Manage Account,进入订阅界面。此处选择月付的标准版会员,切换到Monthly Billing,点击Standard Plan下放到的Subscribe进行订阅,在弹出的窗口中输入自己的支付方式,完成支付即可。

下次使用时,从 https://discord.com/channels/@me 登陆即可。

运行指令

登陆以后,点击左上角私信,接着选中Midjourney Bot,即可打开和MJ机器人的对话框。

在对话框中输入各种指令(按下/即会有智能提示,可以通过Tab键进行选择),并回车执行指令。常用参数包括:

  1. /imagine <prompt> 为生成图像的指令,其中 prompt 是用于生成图像的文本命令
  2. /info 了解账户的订阅信息和剩余时间
  3. /relax 切换到relax模式。该模式生成图像不消耗账户的GPU时间,但是需要排队,可能生成速度较慢
  4. /fast 切换到fast模式,该模式可以在60s内生成图像,但是需要消耗账户的GPU时间。
  5. /blend 将两个图片进行融合
  6. /settings 调整MJ的设置,包括MJ的版本、风格、质量参数、风格参数和输出模式等。
  7. /stealth 切换到隐身模式,标准版不可用
  8. /describe 图片生成文字。上传图片,MJ返回对该图片的文字描述
  9. /ask 问问题,类似ChatGPT
  10. /show 使用图片作业ID(job id可在MJ记录中查看或复制)重新生成 Discord 中的作业
  11. /help 查看帮助信息
  12. /subscribe 管理订阅
  13. /prefer option set 创建指定变量
  14. /prefer option list 列出之前设置的所有变量
  15. /prefer suffix 指定要添加每个提示末尾的后缀,用来统一调整后续绘图的参数

绘图

掌握了MJ的基本用法后,就可以开始绘图了。比如使用命令 /imagine Diagrammatic isometric the water cycle or water cycle diagram shows four seasons of watering of Earth's surface, in the style of forest vistas, whistlerian, photoillustration, left forests but right fragment trees, 2d game art, rough-edged 2d animation Three dimensional 命令生成一个四季的水文循环的图。

命令运行时,可以在右侧看到进度,等待进度到100%,即会展示绘制的图片。

绘图最关键的就是设计prompt。比如上面的绘图命令中:

  1. Diagrammatic isometric提示用于科研绘图展示
  2. four seasons 指定4个子图分别生成4季的图像
  3. rough-edged 2d animation Three dimensional 用于展示2d风格和三维风格

可以尝试让ChatGPT生成绘图prompt,再自己微调。

也可以考虑上传先找到一张样图,使用/describe命令获取MJ对该图片的描述。将该描述略微修改后,作为/imagine命令生成图像的prompt。

比如先使用 /describe 命令对下图进行描述。

描述后,生成了4个可选的图片介绍,选择第一个描述,稍作修改后作为prompt生成图像 /imageine An educational poster titled "The Water JCyle" that depicts the water cycle from its source to oceans, highlighting key elements such as clouds and raindrops in blue color on one side of the page. The other half shows an illustration showing vegetation, rivers, lakes, etc., with arrows connecting them all around. There is also text detailing each step in the process, along with notes about soil, air, atmosphere, and Earth's surface waters.

等待片刻,即可得到基于该图生成的示意图。还是有一些相似,可以在此基础上再修改。可以看到,MJ对文字的支持不好,推荐只用MJ生成图片,后期自己加文字标注。

绘图参数

绘图时,可以在绘图的prompt后面添加一些参数,用来控制绘图的一些设置,如图像比例、清晰度之类的。常用的参数有:

  1. --aspect--ar,绘图比例,比如 4:3、16:9,默认为1:1
  2. --chaos <0-100> 或者 --c <0-100>,控制图片的创意度和多样性,数字越大,创意性越强,默认为0
  3. --no,控制图片中不要出现的元素,比如--no dogs,会尝试从图像中移除狗
  4. --quality--q,控制图片的精细质量程度,默认值是1。数值越大,越多细节,但渲染时间越长
  5. --seed <0-4294967295>,绘图种子,用来控制图片相似性。使用相同的种子编号和提示将产生相似(也就是并不相同)的结果图像。seed值可以影响图像的细节、颜色、形状等方面,但不会改变图像的主题和内容
  6. --stop <10-100>,控制图片渲染到哪一个进度停止,默认为100,即全部渲染完成后再停止
  7. --style <1, 2, 3, 4, 5.0, 5.1, 5.2, or 6>,模型版本切换,从MJ V1到MJ V6有非常多个版本可以切换。默认使用最新的 V6版本
  8. --stylize <0-1000>或者--s,控制图片的风格化程度,数值越高图片的艺术性越强,和写的内容偏差就越大,默认是100 (style med)
  9. --iw <0--2> 设置相对于文本粗细的图像提示粗细。默认值为 1
  10. --repeat <1--40> 重复运行n次,用于多次运行选最好的。

图片调整

MJ可以在之前绘图的基础上做各种调整。比如,初次绘图后,图片的下方会出现9个图标,可以对之前生成的图像进行调整:

  1. U1~U4 (Upscale) 可以选择刚才的某一个子图放大,并添加更多的细节
  2. V1~V4 (Vary) 可以对所选图像进行进一步变化,生成图的风格和构图会与所选图像相似
  3. 最后一个循环箭头的图标用于重新生成图像。

选择需要的子图后,可以继续点击下方按钮对图片进行修改,主要包括 Upscale(提高分辨率)、Zoom out(向外括图)、vary(更新图像)和平移括图。

  1. Upscale 是提升图片的分辨率,并添加更多细节。
  2. Zoom out 是以当前图像为中心,根据提示词向外括图
  3. Vary 是对图像的原始内容进行更新。其中:
    1. Vary (Subtle) 和 Vary (Strong) 是对图像整体进行重绘,Strong修改程度比Subtle更大
    2. Vary (Region) 则是对图片的局部进行重绘。点击按钮后,在弹出的新窗口中通过方框或者套索选择要重绘的区域,然后在下方窗口中输入用于重绘的prompt。该prompt仅需要提示如何对选定区域进行重绘,不需要添加原来的prompt。
  4. 4个方向按钮则是在不改变原来图像的情况下,向指定方向平移括图。

更具体的解释Vary (Region):

  1. 为了保证整体的协调,局部修改仍然受之前全局prompt的约束,所以如果要大面积的修改图像,仍然需要调整全局的prompt,而不是选中大范围后进行局部重绘
  2. 局部重绘后,没有选中的地方不会变化,选择的地方重绘后可能和原来差别很大。如果想要保证和原来绘图尽量一直,可以在绘图时设置和原来相同的随机数种子(--seed xx),并且增大iw参数 (比如--iw 2,iw的范围为[0,2])。其中,2就是深度参考之前的图片,基本上构图不会发生什么变化。

如果想要重绘部分也尽可能的与原来保持一致,可以尝试Stable Diffusion。SD中绘图时可以使用ControlNet,可以在该模型中使用Candy边缘检测,使生成的图像与原图轮廓比较相近,具体可参考 stable diffusion 绘图 局部重绘

prompt设计的技巧

MJ的prompt包含3部分:图像prompt、文本prompt和参数。其中:

  1. 图像prompt以图像链接的形式给出,可以影响最终结果的样式和内容。图像prompt始终应该在prompt的最前方
  2. 文本prompt,最常用的prompt,给出要生成的图像的文本说明
  3. 参数,用来更改图像的生成方式,可以更改纵横比、型号、升频器等。位于prompt的末尾。

对于prompt的设计,官方有一些建议:

  1. 用词尽量具体。在许多情况下,更具体的同义词效果更好。比如对于大小,可以使用try tiny, huge, gigantic, enormous或者immense等词。
  2. 控制描述的长度。更少的词意味着每个词的影响力更大。单词间通过逗号、括号或者连字符来组织想法。如果描述太复杂,可能产生一些克苏鲁的东西......
  3. 专注于想要的,而不是不想要的 。描述时不要写反向表达,就正向思维说想要XX呈现在图片中。如果想要控制这个XX不在生成的图片中,可以使用--no参数
  4. 尽可能处理好背景和细节 ,可以从以下几个方面来描述:
    1. 主题:人、动物、人物、地点、物体等 (Subject: person, animal, character, location, object, etc.)
    2. 媒介:照片、绘画、插图、雕塑、涂鸦、挂毯等 (Medium: photo, painting, illustration, sculpture, doodle, tapestry, etc.)
    3. 环境:室内、室外、月球上、纳尼亚、水下、翡翠城等 (Environment: indoors, outdoors, on the moon, in Narnia, underwater, the Emerald City, etc.)
    4. 照明:柔和、环境、阴天、霓虹灯、工作室灯等 (Lighting: soft, ambient, overcast, neon, studio lights, etc)
    5. 颜色:充满活力、柔和、明亮、单色、彩色、黑白、柔和等 (Color: vibrant, muted, bright, monochromatic, colorful, black and white, pastel, etc.)
    6. 情绪:稳重、平静、喧闹、精力充沛等 (Mood: Sedate, calm, raucous, energetic, etc.)
    7. 构图:人像、头像、特写、鸟瞰图等 (Composition: Portrait, headshot, closeup, birds-eye view, etc.)
  5. 如果要控制图片中某个物体的数量,尽量具体化。比如说"two dogs",或者"flock of birds"
  6. 不用考虑大写英文单词

个人感觉MJ对文字的支持不好,不要企图让MJ在图片中加入文字,不然可能会很怪。

关于MJ的更多使用,可以查看其官方文档


本文参考:

  1. Midjourney官方文档
  2. Midjourney 新手快速起步指南
  3. Midjourney尝试科研绘图,图文摘要,效果惊艳!
  4. Midjourney指南 - 生成高分辨率图片(内容已更新至V5)
  5. midjourney人工智能绘图如何上手,新手小白完全攻略
  6. Midjourney的安装和订阅
  7. stable diffusion 绘图 局部重绘
  8. 爆肝!超详细的胎教级Midjourney使用教程,看这一篇就够!
相关推荐
镰刀出海8 天前
如何使用Photoshop修改图标为纯色
ui·工具·photoshop·ps·图标
Vainycos16 天前
明日周刊-第23期
人工智能·科技·工具·分享·周刊
Gogeof1 个月前
云原生化 - 工具镜像(简约版)
微服务·云原生·debug·工具
网络研究院1 个月前
什么是托管安全信息和事件管理 SIEM?
安全·工具·管理·事件·信息·托管·功能
He BianGu2 个月前
演示:基于WPF的DrawingVisual开发的Chart图表和表格绘制
wpf·绘图·2d·图表·chart·
Amd7942 个月前
Nuxt Kit API :路径解析工具
文件·解析·模块·nuxt·工具·路径·别名
网络研究院2 个月前
企业急于采用人工智能,忽视了安全强化
网络·人工智能·安全·工具·风险·企业
present12272 个月前
Matlab中BaseZoom()函数实现曲线和图片的局部放大
开发语言·matlab·信息可视化·数据分析·绘图
丷丩2 个月前
一个Java中有用的JacksonUtil类
java·json·工具
Trouvaille ~2 个月前
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
开发语言·python·数据分析·matplotlib·数据可视化·绘图·python3.11