Midjourney 实现角色一致性的新方法

ops/2024/9/25 3:29:55/

AI 绘画的奇妙之处,实乃令人叹为观止!就像大千世界中,寻不见两片完全相同的树叶一般,AI 绘画亦复如是。同一提示之词,竟能催生出千变万化的图像,使得AI所绘之作,宛如自然之物般独特,毫无呆板重复之嫌。

然而,这种随机性却给许多用户带来了不小的困扰。尤其对于那些故事书或绘本的创作者来说,他们往往希望 AI 生成的人物能够保持一致的特征,以便为故事书或绘本塑造统一的人物形象。

角色一致性这一议题并非新生事物,过去我们曾采用过多种方法来解决这一问题,如借助随机种子(seed)或上传参考图等手段。然而,随着 Midjourney 的不断迭代更新,新的方法往往会超越旧有的手段。

本文旨在介绍一种全新的方法,通过它我们能够实现更为持久且精准的角色一致性。我以真人举例,漫画人物的方法雷同。

1. 为角色创建相册

第一步是为角色创建一个相册。这个相册展示了角色不同角度和表情的头像。我用的提示词如下:

Prompt: wide 12-frame photo sheet, young woman with pixie-cut brunette hair, white background, diverse angles and expressions

提示词:12 幅宽幅照片,年轻女性,褐发精灵头,白色背景,不同角度和表情

我更倾向于将这一提示词输入到DALL-E之中,因为它能够生成更为规范的格子布局。

下图是 DALL-E 生成的图片。

Midjourney 生成的 Photo Sheet 布局会乱一些,人物的一致性也会略差一些,请看下图:

不过,如果用 DALL-E 生成的图像做参考图的话,Midjourney 也能生成比较稳定的格子布局。并且,通过平移 (Pan) 和 放大 (Upscale),还可以生成更多头像。不过,我不建议目前这么操作,因为格子越多,Midjourney 越不稳定。

2. 截图并上传头像

一旦我们拥有了人物的头像相册,便可以为人物创建场景提供有力的参考。

接下来的步骤是挑选出一些具有差异且效果上佳的头像,截图并保存,再上传到 Midjourney 上生成链接。

如此,当不同场景需要呈现人物各异的角度或表情之时,我们便拥有了一系列灵活多变的参考图。

我建议把这些链接嵌入到 Notion 中,然后右击图片可以随时拷贝,比在 Discord 里面拷贝方便多了。

3. 创建场景并换脸

接下来,我们来为人物创建场景。为此,我写了如下提示词:

Prompt: outdoor photography, young woman, pixie-cut brunette hair, riding bicycle along park path, morning light on face, trees and sunlight filtering through the leaves

提示词:户外摄影,年轻女子,精灵般剪短的褐发,沿着公园小径骑车,晨光洒在脸上,树木和阳光透过树叶

在这个提示词里面,我大致描述了角色的特征,比如她的褐色短发。尽可能的贴近角色可以为后期的工作带来便利。 Midjourney 生成的图像如下:

这个人物的特征和我们创建的角色差异比较大。接下来开始换脸。

大致的流程是这样的:首先,在女孩的脸部创建一个选区。接着,从之前的人物头像相册中挑选一张角度和表情都较为合适的头像,将头像的链接放置到局部重绘的提示词输入框中,并适当地加入关于人物面部光线的提示词。

在 Midjourney 生成的四张图里面,我挑选了一张比较像的。

这个过程我们主要关注的是面部特征是否相似。有时候换脸的效果会失真,看上去像把头像生硬地贴到图片上一样。不过没关系,这个问题可以通过微调解决。如果一次生成的图像的面部特征不相似,局部重绘进行多次。

接下来我们来进行微调,让照片看上去更自然。这里用到的是 Midjourney 的 “Vary” 功能。“Vary Strong” 和 “Vary Subtle” 都行。

确保你已经点亮了 Remix 模式的按钮。点亮了这个按钮才可以弹出输入提示词的对话框。我们要通过提示词来确保画面结构保持一致。因为刚才局部重绘的时候,我们已经删掉了大部分提示词,只剩下 “morning light on face”。如果不激活 Remix 模式的话,人物的场景也会发生变化。

弹出提示词的对话框以后,我们需要填入之前的提示词,即:

outdoor photography, young woman, pixie-cut brunette hair, riding bicycle along park path, morning light on face, trees and sunlight filtering through the leaves

除此之外,为了维持角色的面部特征,还需要参考图。这里的参考图可以用刚才的图片,也可以用头像相册里的。参考图设置权重为 2,即:

s.mj.run/1KlOcmgDtbs outdoor photography, young woman, pixie-cut brunette hair, riding bicycle along park path, morning light on face, trees and sunlight filtering through the leaves --iw 2

我觉得第三张图片比较好,于是进行了放大。

可以看到,人物的短发,弯弯的眉毛和性感的厚嘴唇都得到了较好的保留。

这个过程可以反复进行,不断优化。

我们可以将表现较好的人物头像截屏下来,并纳入到角色的头像相册中,丰富我们的参考图库。这样,在创建新的场景时,由于有了更多一致性的参考图,新场景中的人物一致性也会越来越稳定。

总结

虽然 Midjourney 不如 Stable Diffusion 那样可控,但总算可以通过新的功能提高角色的一致性。让我们期待它们开源和闭源的文生图 AI 可以相互促进,朝着更加可控和更加创意的方向发展。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述


http://www.ppmy.cn/ops/8125.html

相关文章

Oracle

文章目录 第一节.Oracle的概述第二节.Oracle的特殊点2.1.查询语法2.2.查询次序2.3.分页查询2.4.序列2.4.1.参数介绍 第一节.Oracle的概述 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处…

自建SQL server 服务无法启动,提示评估期已过

问题背景 在服务器内安装的SQL server无法启动,报错提示如下截图,提示错误代码17051: 结合系统日志查看应用程序日志详情提示评估期已过,报错如下 问题原因 出现此报错原因是SQL server 安装时,使用的评估版本&#xf…

JavaCard学习笔记: CAP Component 之 Class Component

文章目录 整体结构tag和size字段signature_pool_length和signature_pooltype_descriptor结构导入类型编码导入项签名示例导入类导入数组导入远程方法 interfaces[]interface_info结构flagsinteface_countsuperinterfacesinterface_name class_info_compact classes[]结构flagsi…

XiaodiSec day036 Learn Note 小迪渗透学习笔记

XiaodiSec day036 Learn Note 小迪渗透学习笔记 记录得比较凌乱,不尽详细 day36 XSS 老 XSS 所适用的环境是 IE 浏览器,早碰不到了 mxss 是比较老的漏洞,适用的环境是老版本的 QQ uxss 早已修复,攻击浏览器 swf 的 xss pdf…

面试十三、malloc 、calloc、realloc以及new的区别

// 1 . 静态内存分配.bss 存储未初始化的全局变量和静态变量,在编译时被分配空间,但不会被初始化。在程序启动时,系统会将.bss段的数据初始化为零或者空值.data (静态数据区) : 存储已经初始化的全局变量和静态变量(静态局部和静态…

K8s: 在Pod里面对容器进行配额管理和相关原理

Pod里面对容器进行配额管理 在生产环境中,内存占用通常很大,如果里面有死循环,会导致内存和cpu过大导致影响其他pod运行资源 需要让资源在受控的环境下运行,一般都是加上 resources limits 的配置才能达到最佳实践 默认cpu是0.5…

React - 高级用法

React高级用法 Hooks Reducer useReducer: import React, { useReducer, useState } from react;const initialState { count: 0 };function reducer(state, action) {switch (action.type) {case increment:return { count: state.count 1 }case decrement:re…

如何合理利用多个中国大陆小带宽服务器?

我们知道在中国大陆带宽单价非常昂贵,一个1Mbps 带宽的机子一年就得卖好几百人民币,这是不值当的,当然我们可以去低价漂阿里云、腾讯云的轻量服务器,99包年,但是带宽太小很难崩。 所以,我们必须构建一个能够…