
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
English | 简体中文
This is a complete implementation of selective search in Python. I thoroughly read the related papers [1][2][3] and the author’s MATLAB implementation. Compared with other implementations, my method is authentically shows the idea of the original paper. Moreover, this method has clear logic and rich annotations, which is very suitable for teaching purposes, allowing people who have just entered the CV field to understand the basic principles of selective search and exercise code reading ability.
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
Install from Anaconda:
conda install -c chenjiexu selective_search
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_sort=False)
For detailed examples, refer this part of the repository.
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.
If random_sort 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.
[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
FAQs
Selective Search in Python
We found that selective-search demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.