This is a python implementation of the Selective Search [1].
The Selective Search is used as a preprocess of object detection pipeline.
It finds regions likely to contain any objects from input image regardless of its scale and location,
allows detector to concentrate only for such regions.
Therefore you can configure more computationally efficient detector,
or use more rich feature representation and classification method [3]
compared to the conventional exhaustive search scheme.
- CMake (>= 2.8)
- GCC (>= 4.8.2)
- Python (>= 3.4.3)
- numpy (>= 1.9.2)
- scikit-image (>= 0.11.3)
- Boost (>= 1.58.0) built with python support
- Boost.NumPy
In addition, this is only tested on x64 Linux environment.
This implementation contains a few C++ code which wraps the Efficient Graph-Based Image Segmentation [2] used for generating an initial value. It works as a python module, so build it first.
% git clone https://github.com/belltailjp/ontSplice2.git
% cd ontSplice2
% wget http://cs.brown.edu/~pff/segment/segment.zip; unzip segment.zip; rm segment.zip
% cmake .
% makeThen you will see segment.so in the directory.
[1] J. R. R. Uijlings et al., Selective Search for Object Recognition, IJCV, 2013
[2] P. Felzenszwalb et al., Efficient Graph-Based Image Segmentation, IJCV, 2004
[3] R. Girshick et al., Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation, CVPR, 2014