The current mode for dynamics is a cubic spline spatial process modulated by a Weiner temporal process. This is allowing excessive drift toward the cameras when curves are long. A stationary covariance function should avoid this, but out model requires zero covariance at the start of a curve.
To resolve this, we can condition the process to start at the origin.
K - K:0 1/K0 K:0'
The equivalent covariance function is:
k_{x|x_0}(x,x') = k(x,x') - k(x, 0) 1/k(0,0) K(0,x')
When k(x,x') is a squared exponential, the conditional covariance function becomes
k_{x|x_0}(x,x') = k(x,x') \left (1 - exp{(-x_i x_j)/s}\right)
This causes the covariance to start at zero, and smoothly transition to the standard kernel, over a time scale (s).
Adding this as an option to the covariance function...
Now getting cholesky failures during reconstruction.
Still struggling with building and debugging on OSX. Got c++11 with init_Compile working on OSX. Can't run dbg without it segfaulting. I'm trying brew update
to rebuild it and all its dependencies. Meanwhile, i'm setting up and ubuntu virtual machine through Vagrant to help with debugging if I can't get gdb going.
The fortran spline library I imported is segfaulting in OSX. Can't debug it, because GDB is segfaulting. HOW DOES NAYONE DEVELOP ON THIS SYSTEM??? I'll dig into it with LLDB while my virtual machine is setting up. Also running valgrind to find out where the illegal access is happening.
When computing ML, must try curves both forward and backward, since the covariance for dynamics is assymetrical. Root motion is much more penalized than tip motion.
Posted by Kyle Simek