电脑端

应用简介

HivisionIDPhoto 是一款轻量级、高效的 AI 证件照制作工具,旨在开发实用、系统性的智能证件照制作算法。如果您需要制作专业证件照,可以通过绿联 NAS 部署此工具,充分利用其强大的功能。

HivisionIDPhoto 的主要功能包括:

轻量级抠图:纯离线操作,仅需 CPU 即可实现快速推理。

多尺寸规格支持:自动生成不同标准的证件照及六寸排版照片。

灵活推理方式:支持纯离线推理或端云结合推理。

美颜功能:智能优化人像效果。

智能换正装(开发中):未来支持个性化正装替换。

官方 GitHub 项目地址:Zeyi-Lin/HivisionIDPhotos

1f75abe5231a4c909f377ce8e8aa73e4-hvnU.webp

使用 Docker Compose 部署容器

在 UGOS Pro 系统上,推荐使用项目 Docker Compose 快速部署容器,适合需同时管理多个容器的场景,这种方法简化了容器的部署与管理工作。以下是使用 Docker Compose 部署 HivisionIDPhoto 的详细步骤。

进入 Docker 项目界面

在 UGOS Pro 系统中,打开 Docker 应用,点击【项目】 > 【创建】,启动项目创建向导。

配置 Docker Compose 文件

在项目创建向导中,上传以下 HivisionIDPhoto 的 Docker Compose 配置文件:

services:
  linzeyi_hivision_idphotos:
    image: linzeyi/hivision_idphotos:latest # 镜像名
    container_name: linzeyi_hivision_idphotos
    ports:
      - "7861:7860"  # Web 界面端口
      - "42553:8080" # API 后端端口
    environment:
      - PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      - LANG=C.UTF-8
      - GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
      - PYTHON_VERSION=3.10.15
      - PYTHON_SHA256=aab0950817735172601879872d937c1e4928a57c409ae02369ec3d91dccebe79
      - USER_ID=1018
      - PUID=1018
      - UID=1018
      - PGID=10
      - GID=10
      - GROUP_ID=10
      - DEFAULT_LANG=zh
    command: python3 -u app.py --host 0.0.0.0 --port 7860
    working_dir: /app
    restart: always # 容器策略
    devices:
      - /dev/dri:/dev/dri # 调用核显
    volumes:
      - ./:/hivision # 映射项目的根目录
      - ./creator/retinaface/weights:/hivision/creator/retinaface/weights # 模型文件路径

参数说明

以下是关键参数的解释:

image: 指定 Docker 镜像, latest表示使用最新版本的镜像。

ports: 定义容器内部端口和 NAS 端口的映射。

7861:7860 表示 NAS 的 7861 端口映射到容器的 7860 端口,用于访问 Web 应用界面。

42553:8080 表示 NAS 的 42553 端口映射到容器的 8080 端口,用于 API 后端通信。

environment: 定义环境变量,容器运行时会加载这些变量。

PATH: 系统环境路径。

LANG: 设置容器的默认语言环境为 C.UTF-8

PYTHON_VERSIONPYTHON_SHA256: 指定 Python 的版本和对应的校验和,用于确保 Python 安装的安全性。

USER_ID, PUID, UID, PGID, GID, GROUP_ID: 设置容器内运行服务的用户和组信息,避免以 root 用户运行,增加安全性。

DEFAULT_LANG: 设置容器中的默认语言为中文。

command:指定容器启动时运行的命令。

python3 -u app.py: 运行 Python 脚本 app.py-u 表示以无缓冲模式输出日志,方便调试。

--host 0.0.0.0: 指定服务监听所有网络接口。

--port 7860: 指定服务监听的端口为 7860。

working_dir:指定容器内运行命令的工作目录为 /app

restart定义容器重启策略,always表示当容器停止时自动重启。

devices: 映射主机的硬件设备到容器内。

/dev/dri:/dev/dri: 将主机的显卡驱动设备映射到容器内,允许容器调用主机的核显资源。

volumes: 定义主机目录和容器目录的映射,方便数据共享和持久化。

./:/hivision: 将主机的当前目录映射到容器内的 /hivision,用于共享目录。

./creator/retinaface/weights:/hivision/creator/retinaface/weights: 将 NAS 的模型文件路径映射到容器内部的指定目录,便于模型调用。

注意:

./ 表示当前 Docker Compose 文件所在的目录;

冒号前是 NAS 本地路径,后是容器内路径。

部署项目

上传配置文件后,点击【立即部署】,系统会自动拉取镜像并启动容器。

部署完成后,通过浏览器访问以下地址进入 HivisionIDPhoto 界面:

http://<NAS_IP>:7861

请将 <NAS_IP> 替换为 NAS 的实际 IP 地址,例如:http://192.168.22.153:7861。

560ebe610972447cb907eca57c376e25-gbtP.webp

使用指南

容器启动后,通过浏览器访问 Web 界面完成配置和管理。上传需要处理的照片,设置参数后即可生成证件照。

Web 界面功能

1. 图片上传:支持从本地上传文件。

2. 参数设置:可选择语言、人脸模型和抠图模型,支持调整证件照尺寸、背景颜色、美颜选项等。

3. 证件照生成:生成过程中显示进度及用时,支持输出标准照、高清照及抠图图像。

94c024302ceb4ee693db299d305b2852-TYOr.webp

模型文件下载

本章节介绍适用于 CPU 加速 的模型文件下载和使用说明,涵盖抠图模型与人脸检测模型的选择与配置。请根据实际需求选择合适的模型。

抠图模型

将下载的模型文件存储至 /creator/retinaface/weights 目录。以下为支持的抠图模型列表:

MODNet

● 特点:高效抠图模型,适合多种场景下的人像抠图。

● 下载链接:点击下载

hivision_modnet

● 特点:专为纯色背景设计的人像抠图模型,抠图效果精准。

● 下载链接:点击下载

rmbg-1.4

特点:基于 BRIA AI 开源的抠图模型,支持多场景人像分割。

注意事项:下载后需将文件重命名为 rmbg-1.4.onnx

下载链接点击下载

birefnet-v1-lite

特点:高分割精度抠图模型,适用于需要精确分割效果的场景。

注意事项:下载后需将文件重命名为 birefnet-v1-lite.onnx

下载链接点击下载

如果下载速度较慢,可前往 SwanHub 下载。

人脸检测模型

人脸检测模型的主要功能是在人像图片中快速定位面部区域。以下为可用模型的具体说明:

RetinaFace

特点:离线使用,推理速度快,检测精度高。

配置路径:下载后请将模型文件存储于 /creator/retinaface/weights 目录。

下载链接点击下载

Face++

特点:在线人脸检测 API,适合对接云端服务。

使用说明:需注册并申请 API 使用权限,详细操作请参考使用文档

使用提示

1. 模型存储路径:请确保所有下载的模型文件均存储在对应的 /creator/retinaface/weights 目录下,否则可能导致加载失败。

2. 文件命名规范:对于需要重命名的模型(如 rmbg-1.4birefnet-v1-lite),请严格按照要求命名后再放置于指定目录。

3. 网络问题解决:如下载链接不可用或速度较慢,可尝试更换网络环境,或通过镜像站点(如 SwanHub)获取资源。