The DPM detector (https://cs.brown.edu/people/pfelzens/papers/lsvm-pami.pdf) uses latent-svm to train the weights of the root and part filters.

During training for positive samples, it alternates between computing the best positions for the filters, and optimizing the weights given the positions.

Given the weights, I obtain the best positions by performing a detection step (as described in the paper). Given the positions, I can optimize the weights. However, the detection step provides absolute positions. So how can I obtain the anchors ? Also each input sample provides different positions.

So in notation of the paper, I need to compute $(dx_{i},dy_{i}) = (x_{i},y_{i})-(2(x_{0},y_{0})+v_{i})$. Here, $x_{i},y_{i}$ is the position of the i-th part filter, $(x_{0},y_{0})$ is the position of the root filter, and $v_{i}$ is the anchor vector.

Likewise during inference.

If the method is applied to an image, I can compute the similary score for each part filter as well as the root filter. However, I need the anchors for each part filter to evaluate the displacements. However, latent svm computes for each positive input sample its own positions. So how do I get the final anchor positions after training? I could not find the answer in the paper.

  • $\begingroup$ ok, i see the detection part (using dynamic programming) provides the anchor. $\endgroup$ – carlo__ May 1 at 14:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.