Full Resolution Residual Networks for Semantic Image Segmentation

Related tags

Deep LearningFRRN
Overview

Full-Resolution Residual Networks (FRRN)

This repository contains code to train and qualitatively evaluate Full-Resolution Residual Networks (FRRNs) as described in

Tobias Pohlen, Alexander Hermans, Markus Mathias, Bastian Leibe: Full Resolution Residual Networks for Semantic Segmentation in Street Scenes. CVPR 2017.

A pre-print of the paper can be found on arXiv: arXiv:1611.08323.

Please cite the work as follows:

@inproceedings{pohlen2017FRRN,
  title={Full-Resolution Residual Networks for Semantic Segmentation in Street Scenes},
  author={Pohlen, Tobias and Hermans, Alexander and Mathias, Markus and Leibe, Bastian},
  booktitle={Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on},
  year={2017}
}

Demo Video

Click here to watch our video.

Installation

Install the following software packages:

  • Python 2.7 or 3.4
  • Numpy
  • Scipy
  • Scikit-Learn
  • OpenCV
  • Theano
    • Scipy
    • Scikit-Learn
  • Lasagne

You may optionally install the following library for better performance.

You can check if all dependencies are installed correctly by running the check_dependencies.py script:

$ python check_dependencies.py --cs_folder=[Your CS folder]
2017-07-26 22:17:34,945 INFO Found supported Python version 3.4.
2017-07-26 22:17:35,122 INFO Successfully imported numpy.
2017-07-26 22:17:35,184 INFO Successfully imported cv2.
2017-07-26 22:17:35,666 INFO Successfully imported sklearn.
2017-07-26 22:17:35,691 INFO Successfully imported sklearn.metrics.
2017-07-26 22:17:35,691 INFO Successfully imported scipy.
Using cuDNN version 6021 on context None
Mapped name None to device cuda: TITAN X (Pascal) (0000:02:00.0)
2017-07-26 22:17:38,760 INFO Successfully imported theano.
2017-07-26 22:17:38,797 INFO Successfully imported lasagne.
2017-07-26 22:17:38,797 INFO Theano float is float32.
2017-07-26 22:17:38,803 INFO cuDNN spatial softmax found.
2017-07-26 22:17:38,807 INFO Use Chianti C++ library.
2017-07-26 22:17:38,826 INFO Found CityScapes training set.
2017-07-26 22:17:38,826 INFO Found CityScapes validation set.

If you don't see any ERROR messages, the software should run on your machine.

Qualitatively evaluation a pre-trained model

Run the script predict.py.

$ python predict.py --help
usage: predict.py [-h] --architecture {frrn_a,frrn_b} --model_file MODEL_FILE
                  --cs_folder CS_FOLDER [--sample_factor SAMPLE_FACTOR]

Shows the predictions of a Full-Resolution Residual Network on the Cityscapes
validation set.

optional arguments:
  -h, --help            show this help message and exit
  --architecture {frrn_a,frrn_b}
                        The network architecture type.
  --model_file MODEL_FILE
                        The model filename. Weights are initialized to the
                        given values if the file exists. Snapshots are stored
                        using a _snapshot_[iteration] post-fix.
  --cs_folder CS_FOLDER
                        The folder that contains the Cityscapes Dataset.
  --sample_factor SAMPLE_FACTOR
                        The sampling factor.

Train a new model

Run the train.py script.

$ python train.py --help
usage: train.py [-h] --architecture {frrn_a,frrn_b,frrn_c} --model_file
                MODEL_FILE --log_file LOG_FILE --cs_folder CS_FOLDER
                [--batch_size BATCH_SIZE]
                [--validation_interval VALIDATION_INTERVAL]
                [--iterator {uniform,weighted}] [--crop_size CROP_SIZE]
                [--learning_rate LEARNING_RATE]
                [--sample_factor SAMPLE_FACTOR]

Trains a Full-Resolution Residual Network on the Cityscapes Dataset.

optional arguments:
  -h, --help            show this help message and exit
  --architecture {frrn_a,frrn_b}
                        The network architecture type.
  --model_file MODEL_FILE
                        The model filename. Weights are initialized to the
                        given values if the file exists. Snapshots are stored
                        using a _snapshot_[iteration] post-fix.
  --log_file LOG_FILE   The log filename. Use log_monitor.py in order to
                        monitor training progress in the terminal.
  --cs_folder CS_FOLDER
                        The folder that contains the Cityscapes Dataset.
  --batch_size BATCH_SIZE
                        The batch size.
  --validation_interval VALIDATION_INTERVAL
                        The validation interval.
  --iterator {uniform,weighted}
                        The dataset iterator type.
  --crop_size CROP_SIZE
                        The size of crops to extract from the full-resolution
                        images. If 0, then now crops will be extracted.
  --learning_rate LEARNING_RATE
                        The learning rate to use.
  --sample_factor SAMPLE_FACTOR
                        The sampling factor.

Monitor training

Start a new notebook server and open training_monitor.ipynb.

License

See LICENSE (MIT).

Copyright

Copyright (c) 2017 Google Inc.

Copyright (c) 2017 Toby Pohlen

Owner
Toby Pohlen
Toby Pohlen
The official repo of the CVPR2021 oral paper: Representative Batch Normalization with Feature Calibration

Representative Batch Normalization (RBN) with Feature Calibration The official implementation of the CVPR2021 oral paper: Representative Batch Normali

Open source projects of ShangHua-Gao 76 Nov 09, 2022
Edge Restoration Quality Assessment

ERQA - Edge Restoration Quality Assessment ERQA - a full-reference quality metric designed to analyze how good image and video restoration methods (SR

MSU Video Group 27 Dec 17, 2022
RNN Predict Street Commercial Vitality

RNN-for-Predicting-Street-Vitality Code and dataset for Predicting the Vitality of Stores along the Street based on Business Type Sequence via Recurre

Zidong LIU 1 Dec 15, 2021
Parametric Contrastive Learning (ICCV2021)

Parametric-Contrastive-Learning This repository contains the implementation code for ICCV2021 paper: Parametric Contrastive Learning (https://arxiv.or

DV Lab 156 Dec 21, 2022
A Broad Study on the Transferability of Visual Representations with Contrastive Learning

A Broad Study on the Transferability of Visual Representations with Contrastive Learning This repository contains code for the paper: A Broad Study on

Ashraful Islam 29 Nov 09, 2022
Revealing and Protecting Labels in Distributed Training

Revealing and Protecting Labels in Distributed Training

Google Interns 0 Nov 09, 2022
(AAAI 2021) Progressive One-shot Human Parsing

End-to-end One-shot Human Parsing This is the official repository for our two papers: Progressive One-shot Human Parsing (AAAI 2021) End-to-end One-sh

54 Dec 30, 2022
Hyperbolic Procrustes Analysis Using Riemannian Geometry

Hyperbolic Procrustes Analysis Using Riemannian Geometry The code in this repository creates the figures presented in this article: Please notice that

Ronen Talmon's Lab 2 Jan 08, 2023
Using contrastive learning and OpenAI's CLIP to find good embeddings for images with lossy transformations

Creating Robust Representations from Pre-Trained Image Encoders using Contrastive Learning Sriram Ravula, Georgios Smyrnis This is the code for our pr

Sriram Ravula 26 Dec 10, 2022
Residual Dense Net De-Interlace Filter (RDNDIF)

Residual Dense Net De-Interlace Filter (RDNDIF) Work in progress deep de-interlacer filter. It is based on the architecture proposed by Bernasconi et

Louis 7 Feb 15, 2022
Implementation of paper: "Image Super-Resolution Using Dense Skip Connections" in PyTorch

SRDenseNet-pytorch Implementation of paper: "Image Super-Resolution Using Dense Skip Connections" in PyTorch (http://openaccess.thecvf.com/content_ICC

wxy 114 Nov 26, 2022
Sudoku solver - A sudoku solver with python

sudoku_solver A sudoku solver What is Sudoku? Sudoku (Japanese: 数独, romanized: s

Sikai Lu 0 May 22, 2022
Segmentation models with pretrained backbones. Keras and TensorFlow Keras.

Python library with Neural Networks for Image Segmentation based on Keras and TensorFlow. The main features of this library are: High level API (just

Pavel Yakubovskiy 4.2k Jan 09, 2023
Official implementation of "Membership Inference Attacks Against Self-supervised Speech Models"

Introduction Official implementation of "Membership Inference Attacks Against Self-supervised Speech Models". In this work, we demonstrate that existi

Wei-Cheng Tseng 7 Nov 01, 2022
Official PyTorch Implementation of Embedding Transfer with Label Relaxation for Improved Metric Learning, CVPR 2021

Embedding Transfer with Label Relaxation for Improved Metric Learning Official PyTorch implementation of CVPR 2021 paper Embedding Transfer with Label

Sungyeon Kim 37 Dec 06, 2022
Code for "MetaMorph: Learning Universal Controllers with Transformers", Gupta et al, ICLR 2022

MetaMorph: Learning Universal Controllers with Transformers This is the code for the paper MetaMorph: Learning Universal Controllers with Transformers

Agrim Gupta 50 Jan 03, 2023
IsoGCN code for ICLR2021

IsoGCN The official implementation of IsoGCN, presented in the ICLR2021 paper Isometric Transformation Invariant and Equivariant Graph Convolutional N

horiem 39 Nov 25, 2022
This code finds bounding box of a single human mouth.

This code finds bounding box of a single human mouth. In comparison to other face segmentation methods, it is relatively insusceptible to open mouth conditions, e.g., yawning, surgical robots, etc. T

iThermAI 4 Nov 27, 2022
PFENet: Prior Guided Feature Enrichment Network for Few-shot Segmentation (TPAMI).

PFENet This is the implementation of our paper PFENet: Prior Guided Feature Enrichment Network for Few-shot Segmentation that has been accepted to IEE

DV Lab 230 Dec 31, 2022
Implementation for NeurIPS 2021 Submission: SparseFed

READ THIS FIRST This repo is an anonymized version of an existing repository of GitHub, for the AIStats 2021 submission: SparseFed: Mitigating Model P

2 Jun 15, 2022