HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等

HivisionIDPhotos 是一款功能强大的开源证件照生成工具。用户只需上传一张人像照片,它就能智能裁剪为一寸、两寸等标准尺寸,同时自动去除背景并渲染新的背景颜色,例如蓝色、白色、红色,还支持渐变色和自定义颜色。生成的证件照会自动排版为标准的六寸规格,方便用户打印和批量制作。

4a223eb13b20241212163743

未来,HivisionIDPhotos 计划推出更多实用功能,例如美颜优化、一键更换正装等,让证件照制作变得更加高效和便捷。目前,该工具已在 Huggingface 等平台上免费开放,懂编程的用户还可以将其部署到本地,享受更个性化的使用体验。

在线免费使用:【链接直达

HivisionIDPhoto 可以做到:

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

4131a5bbdd20241213221146

证件照微信小程序

00e4a169da20241212163943

2、本地安装部署

环境安装与依赖:

  • 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
# 如需指定下载某个模型
# 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下载。

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

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

5. 性能参考

测试环境为Mac M1 Max 64GB,非GPU加速,测试图片分辨率为 512×715(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

6. GPU推理加速(可选)

在当前版本,可被英伟达GPU加速的模型为birefnet-v1-lite,并请确保你有16GB左右的显存。

如需使用英伟达GPU加速推理,在确保你已经安装CUDAcuDNN后,根据onnxruntime-gpu文档找到对应的onnxruntime-gpu版本安装,以及根据pytorch官网找到对应的torch版本安装。

# 假如你的电脑安装的是CUDA 12.x, cuDNN 8
# 安装torch是可选的,如果你始终配置不好cuDNN,那么试试安装torch
pip install onnxruntime-gpu==1.18.0
pip install torch --index-url https://download.pytorch.org/whl/cu121

完成安装后,调用birefnet-v1-lite模型即可利用GPU加速推理。

TIPS: CUDA 支持向下兼容。比如你的 CUDA 版本为 12.6,torch 官方目前支持的最高版本为 12.4(<12.6),torch仍可以正常使用CUDA。

⚡️ 运行 Gradio Demo

python app.py

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

图片[4]-HivisionIDPhotos 证件照在线制作!支持离线、换装、美颜等-零度博客

🚀 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/test0.jpg -o ./idphoto.png --height 413 --width 295

2. 人像抠图

输入 1 张照片,获得 1张 4 通道透明 png

python inference.py -t human_matting -i demo/images/test0.jpg -o ./idphoto_matting.png --matting_model hivision_modnet

3. 透明图增加底色

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

python inference.py -t add_background -i ./idphoto.png -o ./idphoto_ab.jpg  -c 4f83ce -k 30 -r 1

4. 得到六寸排版照

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

5. 证件照裁剪

python inference.py -t idphoto_crop -i ./idphoto_matting.png -o ./idphoto_crop.png --height 413 --width 295

Docker 一键部署

docker pull linzeyi/hivision_idphotos

2. 运行服务

启动 Gradio Demo 服务

运行下面的命令,在你的本地访问 http://127.0.0.1:7860 即可使用。

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

启动 API 后端服务

docker run -d -p 8080:8080 linzeyi/hivision_idphotos python3 deploy_api.py

两个服务同时启动

docker compose up -d

环境变量

本项目提供了一些额外的配置项,使用环境变量进行设置:

环境变量 类型 描述 示例
FACE_PLUS_API_KEY 可选 这是你在 Face++ 控制台申请的 API 密钥 7-fZStDJ····
FACE_PLUS_API_SECRET 可选 Face++ API密钥对应的Secret VTee824E····
RUN_MODE 可选 运行模式,可选值为beast(野兽模式)。野兽模式下人脸检测和抠图模型将不释放内存,从而获得更快的二次推理速度。建议内存16GB以上尝试。 beast
DEFAULT_LANG 可选 Gradio Demo启动时的默认语言 en

docker使用环境变量示例:

docker run  -d -p 7860:7860 \
    -e FACE_PLUS_API_KEY=7-fZStDJ···· \
    -e FACE_PLUS_API_SECRET=VTee824E···· \
    -e RUN_MODE=beast \
    -e DEFAULT_LANG=en \
    linzeyi/hivision_idphotos
THE END
喜欢就支持一下吧
点赞2170 分享
微博、抖音、知乎全面显示用户IP属地! 是通过ip定位,还是GPS定位?为你揭晓答案 | 零度解说-零度博客
谷歌I/O发布会掀起科技狂潮,五大黑科技抢先看-零度博客

谷歌I/O发布会掀起科技狂潮,五大黑科技抢先看

科技巨头谷歌在年度I/O开发者大会重磅发布人工智能新品 北京时间5月15日凌晨,谷歌年度科技盛会I/O开发者大会拉开帷幕。正如预期,人工智能无疑成为了本次大会的核心主题。在为期两小时的精彩演讲...
admin的头像-零度博客admin
1.3W+1527
谷歌浏览器的十大安全设置,提高Chrome隐私和安全性!-零度博客
一口吞掉大白鯊的怪物,海底是否真的還存在史前巨獸 | 零度解密-零度博客

一口吞掉大白鯊的怪物,海底是否真的還存在史前巨獸 | 零度解密

澳洲的一個鯊魚研究團隊,在跟踪研究一條5米多長大白鯊的時候,突然被深海裡的一種神秘的未知巨獸,一口吞掉,頓時震驚了整個研究團隊,後來他們對這個超級掠食者,展開了長達半年多的追踪和調...
Windows 11 现在提供自动网络钓鱼防护功能!-零度博客

Windows 11 现在提供自动网络钓鱼防护功能!

最新的九月适用于 Windows 11 的 2022 版 22H2 更新包括一项新功能,旨在让您比以前更安全地免受网络钓鱼攻击:不良行为者试图让您透露您的用户名和密码以便他们可以登录而不是侵入您的帐户的做...
admin的头像-零度博客admin
1.6W+2250
OpenAI Translator	一个基于 ChatGPT API 的划词翻译 Chrome 插件-零度博客

OpenAI Translator 一个基于 ChatGPT API 的划词翻译 Chrome 插件

支持三种翻译模式:翻译、润色、总结支持 55 种语言的相互翻译、润色和总结功能支持实时翻译、润色和总结,以最快的速度响应用户,让翻译、润色和总结的过程达到前所未有的流畅和顺滑支持自定义...
admin的头像-零度博客admin
2.2W+3252
Windows 11系统下找回 IE浏览器的代码-零度博客

Windows 11系统下找回 IE浏览器的代码

在文档下输入以下代码: CreateObject('InternetExplorer.Application').Visible=true   最后保存为VBS,运行即可调出IE浏览器!   详细的设置教程:https://www.freedidi.com/3540.h...
admin的头像-零度博客admin
1.6W+2251
警告!Win7/10/11 爆高危漏洞:文件查看即中招,账号易被盗,补丁已出 !-零度博客

警告!Win7/10/11 爆高危漏洞:文件查看即中招,账号易被盗,补丁已出 !

12 月 7 日消息,0patch 团队于 12 月 5 日发布公告,发现 Windows 系统存在一个高危零日漏洞,并推出了非官方修复补丁。漏洞概述该漏洞利用了 NTLM(NT LAN Manager)身份验证协议的缺陷。NTLM...
admin的头像-零度博客admin
1.2W+4374
DeepSeek 多模态大模型Janus-Pro-7B,本地部署教程!支持图像识别和图像生成-零度博客

DeepSeek 多模态大模型Janus-Pro-7B,本地部署教程!支持图像识别和图像生成

DeepSeek 又深夜发大招!开源了多模态大模型Janus-Pro-7B,普通电脑可以直接安装使用,现在我们就来本地部署!支持图像识别和图像生成,性能非常强悍!1、检查自己是否安装了 Git 和 conda ,如...
admin的头像-零度博客admin
6.5W+1899