August 15, 2013

Continuing from yesterday.

Tried changing index_delta from 0.5 to 0.25. ML suddenly dropped a *lot*. Realized that oversampling the smoothed curves causes significant degree of many-to-one, and our code prevents skipping more than one or two points during correspondences.

**Main Idea:** Sampling period should be equal to (or close to) the data point-spacing.

Allow indices to correspond to continuous values between the samples.

Modified `correspondence/corr_to_likelihood.m`

to post-process indices to search the neighboring line segments for a better value. Re-ran `tr_prep_likelihood`

to reconstruct Corrs collection. ML improves after fix.

Need to confirm improved indexing by visualizing results. See `experiments/exp_2013_08_15_visualize_indices.m`

, still in progress. Some apparent bugs in aforementioned changes, causing bad results. Still investigating...

Last week, I derived the equation for finding the maximum posterior per-view reconstruction. Now we have a formula for the unobserved mean curve, i.e. the curve that each view is perturbed from. Iterestingly, they both have the same form:

\[
\mu = K^* (S K + I)^{-1} S y
\]

Note that this is slightly different from the form used in a previous post. This form is equivalent, and better reflects the form used by Williams and Rasmussen.

Here, \(K\) is the prior covariance, \(S\) is the likelihood precision matrix, and \(y\) are the virtual observations in 3D. \(K^*\) is the covariance between the observed points (columns) and the points to be predicted (rows). The difference between the per-view and the mean reconstruction is the form of \(K^*\): for the per-view reconstruction, \(K^*\) uses the full prior covariance, whereas with the mean reconstruction, the perturb covariances are set to zero.

Modified `curve_max_posterior_2.m`

by adding an extra optional parameter, `kernel_2`

. If set, it assumes you want a mean reconstruction instead of a per-view reconstruction, and uses `kernel_2`

to build \(K*\).

Added an extra flag to `experiments/exp_2013_08_11_reconstruct_for_web.m`

, which if set to true, will also plot the mean curve.

Improved indexing; Retraining; Distinguishing between camera and plant motion →
← Background ML bugs; Why is Foreground Noise Variance so large?