← Open Source
szq0214

DSOD

DSOD: Learning Deeply Supervised Object Detectors from Scratch. In ICCV 2017.

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
710
Stars
204
Forks
+0
This week
2
Contributors
Created 2017-08-03 · Updated 2026-07-30 · #14711 today
Top developers

szq0214/DSOD is ranked 14,711 with 710 stars.

Same-category comparison

szq0214/DSOD is ranked 14,711 among these 8 peers; titu1994/DenseNet is ranked 14,712.

Same-category comparison
NameRankMetrics
PeterWang512/GANSketching14,700
Language:
Python
Stars:
710
Forks:
94
Description:
Sketch Your Own GAN: Customizing a GAN model with hand-drawn sketches.
agentscope-ai/Trinity-RFT14,701
Language:
Python
Stars:
710
Forks:
85
Description:
Trinity-RFT is a general-purpose, flexible and scalable framework designed for reinforcement fine-tuning (RFT) of large language models (LLM).
hijkzzz/pymarl214,705
Language:
Python
Stars:
710
Forks:
135
Description:
Fine-tuned MARL algorithms on SMAC (100% win rates on most scenarios).
kendricktan/suiron14,707
Language:
Python
Stars:
710
Forks:
77
Description:
Machine Learning for RC Cars.
titu1994/DenseNet14,712
Language:
Python
Stars:
710
Forks:
291
Description:
DenseNet implementation in Keras.
MarioSieg/magnetron14,713
Language:
C
Stars:
709
Forks:
39
Description:
A zero-dependency ML framework in C with a modern Python API for full control over execution and memory.
Zhendong-Wang/Diffusion-GAN14,714
Language:
Python
Stars:
709
Forks:
75
Description:
Official PyTorch implementation for paper: Diffusion-GAN: Training GANs with Diffusion.
chainer/chainer-chemistry14,715
Language:
Python
Stars:
709
Forks:
132
Description:
Chainer Chemistry: A Library for Deep Learning in Biology and Chemistry.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryArchitecture
Stars710
Forks204
Contributors2
Created date2017-08-03
Updated date2026-07-30
Stars in 1 day0
Stars in 7 days0
Rank14,711
Previous rank14,556
Rank change-155
7-day stars rank14,615
Previous 7-day stars rank14,625
7-day stars rank change10
Total stars rank14,738
Previous total stars rank14,713
Total stars rank change-25
CountryUSA
README summary

DSOD: Learning Deeply Supervised Object Detectors from Scratch Update (02/26/2019) We observe that if we simply increase the batch size (bs) on each GPU from 4 (Titan X) to 12 (P40) for training BN layers, our DSOD300 can achieve much better performance without any other modifications (see comparisons below). We think if we have a better solution to tune BN layers' params, e. , Sync BN [1] or Group Norm [2] when training detectors from scratch **with limited batch

size**, the accuracy may be higher. *We have also provided some preliminary results on exploring the factors of training two-stage detectors from scratch in our extended paper (v2) [4]. 2M) | | DSOD300 (07+12) bs=12 on each GPU | 78. 2M)| [1] Chao Peng, Tete Xiao, Zeming Li, Yuning Jiang, Xiangyu Zhang, Kai Jia, Gang Yu, and Jian Sun. "Megdet: A large mini-batch object detector. " In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. " In

Proceedings of the European Conference on Computer Vision (ECCV), pp. [3] Kaiming He, Ross Girshick, and Piotr Dollár. " In Proceedings of the IEEE International Conference on Computer Vision, pp. [4] Zhiqiang Shen, Zhuang Liu, Jianguo Li, Yu-Gang Jiang, Yurong Chen, and Xiangyang Xue. "Object detection from scratch with deep supervision. " IEEE transactions on pattern analysis and machine intelligence (2019). Zhiqiang Shen\*, Zhuang Liu\*, Jianguo Li, Yu-Gang Jiang, Yurong chen, Xiangyang Xue. (\*Equal Contribution) The code is based

on the SSD framework. Other Implementations: [[Pytorch]]( by Yun Chen, [[Pytorch]]( by uoip, [[Pytorch]]( by qqadssp, [[Pytorch]]( by Ellinier , [[Mxnet]]( by Leo Cheng, [[Mxnet]]( by eureka7mt, [[Tensorflow]]( by Windaway. If you find this helps your research, please cite: Introduction DSOD focuses on the problem of training object detector from scratch (without pretrained models on ImageNet). To the best of our knowledge, this is the first work that trains neural 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 enabled by dense layer-wise connections, plays a critical role in learning a good detection model. Figure 1: DSOD prediction layers with plain and dense structures (for 300×300 input). 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. 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. Install 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. Create a subfolder under , add files , , , and to the folder . Create a subfolder under , add files and to the

folder . Replace the file in the folder with ours. Training & Testing Train a DSOD model on VOC 07+12: Train

Frequently asked questions

How many stars and forks are recorded?

szq0214/DSOD has 710 stars and 204 forks.

What is the repository rank?

szq0214/DSOD is ranked 14,711.

What language and category are recorded?

szq0214/DSOD has 710 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

szq0214/DSOD is compared with titu1994/DenseNet, ranked 14,712 with 710 stars.

README

DSOD: Learning Deeply Supervised Object Detectors from Scratch

Update (02/26/2019)

We observe that if we simply increase the batch size (bs) on each GPU from 4 (Titan X) to 12 (P40) for training BN layers, our DSOD300 can achieve much better performance without any other modifications (see comparisons below). We think if we have a better solution to tune BN layers' params, e.g., Sync BN [1] or Group Norm [2] when training detectors from scratch with limited batch size, the accuracy may be higher. This is also consistent with [3].

We have also provided some preliminary results on exploring the factors of training two-stage detectors from scratch in our extended paper (v2) [4].

New results on PASCAL VOC test set:

Method VOC 2007 test mAP # parameters Models
DSOD300 (07+12) bs=4 on each GPU 77.7 14.8M Download (59.2M)
DSOD300 (07+12) bs=12 on each GPU 78.9 14.8M Download (59.2M)

[1] Chao Peng, Tete Xiao, Zeming Li, Yuning Jiang, Xiangyu Zhang, Kai Jia, Gang Yu, and Jian Sun. "Megdet: A large mini-batch object detector." In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 6181-6189. 2018.

[2] Yuxin Wu, and Kaiming He. "Group normalization." In Proceedings of the European Conference on Computer Vision (ECCV), pp. 3-19. 2018.

[3] Kaiming He, Ross Girshick, and Piotr Dollár. "Rethinking imagenet pre-training." In Proceedings of the IEEE International Conference on Computer Vision, pp. 4918-4927. 2019.

[4] Zhiqiang Shen, Zhuang Liu, Jianguo Li, Yu-Gang Jiang, Yurong Chen, and Xiangyang Xue. "Object detection from scratch with deep supervision." IEEE transactions on pattern analysis and machine intelligence (2019).


This repository contains the code for the following paper

DSOD: Learning Deeply Supervised Object Detectors from Scratch (ICCV 2017).

Zhiqiang Shen*, Zhuang Liu*, Jianguo Li, Yu-Gang Jiang, Yurong chen, Xiangyang Xue. (*Equal Contribution)

The code is based on the SSD framework.

Other Implementations: [Pytorch] by Yun Chen, [Pytorch] by uoip, [Pytorch] by qqadssp, [Pytorch] by Ellinier , [Mxnet] by Leo Cheng, [Mxnet] by eureka7mt, [Tensorflow] by Windaway.

If you 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}
	}
	
 @article{shen2018object,
       title={Object Detection from Scratch with Deep Supervision},
       author={Shen, Zhiqiang and Liu, Zhuang and Li, Jianguo and Jiang, Yu-Gang and Chen, Yurong and Xue, Xiangyang},
       journal={arXiv preprint arXiv:1809.09294},
       year={2018}
    }

Introduction

DSOD focuses on the problem of training object detector from scratch (without pretrained models on ImageNet). To the best of our knowledge, this is the first work that trains neural 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 enabled by dense layer-wise connections, 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_smallest (07+12) 73.6 - 5.9M Download (23.5M)
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.

    Our PASCAL VOC LMDB files:

    Method LMDBs
    Train on VOC07+12 and test on VOC07 Download
    Train on VOC07++12 and test on VOC12 (Comp4) Download
    Train on VOC12 and test on VOC12 (Comp3) Download
  2. Create a subfolder dsod under example/, add files DSOD300_pascal.py, DSOD300_pascal++.py, DSOD300_coco.py, score_DSOD300_pascal.py and DSOD300_detection_demo.py to the folder example/dsod/.

  3. Create a subfolder grp_dsod under example/, add files GRP_DSOD320_pascal.py and score_GRP_DSOD320_pascal.py to the folder example/grp_dsod/.

  4. 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 (DSOD):

    python examples/dsod/score_DSOD300_pascal.py
    
  • Run a demo (DSOD):

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

    python examples/grp_dsod/GRP_DSOD320_pascal.py
    
  • Evaluate the model (GRP_DSOD):

    python examples/dsod/score_GRP_DSOD320_pascal.py
    

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

Examples

Contact

Zhiqiang Shen (zhiqiangshen0214 at gmail.com)

Zhuang Liu (liuzhuangthu at gmail.com)

Any comments or suggestions are welcome!

Nearby in the ranking
Similar items