\section{Interactive Video Player}

\begin{itemize}
    \item Browser video player that guides a worker to label an entity.
    \item First, instructs user to draw a box around an item of interest.
    \item User then adjusts the box when video pauses on the next key frame.
\end{itemize}

\begin{center}
\end{center}

\begin{itemize}
    \item Extracted into frames: removed artifacts from Flash video codec.
    \item Carefully manage frame caching to reduce bandwidth.
    \item Wider participation across platforms without Flash support.
\end{itemize}

\section{Quality Assurance}
\begin{itemize}
    \item No quality guarantee. Workers motivated to finish quickly.
    \item Experiments indicate \textbf{35\%} of labels were poor (see below).
    \item Identify degenerates through hand validation, statistical overlap,
            heuristic technique, or user agent identification string.
\end{itemize}

\begin{center}
    \hspace{0.5cm}
\end{center}

\section{Dense Labeling Protocol}
\begin{enumerate}
    \item Worker instructed to annotate an unlabeled entity.
    \item If initial frame fully labeled, advance to next key frame.
    \item Instructs worker to label again --- repeat (2) if still none.
    \item If worker can track and work is not degenerate, add to video.
    \item Else, if no new objects are discovered, vote to finish.
    \item After enough votes, server stops spawning HITs for the video.
\end{enumerate}
\begin{center}
\end{center}

\section{Video Server Cloud}
\begin{itemize}
    \item Server written in Python 2.6 and Cython. Client in JavaScript.
    \item Entirely open source. Can deploy to clouds without license fees.
\end{itemize}
