当前位置: 首页 > news >正文

使用midjourney搞出一套三国人物画像!

  当下已进入如火如荼的全民AI时代,最近体验了下midjourney,使用它的以图生图功能生成出来一套三国人物画像,和大家分享下使用心得。

使用midjourney的准备工作

下载工具

  使用midjourney生产图片依赖的工具和流程,大致如下:

image.png

  • [1] 下载Discord App
  • [2] 添加Midjourney Bot
  • [3] 发送交互指令
  • [4] 生成图片

image.png

  midjourney.commidjourney的官网,可以跟随网站引导提示完成使用体验。较为推荐和常见的使用姿势是在discord.com下载discord app后添加midjourney bot来进行指令交互完成图片生成。

image.png

交互流程

image.png

  对于图片的生成主要是通过输入给midjourney一些prompt和参数来完成的。

  • prompt 可以分为文本和图片两种类型,可以同时存在施加干预
  • 参数 常用参数如--ar指定图片比例、--vmidjourney版本等

参考midjourney参数

以图生图

指令

  以图生图的指令结构非常简单,如下:

/imagine [url] [prompt] [param]

url:上传到midjourney的图片url

prompt:影响midjourney的提示

param:midjouryney支持的参数配置

出图流程

image.png

  • [1] 上传图片:在本地选择一张图片上传到midjourney,支持jpgpng等通用格式,而bmp等格式需要转换后方可上传
  • [2] 复制图片地址:复制图片地址以备发送交互指令后使用
  • [3] 发送交互指令
/imagine https://s.mj.run/wws8EMAvHdE
she is a woman,in ancient China,2 foot tall doll in pixar::2 
--ar 3:4 --v 5 --q 2 --s 750 
--no braid,barbarians,earrings,glasses,wrinkle,baldness
  • [4] 生成图片:根据出图体感做v1~v4u1~u4prompt调整直到生成最满意的图

初体验

  • 文字生图/以图生图的差别

image.png

  在纯文字prompt的场景下,生成出来的图是一个几乎全未知的结果,需要进行大量的prompt调整才可能达到要求,在我进行纯文字prompt测试的case中几乎没有一张能够满足我的出图要求,这既有个人指令熟练度、覆盖度的原因,也有文字prompt相对局限性的问题,当下涌现了很多prompt网站,很多近乎成品的图和对应prompt被分享出来,但是拿着一致的prompt不一定拿到一致的图,存在很大的随机性、不稳定。

  但是,以图生图的好处是可以通过一个已经存在的图像,让AI来识别,基于“模板”来进行二创,在我进行以图生图prompt的测试case中拿到满意出图效果。如果你的出发点是通过已有图片做较为稳定性的出图,比如给自己的照片做卡通形象,以图生图是很好的一种实现形式。

  • 模型数据影响

  对于出图描述体感上更符合欧美人群,而且亚裔人的描述并不是很符合现实,猜测和训练数据有一定关系,如果prompt不进行细节描述,描述很难符合预期。

最佳实践

  总结一句话就是:喜欢的原型图 + 喜欢的风格 = 二创满意的图!

image.png

  • 第一步: 在prompt分享网站找到自己喜欢的midjourney生成好的图片,如https://lexica.art/ ,大部分是支持关键字检索的,可以检索自己期望的风格、物品等描述。
  • 第二步: 查看它的prompt进行参考,过于简短的prompt没有太大参考价值,主要参考哪些风格系描述,如cartoon(卡通)、painting(绘画)等,这里我想要给我找到的原型图卡通一点的形象,我抽取了prompt为2 foot tall doll in pixar (皮克斯的 2 英尺高娃娃)作为我的出图效果设定。
  • 第三步 对图片细节进行详尽描绘,具体可以参考如下人物特征描述。如果你对于细节要求不高,对出图效果比较佛系,可以简单描述核心特征即可。比如我在二创三国人物时候,会给简单prompt提示,如:
//性别
a man,
//中国古代
in ancient China,
//皮克斯风格,这里配置了权重::2,增强midjourney的感知
2 foot tall doll in pixar::2
//我需要3:4比例的图片
--ar 3:4

  如果需要更为详尽的人物特征刻画,可以参考下面这组prompt。值得一提的是,并不是事无巨细越全越好,而是要挑选重点进行描述,以图生图的好处之一是已经有一个成型的图片模板,AI会识别它的特征,而我们二创只需要基于它进行“改版”做适当微调就可以。
image.png

错误陷阱

  在使用过程中也遇到很多badcase,这里分享下:

  • 颜色敏感

  在一个测试case中发现,midjourney对颜色词汇非常敏感,但是也容易产生混乱,比如:

//带红色的帽子
wearing a red hat,
//穿绿色的衣服
wearing a green clothes,

  有时候会只识别到一种颜色,而且会把整个画面变得过于“色彩化”。

  • 配合权重设置

  权重设置可以参考上面的参数列表使用,它相当于是prompt的手动调优,让AI“重视”你的选择和倾向。比如,我在使用皮克斯这个风格的时候AI有时会”忽略“我的prompt,因此我会设置它的权重,增强这个prompt的存在感。

//设置权重,增强存在感
2 foot tall doll in pixar::2
  • 画“手”很难

  AI对手的描述并不是很好,很多时候可能是“4指怪”、“6指怪”,握住东西,拉开一张弓等等,都是比较难的动作,需要反复调优prompt或者“碰运气”。

  • 女性角色更容易

  从我自身测试case来看,女性角色的以图生图刻画更贴近并且更容易接受一些,出图效果更符合预期,男性角色可能由于图画中夹杂了更多的人物外物品如刀、枪、弓等,原型图刻画张力更复杂有关系,偶尔会出现匪夷所思的效果。

效果展示

  下面是一些没有做太多微调的粗制版,供大家参考。

原型图皮克斯风格
关羽.jpg关羽.png
0001_张飞_3.png张飞.png
赵云.bmp赵云.png

资料整理

网站描述
https://discord.com/社群工具,相当于一个IM端可以在群内拉入midjourney bot进行交互
https://midjourney.commidjourney官网
https://atoolbox.netprompt网站
https://ai.dawnmark.cnprompt网站
https://lexica.art可以根据关键字来查看midjourney已生成的作品,相当于通过已生成图来反查对应的prompt,如果喜欢类似风格和样式,可以参考prompt被己所用
https://www.mubucm.com/doc/_2As4DSE4mB站一个还不错的prompt分享
https://jpg2.cn/免费的批量图片转换网站,midjourney只接收jpg/png等格式,如果有bmp等格式可以尝试使用它来做转换
三国志14人物头像链接: https://pan.baidu.com/s/1X5kBnAqRXUG2uj7Kms4BDA 提取码: 2qex

相关文章:

使用midjourney搞出一套三国人物画像!

当下已进入如火如荼的全民AI时代,最近体验了下midjourney,使用它的以图生图功能生成出来一套三国人物画像,和大家分享下使用心得。 使用midjourney的准备工作 下载工具 使用midjourney生产图片依赖的工具和流程,大致如下&#x…...

ELK日志分析系统

ELK日志分析系统 日志主要包括系统日志/var/log 应用日志 安全日志secure, rsyslog远程传输日志进行汇总集中化管理,日志统计和检索又成为一件比较麻烦的事情,、 1、完整日志系统基本特征 收集:能够采集多种来源的日志数据 …...

整型在内存中的存储

目录 一、为什么内存中存储补码? 二、大小端概念 百度笔试试题: 几道小题: 一、为什么内存中存储补码? 上一节我们了解了原码,反码,补码的概念(http://t.csdn.cn/N0grg)&#xff…...

子集-回溯算法

1题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1…...

公司study three

ctrlwind:新建桌面 ctrlwin 箭头 切换桌面 WIN CTRL F4 删除桌面 stream foreach遍历 instFormModifytracesList.stream().forEach(s->{ s.setModifyUser(sysUserTemplate.getNameById(s.getModifyUser()));});拼接 String collect2 peopleList.stream()…...

【运维】speedtest测试

目录 docker 布署 布署云端 docker布署 云端放置于已有容器里 librespeed/speedtest: Self-hosted Speedtest for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more (github.com) docker 布署 获取…...

CycloneDDS开源代码在Linux系统上编译生成可执行文件的详细步骤

cyclonedds开源代码在Linux系统上编译生成可执行文件的详细步骤 1 远程仓库CycloneDDS源码下载2 创建build目录3 进入build目录4 指定安装路径前缀5 编译 cmake --build6 编译完成后进行安装7 版本构建并编译7.1 虚拟机网络桥接7.2 镜像源添加7.3 CUnit单元测试工具安装7.4 编译…...

PLL锁相环的一部分--鉴频鉴相器

鉴频鉴相器作为锁相环的一部分也是有相对应的独立芯片. 鉴频鉴相器芯片主要有以下几种: LM565/LM565C 鉴频鉴相器芯片XR2211CP 鉴频鉴相器芯片NE567 比较器、鉴频、鉴相 ICMC1496/LM1496 综合运算放大器与调制/解调器 ICLM567 比较器、鉴频、鉴相 ICMC100EP2100 高…...

CSS实现磨砂玻璃(毛玻璃)效果样式

要实现磨砂玻璃背景,可以使用 CSS3 中的 ::before 伪元素和 backdrop-filter 属性,结合 opacity 属性和 blur() 函数来实现。 具体实现步骤如下: 创建一个具有背景的元素,例如一个 div 元素。 div {background-image: url(&quo…...

Solidity拓展:数学运算过程中数据长度溢出的问题

在数学运算过程中假如超过了长度则值会变成该类型的最小值,如果小于了该长度则变成最大值 数据上溢 uint8 numA 255; numA;uint8的定义域为[0,255],现在numA已经到顶了,numA会使num变成0(由于256已经超过定义域,它会越过256&…...

【C语言】经典题目(一)

【C语言】字符串刷题篇在这里哦! 【C语言】字符串—刷题篇 【C】语言经典题目,五个摘录为一篇,将会持续更新啦!💞 C语言经典题目 三位数水仙花数完数求利润三个数数字排序 三位数 💫题目 已知有1、2、3、4…...

Linux 设备树文件手动编译的 shell 脚本

前言 前面通过 Makefile 实现手动编译 Linux 设备树 dts 源文件及其 设备树依赖 dtsi、.h 头文件,如何写成一个 shell 脚本,直接编译呢? 其实就是 把 Makefile 重新编写为 shell 脚本即可 编译设备树 shell 脚本 脚本内容如下&#xff1a…...

C++核心编程——初识STL——STL的基本概念和六大组件

文章目录💬 一.前言二.STL基本概念和组成①容器②算法③迭代器④空间配置器⑤适配器⑥仿函数 三.STL工作机制 一.前言 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出“可重复运用的东西”的方法,让程序员的心血不止于…...

5.2图的BFS与DFS遍历

一.BFS遍历 1.图的广度优先遍历代码实现 说明: 1.广度优先遍历,类比树的层次遍历(树属于特殊的图) 2.对应算法想象图的物理结构存储: 邻接矩阵表示唯一时间复杂度:O(|V|^2); 邻接表不唯一:O(|V|2|E|)&…...

JSP+SQL网上选课系统(源代码+论文+答辩PPT)

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学…...

C语言数据结构——树、堆(堆排序)、TOPK问题

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,数据结构 🔥座右铭:“不要等到什么都没…...

springboot+vue 刘老师

课程内容 前端:vue elementui 后端:springboot mybatisplus 公共云部署 ------boot-------- 热部署 不用devtools,交给jrebel工具 RequestMapping ​ 参数 value 路径 method 方法consumes 请求媒体类型 如 application/jsonproduces …...

学生网上考试报名系统的设计与实现

技术栈: MySQL、Maven、SpringBoot、Spring、SpringMVC、MyBatis、HikariCP、fastjson、slf4j系统功能:用户角色: (1)登录:用户在登录界面输入正确的账户名和密码,点击登录,系统将与…...

Jmeter实现分布式并发

Jmeter实现分布式并发,即使用远程机执行用例。 环境: VMware Fusion Windows系统是win7。 操作过程 1、Master在jmeter.properties添加remote_hosts 2、Slave在jmeter.properties添加server_port 同时把remote_hosts修改为和主机(Master…...

动态xml文件配置 hibernate validator 约束校验

父文章 入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 一般都是通过 注解进行校验, 很少看到 通过配置来进行校验. 自己再通过谷歌找到了官网文档hibernate validator constraint from xml Hibernate Validator 8.0.0.Final - Jakarta Bean Validation Re…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

ThreadLocal 源码

ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物&#xff0c;因为每个访问一个线程局部变量的线程&#xff08;通过其 get 或 set 方法&#xff09;都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段&#xff0c;这些类希望将…...