中文版
humanseg
A real-time human-segmentation model. You can use it to change background. The output of the model is gray value. Model supplies simple api for users.
Api drawHumanSeg can draw human segmentation with a specified background.
Api blurBackground can draw human segmentation with a blurred origin background.
Api drawMask can draw the background without human.
![downloads](https://img.shields.io/npm/dt/@paddlejs-models/humanseg)
Run Demo
- Execute in the current directory
npm install
npm run dev
- Visit http://0.0.0.0:8866
- Visit gpu pipeline http://0.0.0.0:8866/gpu.html
Usage
import * as humanseg from '@paddlejs-models/humanseg';
await humanseg.load();
const { data } = await humanseg.getGrayValue(img);
const back_canvas = document.getElementById('background') as HTMLCanvasElement;
const canvas1 = document.getElementById('back') as HTMLCanvasElement;
humanseg.drawHumanSeg(data, canvas1, back_canvas) ;
const canvas2 = document.getElementById('blur') as HTMLCanvasElement;
humanseg.drawHumanSeg(data, canvas2) ;
const canvas3 = document.getElementById('mask') as HTMLCanvasElement;
humanseg.drawMask(data, canvas3, back_canvas);
gpu pipeline
import * as humanseg from '@paddlejs-models/humanseg/lib/index_gpu';
await humanseg.load();
const back_canvas = document.getElementById('background') as HTMLCanvasElement;
const canvas1 = document.getElementById('back') as HTMLCanvasElement;
await humanseg.drawHumanSeg(input, canvas1, back_canvas) ;
const canvas2 = document.getElementById('blur') as HTMLCanvasElement;
await humanseg.drawHumanSeg(input, canvas2) ;
const canvas3 = document.getElementById('mask') as HTMLCanvasElement;
await humanseg.drawMask(input, canvas3, back_canvas);
Online experience
image human segmentation:https://paddlejs.baidu.com/humanseg
video-streaming human segmentation:https://paddlejs.baidu.com/humanStream
Performance
Used in Video Meeting