项目作者: smallcorgi

项目描述 :
Faster-RCNN in Tensorflow
高级语言: Python
项目地址: git://github.com/smallcorgi/Faster-RCNN_TF.git
创建时间: 2016-09-07T05:58:53Z
项目社区:https://github.com/smallcorgi/Faster-RCNN_TF

开源协议:MIT License

下载


Faster-RCNN_TF

This is an experimental Tensorflow implementation of Faster RCNN - a convnet for object detection with a region proposal network.
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.

Requirements: software

  1. Requirements for Tensorflow (see: Tensorflow)

  2. Python packages you might not have: cython, python-opencv, easydict

Requirements: hardware

  1. For training the end-to-end version of Faster R-CNN with VGG16, 3G of GPU memory is sufficient (using CUDNN)

Installation (sufficient for the demo)

  1. Clone the Faster R-CNN repository

    1. # Make sure to clone with --recursive
    2. git clone --recursive https://github.com/smallcorgi/Faster-RCNN_TF.git
  2. Build the Cython modules

    1. cd $FRCN_ROOT/lib
    2. make

Demo

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

Download model training on PASCAL VOC 2007 [Google Drive] [Dropbox]

To run the demo

  1. cd $FRCN_ROOT
  2. python ./tools/demo.py --model model_path

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

Training Model

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

    1. wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
    2. wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
    3. 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

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

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

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

    Download the pre-trained ImageNet models [Google Drive] [Dropbox]

    1. ```Shell

    mv VGG_imagenet.npy $FRCN_ROOT/data/pretrain_model/VGG_imagenet.npy
    ```

  6. Run script to train and test model

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

    DEVICE is either cpu/gpu

The result of testing on PASCAL VOC 2007

Classes AP
aeroplane 0.698
bicycle 0.788
bird 0.657
boat 0.565
bottle 0.478
bus 0.762
car 0.797
cat 0.793
chair 0.479
cow 0.724
diningtable 0.648
dog 0.803
horse 0.797
motorbike 0.732
person 0.770
pottedplant 0.384
sheep 0.664
sofa 0.650
train 0.766
tvmonitor 0.666
mAP 0.681

References

Faster R-CNN caffe version

A tensorflow implementation of SubCNN (working progress)