All Projects → longcw → Faster_rcnn_pytorch

longcw / Faster_rcnn_pytorch

Licence: mit
Faster RCNN with PyTorch

Programming Languages

python
139335 projects - #7 most used programming language
cython
566 projects
c
50402 projects - #5 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to Faster rcnn pytorch

Caffe Faster Rcnn
faster rcnn c++ version. joint train; please checkout into dev branch (git checkout dev)
Stars: ✭ 210 (-86.78%)
Mutual labels:  faster-rcnn, detection
object-tracking
Multiple Object Tracking System in Keras + (Detection Network - YOLO)
Stars: ✭ 89 (-94.4%)
Mutual labels:  detection, faster-rcnn
Pytorch Faster Rcnn
pytorch based implementation faster rcnn
Stars: ✭ 251 (-84.2%)
Mutual labels:  faster-rcnn, detection
Shadowless
A Fast and Open Source Autonomous Perception System.
Stars: ✭ 29 (-98.17%)
Mutual labels:  detection, faster-rcnn
Kittibox
A car detection model implemented in Tensorflow.
Stars: ✭ 388 (-75.58%)
Mutual labels:  faster-rcnn, detection
Faster Rcnn tf
Faster-RCNN in Tensorflow
Stars: ✭ 2,349 (+47.83%)
Mutual labels:  faster-rcnn, detection
Object-Detection-And-Tracking
Target detection in the first frame and Tracking target by SiamRPN.
Stars: ✭ 33 (-97.92%)
Mutual labels:  detection, faster-rcnn
Dockerface
Face detection using deep learning.
Stars: ✭ 173 (-89.11%)
Mutual labels:  faster-rcnn, detection
Rectlabel Support
RectLabel - An image annotation tool to label images for bounding box object detection and segmentation.
Stars: ✭ 338 (-78.73%)
Mutual labels:  faster-rcnn, detection
Faster rcnn for dota
Code used for training Faster R-CNN on DOTA
Stars: ✭ 283 (-82.19%)
Mutual labels:  faster-rcnn, detection
Faster-RCNN-TensorFlow
TensorFlow implementation of Faster RCNN for Object Detection
Stars: ✭ 13 (-99.18%)
Mutual labels:  detection, faster-rcnn
Keras object detection
Convert any classification model or architecture trained in keras to an object detection model
Stars: ✭ 28 (-98.24%)
Mutual labels:  faster-rcnn, detection
Tffrcnn
FastER RCNN built on tensorflow
Stars: ✭ 898 (-43.49%)
Mutual labels:  faster-rcnn, detection
Caffe Model
Caffe models (including classification, detection and segmentation) and deploy files for famouse networks
Stars: ✭ 1,258 (-20.83%)
Mutual labels:  faster-rcnn, detection
Shuriken
Cross-Site Scripting (XSS) command line tool for testing lists of XSS payloads on web apps.
Stars: ✭ 114 (-92.83%)
Mutual labels:  detection
Sfd.pytorch
S3FD: single shot face detector in pytorch
Stars: ✭ 116 (-92.7%)
Mutual labels:  detection
Eqcorrscan
Earthquake detection and analysis in Python.
Stars: ✭ 113 (-92.89%)
Mutual labels:  detection
Tensorflow Object Detection Tutorial
The purpose of this tutorial is to learn how to install and prepare TensorFlow framework to train your own convolutional neural network object detection classifier for multiple objects, starting from scratch
Stars: ✭ 113 (-92.89%)
Mutual labels:  detection
Mobilenet
MobileNet build with Tensorflow
Stars: ✭ 1,531 (-3.65%)
Mutual labels:  detection
Sightseq
Computer vision tools for fairseq, containing PyTorch implementation of text recognition and object detection
Stars: ✭ 116 (-92.7%)
Mutual labels:  faster-rcnn

Faster RCNN with PyTorch

Note: I re-implemented faster rcnn in this project when I started learning PyTorch. Then I use PyTorch in all of my projects. I still remember it costed one week for me to figure out how to build cuda code as a pytorch layer :). But actually this is not a good implementation and I didn't achieve the same mAP as the original caffe code.

This project is no longer maintained and may not compatible with the newest pytorch (after 0.4.0). So I suggest:

  • You can still read and study this code if you want to re-implement faster rcnn by yourself;
  • You can use the better PyTorch implementation by ruotianluo or Detectron.pytorch if you want to train faster rcnn with your own data;

This is a PyTorch implementation of Faster RCNN. This project is mainly based on py-faster-rcnn and TFFRCNN.

For details about R-CNN please refer to the paper Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks by Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.

Progress

  • Forward for detecting
  • RoI Pooling layer with C extensions on CPU (only forward)
  • RoI Pooling layer on GPU (forward and backward)
  • Training on VOC2007
  • TensroBoard support
  • Evaluation

Installation and demo

  1. Install the requirements (you can use pip or Anaconda):

    conda install pip pyyaml sympy h5py cython numpy scipy
    conda install -c menpo opencv3
    pip install easydict
    
  2. Clone the Faster R-CNN repository

    git clone [email protected]:longcw/faster_rcnn_pytorch.git
  3. Build the Cython modules for nms and the roi_pooling layer

    cd faster_rcnn_pytorch/faster_rcnn
    ./make.sh
  4. Download the trained model VGGnet_fast_rcnn_iter_70000.h5 (updated) and set the model path in demo.py

  5. Run demo python demo.py

Training on Pascal VOC 2007

Follow this project (TFFRCNN) to download and prepare the training, validation, test data and the VGG16 model pre-trained on ImageNet.

Since the program loading the data in faster_rcnn_pytorch/data by default, you can set the data path as following.

cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007

Then you can set some hyper-parameters in train.py and training parameters in the .yml file.

Now I got a 0.661 mAP on VOC07 while the origin paper got a 0.699 mAP. You may need to tune the loss function defined in faster_rcnn/faster_rcnn.py by yourself.

Training with TensorBoard

With the aid of Crayon, we can access the visualisation power of TensorBoard for any deep learning framework.

To use the TensorBoard, install Crayon (https://github.com/torrvision/crayon) and set use_tensorboard = True in faster_rcnn/train.py.

Evaluation

Set the path of the trained model in test.py.

cd faster_rcnn_pytorch
mkdir output
python test.py

License: MIT license (MIT)

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