一个较简单(汗)的解决方案,让机器人避免Stable diffusion webui出涩图

(不知道放在这里合不合适,汗,总体上是和Koishi无关的,但是和我之前提问的帖子有关)
之前在论坛里提了一个相关的问题,十分感谢大佬的回复,但是不是很懂node.js,一直没有调试成功,就放着没管了。

对插件生成/提供的所有图像进行涩图过滤?

今天突然又想起来,去查了查,发现一种相对来说简单一点的实现方案,分享给有需要的朋友。

适用情形:自建后端,stable diffusion webui。

Stable Diffusion本身是有safety checker功能的,但是webui去年版本更新之后,这个功能变成了插件,无法在API里调用。有网友将插件修改为自定义脚本,通过API控制脚本达到过滤的功能。

IOMisaka / sdapi-scripts

基础使用方法:安装之后,在txt2img或img2img的POST中加入以下参数

"script_name": "CensorScript",
"script_args": [true,true],

进一步自定义:

  1. 自定义过滤强度:在venv\Lib\site-packages\diffusers\pipelines\stable_diffusion文件夹下找到safety_checker.py文件,修改第65行、73行的adjustment参数(二次元图片我的设置是两个都改成-0.03)越正越严格,越负越宽松
  2. 与controlnet同时使用:在api里同时调用controlnet和censorscript似乎会报错,原因不明,我个人的解决方法是在extensions\sdapi-scripts\scripts\CensorScript.py中修改如下内容强制开启
def run(self,p,nsfw_check=True,nsfw_mosaic=True)
3 个赞

顶一下,在非涩图群进行nsfw 屏蔽确实很有必要

2 个赞

另外个人建议把那三个特殊关照的特征删了,因为大家画的图很多都会被模型判定为幼女导致审核权重增加

2 个赞