AI画图

起手式 #

#

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_grayscalefrom 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 帧换帧

定脸输出 #

sd-webui-roop

检测nsfw太严格 #

  1. turn off stable diffusion webui (close terminal)
  2. open the folder where you have stable diffusion webui installed
  3. go to extensions/sd-webui-roop/scripts
  4. make and save a copy of the cimage.py file in case something goes wrong
  5. 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")]