All Projects → dong-x16 → Portraitnet

dong-x16 / Portraitnet

Code for the paper "PortraitNet: Real-time portrait segmentation network for mobile device" @ CAD&Graphics2019

Projects that are alternatives of or similar to Portraitnet

Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (-67.63%)
Mutual labels:  jupyter-notebook, segmentation
Dstl unet
Dstl Satellite Imagery Feature Detection
Stars: ✭ 117 (-43.48%)
Mutual labels:  jupyter-notebook, segmentation
Mit Deep Learning
Tutorials, assignments, and competitions for MIT Deep Learning related courses.
Stars: ✭ 8,912 (+4205.31%)
Mutual labels:  jupyter-notebook, segmentation
Pytorch connectomics
PyTorch Connectomics: segmentation toolbox for EM connectomics
Stars: ✭ 46 (-77.78%)
Mutual labels:  jupyter-notebook, segmentation
Severstal Steel Defect Detection
Kaggle Segmentation Challenge
Stars: ✭ 160 (-22.71%)
Mutual labels:  jupyter-notebook, segmentation
Avgn
A generative network for animal vocalizations. For dimensionality reduction, sequencing, clustering, corpus-building, and generating novel 'stimulus spaces'. All with notebook examples using freely available datasets.
Stars: ✭ 50 (-75.85%)
Mutual labels:  jupyter-notebook, segmentation
3dunet abdomen cascade
Stars: ✭ 91 (-56.04%)
Mutual labels:  jupyter-notebook, segmentation
Fsgan
FSGAN - Official PyTorch Implementation
Stars: ✭ 420 (+102.9%)
Mutual labels:  jupyter-notebook, segmentation
Keras Segmentation Deeplab V3.1
An awesome semantic segmentation model that runs in real time
Stars: ✭ 156 (-24.64%)
Mutual labels:  jupyter-notebook, segmentation
Tfvos
Semi-Supervised Video Object Segmentation (VOS) with Tensorflow. Includes implementation of *MaskRNN: Instance Level Video Object Segmentation (NIPS 2017)* as part of the NIPS Paper Implementation Challenge.
Stars: ✭ 151 (-27.05%)
Mutual labels:  jupyter-notebook, segmentation
Deeplabv3 Plus
Tensorflow 2.3.0 implementation of DeepLabV3-Plus
Stars: ✭ 32 (-84.54%)
Mutual labels:  jupyter-notebook, segmentation
Hair Segmentation
hair segmentation in mobile device
Stars: ✭ 160 (-22.71%)
Mutual labels:  jupyter-notebook, segmentation
Labml
🔎 Monitor deep learning model training and hardware usage from your mobile phone 📱
Stars: ✭ 508 (+145.41%)
Mutual labels:  jupyter-notebook, mobile
Relaynet pytorch
Pytorch Implementation of retinal OCT Layer Segmentation (with trained models)
Stars: ✭ 63 (-69.57%)
Mutual labels:  jupyter-notebook, segmentation
Practical Deep Learning Book
Official code repo for the O'Reilly Book - Practical Deep Learning for Cloud, Mobile & Edge
Stars: ✭ 441 (+113.04%)
Mutual labels:  jupyter-notebook, mobile
Fcn.tensorflow
Tensorflow implementation of Fully Convolutional Networks for Semantic Segmentation (http://fcn.berkeleyvision.org)
Stars: ✭ 1,230 (+494.2%)
Mutual labels:  jupyter-notebook, segmentation
Unet
unet for image segmentation
Stars: ✭ 3,751 (+1712.08%)
Mutual labels:  jupyter-notebook, segmentation
Fbrs interactive segmentation
[CVPR2020] f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation https://arxiv.org/abs/2001.10331
Stars: ✭ 366 (+76.81%)
Mutual labels:  jupyter-notebook, segmentation
Tensorflow realtime multi Person pose estimation
Multi-Person Pose Estimation project for Tensorflow 2.0 with a small and fast model based on MobilenetV3
Stars: ✭ 129 (-37.68%)
Mutual labels:  jupyter-notebook, mobile
Motion Sense
MotionSense Dataset for Human Activity and Attribute Recognition ( time-series data generated by smartphone's sensors: accelerometer and gyroscope)
Stars: ✭ 159 (-23.19%)
Mutual labels:  jupyter-notebook, mobile

PortraitNet

Code for the paper "PortraitNet: Real-time portrait segmentation network for mobile device". @ CAD&Graphics 2019


Introduction

We propose a real-time portrait segmentation model, called PortraitNet, that can run effectively and efficiently on mobile device. PortraitNet is based on a lightweight U-shape architecture with two auxiliary losses at the training stage, while no additional cost is required at the testing stage for portrait inference.

Portrait segmentation applications on mobile device.


Experimental setup

Requirements

  • python 2.7
  • PyTorch 0.3.0.post4
  • Jupyter Notebook
  • pip install easydict matplotlib tqdm opencv-python scipy pyyaml numpy

Download datasets

  • EG1800 Since several image URL links are invalid in the original EG1800 dataset, we finally use 1447 images for training and 289 images for validation.

  • Supervise-Portrait Supervise-Portrait is a portrait segmentation dataset collected from the public human segmentation dataset Supervise.ly using the same data process as EG1800.


Training

Network Architecture

Overview of PortraitNet.

Training Steps

  • Download the datasets (EG1800 or Supervise-Portriat). If you want to training at your own dataset, you need to modify data/datasets.py and data/datasets_portraitseg.py.
  • Prepare training/testing files, like data/select_data/eg1800_train.txt and data/select_data/eg1800_test.txt.
  • Select and modify the parameters in the folder of config.
  • Start the training with single gpu:
cd myTrain
python2.7 train.py

Testing

In the folder of myTest:

  • you can use EvalModel.ipynb to test on testing datasets.
  • you can use VideoTest.ipynb to test on a single image or video.

Visualization

Using tensorboard to visualize the training process:

cd path_to_save_model
tensorboard --logdir='./log'

Download models

from Dropbox:

from Baidu Cloud:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].