如何用自己的脸在stable diffusion出图? - 知乎

admin 83 0
如何用自己的脸在stable diffusion出图? - 知乎

  比如我是男性,用我自己的证件照,跑checkpoint出一张hanfu v2.8 lora的图

  或者用于景区门口9.9出100张自己脸但不同背景环境,不同服饰的写真。

  今天尝试使用Textual Inversion技术来训练自己的头像,学习SD的embedding功能实现生成自己头像的效果。

  价值:文件小,通过关键词同时可调用多个文件一起训练。

  简述:我们都知道SD中的模型或checkpoint都有几个G大小,而且每次生成图片时也只能使用一款模型。如果我们想一次混合多个风格的时候,就可以使用embedding功能来实现,每个embedding文件都有一个或多个关键词(trigger words),可以让我们在prompt中使用这些关键词来激活这个embedding文件,每个embedding都是基于一款模型生成的,如果我们下载的embedding是基于SD1.5模型训练的,那它只能针对SD1.5模型来生效。训练好的embedding文件以(.pt)格式进行保存,embedding文件非常小,每个只有几个M或几十K。

  1)准备基础素材(找10-20张能体现面部特征的照片素材,不同表情,不同角度,不同背景)2)优化素材精度(SD提高精度工具:在Extras/Batch Process下面选Scale by的upscale1:SwinIR 4x)3)剪裁素材尺寸(正方形1:1,512 x 512)注:图片在线裁剪工具4)设置输入输出(准备好训练素材放到输入文件夹,建立一个空的输出文件夹用于预处理时输出素材)5)预处理的设置(设置输入输出文件夹路径,勾选“Create flipped copies 生成镜像副本”,勾选“Use BLIP for caption”或“Use deepbooru for caption”)

  6)创建embedding(在训练/生成embedding里面设置一个你喜欢的名字用于保存命名,要注意只能用英文,尽量取比较独特的名称,好和prompt中其他关键词尽量区分避免重复)

  7)训练(Train)设置选择Embedding文件(选上一步新创建好的embedding文件,如果没有,点击右边刷新按钮再试)progressive learning rates 学习率:0.05:10, 0.02:20, 0.01:60, 0.005:200, 0.002:500, 0.001:3000, 0.0005Batch size:显存不足需调小Batch size,建议 {Batch size} x {Gradient accumulation steps} = {训练图片数}设置数据集目录选择Prompt模板(Prompt template):建议自建一个新模板文件只输入:a photo of [name], [filewords]设置长宽分辨率:显存小的,建议512xx512设置训练步数:显存小的,建议3000步就可以了设置每多少步保存一个测试图片和embedding文件:建议刚开始训练,50步就可以看下情况点击训练Embedding模型:训练时间较长,根据机器硬件性能时间长短不同,一般家用机几个小时是要的

  在prompt输入框中添加embedding文件名称就可应用。

  可根据需要输入多个embedding文件名称标签和程度值进行混合,比如:({embedding文件名称A}:0.4),({embedding文件名称B}:0.6)

  那看你是想要动漫图还是真人图了,真人图使用真人底模型,推荐chilloutmix,realistic vision二次元选一个你喜欢的二次元底模型,推荐abyssorangemix,counterfeit,提示词你可以自己写,也可以根据别人出的好图进行小改成自己的,尽量搭配Lora,除此之外,如果你还想要控制姿势,可以使用controlnet插件,vae也要选择哦,有偏真人的和动漫的,切换一下就行,如果颜色偏暗,可以用embedding模型条件,还有hypernetwork可以进行色彩风格的转换,剩下的参数自己慢慢调,应该没问题,对了图片控制在512x768之间,如果大了去界面的后期处理 变成区间内,

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~