% update for ECCV'14 by Michael Stark and Mario Fritz
% updated in April 2002 by Antje Endemann
% Based on CVPR 07 and LNCS, with modifications by DAF, AZ and elle, 2008 and AA, 2010, and CC, 2011; TT, 2014

\documentclass[runningheads]{llncs}
\usepackage{graphicx}
\usepackage{amsmath,amssymb} % define this before the line numbering.
\usepackage{color}\usepackage[width=122mm,left=12mm,paperwidth=146mm,height=193mm,top=12mm,paperheight=217mm]{geometry}
\usepackage{times}
\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{placeins}
\usepackage[export]{adjustbox}
\usepackage{color}
\usepackage{overpic}
\usepackage{rotating,soul}
\usepackage{wrapfig}
\usepackage{sidecap}
\usepackage[T1]{fontenc}
\usepackage{multirow}
%\usepackage{caption}
\usepackage[config=altsf]{subfig}
\usepackage{booktabs}
\usepackage{lipsum}
\usepackage{enumitem}
\setenumerate[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=1pt}
\setitemize[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=2pt}
\setdescription{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt}
\newcommand{\myPara}[1]{\vspace{.05in}\noindent\textbf{#1}}

\newcommand\blfootnote[1]{%
  \begingroup
  \renewcommand\thefootnote{}\footnote{#1}%
  \addtocounter{footnote}{-1}%
  \endgroup
}


\graphicspath{{./Imgs/}}
\newcommand{\figref}[1]{Fig. \ref{#1}}
\newcommand{\tabref}[1]{Tab. \ref{#1}}
\newcommand{\equref}[1]{(\ref{#1})}
\newcommand{\secref}[1]{Sec. \ref{#1}}
\newcommand{\algref}[1]{Alg. \ref{#1}}
\newcommand{\cmm}[1]{\textcolor[rgb]{0,0.6,0}{#1}}
\newcommand{\todo}[1]{{\textcolor{red}{#1}}}
\newcommand{\sArt}{state-of-the-art}
\sidecaptionvpos{figure}{t}
\begin{document}
% \renewcommand\thelinenumber{\color[rgb]{0.2,0.5,0.8}\normalfont\sffamily\scriptsize\arabic{linenumber}\color[rgb]{0,0,0}}
% \renewcommand\makeLineNumber {\hss\thelinenumber\ \hspace{6mm} \rlap{\hskip\textwidth\ \hspace{6.5mm}\thelinenumber}}
% \linenumbers
\pagestyle{headings}
\mainmatter
\title{Bilateral Functions for Global Motion Modeling} % Replace with your title

\titlerunning{Bilateral Functions for Global Motion Modeling}

\authorrunning{W.-Y. Lin, M.-M. Cheng, J. Lu, H. Yang, M. N. Do, and P. H. S. Torr}

\author{Wen-Yan Lin\textsuperscript{*}, Ming-Ming Cheng\textsuperscript{+}, Jiangbo Lu\textsuperscript{*}, Hongsheng Yang\textsuperscript{\#}, Minh N. Do\textsuperscript{o}, Philip Torr\textsuperscript{+}}
\institute{Advanced Digital Sciences Center\textsuperscript{*}, Oxford University\textsuperscript{+},\\
University of North Carolina at Chapel Hill\textsuperscript{\#},University of Illinois at Urbana-Champaign\textsuperscript{o} }


\maketitle

\begin{abstract}
This paper suggests modeling motion in a bilateral domain that augments  spatial information with the motion itself.
We use the  bilateral domain to reformulate a piecewise smooth constraint as continuous global modeling constraint.
The resultant model can be robustly computed from highly noisy scattered feature points using a global minimization.
We demonstrate how the model can reliably obtain large numbers of good quality correspondences over wide baselines,
while keeping outliers to a minimum.
\end{abstract}



\section{Introduction}
Finding point-to-point correspondence between  images is a fundamental vision problem.
Applications include recognition, structure from motion, self-localization, warping, etc.
For wide baselines, researchers typically focus on matching scattered,
feature points which are  distinctive and easy to match.
Despite substantial success in  feature descriptor design \cite{morel09,Lowe04,Herbert06},
basing correspondence solely on local information remains an unstable,
outlier prone process.
\blfootnote{*This work was supported by the research grant for the Human Sixth Sense Programme at
the Advanced Digital Sciences Center from Singapore's Agency for Science, Technology and Research (A*STAR).}

Researchers usually handle outliers at the application level through task-specific motion
models\footnote{\fontsize{8.9pt}{1.pt}\selectfont \textbf{Motion model:} a finite  global  parameter set that
defines an aspect of a continuous  motion field.},
that are often integrated into a RANSAC~\cite{Martin81,Raguram08} outlier removal framework.
Some of the most successful techniques,
are based around identifying specific motion types/aspects that are amenable to global parameterization.
Examples include epipolar geometry~\cite{Longuet-Higgins81} for different views of a static scene,
homography~\cite{Brown07,Eduard10} for planar or pure rotational motion and
non-rigid thin-plate splines~\cite{Sprengel96} for smooth deformations.
We believe the high reliance on task-specific global models highlights two issues:


\myPara{A) Strength of global modeling:} Global models have many features important to the correspondence problem.
These are:
\begin{itemize}
\item Robustness:  By defining a global rigidity/ smoothness, model computation can potentially
 tolerate  high  noise levels and
  even handle correlated noise~\cite{Lin13}.
\item  Scattered Samples: Models can be computed on a sub-set of available data and the results extrapolated. This approach permits computational efficiency and a natural interface with sparse
feature matchers.
\item  Generalization: Models can verify existing data and  hypothesize new data points.
\end{itemize}

\myPara{B) Lack of a  general motion model:} Creating a general motion model for image correspondence is difficult.
Not only are  correspondence points  scattered and noisy, the primary underlying constraint is piecewise smoothness,
with the potential for large motion discontinuities.
Thus, modeling  requires detection and change of  parametrization at motion boundaries;
a process that  risks preserving   outlier clusters and destroys the model's  global properties.
%Hence,  to date, there is no generally applicable,
%global modeling constraint.
Yet, exclusively focusing  on easily modeled  motion aspects  discards a great deal of information.
This increases the brittleness of more general models like the epipolar constraint,
while restricting the flexibility of  robust models like homography.
Our paper fills the gap by reformulating the  piecewise-smoothness as a robust, global constraint.
This allows model fitting, outlier removal and matching set expansion to
begin before reaching the application level.

%To address  general motion modeling  in a principled fashion, we
% introduce a technique that directly fits
% a global model to   piecewise smooth motion.

Our key concept is a general definition of  motion coherence.
Traditionally,  coherence \cite{Alan88}  is  equated to spatial ($x,y$) smoothness,
i.e. a motion model is coherent if  the motion or its proxy\footnote{\textbf{Motion proxy:} a value which indicates
but does not define the motion (an example is likelihood or a single affine parameter)} varies smoothly
over the spatial domain.
In contrast, we suggest  a motion model be considered coherent if the motion/proxy
varies smoothly  in some
low dimensional domain. \vspace{-.05in}


\begin{SCfigure}
  \centering
  \includegraphics[width=0.55\linewidth]{surf.pdf}
  \caption{Inset: a one-dimensional discontinuous set of motion hypothesis
    Main figure: the same data (black dots) over the bilateral domain % $u, x$
    with a likelihood  motion proxy.
    Note: the bilateral domain expresses  discontinuous data
    as a smooth field.
  }\label{bilateral} 
\end{SCfigure}

\vspace{-.1in}
In particular,   an extended domain that includes
the motion itself,  $x,y, u,v$, allows  modeling of (spatially) piecewise smooth motions
with a smoothly varying motion proxy. A detailed explanation is given in \secref{sec:form}.
We term such  functions, which achieve smoothness by incorporating
the desired output as part of the function domain, \emph{bilateral functions}.
\figref{bilateral} illustrates a bilateral function with a likelihood  motion proxy.
The bilateral domain  makes it possible to fit a global function to
(spatially) piecewise smooth motion data via the traditional as-smooth-as-possible data modeling.
This  can be solved by minimizing a  global cost.
The global smoothness makes bilateral motion model
computation highly robust and it can be computed directly
from  noisy correspondence without   RANSAC's~\cite{Martin81} hypothesis
and test framework. %This is illustrated in \figref{poon}a,b).
Once computed,  models can robustly validate
new matching hypothesis.
This provides
large numbers of
 correspondence points over wide baselines,
while keeping
outliers to a minimum (zero in many cases).
\figref{poon} illustrates our performance.



\begin{figure}
    \centering
    \begin{overpic}[width=\linewidth]{poon.png}
        \put(15,-3){(a)} \put(50,-3){(b)} \put(83,-3){(c)}
    \end{overpic}
    \\\vspace{.08in}
%    \begin{overpic}[width=.49\linewidth]{poon_a.pdf}
%     \put(0,-5){ \small (a) Noisy matches,  inliers labeled in dark blue}
%    \end{overpic}\hfill
%    \begin{overpic}[width=.49\linewidth]{poon_b.pdf}
%     \put(25,-5){ \small (b) Validated matches}
%    \end{overpic} \vspace{0.2in} \\
%    \begin{overpic}[width=.6\linewidth]{poon_c.pdf}
%     \put(10,-4){\small (c) Final output with expanded set of matches}
%    \end{overpic} \vspace{0.0in} \\
    \caption{An example of our global method for finding correspondences.
Circles represent feature locations and lines their motion.
        a) Noisy feature correspondence (inliers highlighted in dark blue).
        b) Our global model eliminates outliers. The model is directly computed from
the noisy matches in (a).
        c) The global model allows us to robustly expand the set of matches.
    }\label{poon} \vspace{-.1in}
\end{figure}

To summarize our paper's contributions:
\begin{itemize}
   \item We propose a bilateral model as a  principled means of imposing a piecewise motion constraint
    via a global  cost minimization.
    Our model is sufficiently robust to handle high noise levels without RANSAC's
    hypothesis and test framework.
    %This permits the problem to formulated as a minimization of a  global  cost function.
    \item We utilize the bilateral model to remove outliers from feature correspondences and expand
        the existing matching set.
        The resultant algorithm  procures large numbers of correspondences while keeping outliers to a minimum.
over wide baselines.
\end{itemize}

\section{Related Works}


\textbf{Formulation:} The piecewise smooth motion  constraint has a long history  in computer vision. Examples
range from  piecewise smooth flow estimation \cite{Michael09,Ming03} to  plane-fitting stereo \cite{Sudipta09}.
However, to our  knowledge,  piecewise smoothness  has always been enforced
with some form of motion boundary discovery.
Rather than the usual piecewise smooth approaches, our
 formulation  builds on the global coherence \cite{Alan88,Myronenko06,Wenyan,Lin13}
framework which  fits  a smooth, continuous  field over  scattered points.
By  applying the field on the bilateral domain,  the global coherence
 accommodates discontinuities, while retaining its original robustness.

\textbf{RANSAC:} For rigid parametric models,  RANSAC~\cite{Martin81,Rahul09,Phan12}  provides a general  means of removing outliers from feature correspondence.
Of particular relevance are  recent piecewise planar RANSAC techniques \cite{Phan12}, which  handle general motion.
Unfortunately, they relinquish the  global model, forcing tight thresholding (that removes many inliers). The lack of a global model
also makes generalization for  matching set expansion difficult.
Interestingly, our bilateral coherence constraint is sufficiently
robust to directly fit  highly noisy data, without  RANSAC's hypothesis and test framework.
This enables our flexible non-rigid model.
If additional  parametric constraints are appropriate, RANSAC can be
applied as a post-processor to further improve  correspondence.

\begin{SCfigure}
  \centering
  \includegraphics[width=.715\linewidth]{flow_exp.png}
  \put(-160,113){\small Deep Flow~\cite{Weinzaepfel13}}
  \put(-78,113){\small LDOF~\cite{Brox10}}
  \caption{ An image pair with huge  motion.
        The warp projects the second image onto the first.
        While this is not a difficult feature correspondence scene,
        the large occlusions  makes it  difficult for optical flow.
  }\label{doom_flow}
\end{SCfigure}

\textbf{Optical flow~\cite{Horn81,Lucas81,Brox10}, graph matching~\cite{Torr08}, surface modeling
~\cite{Agapito13}:} An alternative
to modeling feature correspondences
is  optical flow or graph matching techniques.
These approaches embed the
smoothness constraint at the matching step.
This reduces correspondence ambiguity and
opens the possibility of dense matching.
However,  wide baselines  introduce
extensive occlusion which can turn the
 linkage of every pixel/feature through a neighbor-wise smoothness
into a liability as seen in \figref{doom_flow}.
For such scenes,
our integration of bilateral modeling
with point correspondence provides a natural means
of handling high occlusion.
This is discussed in more detail in the supplementary material.

\textbf{Others:}
Outlier detection can also be achieved
by local mesh techniques
developed by  Pizarro and Bartoli \cite{Pizarro12}.
However, the lack of a global model
reduces its effectiveness at higher noise level.

As our name suggests, bilateral functions are inspired by  bilateral filters~\cite{Tomasi98}
that use the same domain change technique for edge preserving image de-noising.
Bilateral filters have also been applied to optical flow computation~\cite{Xiao06}.
However,  they do not deal with the scattered point sets.
Further, their window based approach makes identifying outlier clusters difficult.
By extending the bilateral concept as a function domain, we  overcome both  these restrictions.


Interestingly, bilateral functions
 are  related to patch-match~\cite{Barnes10} and
quasi-dense correspondence algorithms~\cite{Max05,NRDC2011}.
These techniques
grow  seed correspondences
by iteratively searching their neighborhood.
This  growing mechanics is similar manner to
 minimization
of
 a bilateral likelihood function as elaborated in \secref{prob_sec}.
However,  patch-match does not compute an explicit model
and it is unclear how its formulation can
extend to outlier removal or multi-image matching.

\section{Formulation}
\label{sec:form}
We begin with an intuitive explanation
of our approach. Our underlying function is based on
the  motion coherence used in~\cite{Alan88,Myronenko06,Wenyan,Lin13}.
These techniques formulate a non-rigid motion fitting problem
in terms of finding the smoothest
 $f_k(\mathbf{p})$ function that is consistent with  given data. In these cases, $\mathbf{p}$ represents
pixel coordinates, while  the range of  $f_k(\mathbf{p})$ represents motion or it proxy.

The smoothness (or infinite differentiability)   implies a continuity constraint
\begin{equation}
\label{continuous}
\lim_{\Delta \mathbf{p}\mapsto 0} f_k(\mathbf{p}+\Delta \mathbf{p})-f_k(\mathbf{p})=0, \quad \mathbf{p}=\left [\begin{array}{cc} x& y\end{array}\right ]^T
\in
\mathbb{R}^2,
\end{equation}
which forces the function value in the neighborhood of $\mathbf{p}$  to be  similar.
This causes the function to
  incur large errors at discontinuous  motion boundaries.% since equation \eqref{continuous}


Our formulation changes the domain of $f_k(\mathbf{p})$ to a bilateral one spanning both the spatial and motion
dimensions i.e.  $\mathbf{p}=\left [\begin{array}{cccc} x& y & u& v \end{array}\right]^T$.
This redefines  neighbors such that points with different velocities are no longer adjacent. Thus, we can assign very different function values
to points with  adjacent spatial coordinates, while retaining the constraint that  $f_k(\mathbf{p})$ must be smooth.
If the motion difference  ($ \Delta u, \Delta v $) between two points
in the domain $\mathbf{p}$ tends to infinity, the point separation also tends to infinity, reducing their
influence on each other. This occurs  irrespective of their spatial coordinates
and ensures the smoothness penalty in the
bilateral domain does not tend to infinity as the magnitude of the motion's  spatial discontinuity increases.


The (spatial) piecewise smoothness of the true underlying motion,
creates  large clusters of inlier points that are adjacent in both spatial and motion values, while sharing
similar motion proxies.
 These points can be fitted at minimal cost to the smoothing function. In contrast,  outliers appear as
isolated  point clusters  requiring
their own unique motion proxies. These  incur a high smoothness cost if fit.
The overall problem can now cast as finding
the globally smoothest function consistent with the data.
As we do not modify the as-smooth-as possible requirement,
the global curve fitting~\cite{Lin13} retains all is original robustness.
\figref{bilateral} provides a visualization of the bilateral domain.

\textbf{Preliminaries:} We discuss two different bilateral functions in  \secref{smooth_sec}, \secref{prob_sec}.  \secref{one-many} gives an intuitive explanation of their properties
while implementation is discussed in \secref{sec:implement}.
Formally, we denote  spatial  locations as $\mathbf{x}=[\begin{array}{cc} x& y\end{array} ]^T$
and   motion as $\mathbf{m}=[\begin{array}{cc} u& v\end{array} ]^T$.
The set of $N$ correspondences across two images is
$\{ \mathbf{x}_j, \mathbf{m}_j, \mathbf{a}_j\}$.
$\mathbf{x}_j$ denotes pixel locations, $\mathbf{m}_j $ their corresponding motion hypothesis,
and  $\mathbf{a}_j$ is a $4\times1$ vector representing the relative affine orientation derived from  local
feature's orientation.


\subsection{Bilaterally Varying Affine}\label{smooth_sec}
A bilaterally  varying affine
is a set of affine parameters which vary smoothly in a bilateral domain.
 $\mathbf{p}=[\begin{array} {cccc}x & y & u &v \end{array}]^T$
is a point in $D=4$ dimension  bilateral domain  and $q$ is a scalar.
For simplicity, we focus on the $X$ motion direction first.
The given correspondences are observed data:
\begin{equation}\label{input_set}
    \mbox{\it{observed data}}=\{\mathbf{p}_j=[\begin{array}{ccc}\mathbf{x}_j;& \mathbf{m}_j\end{array}],
    \hat{q}_{xj}=x_j+u_j\}
\end{equation}
where $j$ is the correspondence index, and $\{\hat{q}_{xj}\}$ are noisy observations
of model $q_x(\mathbf{p})$ evaluated at locations $\{\mathbf{p}_j\}$.
 We define $q_x(\mathbf{p})$  as a linear sum of smooth functions
\begin{equation} \label{unary_x}
    q_x(\mathbf{p})=f_1(\mathbf{p})x + f_{2}(\mathbf{p})y+f_{3}(\mathbf{p}),
\end{equation}
where each $f_k(.)$ represents an affine parameter.
%
%
%\delete{We assume the \emph{observed data} comes from a linear sum of $K=3$ smooth functions $f_k(\mathbf{p})$,
%where each $f_k(.)$ represents an affine parameters.
%Thus,
%\begin{equation}
%\label{unary_x}
%\hat{q}_{xj}=f_{1}(\mathbf{p}_j)x_j+f_{2}(\mathbf{p}_j)y_j+f_{3}(\mathbf{p}_j)+n_j
%\end{equation}
%where $n_j$ represents noise.}
%

Our goal is to fit the smoothest possible, continuous,   $f_k(.)$
functions to  observed, $\{\hat{q}_{xj}\}$ data.
Individual $f_k(.)$ functions are composed of two terms,
$f_k(\mathbf{p})=H_k+\phi_k(\mathbf{p})$.
 $H_k$ is an optional  scalar offset and $\phi_k(\mathbf{p})$ is a smooth function
with  attached  motion coherence~\cite{Alan88,Myronenko06,Lin13}  penalty:
\begin{equation}\label{smoothND}
\Psi_k=\int_{\mathbb{R}^D}\frac{\\|\overline{\phi}_k(\omega)\\|^2}{\overline{g}(\omega)} \, d\omega.
\end{equation}
$\overline{\phi}_k(.)$ denotes the Fourier transform of a function $\phi_k(.)$,
while $\overline{g}(\omega)$ is the Fourier transform of a Gaussian with spatial distribution $\gamma$.
Hence, \eqref{smoothND} achieves smoothness by penalizing high frequency terms.


We seek the $f_k(\mathbf{p})$ functions which minimize the cost
\begin{equation}
    \begin{split} \label{main_main}
        E&=\sum\nolimits_{j=1}^N C(\hat{q}_{xj}- q_{x}(\mathbf{p}_j))+\lambda  \sum\nolimits_{k=1}^3\Psi_k
    \end{split}
\end{equation}
%\delete{\begin{equation}
%    \begin{split} \label{main_main}
%        E&=\sum_{j=1}^N C(\hat{q}_{xj}- (x_{j}f_1(\mathbf{p}_j)+y_{j}f_2(\mathbf{p}_j)\\
%        &+f_3(\mathbf{p}_j))+\lambda  \sum_{k=1}^K\Psi_k
%    \end{split}
%\end{equation}}
% \begin{equation}
%\label{main_main}
% E=\sum_{j=1}^N C(\hat{q}_{xj}- \sum_{k=1}^Kb_{kj}f_k(\mathbf{p}_j))+\lambda  \sum_{k=1}^K\Psi_k
%\end{equation}
where $C(.)$ represents the Huber cost
\begin{equation}\label{huber}
    C(z)=huber(z)=\left \{\begin{array}{ll} z^2 & \mbox{if } |z| \leq \epsilon \\
    2\epsilon |z|-\epsilon^2 & \mbox{if } |z| > \epsilon\end{array} \right .
\end{equation}
that penalizes deviation of the estimated function predictions  from  given $\hat{q}_{xj}$  observations.
$\lambda$ represents the weight given to the  smoothness constraint $\Psi_k$.


From \cite{Lin13}, we know that  both the continuous functions $f_k(\mathbf{p})$ and the coherence terms
$\Psi_k$ can  be re-expressed in terms of a finite number of variables given by the
$N$-dimensional vectors $\mathbf{w}_k$ and scalars $H_k$:
%\begin{equation} \label{speed_small}
%    \begin{split}
%        f_k(\mathbf{p})&=H_k+\sum_{j=1}^N\mathbf{w}_k(j)g(\mathbf{p}-\mathbf{p}_j, \gamma) , \\% \mbox{  \,\,\,\,\,\,\,\,\,\,\,\,} k \in \{1,2,...,K\}\\
%        \Psi_k  &=\mathbf{w}^T_kG\mathbf{w}_k, \quad k \in \{1,2,3\}
%    \end{split}
%\end{equation}
\begin{equation} \label{speed_small}
        f_k(\mathbf{p})=H_k+\sum\nolimits_{j=1}^N\mathbf{w}_k(j)g(\mathbf{p}-\mathbf{p}_j, \gamma) , \quad   \Psi_k=\mathbf{w}^T_kG\mathbf{w}_k, \quad k \in \{1,2,3\}
\end{equation}
where $g(\mathbf{z}, \gamma)=e^{-|\mathbf{z}|^2/ \gamma^2}$ and
$G(i,j)=g(\mathbf{p}_i-\mathbf{p}_j, \gamma)$.
%
This allows us to minimize the energy in \eqref{main_main} with gradient descent as it
 is convex in terms of the variables $H_k, \mathbf{w}_k$.
The Huber based energy in \eqref{main_main} allows the robust, non-parametric  fitting of smooth curves by leveraging  the smoothness constraint to ignore
individual outliers and outlier clusters \cite{Lin13}.
Note that the resultant bilateral affine model \eqref{unary_x},
% is given by \begin{equation} \label{a_x} q_x=f_1(\mathbf{p})x+f_2(\mathbf{p})y+f_3(\mathbf{p}) \end{equation},
is not a one-to-one mapping function.
Rather it  validates a match location $\mathbf{p}$ by checking the cost $(q_x-(x+u))^2$.


Similarly, for the $Y$ direction, repeating the same steps as $X$ but replacing  $k\in\{1,2,3\}$ with $k\in\{4,5,6\}$  respectively and replacing $\hat{q}_{xj}$ with $\hat{q}_{yj}=y_j+v_j$,
one obtains the bilateral affine model
\begin{equation}
\label{a_y}
q_y(\mathbf{p})=f_4(\mathbf{p})x+f_5(\mathbf{p})y+f_6(\mathbf{p}).
\end{equation}
Note that the formulation used here is not restricted to bilateral affines, with different choices of $f_k(.)$  domain and range
 leading to different functions as we demonstrate in the following subsection.


\subsection{Likelihood Proxy}
\label{prob_sec}
Another potential motion proxy is likelihood.
For this proxy, we choose an $8$ dimensional bilateral  domain over  spatial position, motion and relative feature
affine parameters. A point in the domain given by  $\mathbf{p}=[\begin{array}{ccc}\mathbf{x};& \mathbf{m};& \mathbf{a}\end{array}]$.
The function range is set from $[\begin{array}{cc}0&1\end{array}]$. Each match $j$ hypothesizes a $1$ value at location $\mathbf{p}_j$.
Thus the   \emph{observed data}  in \eqref{input_set}
takes
 the form: $$\mbox{ \emph{observed data}}=\{ \mathbf{p}_j=[\begin{array}{ccc}\mathbf{x}_j;& \mathbf{m}_j;& \mathbf{a}_j\end{array}],  \hat{q}_j=1\}.$$


We can fit a likelihood surface, $f(\mathbf{p})$, to the \emph{observed data} in a  manner similar to the bilaterally varying affine of \secref{smooth_sec}.
In this case, we have only one  smooth function, $q=f(\mathbf{p})$.
%\begin{equation}
%q=f(\mathbf{p})
%\end{equation}
 $f(\mathbf{p})$ is subject to the smoothness constraint
\begin{equation}
\label{smooth_l}
\Psi=\int_{\mathbb{R}^8}\frac{\\|\overline{f}(\omega)\\|^2}{\overline{g}(\omega)} \, d\omega.
\end{equation}
%
Similar to  \eqref{main_main},  we seek the final $f(\mathbf{p})$  that minimizes the cost
\begin{equation}
\label{main_l}
 E=\sum\nolimits_{j=1}^N huber(1- f(\mathbf{p}_j))+\lambda \Psi.
\end{equation}
Without the $H_k$ offset terms in  \secref{smooth_sec}, the Fourier smoothness in  \eqref{smooth_l} causes the $f(\mathbf{p})$ function to return to zero unless given correspondence  data
biases it to $1$. The robust fitting provided by both the Huber function and the smoothness requirement ensures that the cost in  \eqref{main_l} does not fit the given data blindly
but rejects correspondence clusters without sufficient support.


As in  \eqref{speed_small}, from  \cite{Lin13} we know that   $f(\mathbf{p})$ and $\Psi$ can be re-parametrized in terms of  a $N$-dimensional $\mathbf{w} $ vector.
\begin{equation}
\label{speed_l}
f(\mathbf{p})=\sum\nolimits_{j=1}^N\mathbf{w}(j)g(\mathbf{p}-\mathbf{p}_j, \gamma), \quad \Psi =\mathbf{w}^TG\mathbf{w}
\end{equation}
This allows gradient descent minimization of cost in \eqref{main_l}, which is convex in $\mathbf{w}$.

$f(\mathbf{p})$ in \eqref{speed_l} forms a motion proxy which indicates whether matches at a specific $\mathbf{p}$ location should be considered an inlier.
An example with a simplified $\mathbf{p}=[\begin{array}{cc} x & u\end{array}]^T$ is shown in \figref{bilateral}.
Interestingly, algorithms that iteratively grow seed matches \cite{Barnes10,Max05,NRDC2011} exploit a similar  coherence. By biasing matching search radius towards the surroundings
of  pre-existing matches, they  implicitly  update  a bilateral field with   likelihood potentials  similar to \figref{bilateral}. This may explain why, despite  having no explicit smoothing function, such techniques
 provide matching results with a strong sense of overall coherence (albeit with  some outliers).
\subsection{One-to-Many Mapping}
\label{one-many}
 Observe that the bilateral motion models  indicate likely motion directions, rather than
 specify a one-to-one mapping between images.
 While inconvenient, the  one-to-many mapping
reflects the reality of multiple motion layers. For a foreground image  point,
 its alternative motion hypothesis reflects the estimated motion of the occluded background. For a background image  point,
the alternative motion hypothesis suggests its position if it were actually part of the foreground.
Due to this ambiguity, bilateral motion models must be integrated  with some
image measure (such as gray-level value or SIFT descriptors) to provide a final match location. In practice,
for  independently obtained matching hypothesis,
the motion model can reliably distinguish between inliers and outliers,
through a thresholding based on  deviation from the model. The  discrimination is surprisingly good.
Even when the given point correspondences contain many outliers, the computed motion model  can preserve a large fraction
of the inliers, while eliminating all outliers. An example can be seen in the inlier recall of \figref{poon}c) with more rigorous analysis performed in
\secref{eval}.
Apart from validating matches, the model can also be used to search for desired features as discussed in \secref{sec:drift}.


\subsection{Implementation}
\label{sec:implement}


This section gives a broad overview of the computation  of bilateral models
from feature correspondence.
We primarily  use A-SIFT \cite{morel09} for matching. The SIFT threshold is set at $\mathbf{t}=0.82$. This  incurs many more outliers than  the typical $\mathbf{t}=0.66$. However,  for wide baselines,
it provides nearly an order of magnitude more inlier matches as seen in  \figref{matching}. The inliers at the relaxed threshold are also more evenly distributed,
allowing for better motion modeling.
The spatial coordinates of features are Hartley normalized \cite{Hartley97} to allow parameters to be invariant to image size.
We compute the likelihood field  given by $f(\mathbf{p})$ in  \eqref{speed_l} by finding the $\mathbf{w}$ that minimizes the energy function
$E$ in  \eqref{main_l} . We accept as inliers all matches with likelihood greater than $0.5$ (i.e. $f(\mathbf{p}_j)>0.5$).
This thresholding is deliberately  weak and there are still  outliers remaining.
The inlier set obtained from the likelihood function is used to obtain a bilaterally varying affine in \eqref{unary_x}, \eqref{a_y} by finding the $H_k, \mathbf{w}_k$ values that minimize the energy in  \eqref{main_main}.
A match $\mathbf{p}=[\begin{array}{cccc} x& y & u & v\end{array}]^T$  is accepted if $(q_x(\mathbf{p})-(x+u))^2+(q_y(\mathbf{p})-(y+v))^2<0.01$.
The likelihood cost has lower long range ambiguity (removes extreme outliers) but does not validate matches finely (will accept matches with some localization error). Its simpler formulation also makes it more stable. The bilateral affine penalizes localization error but will occasionally accept gross outliers if they coincide with the affine.
While the stages can theoretically be integrated into a single cost, they are computed separately for speed.
If there too many points, we perform random sub-sampling to keep computation time constant.



Once the bilateral model is computed, we can use it to validate matching hypothesis.
In this paper, our matching  hypothesis are SIFT matches with no nearest neighbor thresholding but other
methods of generating hypothesis can be considered.
\figref{flow_chart} gives a system overview.

\begin{SCfigure}
  \centering
  \includegraphics[width=.63\linewidth]{flow_chart.pdf}
  \caption{System overview: to obtain large numbers of high quality matches,
    we compute bilateral motion fields according to noisy hypothesis set,
    and use the model to validate hypothesized matching without nearest neighbor thresholding.
    } \label{flow_chart}
\end{SCfigure}



\section{Experiments and Discussion}
\label{sec:exp}
This section focuses on empirical evaluation.
Images are evaluated at $480\times 640$ resolution.
For data with known camera pose,  an inlier is a match whose deviation from epipolar geometry is less than $5$ pixels. An outlier is one that deviates more than $40$
pixels (due to large scale changes, this is not especially generous). The  strict threshold for inliers and outliers,  ensures that algorithms are neither penalized nor rewarded based on classification of ambiguous  matches.
We urge readers to view the supplementary material which contains many images and visualizations of the empirical results.


\subsection{Inlier-Outlier Discrimination for Measuring Motion Model Quality}
\label{eval}
The bilateral motion model  does not
define a one-to-one correspondence between images, making
 direct quantitative evaluation  difficult.
 However, the overall correctness of the model
and  robutsness of its computation
can be indirectly measured
  via its ability to
discriminate between inlier and outlier correspondences.
While many modern outlier removal techniques work robustly at standard $0.66$  A-SIFT thresholds,
our evaluation uses a more challenging $0.82$ threshold\footnote{Ideally, we would evaluate
directly on matches without thresholding. However, the noise level is too high for all tested algorithms.}.
For wide baselines, this also has the practical advantage of providing many more  inliers as
 illustrated in \figref{matching}.
\emph{Occ} \cite{Pizarro12} (an excellent outlier detector for  general motion)  forms the  baseline.
\begin{SCfigure}%[\leftcaption]
  \centering
  \includegraphics[width=0.5\textwidth]%
    {matching_para.pdf}\put(-120,20){\includegraphics[width=0.32\linewidth]{pairs.pdf}}
  \caption{Recall and $\%$ outliers between  image pairs,
with varying algorithm parameters (diamonds indicate default parameters).
 Occ \cite{Pizarro12} is  the baseline.
        The recall value where the curves first intersect $\mbox{outliers}=0$  represents the maximum  number of inliers that can be       retained if no outliers are tolerated.  Apart from highly repetitive scenes (blue and red curves),  our curves are vertical lines on the $\mbox{outliers}=0$ axis.
        Our default parameters provide over $90\%$ recall with no outliers for many scenes.
        \label{recall_precision}}
\end{SCfigure}
One measure of inlier-outlier discrimination is the percentage of
of inliers sacrificed
to eliminate outliers.
We perform
this analysis on wide baseline
 image pairs chosen from Strecha's
dataset \cite{Strecha08} . Results are
shown in  \figref{recall_precision}.
Pair $1,2$ are the first and last images of \cite{Heinly12}'s ``cannonical"
sampling of Strecha's Dataset.   Pair $3,4$ are chosen as difficult cases for
our algorithms as they involve both wide baselines and  strong image self similarity.
 Observe that local fitting of  \emph{Occ} trades a large percentage
of inliers to remove the final few outliers. In contrast,
for the ``canonical" Pair $1,2$, our  lines are vertical on the $\mbox{outlier}=0$ axis, indicating
little need to trade inlier recall for outlier removal.
For repetitive scenes like Pairs $3,4$, there is indeed a trade-off  but performance is still
substantially better.

We also use the entire  viewpoint change section of Hienly's dataset \cite{Heinly12} for evaluation. This includes many
images with extreme illumination and viewpoint changes. For each set, we  use the first image as a base and match  the rest to it. We compared our results against
 epipolar RANSAC~\cite{KovesiMATLABCode}
 and MLESAC \cite{Torr2000}, implemented by
\cite{Konouchine2005}.
We also evaluated
piecewise homographic RANSAC (RCM homo)~\cite{Phan12} and Occ~\cite{Pizarro12}, run at their default parameters.
Results are shown below \small
%\begin{center}
%    \begin{tabular}{ | l | c | c|}
%    \hline
%      & Images with outliers & Inlier recall  \\ \hline
%    Occ~\cite{Pizarro12} & 23 & 73.3\% \\ \hline
%     \textbf{Ours}& \textbf{5} & \textbf{92.8\% } \\ \hline
%    epipolar RANSAC~\cite{KovesiMATLABCode} & 18 & 87.3\%\\
%\hline
% piecewise RANSAC~\cite{Phan12} & 6 & 56.1\%  \\
%    \hline
%    \end{tabular}
%\end{center}
\begin{center}
    \renewcommand{\tabcolsep}{1.7mm}
    \begin{tabular}{ | l | c | c|c|c|} \hline
      &\textbf{Ours}&epipolar RANSAC~\cite{KovesiMATLABCode,Torr2000}&RCM homo~\cite{Phan12}&Occ~\cite{Pizarro12} \\ \hline
  Images with outliers& \textbf{5/35} & 18/35, 24/35&  6/35& 25/35\\
\hline
Precision (1-\% outliers)   & 0.987& 0.947, 0.963&      0.966&0.983\\
\hline
Inlier recall   & 0.928&  0.873, 0.886&  0.561&0.733\\
    \hline
F-Measure   & \textbf{0.957}&  0.908, 0.923&  0.709&0.839\\
\hline
    \end{tabular}
\end{center}
\normalsize
Our bilateral motion models
provide good recall and precision
compared to other
outlier rejection methods.
Our recall  is even comparable
with epipolar  RANSAC
 which is a valid motion model for test images.
Apart from precision and recall,
the flexibility of  bilateral models allow
us to tune parameters to a level
where recall remains high despite
having zeros  outliers for many
image pairs. As discussed in \figref{recall_precision},
for other methods, removing the last few outliers
  often  involves discarding a large percentage of  inliers.
It is important to bear in mind that these methods
are not mutually exclusive. As we do not enforce
the epipolar constraint, RANSAC can still
be run as a post-processor on our correspondences.
\subsection{Independent Motion}
We evaluate independent motion
on  images from AdelideRMF~\cite{Wong11}.
Every  image pair contains
large independent motions.
Ground truth inlier-outlier labeling is provided for noisy pre-computed correspondences.
As the small set of background matches  are automatically labeled  outliers, the dataset
 systematically lowers  precision statistics of some scenes.
Thus, the number of images with no outliers is not directly meaningful.
Images used are the same as
those in~\cite{Phan12} and results for other RANSAC algorithms on the same data
can be found in ~\cite{Phan12}.
As   feature orientation is not given, we  modified our algorithm to use only spatial location
information. \figref{ind} shows our performance improvement
over
 multi-fundamental (RCM fund), multi-homographic (RCM homo) RANSAC~\cite{Phan12} and Occ.
 \footnotesize
\begin{SCfigure}%[\leftcaption]
  \centering
  \includegraphics[width=0.78\textwidth]{our_dino2.pdf}
  \caption{Example of our performance on independent motion data~\cite{Wong11}.
    Statistics for inlier recall and precision are given below.
    \label{ind}}
\end{SCfigure}

\begin{center}
    \renewcommand{\tabcolsep}{0.85mm}
    \begin{tabular}{ | l | c| c|c|c|c|c|c|c|c|}
    \hline
& \begin{tabular}{@{}c@{}}Ours \\ Precision\end{tabular}  & \begin{tabular}{@{}c@{}}Ours \\ Recall\end{tabular}  & \begin{tabular}{@{}c@{}}RCM \\fund \\ Precision\end{tabular}
& \begin{tabular}{@{}c@{}}RCM \\fund \\ Recall\end{tabular}   &
  \begin{tabular}{@{}c@{}}RCM\\ homo \\ Precision\end{tabular} &
 \begin{tabular}{@{}c@{}}RCM \\ homo \\ Recall\end{tabular}&
\begin{tabular}{@{}c@{}}Occ \\ Precision\end{tabular}&
\begin{tabular}{@{}c@{}}Occ  \\ Recall\end{tabular}\\
\hline
 dinobooks &    0.8062 &    0.8927     & 0.7519&    0.9902    & 1.0000  &  0.1659 & 0.8672 & 0.5415   \\
\hline
toycubecar&    1.0000   & 0.9063   &   0.8880   & 0.8672   & 1.0000  &  0.7734 &0.9878&   0.6328\\
\hline
cubebreadtoychips&    0.9712 &  0.9874   &0.9271   & 0.9582 &   1.0000&    0.3264& 0.9943&  0.7238  \\
\hline
carchipscube&    1.0000   & 0.8762  &   0.9196  &  0.9810    &1.0000    &0.8000& 1.0000& 0.7429\\
\hline
breadtoycar&    0.9892&    0.8364  & 0.8560 &   0.9727   & 1.0000  &  0.5364 &1.0000& 0.6909  \\
\hline
breadcubechips&    1.0000   &  0.8591  & 0.9013  &  0.9195  &  1.0000    &0.6443& 1.0000&    0.6779\\

\hline
breadcartoychips&        1.0000 & 0.9935   & 0.8284   & 0.7161 &   1.0000   & 0.6516& 1.0000 &  0.5548 \\
\hline
biscuitbookbox&           1.0000  &  0.9444&   0.8710   & 1.0000   & 1.0000  &  0.6790&  0.9926&  0.8272
\\
   \hline
\textbf{average}&    0.9708 & 0.9120   &0.8679   & 0.9256   & 1.0000 &   0.5721& 0.9802&  0.6740\\
\hline
\textbf{F-Measure}&   \multicolumn{2}{ |c| }{$\mathbf{ 0.94}$}   &  \multicolumn{2}{ |c| }{ 0.90}   & \multicolumn{2}{ |c| }{   0.73}  & \multicolumn{2}{ |c| }{  0.80}
\\
\hline
%\caption{Independent motion evaluation on data from~\cite{Wong11}. Note that all }
    \end{tabular}
\end{center}

\normalsize
\subsubsection{Limitations}
\label{limitations}
Our algorithm assumes   piecewise smooth motion and treats small sets of independently
moving matches as outliers. This makes it unsuited for tasks like correspondence on pedestrian scenes, as the
algorithm will only focus on the background.
In extreme scenarios (large viewpoint change and lighting changes),
scenes with strong self similarity can cause  ambiguities unresolvable by global  coherence.
 For  moderate motions,  matches are sufficiently well distributed for global coherence to handle self similar images.
Visual examples are given in the supplementary material.
\section{Applications}
\label{sec:app}
As a
general motion model,
bilateral functions can
extend to many
 correspondence related  problems.
This section discusses
examples such as expanding
 a correspondence set,
drift free multi-image correspondence
and template image search.
\begin{figure}[htp]
  \centering
  \begin{overpic}[width=.49\linewidth]{sift_mountain.pdf}
     \put(0,-6){ \small (a1) A-SIFT: \textbf{t}=0.66 (Default) }
  \end{overpic} \vspace{0.02in}
  \begin{overpic}[width=.49\linewidth]{mountain.pdf}
     \put(0,-6){ \small (a2) Ours  with $8.9\times$ more matches }
  \end{overpic} \vspace{0.2in} \\
\begin{overpic}[width=.49\linewidth]{sift_lab.pdf}
     \put(0,-6){ \small (b1)  A-SIFT: \textbf{t}=0.66 (Default)}
  \end{overpic} \vspace{0.2in}
  \begin{overpic}[width=.49\linewidth]{new_cam_IMG_0447IMG_0445.pdf}
     \put(0,-6){\small (b2)  Ours  with $5.8\times$ more matches}
  \end{overpic}\\ \vspace{-.1in}
%  \begin{overpic}[trim=0mm 100mm 0mm 94mm,clip,width=.7\linewidth]{ours_1_line.pdf}
%     \put(0,-3){ \small (e)  Our  expanded matches @ A-SIFT: t=1, using the model computed in (c)}
%  \end{overpic}  \\
 \caption{Top: two views of half-dome, taken a few miles apart, causing parallax in the foreground.
Bottom: an office scene with re-arranged stationary. Observe that our algorithm
provides many more matches and fewer outliers than standard A-SIFT.
\label{matching_vis} }
\end{figure}



\begin{SCfigure}%[\leftcaption]
  \centering
  \includegraphics[width=0.48\textwidth]{AShift.pdf}% picture filename
  \caption{Inlier numbers (log scale) vs increasing displacement for the
    \emph{herzjesu} sequence \cite{Strecha08}.
     Vertical bars represents the $-log_{10}(\mbox{fraction of inliers})$.
     Thresholding varies from 1 (no thresholding) to 0.66 (typical SIFT threshold).
     A-SIFT controls outlier numbers, at the cost of rejecting many inliers.
     Our bilateral models  retain most inliers,
     while having no outliers (short vertical bars).
  }\label{matching}\vspace{-.25in}
\end{SCfigure}


\subsection{Additional Correspondence }
\label{sec:expand}
 Applications like Structure from Motion
rely on matching algorithms to
deliver
many correspondences
while  controlling outlier numbers.
Typically,  outliers are controlled by    a ratio test of nearest neighbor matches.
A match is accepted, only   if its
descriptor matching score (zero is  best) is  below a certain fraction of  the second best match.
A typical ratio threshold  is $\mathbf{t}=1/1.5=0.66$ \cite{vedaldi08}.
This threshold ensures that as   baselines increase,
 the number of  outliers remain restricted to a small handful but
  at the  price of  removing an enormous percentage of the inliers  (often over $90\%$) from wide baseline  image pairs.  A typical SIFT threshold is shown by the red, $\mathbf{t}=0.66$ curve in  \figref{matching}, while the maximum
number of inliers is shown by the blue  $\mathbf{t}=1$ curve.

Our bilateral models can
procure many additional correspondence
as seen in  \figref{matching_vis}).
These results rely on two
properties of bilateral functions.
Firstly, as shown in \secref{eval},
the functions can be run on SIFT thresholds
that are much weaker than usual. This
produces substantially more,
better distributed  potential inlier matches.
The accompanying explosion of outliers
can be controlled as shown
in  \secref{eval}. This makes the
correspondences usable.
Secondly, once computed, the
 bilateral model
can validate
new matching hypothesis,
using the steps in \secref{sec:implement}.
These hypothesis
can be obtained  by setting $\mathbf{t}=1$.
This produces the green curve of \figref{matching}.

We applied this algorithm to the $35$ image pairs of
 the Heinly dataset of
\secref{eval}.
We incurred no new outlier images compared to our basic outlier rejection technique in \secref{eval} (number  remained at $5$).
However, we  average of $225\%$  more matches than our basic
algorithm.
Overall, we have $470\%$ more matches than standard $0.66$  A-SIFT.
This occurs despite the high noise level at $\mathbf{t}=1$,  with  image pairs having an
average of only $25\%$ inliers.
Note that
the averages mask extreme cases. In one example, our model  successfully
filtered an inlier ratio of below $5\%$.
It had  $4100\%$ more matches
than standard A-SIFT with no outliers. More
modest improvements are recorded when the baseline is narrow.


If correspondence numbers are important,  quasi-dense  NRDC~\cite{NRDC2011} techniques
offer a viable  alternative. While NRDC  provides many more matches, its
average correspondence error of  $5.94$ pixels is significantly  higher than our $3.16$,
and it had $17/35$ images with outliers, compared to our $5/35$.  However,
the bilateral model's primary advantage lies in a  graceful handling of difficult scenes.
\figref{nrdc} shows  NRDC's error distribution has a  heavy tail.
This is due to large sections of erroneous correspondence on difficult scenes.
Ideally, NRDC should be fused with our bilateral functions, however, this
is a research direction we have not yet explored.



\begin{SCfigure}
  \centering
  \includegraphics[width=0.45\textwidth]{nrdc_plot.pdf}
  \caption{Tail distribution of average correspondence error for test image pairs.
    In difficult cases, NRDC gives extremely high average
    errors (in one case reaching $43$ pixels).
    In contrast, bilateral models have  stabler error, with  average error exceeding $15$ pixels only once.
    \label{nrdc}} \vspace{-.2in}
\end{SCfigure}

%For such images, tracking with techniques like~\cite{Brox2010} would give
%better results.

\subsection{Drift-Free Multi-Image Correspondence}
\label{sec:drift}

Multi-image correspondence is a perennial computer vision problem.
Many algorithms like factorization \cite{Tomasi09}, tri-focal tensor \cite{Torr97} and camera calibration \cite{Agrawal97}
require correspondence across multiple  wide-baseline images.
However, feature matchers seldom reliably match the same feature across multiple frames,
while feature trackers are prone 

\begin{figure*}[h]
    \includegraphics[width=\linewidth]{car2.pdf}\\
        \put(0,1){ a) \small Our long tracks}\\
    \includegraphics[width=\linewidth]{car_klt_sift.pdf}\\
        \put(0,0){ b) \small KLT SIFT~\cite{ahbishek04} matching }\\
    \includegraphics[width=0.49\linewidth]{our_car2.pdf} \hfill
    \includegraphics[width=0.49\linewidth]{klt_car2.pdf}\\
        \put(0,0){ c) \small Zoom in on our first and last view }
        \put(175,0){ d) \small Zoom in on KLT's first and last view }
    \caption{Matching across the car sequence. Observe that KLT-SIFT tracking drifts.
        A clear example can be seen at the car's front wheel.
    \label{car_seq}}
\end{figure*}

\noindent to drift.
Bilateral  motion models can solve this problem
as they can find a  specified feature's  matching location in another image.
This is achieved by proposing potential matching locations which are   verified using
 local information.
By matching all images to a  base frame,
the formulation  avoids  drift.
In fact, to save computational time, we automatically choose
the widest baseline (quickly detected by using our algorithm to match low resolution images)  pair  to begin  correspondence.
Examples are shown in \figref{car_seq}. Implementation details and more results are in the supplementary.



\subsection{Needle in the Haystack}

When  multiple
agents operate collaboratively,
they need to
 identify locations of interest to each other.
This becomes a needle-in-the-haystack search
problem which involves locating a
template within  a much larger image.
Bilateral matching is especially adept at this problem as it produces many matches and few outliers.
This creates a large response gap between image pairs from similar
and  different locations, an ideal situation when comparing sub-images.
In practice, we decompose the large image into multiple
 sub-images.
These are ranked based on similarity to the template using gist~\cite{OLIVA01}.
 Bilateral matching is  applied
on the top $10$ candidates to perform the final selection and matching.
Results are shown in \figref{multi_res_1}.
Details and alternative solutions are discussed in the supplementary.


\begin{figure}
    \centering
    \begin{overpic}[width=.24\linewidth]{IMG_0391.jpg}
        \put(0,-12){ \small (a) Input Images }
    \end{overpic}
    \begin{overpic}[width=.24\linewidth]{IMG_0373.jpg}\end{overpic} \vspace{0.2in}
    \begin{overpic}[trim=20mm 120mm 30mm 100mm,clip,width=.49\linewidth]{block.pdf}
        \put(0,-6){ \small (b) Matching}
    \end{overpic} \\ \vspace{-.1in}
    \caption{Examples of our algorithm localizing a template in a large image.
        Note that the template was taken at street level while the
        target image is from an overlooking roof.
    \label{multi_res_1}}
\end{figure}


\section{Conclusion}
We proposed a principled solution for
modeling of
 general motion from noisy, scattered
features matches.
This allows reliable
recovery of large numbers
of inlier matches
without reliance on
situation specific models or RANSAC.
Our formulation extends naturally to associated
correspondence tasks like drift free multi-image correspondence
and  template localization.
Applying the current formulation for dense correspondence estimation  \cite{Yang14}
is an interesting future direction.

\clearpage
{\small
\bibliographystyle{splncs}
\bibliography{CoherentModeling}
}
\end{document}

%
%\clearpage
%
%\bibliographystyle{splncs03}
%\bibliography{egbib}
%\end{document}
