Giter VIP home page Giter VIP logo

Comments (2)

uricamic avatar uricamic commented on May 21, 2024 1

Hi @cat3333,

I am glad you asked, since now if anyone has the similar question, I can refer to this answer :)

1)The first set are landmarks coordinates in the original image, while the second set represents the landmark coordinates in the normalized frame. The format is s_i = [x_i; y_i], i.e. the first row are x-coordinates of landmarks, second row are y-coordinates and each column represents a landmark, they are numbered as in the images in the paper.

  1. Yes, the landmarks are actually located just in the normalized frame. The coordinates in the original image are computed by back projection (based on coefficients of the affine transform computed during the normalized frame acquisition, i.e. the in-plane rotation + scale to a fixed size + translation of the origin).

  2. see answer to 1). The only problem is the re-numbering of landmarks due to missing self-occluded ones. However, it is easy to compute the order based on the frontal view. In MATLAB it is as follows:

visible_subset = {
  [1 2 3       7 8 9       12 13 14       17 18 19    21] % -profile
  [1 2 3 4 5 6 7 8 9 10 11 12 13 14       17 18 19 20 21] % -half-profile
  [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21] %  frontal
  [1 2 3 4 5 6 7 8 9 10 11       14 15 16 17 18 19 20 21] %  half-profile
  [      4 5 6     9 10 11       14 15 16    18 19 20 21] %  profile
};

views = {'-profile', '-half-profile', 'frontal', 'half-profile', 'profile'};

I will soon upload the learning scripts for the jointmv detector, where this problem is addressed.

  1. The bounding box is easy to draw, since you need its coordinates anyway. To get the enlarged bounding box which is actually used to form the normalized frame, you can either use the facebox coordinates and bw_margin of clandmark class, or you can play with the getHinv() and getH() methods, which return the affine transformation matrix to get points to the normalized frame or back to the original image.

  2. H and W are actually fixed in the model, parameter bw, use getBaseWindowSize() method to get the width and height of the normalized frame.

from clandmark.

cat3333 avatar cat3333 commented on May 21, 2024

Thanks for your quick reply and detailed solutions!!

They help me a lot! =)

from clandmark.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.