基于Controlnet和SDwebui实现草图转细节图

其实不是很复杂,但网上的技术教程总是充斥的营销号的味道,令人不适。。。

先部署SDwebui,直接去github网页上下载即可

https://github.com/AUTOMATIC1111/stable-diffusion-webui

然后windows用户应该是点webui-user.bat,ubuntu点webui-user.sh

然后会自动下载一些文件,但是需要翻墙,如果下载失败的话,可以尝试以下步骤

用pycharm打开文件夹,因为点webui-user.bat会自动设置一个虚拟环境, 所以不用再conda create了,直接激活虚拟环境,然后

pip install -r requirements_versions.txt

其中关于torch的部分需要注意一下,可能安装的是无cuda版本的,可以自己去pytorch官网下载自己的版本。

然后pycharm终端翻墙的方法是,后面的12333改成你自己梯子的post,然后再在终端里运行webui-user.bat,会下载sd的模型权重,下载完毕后会自动加载模型生成网页页面。

set HTTP_PROXY=http://127.0.0.1:12333

set HTTPS_PROXY=http://127.0.0.1:12333

注意使用的时候需要关闭梯子,不然会报错,

Something went wrong Expecting value: line 1 column 1 (char 0)

我这是已经安装了controlnet的sd-webui,找到中间的URL http://127.0.0.1:7860,输入进自己的浏览器就可以使用了。

 尝试了以下文字生成图像的速度还可以。

 

再之后是controlnet,笔者先安装了其本体

https://github.com/lllyasviel/ControlNet

下载文件夹后,

conda env create -f environment.yaml
conda activate control

 但是笔者在安装 environment.yaml的时候总是会中断,没办法只能分两步,先创建虚拟环境,安装好cuda,或者直接用sd的虚拟环境也可以。

然后pip install -r requirements.txt, requirements.txt内容如下

gradio==3.16.2
albumentations==1.3.0
opencv-contrib-python==4.3.0.36
imageio==2.9.0
imageio-ffmpeg==0.4.2
pytorch-lightning==1.5.0
omegaconf==2.1.1
test-tube>=0.7.5
streamlit==1.12.1
einops==0.3.0
transformers==4.19.2
webdataset==0.2.5
kornia==0.6
open_clip_torch==2.0.2
invisible-watermark>=0.1.5
streamlit-drawable-canvas==0.8.0
torchmetrics==0.6.0
timm==0.6.12
addict==2.4.0
yapf==0.32.0
prettytable==3.6.0
safetensors==0.2.7
basicsr==1.4.2

然后下载去huggingface下载模型权重放到models文件夹里

lllyasviel/ControlNet · Hugging Face

python gradio_scribble2image.py

再运行的时候也需要保证终端翻墙,来下载sd的模型权重,有些许不同的是,controlnet最后的URL是0.0.0.0,这个是需要修改的,直接搜索0.0.0.0,将自己运行的程序对应的改成localhost

 

但是在实际使用的时候,程序会处于一直推理的状态,且没有结果,而且GPU占用很高,但是一直没变化,和issues492的情况类似,Inference going on forever and no error messages,笔者目前还没找到解决方案,故只能选用sd-webui的controlnet扩展,如果这个问题解决了后续会更新。

上述问题已解决,请保证自己的python版本大于3.8,且gradio版本较新

根据我实测,controlnet的代码是可以运行的,应该是它自带的gradio gui交互有问题,有能力的可以扒代码自己重新写一个(我后续会做这件事

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet

这里比较看运气,因为这个git比较小,不用翻墙有时候也能下载下来,但有时候会报错...

实在不行,就直接将文件夹下载下来放到extensions里

然后去这里下载模型权重

 lllyasviel/ControlNet-v1-1 at main (huggingface.co)

 最后讲一下使用过程,首先enable,然后control type点scribble即可,

prompt这里简单写一个turtle,当然可以增加描述来获得更好的效果,点击Generate 

 

生成的图片效果

最后思考一下技术的实际应用,目前看来这个技术用于装修草图直接生成效果图效果非常好,也就是场景生成应用价值比较大,因为场景生成对于细节的要求没有那么高的指定性,此外,对于人物的生成效果也可以接受,但很显然还是需要人来做最后的微调步骤。

后续计划找不同风格的sd来做实验,做个总结,目前网络上信息量已经非常爆炸了,sd的营销号也非常多,总是吹嘘会取代人,会失业,但实际上不管人工智能如何,最后总还是需要人来做最后的微调步骤,只是减轻工作量罢了,解放生产力,毕竟只有人才能筛选出真正的优质内容,而生成却是良莠不齐的,当然controlnet从很大程度上还是推进了优质内容的诞生,因为人可以控制中间的生成步骤。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值