of subpixel refinement is to refine the position of these keypoints in order to improve the quality of the final 3D reconstruction.

Energy minimization methods [@Lucas1981; @Hager1998; @Shum2000; @Baker2001; @Benhimane2004] have been the de-facto method for performing subpixel refinement. These can be divided into variants of the Lucas-Kanade (LK) algorithm, or the efficient second-order minimization (ESM) algorithm. Among them, the inverse compositional variant of the LK algorithm (IC-LK) [@Lucas1981], along with the ESM algorithm [@Benhimane2004] are preferred due to their computational efficiency. The IC-LK method is efficient as the Jacobian can be pre-computed and re-used during subsequent iterations, while the ESM method has a high convergence rate.

Besides energy-based methods, learning-based approaches [@Cootes98; @Jurie2001; @Xiong2013; @Xiong2014; @Xiong2015] have been studied extensively in the broader context of template matching, with subpixel refinement being one of its applications. In a pre-computation step, a set of synthetic warps is applied to a template patch, and the resulting change in pixel intensities is measured. A Linear Predictor, which predicts the change in pixel intensities to the corresponding update in warp parameters is then learned. Once learned, warp updates can be obtained via simple matrix-vector multiplications, making it computationally cheaper compared to energy-based methods.

However, 