code for DeepProposal paper presented in ICCV 2015
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
deps/edges-master
models
LICENSE
README.md
arrange_imdb.m
best_siz_win_AR_VOC07.mat
compute_average_recall.m
compute_featmaps.m
deepProposal.m
demo.m
find_overlap_all.m
gen_props2.m
gen_props3.m
get_opts.m
integral_feats2.m
integral_feats_sp.m
intg_sub.cpp
intg_sub.mexa64
main_run.m
net_stat.m
nms_c.cpp
nms_c.mexa64
train_objectness.m
train_objectness_i.m
voc07_conv_locs.m
win_siz_analysis.m
win_siz_selection.m

README.md

News

  • generated proposals of our method are added.
  • spatial pyramid pooling models are added

DeepProposal

code for DeepProposal paper presented in ICCV 2015 (http://arxiv.org/abs/1510.04445):

Amir Ghodrati, Ali Diba, Marco Pedersoli, Tinne Tuytelaars, Luc Van Gool, "DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers".

Installing

  • Dependencies should be installed according to their instructions. They should either be in ./deps/ folder or you need to change the paths in get_opts.m file:

  • Instruction to compile the modified code of edgebox(I have included files for 64-bit linux):

    • mex private/edgesDetectMex.cpp -outdir private [OMPPARAMS]
    • mex private/edgesNmsMex.cpp -outdir private [OMPPARAMS]
    • mex private/spDetectMex.cpp -outdir private [OMPPARAMS]
    • mex private/edgeBoxesMex.cpp -outdir private
    • Here [OMPPARAMS] are parameters for OpenMP and are OS and compiler dependent.
      • Windows: [OMPPARAMS] = '-DUSEOMP' 'OPTIMFLAGS="$OPTIMFLAGS' '/openmp"'
      • Linux V1: [OMPPARAMS] = '-DUSEOMP' CFLAGS="$CFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
      • Linux V2: [OMPPARAMS] = '-DUSEOMP' CXXFLAGS="$CXXFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
    • To compile without OpenMP simply omit [OMPPARAMS]; note that code will be single threaded in this case.
  • The compiled files for "nms_c.cpp" and "intg_sub.cpp" under 64-bit linux are added. If you want to compile it, use "mex file_name.cpp"

  • The models that are used in DeepProposal (in './models' folder):

    • objectness models: as described in section 3.1 of the paper (trained models are included)
    • contour model: as described in section 4 of the paper (trained model is included)
    • pre-trained CNN model (http://www.vlfeat.org/matconvnet/models/imagenet-caffe-ref.mat): make a symbolic link in ./models/cnn/ that point to the imagenet-caffe-ref.mat or change the path in get_opts.m

Demo

You can run the "demo.m" for extracting proposals for a given image.

Datasets

A script called "main_run.m" is included to extract proposals for VOC 2007 and COCO 2014. you should setup VOC07 development kit and/or COCO14 api+dataset according to their instructions and then set paths in get_opts.m

Notes

  • All boxes are in format of [x y x+w y+h]
  • This version does not use spatial pyramid representation for second stage. -UPDATE: It is included now!
  • For COCO14 dataset, objects with area smaller than 32^2 are considered as difficult so they are omitted during evaluation. you can change it in arrange_imdb.m
  • Features can be loaded from './feats/' in case they are already extracted
  • Outputs are stored in './outputs/'.
  • Logs are stored in './logs/'.

UPDATE: generated proposals for VOC2007 trainval/test sets: