Skip to main content

Semantic Segmentation Architectures implemented in PyTorch

Project description

pytorch-semseg
==============

|license|

Semantic Segmentation Algorithms Implemented in PyTorch
-------------------------------------------------------

This repository aims at mirroring popular semantic segmentation
architectures in PyTorch.

.. raw:: html

<p align="center">

.. raw:: html

</p>

Networks implemented
~~~~~~~~~~~~~~~~~~~~

- `PSPNet <https://arxiv.org/abs/1612.01105>`__ - With support for
loading pretrained models w/o caffe dependency
- `FRRN <https://arxiv.org/abs/1611.08323>`__ - Model A and B
- `FCN <https://arxiv.org/abs/1411.4038>`__ - All 1 (FCN32s), 2
(FCN16s) and 3 (FCN8s) stream variants
- `U-Net <https://arxiv.org/abs/1505.04597>`__ - With optional
deconvolution and batchnorm
- `Link-Net <https://codeac29.github.io/projects/linknet/>`__ - With
multiple resnet backends
- `Segnet <https://arxiv.org/abs/1511.00561>`__ - With Unpooling using
Maxpool indices

Upcoming
^^^^^^^^

- `E-Net <https://arxiv.org/abs/1606.02147>`__
- `RefineNet <https://arxiv.org/abs/1611.06612>`__

DataLoaders implemented
~~~~~~~~~~~~~~~~~~~~~~~

- `CamVid <http://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/>`__
- `Pascal
VOC <http://host.robots.ox.ac.uk/pascal/VOC/voc2012/segexamples/index.html>`__
- `ADE20K <http://groups.csail.mit.edu/vision/datasets/ADE20K/>`__
- `MIT Scene Parsing
Benchmark <http://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zip>`__
- `Cityscapes <https://www.cityscapes-dataset.com/>`__

Upcoming
^^^^^^^^

- `NYUDv2 <http://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html>`__
- `Sun-RGBD <http://rgbd.cs.princeton.edu/>`__
- `MS COCO <http://mscoco.org/>`__

Requirements
~~~~~~~~~~~~

- pytorch >=0.3.0
- torchvision ==0.2.0
- visdom >=1.0.1 (for loss and results visualization)
- scipy
- tqdm

One-line installation
^^^^^^^^^^^^^^^^^^^^^

``pip install -r requirements.txt``

Data
~~~~

- Download data for desired dataset(s) from list of URLs
`here <https://meetshah1995.github.io/semantic-segmentation/deep-learning/pytorch/visdom/2017/06/01/semantic-segmentation-over-the-years.html#sec_datasets>`__.
- Extract the zip / tar and modify the path appropriately in
``config.json``

Usage
~~~~~

Launch `visdom <https://github.com/facebookresearch/visdom#launch>`__ by
running (in a separate terminal window)

::

python -m visdom.server

**To train the model :**

::

python train.py [-h] [--arch [ARCH]] [--dataset [DATASET]]
[--img_rows [IMG_ROWS]] [--img_cols [IMG_COLS]]
[--n_epoch [N_EPOCH]] [--batch_size [BATCH_SIZE]]
[--l_rate [L_RATE]] [--feature_scale [FEATURE_SCALE]]
[--visdom [VISDOM]]

--arch Architecture to use ['fcn8s, unet, segnet etc']
--dataset Dataset to use ['pascal, camvid, ade20k etc']
--img_rows Height of the input image
--img_cols Width of the input image
--n_epoch # of the epochs
--batch_size Batch Size
--l_rate Learning Rate
--feature_scale Divider for # of features to use
--visdom Show visualization(s) on visdom | False by default

**To validate the model :**

::

python validate.py [-h] [--model_path [MODEL_PATH]] [--dataset [DATASET]]
[--img_rows [IMG_ROWS]] [--img_cols [IMG_COLS]]
[--batch_size [BATCH_SIZE]] [--split [SPLIT]]

--model_path Path to the saved model
--dataset Dataset to use ['pascal, camvid, ade20k etc']
--img_rows Height of the input image
--img_cols Width of the input image
--batch_size Batch Size
--split Split of dataset to validate on

**To test the model w.r.t. a dataset on custom images(s):**

::

python test.py [-h] [--model_path [MODEL_PATH]] [--dataset [DATASET]]
[--dcrf [DCRF]] [--img_path [IMG_PATH]] [--out_path [OUT_PATH]]

--model_path Path to the saved model
--dataset Dataset to use ['pascal, camvid, ade20k etc']
--dcrf Enable DenseCRF based post-processing
--img_path Path of the input image
--out_path Path of the output segmap

.. |license| image:: https://img.shields.io/github/license/mashape/apistatus.svg
:target: https://github.com/meetshah1995/pytorch-semseg/blob/master/LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytorch-semseg-0.1.2.tar.gz (32.4 kB view details)

Uploaded Source

File details

Details for the file pytorch-semseg-0.1.2.tar.gz.

File metadata

File hashes

Hashes for pytorch-semseg-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2df65b7a17ff4a100c8d1e0d0e90af26897d4fdedcb123fe2bc402e5ea89a41c
MD5 4d1e4e9bab756e85b39a2443b11506e7
BLAKE2b-256 f36ac70e875a14b3cc9839a3d27431f471e62a111c47e9e14ce88e273954f383

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page