起手式 #
正 #
best quality, (mature:1.3),perfect face, beautiful face,western, sharp focus, solo,beautiful woman,sexy,shiny skin,Navy blouse, beige shorts, soft light,cinematic lighting, sunny, dusk, outdoor,depth of field,shidudou,red_dress,
反 #
(worst quality, low quality:2), NSFW, monochrome, zombie, overexposure, watermark, text, bad anatomy, bad hand,((extra hands)),extra fingers, too many fingers, fused fingers, bad arm, distorted arm, extra arms, fused arms, extra legs, missing leg,disembodied leg,extra nipples, detached arm, liquid hand, inverted hand, disembodied limb, oversized head, extra body, extra navel, (hair between eyes),sketch, duplicate, ugly, huge eyes, text, logo, worst face, (bad and mutated hands:1.3), (blurry:2.0), horror, geometry, bad_prompt, (bad hands), (missing fingers), multiple limbs, bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), (deformed fingers:1.2), (long fingers:1.2), bad hand, extra legs, easynegative
monochrome, (impassive:1.4), featureless, colorless, characterless, teen, young, grotesque, 3d max, desaturated, paintings, sketches, (worst quality:1.7), (low quality:1.7), (normal quality:1.7), lowres, normal quality, skin spots, acnes, skin blemishes, age spot,close-up,badhanv4,
安装问题解决 #
运行
.sh
脚本自动创建的venv
环境在../venv
中,有时候bash webui.sh
用不对虚拟环境时可以手动用python
执行
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
git checkout 22bcc7be428c94e9408f589966c2040187245d81
bash webui.sh --skip-torch-cuda-test --no-half --precision full --use-cpu all --listen
由于以上checkout了,所以很多库版本跟不上了。虽然它会创建新的虚拟环境,但是我的torch安装的最新版本。所以遇到了下面问题,现在罗列解决办法如下:
采用运行也可
source venv/bin/activate
python webui.py --skip-torch-cuda-test --no-half --precision full --use-cpu all --listen
TypeError: AsyncConnectionPool.init() got an unexpected keyword argument ‘socket_options’
pip install --upgrade httpx
ModuleNotFoundError: No module named ’torchvision.transforms.functional_tensor'
vim /home/ian/Desktop/stable-diffusion-webui/venv/lib/python3.10/site-packages/basicsr/data/degradations.py
修改from torchvision.transforms.functional_tensor import rgb_to_grayscale
为from torchvision.transforms._functional_tensor import rgb_to_grayscale
角色控制 - ContralNet #
ControlNet 1.1包括14个模型(11个生产就绪模型和3个实验性模型):
- 插件地址:
- 本地:extensions/sd-webui-controlnet
- 下载地址:
git clone https://github.com/Mikubill/sd-webui-controlnet
- 插件模型地址:
- 本地:models/ControlNet
- 下载地址:
git clone https://huggingface.co/lllyasviel/ControlNet-v1-1
模型名称 | 模型描述 | 模型和配置文件 |
---|---|---|
control_v11p_sd15_canny | 使用 Canny 边缘检测算法的模型 | control_v11p_sd15_canny.pth / control_v11p_sd15_canny.yaml |
control_v11p_sd15_mlsd | 使用最小长度分割线检测算法 (MLSD) 的模型 | control_v11p_sd15_mlsd.pth / control_v11p_sd15_mlsd.yaml |
control_v11f1p_sd15_depth | 生成深度信息的模型 | control_v11f1p_sd15_depth.pth / control_v11f1p_sd15_depth.yaml |
control_v11p_sd15_normalbae | 应用法线估计和自编码器 (BAE) 的模型 | control_v11p_sd15_normalbae.pth / control_v11p_sd15_normalbae.yaml |
control_v11p_sd15_seg | 用于图像分割的模型 | control_v11p_sd15_seg.pth / control_v11p_sd15_seg.yaml |
control_v11p_sd15_inpaint | 用于图像修复的模型 | control_v11p_sd15_inpaint.pth / control_v11p_sd15_inpaint.yaml |
control_v11p_sd15_lineart | 用于线稿生成的模型 | control_v11p_sd15_lineart.pth / control_v11p_sd15_lineart.yaml |
control_v11p_sd15s2_lineart_anime | 用于动漫线稿生成的模型 | control_v11p_sd15s2_lineart_anime.pth / control_v11p_sd15s2_lineart_anime.yaml |
control_v11p_sd15_openpose | 用于人体姿势估计的模型 | control_v11p_sd15_openpose.pth / control_v11p_sd15_openpose.yaml |
control_v11p_sd15_scribble | 用于涂鸦生成的模型 | control_v11p_sd15_scribble.pth / control_v11p_sd15_scribble.yaml |
control_v11p_sd15_softedge | 用于软边缘生成的模型 | control_v11p_sd15_softedge.pth / control_v11p_sd15_softedge.yaml |
control_v11e_sd15_shuffle | 使用深度估计和卷积神经网络的模型进行图像重排 | control_v11e_sd15_shuffle.pth / control_v11e_sd15_shuffle.yaml |
control_v11e_sd15_ip2p | 使用图像修复和卷积神经网络的模型进行图像到图像的转换 | control_v11e_sd15_ip2p.pth / control_v11e_sd15_ip2p.yaml |
control_v11f1e_sd15_tile | 使用深度估计和图像瓦片生成的模型 | control_v11f1e_sd15_tile.pth / control_v11f1e_sd15_tile.yaml |
超分算法插件 #
.pth
文件放到models/ESRGAN/
目录下
- 无/None:单纯的放大,不做任何优化处理。
- Lanczos:使用加权平均插值方法,利用原始图像自身的像素信息,增加图像的细节,从而提高图像的分辨率。传统的纯数学算法,效果一般。
- Nearest:使用简单的插值方法,基于最近邻像素的值进行插值,从而增加图像的细节和提高分辨率。传统的纯数学算法,效果一般,还不如 Lanczos 的效果好。
- LDSR:基于深度学习,通过使用轻量级的网络结构和残差学习,实现较高的超分性能和计算效率。适用于各种需要快速且准确地提高图像分辨率的应用场景,如实时视频处理、移动设备图像处理等。
- ESRGAN:全称Enhanced Super-Resolution Generative Adversarial Networks (增强超分生成对抗网络),基于深度学习的超分辨率算法。增加了很多看上去很真实的纹理,但是有时可能会过度拟合,出现不好的效果。
- 4x-UltraSharp:基于ESRGAN做了优化,比较适合处理真人。
- ESRGAN_4x:Real ESRGAN,完全使用纯合成数据来尽量贴近真实数据进行训练。腾讯贡献。
- R-ESRGAN 4x+:基于Real ESRGAN的优化模型,适合放大真实风格的图片,常用。
- R-ESRGAN 4x+ Anime6B:基于Real ESRGAN的优化模型,适合放大动漫风格的图片,常用。
- ScuNET GAN:基于深度学习,使用生成对抗网络(GAN)进行训练。主要用在提高图像的视觉效果和感知质量,例如在图像增强、视频处理等。
- ScuNET PSNR:基于深度学习,使用均方误差(PSNR)进行训练。主要用在提高图像的客观质量和准确性,例如在医学图像分析、监控视频处理等。
- SwinIR_4x:使用Swin Transformer思想,基于自注意力机制的Transformer结构,适合各种图像的超分,比较通用。
视频转视频 #
TemporalKit
帧换帧
定脸输出 #
检测nsfw太严格 #
- turn off stable diffusion webui (close terminal)
- open the folder where you have stable diffusion webui installed
- go to extensions/sd-webui-roop/scripts
- make and save a copy of the cimage.py file in case something goes wrong
- open cimage.py in any text editor and delete lines 8, 7, 6, 2. The final code should look like this:
import tempfile
def convert_to_sd(img):
shapes = []
# --略--
return [any(shapes), tempfile.NamedTemporaryFile(delete=False, suffix=".png")]