大家好,我是小鱼姐姐,这是一篇姗姗来迟的文章。从去年到今年,相信很多人都已经对Midjourney有所了解。"Midjourney"是一款在AI领域中备受瞩目的软件,它是一款全新的AI绘画工具,能够通过人工智能技术帮助用户快速创建出高质量的图像和艺术作品。
目前在各大媒体基本随时都可以看到一些AI绘画的作品,不得不说,有些作品一眼看过去还是不错的,甚至可以替代一些初级的绘图师了。
那因为最近一直在研究一下如何保持角色人物的一致性,所以也用midjourney进行了一些测试。趁着今天有时间,决定分享给大家,话不多说,开始吧!
01 基础科普
先来科普一下新手入门midjourney的几个最常用咒语哈,这也是我在后续测试过程中最常用到的几个参数哈:
/imagine:调起生图流程,发起生图指令
/describe 命令:上传图片后,可自动分析图片内容,并返回一组关键词描述,通常用于生成类似的图片。
参数:
--ar 代表代表"Aspect Ratio",即宽高比,默认生成1:1的图片,如果想生成其他比例的图片,可以加上哦,比如--ar 16:9。
--iw 代表"Image Weight",即图像权重。这个参数用来调整上传的垫图(Prompt Image)对生成结果的影响程度。默认情况下,"iw"的值为0.25,意味着垫图对生成图像的影响较小。当"iw"的值增大时,生成的图像将更接近垫图的风格和元素。通常在0.5到2之间。例如,如果用户希望生成的图像与垫图高度相似,可以设置为2。
此外,"iw"参数与"sref"和"cref"一起使用时,可以更细致地控制生成图像的风格和内容。
"sref"(Style Reference)用于指定生成图像的风格;
"cref"(Content Reference)则用于提供图像生成的具体内容或元素,和这个一起搭配使用的就是--cw,代表"Content Weight",即内容权重。--cw
参数的值范围通常是0到100,越高生成的图像将更接近垫图的内容和细节。示例:--cref 图片url --cw 100
02 测试场景
好,大家对参数有了简单了解之后,我们就开始来正式测试啦,测试场景:
用AI制作小朋友的入园照,通过不同的方法,来比对每种方法的相似度保持。
因为是为了测试人像保持的一致性,为了更客观的让大家看出来差别,我会以下面这个小男孩的图片来作为测试基础,用不同的方法,让大家可以直观的看出来哪个方法可以更大的保留相似性哈。
我又网上找了一张入园照,以此来作为参考。
那我们先来获取这张图的内容prompt:
解析完成,结果还是蛮准的哦,后续我会使用第一段prompt来测试哈,不过会去掉asian、chinese这个词,因为我选用的模特图片是海外的哈。
An boy with short hair, big eyes and black eyebrows wearing a school uniform with a white shirt, blue vest and tie in the style of a student photo for a kindergarten profile picture. --ar 85:128
03 测试方法
方法一:seed值法
用过AI绘图的都知道,每张生成的AI图片都有一个seed值,那seed值是什么?
seed值是生成图片的起始值,如果在提示词中不指定seed值,每个图片的起始值都是随机的,所以每次出图会产生随机的结果。如果我们为图片指定seed值,就会产生相似的结果。
举个例子:
我想生成一个小男孩穿着蓝色的球衣,看向镜头,在微笑(英文prompt:Little boy wearing a blue jersey, looking towards the camera and smiling),如果我不指定seed值,那每次生成的都不一样。
直接生成图片参考如下:
再生成一次:
可以看出来2次生成的图差别很大,8张图完全不一样。
现在我选一张喜欢的图片,获取它的seed值,然后使用同样的promot但是带上seed值去重新生成。
选择一张喜欢的图片放大:(我想选第二张,就是点一下u2就是可以放大,如果点v2,就是基于图2生成4张类似的变体)
如何获取这张图片的seed值?
步骤1: 右键图片选择信箱图标,点击一下:
步骤二:信件图标出现在下方,再点一下,发送到个人服务器
步骤三:切换个人服务器,获取seed值:
好,现在拿着这个seed值,再使用上面的prompt生成一次:
Little boy wearing a blue jersey, looking towards the camera and smiling --seed 3542907189
咳咳,seed值的方法看来确实不太稳定,可以看出来可能就图三和上面那张稍微有点像,其他3张属实有点不太像。
我再试试把我放大的那个图片作为垫图再加上seed值哈:
prompt:图片地址+iw 2 +seed值
可以看出来是不是和上面放大的图片相似度提高了不少呀!
好,现在正式开始场景的生图流程:
步骤1:现在我以这个小男孩的原始图片作为垫图,通过图生图并设置图片权重最大--iw 2来生成一张小男孩的AI照片,并获取seed值!
感觉图二最像,使用上面获取seed值的方法来获取seed值:--seed 3604487277
步骤二:参考那张入园照+prompt,以上面那张图片的seed值来生成最终的入园照。
只有其中一张相似度稍微高一点,放大看下:
点评:步骤1生成的图片和原图还是有点像的,但是经过步骤二之后和原本的小男孩相似度就没那么高了,来对比一下吧:
原图 | 目标图 | 成果图 |
---|---|---|
方法二:局部重绘+cref方法
步骤1:使用目标入园照图片作为垫图+prompy生成一张目标图片并选择一张放大:
步骤二:使用局部重绘功能(点击上图的vary按钮),将小男孩的脸重新生成,且让它最大程度的参考原图小男孩的脸,看效果:
点评:可以看出来和小男孩还是蛮像的了,比方法一还是更像一点的!放大图4,然后看下对比效果吧:
原图 | 目标图 | 成果图 |
---|---|---|
方法三:使用inswapper换脸
步���1:先生成一张和上面那张入园照很像的照片,此处省略同方法二,获取一张入园照:
步骤二:让它记住脸部id:上传一张图片,/saveid 然后给你的人物起个名字
步骤二:使用inswapper换脸功能:
点评:效果似乎没有想象中好哈,有些许假,换脸痕迹明显。
原图 | 目标图 | 成果图 |
---|---|---|
好啦,今天三种不同的人像保持方法就测试结束啦,个人最喜欢方法二的效果哈,你呢?
最后再来回归对比一下最终的结果哈:
原图 | 目标图 | 成果图 | |
---|---|---|---|
方法一:seed值 | |||
方法二:局部重绘换脸 | |||
方法三:inswapper换脸 |
那除了Midjourney,最近还测试了faceswap、instantid,还有一些成熟AI写真类的产品,那次有空再给大家继续发相关的测评文章哈,感谢您的阅读!