-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBachelorThesis.tex
146 lines (120 loc) · 5.98 KB
/
BachelorThesis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
% Nejprve uvedeme tridu dokumentu s volbami
\documentclass[czech,bachelor]{diploma}
%asmath pro matrix jsem potreboval
\usepackage{amsmath}
% pro a b c enumerate
\usepackage{enumitem}
% tikz a barvicky
\usepackage{float} % pro [H] option u figures
% \usepackage{subcaption} % pro grid obrazku
\usepackage{tikz}
% pro grafy
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
%
\usetikzlibrary{fit,positioning,matrix}
\usepackage{xstring}
% Dalsi doplnujici baliky maker
\usepackage[autostyle=true,czech=quotes]{csquotes} % korektni sazba uvozovek, podpora pro balik biblatex
\usepackage[backend=biber, style=iso-numeric, alldates=iso]{biblatex} % bibliografie
\usepackage{dcolumn} % sloupce tabulky s ciselnymi hodnotami
\usepackage{subfig} % makra pro "podobrazky" a "podtabulky"
\usepackage[cpp]{diplomalst}
% Zadame pozadovane vstupy pro generovani titulnich stran.
\ThesisAuthor{Daniel Slavík}
\ThesisSupervisor{Ing. Tomáš Fabián Ph.D.}
\CzechThesisTitle{Lokalizace klíčových bodů pomocí neuronových sítí}
\EnglishThesisTitle{Keypoint Detection with Neural Networks}
\SubmissionYear{2024}
\ThesisAssignmentFileName{ThesisSpecification_SLA0331_vsboee23037AAD.pdf}
% Pokud nechceme nikomu dekovat makro zapoznamkujeme.
\Acknowledgement{Rád bych poděkoval panu Ing. Tomáši Fabiánovi, Ph.D., za odbornou pomoc a inspiraci při vytváření této bakalářské práce.}
\CzechAbstract{
Tato bakalářská práce se zabývá lokalizací klíčových bodů a jejich následnou korespondencí pro odhad polohy objektu s využitím PnP metod pomocí neuronových sítí. Cílem práce je provést rešerši hlubokých neuronových sítí pro úlohu lokalizace klíčových bodů a následně implementovat zvolené přístupy. V rámci této práce jsou primárně zkoumány a implementovány modely odvozené z řady architektur sítí U-Net a modely s využitím transformeru STN, který zaručuje polohovou invarianci. Výsledky několika přístupů natrénovaných modelů jsou zhodnoceny a porovnány mezi sebou pomocí reálných a syntetických snímků.
}
\CzechKeywords{CNN; neuronové sítě; hluboké učení; lokalizace klíčových bodů; U-Net; DINOv2; TensorFlow}
\EnglishAbstract{
This bachelor thesis focuses on the task of localizing keypoints and their subsequent correspondence for estimating object pose using PnP methods with neural networks. The aim of the thesis is to research deep neural networks for keypoint localization and to implement selected approaches. In this work, primarily the models from the U-Net family are researched and implemented. This includes models that utilize the STN (Spatial Transformer Network), ensuring spatial invariance. The results of several trained model approaches are evaluated and compared using both real and synthetic images.
}
\EnglishKeywords{CNN; neural networks; deep learning; keypoint localization; U-Net; DINOv2; TensorFlow}
\AddAcronym{AG}{Rozšířená realita, Augmented Reality}
\AddAcronym{SIFT}{Škálově invariantní transformace charakteristik/rysů, Scale-invariant feature transform}
\AddAcronym{CNN}{Konvoluční neuronová síť, Convolutional Neural Network}
\AddAcronym{FCN}{Plně konvoluční síť, Fully Convolutional Network}
\AddAcronym{DNN}{Hluboká neuronová síť, Deep Neural Network}
\AddAcronym{PnP}{Perspektivní problém $n$ bodů, Perspective-n-Point}
\AddAcronym{DoF}{Stupně volnosti, Degrees of Freedom}
\AddAcronym{DoG}{Rozdíl Gaussiánu, Difference of Gaussian}
\AddAcronym{PSP}{Schéma pyramidové parsování, Pyramid Scheme Parsing}
\AddAcronym{HSV}{Odstín sytost hodnota, Hue Saturation Value}
\AddAcronym{STN}{Neuronová síť s prostorovým transformerem, Spatial Transformer Network}
\AddAcronym{RGB}{Červená zelená modrá, Red Green Blue}
\AddAcronym{ReLU}{Rektifikovaná lineární jednotka, Rectified Linear Unit}
\AddAcronym{YOLO}{Podíváš se pouze jednou, You Only Look Once}
\AddAcronym{JPEG}{Joint Photographic Experts Group}
\AddAcronym{CSV}{Čárkou oddělené hodnoty, Comma-separated values}
\AddAcronym{BN}{Dávková normalizace, Batch Normalization}
\AddAcronym{MSE}{Střední kvadratická chyba, Mean Squared Error}
\AddAcronym{VRAM}{Video paměť, Video Random Access Memory}
\AddAcronym{KDE}{Jádrový odhad hustot, Kernel Density Estimator}
\addbibresource{biblatex.bib}
% Novy druh tabulkoveho sloupce, ve kterem jsou cisla zarovnana podle desetinne carky
\newcolumntype{d}[1]{D{,}{,}{#1}}
% Zacatek dokumentu
\begin{document}
% Nechame vysazet titulni strany.
\MakeTitlePages
% Jsou v praci obrazky? Pokud ano vysazime jejich seznam a odstrankujeme.
% Pokud ne smazeme nasledujici dve makra.
\listoffigures
\clearpage
% Jsou v praci tabulky? Pokud ano vysazime jejich seznam a odstrankujeme.
% Pokud ne smazeme nasledujici dve makra.
\listoftables
\clearpage
\hyphenation{TensorFlow}
% A nasleduje text zaverecne prace.
\input{Chapters/1/index}
\input{Chapters/2/index}
\input{Chapters/2/1}
\input{Chapters/2/2}
\input{Chapters/2/3}
\input{Chapters/2/4}
\input{Chapters/2/5}
\input{Chapters/2/6}
\input{Chapters/2/7}
\input{Chapters/2/8}
\input{Chapters/3/index}
\input{Chapters/3/1}
\input{Chapters/4/index}
\input{Chapters/4/1}
\input{Chapters/4/2}
\input{Chapters/4/3}
\input{Chapters/4/4}
\input{Chapters/4/5}
\input{Chapters/4/6}
\input{Chapters/4/7}
\input{Chapters/5/index}
\input{Chapters/5/1}
\input{Chapters/5/2}
\input{Chapters/5/3}
\input{Chapters/5/4}
\input{Chapters/5/5}
\input{Chapters/5/6}
\input{Chapters/6/index}
\input{Chapters/6/1}
\input{Chapters/6/2}
\input{Chapters/6/3}
\input{Chapters/6/4}
\input{Chapters/7/index}
% Seznam literatury
\printbibliography[title={Literatura}, heading=bibintoc]
% Prilohy
\appendix
\input{Chapters/Appendix}
% \input{Chapters/Appendix1.tex}
% \input{Chapters/Appendix2.tex}
% Priloha vlozena primo do hlavniho LaTeX souboru. Ne vsechny prilohy je nutne mit ve zvlastnich souborech.
% \chapter{Dlouhý zdrojový kód}
% \lstinputlisting[label=src:CppExternal,caption={Dlouhý zdrojový kód v jazyce C++ načtený s externího souboru}]{SourceCodes/ArraySortingAlgorithms.cpp}
\end{document}