File size: 13,525 Bytes
f55342d |
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 |
---
license: apache-2.0
---
## SimpleSDXL2 - 扩展后端,超越Fooocus,支持6G显存国产混元与SD3出图。
<div align=center><img src="https://github.com/metercai/SimpleSDXL/assets/5652458/92b6c7d5-fc3e-4407-b03e-5c87d149d503"></div>
## 🔔 最新更新 / Update
- [2024.06.30] <b>扩展架构,新增Comfy后端,全新升级SimpleSDXL2。支持SDXL、混元、SD3和Playground-v2.5本地模型,最低6G显卡内存可用,保持Fooocus简洁、高效和稳定的出图风格。新增融图打光模块,可自主生成前景及蒙版,可自动抠取产品或人物图片切换场景进行融合。升级OBP一键提示词到最新版。UI整体优化。</b>
- [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>
<b>重要:如果项目给您带来了便利和价值,不要吝惜加颗星"⭐️",促进项目更好的发展!😜<br>
Note: Please don't forget to give us a star if you like this project. Thanks! 😜</b>
## Windows安装使用
### 下载:(新用户至少要下载程序包和基本模型包)
- 运行环境和应用程序, [程序包: SimpleSDXL2_win.exe.7z (2G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/SimpleSDXL2_win.exe.7z)
- 缺省出图模型和所有辅助模型,包括混元v1.1版和SD3基础版, [基本模型包: models_base.zip (49G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_base.zip)
- 预置导航上的其他出图模型和SD3的t5fp8版, [扩展模型包: models_ckpt.zip (46G)](https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt.zip)
### 安装:
- 新建空目录,路径名上不能包含中文和空格。将程序包复制到新目录,<b>去掉`.7z`的文件名尾缀</b>,然后点击运行SimpleSDXL2_win.exe,自解压到当前目录。新版本严禁与旧版本混装。
- 解压基本模型包models_base.zip, 与上一步解压出来的models目录同名覆盖。如有Fooocus、SD或其他模型库共享,可自行配置config.txt。
- 如需解除预置导航上其他预置包下载箭头,可解压扩展模型包models_ckpt.zip,同样覆盖同名目录models。
### 运行
- 点击启动 run_SimpleSDXL.bat,完成第一次运行。
- 后续可用三种方式启动运行:
- 带更新启动:run_SimpleSDXL.bat
- 不更新启动:run_SimpleSDXL_without_update.bat
- 启动开发测试版:run_SimpleSDXL_dev.bat
## 什么是SimpleSDXL?/ What's SimpleSDXL?
- **化繁为简** AI的本质应该是化繁为简,让操作更简洁,让想法更易达成。SimpleSDXL保持Fooocus的易用性,以SDXL模型生态为核心,朝着开源可控,简洁易用,功能完善的方向更进一步。
- **中文适配** 中文环境与英语环境有很多差异。不仅仅在语言文字上,包括思维习惯、操作方式和网络环境都有很多不同。让中文用户使用更简单,用的更爽,也是SimpleSDXL的原始初衷。
- **场景定制** 文生图和图生图有非常多的使用场景,需要更好的配置定制能力。SimpleSDXL以**预置包和嵌参图片**为基础,面向场景提升Fooocus的**开放性和可定制性**,发挥出SDXL的强大能力。
## SmipleSDXL2 全新架构 / New Architecture
<img width="600" 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] **启动流程优化** 对接国内模型下载源,根据接入位置区分语言和下载源。国内IP默认中文,国内源;国外IP默认英文,国外源。提供启动参数可自定义覆盖默认值,满足科学魔法的适配需求。
- [x] **安装包瘦身** 用最小必备组件进行打包,生成一键安装包,从Fooocus主线的1.8G瘦身到81M。支持Fooocus配置文件的设置,可以共享模型和图片输出目录。
- [x] **整合完全包** 整合所有必要资源文件打包形成的完全包,一次下载,运行后就可直接出图。
- [x] **日志消息** 每次启动自动检测Fooocus主线和SimpleSDXL的更新日志,将更新消息显示到顶部消息浮层。
- [x] **版本标识** 以发布日期和版本哈希值作为SimpleSDXL的版本标识,方便定位排错。
### 算力云化及其他
- [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.zip
wget https://hf-mirror.com/metercai/SimpleSDXL2/resolve/main/models_ckpt.zip
cd SimpleSDXL
unzip -d -o ../models_base.zip
unzip -d -o ../models_ckpt.zip
conda env create -f environment.yaml
conda activate simpleai
pip install packaging pygit2==1.12.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
### 启动服务
python entry_with_update.py
# 云端部署可以配置: ip, port, webroot 等参数
# python entry_with_update.py
# Enter English UI : --language en
# python entry_with_update.py --language en
## 在线交流:qq群:938075852 需要增加哪些新功能,进群畅聊
|