HivisionIDPhotos - 轻量级的 AI 证件照制作工具

HivisionIDPhotos是一款简单易用的 AI 证件照制作工具,能够生成标准证件照和六寸排版照。它提供了简洁的 Web 界面和 API 服务,即使在没有 GPU 的电脑上也能够运行,支持抠图、尺寸调整和自定义底色等功能。

8000 Stars 714 Forks 14 Issues 18 贡献者 Apache-2.0 License Python 语言

代码: https://github.com/Zeyi-Lin/HivisionIDPhotos

主页: SwanHub - 创新的AI开源社区

更多AI开源软件:AI开源 - 小众AI

HivisionDPhoto.webp

主要功能

  • 轻量级抠图(纯离线,仅需 CPU 即可快速推理)
  • 根据不同尺寸规格生成不同的标准证件照、六寸排版照
  • 支持 纯离线 或 端云 推理
  • 美颜(waiting)
  • 智能换正装(waiting)

开始使用

🔧 准备工作

环境安装与依赖:

  • Python >= 3.7(项目主要测试在 python 3.10)
  • OS: Linux, Windows, MacOS
1. 克隆项目
git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
cd  HivisionIDPhotos
2. 安装依赖环境

建议 conda 创建一个 python3.10 虚拟环境后,执行以下命令

pip install -r requirements.txt
pip install -r requirements-app.txt
3. 下载权重文件

**方式一:脚本下载**

python scripts/download_model.py --models all

**方式二:直接下载**

存到项目的hivision/creator/weights​目录下:

  • ​modnet_photographic_portrait_matting.onnx​ (24.7MB): MODNet官方权重,下载
  • ​hivision_modnet.onnx​ (24.7MB): 对纯色换底适配性更好的抠图模型,下载
  • ​rmbg-1.4.onnx​ (176.2MB): BRIA AI 开源的抠图模型,下载后重命名为rmbg-1.4.onnx​
  • ​birefnet-v1-lite.onnx​(224MB): ZhengPeng7 开源的抠图模型,下载后重命名为birefnet-v1-lite.onnx​
4. 人脸检测模型配置(可选)
拓展人脸检测模型介绍使用文档
MTCNN**离线**人脸检测模型,高性能CPU推理,为默认模型,检测精度较低Clone此项目后直接使用
Face++旷视推出的在线人脸检测API,检测精度较高,官方文档使用文档
5. GPU推理加速(可选)

如需使用英伟达GPU加速推理,在确保你已经安装CUDA与cuDNN后,根据文档找到对应的onnxruntime-gpu​版本安装,如:

# CUDA 12.x, cuDNN 8
pip install onnxruntime-gpu==1.18.0

完成后,调用如birefnet-v1-lite​模型将会利用GPU加速推理。

🚀 运行 Gradio Demo
python app.py

运行程序将生成一个本地 Web 页面,在页面中可完成证件照的操作与交互。

🚀 Python 推理

核心参数:

  • ​-i​: 输入图像路径
  • ​-o​: 保存图像路径
  • ​-t​: 推理类型,有idphoto、human_matting、add_background、generate_layout_photos可选
  • ​--matting_model​: 人像抠图模型权重选择
  • ​--face_detect_model​: 人脸检测模型选择

更多参数可通过python inference.py --help​查看

1. 证件照制作

输入 1 张照片,获得 1 张标准证件照和 1 张高清证件照的 4 通道透明 png

python inference.py -i demo/images/test.jpg -o ./idphoto.png --height 413 --width 295
2. 人像抠图
python inference.py -t human_matting -i demo/images/test.jpg -o ./idphoto_matting.png --matting_model hivision_modnet
3. 透明图增加底色

输入 1 张 4 通道透明 png,获得 1 张增加了底色的图像)

python inference.py -t add_background -i ./idphoto.png -o ./idphoto_ab.jpg  -c 4f83ce -k 30 -r 1
4. 得到六寸排版照

输入 1 张 3 通道照片,获得 1 张六寸排版照

python inference.py -t generate_layout_photos -i ./idphoto_ab.jpg -o ./idphoto_layout.jpg  --height 413 --width 295 -k 200

⚡️ 部署 API 服务

启动后端

python deploy_api.py
请求 API 服务

详细请求方式请参考 API 文档,包含以下请求示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值