AI 一键抠图助你快速打造活动宣传海报

2022-11-18 10:23:15 浏览数 (1)

本文介绍使用 PaddleHub 工具快速完成人像抠图。

背景

我们经常看到各种大牛演讲或者活动的各种海报和宣传页,职业照造型姿势那叫一个专业。那么,学好姿势排好照片后,如何给自己做一个宣传海报呢?

PS 的使用当然是基础,抠图的处理也是基本功,但是复杂背景的人像,特别是发丝等细节的处理方面就非常考验技术了,甚至有时还需要像素级的抠图。现在我们可以用到的一键抠图的工具有很多,比如 iPhone 自带的人像抠图,当然也有很多在线的网站。今天介绍一种使用 AI 人像分割模型的抠图方法。

安装依赖

首先我们需要安装 Paddle 库,飞桨是百度开源的一个易用、高效、灵活、可扩展的深度学习框架。

代码语言:javascript复制
pip install --upgrade paddlepaddle -i https://mirror.baidu.com/pypi/simple

如果要用到 GPU 需要前往飞桨官网[1]根据对应的 CUDA 版本进行不同的 GPU 库安装,需要安装 CUDA 驱动和 Cudnn。

PaddleHub 可以便捷地获取 PaddlePaddle 生态下的预训练模型:

代码语言:javascript复制
pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple

模型安装

这里选用的模型是 deeplabv3p_xception65_humanseg ,DeepLabv3 是Google DeepLab语义分割系列网络的最新作,该模型是使用百度自建数据集进行训练,可用于人像分割,支持任意大小的图片输入,关于该模型的详细信息请查阅 PaddleHub 模型介绍[2]。

代码语言:javascript复制
hub install deeplabv3p_xception65_humanseg

编写代码

代码语言:javascript复制
import os
import paddlehub as hub
# 指定使用 0号 GPU
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')
# 未使用 GPU 记得改为 False
humanseg.segmentation(paths= ["pexels-5872320.jpg"],use_gpu=True, visualization=True, output_dir='.') 

注意使用 GPU 需要保证存在环境变量 CUDA_VISIBLE_DEVICES 否则会报错。

效果展示

pexels 人像

今日推送另有一片介绍 rembg 去背景的使用,具体效果大家可自行参照比较。

References

[1] 飞桨官网: https://www.paddlepaddle.org.cn/ [2] PaddleHub 模型介绍: https://www.paddlepaddle.org.cn/hubdetail?name=deeplabv3p_xception65_humanseg&en_category=ImageSegmentation

0 人点赞