前言
这篇文章来自我们会员的一个提问, 如何用一张正面参考图生成角色三视图? 其实在几个月前,mousewrites;”>https://civitai.com/user/mousewrites/models](https://civitai.com/user/mousewrites/models)) 就给出了一套工具用于生成三视图,但这个问题的挑战是,它要求的并不是直接生成,而是有一张参考图,要在参考图的基础上去生成三视。 所以以mousewrites此前给出的工作流,这是非常困难的, 因此,本篇教程我开发了一套改进的工作流,它可以一定程度上解答这个问题。 让我们先来看结果吧,左侧是最初的输入图片,右侧是最终的输出 所用到的工具: 1. inpaint + CharTurner+ CharTurnerBeta-Lora 2. photoshop + canny/lineart + reference 3. img2img布局
第一步我们需构建需要的布局模版,这步我们在inpaint中完成 1. 首先,我们将图片输入img,用deepbooru分析prompts,这里需要手动调整prompts,删除诸如1girl这样的数量词,looking_at_viewer这样的方向词,仅保留人物的外貌特征词汇; 2. 添加chartunnerv2( texture inversion) 和 charturn3(lora) 这两个工具; 3. 套用chartunnerv2 所建议的prompts模版; 4. 添加from_side / from_behind 这样的方向词; 5. 在inpaint中画出蒙版,Masked content选择fill, Denoising strength选择0.95左右,模型就选择跟你输入图片风格比较接近的即可,没有太大要求; 你可以看到我画出的人物大小和颜色与原图都不匹配, 这无关紧要! 只要姿势,角度和服装道具满足就好! 当你觉得满意时将生成的图片 send to inpaint 重复上一步骤,接着画第三个位置, 用batch可以帮助你快速筛选, 如果你需要更多的角度, 也可以多次重复此步骤。生成
在生成前,我们需要处理一下我们上一步生成的图片,处理方法也很简单 在photoshop中调整生成部分的大小,让它们跟你的参考图匹配,先不要着急关掉photoshop, 让我们再做一张图,将我们之前的参考,复制几份,放到我们layout中的相应位置(不用很精确,大致即可)
OK, 准备好两张图之后让我们回到SD,这次我们在tex2img中生成, 还是使用之前用的CharTurner 模版 prompts,
但这次我们要用到controlnet,将做好的两张图分别应用在lineart(canny也可以) 与reference
选择好你想要的模型, 点击生成即可,为方便选择,我也用到batch
放大
不要直接使用Hires! 这个问题我在之前的Controlnet Reference的文章中提到过,《ControlNet-Reference的高级用法》
使用reference的同时使用Hires,出图是不同的。也就是说,如果直接使用Hires,几乎无法保证Reference颜色的准确性! 我们选择一张或比较满意的图片,然后手动放大,用img2img里手动重绘,重绘幅度0.33左右(根据你实际情况调整) 如果你的图片有一些问题,需要手动修复, 你也可以在img2img之前在photoshop之类的工具里对小图进行修复 你看到这张图的膝盖有点错误,这可以通过多次生成或者在ps中涂抹去修复,因为我只是介绍一下工作流,因此我不打算重做了,我喜欢留一点挑战给我的读者 ;)