Visualizing 3d reconstruction of match candidates, and the results are problematic:
No obvious good matches.
Significant drift toward the camera.
Marginal likelihood is promoting the worst reconstructions.
Issue 3 is possibly because there is a preference for placing structure near the camera center. If perturbation model is loose enough, each view can pull curves twoard its camera, and the likelihood reward is high.
How does it compare to simple triangulation?
Very poorly! The good triangulation candidates fit basically perfectly -- no perturbation necessary. We should reduce the perturbation variances, but this is causing the clique tree algorithm to become numerically unstable. Is there a better solution for piecewise reconstruction, that avoids taking inverse/cholesky of near-singular matrices?
Open questions
Is the current GP implementation working?
can adjusting GP parameters give reasonabley flexible dynamics without significiatn drift toward camera?
Do we need to linearize the camera model?
Is ML promoting the best matches? Should be roughly in-line with triangulation error
Actually, we have no real evidence that GP smoothing is even working. Need some unit tests:
Test GP smoothing on single curve. is it smoother? is RMS error only minimally affected?
TEST GP on two views of a curve. Can we recover the original curves? Does ML match Matlab implementation?
Test piecewise marginal likelihood -- does it match full-matrix marginal likelihood?