Coder Social home page Coder Social logo

tangle49 / refinenet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guosheng/refinenet

0.0 1.0 0.0 13.03 MB

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

License: Other

Makefile 0.77% TeX 6.99% Python 4.48% CSS 0.25% JavaScript 0.03% HTML 0.32% MATLAB 38.11% C++ 11.01% Cuda 25.78% C 0.93% Shell 1.48% Protocol Buffer 9.79% Mathematica 0.03% M 0.01%

refinenet's Introduction

Multipath RefineNet

This is the source code for our paper:

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation
Guosheng Lin, Anton Milan, Chunhua Shen, Ian Reid
In CVPR 2017

A MATLAB based framework for semantic image segmentation and general dense prediction tasks on images.

Update notes

We did a major update of our code on 23 Dec 2016. If you use an older version, please check out a new copy.

Installation

  • Install MatConvNet and CuDNN. We have modified MatConvNet for our task. A modified copy of MatConvNet is provided in ./lib/. You need to compile the provided MatConvNet before running. Details of this modification and compiling can be found in main/my_matconvnet_resnet/README.md.
  • An example script for exporting lib paths is
    • main/my_matlab.sh
  • Download the following ImageNet pretrained models from MatConvNet and place them in ./model_trained/.
    • imagenet-resnet-50-dag, imagenet-resnet-101-dag, imagenet-resnet-152-dag

Network architecture

You can find the network graphs that illustrate our architecture in the folder net_graphs. Please refer to our paper for more details.

Testing

First download the following trained models and put them in ./model_trained/, then refer to the example scripts for applying the trained model on test images.

Example scripts for applying these models can be found at: demo_refinenet_test_example_[dataset name].m

  • e.g., demo_refinenet_test_example_voc.m, demo_refinenet_test_example_person_parts.m, demo_refinenet_test_example_cityscapes.m

A simplified version (much less configurations) of the test examples for applying the trained models can be found at: demo_test_simple_voc.m and demo_test_simple_city.m.

We also include a demo script to evaluate the trained models, e.g., in terms of IoU scores:

  • demo_refinenet_evaluate_voc.m to evaluate the segmentation performance of the trained model;

Training

The following demo is provided for training a RefineNet on your own dataset

  • demo_refinenet_train.m

We include the improved version of chained pooling in this code, which may achieve better result than using the above provided models.

Citation

If you find the code useful, please cite our work as

@inproceedings{Lin:2017:RefineNet,
	title = {Refine{N}et: {M}ulti-Path Refinement Networks for High-Resolution Semantic Segmentation},
	shorttitle = {RefineNet: Multi-Path Refinement Networks},
	booktitle = {CVPR},
	author = {Lin, G. and Milan, A. and Shen, C. and Reid, I.},
	month = jul,
	year = {2017}
}

License

For academic usage, the code is released under the permissive BSD license. For any commercial purpose, please contact the authors.

refinenet's People

Contributors

guosheng avatar antonmil avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.