COB: Convolutional Oriented Boundaries
COB is a technique that produces multiscale oriented contours and region hierarchies from a single forward pass of a generic image classification CNN. The whole pipeline runs in the order of 0.8 seconds per image to produce state-of-the-art hierarchical boundaries.
Check our visit our project page for pre-computed results (on BSDS500
, PASCAL
, SBD
, MS-COCO
, ImageNet
, etc.), public benchmarks, results visualization, and additional information.
Update:
- We have extended the ECCV paper with more experiments for RGB-D boundary detection, object boundary detection, as well as experiments that combine COB with high-level tasks that include Semantic Contours, Semantic Segmentation, Object Detection, and Segmented/Box Proposals. You can additionally download:
- Model trained on NYUD-v2
train
set (for RGB-D boundary detection) Link. All images and ground truth associated to the NYUD-v2 database can be found here. We followed the experimental of this paper. - Model trained on PASCAL Segmentation 2012
train
set (for Object Boundary Detection) Link. - All additional results from our project page
Prerequisites:
- Install this version of Caffe along with standard dependencies and matcaffe.
- The CNN models of COB to reproduce the results of this paper are available. Download them and put them under
models/
:
- Model trained on PASCALContext
train
set (VOC train) Link. - Model trained on PASCALContext
trainval
set (VOC trainval) Link. - Model trained on BSDS500
trainval
set Link.
####Note: In the paper, we split the original val set of PASCALContext into VOC val and VOC test sets, while keeping the original training set as is (VOC train). VOC val was selected not to overlap with SBD val set.
COB Usage
- To compute COB UCMs, see
im2ucm.m
(andscripts/im2cob_all.m
) - To compute COB proposals, see
im2prop.m
(andscripts/im2cob_all.m
) - For demos about how to use these functions, see the
demos
folder
For more information on how to use the code, please read README.txt
Citation:
If you use this code, please consider citing the following papers:
@Inproceedings{Man+16a,
Title = {Convolutional Oriented Boundaries},
Author = {K.K. Maninis and J. Pont-Tuset and P. Arbel\'{a}ez and L. Van Gool},
Booktitle = {European Conference on Computer Vision (ECCV)},
Year = {2016}
}
@Article{Man+17,
Author = {K.K. Maninis and J. Pont-Tuset and P. Arbel\'{a}ez and L. Van Gool},
Title = {Convolutional Oriented Boundaries: From Image Segmentation to High-Level Tasks},
Journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
Year = {2017}
}
If you encounter any problems with the code, please contact the first author.
Enjoy!