Understanding Selective Search for Object Detection

An implementation with Python

Valentina Alto
DataSeries
Published in
4 min readJan 2, 2021

--

Object Detection is a technique used in Computer Vision that aims at localizing and classifying objects in images or video. The main idea is that of building bounding boxes that envelop a specific object and then apply a classification algorithm (in the field of Computer Vision it will belong to the family of CNN) to the bounded object, in order to classify it with a probabilistic output.

So as you can see, there are two main steps in an object detection task: building the bounding boxes and classifying objects within them. In this article, we are going to focus on the first step, having a look at a very popular method for building boxes and implementing it in Python.

Selective Search

Selective Search was first introduced in 2012 in the paper of Uijlings et Al (you can find it here). According to the authors, this method combines the strength of both exhaustive search and segmentation:

  • exhaustive search → aims at finding all the possible locations by systematically enumerating all the possible candidates.
  • segmentation → uses the image structure to cluster pixels into different regions

--

--

Valentina Alto
DataSeries

Data&AI Specialist at @Microsoft | MSc in Data Science | AI, Machine Learning and Running enthusiast