HivisionIDPhoto:智能证件照制作算法

HivisionIDPhoto 致力于开发一种实用的证件照智能制作算法,利用一套完善的模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。本文将介绍其主要功能、安装与依赖环境以及如何运行和部署 API 服务。

HivisionIDPhoto:智能证件照制作算法

功能介绍

HivisionIDPhoto 可以做到以下几点:

  • 轻量级抠图:快速、精准地识别并抠取人物图像。
  • 证件照生成:根据不同尺寸规格生成标准证件照和六寸排版照。
  • 美颜(功能待开发):提供自动美颜功能。
  • 智能换正装(功能待开发):为照片中的人物智能换上正装。

环境安装与依赖

Python 版本要求: Python >= 3.7(项目主要测试在 Python 3.10)

依赖包:

  • onnxruntime
  • OpenCV
  • 操作系统:Linux, Windows, MacOS
1. 克隆项目
git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
cd HivisionIDPhotos
2. 安装依赖环境
pip install -r requirements.txt
3. 下载权重文件

在我们的 Release 下载权重文件hivision_modnet.onnx,存到根目录下。

运行 Gradio Demo

运行以下命令生成一个本地 Web 页面,在页面中可完成证件照的操作与交互:

python app.py

部署 API 服务

运行以下命令开启 API 服务:

python deploy_api.py

请求 API 服务(Python):

证件照制作

输入 1 张照片,获得 1 张标准证件照和 1 张高清证件照的 4 通道透明 png:

python requests_api.py -u http://127.0.0.1:8080 -i test.jpg -o ./idphoto.png -s '(413,295)'
增加底色

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

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)'
得到六寸排版照

输入 1 张 3 通道照片,获得 1 张六寸排版照:

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)'

Docker 部署

在确保将模型权重文件 hivision_modnet.onnx 放到根目录下后,在根目录执行:

docker build -t hivision_idphotos .

等待镜像封装完毕后,运行以下指令,即可开启 API 服务:

docker run -p 8080:8080 hivision_idphotos
正文完
 
admin
版权声明:本站原创文章,由 admin 2024-09-02发表,共计1155字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请联系tensortimes@gmail.com。