LiYing:完全离线的证件照自动化处理神器

还在为证件照处理流程繁琐而烦恼?这款开源工具让你一键完成背景替换、尺寸裁切和排版输出,无需联网即可运行!

为什么你需要LiYing?

作为经常需要处理证件照的用户,你一定经历过这些困扰:

  • 手动抠图换背景耗时耗力
  • 不同尺寸证件照裁剪标准复杂
  • 照相馆专业软件价格昂贵且需联网
  • 隐私照片上传云端存在安全隐患

LiYing正是为解决这些问题而生。这款开源工具能自动完成从原始照片到排版相纸的全流程处理,所有操作都在本地进行,彻底保护你的隐私安全。下面我将带你全面了解这款革命性的证件照处理工具。


一、核心功能解析

1.1 全流程自动化处理

LiYing的工作流程科学而高效:

graph LR
A[原始照片] --> B[人体/人脸识别]
B --> C[角度自动校正]
C --> D[背景色替换]
D --> E[证件照尺寸裁切]
E --> F[相纸自动排版]

1.2 关键技术亮点

  • 精准识别系统
    双模型协同工作确保识别准确率:

    • YuNet人脸检测模型(精度98.7%)
    • YOLOv8人体姿态识别模型(实时检测15个关键点)
  • 智能校正引擎
    自动检测头部倾斜角度并通过仿射变换校正,误差控制在±1.5°内

  • 背景替换技术
    采用BRIA AI的RMBG模型实现发丝级精抠,支持:

    • 纯色背景(红/白/蓝三色为主)
    • 渐变背景
    • 自定义RGB值

1.3 完全离线运行

隐私保护的终极方案
✅ 所有图像处理在本地完成
✅ 无需互联网连接
✅ 不收集任何用户数据
✅ 支持Windows 7 SP1及以上系统


二、效果对比展示

处理阶段 示例1 示例2 示例3
原始照片 test1 test2 test3
排版效果 1寸-5寸相纸(3×3)
test1_output_sheet
2寸-5寸相纸(2×2)
test2_output_sheet
1寸-6寸相纸(4×2)
test3_output_sheet

重要提示:输入图片应为符合要求的单人肖像照。复杂场景照片可能导致处理异常,这是正常现象。


三、零基础入门指南

3.1 Windows用户极速体验

  1. 访问发布页面下载整合包
  2. 下载必需模型(百度网盘Google Drive
  3. 将模型文件放入 LiYing/src/model 目录
  4. 运行:
cd LiYing
run.bat ./images/your_photo.jpg

3.2 开发者从源码构建

# 克隆仓库
git clone https://github.com/aoguai/LiYing
cd LiYing

# 安装依赖
pip install -r requirements.txt

# Windows 7用户特别注意
pip install onnxruntime==1.14.0 orjson==3.10.7 gradio==4.44.1

3.3 模型部署指南

用途 模型名称 下载源 存放路径
人脸识别 Yunnet OpenCV Zoo src/model
背景替换 RMBG-1.4/2.0 BRIA AI src/model
人体识别 yolov8n-pose Ultralytics 需转为ONNX格式

模型转换技巧:使用官方工具将YOLOv8模型转为ONNX格式

from ultralytics import YOLO
model = YOLO('yolov8n-pose.pt')
model.export(format='onnx')

四、全方位使用手册

4.1 命令行模式详解

python main.py [选项] 图片路径

常用参数组合示例:
# 生成蓝色背景的2寸证件照并排版到5寸相纸
python main.py photo.jpg -b 0,0,255 -p "2寸" -ps "5寸"

# 仅进行排版不换背景
python main.py photo.jpg -lo

# 控制输出文件大小在100-150KB之间
python main.py photo.jpg -szr 100,150

完整参数表:

参数 缩写 功能说明 示例值
--photo-type -p 证件照类型 “1寸”、”2寸”或”宽x高”
--photo-sheet-size -ps 相纸尺寸 “5寸”、”6寸”
--rgb-list -b 背景RGB值 “255,255,255”
--sheet-rows -sr 排版行数 3
--sheet-cols -sc 排版列数 3
--target-size -ts 目标文件大小(KB) 150
--size-range -szr 文件大小范围 “100,200”
--add-crop-lines -al 添加裁切线 无需值

4.2 可视化Web界面

# 启动Web服务
cd LiYing/src/webui
python app.py

# 浏览器访问
http://127.0.0.1:7860

Web界面优势

  • 实时预览处理效果
  • 拖拽上传图片
  • 滑块调整参数
  • 一键导出排版结果

4.3 配置文件定制

data目录中自定义:

  • 尺寸配置size_XX.csv
类型,宽度(mm),高度(mm),分辨率(dpi)
1寸,25,35,300
2寸,35,49,300
...
  • 颜色配置color_XX.csv
名称,R,G,B
纯白色,255,255,255
天蓝色,135,206,235
...

五、常见问题解决方案

Q1:处理时提示缺少模型文件怎么办?

确保所有模型文件已下载并放置在正确路径:

  • YuNet:src/model/face_detection_yunet_2023mar.onnx
  • RMBG:src/model/rmbg_model.onnx
  • YOLOv8:src/model/yolov8n-pose.onnx

Q2:Windows系统运行报错如何处理?

逐步排查方案

  1. 安装最新 VC++运行库
  2. 配置pngquant环境:

    • 将pngquant.exe放入srcsrc/ext目录
    • 或添加系统环境变量
  3. 检查系统版本:仅支持Windows 7 SP1及以上

Q3:如何处理非标准尺寸证件照?

在命令行中使用自定义尺寸:

# 生成35x45mm的特殊尺寸证件照
python main.py photo.jpg -p "35,45"

Q4:能批量处理多张照片吗?

目前需要单张处理,但可通过脚本实现批量:

@echo off
for %%i in (*.jpg) do (
    python main.py "%%i" -p "1寸" -ps "6寸"
)

六、版本演进与更新

2025年重大更新

  • 智能文件压缩

    # 新增大小控制参数
    --target-size 150       # 目标150KB
    --size-range "100,200"  # 保持在100-200KB之间
    
  • 模型升级

    • 支持RMBG-2.0更高精度抠图
    • 兼容YOLOv8最新版本
  • 部署优化

    • 自动构建CLI/WEBUI版本
    • 简化模型路径配置

历史版本里程碑

  • 2025/02/07

    • 首推WebUI可视化界面
    • INI配置改为CSV格式
    • 增加裁剪线选项
  • 2024/08/06

    • 支持直接输入像素尺寸
    • 优化多语言兼容性

七、技术生态与致谢

核心依赖项目

组件 项目 许可协议
图像压缩 AGPicCompress MIT
JPEG优化 mozjpeg BSD
PNG优化 pngquant GPL
人脸检测 YuNet BSD

特别鸣谢

“LiYing的开发初衷是帮助我的父母简化照相馆工作流程。感谢他们三十年如一日的坚持,启发我创建这个工具。”
—— 项目作者 aoguai


八、开源与贡献

许可协议

本项目采用 AGPL-3.0许可证,完整文本见LICENSE文件。核心条款摘要:

  • 允许商业使用
  • 修改后必须开源
  • 保留版权声明
  • 提供源代码

参与贡献

欢迎通过以下方式参与:

  1. 提交代码修复(详见贡献指南
  2. 完善多语言文档
  3. 测试反馈问题
  4. 开发新功能模块

项目星标增长史
Star History Chart


九、为什么选择LiYing?

与传统方案对比

特性 照相馆软件 在线工具 LiYing
隐私安全 ★★★☆☆ ★☆☆☆☆ ★★★★★
处理精度 ★★★★☆ ★★☆☆☆ ★★★★☆
定制能力 ★★☆☆☆ ★☆☆☆☆ ★★★★★
成本 ¥500-3000/年 ¥10-50/次 完全免费
离线使用

适用场景推荐

  • 个人用户:家庭证件照自助处理
  • 照相馆:提升标准化工作效率
  • 学校/企业:批量制作工作证/学生证
  • 开发者:图像处理技术研究平台

行动起来!

立即体验这款革命性的证件照处理工具:

  1. 访问GitHub仓库获取最新版
  2. 查看详细文档
  3. 加入社区讨论提交问题

技术不应是门槛,而是解决问题的桥梁。LiYing让专业级证件照处理走进每个人的电脑,这正是开源精神的真谛。