Python
Need help with Person-Segmentation-Keras?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
TianzhongSong

Description

Person segmentation with Keras (SegNet, Unet, etc.)

131 Stars 29 Forks Apache License 2.0 35 Commits 15 Opened issues

Services available

Need anything else?

Person-Segmentation-Keras

Person segmentation with Keras (SegNet, Unet, etc.)

Dataset

Person segmentation

HumanParsing-Dataset is adopted in this repo.

Origin HumanParsing-Dataset contains 16+1 object classes. But in this repo, i just segment person which is a binary classification task.

I generate new label images by my self, you can download new label imgages at https://pan.baidu.com/s/1Y6bKUznsVc7xNWb9tqWaHA passwd: p8ks

Of course you can generate label images by yourself using convert_labels.py , gentraintest_list.py.

I use 12706 images of HumanParsing-Dataset as training set, the remaining images as test set.

During training, i resize images with unchanged aspect ratio using padding, for details you can see this script.

Human parsing

Origin HumanParsing-Dataset contains 16+1 object classes.

background     0
hat            1
hair           2 
sunglass       3
upper-clothes  4
skirt          5
pants          6
dress          7
belt           8
left-shoe      9
right-shoe     10
face           11
left-leg       12
right-leg      13
left-arm       14
right-arm      15
bag            16
scarf          17

I have simplified the parsing task. Now it contains 4 + 1 classes.

background     0 (background, bag)
head           1 (hat, hair, sunglass, face, scarf)
upper body     2 (upper-clothes)
both hands     3 (left-arm, right-arm)
lower body     4 (skirt, pants, dress, belt, left-shoe, right-shoe, left-leg, right-leg)

New label images can be downloaded from this link https://pan.baidu.com/s/1jhqpOn8oBmiJiwzohhkfww passwd: gamc

Usage

All models are defined in 'models' directory.

An example for training Unet.

python train_segmentation.py --model='unet'

For visiualsizing the predictions, you can use the follow command

python predict.py --model='unet'

Results

Unet

Person segmentation

mIU: 0.8918

Origin images, ground truth images and predictions.

predictions

Val accuracy during training.

val acc unet

Val loss during training.

val loss unet

Human parsing

Part mIoU
Unet head 0.66476
upper body 0.48639
both hands 0.27016
lower body 0.66536
mean 0.52167

Origin images, ground truth images and predictions.

predictions

SegNet

Todo

Reference

image-segmentation-keras

SegNet-Tutorial

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.