at test time. Furthermore, even with pixel-wise normalization their approach trails heuristic approaches on MPI-Sintel [@butler2012naturalistic]. A recent approach is DeepDiscreteFlow [@Guney2016ACCV] which uses DiscreteFlow [@menze2015discrete] as basis instead of patch matching. Despite using recently invented dilated convolutions [@luo2016efficient] (we do not use them, yet) they also trail the original DiscreteFlow approach on some datasets.

       Layer         1        2        3       4        5       6      7      8
  --------------- ------- --------- ------- ------- --------- ------ ------ ------
       Type        Conv    MaxPool   Conv    Conv    MaxPool   Conv   Conv   Conv
    Input size     56x56    52x52    26x26   22x22    18x18    9x9    5x5    1x1
    Kernel size     5x5      2x2      5x5     5x5      2x2     5x5    5x5    1x1
   Out. channels    64       64       80      160      160     256    512    256
      Stride         1        2        1       1        2       1      1      1
   Nonlinearity    Tanh       -      Tanh    Tanh       -      Tanh   Tanh   Tanh

  : The CNN architecture used in our experiments.[]{data-label="arch"}

Our Approach
============

Our approach is based on a Siamese architecture [@bromley1993signature]. The aim of Siamese networks is to learn to calculate a meaningful feature vector $D(p)$ for each image patch $p$. During training the $L_2$ distance between feature vectors of matching patches ($p_1 \equiv p^+_2$) is reduced, while the $L_2$ distance between feature vectors of non-matching patches ($p_1 \neq p^-_2$) is 