Giter Site home page Giter Site logo

dsod's Introduction

DSOD: Learning Deeply Supervised Object Detectors from Scratch

This repository contains the code for the paper "DSOD: Learning Deeply Supervised Object Detectors from Scratch" (ICCV 2017).

The code was derived from the SSD framework (https://github.com/weiliu89/caffe/tree/ssd) with some new stuffs so that we could train DSOD from scratch.

If you use these models or find this helps your research, please cite:

@inproceedings{Shen2017DSOD,
	title = {DSOD: Learning Deeply Supervised Object Detectors from Scratch},
	author = {Shen, Zhiqiang and Liu, Zhuang and Li, Jianguo and Jiang, Yu-Gang and Chen, Yurong and Xue, Xiangyang},
	booktitle = {ICCV},
	year = {2017}
}

Introduction

DSOD focuses on the problem of training object detector from scratch. To the best of our knowledge, this is by far the first work which could train deep neural network based object detectors from scratch with state-of-the-art performance. In this work we contribute a set of design principles for this purpose. One of the key findings is the deeply supervised structure, which plays a critical role in learning a good detection model. Please see our paper for more details.

Figure 1: DSOD prediction layers with plain and dense structures (for 300×300 input).

Visualization

  1. Visualizations of network structures (tools from ethereon, ignore the warning messages):

Results & Models

The tables below show the results on PASCAL VOC 2007, 2012 and MS COCO.

PASCAL VOC test results:

Method VOC 2007 test mAP fps (Titan X) # parameters Models
DSOD300_lite (07+12) 76.7 25.8 10.4M Download (41.8M)
DSOD300 (07+12) 77.7 17.4 14.8M Download (59.2M)
DSOD300 (07+12+COCO) 81.7 17.4 14.8M Download (59.2M)
Method VOC 2012 test mAP fps # parameters Models
DSOD300 (07++12) 76.3 17.4 14.8M Download (59.2M)
DSOD300 (07++12+COCO) 79.3 17.4 14.8M Download (59.2M)

COCO test-dev 2015 result (COCO has more object categories than VOC dataset, so the model size is slightly bigger.):

Method COCO test-dev 2015 mAP (IoU 0.5:0.95) Models
DSOD300 (COCO trainval) 29.3 Download (87.2M)

Preparation

  1. Install SSD (https://github.com/weiliu89/caffe/tree/ssd) following the instructions there, including: (1) Install SSD caffe; (2) Download PASCAL VOC 2007 and 2012 datasets; and (3) Create LMDB file. Make sure you can run it without any errors.
  2. Create a subfolder dsod under example/, add files DSOD300_pascal.py, DSOD300_pascal++.py, DSOD300_coco.py and score_DSOD300_pascal.py to the folder example/dsod/.
  3. Replace the file model_libs.py in the folder python/caffe/ with ours.

Training & Testing

  • Train a DSOD model on VOC 07+12:

    python examples/dsod/DSOD300_pascal.py
  • Train a DSOD model on VOC 07++12:

    python examples/dsod/DSOD300_pascal++.py
  • Train a DSOD model on COCO trainval:

    python examples/dsod/DSOD300_coco.py
  • Evaluate the model:

    python examples/dsod/score_DSOD300_pascal.py

Note: You can modify the file model_lib.py to design your own network structure as you like.

Examples

Contact

Zhiqiang Shen (zhiqiangshen13 at fudan.edu.cn)

Any comments or suggestions are welcome!

dsod's People

Contributors

szq0214 avatar

Watchers

James Cloos avatar 刘国友 avatar  avatar paper2code - bot 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.