Skip to content
Snippets Groups Projects
Commit b85e4a94 authored by Stephan Hilb's avatar Stephan Hilb
Browse files

use nodal interpolation for optflow on image mesh

parent c33670b7
No related branches found
No related tags found
No related merge requests found
......@@ -19,29 +19,27 @@ ctx(experiment_convergence_rate, "fem/convergence/rate")
# pd est, L1-TV, bad
# applications
# misc experiments
# denoising
ctx(experiment_denoise, "fem/denoise")
# inpainting
# inpainting (OLD)
ctx(experiment_inpaint, "fem/inpaint")
# adaptive optical flow
ctx(experiment_optflow_middlebury_all, "fem/optflow/middlebury")
# additional experiments for paper
# combined inpainting + denoising with mixed noise
ctx(experiment_inpaint_denoise, "fem/optflow/inpaint_denoise")
# comparison: warping and adaptivity
ctx(experiment_optflow_middlebury_warping_comparison, "fem/optflow/middlebury_warping_comparison")
function paper1(ctx)
# newton vs other algs
ctx(experiment_convergence_rate, "fem/convergence/rate")
# denoising
ctx(experiment_denoise, "fem/denoise")
# combined inpainting + denoising with mixed noise
ctx(experiment_inpaint_denoise, "fem/optflow/inpaint_denoise")
ctx(experiment_inpaint_denoise, "fem/inpaint_denoise")
# comparison: warping and adaptivity
ctx(experiment_optflow_middlebury_warping_comparison, "fem/opticalflow/middlebury_warping_comparison")
end
function paper2(ctx)
# comparison: warping and adaptivity
# TODO: adaptivity parameter?
ctx(experiment_optflow_middlebury_warping_comparison, "fem/opticalflow/middlebury_warping_comparison")
end
......@@ -1501,7 +1501,12 @@ function optflow(ctx)
size(ctx.params.imgf0) == size(ctx.params.imgf1) ||
throw(ArgumentError("non-matching image sizes"))
project_image! = project_l2_lagrange!
#project_image! = project_l2_lagrange!
project_image!(f, img) =
ctx.params.n_refine == 0 ?
interpolate!(f, x -> evaluate_bilinear(img, x)) : # fine mesh
project_l2_lagrange! # coarse adaptive mesh
eps_newton = 1e-3 # cauchy criterion for inner newton loop
eps_warp = 0.05
......@@ -1678,6 +1683,13 @@ function experiment_optflow_middlebury_warping_comparison(ctx)
warp = false, refine = false, n_refine = 0)
ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
warp = true, refine = false, n_refine = 0)
end
function experiment_optflow_middlebury_warping_comparison_adaptive(ctx)
ctx(experiment_optflow_middlebury_all_benchmarks, "vanilla";
warp = false, refine = false, n_refine = 0)
ctx(experiment_optflow_middlebury_all_benchmarks, "warping";
warp = true, refine = false, n_refine = 0)
ctx(experiment_optflow_middlebury_all_benchmarks, "adaptive-warping";
warp = true, refine = true, n_refine = 6)
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment