论文阅读_善用Midjourney

news2024/11/18 13:53:39

论文信息

name_en: Grimm in Wonderland: Prompt Engineering with Midjourney to Illustrate Fairytales
name_ch: 用Midjourney生成格林童话插图
paper_addr: http://arxiv.org/abs/2302.08961
date_publish: 2023-02-17
author: Martin Ruskov,米兰大学

读后感

针对生成图的提示工程,利用工具 Midjourney v4,进行了一系列实验。得出一个生成提示的4阶段过程:初始提示,成分调整,风格细化,加入变化。另外还讨论了生成图像效果不佳的三个原因: 计数困难,难以生成假定的场景,无法描述过于奇异的情况。作者认为这不仅用于生成图片,且对未来的生成模型具有普适性。

介绍

之前的提示工程研究包含:主语,动词,环境,风格;之后又有人提出:主题词,风格修饰语,图像提示,质量助推器,重复,和魔术术语的方法。
Midjourney是实践中最受欢迎的工具之一,尽管它是商业的,对建筑也知之甚少。目前的Midjourney V4更为复杂,它支持更多知识,能生成更多细节,可接受更复杂的提示,能处理多实体的场景。

方法

当前的图像生成器不仅能通过文本作为输入并产生图像,还支持输入修饰语对图像进行修正。目前已知VQGAN + CLIP和Stable Diffusion具有截然不同的架构,对Dall - E和Midjourney的架构知之甚少。因此,文中未讨论Midjourney专用的魔术术语和质量设置参数,而主要关注一些通用的方法,如主题风格等。

主题

第一步,从原始文本中推导出主题提示,并对其进行简化和调整(如用特定的名词替换代词),以改善结果。

风格

这里的风格指代了前人文中的媒体和风格,由于生成童话插画,希望生成器不要引入过多细节(Midjourney默认的艺术画风格细节比较丰富),所以尝试了书籍插图或极简主义插图等风格修饰语来限制风格。

图像提示

实验并没有上传参考图片,利用了Midjourney提供的图像微调功能。在不使用基于图像的微调的情况下,图像之间的一致性是一个挑战,比如对同一个童话生成不同场景时,同一人物可能生成的完全不同,本文不讨论此问题。

结果

生成图所的四个阶段

  • 初始提示:概括原文,尽可能地使用一个简单的句子
  • 分成调整:逐步调节提示,优先考虑小的变化,以生成好的反馈迭代。特别注意对歧义词可能曲解。分以下三个层次:
    • 调整词语,可选择性地简化或用同义词替换,可能更好地代表语境的词语。可能包括将短语动词减少到代表动作的动词,牺牲叙事的丰富性和忠实性来提升表达准确性。
    • 为实体(主体与客体)添加或删除形容词或为动词添加副词。
    • 添加对象以更好地表示上下文和/或强制删除不必要的对象。
  • 细化风格:每当发现生成器有多余内容时,可以通过在基本的、简单的、最小的、平坦的颜色上强制使用带有修饰符的风格来抑制它(生成童话无需太多细节)。
  • 调整已有的图像:一旦图片整体内容稳定下来,只要生成器支持微调(MidJounery是扩展模型,支持微调),就可以在图像的基础上调整。例如:调整实体的数量。

图-1展示了原始文本,调整后的提示文本,以及最终生成的比较满意的图片。

生成器当前的问题

  • 计数困难:比如描述画三只乌鸦结果生成五只,手指数量不对等,这可以通过多试几次或微调来修正。
  • 难以生成假定的场景:模型不具备先验知识,如图-2中第1条。
  • 无法描述过于奇异的情况:对于非传统情境,自非现实文本(也称为不可能场景),生成效果不好,如图-2中第2,3条。

Midjourney用法

网址

https://www.midjourney.com/

注册

  • 科学上网
  • 主界面点Sign in,选无帐号,创建一个,然后通过邮件激活
  • 必须手机收短信才能完成注册,可以支持国内手机

打开Midjounery

主界面点Join the Beta,此时就进入了绘画的聊天室,可以看到别人的画作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣-计算特殊奖金

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1873. 计算特殊奖金二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总…

【C++】stl_list介绍和实现,list和vector区别,list vector string 迭代器失效

本篇博客详细介绍list的实现&细节讲解,并且在文章末对list和vector,string进行区分和复习 list的基本结构就是双向带头循环链表,链表和顺序表的差别我们在前面数据结构的时候早就学过了,不再赘述 在使用stl库里面list时&…

3.1 第一个外设GPIO GPIO输出

GPIO简介•GPIO是通用输入输出口(俗称IO口)•可配置为8种输入输出模式•引脚电平:0V~3.3V(数据0是0V,数据1是3.3V),部分引脚可容忍5V.•输出模式可控制端口输出高低电平,用以驱动LED…

Javascript周学习小结(初识,变量,数据类型)

JS的三大书写方式行内式如图所示:几点说明:JS的行内式写在HTML的标签内部,(常以on开头),如onclick行内式常常使用单引号括住字符串以区分HTML的双引号可读性差,不建议使用引号易出错,不建议使用特殊情况下使…

【冲刺蓝桥杯的最后30天】day2

大家好😃,我是想要慢慢变得优秀的向阳🌞同学👨‍💻,断更了整整一年,又开始恢复CSDN更新,从今天开始更新备战蓝桥30天系列,一共30天,如果对你有帮助或者正在备…

Java代码是如何被CPU狂飙起来的?

📣📣📣📣📣📣📣 🎍大家好,我是慕枫 🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识 &#x…

Stable Diffusion WebUI安装instruct-pix2pix插件

instruct-pix2pix作者团队提出了一种通过人类自然语言指令编辑图像的方法。他们的模型能够接受一张图像和相应的文字指令(也就是prompt),根据指令来编辑图像。作者团队使用两个预训练模型(一个是语言模型GPT-3, 另一个是文本到图像模型Stable Diffusion)…

Python---正则表达式

专栏:python 个人主页:HaiFan. 专栏简介:Python在学,希望能够得到各位的支持!!! 正则表达式前言概念作用和特点使用场景正则符号re模块re.compile()match()search()span()findall()group()sub()…

uniapp系列-报错或常见问题处理集锦

问题一:执行完命令,就不动了,或者是uniapp 遇到编译很慢,无法正常运行的情况 情况1:执行run dev命令后,一直就不动了,输出如下 PS C:\XXXXXXXX> npx yarn run dev:h5 yarn run v1.22.19 wa…

YOLOv7实验记录

这篇博客主要记录博主在做YOLOv7模型训练与测试过程中遇到的一些问题。 首先我们需要明确YOLO模型权重文件与模型文件的使用 其实在github的readme中已经告诉我们使用方法,但我相信有很多像博主一样眼高手低的人可能会犯类似的错误。 训练 首先是训练时的设置&…

Object.defineProperty() 详解

一、对象的定义与赋值 我们经常使用的定义与赋值方法 obj.xxx value 或 obj[xxx] value,并且可以定义任意类型的值,如下所示: let obj {}; obj.name bjl; obj[age] 18; obj.sayHi function() {console.log(Hi)}; console.log(obj) /…

C语言自定义类型---进阶

之前的文章中有结构体初阶知识的讲解&#xff0c;对结构体不是很了解的小伙伴可以先去去看一下结构体初阶 结构体&#xff0c;枚举&#xff0c;联合结构体结构体类型的声明特殊的声明结构的自引用结构体变量的定义和初始化结构体内存对齐 <3 <3 <3(重点)那为什么存在内…

Unity记录2.1-动作-多段跳、蹬墙跳、墙体滑落

文章首发及后续更新&#xff1a;https://mwhls.top/4450.html&#xff0c;无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评&#xff0c;非常感谢&#xff01; 汇总&#xff1a;Unity 记录 摘要&#xff1a;实现跳跃、蹬…

若依学习(前后端分离版)——自定义注解@Log(如何自定义注解,实现aop)

如何自定义注解 aop的基本知识与应用 若依对用户的一些更新删除等敏感操作操作进行了日志记录 注解定义和切面处理的项目位置 第一步&#xff1a;自定义注解log 定义了注解的相关信息。这里定义的属性可以在使用时加以定义 注解Target和Retention的作用 第二步切面逻辑…

动手实现一遍Transformer

最近乘着ChatGpt的东风&#xff0c;关于NLP的研究又一次被推上了风口浪尖。在现阶段的NLP的里程碑中&#xff0c;无论如何无法绕过Transformer。《Attention is all you need》成了每个NLP入门者的必读论文。惭愧的是&#xff0c;我虽然使用过很多基于Transformer的模型&#x…

synchronized从入门到踹门

synchronized是什么synchronized是Java关键字&#xff0c;为了维护高并发是出现的原子性问题。技术是把双刃剑&#xff0c;多线程并发给我带来了前所未有的速率&#xff0c;然而在享受快速编程的过程&#xff0c;也给我们带来了原子性问题。如下&#xff1a;public class Main …

【微服务】认识微服务

目录 1.1 单体、分布式、集群 单体 分布式 集群 1.2 系统架构演变 1.2.1 单体应⽤架构 1.2.2 垂直应⽤架构 1.2.3 分布式架构 1.2.4 SOA架构 1.2.5 微服务架构 1.3 微服务架构介绍 微服务架构的常⻅问题 1.4 SpringCloud介绍 1.4.1 SpringBoot和SpringCloud有啥关…

[1.3_2]计算机系统概述——中断和异常

文章目录第一章 计算机系统概述中断和异常&#xff08;一&#xff09;中断的作用&#xff08;二&#xff09;中断的类型&#xff08;三&#xff09;中断机制的基本原理小结第一章 计算机系统概述 中断和异常 中断的作用中断的类型 内中断&#xff08;也称“异常”&#xff09;…

ES之DSL查询文档基础查询

分类 query查询分类 总体规律就是逻辑性的&#xff0c;从外层的你干嘛&#xff0c;到下一层的查询类型&#xff0c;再到下一层的查询字段&#xff08;如果需要的话&#xff09;和然后是查询内容 查询所有 语法 get /索引库名/_serarch {"query":{"查询条件…

【Linux】配置动态IP

动态IP 服务器重启完成之后&#xff0c;我们可以通过linux的指令 ip addr 来查询Linux系统的IP地址&#xff0c;具体信息如 下: 从图中我们可以看到&#xff0c;并没有获取到linux系统的IP地址&#xff0c;这是为什么呢&#xff1f;这是由于启动服务器时未 加载网卡&#x…