mobile_phone_human_matting
This project provides training and testing codes to build real_time human mattig on mobile phone only based CPU. Anather repo (Fast_Portrait_Segmentation) show more details about whence the project.
requirements
- python3.5 / 3.6
- pytorch 0.4/0.4.1
- opencv-python
Usage
train
you need to prepare dataset and run ./train.sh
.
test
use pre_trained model ./pre_train/erd_seg_matting
.
test camera, you need a camera, run ./camera.sh
.
test image, run ./test.sh
.
Speed Analysis
Platform : ncnn.
(use this tools convert the pytorch model to ncnn.)
Mobile phone: Samsung Galaxy S8+(cpu).
model size (M) | time(ms) | |
---|---|---|
erd_seg_matting | 3.4 | ~40 |
Demo video on my iphone 6 (baiduyun)
References
paper
- [1] U-Net: Convolutional Networks for Biomedical Image Segmentation
- [2] Fast Deep Matting for Portrait Animation on Mobile Phone
- [3] ERFNet: Efficient Residual Factorized ConvNet for Real-time Semantic Segmentation
- [4] ShuffleSeg: Real-time Semantic Segmentation Network