专栏名称: 机器学习算法与Python实战
长期跟踪关注统计学、数据挖掘、机器学习算法、深度学习、人工智能技术与行业发展动态,分享Python、机器学习等技术文章。回复机器学习有惊喜资料。
目录
相关文章推荐
高分子科学前沿  ·  山东大学停招27个本科专业,撤销高分子材料与 ... ·  昨天  
高分子科学前沿  ·  中国青年学者一作兼通讯!3D打印,最新Sci ... ·  2 天前  
高分子科技  ·  中国科大李木军团队 ACS ... ·  5 天前  
高分子科学前沿  ·  这篇Nature,作者仅2人,中国青年学者担 ... ·  3 天前  
51好读  ›  专栏  ›  机器学习算法与Python实战

AI 证件照制作工具

机器学习算法与Python实战  · 公众号  ·  · 2024-11-03 17:07

正文

大家好,周末了

介绍一个好玩的AI项目

HivisionIDPhoto - AI 证件照制作工具



一句话

HivisionIDPhoto 是一个实用的智能证件照制作工具,它使用 AI 技术来处理用户的照片并生成标准证件照。

地址:https://github.com/Zeyi-Lin/HivisionIDPhotos/

主要功能

  1. 轻量级人像抠图
  • 纯离线运行,仅需 CPU 即可快速推理
  • 支持多种抠图模型:MODNet、RMBG、BiRefNet 等
  1. 标准证件照生成
  • 支持多种尺寸规格的证件照生成
  • 可生成六寸排版照片
  • 支持自定义背景颜色
  • 支持透明背景输出
  1. 人脸检测与优化
  • 支持多种人脸检测模型:MTCNN、RetinaFace、Face++
  • 支持人脸旋转校正
  • 支持美颜效果 (开发中)
  • 支持智能换装 (开发中)


部署方式

  1. 本地部署
  • 支持 Python 环境下的直接调用
  • 提供 Gradio 网页界面
  • 提供 API 服务接口
  1. Docker 部署
  • 提供 Docker 镜像一键部署
  • 支持 Docker Compose 编排

2. 安装步骤

2.1 基础安装

# 克隆项目
git clone https://github.com/hivisionai/hivisionidphoto.git
cd hivisionidphoto

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/MacOS:
source venv/bin/activate

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

2.2 Docker 安装

# 拉取镜像
docker pull hivisionai/hivisionidphoto:latest

# 运行容器
docker run -d \
  --name hivisionidphoto \
  -p 7860:7860 \
  hivisionai/hivisionidphoto:latest

运行方式

3.1 Python API 调用

from hivisionidphoto import IDPhotoMaker

# 初始化
maker = IDPhotoMaker()

# 生成证件照
result = maker.make_id_photo(
    image_path="input.jpg",
    size="1寸",
    bg_color="蓝色",
    num_copies=1
)

# 保存结果
result.save("output.jpg")

3.2 Gradio 网页界面

# 启动 Gradio 服务
python web_ui.py

启动后访问 http://localhost:7860 即可使用网页界面。

3.3 命令行使用

# 基础用法
python cli.py --input input.jpg --size 1寸 --bg-color 蓝色

# 高级用法
python cli.py \
  --input input.jpg \
  --size 2寸 \
  --bg-color 白色 \
  --copies 4 \
  --beautify \
  --output output.jpg

4. 常用配置

4.1 配置文件说明

配置文件位于 config.yaml ,主要包含:

  • 模型选择
  • 图像参数
  • 服务配置
  • 性能调优
model:
  segmentation: "modnet"  # 可选: modnet, rmbg, birefnet
  face_detection: "mtcnn"  # 可选: mtcnn, retinaface, facepp
  
processing:
  image_size: 1024
  beautify: false
  
server:
  host: "0.0.0.0"
  port: 7860
  
performance:
  beast_mode: false  # 是否启用内存常驻加速
  gpu_id: 0  # GPU设备ID,-1表示使用CPU

4.2 自定义证件照尺寸

sizes.json 中添加自定义尺寸:

{
  "custom_size": {
    "width"413,
    "height"626,
    "dpi"300,
    "name""自定义尺寸"
  }
}

常见问题

  1. 内存不足
  • 降低处理图片的分辨率
  • 关闭 Beast Mode
  • 使用较轻量级的模型
  1. GPU 相关
  • 确保已安装 CUDA 和 cuDNN
  • 检查 GPU 显存占用
  • 适当调整批处理大小
  1. 图片质量问题
  • 调整光线和背景
  • 使用更高质量的输入图片
  • 尝试不同的模型组合

性能优化建议

  1. CPU 优化
  • 启用 Beast Mode 实现内存常驻
  • 使用轻量级模型如 RMBG
  • 适当降低处理分辨率
  1. GPU 加速






请到「今天看啥」查看全文