ESanchezLozano / Action-Units-Heatmaps

Code for BMVC paper "Joint Action Unit localisation and intensity estimation through heatmap regression"
85 stars 26 forks source link

Could you please explain the label perturbation more clearly? #3

Closed huqiaoping closed 5 years ago

huqiaoping commented 5 years ago

In 3.4 Data augmentation, you mentioned the label perturbation. Here, you write: Ik = 0.2 Ik abs(z), where z belongs to N(0,1)

I think, Ik can be 0,1,2,3,4,5, so after this formula computing, Ik pretend to be 0,0.2,0.4,0.6,0.8,1.0.?

Do you mean to make the Ik in range (0,1) from range (0,5)? Why?

But in the Huber loss function in 3.3 Loss Function, may I know what range do you think the y(i,j) should be? ragne (0, 1) or range (0,5)?

ESanchezLozano commented 5 years ago

Sorry for the late response, I haven't realised there was an issue open in here.

Regarding the data augmentation, the new Ik is added to the original Ik, this formula might be better read as Ik = Ik + 0.2 lk abs(z)

The range is between (0,6) after the augmentation for the Huber Loss. Hope this helps, do not hesitate to ask further questions if not :)

My apologies for the late reply, please do mention my username so that I can be aware I am receiving these notifications.

Many thanks

huqiaoping commented 5 years ago

Hi ESanchezLozano, Thanks for your reply. I have another question. How to get accurate action unit intensity during testing, after getting the maxinum of the output map? For example, if the maximum is 4.827, the intensity should be 4 or 5? I think I have made a mistake which may mislead you too. z belongs to N(0,1), so |z| belongs to range(0,1) with a possibility at 68%, |z| belongs to range(0, 2) with a possibility at 95%. Ik = Ik + 0.2 lk abs(z) when old Ik = 0, new Ik = 0 when old Ik = 1, new Ik belongs to range(1, 1.2) with a possibility at 68%, and range(1, 1.4) with a possibility at 95%. when old Ik = 2, new Ik belongs to range(2, 2.4) with a possibility at 68%, and range(2, 2.8) with a possibility at 95%. when old Ik = 3, new Ik belongs to range(3, 3.6) with a possibility at 68%, and range(3, 4.2) with a possibility at 95%. when old Ik = 4, new Ik belongs to range(4, 4.8) with a possibility at 68%, and range(4, 5.6) with a possibility at 95%. when old Ik = 5, new Ik belongs to range(5, 6) with a possibility at 68%, and range(5, 7) with a possibility at 95%.

So, I think: if the maximum of output map belongs to range(-∞, 1), intensity should be 0. if the maximum of output map belongs to range(1, 2), intensity should be 1. if the maximum of output map belongs to range(2, 3), intensity should be 2. if the maximum of output map belongs to range(3, 4), intensity should be 3. if the maximum of output map belongs to range(4, 5), intensity should be 4. if the maximum of output map belongs to range(5, ∞), intensity should be 5.

I wonder do you comput the intensity in the same way? If not, how you comput intensity according to the maxinum of the output map?

Many thanks. Looking forwaord to your reply.

Qiaoping

ESanchezLozano commented 5 years ago

Hi,

As I mention in the paper, in this framework intensities are considered continuous values within 0 and 5, meaning that any value within this range is valid too. Nevertheless, the perturbation is done only when creating the heatmaps, whereas the labels, properly speaking, are not changed; this is also mentioned in the paper. At test time, values are taken as they come out from the network, i.e. they are not mapped into a categorical number. They are only clipped to be 0-5.

The motivation behind this approach comes from: 1) if the labels are taken as they are, categorical classes 0-5, then all heatmaps will be just these values, and the network will fail to generalise for the task of regression. 2) Many times the AU annotation is ambiguous, and the appearance changes associated to specific AUs vary from person to person, and therefore sticking to fixed values will also create an ambiguity hard to overcome.

Hope this explains the question, feel free to ask otherwise :) Thanks

huqiaoping commented 5 years ago

Hi ESanchezLozano,

Thanks very much !

Best wishes. Qiaoping