Commit 04c5baa7 authored by Richard Torenvliet's avatar Richard Torenvliet

"worked on LBP explanation"

parent 8b312b8c
\documentclass[a4paper]{article} \documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{hyperref} \usepackage{hyperref}
\usepackage{graphicx}
\title{Using local binary patterns to read license plates in photographs} \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 ...@@ -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. at either the left of right side of the image.
\subsection{Local binary patterns} \subsection{Local binary patterns}
Once we have separate digits and characters, we intent to use Local Binary 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 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 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. 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)^{2i} $$
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, 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 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 expectations. When the proof of concept is there, it can be used in the final
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment