yulequan / face-alignment-in-3000fps

a c++ implementation of face alignment in 3000fps
Other
378 stars 232 forks source link

why the features devided by max_radio_radius_ #38

Open shekmun opened 4 years ago

shekmun commented 4 years ago

feat[0] =candidate_pixel_locations(max_id,0)/max_radioradius; is divided by max_radioradius.

When the random forest is training, the candidated position is calculated with the array candidate_pixel_locations. double project_x1 = rotation(0,0) candidate_pixel_locations(j,0) + rotation(0,1) candidate_pixel_locations(j,1);----(1)

But when calculating the binary features, the stored feature (which is divided by max_radioradius) is used. double x1 = randforest[iter].nodes[currnode].feat[0]; ... double project_x1 = rotation(0,0) x1 + rotation(0,1) y1;----(2)

which meas that the above code (1) and (2) is not using the same candidate_pixel_locations.