Remove image background
Project description
Rembg (AWS Lambda)
This is a stripped-down fork of
danielgatis/rembg
designed for AWS Lambda environments.
rembg-aws-lambda
is a tool to remove images background.
Check out my similar project, profile-photo
,
which can create a headshot from an image.
Requirements
python: >3.7, <3.11
Installation
CPU support:
pip install rembg-aws-lambda
GPU support:
First of all, you need to check if your system supports the onnxruntime-gpu
.
Go to https://onnxruntime.ai and check the installation matrix.
If yes, just run:
pip install rembg-aws-lambda[gpu]
Usage as a library
Input and output as bytes
from rembg import remove
input_path = 'input.png'
output_path = 'output.png'
with open(input_path, 'rb') as i:
with open(output_path, 'wb') as o:
input = i.read()
output = remove(input)
o.write(output)
Input and output as a PIL image
from rembg import remove
from PIL import Image
input_path = 'input.png'
output_path = 'output.png'
input = Image.open(input_path)
output = remove(input)
output.save(output_path)
Input and output as a numpy array
from rembg import remove
import cv2
input_path = 'input.png'
output_path = 'output.png'
input = cv2.imread(input_path)
output = remove(input)
cv2.imwrite(output_path, output)
How to iterate over files in a performatic way
from pathlib import Path
from rembg import remove, new_session
session = new_session()
for file in Path('path/to/folder').glob('*.png'):
input_path = str(file)
output_path = str(file.parent / (file.stem + ".out.png"))
with open(input_path, 'rb') as i:
with open(output_path, 'wb') as o:
input = i.read()
output = remove(input, session=session)
o.write(output)
Models
All models are downloaded and saved in the user home folder in the .u2net
directory.
The available models are:
- u2net (download, source): A pre-trained model for general use cases.
- u2netp (download, source): A lightweight version of u2net model.
- u2net_human_seg (download, source): A pre-trained model for human segmentation.
- u2net_cloth_seg (download, source): A pre-trained model for Cloths Parsing from human portrait. Here clothes are parsed into 3 category: Upper body, Lower body and Full body.
- silueta (download, source): Same as u2net but the size is reduced to 43Mb.
How to train your own model
If You need more fine tunned models try this: https://github.com/danielgatis/rembg/issues/193#issuecomment-1055534289
Some video tutorials
- https://www.youtube.com/watch?v=3xqwpXjxyMQ
- https://www.youtube.com/watch?v=dFKRGXdkGJU
- https://www.youtube.com/watch?v=Ai-BS_T7yjE
- https://www.youtube.com/watch?v=dFKRGXdkGJU
- https://www.youtube.com/watch?v=D7W-C0urVcQ
References
- https://arxiv.org/pdf/2005.09007.pdf
- https://github.com/NathanUA/U-2-Net
- https://github.com/pymatting/pymatting
Buy me a coffee
Liked some of my work? Buy me a coffee (or more likely a beer)
License
Copyright:
- (c) 2020-present Daniel Gatis
- (c) 2023-present Ritvik Nag
Licensed under MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rembg-aws-lambda-0.2.0.tar.gz
.
File metadata
- Download URL: rembg-aws-lambda-0.2.0.tar.gz
- Upload date:
- Size: 164.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c076de3a53e72b30a8210c8d232ccafd1328ed981cd7f686234ee8cfb4cdc537 |
|
MD5 | 7b203b97934da21216cc933366a4d983 |
|
BLAKE2b-256 | 82075059e42bfed0254d92c8017f6d39f01e3e44e4ca793977e63e76501791af |
File details
Details for the file rembg_aws_lambda-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: rembg_aws_lambda-0.2.0-py3-none-any.whl
- Upload date:
- Size: 164.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 451c1103a74e5a9ab2b0b9d7ed30d32cb058b2c047a5683f724e97e149c5172d |
|
MD5 | 44908ac5cd26497cea835b42099449f9 |
|
BLAKE2b-256 | 874e7436ff7aa81b7951a23311a3855b818db7367b1fc55ce911eada759e2d1b |