Skip to main content

Python implemention of the TensorFlow BodyPix model.

Project description

TensorFlow BodyPix (TF BodyPix)

A Python implementation of body-pix.

Install

Install with all dependencies:

pip install tf-bodypix[all]

Install with minimal or no dependencies:

pip install tf-bodypix

Extras are provided to make it easier to provide or exclude dependencies when using this project as a library:

extra name description
tf TensorFlow (required). But you may use your own build.
tfjs TensorFlow JS Model support
image Image loading via Pillow, required by the CLI.
all All of the libraries

CLI

Creating a simple body mask

TF_CPP_MIN_LOG_LEVEL=3 \
python -m tf_bodypix \
    image-to-mask \
    --image /path/to/input-image.jpg \
    --output-mask /path/to/output-mask.jpg \
    --threshold=0.75

Colorize the body mask depending on the body part

TF_CPP_MIN_LOG_LEVEL=3 \
python -m tf_bodypix \
    image-to-mask \
    --image /path/to/input-image.jpg \
    --output-mask /path/to/output-colored-mask.jpg \
    --threshold=0.75 \
    --colored

Additionally select the body parts

TF_CPP_MIN_LOG_LEVEL=3 \
python -m tf_bodypix \
    image-to-mask \
    --image /path/to/input-image.jpg \
    --output-mask /path/to/output-colored-mask.jpg \
    --threshold=0.75 \
    --parts left_face right_face \
    --colored

API

import tensorflow as tf
from tf_bodypix.api import download_model, load_model, BodyPixModelPaths

bodypix_model = load_model(download_model(
    BodyPixModelPaths.MOBILENET_FLOAT_50_STRIDE_16
))

image = tf.keras.preprocessing.image.load_img(
    '/path/to/input-image.jpg'
)
image_array = tf.keras.preprocessing.image.img_to_array(image)
result = bodypix_model.predict_single(image_array)
mask = result.get_mask(threshold=0.75)
tf.keras.preprocessing.image.save_img(
    '/path/to/output-mask.jpg',
    mask
)

colored_mask = result.get_colored_mask(mask)
tf.keras.preprocessing.image.save_img(
    '/path/to/output-colored-mask.jpg',
    colored_mask
)

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tf-bodypix-0.1.0.tar.gz (12.8 kB view hashes)

Uploaded Source

Built Distribution

tf_bodypix-0.1.0-py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page