[Electives] Restructure

This commit is contained in:
2026-05-04 11:32:59 +02:00
parent 4984dbdc70
commit d1bf81bea3
39 changed files with 0 additions and 0 deletions
@@ -0,0 +1,18 @@
\subsection{Keypoints}
\bi{Corner det.} $SSD(\Delta_x, \Delta_y) \approx [\Delta_x \; \Delta_y] \mat{M} [\Delta_x \; \Delta_y]^\top$
with $\mat{M} = \mat{R}^\top \text{diag}(\lambda_1, \lambda_2) \mat{R}$; $\lambda_i$ E.V. of $M$;
$\mat{R} = \det(M) - \kappa \cdot \text{trace}(M)^2 = \lambda_1\lambda_2 - \kappa(\lambda_1 + \lambda_2)^2$;
$\displaystyle M = \sum_{x, y \in P} \begin{bmatrix}
I_x^2 & I_x I_y \\
I_x I_y & I_y^2
\end{bmatrix}$
\shade{gray}{Blob Detection} ($I$ is the image)
\bi{Laplacian of Gaussian} (LoG): $L = g(x, y, t) \cdot I(x, y)$.
Then apply Laplacian Operator $\nabla_\text{norm}^2 L = t\left( \frac{\partial^2 L}{\partial x^2} + \frac{\partial L}{\partial y^2} \right)$
\bi{Diff. of Gaussians} (DoG): $\Delta L = L(x, y, t) - L(x, y, kt)$
\bi{SIFT Detector} \bi{(1)} Subsample + Blur \bi{(2)} DoG on each res. image \bi{(3)} Keypoints extrema in DoG pyramid
@@ -0,0 +1,30 @@
\subsection{Bootstrapping}
\bi{PnP Problem} {\scriptsize Persp. n-P.}
Find sol. for camera pose \textit{directly}
\bi{RANSAC} {\scriptsize RANdom SAmpling Consensus} for find. outliers \& correct
\bi{Stereo Triang.} Given two rays (known poses for points in 2D).
Find good point in 3D. Fast sol: \bi{Midpoint Method}:
\bi{1} Find p. along ray w/ min. dist (Lin. Least Squares)
\[
\vec{\lambda}\! =\! [\lambda_1 \; \lambda_2]^\top\! = \! \argmin{} ||({_W}\vec{t}_{C_2} + \lambda_2 {_W}\vec{e}_2) - ({_W}\vec{t}_{C_1} + \lambda_1 {_W}\vec{e}_2)||^2
\]
\rmvspace
\bi{2} Solve normal equation $\mat{A} \vec{\lambda} = \vec{b}$ with $\vec{q} = -{_W}\vec{e}^\top_1 {_W}\vec{e}_2$:
\[
\mat{A} = \begin{bmatrix}
1 & \vec{q} \\
\vec{q} & 1
\end{bmatrix}
\quad
\vec{b} = \begin{bmatrix}
\vec{e}_1^\top \cdot ({_W}\vec{t}_{C_2} - {_W}\vec{t}_{C_1}) \\
-\vec{e}_2^\top \cdot ({_W}\vec{t}_{C_2} - {_W}\vec{t}_{C_1})
\end{bmatrix}
\]
\bi{3} Pick midp. ${_W}\vec{t}_P \! = \! 0.5(\tau_1 \! + \! \tau_2)$; $\tau_n \! = \! {_W}\vec{t}_{C_n} + \lambda_n{_W}\vec{e}_n)$
@@ -0,0 +1,5 @@
\subsection{Place Recognition}
Idea: Build vocab from ``visual words'' (in Training).
\bi{Runtime} Detect keypoints; Extract descriptors; Build histogram; Query DB for similarity; If no match, insert into DB, else use to compute with e.g. RANSAC
% TODO: Iterative Closest Point (ICP), explained well in Slide Deck 10 recap
@@ -0,0 +1,34 @@
\newpage
\subsection{Mapping}
\bi{Problem Formulations} \textit{Localisation} {\scriptsize (always static given map)}:\\
$\vec{x}^*_{R, k} = \text{argmax}\; \P(x_{R, k} \divider \vec{x}_M, \vec{z}_{1 : k}, \vec{u}_{1 : k})$ (recursive)\\
$\vec{x}^*_{R, 1:k} = \text{argmax}\; \P(x_{R, 1:k} \divider \vec{x}_M, \vec{z}_{1 : k}, \vec{u}_{1 : k})$ (batch)
\textit{SLAM} $\{ \vec{x}^*_{R, k}, \vec{x}^*_M \} \! = \! \text{argmax}\; \P(\vec{x}_R, \vec{x}_M \divider \vec{z}_{1 : k}, \vec{u}_{1 : k})$ (as $\uparrow$)
\textit{Mapp.}: $\vec{x}_M^* \! = \! \text{argmax}\; \P(\vec{x}_M \divider \vec{x}^*_{R, 1:k}, \vec{z}_{1 : k}, \vec{u}_{1 : k})$ with given poses $\vec{x}^*_{R, 1:k}$.
Thus temp. model $\vec{u}_{1:k}$ doesn't matter.
\bi{Prob. Occ. Grid} $\P(f_j) = \P(\neg o_j) = 1 - \P(o_j)$, with $\P(o_j)$ prob. cell $j$ occupied; pairwise independent.
\bi{Occ. Map. w/ depth sensor} $\P(o_j \divider \vec{x}_{R, 1:k}) =$
\[
\frac{
{\color{MidnightBlue} \P(o_j \divider \vec{x}_{R, k}, \vec{z}_k)}
\P(\vec{z}_k \divider \vec{x}_{R, k})
{\color{ForestGreen} \P(o_j \divider \vec{x}_{R, 1 : k - 1}, \vec{z}_{1 : k - 1})}
}{{\color{DarkOrchid} \P(o_j)} \P(\vec{z}_k \divider \vec{x}_{R, 1 : k}, \vec{z}_{1 : k - 1})}
\]
{\color{DarkOrchid} map prior}; {\color{ForestGreen} Prev. occ. est.}; {\color{MidnightBlue} Occ. based on curr. range meas.};
\bi{Update function}:
$l(a) := \log(\text{Odds}(a))$ with $\text{Odds}(a) = \frac{\P(a)}{1 - \P(a)}$ (inv. sensor model):
$l(o_j | \vec{x}_{R, 1 : k}, \vec{z}_{1 : k})$ =
\[
l(o_j | \vec{x}_{R, k}, \vec{z}_k) + l(o_j | \vec{x}_{R, 1 : k - 1}, \vec{z}_{1 : k - 1}) - l(o_j)
\]
\shade{gray}{In 3D} 3D voxel $j$ as signed dist. $s$ and weight $w$, update:
$\displaystyle s_k = \frac{w_{k - 1} s_{k - 1} + \tilde{s}_k}{w_{k - 1} + 1}$ with $w_k = \min(w_{\max}, w_{k - 1} + 1)$
\bi{Impl.} Using HashTables or octree
@@ -0,0 +1,2 @@
\subsection{Dense Tracking and Loop Closure}
Idea: Min. sum of sq. errors over all pixels w/ Gauss-Newton.