All Projects → bailvwangzi → Repulsion_loss_ssd

bailvwangzi / Repulsion_loss_ssd

Licence: mit
Repulsion Loss: Detecting Pedestrians in a Crowd. https://arxiv.org/abs/1711.07752

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Repulsion loss ssd

Linux
The linux kernel source repository for Open-Channel SSDs
Stars: ✭ 119 (-46.4%)
Mutual labels:  ssd
Ssd keras
简明 SSD 目标检测模型 keras version(交通标志识别 训练部分见 dev 分支)
Stars: ✭ 152 (-31.53%)
Mutual labels:  ssd
Vip
Video Platform for Action Recognition and Object Detection in Pytorch
Stars: ✭ 175 (-21.17%)
Mutual labels:  ssd
Ios tensorflow objectdetection example
An iOS application of Tensorflow Object Detection with different models: SSD with Mobilenet, SSD with InceptionV2, Faster-RCNN-resnet101
Stars: ✭ 126 (-43.24%)
Mutual labels:  ssd
Ssd keras
A Keras port of Single Shot MultiBox Detector
Stars: ✭ 1,763 (+694.14%)
Mutual labels:  ssd
A Pytorch Tutorial To Object Detection
SSD: Single Shot MultiBox Detector | a PyTorch Tutorial to Object Detection
Stars: ✭ 2,398 (+980.18%)
Mutual labels:  ssd
Tabulo
Table Detection and Extraction Using Deep Learning ( It is built in Python, using Luminoth, TensorFlow<2.0 and Sonnet.)
Stars: ✭ 110 (-50.45%)
Mutual labels:  ssd
Paddledetection
Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Stars: ✭ 5,799 (+2512.16%)
Mutual labels:  ssd
Kdiskmark
A simple open-source disk benchmark tool for Linux distros
Stars: ✭ 152 (-31.53%)
Mutual labels:  ssd
Ssd Gpu Dma
Build userspace NVMe drivers and storage applications with CUDA support
Stars: ✭ 172 (-22.52%)
Mutual labels:  ssd
Vehicle Detection
Compare FasterRCNN,Yolo,SSD model with the same dataset
Stars: ✭ 130 (-41.44%)
Mutual labels:  ssd
Mobilenet Ssd
Caffe implementation of Google MobileNet SSD detection network, with pretrained weights on VOC0712 and mAP=0.727.
Stars: ✭ 1,805 (+713.06%)
Mutual labels:  ssd
Handpose
A python program to detect and classify hand pose using deep learning techniques
Stars: ✭ 168 (-24.32%)
Mutual labels:  ssd
Crossplatformdisktest
Windows, macOS and Android storage (HDD, SSD, RAM) speed testing/performance benchmarking app
Stars: ✭ 123 (-44.59%)
Mutual labels:  ssd
Mobilenetv3 Ssd
MobileNetV3-SSD for object detection and implementation in PyTorch
Stars: ✭ 188 (-15.32%)
Mutual labels:  ssd
Subscribe2clash
v2ray\trojan\ss\ssr\ssd订阅转换Clash规则配置,自动更新ACL4SSR路由规则
Stars: ✭ 112 (-49.55%)
Mutual labels:  ssd
Proctoring Ai
Creating a software for automatic monitoring in online proctoring
Stars: ✭ 155 (-30.18%)
Mutual labels:  ssd
Flashx
FlashX is a collection of big data analytics tools that perform data analytics in the form of graphs and matrices.
Stars: ✭ 220 (-0.9%)
Mutual labels:  ssd
Traffic Sign Detection
Traffic Sign Detection. Code for the paper entitled "Evaluation of deep neural networks for traffic sign detection systems".
Stars: ✭ 200 (-9.91%)
Mutual labels:  ssd
Focalloss
Caffe implementation of FAIR paper "Focal Loss for Dense Object Detection" for SSD.
Stars: ✭ 172 (-22.52%)
Mutual labels:  ssd

Repulsion Loss implemented with SSD

Forked from PyTorch-SSD, which is a PyTorch implementation of Single Shot MultiBox Detector from the 2016 paper by Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang, and Alexander C. Berg. The official and original Caffe code can be found here.

Table of Contents

       

Installation

  • Install PyTorch by selecting your environment on the website and running the appropriate command.
  • Clone this repository.
    • Note: We currently only support Python 3+.
  • Then download the dataset by following the instructions below.
  • We now support Visdom for real-time loss visualization during training!
    • To use Visdom in the browser:
    # First install Python server and client
    pip install visdom
    # Start the server (probably in a screen or tmux)
    python -m visdom.server
    
    • Then (during training) navigate to http://localhost:8097/ (see the Train section below for training details).
  • Note: For training, we currently support VOC and COCO, and aim to add ImageNet support soon.

Datasets

To make things easy, we provide bash scripts to handle the dataset downloads and setup for you. We also provide simple dataset loaders that inherit torch.utils.data.Dataset, making them fully compatible with the torchvision.datasets API.

COCO

Microsoft COCO: Common Objects in Context

Download COCO 2014
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/COCO2014.sh

VOC Dataset

PASCAL VOC: Visual Object Classes

Download VOC2007 trainval & test
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/VOC2007.sh # <directory>
Download VOC2012 trainval
# specify a directory for dataset to be downloaded into, else default is ~/data/
sh data/scripts/VOC2012.sh # <directory>

Training SSD

mkdir weights
cd weights
wget https://s3.amazonaws.com/amdegroot-models/vgg16_reducedfc.pth
  • To train SSD using the train script simply specify the parameters listed in train.py as a flag or manually change them.
python train.py
  • Note:
    • For training, an NVIDIA GPU is strongly recommended for speed.
    • For instructions on Visdom usage/installation, see the Installation section.
    • You can pick-up training from a checkpoint by specifying the path as one of the training parameters (again, see train.py for options)

Evaluation

To evaluate a trained network:

python eval.py

You can specify the parameters listed in the eval.py file by flagging them or manually changing them.

Example

SSD:

SSD + repulsion loss:

Performance

VOC2007 Test

mAP
Method mAP mAP on Crowd
SSD 77.52% 48.24%
SSD+RepGT 77.43% 50.12%

Demos

Use a pre-trained SSD network for detection

Download a pre-trained network

SSD results on multiple datasets

Try the demo notebook

  • Make sure you have jupyter notebook installed.
  • Two alternatives for installing jupyter notebook:
    1. If you installed PyTorch with conda (recommended), then you should already have it. (Just navigate to the ssd.pytorch cloned repo and run): jupyter notebook

    2. If using pip:

# make sure pip is upgraded
pip3 install --upgrade pip
# install jupyter notebook
pip install jupyter
# Run this inside ssd.pytorch
jupyter notebook

Try the webcam demo

  • Works on CPU (may have to tweak cv2.waitkey for optimal fps) or on an NVIDIA GPU
  • This demo currently requires opencv2+ w/ python bindings and an onboard webcam
    • You can change the default webcam in demo/live.py
  • Install the imutils package to leverage multi-threading on CPU:
    • pip install imutils
  • Running python -m demo.live opens the webcam and begins detecting!

TODO

We have accumulated the following to-do list, which we hope to complete in the near future

  • Still to come:
    • [x] Support for the MS COCO dataset
    • [ ] Support for SSD512 training and testing
    • [ ] Support for training on custom datasets
    • [ ] Support for RepBox term
    • [ ] Support for selecting the second largest IoU from the same class

Authors

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].