简介
使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图
安装
根据PaddlePaddle官网命令安装

如
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple pip install paddlehub -i https://mirror.baidu.com/pypi/simple
初试
1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

import paddlehub as hub
from pathlib import Path
paths = [str(i) for i in Path('.').glob('*.jpg')]  # 当前路径下所有.jpg文件
human_seg = hub.Module(name='deeplabv3p_xception65_humanseg')
results = human_seg.segmentation(paths=paths, visualization=True, output_dir='output')
# results = human_seg.segmentation(paths=paths, use_gpu=True, visualization=True, output_dir='output')  # 使用GPU
print(results)
代码会自动下载图像分割模型deeplabv3p_xception65_humanseg到C:\Users\Administrator\.paddlehub\modules
效果
| 文件名 | 原图 | 效果 | 
|---|---|---|
| 1.jpg | ![]()  | 
![]()  | 
| 2.jpg | ![]()  | 
![]()  | 
| 3.jpg | ![]()  | 
![]()  | 
| 4.jpg | ![]()  | 
![]()  | 
| 5.jpg | ![]()  | 
![]()  | 
详解
人像分割API
def segmentation(images=None,
                 paths=None,
                 batch_size=1,
                 use_gpu=False,
                 visualization=False,
                 output_dir='humanseg_output')
参数
    images(list[numpy.ndarray]):图片数据,BGR格式
    paths(list[str]):图片路径
    batch_size(int):批量处理数量
    use_gpu(bool):是否使用 GPU
    visualization(bool):是否将识别结果保存为图片
    output_dir(str):图片保存路径
遇到的坑
1. 报错RuntimeError: Environment Variable CUDA_VISIBLE_DEVICES is not set correctly. If you wanna use gpu, please set CUDA_VISIBLE_DEVICES as cuda_device_id.
import os os.environ['CUDA_VISIBLE_DEVICES'] = '0'
或
set CUDA_VISIBLE_DEVICES=0
参考文献
一款Python实用神器,5 行 Python 代码 实现一键批量扣图
总结
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		





评论(0)