First of all thanks for the great project. I was trying to replicate some results, but I have a couple of doubts about the way bounding boxes are obtained from dlib landmarks in bbox_from_landmarks() from find_face_landmarks/interfaces/matlab/bbox_from_landmarks.m:
First of all, the bounding box is simply initialised by finding the minimum and maximum coordinates along each dimension. However, immediately afterwards its size is adjusted using the distance between its center and the average location of the keypoints (dev). Could you please explain why this correction is made? Does it make the bounding box more robust in some manner?
Ignoring for the aforementioned correction for a moment, it is common to expand the size the size of the bounding box around its center by some value x (0.2 in this case), e.g.
this operation is quite simple and preserves the aspect ratio. However, in bbox_from_landmarks() the height coordinate is corrected differently (by size(2)*(max(size(1)/size(2),1)*2-1) instead of 0.1 * size(2)). Could you explain the rationale for this alteration?
First of all thanks for the great project. I was trying to replicate some results, but I have a couple of doubts about the way bounding boxes are obtained from
dlib
landmarks inbbox_from_landmarks()
fromfind_face_landmarks/interfaces/matlab/bbox_from_landmarks.m
:First of all, the bounding box is simply initialised by finding the minimum and maximum coordinates along each dimension. However, immediately afterwards its size is adjusted using the distance between its center and the average location of the keypoints (
dev
). Could you please explain why this correction is made? Does it make the bounding box more robust in some manner?Ignoring for the aforementioned correction for a moment, it is common to expand the size the size of the bounding box around its center by some value
x
(0.2 in this case), e.g.this operation is quite simple and preserves the aspect ratio. However, in
bbox_from_landmarks()
the height coordinate is corrected differently (bysize(2)*(max(size(1)/size(2),1)*2-1)
instead of0.1 * size(2)
). Could you explain the rationale for this alteration?Thanks in advance, Davide