people_segmentation
people_segmentation copied to clipboard
Code for the model to segment people at the image
Binary segmentation of people
Installation
pip install -U people_segmentation
Example inference
Jupyter notebook with the example:
Data
Train set:
- Mapillary Vistas Commercial 1.2 (train)
- COCO (train)
- Pascal VOC (train)
- Human Matting
Validation set:
- Mapillary Vistas Commercial 1.2 (val)
- COCO (val)
- Pascal VOC (val)
- Supervisely
To convert datasets to the format:
training
coco
matting_humans
pascal_voc
vistas
validation
coco
pascal_voc
supervisely
vistas
use this set of scipts.
Training
Define the config.
Example at people_segmentation/configs
You can enable / disable datasets that are used for training and validation.
Define the environmental variable TRAIN_PATH
that points to the folder with train dataset.
Example:
export TRAIN_PATH=<path to the tranining folder>
Define the environmental variable VAL_PATH
that points to the folder with validation dataset.
Example:
export VAL_PATH=<path to the validation folder>
Training
python -m people_segmentation.train -c <path to config>
You can check the loss and validation curves for the configs from people_segmentation/configs at W&B dashboard
Inference
python -m torch.distributed.launch --nproc_per_node=<num_gpu> people_segmentation/inference.py \
-i <path to images> \
-c <path to config> \
-w <path to weights> \
-o <output-path> \
--fp16
Web App
https://peoplesegmentation.herokuapp.com/
Code for the web app: https://github.com/ternaus/people_segmentation_demo