File size: 16,091 Bytes
f55342d
 
 
b75520c
6bce0b0
 
f55342d
b75520c
 
6bce0b0
f55342d
6bce0b0
f55342d
 
 
 
 
 
b75520c
6bce0b0
 
b75520c
f55342d
b75520c
 
 
 
 
f55342d
b75520c
6bce0b0
 
 
 
f55342d
6bce0b0
 
f55342d
 
6bce0b0
f55342d
6bce0b0
 
f55342d
 
 
6bce0b0
f55342d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6bce0b0
 
 
 
 
f55342d
 
 
 
 
 
6bce0b0
 
f55342d
6bce0b0
f55342d
 
 
 
6bce0b0
 
 
b75520c
 
 
 
 
 
 
 
 
6bce0b0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
---
license: apache-2.0
---
## SimpleSDXL2 - 最强中文创意生图,6G显存玩转混元、可图、SD3m和Flux!
<div align=center><img src="https://github.com/user-attachments/assets/75786e42-60ec-4e02-b802-51bd82cff634"></div>
    
## 🔔 最新更新 / Update
- [2024.08.20] <b>新架构进一步优化,提升在Windows环境的兼容性,压缩Fooocus和Comfy后端切换的资源消耗。优化支持最低6G显存的Flux模型出图,提供质量优先的Fluxdev和速度优先的Flux+两个预置包,并可根据系统资源自动适配。同步升级主线v2.5.5,优化增强修图UI,更符合Fooocus交互习惯。</b>
- [2024.07.31] 优化了新架构,更稳定,更快速。新增对快手可图模型的支持,使SimpleSDXL2除SDXL外,以6G显卡显存同时支持: 小马v6/Playground-v2.5/SD3m/混元/可图等多种模型出图,适用更多场景。同步主线v2.5.2,并对修图界面进行优化和适配,使之更容易被中文用户理解和使用。
- [2024.06.30] 扩展架构,新增Comfy后端,全新升级SimpleSDXL2。支持SDXL、混元、SD3和Playground-v2.5本地模型,最低6G显卡内存可用,保持Fooocus简洁、高效和稳定的出图风格。新增融图打光模块,可自主生成前景及蒙版,可自动抠取产品或人物图片切换场景进行融合。升级OBP一键提示词到最新版。UI整体优化。
- [2024.05.28] 同步主线升级到v2.4.3,新增nsfw过滤等功能。
- [2024.04.23] 升级OBP到最新版,集成[Superprompt](https://huggingface.co/roborovski/superprompt-v1)超级提示词扩展,为提示词增补细节描写。新增SD3生图引擎接口,可到[stability.ai](https://stability.ai/membership)申请免费会员,获取接口密钥后无缝对接SD3新引擎生成图片。优化界面,包括将OBP和Superprompt入口整合到提示词框,新增预置包导航浮层提示、提示词框token数统计、图生图多个参数前置到操作页面等。

<b>重要:如果项目给您带来了便利和价值,不要吝惜加颗星"⭐️",促进项目更好的发展!😜<br>
Note: Please don't forget to give us a star if you like this project. Thanks! 😜</b>

## Windows安装使用
### 下载:(新用户至少要下载程序包和基本模型包)
- 程序包: 运行环境和应用程序, [SimpleSDXL2_win.exe.7z0820 (2G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/SimpleSDXL2_win.exe.7z0820)
- 基本模型包: 缺省出图模型和所有辅助模型,包含SD3基础版, [models_base_0731.zip (49G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_base_0731.zip)
- 扩展模型包: 预置导航上的其他出图模型,包括写实/动漫(V500)/小马v6/Playground-v2.5/混元1.2/可图, [models_ckpt_0731.zip (47G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt_0731.zip)
- Flux模型: 6G和8G显存可下载: [flux1-dev-bnb-nf4-v2.safetensors](https://hf-mirror.com/lllyasviel/flux1-dev-bnb-nf4/resolve/main/flux1-dev-bnb-nf4-v2.safetensors) 和 [flux1-schnell-bnb-nf4.safetensors](https://hf-mirror.com/silveroxides/flux1-nf4-weights/resolve/main/flux1-schnell-bnb-nf4.safetensors)。高配显卡可下载Flux全量模型和增补包: [flux1-dev.safetensors](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/flux1-dev.safetensors),[flux1-schnell.safetensors](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/flux1-schnell.safetensors),Flux全量模型所需增补包[models_flux1_fp16_simpleai_patch.zip](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_flux1_fp16_simpleai_patch.zip)
### 安装:
- 新建空目录名称为: SimpleAI,注意完整路径名上不能包含中文和空格。如果已经安装过正式版的用户,此步可忽略。
- 将程序包复制到SimpleAI目录内,<b>去掉`.7z0820`的文件名尾缀</b>,双击exe文件运行,自解压到当前目录。新版本严禁与旧版本混装。
- 复制基本模型包models_base_0731.zip和扩展模型包models_ckpt_0731.zip到SimpleAI目录下,分别双击文件解压到本目录,同名覆盖在同一目录下:SimpleModels,即模型根目录。如果已经安装过正式版的用户,此步可忽略。
- 将下载的flux1-dev-bnb-nf4-v2.safetensors、flux1-schnell-bnb-nf4.safetensors或flux1-dev.safetensors、flux1-schnell.safetensors模型文件放入SimpleModels下的checkpoints目录下。如果需要运行Flux全量模型,需在SimpleAI目录下解压models_flux1_fp16_simpleai_patch.zip,覆盖到SimpleModels下,主要是补齐clip和vae目录下的模型。
- 在SimpleAI目录下新建出图目录,名称为: outputs ,此目录将保存所有出图的图片。如果已经安装过正式版的用户,此步可忽略。
### 运行
- 进入SimpleSDXL2_win_0820目录,双击启动脚本 run_SimpleSDXL.bat,完成第一次运行。
- 第一次运行后,在SimpleSDXL目录下会生成 config.txt文件,可以自行修改和添加模型路径。
- 模型根目录和出图目录可以自定义,但需用记事本打开启动脚本文件run_SimpleSDXL.bat,自行修改。
<img width="600" align=center src="https://github.com/user-attachments/assets/4c039129-b59f-47ef-825b-863c5ea24705">


### 如果对旧版情有独钟,可选择不升级,运行旧版
- SimpleSDXL1独立分支的完全包,含环境、程序和默认模型,后续不增功能仅修bug :  [SimpleSDXL1_win64_all.zip (30G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/SimpleSDXL1_win64_all.zip)

## 什么是SimpleSDXL?/ What's SimpleSDXL?

- **化繁为简** AI的本质应该是化繁为简,让操作更简洁,让想法更易达成。SimpleSDXL保持Fooocus的易用性,以SDXL模型生态为核心,朝着开源可控,简洁易用,功能完善的方向更进一步。
- **中文适配** 中文环境与英语环境有很多差异。不仅仅在语言文字上,包括思维习惯、操作方式和网络环境都有很多不同。让中文用户使用更简单,用的更爽,也是SimpleSDXL
的原始初衷。
- **场景定制** 文生图和图生图有非常多的使用场景,需要更好的配置定制能力。SimpleSDXL以**预置包和嵌参图片**为基础,面向场景提升Fooocus的**开放性和可定制性**,发挥出SDXL的强大能力。

## SmipleSDXL2 全新架构 / New Architecture
<img width="500" align=center src="https://github.com/metercai/SimpleSDXL/assets/5652458/364df3ce-3420-4cec-b26e-f315c76b4c1e">

## 对比Fooocus的增强特色 / Enhanced features of Fooocus
在Fooocus基础上增强功能,可无缝升级,同步迭代,并行使用。而且经过了手机适配,PC和手机也可同步操作。<br> 
Enhanced features base on Fooocus, seamless upgrading and dual versions available synchronous iteration and parallel use. Adapted to mobile, PC and phone can be used synchronously.

### 中英文混编提示词 / Chinese English mixed prompts
在线离线自主选择,支持翻译后再编辑,更适于提示词表达。<br>
Offline and online autonomous selection, support editing after translation, more suitable for Prompt. <br>

<img width="300" align=right src="https://github.com/metercai/SimpleSDXL/assets/5652458/707999e5-c776-4321-9048-5ad275263ff0">

- [x] **中英文混合编辑** 对提示词文本进行中英文切分后分别翻译再合并,适配提示词类的表达场景。
- [x] **在线和离线翻译器** 可自动安装离线翻译大模型和小尺寸的瘦模型,也可选择第三方翻译接口。离线模型需自身算力支持,第三方接口接入便捷成本低,但增加了接口依赖。用户可根据情况自主配置选>择。
- [x] **支持翻译后再编辑** 机器翻译的结果质量都不可控,存在翻译质量差导致生成内容偏差的现象。翻译后再编辑可以显性化翻译质量,提供用户再优化调整处理的空间。
- [x] **多大厂接口随机选** 选择国内大厂(百度、阿里和搜狗)的稳定接口,每次启动时随机选择,运行态相对固定。既避免对接口冲击又保持翻译的一致性。
- [ ] **私有翻译接口定制** 可以配置私有接口,方便对接OpenAI等大语言模型的翻译能力。

### 智能抠图生成蒙板 / Intelligent cutout generation mask
具有语义识别的多种抠图算法,可自动生成蒙板,方便生成图片的组合加工。 <br>
Multiple cropping algorithms with semantic recognition that can automatically generate masks, facilitating the combination processing of generated images.<br>
- [x] **智能算法抠图** 可以基于u2net进行图像分割,对重绘图片进行前后景分割,人物主体分割,并生成对应蒙板进行重绘。
- [x] **语义识别抠图** 可以基于bert+Sam,在语义理解基础上识别图片内容,再进行自动分割,生成蒙板后进行重绘。
- [ ] **点击识别抠图** 点击图片某个区域,基于Sam算法对点击所在主体进行自动识别和分割,生成蒙板后进行重绘。

### 通配符批量提示词 / Wildcard batch prompt words
支持通配符词组表达和触发展示,可随机批量生成同Seed下的一组图片。<br>
Supports wildcard phrase expressions and triggering display, allowing for random batch generate a set of images under the same seed.

<img width="380" align=right src="https://github.com/metercai/SimpleSDXL/assets/5652458/4b10e6de-b026-41ea-a206-77d6f9fdf1cd">

- [x] **词组语法** 支持[Words]词组,以","分割的词列表。表示在同一seed下从每个words词组抽词进行组合批量生成图片。每种组合1张图片,总量是各词组词数的乘积,以实际需要的数量为准,不受出图数量参数的限制。
- [x] **通配符组词** 用通配符定义词组,格式为:`[__wildcard__:R|Lnumber:start]` R表示随机抽,L表示按顺序抽,默认=R;number是抽取的数量,默认=1;start是在顺序抽取时从第几个开始抽,默认=1。具体语法说明见[通配符ReadMe](https://github.com/metercai/SimpleSDXL/tree/SimpleSDXL/wildcards/)
- [x] **自动触发输入** 提示词框在输入'['或'_'时可自动触发通配符输入工具,可以通过界面选择追加通配符到提示词框。
- [ ] **嵌套及动态加载** 支持通配符的多级嵌套和动态加载,增强通配符的表达能力。
- [ ] **定制和推送** 支持自主定制通配符快捷方式,并推送给朋友使用。

### 增强预置包和模型下载 / Enhanced preset and adapted for download
预置包可通过界面切换和生成,模型下载会根据IP自动选择内外源。 <br>
The preset can be switched and generated through UI, and the model download will automatically select sources based on the access IP.
- [x] **预置包导航** 将presets目录下的预置包配置文件生成顶部导航入口,户点击顶部预置包导航后,调取对应配置文件,重置出图环境参数和相关配置。
- [x] **生成预置包** 将当前出图环境参数打包保存为新的预置包,将预置包文件存入presets目录下,自动加入顶部导航。
- [x] **扩展预置参数** 扩展主线的预置包参数范围,补充开发者模式的参数,以及风格样式的定义和通配符的定义。支持的预置包参数见[预置包ReadMe](https://github.com/metercai/SimpleSDXL/tree/SimpleSDXL/presets/)
- [x] **统一模型ID和下载** 对接模型信息库,使用以模型文件哈希为基础的统一模型MUID。可自动检测预置包出图环境的可用性,缺失模型文件可自动下载补齐。
- [x] **出图保护** 当系统环境进入出图状态时,顶部导航不可点击,禁止加载预置包冲击出图环境。

### 图片集浏览和管理 / Finished image sets browsing and management
原生版仅能浏览当前生成的图片集,已生成图片管理非常简陋。 <br>
Fooocus only can browse the current generated image set. Finished images management is very simple.
- [x] **已出图片检索** 对已出图片可以按照出图日期进行检索。单天出图量过大,则根据屏幕适配分组为子目录索引,避免撑爆相册组件。
- [x] **已出图片删除** 对崩坏的已出图片可以即时删除,联动删除出图参数日志,确保图片和参数日志保持一致性。
- [x] **自动回填提示词** 在浏览已出图片集过程中,可选择自动回填图片提示词,方便提示词的对照和修改,及图片的重生。
- [x] **图片集交互优化** 已出图片集索引栏可根据状态适配,自动收起和调整,避免目录过多挤占页面空间,干扰图片生成创作。

### 嵌参图片和提参重生 / Embeded images and extract regeneration
增强的参数管理,可即时查看可嵌入图片,也可提取参数回填界面,二次生成。 <br>
Enhanced parameter management for instant viewing and embedding of images, and can also extract parameters to backfill for secondary generation.<br>
- [x] **查看参数** 从出图日志文件中提取当前图片的生成参数并用浮层完整展示。图集切换过程中,浮层内容跟随切换。
- [x] **提参重生** 用当前图片的生成参数覆盖默认预置包的参数,提示词回填,可以修改参数或提示词后重新出图。
- [x] **嵌参图片** 在系统未设置统一嵌参的情况,可以制作当前图片的参数打包嵌入,并保存到专属的嵌参图片目录。嵌参图片可通过图片描述工具提取参数形成新的出图环境配置。

### 算力云化及其他
- [x] **云化适配** 增加访问根路径启动参数,`--webroot`。当在云端服务器部署,并配置前置转发后,需要配置根路径参数,避免URL路径的混乱。
- [ ] **算力云化** 前后端分离,本机的出图算力后端可支持远程的前端出图调用,实现前端操控和出图计算的分离,让无GPU卡设备也可使用SDXL模型出图。
- [x] **主线同步** SimpleSDXL的增强代码保持良好的结构,与Fooocus主线版本保持良好的兼容性和扩展性,可以及时同步主线的新增能力和Bug修复。

## Linux安装使用 / Install & Usage
### 安装 Anaconda 

    curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 
    bash Miniconda3-latest-Linux-x86_64.sh
### 安装应用环境

    mkdir SimpleAI;cd SimpleAI
    git clone https://github.com/metercai/SimpleSDXL.git
    #国内用户可换用gitee源: https://gitee.com/metercai/SimpleSDXL.git
    wget https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_base_0731.zip
    wget https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt_0731.zip
    unzip -d -o models_base_0731.zip 
    unzip -d -o models_ckpt_0731.zip
    mkdir outputs
    conda env create -f environment.yaml
    conda activate simpleai
    pip install packaging pygit2==1.12.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

### 启动服务

    cd SimpleSDXL
    python entry_with_update.py --models-root ../SimpleModels --output-path ../outputs
    # 云端部署可以配置: ip, port, webroot 等参数
    # python entry_with_update.py --listen 0.0.0.0 --port 8889 --webroot /sdxl --preset realistic
    # Enter English UI : --language en
    # python entry_with_update.py --language en


## 在线交流:qq群:938075852  新年新版本,需要增加哪些新功能,进群畅聊
<div align=center><img width="250" src="https://github.com/metercai/SimpleSDXL/assets/5652458/28f8c604-79eb-467d-956c-b9137c784194"></div>

## Star History
<a href="https://star-history.com/#metercai/SimpleSDXL&Date">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=metercai/SimpleSDXL&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=metercai/SimpleSDXL&type=Date" />
   <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=metercai/SimpleSDXL&type=Date" />
 </picture>
</a>

---