焕影一新HivisionIDphotos证件照制作算法,是一个轻量、高效的综合AI证件照制作程序,它集成了智能抠图、人脸检测、尺寸切割等功能于一体,上传一张带有人像的图片,程序将自动将人像从背景中分离

代码讲故事 2024-10-01 11:01:01 阅读 67

焕影一新HivisionIDphotos证件照制作算法,是一个轻量、高效的综合AI证件照制作程序,它集成了智能抠图、人脸检测、尺寸切割等功能于一体,采用了一套完善的机器学习模型工作流,实现了针对各种不同用户使用场景的适配。

ModNet是一项由瑞士洛桑联邦理工学院(EPFL)开发的计算机视觉技术,用于人像抠图。它采用深度学习技术,利用图像分割的方法,将背景和人物进行分离,从而实现人物抠图。ModNet使用了一种名为MODNet的深度神经网络模型,可以在极短的时间内实现高质量的人物抠图。这使得ModNet成为一种非常高效且精确的人物抠图技术。通过该项目,用户可以上传一张带有人像的图片,程序将自动将人像从背景中分离出来。


person-modnet:基于modnet的人像分割技术

在这里插入图片描述

MODNet是一个

仅需RGB图片输入

实时人像抠图模型

在线地址:点击访问

项目简介

本项目基于 ModNet 模型,使用 Python 语言实现的一个人像分割项目。通过该项目,用户可以上传一张带有人像的图片,程序将自动将人像从背景中分离出来。

ModNet是一项由瑞士洛桑联邦理工学院(EPFL)开发的计算机视觉技术,用于人像抠图。它采用深度学习技术,利用图像分割的方法,将背景和人物进行分离,从而实现人物抠图。ModNet使用了一种名为MODNet的深度神经网络模型,可以在极短的时间内实现高质量的人物抠图。这使得ModNet成为一种非常高效且精确的人物抠图技术。

ModNet的优点不仅仅在于它的效率和精度,还在于它的灵活性。它可以用于各种不同类型的图像,包括人物照片、头像、艺术照片和自然风景照片等。这使得它成为了一个非常有用的工具,可以被广泛应用于许多领域,如图像处理、电影制作、广告制作等。

ModNet项目最初的开发目的是为了提供一种高效的人物抠图技术,以取代传统的图像编辑软件中使用的笨重和耗时的工具。ModNet是在公共数据集上训练得到的,这意味着它可以应用于各种类型的图像,并且其准确性也已得到广泛验证。

总之,ModNet是一种非常先进和高效的人物抠图技术,采用了最先进的深度学习技术和图像分割方法。它在图像处理和其他领域中具有广泛的应用前景,是计算机视觉领域中的一个重要突破。

论文链接请点此处,本项目是对modnet论文的复现(测试图像来自AI生成)。

功能特性

作者✍️为本项目封装好了接口,只需要调用此函数即可轻易完成人像分割任务,代码如下:

<code>from inference import inference

import cv2

# 输入图像一般满足opencv的读取格式

image = cv2.imread("图像路径")

"""

返回值:matte,分割后的人像图像

compose_im,分割后的人像图像与背景图像的融合图像

输入参数:image,输入的图像,必须为三通道图像

model_path,模型的路径

"""

matte, compose_im = inference(image, model_path="./modnet_photographic_portrait_matting.onnx")code>

处理速度蛮快,基本上在0.5s内就可以完成一张图像的分割任务。但是目前对于多人像的分割以及复杂场景(比如demo中的图例5)分割还不是很友好,如果你有兴趣,可以尝试微调一下。

环境要求

Python 3.8 及以上版本

pip 包管理工具

如requirements.txt文件所写,本项目要求依赖如下:

numpy

onnxruntime

opencv-python

gradio

如果你需要fork本项目并且部署到SwanHub平台上,可以选择使用requirements.txt文件进行构建。


焕影一新HivisionIDphotos证件照制作算法,是一个轻量、高效的综合AI证件照制作程序,它集成了智能抠图、人脸检测、尺寸切割等功能于一体,采用了一套完善的机器学习模型工作流,实现了针对各种不同用户使用场景的适配。

HivisionIDPhoto

在这里插入图片描述

在线地址:点击访问

🤩项目更新

2023.12.1: 更新API部署(基于fastapi)2023.6.20: 更新预设尺寸菜单2023.6.19: 更新排版照2023.6.13: 更新中心渐变色2023.6.11: 更新上下渐变色2023.6.8: 更新自定义尺寸2023.6.4: 更新自定义底色、人脸检测Bug通知2023.5.10: 更新不改尺寸只换底

Overview

HivisionIDPhoto旨在开发一种实用的证件照智能制作算法。

它利用一套完善的模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。

HivisionIDPhoto可以做到:

轻量级抠图根据不同尺寸规格生成不同的标准证件照、六寸排版照美颜(waiting)智能换正装(waiting)

在这里插入图片描述


如果HivisionIDPhoto对你有帮助,请star这个repo或推荐给你的朋友,解决证件照应急制作问题!

🔧环境安装与依赖

Python >= 3.7 (Recommend to use Anaconda or Miniconda)onnxruntimeOpenCVOption: Linux, Windows, MacOS

Installation

Clone repo

<code>git lfs install && git clone https://swanhub.co/ZeYiLin/HivisionIDPhotos.git

cd HivisionIDPhotos

Install dependent packages

pip install -r requirements.txt

⚡️快速推理

模型与代码通过git-lfs下载。

git lfs install

git clone https://swanhub.co/ZeYiLin/HivisionIDPhotos.git

Demo

python app.py

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

部署API服务

python deploy_api.py

请求API服务(Python)

用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部署

在根目录下执行:

docker build -t hivision_idphotos .

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

docker run -p 8080:8080 hivision_idphotos

引用项目

MTCNN: https://github.com/ipazc/mtcnnModNet: https://github.com/ZHKKKe/MODNet



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。