The more you look, the more you see: towards general object understanding through recursive refinement
This is the source code for training and evaluating the hierarchical detection model with recursive refinement module.
The code is tested with MATLAB R2016b. If you run into any problems, please file an issue, or contact Jingyan Wang.
- Clone the repo:
# use the --recursive option to clone the MatConvNet submodule
git clone --recursive https://github.com/jingyanw/recursive-refinement.git-
Build the
matconvnetdirectory. Follow the MatConvNet installation instructions. -
Build the NMS module (same as Faster-RCNN): run
build_nms.m
Run download.m to download the following data to $ROOT/data:
- Pre-trained ImageNet VGG-16 model:
pretrained/imagenet-vgg-verdeep-16.mat
- The cluster subclasses with using the IOU metric on the object masks. The IOU between two shape clusters within the same class is roughly 0.75:
clusters/clusters-shape-thresh25.mat
-
The raw data and devkit for PASCA-VOC2012, with SBD augmentation:
VOCdevkit/VOC2012 VOCdevkit/VOCcode VOCdevkit/VOC-SBD -
A trained VGG-16 model:
models/shape-thresh25-vgg16-epoch7.mat
Run run_demo.m. The demo performs detection and instance segmentation on an example image.
Run run_train.m to train the model with the default setting. This approximately takes 2 days on a single GPU. Multi-GPU support is untested.
Run run_test.m to test the provided off-the-shelf model, with the following performance on detection and instance segmentation:
| AP (@0.5) | AP (@0.7) |
|---|---|
| 69.0 | 45.8 |
| AP^r (@0.5) | AP^r (@0.7) |
|---|---|
| 54.6 | 19.2 |