Optical flow: Brox's method (zip) (pdf)
image2_new.png
Image 1
image1_new.png
Image 2
image3_new.png
Warped image
uvalues_new.png
Horizontal flow
vvalues_new.png
Vertical flow
ofvalues_new.png
Optical flow norm
References / Acknowledgements
  • High accuracy optical flow estimation based on a theory for warping
    Thomas Brox, Andrés Bruhn, Nils Papenberg, Joachim Weickert
    European Conference on Computer Vision (ECCV), Prague, Czech Republic, May 2004.
  • Particle Video
    Peter Sand, Seth Teller
    IEEE Conference on Computer Vision and Pattern Recognition (CVPR), New York, USA, June 2006.
  • Templates for the solution of linear systems: Building Blocks for Iterative Methods, 2nd Edition
    R. Barrett et. al
    netlib.org/templates/templates.pdf
This code implements the paper "High accuracy optical flow using a theory for warping", presented at ECCV 2004. Details of implementation, especially the numerics, have been adapted from the PhD thesis of Dr. Thomas Brox.
Files
optical_flow_brox.m
Main file that drives the algorithm. It loads two images, computes derivatives/laplacian pyramids, calls optical flow and warping routines and delivers the final computed flow. Values for various weights are set here.
resolutionProcess_brox.m
Main function for computing the optical flow at the current level in the Laplacian Pyramid, given previous level result.
constructMatrix_brox.m
This function computes the matrices needed for the SOR relaxation procedure. See the paper for details.
sor.m split.m
Functions for the SOR relaxation procedure. Code courtesy Netlib. (code)
psiDerivative.m, psidashFS_brox.m
These two functions compute the data and the smoothness term respectively. Numerics in psidashFS_brox.m have been adapted from Dr. Brox's PhD thesis.
gaussDeriv.m, gaussianRescaling.m, imgGrad.m, gaussianSmooth.m, image_warp.m
Various image processing routines for smoothing images, computing laplacian pyramids with desired scaling and for warping images using computed optical flow.
Optical flow: Brox's method, Sand's variation (zip) (pdf)
image1_car.png
Image 1
image2_car.png
Image 2
image3_car.png
Warped image
uvalues_car.png
Horizontal flow
vvalues_car.png
Vertical flow
ofvalues_car.png
Optical flow norm
This code implements a variation of the paper "High accuracy optical flow using a theory for warping", presented at ECCV 2004. Details of implementation, especially the numerics, have been adapted from the PhD thesis of Dr. Thomas Brox. Extension to different color channels, and the concept of a local smoothing function, has been adopted from the PhD thesis of Dr. Peter Sand.
Files
optical_flow_sand.m
Main file that drives the algorithm. It loads two images, computes derivatives/laplacian pyramids, calls optical flow and warping routines and delivers the final computed flow. Values for various weights are set here.
resolutionProcess_sand.m
Main function for computing the optical flow at the current level in the Laplacian Pyramid, given previous level result.
constructMatrix_sand.m
This function computes the matrices needed for the SOR relaxation procedure. See the Phd thesis of Dr. Sand for details.
getalphaImg.m
This function computes smoothness image given smoothness parameters, using image gradients. See the paper for details.
sor.m split.m
Functions for the SOR relaxation procedure. Code courtesy Netlib. (code)
psiDerivative.m, psidashFS_sand.m
These two functions compute the data and the smoothness term respectively. Numerics in psidashFS_sand.m have been adapted from Dr. Brox's PhD thesis.
gaussDeriv.m, gaussianRescaling.m, imgGrad.m, gaussianSmooth.m, image_warp.m
Various image processing routines for smoothing images, computing laplacian pyramids with desired scaling and for warping images using computed optical flow.