Hi!
I'm a relatively new user of Ceres and I'm currently trying to auto-tune the process noise matrix parameters (just the diagonal entries) of the standard Kalman filter via Ceres.
I have the ground truth bounding boxes, which are used for measurement update as well every 10th step. The states are the bounding box coordinates + velocity of the center of bbox.
I have the implementation as follows: link:
https://github.com/goksanisil23/lazy_minimal_robotics/blob/main/Tracking/VisualTracking/KalmanErrorTerm.cppI would like to get some general feedback on the implementation, especially since I'm a bit confused about wrapping the numerical constants with the template type before assigning to my state vector during initialization.
I initially wanted to add a residual block for each prediction step of the KF, but since the internal states of the filter at k, effects k+1, I created one residual block with N dimensions where N is the size of my ground truth dataset.
I'm open to suggestions since I'm quite sure this is not the right way to implement it.
I'm currently getting 0 cost for example, and the optimization terminates immediately.
Thanks in advance!