HivisionIDPhotos-证件照-免费开源的AI证件照制作工具

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

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

HivisionIDPhoto 可以做到:

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

HivisionIDPhotos的项目地址

🔧 环境安装与依赖

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

1. 克隆项目

bash 复制代码
git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
cd  HivisionIDPhotos

2. (重要)安装依赖环境

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

bash 复制代码
pip install -r requirements.txt

3. 下载权重文件

Release下载权重文件hivision_modnet.onnx (24.7MB),存到根目录下。

🚀 运行 Gradio Demo

bash 复制代码
python app.py

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

🚀 Python 推理

1. 证件照制作

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

python 复制代码
python inference.py -i images/test.jpg -o ./idphoto.png -s '(413,295)'

2. 增加底色

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

python 复制代码
python inference.py -t add_background -i ./idphoto.png -o ./idhoto_ab.jpg  -c '(0,0,0)' -k 30

3. 得到六寸排版照

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

python 复制代码
python inference.py -t generate_layout_photos -i ./idhoto_ab.jpg -o ./idhoto_layout.jpg  -s '(413,295)' -k 200

⚡️ 部署 API 服务

API 文档:Python | RestAPI(waiting)

启动后端

plain 复制代码
python deploy_api.py

请求 API 服务 - Python

1. 证件照制作

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

bash 复制代码
python requests_api.py -u http://127.0.0.1:8080 -i images/test.jpg -o ./idphoto.png -s '(413,295)'

2. 增加底色

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

bash 复制代码
python requests_api.py -u http://127.0.0.1:8080 -t add_background -i ./idphoto.png -o ./idhoto_ab.jpg  -c '(0,0,0)' -k 30

3. 得到六寸排版照

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

bash 复制代码
python requests_api.py -u http://127.0.0.1:8080 -t generate_layout_photos -i ./idhoto_ab.jpg -o ./idhoto_layout.jpg  -s '(413,295)' -k 200

🐳 Docker 部署

1. 拉取或构建镜像

以下方式三选一

拉取镜像:

该镜像构建于 ARM 架构机器(如 Mac M1),x86 架构机器使用请用 Dockerfile 构建

用这种方式的,在第 2 步开始把镜像名hivision_idphotos改为linzeyi/hivision_idphotos

bash 复制代码
docker pull linzeyi/hivision_idphotos:v1

Dockrfile 构建镜像:

在确保将模型权重文件hivision_modnet.onnx放到根目录下后,在根目录执行:

bash 复制代码
docker build -t hivision_idphotos .

Docker compose:

确保将模型权重文件 hivision_modnet.onnx 放在根目录下后,在根目录下执行:

bash 复制代码
docker compose build

镜像打包完成后,运行以下命令启动 Gradio 服务:

bash 复制代码
docker compose up -d

2. 运行 Gradio Demo

等待镜像封装完毕后,运行以下指令,即可开启 Gradio Demo 服务:

bash 复制代码
docker run -p 7860:7860 hivision_idphotos

在你的本地访问http://127.0.0.1:7860即可使用。

3. 运行 API 后端服务

现在docker镜像可能需要科学上网

bash 复制代码
docker run -p 8080:8080 hivision_idphotos python3 deploy_api.py
相关推荐
ACP广源盛1392462567318 分钟前
(ACP广源盛)GSV1175---- MIPI/LVDS 转 Type-C/DisplayPort 1.2 转换器产品说明及功能分享
人工智能·音视频
胡耀超21 分钟前
隐私计算技术全景:从联邦学习到可信执行环境的实战指南—数据安全——隐私计算 联邦学习 多方安全计算 可信执行环境 差分隐私
人工智能·安全·数据安全·tee·联邦学习·差分隐私·隐私计算
停停的茶2 小时前
深度学习(目标检测)
人工智能·深度学习·目标检测
Y200309162 小时前
基于 CIFAR10 数据集的卷积神经网络(CNN)模型训练与集成学习
人工智能·cnn·集成学习
老兵发新帖2 小时前
主流神经网络快速应用指南
人工智能·深度学习·神经网络
AI量化投资实验室3 小时前
15年122倍,年化43.58%,回撤才20%,Optuna机器学习多目标调参backtrader,附python代码
人工智能·python·机器学习
java_logo3 小时前
vllm-openai Docker 部署手册
运维·人工智能·docker·ai·容器
倔强青铜三3 小时前
苦练Python第67天:光速读取任意行,linecache模块解锁文件处理新姿势
人工智能·python·面试
算家计算3 小时前
重磅突破!全球首个真实物理环境机器人基准测试正式发布,具身智能迎来 “ImageNet 时刻”
人工智能·资讯
新智元3 小时前
苹果 M5「夜袭」高通英特尔!AI 算力狂飙 400%,Pro 三剑客火速上新
人工智能·openai