EPro-PnP icon indicating copy to clipboard operation
EPro-PnP copied to clipboard

How to use the p(y|X) to obtain the y*?

Open jichaofeng opened this issue 2 years ago • 5 comments

Thank you for sharing your code. During inference, when we obtain the pose distribution p(y|X) by the probabilistic PnP layer, how to use the p(y|X) to obtain the y*? We can not understand the Section 3.4.

jichaofeng avatar Jul 14 '22 11:07 jichaofeng

Hi! By definition, y* = argmax p(y|X), which is equivalent to solving the optimization problem in Eq. (1). We use Levenberg-Marquardt or Gauss-Newton algorithm to solve the optimization.

Lakonik avatar Jul 14 '22 12:07 Lakonik

Thank you for your answer. y* = argmax p(y|X), which is equivalent to solving the optimization problem in Eq. (1). Are these two optimization function is equivalent? Please excuse my poor math.

jichaofeng avatar Jul 14 '22 14:07 jichaofeng

Yes they are equivalent. y* = argmax p(y|X) = argmin -log p(y|X) = argmin -log p(X|y) + ~~const~~

Lakonik avatar Jul 14 '22 15:07 Lakonik

I probably understand the process. EPro-PnP is a differentiable loss function to supervise the correspondences X. During inference, the learned X is used to obtain the y*, and EPro-PnP is no longer used. Is this understanding right?

jichaofeng avatar Jul 15 '22 00:07 jichaofeng

Yes that's right

Lakonik avatar Jul 15 '22 03:07 Lakonik