当前位置: 首页 > news >正文

必备工具,AI生成证件照,再也不用麻烦他人,电子驾驶证等多种证件照一键生成

最近有一个生成证件照的开源项目很火,今天我们来学习一下。之前我生成证件照都是线下去拍照,线上使用也是各种限制,需要付费或看广告,而且效果也不是很理想,

今天要分享的这个 AI 证件照生成工具可以一键可以生成一寸照、二寸照、教师资格证、国家公务员考试、社保卡、电子驾驶证、各种签证在内的 18 种证件照片,而且可以选择蓝、白、红、黑、深蓝在内的五种背景证件照片。

1

如果这些配置项里面的不满足你的要求,你还可以自定义生成各种样式的照片。

只需要上传自拍照片,就可以生成各种证件照,自动排版,一键打印,同时也提供了一键美白功能:

2

这个就是使用最近火出圈的AI工具:HivisionIDPhotos 来生成的。

3

该工具支持好几种方式去运行,这里我总结一下:

  • 在线Demo,直接运行
  • 通过Docker一键运行,本地使用
  • 本地安装启动
  • 集成到ComfyUI里,利用工作流自定义出图,这个我会重点讲解一下

在线地址

作者提供了线上地址,无需部署,在线直接免费运行。

国内:
https://swanhub.co/ZeYiLin/HivisionIDPhotos/demo
https://modelscope.cn/studios/SwanLab/HivisionIDPhotos

国外:
https://huggingface.co/spaces/TheEeeeLin/HivisionIDPhotos

Docker部署

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

访问:http://localhost:7860 即可。

如果需要启动后端接口服务则启动如下服务:

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

本地安装启动

1.下载源码到本地。

git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
cd HivisionIDPhotos

2.安装依赖。

pip install -r requirements.txt
pip install -r requirements-app.txt

3.下载权重文件。

  • 使用脚本下载
python scripts/download_model.py --models all
  • 直接下载放到对应目录

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


1.modnet_photographic_portrait_matting.onnx (24.7MB): MODNet官方权重

下载地址:
https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/modnet_photographic_portrait_matting.onnx

2.hivision_modnet.onnx (24.7MB): 对纯色换底适配性更好的抠图模型

下载地址:
https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/hivision_modnet.onnx

3.rmbg-1.4.onnx (176.2MB): BRIA AI 开源的抠图模型,下载后重命名为rmbg-1.4.onnx

下载地址:
https://huggingface.co/briaai/RMBG-1.4/resolve/main/onnx/model.onnx?download=true

4.birefnet-v1-lite.onnx(224MB): ZhengPeng7 开源的抠图模型,下载后重命名为birefnet-v1-lite.onnx
下载地址:
https://github.com/ZhengPeng7/BiRefNet/releases/download/v1/BiRefNet-general-bb_swin_v1_tiny-epoch_232.onnx

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

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

5.GPU推理加速(可选)。

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

如需使用英伟达GPU加速推理,在确保你已经安装CUDA与cuDNN后,根据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

在上面配置完后,执行如下命令,然后访问:http://localhost:7860 即可。

python app.py

6.API 服务(可选)。

如果需要启动请求 API 服务,则需要执行如下命令

python deploy_api.py

详细请求方式请参考 API 文档,包含以下请求示例:

  • cURL:https://github.com/Zeyi-Lin/HivisionIDPhotos/blob/master/docs/api_CN.md#curl-请求示例
  • Python:https://github.com/Zeyi-Lin/HivisionIDPhotos/blob/master/docs/api_CN.md#python-请求示例
  • Java:https://github.com/Zeyi-Lin/HivisionIDPhotos/blob/master/docs/api_CN.md#java-请求示例
  • Javascript:https://github.com/Zeyi-Lin/HivisionIDPhotos/blob/master/docs/api_CN.md#javascript-请求示例

ComfyUI

插件地址:https://github.com/AIFSH/HivisionIDPhotos-ComfyUI

有 ComfyUI 的小伙伴,只需要在 ComfyUI 管理器搜索:HivisionIDPhotos-ComfyUI 就可以了。当然也可以直接下载到custom_nodes下面。

4

同上面下载权重和模型一样的操作,modnet_photographic_portrait_matting.onnxhivision_modnet.onnxrmbg-1.4.onnxbirefnet-v1-lite.onnx,把文件放到ComfyUI/custom_nodes/HivisionIDPhotos-ComfyUI/hivision/creator/weights目录下面,而RetinaFace下载的模型retinaface-resnet50.onnx放到ComfyUI/custom_nodes/HivisionIDPhotos-ComfyUI/hivision/creator/retinaface/weights下面。

加载工作流,选好配置运行结果如下:

5

节点都比较简单,如ZHHivisionParamsNode节点:

6

第一个选项证件照的尺寸,第二个选项是背景颜色,第三个选项是背景的渲染效果,是纯色,还是上下渐变或者中心渐变。

HivisionNode节点:

7

head_measure_ratio:头部尺寸比例,值越大,头部占据证件照的比例就越大。

8

top_distance:头部到图像顶部的距离,值越大,距离越远。

9

whitening_strength:为美白强度。

AddWaterMarkNode节点为添加文字水印节点。

10

  • text_color:输入颜色编码,默认是白色。
  • text_size:字体的大小。
  • text_opacity:水印的透明度。
  • text_angle:水印的旋转角度。
  • text_space:水印字体间隔。

如我添加“壁虎”文字水印,效果如下:

11

想要新增证件类型,只需要修改HivisionIDPhotos-ComfyUI\hivision\demo\assets以下文件就可以了,CN 后缀的代表中文,按照文件中的格式添加就可以了。

  • 尺寸:修改size_list_CN.csv后再次运行即可,其中第一列为尺寸名,第二列为高度,第三列为宽度。
  • 颜色:修改color_list_CN.csv后再次运行即可,其中第一列为颜色名,第二列为Hex值。

比如我新加类型:自定义配置和紫色。

12

结果如下:

13

至此基本的用法我们学会了,但在ComfyUI中我们就可以组合各种模型和Lora去生成自己想要的头像了。

比如我们可以把自己的头像上传,然后结合模型,生成微调的专属头像,或调整眼睛,鼻子,耳朵等等。

14

同时我们还能对图片进行模糊去噪,放大等。比如我们简单处理后效果如下:

15

文中所使用到的工作流欢迎关注公众号,回复【工作流】获取。

欢迎大家关注微信公众号"壁虎说技术",更多AI新技术,新点子在公众号第一时间更新。

壁虎说技术

参考

HivisionIDPhotos

相关文章:

必备工具,AI生成证件照,再也不用麻烦他人,电子驾驶证等多种证件照一键生成

最近有一个生成证件照的开源项目很火,今天我们来学习一下。之前我生成证件照都是线下去拍照,线上使用也是各种限制,需要付费或看广告,而且效果也不是很理想, 今天要分享的这个 AI 证件照生成工具可以一键可以生成一寸…...

深度解析 MintRich 独特的价格曲线机制玩法

随着 Meme 币赛道的迅速崛起,NFT 市场也迎来了新的变革。作为一个创新的 NFT 发行平台,Mint.Rich 正掀起一场全民参与的 NFT 热潮。其简易的操作界面和独特的价格曲线设计,让任何人都能以极低的门槛发行和交易自己的 NFT,从而参与…...

实时数仓3.0DWD层

实时数仓3.0DWD层 DWD层设计要点:9.1 流量域未经加工的事务事实表9.1.1 主要任务9.1.2 思路9.1.3 图解9.1.4 代码 9.2 流量域独立访客事务事实表9.2.1 主要任务9.2.2 思路分析9.2.3 图解9.2.4 代码 9.3 流量域用户跳出事务事实表9.3.1 主要任务9.3.2 思路分析9.3.3 …...

路径规划 | 基于A*算法的往返式全覆盖路径规划的改进算法(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 基于A*算法的往返式全覆盖路径规划的改进算法 matlab实现代码 往返式全覆盖路径规划,通过建立二维栅格地图,设置障碍物,以及起始点根据定义往返式路径规划的定义的优先级运动规则从…...

QT 串口上位机读卡显示

目录 一. QT创建工程 二. 软件更换图标 三. QT打包 一. QT创建工程 文件新建,选择创建一个桌面QT。 重命名RFID,并选择工程保存路径 RFID.pro QT core gui serialport #串行串口greaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET RFID TE…...

Chrome谷歌浏览器登录账号next无反应

文章目录 问题描述 我们的Chrome浏览器在更新之后,会出现登录谷歌账号的时候,当你输入你的谷歌邮箱之后,点击 n e x t next next,也就是下一步的时候,页面没有反应,也就是没有跳转到输入密码的页面。 分析 根据logs里…...

Android相关线程基础

线程基础 进程与线程 进程:可以被看做是程序的实体, 是系统进行资源分配和调度的基本单位. 线程:是操作系统调度的最小单元, 也叫轻量级进程 使用多线程的优点 可以减少程序的响应时间。如果某个操作很耗时, 能够避免陷入长时间的等待, 从而有着更好的交互性. 线程较之进…...

uniapp 如何自定义导航栏并自适应机型

如今的移动设备有各种不同的屏幕形状,如刘海屏、水滴屏等。这些异形屏会影响页面的布局,尤其是导航栏和底部栏的显示。通过获取安全区域信息,可以确保页面内容不会被异形屏的特殊区域遮挡。 在设计页面顶部导航栏时,可以根据 saf…...

Java高级Day43-类加载

117.类加载 静态和动态加载 反射机制是java实现动态语言的关键,也就是通过反射实现类动态加载 静态加载:编译时加载相关的类,如果没有则报错,依赖性太强 动态加载:运行时加载需要的类,如果运行时不用该类…...

【LeetCode 算法笔记】155. 最小栈

目录 问题描述单个栈实现双栈实现不开辟额外空间 问题描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop()…...

面试题 05.01. 插入

目录 一&#xff1a;题目&#xff1a; 二&#xff1a;代码&#xff1a; 三&#xff1a;结果&#xff1a; 一&#xff1a;题目&#xff1a; 给定两个整型数字 N 与 M&#xff0c;以及表示比特位置的 i 与 j&#xff08;i < j&#xff0c;且从 0 位开始计算&#xff09;。…...

稠密向量检索、稀疏向量检索、BM25检索三者对比

在当今的信息检索领域&#xff0c;随着人工智能和自然语言处理技术的发展&#xff0c;稠密向量检索和稀疏向量检索成为了两种主要的研究方向。稠密向量检索依托于高维空间中的向量表示&#xff0c;能够捕捉文档的深层语义信息&#xff0c;而稀疏向量检索则侧重于关键词的匹配&a…...

UEFI学习笔记(六):EDK II 模块:Libraries,DriversApplication

UEFI学习笔记&#xff08;六&#xff09;&#xff1a;EDK II Modules&#xff1a;Libraries&#xff0c;Application&Drivers 一、模块&#xff08;Modules&#xff09;的概念1、Library模块2、Application模块3、Driver模块4、Application和Driver的区别 二、EDK II 实现U…...

详解 Pandas 的透视表函数

Pandas 的透视表函数主要为 pivot() 和 pivot_table()&#xff0c;主要的功能为对 DataFrame 的行和列进行重新组合来重塑数据。 一、pivot 函数 pivot 函数只能对数据进行重塑&#xff0c;不能进行聚合 1. 数据准备 import pandas as pddf1 pd.DataFrame({department_id: […...

基于python+django+vue的农业管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…...

动态内存管理之malloc,free,calloc和realloc函数

Hello&#xff0c;各位小伙伴们&#xff0c;小编在这里祝福各位中秋佳节快乐呀&#xff0c;今天让我们来学习一下动态内存管理吧&#xff01; 引言 像我们之前在开辟一段空间的时候你可能会使用整型变量来申请一块空间&#xff0c;或者使用数组来申请一段连续的空间&#xff…...

Android 13 固定systemUI的状态栏为黑底白字,不能被系统应用或者三方应用修改

目录 一.背景 二.思路 三.代码流程 1.colos.xml自定义颜色 2.设置状态栏的背景颜色 3.对View进行操作 ①.对Clock(状态栏左侧的数字时钟)进行操作 ②.对电池(BatteryMeterView)进行操作 4.锁屏状态栏 5.patch汇总 一.背景 客户需求将状态栏固定成黑底白字,并且不能让系…...

【CTF Reverse】XCTF GFSJ1092 easyEZbaby_app Writeup(Android+逆向工程+Java)

easyEZbaby_app 究极简单的安卓逆向 解法 得到一个 apk 安装包。 用 jadx 打开&#xff0c;搜索文本 flag&#xff0c;加载所有。 flag 是 obj obj2&#xff0c;来自用户的用户名和密码。 Override // android.view.View.OnClickListenerpublic void onClick(View view) {St…...

ubuntu 22.04 ~24.04 如何修改登录背景

ubuntu 22.04 ~24.04 如何修改登录背景 背景&#xff1a;由于22.04 登录gdm的变更&#xff0c;之前的修改登录背景的方案已经无法使用。现在给大家分享新的使用方法&#xff1a; 1&#xff0c;下载如下路径的脚本&#xff1a; https://download.csdn.net/download/xdhyqd/89…...

Andrej Karpathy谈AI未来:自动驾驶、Transformer与人机融合

引言 在人工智能领域&#xff0c;Andrej Karpathy 是一个无法忽视的名字。从他早期在 OpenAI 的工作&#xff0c;到后来担任 Tesla 的 AI 主管&#xff0c;他在自动驾驶、深度学习等方面的贡献广为人知。最近&#xff0c;卡帕西做客了著名的播客节目 No Priors&#xff0c;他在…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...