Giter Site home page Giter Site logo

sweetpotato0213 / rddc2020 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from usc-infolab/rddc2020

0.0 0.0 0.0 5.5 MB

road damage detection challenge 2020

License: GNU General Public License v3.0

Shell 0.26% Python 5.93% Jupyter Notebook 93.73% Dockerfile 0.08%

rddc2020's Introduction

rddc2020

road damage detection challenge 2020

road damage detection challange 2020 IMSC submission

This repository contains source code and trained models for Road Damage Detection and Classification Challenge that was held as part of 2020 IEEE Big Data conference.

The best model achieved mean F1-score of 0.674878682854973 on test1 and 0.666213894130645 on test2 dataset of the competition.

Sample predictions:

Table of contents

Prerequisites

You need to install:

  • Python3 >= 3.6

  • Use requirements.txt to install required python dependencies

    # Python >= 3.6 is needed
    pip3 install -r requirements.txt

Quick-start

  1. Clone the road-damage-detection repo into $RDD:

    git clone https://github.com/USC-InfoLab/rddc2020.git
  2. Install python packages:

    pip3 install -r requirements.txt

RDCC Dataset Setup for YOLOv5

NOTE: Entire process (step 1-4 explained in this section) of downloading and preparing GRDDC 2020 dataset can be done by executing yolov5/scripts/dataset_setup_for_yolov5.sh

    bash yolov5/scripts/dataset_setup_for_yolov5.sh

OR

  1. Go to yolov5 directory

    cd yolov5
  2. execute download_road2020.sh to downlaod train and test dataset

    bash scripts/download_road2020.sh
  3. Detection: strcutre test datasets for inference using yolov5

    bash scripts/prepare_test.sh
  4. Training: Generate the label files for yolov5 using scripts/xml2Yolo.py

    python3 scripts/xml2yolo.py
    • Use python3 scripts/xml2Yolo.py --help for command line option details

IMSC YOLOv5 Model zoo

  1. Go to yolov5 directory

    cd yolov5
  2. download YOLOv5 model zoo:

    bash scripts/download_IMSC_grddc2020_weights.sh

Detection / Submission

  1. Download weights as mentioned in IMSC YOLOv5 Model zoo

  2. Go to yolov5 directory

    cd yolov5
  3. Execute one of the follwoing commands to generate results.csv(competition format) and predicated images under inference/output/:

    # inference using best ensemble model for test1 dataset
    python3 detect.py --weights weights/IMSC/last_95_448_32_aug2.pt weights/IMSC/last_95_640_16.pt weights/IMSC/last_120_640_32_aug2.pt --img 640 --source datasets/road2020/test1/test_images/ --conf-thres 0.22 --iou-thres 0.9999 --agnostic-nms --augment
    # inference using best ensemble model for test2 dataset
    python3 detect.py --weights weights/IMSC/last_95_448_32_aug2.pt  weights/IMSC/last_95_640_16.pt  weights/IMSC/last_120_640_32_aug2.pt weights/IMSC/last_100_100_640_16.pt --img 640 --source datasets/road2020/test2/test_images/ --conf-thres 0.22 --iou-thres 0.9999 --agnostic-nms --augment
    # inference using best non-ensemble model for test1 dataset
    python3 detect.py --weights weights/IMSC/last_95.pt --img 640 --source datasets/road2020/test1/test_images/ --conf-thres 0.20 --iou-thres 0.9999  --agnostic-nms --augment
    # inference using best non-ensemble model for test2 dataset
    python3 detect.py --weights weights/IMSC/last_95.pt --img 640 --source datasets/road2020/test2/test_images/ --conf-thres 0.20 --iou-thres 0.9999  --agnostic-nms --augment

Performance on RDDC test datasets

YOLOv5x_448_32_aug2 YOLOv5x_640_16_95 YOLOv5x_640_16_100 YOLOv5x_640_32 YOLOv5x_640_16_aug2 YOLOv5x_640_32_aug2 test1 F1-score test2 F1-score
✔️ 0.66697383879131 0.651389430313506
✔️ ✔️ ✔️ 0.674878682854973 0.665632401648316
✔️ ✔️ ✔️ ✔️ 0.674198239966431 0.666213894130645

Training

  1. download pre-trained weights from yolov5 repo

    bash weights/download_weights.sh
  2. run following command

    python3 train.py --data data/road.yaml --cfg models/yolov5x.yaml --weights weight/yolov5x.pt --batch-size 64

visit yolov5 official source code for more training and inference time arguments

rddc2020's People

Contributors

dweeptrivedi avatar vinutahegde avatar aditihoskeredeepak avatar fararjeh 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.