All Projects → walsvid → Faster-RCNN-TensorFlow

walsvid / Faster-RCNN-TensorFlow

Licence: MIT License
TensorFlow implementation of Faster RCNN for Object Detection

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Faster-RCNN-TensorFlow

Caffe Model
Caffe models (including classification, detection and segmentation) and deploy files for famouse networks
Stars: ✭ 1,258 (+9576.92%)
Mutual labels:  detection, faster-rcnn, resnet
Tensornets
High level network definitions with pre-trained weights in TensorFlow
Stars: ✭ 982 (+7453.85%)
Mutual labels:  vgg, faster-rcnn, resnet
RMNet
RM Operation can equivalently convert ResNet to VGG, which is better for pruning; and can help RepVGG perform better when the depth is large.
Stars: ✭ 129 (+892.31%)
Mutual labels:  vgg, resnet
Vip
Video Platform for Action Recognition and Object Detection in Pytorch
Stars: ✭ 175 (+1246.15%)
Mutual labels:  detection, resnet
Pytorch Faster Rcnn
pytorch based implementation faster rcnn
Stars: ✭ 251 (+1830.77%)
Mutual labels:  detection, faster-rcnn
Keras-CIFAR10
practice on CIFAR10 with Keras
Stars: ✭ 25 (+92.31%)
Mutual labels:  vgg, resnet
Paddlex
PaddlePaddle End-to-End Development Toolkit(『飞桨』深度学习全流程开发工具)
Stars: ✭ 3,399 (+26046.15%)
Mutual labels:  detection, resnet
Caffe Faster Rcnn
faster rcnn c++ version. joint train; please checkout into dev branch (git checkout dev)
Stars: ✭ 210 (+1515.38%)
Mutual labels:  detection, faster-rcnn
LibtorchTutorials
This is a code repository for pytorch c++ (or libtorch) tutorial.
Stars: ✭ 463 (+3461.54%)
Mutual labels:  vgg, resnet
Shadowless
A Fast and Open Source Autonomous Perception System.
Stars: ✭ 29 (+123.08%)
Mutual labels:  detection, faster-rcnn
python cv AI ML
用python做计算机视觉,人工智能,机器学习,深度学习等
Stars: ✭ 73 (+461.54%)
Mutual labels:  vgg, resnet
Luna16 Lung Nodule Analysis 2016 Challenge
LUNA16-Lung-Nodule-Analysis-2016-Challenge
Stars: ✭ 133 (+923.08%)
Mutual labels:  detection, resnet
Pytorch Imagenet Cifar Coco Voc Training
Training examples and results for ImageNet(ILSVRC2012)/CIFAR100/COCO2017/VOC2007+VOC2012 datasets.Image Classification/Object Detection.Include ResNet/EfficientNet/VovNet/DarkNet/RegNet/RetinaNet/FCOS/CenterNet/YOLOv3.
Stars: ✭ 130 (+900%)
Mutual labels:  detection, resnet
Dockerface
Face detection using deep learning.
Stars: ✭ 173 (+1230.77%)
Mutual labels:  detection, faster-rcnn
Faster rcnn pytorch
Faster RCNN with PyTorch
Stars: ✭ 1,589 (+12123.08%)
Mutual labels:  detection, faster-rcnn
Faster Rcnn tf
Faster-RCNN in Tensorflow
Stars: ✭ 2,349 (+17969.23%)
Mutual labels:  detection, faster-rcnn
neural-dream
PyTorch implementation of DeepDream algorithm
Stars: ✭ 110 (+746.15%)
Mutual labels:  vgg, resnet
Keras object detection
Convert any classification model or architecture trained in keras to an object detection model
Stars: ✭ 28 (+115.38%)
Mutual labels:  detection, faster-rcnn
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: ✭ 49 (+276.92%)
Mutual labels:  detection, resnet
DeepNetModel
记录每一个常用的深度模型结构的特点(图和代码)
Stars: ✭ 25 (+92.31%)
Mutual labels:  vgg, resnet

Faster-RCNN-TensorFlow

Language python TensorFlow License

This is an experimental TensorFlow implementation of Faster-RCNN, based on the work of smallcorgi and rbgirshick. I have converted the code to python3, future python2 will stop supporting it, and using python3 is an irreversible trend. And I deleted some useless files and legacy caffe code.

What's New:

  • Convert code to Python3
  • Make compile script adapt gcc-5
  • Visualization using tensorboard
  • PSRoI Pooling
  • OHEM a.k.a Online Hard Example Miniing
  • RoI Align
  • ResNet50
  • PVANet
  • MobileNet v1

Reference:

Acknowledgments:

  1. py-faster-rcnn

  2. Faster-RCNN_TF

  3. ROI pooling

  4. TFFRCNN

Installation (sufficient for the demo)

  1. Clone the Faster R-CNN repository
git clone https://github.com/walsvid/Faster-RCNN-TensorFlow.git
  1. Build the Cython modules
    ROOT = Faster-RCNN-TensorFlow
    cd ${ROOT}/lib
    make

Compile cython and roi_pooling_op, you may need to modify make.sh for your platform.

GPU model Architecture
TitanX (Maxwell/Pascal) sm_52
GTX 960M sm_50
GTX 1080 (Ti) sm_61
Grid K520 (AWS g2.2xlarge) sm_30
Tesla K80 (AWS p2.xlarge) sm_37

Demo

After successfully completing basic installation, you'll be ready to run the demo.

Download model training on PASCAL VOC 2007 [Google Drive]

To run the demo execute:

cd $ROOT
python ./tools/demo.py --model model_path

The demo performs detection using a VGG16 network trained for detection on PASCAL VOC 2007.

Train model

  1. Download the training, validation, test data and VOCdevkit

    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
  2. Extract all of these tars into one directory named VOCdevkit

    tar xvf VOCtrainval_06-Nov-2007.tar
    tar xvf VOCtest_06-Nov-2007.tar
    tar xvf VOCdevkit_08-Jun-2007.tar
  3. It should have this basic structure

    $VOCdevkit/                           # development kit
    $VOCdevkit/VOCcode/                   # VOC utility code
    $VOCdevkit/VOC2007                    # image sets, annotations, etc.
    # ... and several other directories ...
  4. Create symlinks for the PASCAL VOC dataset

    cd $FRCN_ROOT/data
    ln -s $VOCdevkit VOCdevkit2007
  5. Download pre-trained ImageNet models

    Download the pre-trained ImageNet models [Google Drive]

    mv VGG_imagenet.npy $FRCN_ROOT/data/pretrain_model/VGG_imagenet.npy
  6. Run script to train and test model

    cd $FRCN_ROOT
    ./experiments/scripts/faster_rcnn_end2end.sh $DEVICE $DEVICE_ID VGG16 pascal_voc

    DEVICE is cpu or gpu. Please note that if CUDA_VISIBLE_DEVICES is used as the mask for the specified GPU, please note the GPU ID. If it is an example like this: CUDA_VISIBLE_DEVICES=1 ./experiments/scripts/faster_rcnn_end2end.sh gpu 1 VGG16 pascal_voc, which means that the GPU1 is used as the starting number 1+1 or GPU2. If there are not multiple GPUs, use GPU0. Another example: use CUDA_VISIBLE_DEVICES=1 ./experiments/scripts/faster_rcnn_end2end.sh gpu 0 VGG16 pascal_voc so that although the displayed gpu id is 0, actually used is 1+0=GPU1.

Visualization

Just execute tensorboard.

tensorboard --logdir=./logs

The result of testing on PASCAL VOC 2007

VGG16

Classes AP
aeroplane 0.7391
bicycle 0.7803
bird 0.6681
boat 0.5576
bottle 0.5236
bus 0.7661
car 0.8000
cat 0.7840
chair 0.4995
cow 0.7252
diningtable 0.6721
dog 0.7504
horse 0.7843
motorbike 0.7410
person 0.7739
pottedplant 0.4401
sheep 0.6616
sofa 0.6519
train 0.7431
tvmonitor 0.7106
mAP 0.6886

Release: v0.5.1

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