Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Selective Search in Python

Project description

Selective Search

GitHub release PyPI Travis Build Status Codacy grade

This is a full implementation of selective search in Python. The implementation is typically based on this paper[1]. It have three selective search modes according to various diversification strategies as in the paper.

Installation

Installing from PyPI is recommended :

$ pip install selective-search

It is also possible to install the latest version from Github source:

$ git clone https://github.com/ChenjieXu/selective_search.git
$ cd selective_search
$ python setup.py install

Quick Start

import skimage.io
from selective_search import selective_search

# Load image as NumPy array from image files
image = skimage.io.imread('path/to/image')

# Run selective search using single mode
boxes = selective_search(image, mode='single', random=False)

For detailed examples, refer this part of the repository.

Parameters

Mode

Three modes correspond to various combinations of diversification strategies. The appoach to combine different diversification strategies, say, color spaces, similarity measures, starting regions is listed in the following table[1].

Mode Color Spaces Similarity Measures Starting Regions (k) Number of Combinations
single HSV CTSF 100 1
fast HSV, Lab CTSF, TSF 50, 100 8
quality HSV, Lab, rgI, H, I CTSF, TSF, F, S 50, 100, 150, 300 80
  • Color Space [Source Code]
    Initial oversegmentation algorithm and our subsequent grouping algorithm are performed in this colour space.

  • Similarity Measure [Source Code]
    'CTSF' means the similarity measure is aggregate of color similarity, texture similarity, size similarity, and fill similarity.

  • Starting Region [Source Code]
    A parameter of initial grouping algorithm[2], which yields high quality starting locations efficiently. A larger k causes a preference for larger components of initial strating regions.

Random

If random set to True, function will carry out pseudo random sorting. It only alters sequences of bounding boxes, instead of locations, which prevents heavily emphasis on large regions as combing proposals from up to 80 different strategies[1]. This only has a significant impact when selecting a subset of region proposals with high rankings, as in RCNN.

References

[1] J. R. R. Uijlings et al., Selective Search for Object Recognition, IJCV, 2013
[2] Felzenszwalb, P. F. et al., Efficient Graph-based Image Segmentation, IJCV, 2004
[3] Segmentation as Selective Search for Object Recognition

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for selective-search, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size selective_search-0.1.1-py3-none-any.whl (8.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size selective_search-0.1.1.tar.gz (7.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page