LiYing
LiYing 是一套适用于自动化完成一般照相馆后期证件照处理流程的照片自动处理的程序。
项目介绍
LiYing 可以完成人体、人脸自动识别,角度自动纠正,自动更换任意背景色,任意尺寸证件照自动裁切,并自动排版。
LiYing 可以完全离线运行。所有图像处理操作都在本地运行。
工作流程
效果展示
注:本项目仅针对证件照图像处理,而非要求任意照片图像都可以完美执行,所以该项目的输入图片应该是符合一般要求的单人肖像照片。
如果您使用复杂图片制作证件照出现意外情况属于正常现象。
开始使用
整合包
如果你是 Windows 用户且没有代码阅览需求,可以下载整合包(直接拉到末尾有吾爱专属链接)(已在 Windows 7 SP1 & Windows 10 测试)
整合包从未包含模型,您可以参考 下载对应模型 章节说明来下载模型并放入正确的位置。
同时如果运行存在问题,请先尝试按照 先决条件 章节完善环境,如果没问题可以忽略。
运行整合包
运行 BAT 脚本:- cd LiYing
- run.bat ./images/test1.jpg
复制代码 运行 WebUI 界面:- # 运行 WebUI
- cd LiYing
- run_webui.bat
- # [color=#ff0000]浏览器访问 127.0.0.1:7860[/color]
复制代码 先决条件
依赖项
LiYing 依赖于 AGPicCompressAGPicCompress 需要依赖于 mozjpeg 和 pngquant您可能需要手动安装 pngquant,参考 pngquant 官方文档
pngquant 配置位置
环境变量(推荐)LiYing/src 目录下LiYing/src 目录下的 ext 目录
系统要求
Windows 用户需要安装最新 Microsoft Visual C++ Redistributable 依赖Windows 系统最低要求 Windows 7 SP1 及以上
从源码构建
- 克隆项目:
- git clone https://github.com/aoguai/LiYing
- cd LiYing ## 进入 LiYing 目录
- pip install -r requirements.txt # install Python helpers' dependencies
复制代码 注: 如果您使用的是 Windows 7 系统请您至少需要是 Windows 7 SP1 以上版本,且要求 onnxruntime==1.14.0, orjson==3.10.7, gradio==4.44.1
下载对应模型
您需要下载该项目使用到的模型并将其放置在 LiYing/src/model 中。或者您可以在 CIL 中指定模型路径。
用途 | 模型名称 | 下载链接 | 来源 | 人脸识别 | Yunnet | 下载链接 | Yunnet | 主体识别替换背景 | RMBG-1.4/2.0 | 1.4 下载链接/2.0 下载链接 | BRIA AI | 人体识别 | yolov8n-pose | 下载链接 | ultralytics | 注: 对于 yolov8n-pose 模型,您需要将其导出为 ONNX 模型,您可以参考官方文档实现
同时,我们提供了转换好的 ONNX 模型,您可以直接下载使用:
下载方式 | 链接 | Google Drive | 下载链接 | 百度网盘 | 下载链接(提取码:ahr9) | Github releases | 下载链接 | 运行
查看 CIL 帮助:- cd LiYing/src
- python main.py --help
复制代码 对于 Window 用户,项目提供了 bat 运行脚本:- # 运行 BAT 脚本
- cd LiYing
- run.bat ./images/test1.jpg
复制代码 运行 WebUI:- cd LiYing/src/webui
- python app.py
复制代码 CIL 参数信息与帮助
- python main.py --help
- Usage: main.py [OPTIONS] IMG_PATH
- Options:
- -y, --yolov8-model-path PATH YOLOv8 模型路径
- -u, --yunet-model-path PATH YuNet 模型路径
- -r, --rmbg-model-path PATH RMBG 模型路径
- -sz, --size-config PATH 尺寸配置文件路径
- -cl, --color-config PATH 颜色配置文件路径
- -b, --rgb-list RGB_LIST RGB 通道值列表(英文逗号分隔),用于图像合成
- -s, --save-path PATH 保存路径
- -p, --photo-type TEXT 照片类型
- -ps, --photo-sheet-size TEXT 选择照片表格的尺寸
- -c, --compress / --no-compress 是否压缩图像(使用 AGPicCompress 压缩)
- -sv, --save-corrected / --no-save-corrected
- 是否保存修正图像后的图片
- -bg, --change-background / --no-change-background
- 是否替换背景
- -sb, --save-background / --no-save-background
- 是否保存替换背景后的图像
- -lo, --layout-only 仅排版照片,不更换背景
- -sr, --sheet-rows INTEGER 照片表格的行数
- -sc, --sheet-cols INTEGER 照片表格的列数
- -rt, --rotate / --no-rotate 是否旋转照片90度
- -rs, --resize / --no-resize 是否调整图像尺寸
- -svr, --save-resized / --no-save-resized
- 是否保存调整尺寸后的图像
- -al, --add-crop-lines / --no-add-crop-lines
- 在照片表格上添加裁剪线
- -ts, --target-size INTEGER 目标文件大小(KB)。指定后将忽略质量和大小范围参数。
- -szr, --size-range SIZE_RANGE 文件大小范围(KB),格式为最小值,最大值(例如:10,20)
- -uc, --use-csv-size / --no-use-csv-size
- 是否使用CSV中的文件大小限制
- --help Show this message and exit.
复制代码 配置文件
在该版本中,在data目录中设置了常规的证件照配置size_XX.csv与常用颜色配置color_XX.csv,您可以自行按照给出的 CSV 模板格式修改或增删配置。
更新日志
注意该版本对 CIL 参数进行了更改,为了避免问题请你仔细阅读最新 CIL 帮助文档
2025/06/30 更新
新增 size_range 选项,允许用户输入照片文件大小的最小值和最大值,尝试在保持质量的同时确保文件大小在范围内新增 target_size 选项,用于控制照片文件大小新增 RMBG-2.0 与 yolov8 较高迭代版本的支持(需要在 Latest 环境下)新增 CLI/BAT/WEBUI 版本的自动构建新增 模型路径配置选项修复 已知BUG
致谢
该项目的制作初衷和项目名称来源于帮助我的父母更轻松的完成他们的工作,在此感谢我的父母。
相关项目
同时特别感谢以下项目和贡献者:
提供模型与理论:
YunnetRMBG-1.4ultralytics
或许你会对图片压缩部分感兴趣,那是我另一个开源项目:
它依赖于:
mozjpegpngquantmozjpeg-lossless-optimization
贡献
LiYing 是一个开源项目,非常欢迎社区的参与。要为该项目做出贡献,请遵循贡献指南。
开源协议
LiYing 使用 AGPL-3.0 license 进行开源,详情请参阅 LICENSE 文件。
[2025/06/30 更新]吾爱破解下载专属链接:
链接:https://pan.baidu.com/s/1-X5JiBm9rP6vq-5j8zcUEA?pwd=27b0
提取码:27b0
---
如果你觉得上面一堆看着很头大可以直接参考下面说明直接选择版本下载使用即可,遇到不会的再回过头来了解:
包含以下三种版本:
CLI 版本
- Compatible:
- 仅包含命令行界面的单个可执行文件(pyinstaller打包)
- 体积最小,启动最快
- 仅支持命令行参数运行
- 适合自动化脚本或批处理调用
- 兼容性最好,适合较老的系统
- Latest:
- 与Compatible版本功能相同,但使用更新的Python和依赖
- 性能更好,适合较新的系统
BAT 版本
- Compatible:
- 不包含WebUI相关组件
- 支持命令行和批处理脚本运行
- 兼容性好,适合较老的系统
- Latest:
- 与Compatible版本功能相同,但使用更新的Python和依赖
- 性能更好,适合较新的系统
WebUI 版本
- Compatible:
- 完整版本,包含所有功能
- 包含WebUI图形界面
- 支持命令行、批处理脚本和网页界面运行
- 兼容性好,适合较老的系统
- Latest:
- 与Compatible版本功能相同,但使用更新的Python和依赖
- 性能更好,适合较新的系统
选择建议
- 如果您只需要命令行功能,推荐使用 CLI 版本
- 如果您需要批处理脚本功能,推荐使用 BAT 版本
- 如果您需要完整功能,推荐使用 WebUI 版本
- 如果您的系统较老或遇到兼容性问题,请选择 Compatible 版本
- 如果您的系统较新且想要获得最佳性能,请选择 Latest 版本
|