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

焕影一新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生成)。

功能特性

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

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

处理速度蛮快,基本上在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可以做到:

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

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

      🔧环境安装与依赖

      • Python >= 3.7 (Recommend to use Anaconda or Miniconda)
      • onnxruntime
      • OpenCV
      • Option: Linux, Windows, MacOS

        Installation

        1. Clone repo
        git lfs install && git clone https://swanhub.co/ZeYiLin/HivisionIDPhotos.git
        cd  HivisionIDPhotos
        
        1. 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
        

        引用项目

        1. MTCNN: https://github.com/ipazc/mtcnn
        2. ModNet: https://github.com/ZHKKKe/MODNet