# Faster-RCNN_TF **Repository Path**: deeplearningrepos/Faster-RCNN_TF ## Basic Information - **Project Name**: Faster-RCNN_TF - **Description**: Faster-RCNN in Tensorflow - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-30 - **Last Updated**: 2021-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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](http://arxiv.org/pdf/1506.01497v3.pdf) by Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun. ### Requirements: software 1. Requirements for Tensorflow (see: [Tensorflow](https://www.tensorflow.org/)) 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 ```Shell # Make sure to clone with --recursive git clone --recursive https://github.com/smallcorgi/Faster-RCNN_TF.git ``` 2. Build the Cython modules ```Shell cd $FRCN_ROOT/lib make ``` ### Demo *After successfully completing [basic installation](#installation-sufficient-for-the-demo)*, you'll be ready to run the demo. Download model training on PASCAL VOC 2007 [[Google Drive]](https://drive.google.com/open?id=0ByuDEGFYmWsbZ0EzeUlHcGFIVWM) [[Dropbox]](https://www.dropbox.com/s/cfz3blmtmwj6bdh/VGGnet_fast_rcnn_iter_70000.ckpt?dl=0) To run the demo ```Shell cd $FRCN_ROOT 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 ```Shell 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` ```Shell 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 ```Shell $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 ```Shell cd $FRCN_ROOT/data ln -s $VOCdevkit VOCdevkit2007 ``` 5. Download pre-trained ImageNet models Download the pre-trained ImageNet models [[Google Drive]](https://drive.google.com/open?id=0ByuDEGFYmWsbNVF5eExySUtMZmM) [[Dropbox]](https://www.dropbox.com/s/po2kzdhdgl4ix55/VGG_imagenet.npy?dl=0) ```Shell mv VGG_imagenet.npy $FRCN_ROOT/data/pretrain_model/VGG_imagenet.npy ``` 6. Run script to train and test model ```Shell cd $FRCN_ROOT ./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](https://github.com/rbgirshick/py-faster-rcnn) [A tensorflow implementation of SubCNN (working progress)](https://github.com/yuxng/SubCNN_TF)