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
相关推荐
MobotStone3 分钟前
AI 现状:哪怕只回答一个“是”或“否”,大模型背后的“算力”也一点没省
人工智能
是翎17 分钟前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
AlbertZein29 分钟前
不只看跑分,Step 5 Preview 两个真实编程任务实测
人工智能·ai编程
kyriewen32 分钟前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
AIGC小尼39 分钟前
本地AI漫剧部署|低配8G显存实战部署MiniMax-H3|4步极速采样+低显存优化完整方案(可角色替换/视频魔改)
人工智能·stable diffusion·comfyui·ai漫剧
caoerzhong39 分钟前
JeeWMS 开源仓库管理系统全景解读:一套 Java WMS 如何把 WMS/OMS/BMS/TMS 装进同一个系统
java·开源
宿州派大星1 小时前
[NLP实战] 基于PyTorch实现N-gram词嵌入模型:输入4个词预测第5个词
人工智能·pytorch·深度学习·nlp
qq_199886872 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
ting94520002 小时前
深度拆解Enter Pro AI原生开发平台:从底层架构到企业级落地技术实践
人工智能·架构·ai-native
lisw052 小时前
人工智能辅助科学的快与慢!
人工智能