玩了一个礼拜midjourney,也碰到了大家都碰到的人物一致性问题。将个人所得汇总一下供各位参考,大家一起研究共同进步。
研究对象:
主要研究较为复杂等面部结构,非常卡通低幼的人物因为相似度很高,只要控制发型服装等,就很容易得到类似的人物。
我认为的人物一致性并不只是要求脸像,而是可以把这个人物放在不同的场合,进行不同的行为,也能保持人物的一致性。
影响因素:seed***、垫图**、权重***、blend*
1,Seed
会看人物一致性的人,对seed一定不陌生。
我说下我在学习中得到几点之前不知道的事情:
1),四张图的seed和upscale任意一张小图的seed是一致的。也就是说,你需要找四张图都ok的做seed,而不是upscale其中一种作为seed。
2)可以加多个--seed,但是生效的只有第一个。
3)可以多准备几个seed,然后切换看看哪个seed生成的效果最好。
这里把seed拿出来,其实主要是当他跟权重的概念集合后,才能很好地实现人物一致性。(详见3)
2,垫图
优点:容易得到面容相似度非常高。适用于:制作三维头像,或者半身人像等。可以用于seed的生成工具。
缺点:不容易改变人物形态。譬如不容易得到全身型人物,或者服装行为等控制得不好。
垫图遇到最大问题是怎么得到全身人像,我经过努力也只能做到下面这样。如果这样对你有帮助,我将我的方法分享下。
核心思想就是,用脸部特点垫图——上半身垫图—半身垫图——下半身。等于在每个阶段凑到一定量的图,升级到下一个阶段。
每次凑够要到图片,就可以将之前垫的图换成下一批。譬如凑到了5张(我用5张,其实3张也可以,就是权重低一点罢了)半身图,就用半身图再去垫。
而会影响的参数有full body view,extreme long shot,还有个非常重要的就是图像的比例(--ar),越长的比例越容易得到全身。而这些参数也可以增加相应的权重,一般::2都是比较稳定,会人物形象影响不大,但是3以后就开始会随机一些人物形象了。
3,权重对seed的影响
这部分内容是如何善用seed的核心。其实最重要的指导思想是,你的prompt越简单,越容易被很好地执行。但同样的情况,seed明显比垫图方式对权重的依赖更甚,或者换种方式来说,弄懂了权重,seed才能真正发挥作用。下面通过几个例子来说明。
所用的seed为下图:
例子一:我们先来看下面两张图,唯一不同的是第二张图,我把人物的外形描述都加入了,而因此生成了非常奇奇怪怪的。第一张图,其实2和4都可看一用,毕竟人物脸小。而图二生成的几乎都不能用。
例子二:由此我得到了启发,上一个例子中其实对于我想要表达的“在海边公路骑摩托”的内容执行上并不是太好,如果我再一次简化prompt呢。于是有了下图。将不需要的内容全部去除,然后执行效果非常好。由此可见,seed+你最想要表达的内容,就能比较好的达到你需要的效果。而且你会发现,之前头疼的全身人物问题也不再是问题。
例子三:到了这里,并没有结束,因为上面做咖啡那张图里,人物形象虽然2和4都有点接近,但是能不能再接近一点呢。譬如我在re-roll的时候把之前删掉的描述放进去会怎么样。下面是直接re-roll和加了人物描述的re-roll,可以看出加入了描述之后,人物形象会更往你的描述靠拢。
通过这些例子可以看出,完全可以用seed+想要更换的内容描述,再通过re-roll调节。以达到理想效果。
4,权重对垫图对影响
权重对垫图对影响有,但是没有seed那么方便,会有更多的随机性。请看下面的例子
例子一:分别垫了三张图和五张图,把其他prompt都删了,就要个全身像,但是效果都不好。
例子二:用之前seed的方式调节人物动作,人物的一致性很好,但是动作的执行度不好。
5,Blender
融合的不确定性非常高,可以用于简单的场合。譬如pixar风格的动画人物。可以通过这样的方式,给喜欢的脸部来生成full body。
*另外还有一种方法,就是在生成图片的时候直接把腿啊脚啊都一并描述了,就比较容易出来全身人像。