Deep human segmentation and visual transformation of your photos. Currently supported visual transforms:
- Bokeh effect
- Black and white background
- Layer of mask above person
Bokeh effect
Black and white background
Layered mask effect
- Install requirements:
pip3 install -r requirements.txt - Download resnet-50 model weights (about 150mb) from google drive
- Put weights in
weights/folder
Model was trained with supervisely person segmentation dataset. In utils/ folder you can find scripts, that convert supervisely format annotations into binary masks.
You can train any model from qubvel repo. I used Unet architecture with resnet-50 backbone as main model and more lightweight efficientnet-b1.
Notebooks with training code can be found in notebooks/ folder.
Results available via command line interface. There are some keys:
--model_path- path to model weights--device- device to run inference on: gpu or cpu--trans_type- type of visual transformation effect: bokeh, bnw, layered.--result_path- path to save resulting transformed image.--blur_power- only for bokeh transformation option, strength of gaussian blur. Int value from 1 to 3, 1 - the weakest, 3 - the strongest.
python3 inference.py 'test_photo/medium.jpg' --model_path 'weights/resnet50_089.pb' --device 'gpu' --trans_type 'layered' --result_path 'test1.jpg' --blur_power 2
Thanks qubvel for pytorch image segmentation library.


