Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
models use nn.SpatialMaxPooling Jul 23, 2015
BatchProvider.lua Code cleanup and reorganization May 23, 2015
DataSetPascal.lua Forgot data.lua, bugfix in Tester and refactoring of DatasetPascal May 26, 2015
ImageTransformer.lua Fix bug in arguments of ImageTransformer, SPP and RCNN May 23, 2015
LICENCE Adds BSD 2 licence Sep 1, 2015
SPP.lua Remove aditional arguments in RCNN and SPP, as it was bugged May 26, 2015
Tester.lua Fix saving bug in Tester Oct 11, 2015
Trainer.lua Big commit, almost functional. Changed the structure of the code and … Apr 27, 2015
data.lua Fix for non-default pooler in SPP Jul 28, 2015
main.lua Add collectgarbage in main to avoid PANIC errors May 26, 2015
nms.lua Fix bug in NMS. Sep 22, 2015
nnf.lua Add ImageTransformer to preprocess the input image May 23, 2015
opts.lua Better default parameters for SPP Jul 23, 2015
utils.lua Add VOC207 AP computation Apr 1, 2016

Object detection in torch

Implementation of some object detection frameworks in torch.

Note on new code

You should probably check the refactoring branch of this repository, which simplifies the code structure, and also contains an implementation of Fast-RCNN and threaded RCNN (making it much faster than standard RCNN). It will be merged to master soon.


It requires the following packages

To install them all, do

## xml
luarocks install xml

## matio
brew install libmatio
# Ubuntu
sudo apt-get install libmatio2

luarocks install matio

To install hdf5, follow the instructions in here

Running this code

First, clone this repo

git clone

The zeiler pretrained model is available at It is supposed to be at data/models. If you want to use your own model in SPP framework, make sure that it follows the pattern

model = nn.Sequential()

where features can be a nn.Sequential of several convolutions and pooling_layer is the last pooling with reshaping of the data to feed it to the classifer. See models/zeiler.lua for an example.

To finetune the network for detection, simply run

th main.lua

To get an overview of the different parameters, do

th main.lua -h

The default is to consider that the dataset is present in datasets/VOCdevkit/VOC2007/. The default location of bounding boxes .mat files (in RCNN format) is supposed to be in data/selective_search_data/.

You can’t perform that action at this time.