1adrianb / face-alignment-training

Training code for the networks described in "How far are we from solving the 2D & 3D Face Alignment problem? (and a dataset of 230,000 3D facial landmarks)" paper.
https://www.adrianbulat.com/face-alignment
Other
144 stars 48 forks source link

Questions on NME in training #10

Closed wjtan99 closed 6 years ago

wjtan99 commented 6 years ago

I have two questions on NME in training

  1. In your paper NME = 1/N sum(|x-y||2 /d where d is the sqrt(wh of the bounding box). In your code, you use nn.MSECriterion. Did you actually use the normalization by sqrt(w*h)? If yes, can you point me to your lua code?

  2. In your MSECriterion, you use the output in all 4 HG stacks and 4 repetition of labels (heat map of landmarks). Is this a better way than only using MSE at the last stack?

Thanks.

1adrianb commented 6 years ago
  1. Of course :) You are probably confusing the loss function with the way I computed the the error metrics. This repo contains only the trainign code. You can find it here: https://github.com/1adrianb/2D-and-3D-face-alignment/blob/fc4d29999a1f0b8a833805bfe437bd32df886242/utils.lua#L171

  2. Yes, it is better to use all 4.

wjtan99 commented 6 years ago

Thanks for your answers to both questions.
Yes, I did confuse the two. It is clear to me now that you use NME in testing to measure the performance.