Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
licenseplates
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
licenseplates
Commits
04c5baa7
Commit
04c5baa7
authored
Dec 19, 2011
by
Richard Torenvliet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
"worked on LBP explanation"
parent
8b312b8c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
2 deletions
+62
-2
docs/cells.png
docs/cells.png
+0
-0
docs/lbp.png
docs/lbp.png
+0
-0
docs/verslag.tex
docs/verslag.tex
+62
-2
No files found.
docs/cells.png
0 → 100644
View file @
04c5baa7
14.4 KB
docs/lbp.png
0 → 100644
View file @
04c5baa7
22.4 KB
docs/verslag.tex
View file @
04c5baa7
\documentclass
[a4paper]
{
article
}
\usepackage
{
amsmath
}
\usepackage
{
hyperref
}
\usepackage
{
graphicx
}
\title
{
Using local binary patterns to read license plates in photographs
}
...
...
@@ -101,13 +103,71 @@ will always be of the same height, and the character will alway be positioned
at either the left of right side of the image.
\subsection
{
Local binary patterns
}
Once we have separate digits and characters, we intent to use Local Binary
Patterns to determine what character or digit we are dealing with. Local Binary
Patterns (Ojala, Pietikäinen
\&
Harwood, 1994) to determine what character
or digit we are dealing with. Local Binary
Patters are a way to classify a texture based on the distribution of edge
directions in the image. Since letters on a license plate consist mainly of
straight lines and simple curves, LBP should be suited to identify these.
\subsubsection
{
LBP Algorithm
}
The LBP algorithm that we implemented is a square variant of LBP, the same
that is introduced by Ojala et al (1994). Wikipedia presents a different
form where the pattern is circular.
\begin{itemize}
\item
Determine the size of the square where the local patterns are being
registered. For explanation purposes let the square be 3 x 3.
\\
\item
The grayscale value of the middle pixel is used a threshold. Every value of the pixel
around the middle pixel is evaluated. If it's value is greater than the threshold
it will be become a one else a zero.
\begin{figure}
[h!]
\center
\includegraphics
[scale=0.5]
{
lbp.png
}
\caption
{
LBP 3 x 3 (Pietik
\"
ainen, Hadid, Zhao
\&
Ahonen (2011))
}
\end{figure}
Notice that the pattern will be come of the form 01001110. This is done when a the value
of the evaluated pixel is greater than the threshold, shift the bit by the n(with i=i
$_{
th
}$
pixel
evaluated, starting with
$
i
=
0
$
).
This results in a mathematical expression:
Let I(
$
x
_
i, y
_
i
$
) an Image with grayscale values and
$
g
_
n
$
the grayscale value of the pixel
$
(
x
_
i, y
_
i
)
$
.
Also let
$
s
(
g
_
i
-
g
_
c
)
$
with
$
g
_
c
$
= grayscale value of the center pixel.
$$
s
(
v, g
_
c
)
=
\left\{
\begin
{
array
}{
l l
}
1
&
\quad
\text
{
if v $
\geq
$ $g
_
c$
}
\\
0
&
\quad
\text
{
if v $<$ $g
_
c$
}
\\
\end
{
array
}
\right
.
$$
$$
LBP
_{
n, g
_
c
=
(
x
_
c, y
_
c
)
}
=
\sum\limits
_{
i
=
0
}^{
n
-
1
}
s
(
g
_
i, g
_
c
)
^{
2
i
}
$$
The outcome of this operations will be a binary pattern.
\item
Given this pattern, the next step is to divide the pattern in cells. The
amount of cells depends on the quality of the result, so trial and error is in order.
Starting with dividing the pattern in to 16 cells.
\item
Compute a histogram for each cell.
\pagebreak
\begin{figure}
[h!]
\center
\includegraphics
[scale=0.7]
{
cells.png
}
\caption
{
Divide in cells(Pietik
\"
ainen et all (2011))
}
\end{figure}
\item
Consider every histogram as a vector element and concatenate these. The result is a
feature vector of the image.
\item
Feed these vectors to a support vector machine. This will ''learn'' which vector
are.
\end{itemize}
To our knowledge, LBP has yet not been used in this manner before. Therefore,
it will be the first thing to implement, to see if it lives up to the
expectations. When the proof of concept is there, it can be used in the final
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment