AI大模型教程
一起来学习

AI写真教程:Stable Diffusion-我用AI给自己做了个写真,结果惊艳了所有人!

大家好我是极客菌!如今要拍摄一组写真,需要服装、道具、灯光、场地、布景、拍摄、后期
等过程。整个过程需要统一才能形成好的写真效果。现在有了AI绘图技术,我们可以实现通过AI绘图,只用计算机计算就得到一组接近真实的写真照吗?答案是可以的!

其实基于现有的很多AI工具,都能实现真人AI写真,之前我介绍过了StableDiffusion的WebUI和ComfyUI,今天我们仍然以所有AI绘图工具中,控图能力最强的StableDiffusion为例,为大家深入浅出地介绍如何使用Stable Diffusion进行真人AI写真的创作。

话不多说,我们先看效果,下图是我做过的一部分AI写真,有男人,女人,和小孩


一、如何实现

现在,我们来整理一下思路,如何利用AI实现真人写真?大致上,我们大概可以想到以下几个思路:

• 网图AI换脸

• AI绘图换脸

• 真人训练AI绘图

在以上思路中,我们进一步分析拆解,可以发现其实可以得到以下几个关键步骤

• AI换脸

• AI绘制人物

• 真人模型训练

我们就以其中最小关键步骤为切入点来讲解

二、AI换脸

在Stable
Diffusion中进行AI换脸是十分容易的,主要得益于WebUI强大的第三方插件商店,目前常用的roop和faceSwap两款插件,可以非常方便快速的实现AI换脸

1. 环境准备

要使用AI换脸插件,我们需要先安装在需要的环境 准备环境的过程中,可能出现各种安装错误,这里不一一列举,大家有问题可以提出来,我看到会为大家解答!

1. 安装Microsoft C++ 生成工具
  1. 1. 进入https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-
    tools/ 页面,点击“下载生成工具”。

  2. 2. 打开下载的exe文件,选择“使用C++的桌面开发”,然后点击“安装”。安装会占用大约9G空间,建议选择非系统盘并预留空间

  3. 3. 安装完成后,最好重启电脑。

2. 安装insightface
  1. 1. 打开命令行窗口(Win+r,输入cmd,回车,可快速打开命令行窗口)
    
  2. 2. 进入stable-diffusion-webui的Scripts目录下:“X:xxxstable-diffusion-
    webui根目录venvScripts”
    
  3. 3. 输入命令pip install insightface==0.7.3(安装特定版本)
    

以下换脸示例中,我们就以马斯克的一张网图为原型进行换脸替换

2. roop

roop插件是WebUI中的其中一款换脸插件

安装

通过代码仓库安装:扩展->从网址安装->扩展的git仓库网址 输入https://github.com/s0md3v/sd-webui-
roop.git再点击安装即可

通过代码仓库安装

通过插件商店安装:扩展->可下载->加载扩展列表 输入roop搜索,再点击安装即可

通过插件商店安装 (注意没有软件的同学可以文末自行扫描获取)

下载模型

下载 inswapper_128.onnx
模型:https://huggingface.co/ezioruan/inswapper_128.onnx/tree/main 将下载的
inswapper_128.onnx 模型替换到 /models/roop/ 目录中。

使用

安装完成之后,重启sd-webui,我们就能在文生图和图生图都看到roop插件了。roop插件的界面基本上也一目了然,大概看看就知道怎么使用了。
Roop只会修改五官、眉毛以及脸型,不会改变肤色

1. 1. 文生图

2. 我们用以下咒语先画一个帅哥出来

best quality,masterpiece,  
1boy,male focus,solo,facial hair,necktie,realistic,formal,suit,brown background,black necktie,looking at viewer,upper body,beard,brown hair,shirt,jacket,tongue,white shirt,black jacket,collared shirt,stubble,brown eyes,black suit,

这时,我们还没启用roop,现在我们再启用roop,把马斯克的脸替换上去

于是,我们就得到了这样的图片

1.     2. 图生图
2.     文生图如此,那图生图其实也大同小异,我们随便从网络抓一个帅哥图片

然后调整我们的SD参数

![](https://img-blog.csdnimg.cn/img_convert/208bf461ea844769ba6ba51ebce4d1b1.png)

SD参数

`按照普通的图生图模式,把重绘幅度拉低到0.3-0.6之间就行,当然最重要的还是启动roop换脸插件` 于是,我们最终得到这样的融合图片

![](https://img-blog.csdnimg.cn/img_convert/8bf82af5e4d92ddaa6b1a35d0344fcc9.png)

网络帅哥+马斯克

进阶使用

上面流程中,我们使用默认参数即可,其实它的界面上还有一些可调整的参数

1. 逗号分割的面部编号 即我们可以选择替换图片中的第几个人脸,从左往右从0开始(比如我们图片有两个人,我们要替换右边的人脸,则填1),非常适合多人脸替换,我们可以挨个进行替换

2. 面部修复/面部修复强度 可以选择面部修复算法为CodeFormer或GFPGAN

• CodeFormer:对输入图片均有增强效果,如头发,脖子,衣领,脸部,修复有有纹理效果,更接近真实。适合男士脸部

• GFPGAN:修复后的图片比较光滑,有磨皮效果。适合女士脸部

3. 放大算法/放大倍数 即对输入图片进行放大,可以选择不同的放大算法来保证图片放大后的质量

注意:请确保输入图像的脸部不要被头发帽子等遮挡物遮挡

3. faceSwap

那另一款换脸插件faceSwap其实也和roop非常类似

安装

通过代码仓库安装:扩展->从网址安装->扩展的git仓库网址 输入https://github.com/glucauze/sd-webui-
faceswaplab.git再点击安装即可

通过代码仓库安装

通过插件商店安装:扩展->可下载->加载扩展列表 输入faceSwapLab搜索,再点击安装即可

通过插件商店安装

使用

faceSwap

通过faceSwap换脸,我们得到以下效果

文生图换脸

具体过程就不赘述了,同roop一样,文生图和图生图均能换脸

进阶使用

faceSwap,相比于roop来说,要稍微强大一点,它提供的功能更全,提供配置参数更多,不过大体和roop差不多,包括面部序号、面部修复、放大算法以及后重绘等。值得一提的是,faceSwap提供了一个非常轻量的人脸模型训练功能,它只需要你提供少量图片(当然图片越多效果越好),就能轻松训练一个轻量模型,跟直接替换相比,使用训练的模型进行换脸,可以使得最终结果更像,在插件界面可以选择自己训练好的人脸模型

模型训练

总体来说,不管是roop还是faceSwap,他们都提供了一种快速便捷的AI换脸功能,在很多场景下,这样的方式,其实就能完成真人AI写真了。

当然,如果你亲自去尝试了,你还是会发现这样的换脸插件在某些情况下,图片是很难达到预期的,包括脸部融合度,包括画面精细度等。

因此,如果需要让写真更加“ ”,我们需要继续探索其他的方式!

三、AI绘制人物

在聊真人模型训练之前,我们先要学会如何用SD绘制人物的图片。首先,让我们绘制一个美女出来吧!

1. 大模型

首先确定你要绘制的画面风格,选择一个大模型,一般来说,我会将大模型粗暴的分为写实、动漫、2.5D 三大类,然后再去细分不同的画风
比如以下是我收藏的一些写实大模型

写实大模型

我们就以国风大模型为例,选择“国风汉服写实”大模型

2. lora模型

根据实际情况选择是否使用lora模型,lora模型可以是画风lora、可以是人物lora、也可以是特定部位lora 比如以下是我收藏的一些lora模型

lora模型

这里,我不需要选择lora模型

关于模型下载,我一般使用c站和国内的liblib

C站

liblib

下载模型之后,保存网站上的首图首图,以及作者的一些出图建议,能更加方便下次使用

3.咒语(提示词)

提示词,是出图的关键,Stable Diffusion会根据你的提示词的内容、关系、以及权重等,来决定它会如何进行降噪出图。一般来说提示词分为几个部分

1.     1. 画质画风词

画质词 :(masterpiece:1.2), best quality, highres,extremely detailed
CG,perfect lighting,8k wallpaper, 真实系:photograph, photorealistic,
插画风:Illustration, painting, paintbrush, 二次元:anime, comic, game CG, 3D:3D,C4D
render,unreal engine,octane render,

画风词 :Cyberpunk 赛博朋克 8bit/16bit pixel 像素风 studio ghibli 宫崎骏风格 pixel style
皮克斯风格 Chinese ink style 水墨画

1. 2. 画面主体描述

人物、年龄、发型,头发颜色情绪表情,衣服装束,正在干什么

1.     3. 环境/场景/灯光/构图

比如下雨天的咖啡厅,正面视觉、人物特写

1.     4. Lora(如果需要)

加载lora、hypernetwork等触发内容

1.     5. 负面提示词

负面提示词基本可以通用,包括一些低画质,多手多脚之类的

负面词:NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres,
normal quality, ((monochrome)),((grayscale)), skin spots, acnes, skin
blemishes, age spot, (ugly:1.331), (duplicate:1.331),(morbid:1.21),
(mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5),
blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs,
(disfigured:1.331), (missing arms:1.331),(extra legs:1.331), (fused
fingers:1.5), (too many fingers:1.5), (unclear eyes:1.331), lowers, bad
hands, missing fingers, extra digit,bad hands, missing fingers, (((extra
arms and legs))), NSFW:not Suitable For Work不适合在公开场合出现的图片

我们使用以下提示词来画一个国风汉服写实美女

best quality,masterpiece,absurdres,Highly detailed,ultra-fine painting,extreme detail description,Professional,  
1girl,full body,hair ornament,holding,necklace,orange with white chest pleated skirt,red waistband,red with white waistband,tang style outfits,transparent background,  
hanfu,tang style outfits,

4. 其他参数

这里的很多参数都还有各自能继续深究的点,今天重点不在这,就先略过了,有必要可以出文单独分析

1. 采样方法:不同的采样方法适用于不同画风

2. 迭代步数:理论上迭代步数越高,画面越精细,出图时间也越长,但也和采样方法对应,有的采样方法可以在很少的步数内就出图,后续增加的迭代步数所换来的收益就不大了

3. 高分辨率修复:开启高分辨率修复可以让SD对图像进行二次高清重绘放大

4. 4. 放大算法:不同的放大算法有不同放大效果,一般写实画风推荐4x-UltralSharp或8x_NMKD_Superscale_150000_G,动漫画风推荐R-ESRGAN 4x Anime6B

5. 宽高:定义出图尺寸,一般需要参考大模型作者或lora作者给出的参考尺寸,需要更大尺寸图片可以再通过后期放大

6. 随机种子数:方便重现出图

最终我以如下参数(图中标注为关键参数),来绘制一张国风汉服美女图

参数

国风美女

四、lora模型训练

学会绘制美女之后,下一步我们就需要使用自己训练的lora模型去和绘制的美女融合了,那么我们就需要学习如何训练lora模型

训练步骤

训练一个自己的lora模型分为几个步骤

1. 1. 准备数据集:准备好需要训练的lora的数据来源

2. 2. 图片预处理:如果是炼制人物脸部lora,那么尽量让画面纯净,仅包含人物上半身,且只有想要训练的人脸

3. 3. 数据集打标签:这一步的作用是告诉AI你的图片包含什么元素

对于标签:如果你想保留人物的某个特征,就删掉对应标签,这样AI就会认为这个人就是这个特征;如果你想灵活调整某个特征,那就要把这个特征打上标签。举个例子:如果你有红色头发,你不打红色头发标签,那么炼制的lora模型很大概率会一直出红头发,即保留了这个特征

1. 4. 开始训练:这个过程的时间长短,取决于你的电脑配置

2. 5. 测试lora:除了测试训练出来的lora出图是否和原图像以外,也要测试lora的泛化程度,是否存在和原图过于拟合的情况等

工具

lora训练的方式有很多,有通过执行脚本训练,也有通过界面训练。目前比较常用的lora训练工具有sd-trainer和赛博炼丹炉。
注意训练lora对配置有一定要求,显存至少需要6G,我个人是3060ti 8G的显卡,20张图片的训练时长在三个半小时左右

炼丹工具在结尾给下载地址

1.sd-trainer

sd-trainer

一般来说,我们直接选用新手模式进行训练即可,当你真正掌握了其中参数的含义之后,再去尝试专家模型
新手模式下,我们一般只需要修改训练用的底模(即基于什么大模型进行训练),数据集目录,和模型保存名称即可,其他参数如训练轮数,学习率等,都可以在熟悉了训练流程之后再做调整
其中,WD1.4标签器可以帮助对目录下的图片自动打标签(对应前面数据集打标签步骤)

WD1.4标签器

2.赛博炼丹炉

赛博炼丹炉

赛博炼丹炉相对来说界面更加友好,基本上按照界面提示一步一步走即可

1. **1. 选择大模型,训练风格,召唤词**

2. 根据自己的需求,来选择大模型和风格

选择

1. **2. 上传数据集图片**

2. 上传训练数据集,训练人物lora尽量为半身像,最好包含人物各个角度的照片

上传数据集图片

1. **3. 设置预处理参数**

2. 设置训练分辨率(1.5模型一般默认为512x512),模式以及是否勾选脸部加强(训练人物脸部lora要勾选)

上传数据集图片

1. **4. 数据集打标签**

点击预处理之后,炼丹炉会对图片进行人脸识别和裁剪,以及自动打标签

预处理

我们需要对标签再做一遍筛选,看看AI识别的标签是否正确,进行一遍校正

1. **5. 开始训练**

2. 没有问题之后,就可以开始训练,训练时间取决于你的电脑配置

lora测试

不管是sd-
trainer还是赛博炼丹炉,训练完成之后,都会得到几个训练好的模型文件,模型文件数量根据你的配置决定,对于赛博炼丹炉来说,默认是每一轮训练结束都生成一个lora模型文件
以下是我之前训练的lora模型

lora模型

训练完成之后,我们就要对这些模型进行测试了,我们需要以1-10(假如训练为10轮,生成了10个lora模型)的全部模型和0.1-1的全部强度两个维度来进行测试,这块我们可以使用stable
diffusion的xyz脚本来进行一个测试,最终确定哪个模型下的哪个强度,是我们训练效果最好的

真人原型

比如我之前训练的模型有iris_20240125002809-000001.safetensors到iris_20240125002809-000010.safetensors,那么我就可以在正向提示词引入lora时,使用参数替换

并且在最下方选择使用XYZ脚本进行出图

XYZ参数

配置正向提示词加入“银色头发”,这样,我们能测试lora的泛化程度

(silver hair:1), best quality, masterpiec8K.HDR. highresabsurdres:1.2, Kodak portra 400, film grain, blurrybokeh:1.2, lens flare, (vibrant color:1.2),1girl, red dress, looking at viewer

这样,就能得到一个以模型和强度为维度的二维xyz图表

通过观察xyz图表,我们就可以很快的找到在相似度和泛化度都很合适的lora模型以及使用强度(既很相像,又能出现银色头发)

五、真人AI写真

经过以上一系列步骤,我们就真的可以开始出AI写真了 使用训练的lora模型出真人AI写真,也有几种方式

1. lora文生图直出

这个很好理解,直接用到我们上面提到的绘制美女的方法,加上我们提炼的lora即可

best quality,masterpiece,absurdres,Highly detailed,ultra-fine painting,extreme detail description,Professional,  
1girl,full body,hair ornament,holding,necklace,orange with white chest pleated skirt,red waistband,red with white waistband,tang style outfits,transparent background,  


文章来源于互联网:AI写真教程:Stable Diffusion-我用AI给自己做了个写真,结果惊艳了所有人!

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » AI写真教程:Stable Diffusion-我用AI给自己做了个写真,结果惊艳了所有人!
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们