-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why liftJacobian #91
Comments
I also noticed that in the ceres solver this page if you want to update the incremental
which shows that it goes from over-parameterized space 7 to 6.
to finally get the |
Without looking at the details, I think it's simply done to fit to Ceres' API, which expects Jacobians wrt the ambient space, i.e. 7DoF, and does the multiplication to get Jacobians wrt the local parameterization itself. You cannot give minimal Jacobians directly to Ceres. I think this mostly for historic reasons and also has advantages (Residuals are independent of the local parameterization). But it also has disadvantages, as you point out here. Although the actual runtime overhead is probably not very noticable in this case. |
@zhaozhongch Do you have change to right Jacobian and evaluate these actural results? |
Maybe there won't be any people answering this question since OKVIS is old but I am confused about the operation in the OKVIS jacobian recently.
In all of the
XXError.cpp
, the OKVIS inheritance the Ceres Solver'sEvaluate
function, which is used to provide theerror
andjacobian
definition. I useReprojectionError.hpp
for example. In the codeEvaluateWithMinimalJacobians
function, it hasLet me assume the reprojection error is$\mathbf{e} \in \mathbb{R}^2$ , which is the pixel reprojection error defined in the paper equation 6. Clearly, from $so(3)$ . The $\Delta x = (J^TJ)^{-1}J^Tf$ in a minimal representation. Then we can use something like $x_{k+1} = x_{k}\text{Exp}(\Delta x)$ to update the state such as camera pose, as stated in the ceres local parameterization part.$\Delta x = (J^TJ)^{-1}J^Tf$ has 7 DOF. Then in OKVIS directly add $x_{k+1} = x_{k} + \Delta x$ to update the state since they have the same DOF now? This doesn't sound reasonable.
J0_minimal
definition, it is the jacobian of the error w.r.t the minimal representation, i.e., the jacobian to the Lie AlgebraJ0_minimal
has 6 DOF which are 3 (translation) + 3 (Lie algebra) shows that. But finally, OKVIS usesJ_lift
to move the jacobian from minimal representation to the over-parameterized space, which is 3 (translation) + 4 (quaternion).I don't understand why OKVIS needs to move the jacobian from the minimal representation to the overparameterized representation. Because by using the Jacobian in minimal representation, we can update the incremental
By using J_lift, then J_0 is back to overparameterized space, then the incremental
The text was updated successfully, but these errors were encountered: