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
相关推荐
弯_弯3 小时前
AI 项目验收:别在上线那天才谈怎么算成
人工智能·企业ai落地·企业ai培训·fde
.道阻且长.3 小时前
AI 按数据模态分类:计算机视觉、NLP、语音处理,一篇理清
人工智能·计算机视觉·分类
Java后端的Ai之路3 小时前
RAG 还是 Agent 自主检索?Claude Code 删掉向量库之后,我把选型讲透了
开发语言·人工智能·prompt·agent·rag
笃行3504 小时前
用 Rokid AIUI 开发日语学习助手
人工智能
段一凡-华北理工大学6 小时前
工业智能体:从Codex/Claude到项目实战~系列文章06:一张蓝图看懂“工业智能体×高炉炼铁“
人工智能·claude·codex·工业智能体·高炉炼铁智能化·高炉智能体技术栈
怕浪猫6 小时前
十个人,630 万订阅:一张 AI 学习清单里的五种老师
人工智能
JonaHu7 小时前
5分钟搭建帮你赚钱的 AI API 网站:从品牌门户到客户 Key 交付
人工智能·api·开发者·ai创业·acedatacloud
Csvn7 小时前
模型挂了全站 502?降级链让它先保住“有响应”(R04)
人工智能·aigc·agent
isNotNullX8 小时前
仓储管理最全框架:6大流程、8项指标、10个管理动作、12个常见问题
大数据·人工智能
小白菜008 小时前
AI的理解
人工智能·机器学习