0% found this document useful (0 votes)
25 views27 pages

CV - Lecture 4 - Feature Detection

The document discusses different algorithms for detecting image features, including blobs, corners, and regions. It describes the SURF algorithm in detail, including how it uses integral images and Hessian matrices to detect blobs, and how descriptors are generated. It also discusses the Maximally Stable Extremal Regions (MSER) algorithm for region detection.

Uploaded by

abanoubnasser01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views27 pages

CV - Lecture 4 - Feature Detection

The document discusses different algorithms for detecting image features, including blobs, corners, and regions. It describes the SURF algorithm in detail, including how it uses integral images and Hessian matrices to detect blobs, and how descriptors are generated. It also discusses the Maximally Stable Extremal Regions (MSER) algorithm for region detection.

Uploaded by

abanoubnasser01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Image Features

Feature Detection part 2


Lecture 4
By: Sarah M. Ayyad

Back Next
Feature Detection
They are many algorithm used to detect features.
They Fall into 3 categories:

Blobs
SURF algorithm

01 02 03

Corners Regions
Harris-stephans
MSER algorithm
algorithm
Corner Detection
● Suppose you rotate the image by some angle
○ Will you still pick up the same feature points?

• Yes
● What if you change the brightness?
○ Will you still pick up the same feature points?

• Mostly yes (uses gradients which involve pixel differences)


● Scale
• No

Back Next
2. Blobs Detection
A Blob is a group of connected pixels in an image that share some common property (e.g.,
grayscale value).
Blob detection are aimed to detect regions in an image that differ in properties, such as
brightness or color, compared to surrounding regions.

Back Next
2. Blobs Detection
Corners

Blobs

Back Next
2. Blobs Detection - SURF
● The speeded up robust features (SURF) algorithm is used in blobs
detection.
● It is a powerful scale and rotational invariant interest point detector and
descriptor.
● SURF is the speed up version of Scale-Invariant Feature Transform (SIFT)
algorithm.
1) Computation of integral image,
2) Computation of Hessian Matrix
3) Descriptor orientation assignment (optional),
4) Descriptor generation.
Back Next
SURF Algorithm Steps
1) Integral image generation
Integral Image makes a filter to the received image (used for calculating the average intensity
within a given image).
Interest points to create feature descriptors are calculated using the integral image.
The integral image allows for rapid computation and efficiency in computation over image regions.

Back Next
SURF Algorithm Steps
2) Computation of Hessian Matrix (interest point detection),
The method for detecting interest points is based on a simple Hessian matrix approximation.
Compute 2nd derivative (approximate) filters to image.

The determinant of the Hessian matrix is used as a measure of local change around the
point.

Back Next
SURF Algorithm Steps
2) Computation of Hessian Matrix (interest point detection),
Then, the images are repeatedly smoothed with a Gaussian filter to adapt to any scale.

Where 𝐿𝑥𝑥 𝑥, 𝜎 is the convolution of the second-order derivative of Gaussian with the
image I in point x, and similarly for 𝐿𝑥𝑦 𝑥, 𝜎 and 𝐿𝑦𝑦 𝑥, 𝜎 .
Back Next
SURF Algorithm Steps
2) Computation of Hessian Matrix (interest point detection),
Scale spaces are usually implemented as image pyramids.
The images are repeatedly smoothed with a Gaussian and subsequently sub-sampled
to achieve a higher level of the pyramid.

Back Next
SURF Algorithm Steps
3) Descriptor orientation assignment (optional),
▪ the orientation assignment step determines the main direction or angle associated
with each detected blob or interest point in an image.
▪ By assigning an orientation to each blob, SURF ensures that the interest points are
invariant to rotation. This means that no matter how the image is rotated, the
interest points will still be detected and described consistently.
▪ It helps in achieving reliable matching between interest points in different images,
enabling tasks like object recognition

Back Next
SURF Algorithm Steps
4) Descriptor generation.
For the extraction of the descriptor, construct a square region centered around the interest point,
and oriented along the orientation selected in the previous step.
The region is split up regularly into smaller 4×4 square sub-regions. At each sub-region,
extract the SURF descriptor from it.

Back Next
Applying SURF using Matlab
Applying SURF using Matlab
Region detection
● Region detection in computer vision refers to the process of identifying and localizing
specific areas or regions of interest within an image or a video. The goal is to segment or
extract specific regions based on certain characteristics, such as color, texture, shape, or
motion.
● A region detector selects candidate regions for descriptor computation.

Back Next
Region detection

Back Next
Maximally Stable Extremal Regions (MSER)
● MSER regions are connected areas characterized by almost uniform intensity.
● The MSER algorithm extracts from an image a number of covariant regions, called
MSERs: an MSER is a stable connected component of some gray-level sets of the image.
● The selected regions are those that maintain unchanged shapes over a large set of
thresholds.
● They are constructed through a process of trying multiple thresholds.
● threshold value determines which pixels in the gradient image are considered as part of
a region and which ones are considered as background.

Back Next
Steps of MSER
❑ Apply a series of thresholds – one for each grayscale level.
❑ All the pixels below a given threshold are white (255) and all those above or equal are
black (0).
❑ For each threshold, compute the connected binary regions (Extremal Regions).
❑ Find a threshold when an extremal region is “Maximally Stable”.
❑ However, even if an extremal region is maximally stable, it might be rejected if:
• it is too big;
• it is too small;

Back
MSER
● MSER algorithm can detect regions in an image that are both not affected by small
changes in the image and visually different from the surrounding area.
● The algorithm works by analyzing the intensity variations within an image and
identifying connected regions with similar intensity values.
● These regions are then further analyzed to determine their stability, by considering
how much their shape and intensity change over time.

Back
Back Next
Example of MSER
Original Image

Back Next
Example of MSER
Threshold 1

Back Next
Example of MSER
Threshold 2

Back Next
Example of MSER
Threshold 3

MSER doesn’t
work well with
images with any
blur

Back Next
Applying MSER algorithm in Matlab

Original Image
Using MSER algorithm
To make the regions appear more clearly, adjust the showPixelList and showEllipses options to
display colored regions without the ellipsis.
All the letters will be detected as features.

You might also like