SuperAPI AI 工具集

HivisionIDPhotos

HivisionIDPhotos 是一个轻量级、高效的 AI 证件照制作算法项目,旨在通过一套完整的 AI 模型工作流程,实现对多种拍照场景的人像识别、抠图和证件照生成。它支持在纯离线环境下仅用 CPU 即可快速完成抠图推理,并能根据不同尺寸规格生成标准证件照和六寸排版照。项目提供 Gradio 演示界面和 API 接口,支持人脸旋转对齐、自定义底色、美颜、多种打印排版尺寸等功能,适合开发者、个人用户和团队快速搭建证件照制作服务,解决证件照应急制作需求。项目采用 Apache-2.0 开源许可,有社区贡献的 C++ 版本、Windows GUI、微信小程序等多种扩展。

访问官网

工具介绍

HivisionIDPhotos 是一个轻量级且高效的 AI 证件照制作算法项目,旨在开发一种实用、系统性的证件照智能制作算法。它通过一套完善的 AI 模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。

【主要能力】

  1. 轻量级抠图:支持纯离线运行,仅需 CPU 即可快速推理。
  2. 证件照生成:可根据不同尺寸规格生成不同的标准证件照以及六寸排版照。
  3. 提供 Gradio Demo 页面,可在本地 Web 页面中完成证件照的操作与交互。
  4. 提供 API 接口,支持 base64 图像传入、dpi、face_alignment、美颜等参数。
  5. 支持人脸旋转对齐、自定义底色(HEX 输入)、分享模版照、美式证件照背景、排版照裁剪线等功能。
  6. 打印排版支持六寸、五寸、A4、3R、4R 五种排版尺寸。
  7. 默认照片下载支持 300DPI,并支持五寸相纸和 JPEG 下载选项。

【使用方式】

  1. 环境要求:Python >= 3.7(项目主要在 Python 3.10 测试),操作系统支持 Linux、Windows、MacOS。建议使用 conda 创建 Python 3.10 虚拟环境。
  2. 下载人像抠图模型权重文件:模型均存到项目的 hivision/creator/weights 目录下。如下载不顺利,可前往 SwanHub 下载。
  3. 人脸检测模型配置(可选)。
  4. 运行 Gradio Demo:执行相关命令后将生成一个本地 Web 页面,在页面中可完成证件照的操作与交互。
  5. 推理类型包括:idphoto、human_matting、add_background、generate_layout_photos。可通过参数选择人像抠图模型权重和人脸检测模型。更多参数可通过 python inference.py --help 查看。
  6. 支持 Dockerfile 直接构建镜像、Docker compose 构建,以及启动 Gradio Demo 服务后在本地访问 http://127.0.0.1:7860 使用。
  7. 提供环境变量进行额外配置。

【GPU 加速】 当前版本中可被英伟达 GPU 加速的模型为 birefnet-v1-lite,需要确保有 16GB 左右的显存。使用前需安装 CUDA 与 cuDNN,并根据 onnxruntime-gpu 文档和 pytorch 官网安装对应版本。CUDA 支持向下兼容。

【适用场景】

  1. 个人或团队快速制作标准证件照、排版照。
  2. 开发者集成证件照生成能力到自己的应用中,如微信小程序、Windows 客户端等。
  3. 在纯离线或资源受限环境中进行证件照制作。
  4. 解决证件照应急制作问题。

【自定义配置】

  1. 修改预设尺寸和颜色:尺寸修改 size_list_CN.csv,颜色修改 color_list_CN.csv。
  2. 添加水印:将字体文件放到 hivision/plugin/font 文件夹下,并修改 hivision/plugin/watermark.py 的 font_file 参数。
  3. 添加社交媒体模板照:将模板图片放到 hivision/plugin/template/assets 文件夹下,并在 template_config.json 中添加模板信息,同时在 demo/processor.py 的 _generate_image_template 函数中的 TEMPLATE_NAME_LIST 变量添加模板名。
  4. 修改 Gradio Demo 顶部导航栏:修改 demo/assets/title.md。
  5. 添加或修改打印排版中的尺寸:修改 demo/locales.py 中的 print_switch 字典,然后重新运行 python app.py。

【社区扩展】 社区构建了多个有趣的应用和扩展,包括 HivisionIDPhotos-cpp(C++ 版本)、ai-idphoto(uniapp 多端兼容版)、HivisionIDPhotos-uniapp-WeChat-gpto1(微信小程序)、HivisionIDPhotos-windows-GUI(Windows 客户端应用)、HivisionIDPhotos-NAS(群晖 NAS 部署教程)等。

【许可与引用】 本项目采用 Apache-2.0 许可。如在研究或项目中使用了 HivisionIDPhotos,建议引用相关工作。