presentation.tex 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. \documentclass{beamer}
  2. \mode<presentation>
  3. \usetheme{sidebar}
  4. \setbeamertemplate{footline}[page number]
  5. \title{Kentekenherkenning met Local Binary Patterns}
  6. \date{23 december 2011}
  7. \author{
  8. Gijs van der Voort\\
  9. Fabi\"en Tesselaar\\
  10. Richard Torenvliet\\
  11. Tadde\"us Kroes\\
  12. Jayke Meijer
  13. }
  14. \begin{document}
  15. \begin{frame}
  16. \titlepage
  17. \end{frame}
  18. \section{Inleiding}
  19. \begin{frame}
  20. \frametitle{Probleemomschrijving}
  21. \begin{itemize}
  22. \item Herkennen van kentekens met LBP
  23. \item Focus op herkennen enkele karakters
  24. \end{itemize}
  25. \end{frame}
  26. \begin{frame}
  27. \frametitle{Doel}
  28. \begin{enumerate}
  29. \item Omzetten van dataset naar afzonderlijke karakters
  30. \item Karakter normaliseren
  31. \item Feature vector maken met LBP
  32. \item SVM classifier trainen met feature vectors
  33. \item Meten van performance
  34. \end{enumerate}
  35. \end{frame}
  36. \section{Local Binary Patterns}
  37. \begin{frame}
  38. \frametitle{Wat is een Local Binary Pattern?}
  39. \begin{itemize}
  40. \item Vergelijken van grijswaardes op lokaal niveau
  41. \item Ongevoelig voor verschillen in belichting (gray-scale
  42. invariant)
  43. \item Simpel algoritme, dus snelle implementatie mogelijk
  44. \end{itemize}
  45. \end{frame}
  46. \section{Implementatie}
  47. \begin{frame}
  48. \frametitle{Omzetten karakters}
  49. \begin{itemize}
  50. \item Dataset bestaat uit foto's van kentekens met informatie over
  51. locaties van karakters
  52. \item Dataset bevat veel fouten
  53. \item Eenmalige operatie
  54. \end{itemize}
  55. \end{frame}
  56. \begin{frame}
  57. \frametitle{Karakter normaliseren}
  58. \begin{itemize}
  59. \item Transformeer alle karakters naar dezelfde hoogte om dikte te
  60. normaliseren
  61. \item Ruisonderdrukking m.b.v. Gaussian blur
  62. \end{itemize}
  63. \end{frame}
  64. \begin{frame}
  65. \frametitle{Feature vector maken met LBP}
  66. \begin{enumerate}
  67. \item Kies een pixel
  68. \item Kies een aantal buren van de pixel
  69. \begin{figure}
  70. \includegraphics[scale=.4]{12-5neighbourhood.png}
  71. \end{figure}
  72. \item Vergelijk de grijswaarde van de eerder gekozen pixel met de
  73. grijswaarde van zijn buren
  74. \item Elke vergelijking levert een 1 of 0 op (b.v. groter is 1,
  75. kleiner gelijk is 0)
  76. \item Deze binaire waardes samen vormen \'e\'en LBP
  77. \item Maak een histogram van de LBP's, dit is de feature vector van
  78. de afbeelding
  79. \end{enumerate}
  80. \end{frame}
  81. \begin{frame}
  82. \frametitle{Trainen SVM classifier}
  83. \begin{itemize}
  84. \item Radial kernel function
  85. \item Gebruik \texttt{libsvm}
  86. \end{itemize}
  87. \end{frame}
  88. \begin{frame}
  89. \frametitle{Meten van performance}
  90. \begin{itemize}
  91. \item Accuratie
  92. \item Snelheid
  93. \end{itemize}
  94. \end{frame}
  95. \section{Resultaten}
  96. \begin{frame}
  97. \frametitle{Parameter Gaussian blur: $\sigma$}
  98. \begin{itemize}
  99. \item Theorie: proportioneel aan de dikte van een letter
  100. \item Beste resultaat met $\sigma = 1.9$ \\
  101. $1.9 \cdot 6 = 11$ pixels, breedte karakter is 8 pixels
  102. \end{itemize}
  103. \end{frame}
  104. \begin{frame}
  105. \frametitle{Parameters SVM: Soft-margin en $\gamma$}
  106. \begin{itemize}
  107. \item Bepaald door grid-search:
  108. \begin{itemize}
  109. \item Kies exponentieel oplopende waardes voor $C$ en $\gamma$
  110. \item Train een SVM voor elke combinatie van waardes
  111. \item Zet de resultaten in een tabel
  112. \end{itemize}
  113. \item Beste resultaat met $C = 32.0$ en $\gamma = 0.125$
  114. \end{itemize}
  115. \end{frame}
  116. \begin{frame}
  117. \frametitle{Resultaten met dataset}
  118. \begin{itemize}
  119. \item Score van $94.3\%$
  120. \item Foutief geclassificeerde karakters:
  121. \begin{figure}
  122. \includegraphics[scale=.2]{faulty.png}
  123. \end{figure}
  124. \end{itemize}
  125. \end{frame}
  126. \section{Mogelijkheden tot verbetering}
  127. \begin{frame}
  128. \frametitle{Mogelijkheden voor vervolgonderzoek}
  129. \structure{Snelheid}
  130. \begin{itemize}
  131. \item Rekenintentensieve taken vertalen naar C
  132. \item Andere kernel type
  133. \item `Cachen' Gaussian filter
  134. \end{itemize}
  135. \structure{Accuratie}
  136. \begin{itemize}
  137. \item Andere pixelpatronen voor LBP
  138. \item Betere verdeling leerset/testset
  139. \item Toevoegen contextinformatie
  140. \end{itemize}
  141. \end{frame}
  142. \section{Conclusie}
  143. \begin{frame}
  144. \frametitle{Conclusie}
  145. \begin{itemize}
  146. \item LBP is een geschikt algoritme voor gebruik in
  147. kentekenherkenning
  148. \item Zowel accuratie als snelheid
  149. \end{itemize}
  150. \end{frame}
  151. \section{Referenties}
  152. \begin{frame}
  153. \frametitle{Referenties}
  154. \begin{itemize}
  155. \item \url{http://en.wikipedia.org/wiki/Local\_binary\_patterns}
  156. \end{itemize}
  157. \end{frame}
  158. \end{document}