\section{Linear Interpolation}
\begin{itemize}
\item The simplest tracking approach is linear interpolation:
\begin{align*}
b^{lin}_t = \left(\frac{t}{T}\right)b_0 + \left(\frac{T - t}{T}\right)b_T \quad \text{for} \quad 0 \leq t \leq T \label{eq:lin}
\end{align*}
\item But, objects do not necessarily move linearly and can be chaotic.
\end{itemize}

\begin{center}
\end{center}

\section{Discriminative Object Templates}
\begin{itemize}
\item Extract both HOG and RGB histogram from foregrounds and backgrounds
from the annotated frames:
\begin{align*}
& \phi_n(b_n) = \begin{bmatrix} HOG \\ RGB \end{bmatrix} \qquad y_n \in \{-1,1\}
\end{align*}

\item Learn a SVM weight vector, $w$, that minimizes a linear loss:
\begin{align*}
& w^* = \argmin \frac{1}{2} w \cdot w + C \sum_n^N \max(0,1 - y_n w \cdot \phi_n(b_n))
\end{align*}
\item Data is very complex. Simpler templates perform poorly.
\end{itemize}

\begin{center}

Can you spot all the difficult objects?
\end{center}
\section{Constrained Tracking}

\begin{itemize}
\item Calculate a least cost path between constrained endpoints:
\begin{align*}
\argmin_{b_{1:T}} \sum_{t=1}^T U_t(b_t) + P(b_t,b_{t-1})
\end{align*}

\item Local cost is SVM score plus linear deviation, but truncated:
\begin{align*}
& U_t(b_t) = \min\left(-w \cdot \phi_t(b_t) + \alpha_1 ||b_t - b^{lin}_t||^2, \alpha_2\right)
\end{align*}

\item Pairwise cost ensures path is smooth and does not teleport:
\begin{align*}
& P(b_t,b_{t-1}) = \alpha_3 ||b_t - b_{t-1}||^2
\end{align*}

\item Dynamic programming efficiently solves the recursion:
\begin{align*}
cost_0(b_0) &= U_0(b_0) \\
cost_t(b_t) &= U_t(b_t) + \min_{b_{t-1}} cost_{t-1}(b_{t-1}) + P(b_t,b_{t-1})
\end{align*}

\end{itemize}
