GithubHelp home page GithubHelp logo

northautumn / tf-faster-rcnn-rddc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhezheey/tf-faster-rcnn-rddc

0.0 1.0 0.0 3.08 MB

Road Damage Detection and Classification with Faster R-CNN (BigData 2018)

Home Page: https://doi.org/10.1109/BigData.2018.8622354

License: MIT License

Jupyter Notebook 85.65% Shell 0.43% Roff 0.08% Makefile 0.01% MATLAB 0.12% Python 13.38% C++ 0.01% Cuda 0.33%

tf-faster-rcnn-rddc's Introduction

Road Damage Detection and Classification with Faster R-CNN

Introduction

This repository contains source files of Road Damage Detection and Classification (RDDC) based on Faster R-CNN, which achieved a Mean F1-Score of 0.6255 in the Road Damage Detection and Classification Challenge that held as one of the 2018 IEEE Big Data Cup and won the Silver Prize (Ranked 2nd).

It is developed based on the tf-faster-rcnn repository and created by Wenzhe Wang.

Contents

  1. Requirements
  2. Installation
  3. Setup Data
  4. Submission
  5. Training
  6. Analysis
  7. Citation

Requirements

  1. A GPU with sufficient memory.

  2. A basic Tensorflow installation (I use 1.4.0).

Installation

  1. Clone the tf-faster-rcnn-rddc repository into $RDDC_ROOT

    git clone https://github.com/zhezheey/tf-faster-rcnn-rddc.git
  2. Install python packages you might not have in requirements.txt

    # Python 3.4.3+ is needed
    pip install -r requirements.txt
  3. Update your -arch in setup script to match your GPU refer to tf-faster-rcnn

    cd $RDDC_ROOT/lib
    # Change the GPU architecture (-arch) if necessary
    vim setup.py
  4. Build the Cython modules

    cd $RDDC_ROOT/lib
    make clean
    make
  5. Install the Python COCO API

    cd $RDDC_ROOT/data
    git clone https://github.com/pdollar/coco.git
    cd coco/PythonAPI
    make

Setup Data

  1. Download the RDDC dataset and convert it into PASCAL VOC 2007's annotation format. For convenience, you can also download the converted dataset here.

  2. Create symlinks for the converted PASCAL VOC dataset

    cd $RDDC_ROOT/data
    ln -s $road_damage_dataset VOCdevkit2007

Submission

Follow the steps below to reproduce the experimental results of our submission.

  1. Download our pre-trained model on RDDC and place them inside the $RDDC_ROOT/output/res152/voc_2007_trainval/default directory.

  2. Get the submission

    cd $RDDC_ROOT/tools
    # Outputs are saved under $RDDC_ROOT
    python submmision.py

Training

  1. Download pre-trained models and weights. The current code supports VGG16 and Resnet V1 models. Pre-trained models are provided by slim, you can get the pre-trained models here and put them under the $RDDC_ROOT/data/imagenet_weights folder. For Resnet152, you can set up like:

    mkdir -p $RDDC_ROOT/data/imagenet_weights
    cd $RDDC_ROOT/data/imagenet_weights
    wget -v http://download.tensorflow.org/models/resnet_v1_152_2016_08_28.tar.gz
    tar -xzvf resnet_v1_152_2016_08_28.tar.gz
    mv resnet_v1_152.ckpt res152.ckpt
  2. Augment the training data refer to $RDDC_ROOT/analysis/data_augmentation_balance.ipynb.

  3. Train

    cd $RDDC_ROOT
    ./experiments/scripts/train_faster_rcnn.sh [GPU_ID] pascal_voc res152

    Note: Please check that you have deleted the pre-trained models before training.

  4. Visualization with Tensorboard

    cd $RDDC_ROOT
    tensorboard --logdir=tensorboard/res152/voc_2007_trainval/ --port=[PORT] &
  5. By default, trained networks are saved under:

    $RDDC_ROOT/output/res152/voc_2007_trainval/default/
    

    Tensorboard information is saved under:

    $RDDC_ROOT/tensorboard/res152/voc_2007_trainval/default/
    $RDDC_ROOT/tensorboard/res152/voc_2007_trainval/default_val/
    

Analysis

Some analyses during the competititon are under $RDDC_ROOT/analysis.

Citation

Please consider citing the related papers and linking this project.

tf-faster-rcnn-rddc's People

Contributors

zhezheey 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.