项目介绍

HivisionIDPhoto 旨在开发一种实用、系统性的证件照智能制作算法。

它利用一套完善的AI模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。

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

HivisionIDPhoto 可以做到:

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

本地部署

1、准备工作

环境安装与依赖

  • Python >= 3.7(项目主要测试在 python 3.10)
  • OS: Linux, Windows, MacOS

设置代理

设置方式:在命令行窗口运行以下指令:
set http_proxy=http://127.0.0.1:你的代理端口 & set https_proxy=http://127.0.0.1:你的代理端口

或者也可以在代理软件里设置全局代理。

2、克隆项目

git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
cd HivisionIDPhotos  # 进入项目根目录里

3、安装依赖环境

建议 conda 创建一个 python3.10 虚拟环境后

创建&激活虚拟环境

创建虚拟环境:

conda create -n HivisionIDPhotos python==3.10.6 -y

激活虚拟环境:

conda activate HivisionIDPhotos

安装Python三方库

pip install -r requirements.txt

pip install -r requirements-app.txt
pip install -r requirements-app.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  

4、下载人像抠图模型权重文件

方式一:脚本下载

python scripts/download_model.py --models all
# 如需指定下载某个模型
# python scripts/download_model.py --models modnet_photographic_portrait_matting

方式二:直接下载

模型均存到项目的hivision/creator/weights目录下:

人像抠图模型 介绍 下载
MODNet MODNet官方权重 下载(24.7MB)
hivision_modnet 对纯色换底适配性更好的抠图模型 下载(24.7MB)
rmbg-1.4 BRIA AI 开源的抠图模型 下载(176.2MB)后重命名为rmbg-1.4.onnx
birefnet-v1-lite ZhengPeng7 开源的抠图模型,拥有最好的分割精度 下载(224MB)后重命名为birefnet-v1-lite.onnx

如果下载网速不顺利:前往SwanHub下载。

5、运行 Gradio Demo

python app.py

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

为了方便每次使用,可以编写一个Windows 批处理文件(.bat 文件),每次点击即可运行。

 @echo off 
call conda activate HivisionIDPhotos 
start http://127.0.0.1:7860 
python app.py pause

HivisionIDPhoto

人脸检测模型配置(可选)

拓展人脸检测模型 介绍 使用文档
MTCNN 离线人脸检测模型,高性能CPU推理(毫秒级),为默认模型,检测精度较低 Clone此项目后直接使用
RetinaFace 离线人脸检测模型,CPU推理速度中等(秒级),精度较高 下载后放到hivision/creator/retinaface/weights目录下
Face++ 旷视推出的在线人脸检测API,检测精度较高,官方文档 使用文档

性能参考

测试环境为Mac M1 Max 64GB,非GPU加速,测试图片分辨率为 512x715(1) 与 764×1146(2)。

模型组合 内存占用 推理时长(1) 推理时长(2)
MODNet + mtcnn 410MB 0.207s 0.246s
MODNet + retinaface 405MB 0.571s 0.971s
birefnet-v1-lite + retinaface 6.20GB 7.063s 7.128s

Docker 部署

1、拉取镜像

docker pull linzeyi/hivision_idphotos

2、运行服务

启动 Gradio Demo 服务

运行下面的命令,在浏览器访问 http://127.0.0.1:7860 即可使用。

docker run -d -p 7860:7860 linzeyi/hivision_idphotos

参考博文:【点击进入