the original features show that a real secondary consistency check performs better. The reasoning for our design decisions in Figure \[ffscales\] can be found in Section \[decisions\].

Evaluation Methodology for Patch Matching
-----------------------------------------

In previous works, the evaluation of the matching robustness of (learning based) features was performed by evaluation methods commonly used in classification problems like ROC in [@brown2011discriminative; @zagoruyko2015learning] or PR in [@simo2015discriminative]. However, patch matching is not a classification problem, but a binary decision problem. While one can freely label data in classification problems, patch matching requires to choose, at each iteration, out of two proposal patches $p_2, p^*_2$ the one that fits better to $p_1$. The only exception from this rule is outlier filtering. This is not really an issue, as there are better approaches for outlier filtering, like the forward backward consistency check [@bailer2015flow], which is more robust than matching-error based outlier filtering[^1]. In our evaluation, the *matching robustness* $r$ of a network is determined as the probability that a wrong patch $p^-_2$ is not confused with the correct patch $p^+_2$: $$r = \sum_{ (I_1,I_2) \in S} \sum_{p_1 \in I_1}  P^{r}_{p_1}( p^-_2 )/ (|I_1| |S|)$$ $$\begin{split}
  P^{r}_{p_1}( p^-_2 ) =  P( L_2(p_1,p_2^+)  < L_2(p_1,p^-_2) ),\\
  