\documentclass{beamer} \mode \usetheme{sidebar} \setbeamertemplate{footline}[page number] \title{Kentekenherkenning met Local Binary Patterns} \date{23 december 2011} \author{ Gijs van der Voort\\ Fabi\"en Tesselaar\\ Richard Torenvliet\\ Tadde\"us Kroes\\ Jayke Meijer } \begin{document} \begin{frame} \titlepage \end{frame} \section{Inleiding} \begin{frame} \frametitle{Probleemomschrijving} \begin{itemize} \item Herkennen van kentekens met LBP \item Focus op herkennen enkele karakters \end{itemize} \end{frame} \begin{frame} \frametitle{Doel} \begin{enumerate} \item Omzetten van dataset naar afzonderlijke karakters \item Karakter normaliseren \item Feature vector maken met LBP \item SVM classifier trainen met feature vectors \item Meten van performance \end{enumerate} \end{frame} \section{Local Binary Patterns} \begin{frame} \frametitle{Wat is een Local Binary Pattern?} \begin{itemize} \item Vergelijken van grijswaardes op lokaal niveau \item Ongevoelig voor verschillen in belichting (gray-scale invariant) \item Simpel algoritme, dus snelle implementatie mogelijk \end{itemize} \end{frame} \section{Implementatie} \begin{frame} \frametitle{Omzetten karakters} \begin{itemize} \item Dataset bestaat uit foto's van kentekens met informatie over locaties van karakters \item Dataset bevat veel fouten \item Eenmalige operatie \end{itemize} \end{frame} \begin{frame} \frametitle{Karakter normaliseren} \begin{itemize} \item Transformeer alle karakters naar dezelfde hoogte om dikte te normaliseren \item Ruisonderdrukking m.b.v. Gaussian blur \end{itemize} \end{frame} \begin{frame} \frametitle{Feature vector maken met LBP} \begin{enumerate} \item Kies een pixel \pause \item Kies een aantal buren van de pixel \begin{figure} \includegraphics[scale=.3]{12-5neighbourhood.png} \end{figure} \pause \item Vergelijk de grijswaarde van de eerder gekozen pixel met de grijswaarde van zijn buren, elke vergelijking levert een 1 of 0 op \pause \item Deze binaire waardes samen vormen \'e\'en LBP \pause \item Maak een histogram van elke cel in de afbeelding, concatenatie van histogrammen is de feature vector \end{enumerate} \end{frame} \begin{frame} \frametitle{Trainen SVM classifier} \begin{itemize} \item Radial kernel function \item Gebruik \texttt{libsvm} \end{itemize} \end{frame} \section{Resultaten} \begin{frame} \frametitle{Meten van performance} \begin{itemize} \item accuratie \item snelheid \begin{itemize} \item $3 \times 3$ omgeving (8 pixels in patroon): 81ms \item $5 \times 5$ omgeving (12 pixels in patroon): 137ms \item feature vector $16\times$ groter, $1.7\times$ zoveel tijd \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{Parameter Gaussian blur: $\sigma$} \begin{itemize} \item Theorie: proportioneel aan de dikte van een letter \item Beste resultaat met $\sigma = 1.9$ \\ $1.9 \cdot 6 = 11$ pixels, breedte karakter is 8 pixels \end{itemize} \end{frame} \begin{frame} \frametitle{Parameters SVM: Soft-margin en $\gamma$} \begin{itemize} \item Bepaald door grid-search: \begin{itemize} \item Kies exponentieel oplopende waardes voor $C$ en $\gamma$ \item Train een SVM voor elke combinatie van waardes \item Zet de resultaten in een tabel \end{itemize} \item Beste resultaat met $C = 32.0$ en $\gamma = 0.125$ \end{itemize} \end{frame} \begin{frame} \frametitle{Resultaten met dataset} \begin{itemize} \item Score van $94.3\%$ \item Foutief geclassificeerde karakters: \begin{figure} \includegraphics[scale=.2]{faulty.png} \end{figure} \end{itemize} \end{frame} \section{Mogelijkheden voor vervolgonderzoek} \begin{frame} \frametitle{Mogelijkheden voor vervolgonderzoek} \structure{Snelheid} \begin{itemize} \item Rekenintentensieve taken vertalen naar C \item Andere kernel type \item `Cachen' Gaussian filter \end{itemize} \structure{Accuratie} \begin{itemize} \item Andere pixelpatronen voor LBP \item Betere verdeling leerset/testset \item Toevoegen contextinformatie \end{itemize} \end{frame} \section{Conclusie} \begin{frame} \frametitle{Conclusie} \begin{itemize} \item LBP is een geschikt algoritme voor gebruik in kentekenherkenning \item Zowel accuratie als snelheid \end{itemize} \end{frame} \section{Referenties} \begin{frame} \frametitle{Referenties} \begin{itemize} \item \url{http://en.wikipedia.org/wiki/Local\_binary\_patterns} \end{itemize} \end{frame} \end{document}