\section{Articulation Learning From Visual Demonstration}
\label{sec:procedure}
%
This section introduces the algorithmic components of our method.
Figure~\ref{fig:vis-demonstration-pipeline} illustrates the
steps involved.

Our approach consists of a training phase and a prediction phase. The
training phase proceeds as follows: (i) Given RGB-D data, a feature
tracker constructs long-range feature trajectories in 3-D. (ii) Using
a relative motion similarity metric, clusters of rigidly moving
feature trajectories are identified. (iii) The 6-DOF motion of each
cluster is then estimated using 3-D pose optimization. (iv) Given a
pose estimate for each identified cluster, the most likely kinematic
structure and model parameters for the articulated object are
determined. Figure~\ref{fig:pipeline-text-training} illustrates the
steps involved in the training phase with inputs and outputs for each
component.

%
%
\begin{figure}[h]
  \centering
    \includegraphics[width=0.95\columnwidth]{graphics/pipeline-figure/pipeline-text.pdf}
  \caption{The training phase.}
  \label{fig:pipeline-text-training}
\end{figure}
%
%

Once the kinematic model of an articulated object is learned, our
system can predict the motion trajectory of the object during future
encounters. In the prediction phase: (i) Given RGB-D data, the
description of the objects in the scene, $\textbf{\text{D}}_{query}$,
is extracted using SURF~\cite{baya2008speeded} descriptors. (ii) Given
a set of descriptors $\textbf{\text{D}}_{query}$, the best-matching
object and its kinematic model, $\hat{G}, \hat{M}_{ij}, (ij) \in
\hat{G}$ are retrieved; and (iii) From these correspondences and the
kinematic model parameters of the matching object, the object's
articulated motion is
predicted. Figure~\ref{fig:pipeline-text-prediction} illustrates the
steps involved in the prediction phase.

%
%
\begin{figure}[!h]
  \centering
    \includegraphics[width=0.95\columnwidth]{graphics/pipeline-figure/pipeline-text-prediction.pdf}
  \caption{The prediction phase.}
  \label{fig:pipeline-text-prediction}
\end{figure}
%
%
\input{sec-proc-feature-tracking}
\input{sec-proc-motion-segmentation}
\input{sec-proc-pose-estimation}
\input{sec-proc-articulation-learning}
\input{sec-proc-articulation-prediction}

