You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In parse_facials_webface(facials), it is clearly given that if a landmark doesn't exist, then it is not recorded.
E.g., you may just have half a face in an image, then the landmarks may be less than 5 points
if len(facial) >= 19:
landmarks = []
for i in range(5):
x, y, t = facial[i * 3 + 4:i * 3 + 4 + 3]
if t == -1:
landmarks = None
break #(continue should be better,if used landmark_gt_mask recording method should be updated consequently)
landmarks.append([x, y])
while in LDataset.getitem, this program will crash if number of landmarks is not 5,
To correct this probblem, changes are made in the following link (where a "bymc" keyword can be found nearby)
https://github.com/SpaceView/DBFace/blob/master/train/small/train-small-H-keep12-ignoresmall.py
Description
In parse_facials_webface(facials), it is clearly given that if a landmark doesn't exist, then it is not recorded.
E.g., you may just have half a face in an image, then the landmarks may be less than 5 points
while in LDataset.getitem, this program will crash if number of landmarks is not 5,
Changes made
add a landmark_gt_mask
to indicate any special points where landmark values doesn't exist
Now the non-existing landmark_gt should contribute nothing to wingloss, thus
Hope this is sufficient to cope this problem, please check.
The text was updated successfully, but these errors were encountered: