Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition -...
Transcript of Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition -...
![Page 1: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/1.jpg)
1
Pattern Recognition,Visual search
andHough Trasform
Virginio Cantoni
Laboratorio di Visione Artificiale
http://vision.unipv.it/
Università di Pavia
Via A. Ferrata 1, 27100 Pavia
![Page 2: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/2.jpg)
Where’s Waldo?
Scene
Template
![Page 3: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/3.jpg)
Where’s Waldo?
Scene
Template
![Page 4: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/4.jpg)
Where’s Waldo?
Detected template Correlation map
![Page 5: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/5.jpg)
PR and artificial visual search
Given an unknown input image segment and the basic properties (template) of the object-target, the problem is to determine if the segment belongs to the target class
Difficulties can arise when large variations and distortions are expected in this segment. In general this is the case because objects appears:
• roto-translated and with a scaling factor
• with shading, luminance and color changes
• overlapped, occluded and noisy
• rigid, semi rigid or even flexible
5
![Page 6: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/6.jpg)
6
Model definition
The real world contains, in general, high variability and variety levels for mathematical and statistical models to describe the model of the class.
The components outside such descriptions are commonly termed noise. An automatic system – and maybe the human mind itself – is necessarily endowed with models to interpret reality – where the so called context is part of.
In computer vision context can be described through a particular configuration of internal parameters and pragmatically a context is valid if the automatic interpretations, in the current scenario, correspond to an acceptable extent, to the target goals.
![Page 7: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/7.jpg)
A taxonomy of PR approaches
Generally we can divide the different objects recognition techniques in:• Appearance-based methods, in which are used example images (called templates) of
the objects to perform recognition; problems rise because objects look different under varying conditions:
Changes in lighting or color;
Changes in viewing direction;
Changes in size or shape.
Techniques: Edge Matching, Divide-and-Conquer Search, Greyscale Matching Edges, Gradient Matching, …
• Feature-based methods, a search is used to find feasible matches between object features and image features. There are different solutions used to extract features from the objects to be recognized and the images to be searched such as:
Surface patches;
Corners;
Linear edges.
Techniques: Interpretation Trees, Hypothesize and Test, Scale-Invariant Feature Transform (SIFT), Speeded Up Robust Features (SURF), HOG - Histogram of Orientated Gradients, …
7
![Page 8: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/8.jpg)
8
PR approachesARTIFICIAL
VISUAL SERACHOBJECT
REPRESENTATIONDECISION
POLICY
Direct Matching Track
Prototype or template shape Correlation
Statistical Theoretic Track
Features set, features vector
Decision function, e.g. maximum liklehood, minimum risk, etc.
Linguistic/Syntactic Track Grammar String parsing
Structural trackHough Transform Reference Table
Statistic - Search in parameter space
Hybrid Track
Combination of previous method
Multi-classifier, SVMe.g. AdaBoost
Neural NeworksTrack
unsupervised (feature) learning
(Machine learning)Deep Learning
![Page 9: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/9.jpg)
Classifiers: SVM - Support Vector Machines
Support Vector Machines (SVMs) are a popular machine learning method for classification, regression, and other learning tasks. In machine learning, support vector machines are supervised learning models with associated learning algorithms that analyse data and recognize patterns, used for classification and regression analysis. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that assigns new examples into one category or the other, making it a non-probabilistic binary linear classifier.
An SVM model is a representation of the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples are then mapped into that same space and predicted to belong to a category based on which side of the gap they fall on.
9
![Page 10: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/10.jpg)
SVM - Support Vector Machines
The original optimal hyperplane algorithm proposed by Vapnik in 1963 was a linear classifier. However, in the ‘90s were introduced nonlinear classifiers, common kernels include:
• Linear, Polynomial, Gaussian radial basis function (RBF), etc.
10
![Page 11: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/11.jpg)
What exactly is deep learning ?
why is it generally better than other methods on image, speech and certain other types of data?
The short answers
1. Deep Learning means using a neural network with several layers of nodes between input and output
2. the series of layers between input & output do feature identification and processing in a series of stages, just as our brains seem to.
![Page 12: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/12.jpg)
https://www.xenonstack.com/blog/static/public/uploads/media/machine-learning-vs-deep-learning.png
What is Deep Learning (DL) ? Most machine learning methods work well because of human-designed
representations and input features
ML becomes just optimizing weights to best make a final prediction
Deep learning algorithms attempt to learn (multiple levels of) representation by using a hierarchy of multiple layers
If you provide the system tons of information, it begins to understand it and respond in useful ways.
Ismini Lourentzou 11-30-2017
![Page 13: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/13.jpg)
Multilayer neural networks have been around for
25 years. What’s actually new?
we have always had good algorithms for learning the weights in networks with 1 hidden layer
but these algorithms are not good at learning the weights for networks with more hidden layers
what’s new is: algorithms for training many-later networks
The breakthrough: The simple trick for training Deep neural networks
![Page 14: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/14.jpg)
Neural Network Learning: Decision Boundary
single-layer perceptron multi-layer network
![Page 15: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/15.jpg)
Feed forward/Backpropagation Neural Network
Feed forward algorithm:
Activate the neurons from the bottom to the top.
Weifeng Li, Victor Benjamin, Xiao Liu,
and Hsinchun Chen University of Arizona
![Page 16: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/16.jpg)
A convolutional layer
A CNN is a neural network with some convolutional layers (and some other layers). A convolutional layer has a number of filters that does convolutional operation.
A filter
Beak detector
![Page 17: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/17.jpg)
17
![Page 18: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/18.jpg)
AlexNet deep convolutional neural network
The input layer is followed by 5 convolutional layers (Conv1-5), the output of the fifth convolutional layer is fed into two Fully-connected layers (FC6-7), then the output is a fully-connected 1000-way soft-max layer (FC8).
18
![Page 19: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/19.jpg)
19
Hough Trasform
![Page 20: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/20.jpg)
20
HoughTransform The Hough transform has been introduced in 1962 by Paul Hough for the
detection of straight lines.
Each contour point identified in an image can support the existence of the set of straight lines crossing its location. If a straight line is present in the image, and N of its points are detected, N sets of lines receive a contribution but only the common single straight line receives N contributions. An edge detector may also provide the contour orientation; in this case the possible detection is more effective with less spurious artifacts.
m
q
Oq = y0 - x0 m
q0
m0x
y
Oy = m0 x + q0
q0
Arctg m0
![Page 21: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/21.jpg)
21
HT: searching straight lines
Classical straght line equation:
y = mx+q
f((x,y), (m,q)) = y-mx-q = 0
Given a point (xi,yi) in the image space (IS) the equation q = yi - mxi describes the locus of points of the parameter space (PS) representing the set of straight line crossing (xi,yi)
Knowing the orientation (dyi/dxi= mi)the locus is limited to just one point:(mi,qi)
m
q
y
x
![Page 22: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/22.jpg)
22
In the classic equation the parameters are not limited:
- < m, q < +.
For this reason Paul Hough adopted a different straight line representation introducing the a PS (r, q):
r = x cos(q) + y sin(q).
In this case the PS is limited to:
0 < r < L2; - q .
HT: searching straight lines
x
y Hough space
q
r
q
r
P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, Proc. Int. Conf. High Energy Accelerators and Instrumentation, 1959
![Page 23: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/23.jpg)
features votes
Hough transform - experiments
Slide from S. Savarese
![Page 24: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/24.jpg)
features votes
Need to adjust grid size or smooth
Hough transform - experiments
Noisy data
Slide from S. Savarese
![Page 25: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/25.jpg)
Sumit Tandon 26
Line Detection by Hough Transform
![Page 26: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/26.jpg)
Kristen Grauman
Showing longest segments found
![Page 27: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/27.jpg)
1. Canny edge detection
![Page 28: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/28.jpg)
2. Edge points Hough votes
![Page 29: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/29.jpg)
3. Hough votes Edges
Find peaks and post-process
![Page 30: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/30.jpg)
31
Esempio di voto
![Page 31: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/31.jpg)
32
Esempio di voto
![Page 32: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/32.jpg)
33
HT: searching analitycal curves
From the very first Hough transform version, many extensions were developed along the years. It ranges from more complex analytical curves (with a higher number of parameters), e.g. circles:
(y-yc)2+(x-xc)
2=r2
First case: search circles with a given radius.
• we have a 2D PS which represents the circle center coordinates (xc,yc)
• the mapping rule (locus of compatible points) is also a circle with the given radius. Note that it is not always true that searched curves and mapping rule are equal
Also in this case, knowing the orientation (dyi/dxi) the mapping rule is reduced to one point: (xc,yc) at distance r from (xi,yi) in direction
yc
x
y
xc
![Page 33: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/33.jpg)
34
HT: searching for circles
If the radious is unknown the PS is 3D:
f((x,y),(xc,yc),r) = (y-yc)2+(x-xc)
2-r2=0
The mapping rule is a cone.
If the orientation is known (dyi/dxi)the mapping rule is reduced to a straight line: yc= -1/mi xc + (yi- mixi).
If also the curvature is known (e.g. is known r) the mapping rule, as shown previously is reduced to a point: xc,yc
The richer the information the simpler the mapping rule and the higher the S/N ratio on the PS
r
xoyo
x
dyi/dxi
y
(xc,yc)
yo
xo
![Page 34: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/34.jpg)
Implementation of the HT The original approach of the HT is based on these elements:• an enriched edge detector to find contour pixels and some local properties as the gradient angle or local curvature (concavity and convexity);
• an array (in a parameter space) working as an accumulator of the contributions. Each element of the parameter space represents a possible instance of the searched object;
• a mapping rule which defines the contributions of the detected instance on the accumulator array. The simplest solution is to increment all the elements, corresponding to the
pattern, compatible with the detected instance.
A weighted contribution can be introduced on the basis of both the estimated precision (e.g. the further the location the lower the contribution because of the edge detection orientation bias) and/or of the saliency of the detected instance;
• a discriminant criterion for the evaluation of the resulting final contribution in the parameter space. Knowing the expected maximum contribution, the common solution is by a threshold (local maxima over the threshold identify the presence of the pattern), so taking care of possible occlusions, noise, etc.
35
![Page 35: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/35.jpg)
The Generalized HoughTransform
With the Generalized Hough Transform (GHT), under the assumption of rigid motion, any pattern can be represented and recognized.
Let us first consider the case of a pattern given as silhouette at fixed scale
Let us select a reference point Pref(xref,yref), not essentially the barycenter, even if its centrality is often advantageous
Each boundary point P(xo,yo) can be referred to Pref as:
The mapping rule that corresponds to the set of object contour points, can be described by a Reference Table (RT) with the illustrated geometry
36
P(xref,yref)
q
x
( ) ( )( ) ( )qrqr
r
+=+=
+=
sincos
22
yyxx
yyxx
refref
refref
…. …. …. ….P(x,y) r - q other peculiarities…. …. …. ….
Reference Tableo o
o o
Mapping rule
(xo,yo)
y
(xref,yref) ?
q
Image
![Page 36: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/36.jpg)
The Generalized HoughTransform
For a given point P(x,y) obtained by an edge detector on the image under analysis, the set of compatible points of the PS (which here represent the positions of the of the Pref compatible with the contour crossing P and the PS coincide with the image space) are given by the equation above that represents the mapping rule.
In the case of fixed size object, for each contour point detected on the image, the number of contributions onto PS is N, the cardinality of the RT . If all the contour points of a searched pattern, are effectively present in the image are detected properly, a peak of value N will appear in the Pref position of PS (corresponding to the model roto-traslation)
Instead, considering the case of unknown scale factor s, to the image describing the position of the Pref in the image, an extra dimension must be introduced in the PS for the parameter s. It become a 3D PS (replicating the image for each value of s) and in the above equation r must be multiplied by the correspondent scale factor s.
In a similar way, if we want to detect directly the object orientation, for a 2D object, all the process must be realized in a 4D PS: (xref,yref,s,). As we will see later a more convenient solution is to choose a couple of Pref.
37
![Page 37: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/37.jpg)
38
Example
![Page 38: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/38.jpg)
39
Example: looking for a square
![Page 39: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/39.jpg)
40
HT: search for regular polygons
Present
Searched
![Page 40: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/40.jpg)
41
Regular polygons Regular polygons have a mapping rule consisting in a side distant from the center
as the apothem
The mapping rule of a regular polygon of order n contains all the mapping rules of regular polygons of higher order having the same apothem
Looking for a regular polygon of order n, it will gather a number of votes V equal to its perimeter: V=n Ln
If another regular polygon of order m with the same apothem is present it will gather a number of votes V equal to: V=m Ln if mn, V=m Lm if m>n but note that in this case nLn>m Lm
![Page 41: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/41.jpg)
42
HT: search for regular polygons
Present
Searched
3l3 = 6 3r =10,39r
4l4 = 8r
5l5 =10tg
5r = 7,27r
6l6 = 4 3r = 6,93r
8l8 =16tg
8r = 6,63r
rr 28,62 =
3l4 = 6r
4l4 = 8r
5l5 =10tg
5r = 7,27r
6l6 = 4 3r = 6,93r
8l8 =16tg
8r = 6,63r
2r = 6,28r
3l5 = 6tg
5r = 4,35r
4l5 = 8tg
5r = 5,81r
5l5 =10tg
5r = 7,27r
6l6 = 4 3r = 6,93r
8l8 =16tg
8r = 6,63r
2r = 6,28r
3l6 = 2 3r = 3,46r
4l6 =8
3r = 4,62r
5l6 =10
3r = 5,78r
6l6 = 4 3r = 6,93r
8l8 =16tg
8r = 6,63r
2r = 6,28r
3l8 = 6tg
8r = 2,48r
4l8 = 8tg
8r = 3,34r
5l8 =10tg
8r = 4,14r
6l8 =12tg
8r = 4,97r
8l8 =16tg
8r = 6,63r
2r = 6,28r
31= 3
4 1= 4
51= 5
61= 6
81= 8
2r = 6,28r
![Page 42: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/42.jpg)
43
Example: looking for a circle
![Page 43: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/43.jpg)
44
Example: looking for a octagon
![Page 44: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/44.jpg)
45
Example: looking for a hexagon
![Page 45: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/45.jpg)
46
Example: looking for a pentagon
![Page 46: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/46.jpg)
47
Example: looking for a square
![Page 47: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/47.jpg)
48
Example: looking for a triangle
![Page 48: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/48.jpg)
49
looking for a circle
![Page 49: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/49.jpg)
50
looking for a hexagon
![Page 50: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/50.jpg)
51
looking for a square
![Page 51: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/51.jpg)
52
looking for a triangle
![Page 52: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/52.jpg)
The GHT: irregular polygon
53
RF
AB BC CD
DE EF FA
Mapping rule
![Page 53: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/53.jpg)
54
Example: wrench 1
![Page 54: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/54.jpg)
55
Example: wrench 2
![Page 55: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/55.jpg)
56
Example: wrench 4
![Page 56: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/56.jpg)
57
Example: hex key 5
![Page 57: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/57.jpg)
58
GHT: arbitrary pattern
![Page 58: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/58.jpg)
59
GHT: segmented pattern
First pattern
Second pattern
ORIENTATION DETECTION
![Page 59: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/59.jpg)
60
Implementation aspects
The RT can be decomposed in many subtable (maybe also overlapped) on the bases of labels encoding some peculiarities (e.g. a taxonomy of concavities and convexities)
In the image plane, for each evidence, a corresponding sub-table is selected and only this sub-table is involved in the voting process
The intensity of the peak remains the same, but it is reduced the number of scattered contributions: so increasing the signal to noise ratio of the PS
![Page 60: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/60.jpg)
61
Computation performances
The computation time is linear with the product of the number of edge points in the image NE with NRT, the cardinality of the RT
In the case of labeled RT the computation time is given by the weighted sum the sub-table cardinality by the number of occurrences of the correspondent labels
The algorithm is completely parallelizable both over the image (PEs taking care of different image blocks) and over the RT (PEs taking care of different object segment)
![Page 61: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/61.jpg)
The Generalized HoughTransform
For a given point P(x,y) obtained by an edge detector on the image under analysis, the set of compatible points of the PS (which here represent the positions of the of the Pref compatible with the contour crossing P and the PS coincide with the image space) are computed.
In case of rigid object and fixed size, for each contour point detected on the image, a number of contributions onto PS are determined. If all the contour points of a searched pattern, are effectively present in the image are detected properly, a peak of value N will appear in the Pref position of PS (corresponding to the rigid motion model)
Instead, considering the case of unknown scale factor s, to the image describing the position of the Pref in the image, an extra dimension must be introduced in the PS for the parameter s. It become a 3D PS (replicating the image for each value of s) and in the above equation r must be multiplied by the correspondent scale factor s.
Then, a local analysis, must be applied to evaluate the object orientation. Alternatively, the object orientation, for a 2D object, can be detect directly in a 4D PS: (xref,yref,s,). A convenient solution is to choose a couple of Pref.
62
![Page 62: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/62.jpg)
Vanishing points and lines
Photo from online Tate collection
![Page 63: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/63.jpg)
Vanishing points and lines
![Page 64: Pattern Recognition, Visual search and Hough Trasformvision.unipv.it/CV/11. PRecognition - Hough.pdf · 1000-way soft-max layer (FC8). 18. 19 Hough Trasform. 20 ... = y-mx-q = 0 Given](https://reader030.fdocuments.us/reader030/viewer/2022040916/5e8f225a6abaf2387278628c/html5/thumbnails/64.jpg)
https://giphy.com/gifs/thanks-thank-you-thnx-3o6ozuHcxTtVWJJn32/download