GithubHelp home page GithubHelp logo

anminhhung / ssd_pytorch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from transcendentsky/ssd_pytorch

0.0 1.0 0.0 2.94 MB

SSD, FSSD, RFB, etc with Pytorch

License: MIT License

Python 96.54% Shell 0.16% Cuda 3.00% C 0.30%

ssd_pytorch's Introduction

Bring code from https://github.com/ShuangXieIrene/ssds.pytorch Made some custom Changes

ssds.pytorch

Repository for Single Shot MultiBox Detector and its variants, implemented with pytorch, python3.

Currently, it contains these features:

  • Multiple SSD Variants: ssd, rfb, fssd, ssd-lite, rfb-lite, fssd-lite
  • Multiple Base Network: VGG, Mobilenet V1/V2
  • Free Image Size
  • Visualization with tensorboard-pytorch: training loss, eval loss/mAP, example archor boxs.

This repo is depended on the work of ssd.pytorch, faster-rcnn.pytorch, RFBNet, Detectron and Tensorflow Object Detection API. Thanks for there works.

Table of Contents

Installation

  1. install pytorch
  2. install requirements by pip install -r ./requirements.txt

Usage

To train, test and demo some specific model. Please run the relative file in folder with the model configure file, like:

python train.py --cfg=./experiments/cfgs/rfb_lite_mobilenetv2_train_voc.yml

Change the configure file based on the note in config_parse.py

Performance

VOC2007 YOLO_v2 YOLO_v3 SSD RFB FSSD
Darknet53 79.3%
Darknet19 78.4%
Resnet50 79.7% 81.2%
VGG16 76.0% 80.5% 77.8%
MobilenetV1 74.7% 78.2% 72.7% 73.7% 78.4%
MobilenetV2 72.0% 75.8% 73.2% 73.4% 76.7%
COCO2017 YOLO_v2 YOLO_v3 SSD RFB FSSD
Darknet53 27.3%
Darknet19 21.6%
Resnet50 25.1% 26.5% 27.2%
VGG16 25.4% 25.5% 27.2%
MobilenetV1 21.5% 25.7% 18.8% 19.1% 24.2%
MobilenetV2 20.4% 24.0% 18.5% 18.5% 22.2%
Net InferTime* (fp32) YOLO_v2 YOLO_v3 SSD RFB FSSD
Darknet53 5.6ms
Darknet19 1.9ms
Resnet50
VGG16 1.78ms 4.20ms 1.98ms
MobilenetV1 3.8ms 2.87ms 3.84ms 2.62ms
MobilenetV2 5.1ms 4.18ms 5.28ms 4.02ms

(*-only calculate the all network inference time, without pre-processing & post-processing. In fact, the speed of vgg is super impress me. Maybe it is caused by MobilenetV1 and MobilenetV2 is using -lite structure, which uses the seperate conv in the base and extra layers.)

Visualization

  • visualize the network graph (terminal) -tensorboard has bugs. graph

  • visualize the loss during the training progress and meanAP during the eval progress (terminal & tensorboard) train process

  • visualize archor box for each feature extractor (tensorboard) archor box

  • visualize the preprocess steps for training (tensorboard) preprocess

  • visualize the pr curve for different classes and anchor matching strategy for different properties during evaluation (tensorboard) pr_curve (*guess the dataset in the figure, coco or voc?)

  • visualize featuremap and grads (not satisfy me, does not give me any information. any suggestions? ) feature_map_visualize

TODO

  • add DSSDs: DSSD FPN TDM
  • test the multi-resolution traning
  • add rotation for prerprocess
  • test focal loss
  • add resnet, xception, inception
  • figure out the problem of visualize graph
  • speed up preprocess part (any suggestion?)
  • speed up postprocess part (any suggestion?) huge bug!!!

Reference

ssd_pytorch's People

Contributors

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