ainrichman / Peppa-Facial-Landmark-PyTorch

Facial Landmark Detection based on PyTorch
Apache License 2.0
211 stars 56 forks source link

loss项 #21

Open TryHard-LL opened 1 year ago

TryHard-LL commented 1 year ago

def calculate_loss(predict_keypoints, label_keypoints): landmark_label = label_keypoints[:, 0:136] pose_label = label_keypoints[:, 136:139] leye_cls_label = label_keypoints[:, 139] reye_cls_label = label_keypoints[:, 140] mouth_cls_label = label_keypoints[:, 141] big_mouth_cls_label = label_keypoints[:, 142] landmark_predict = predict_keypoints[:, 0:136] pose_predict = predict_keypoints[:, 136:139] leye_cls_predict = predict_keypoints[:, 139] reye_cls_predict = predict_keypoints[:, 140] mouth_cls_predict = predict_keypoints[:, 141] big_mouth_cls_predict = predict_keypoints[:, 142] landmark_loss = 2 * wing_loss_fn(landmark_predict, landmark_label) loss_pose = mse_loss_fn(pose_predict, pose_label) leye_loss = 0.8 * bce_loss_fn(leye_cls_predict, leye_cls_label) reye_loss = 0.8 * bce_loss_fn(reye_cls_predict, reye_cls_label) mouth_loss = bce_loss_fn(mouth_cls_predict, mouth_cls_label) mouth_loss_big = bce_loss_fn(big_mouth_cls_predict, big_mouth_cls_label) mouth_loss = 0.5 * (mouth_loss + mouth_loss_big) return landmark_loss + loss_pose + leye_loss + reye_loss + mouth_loss, landmark_loss, loss_pose, leye_loss, reye_loss, 请问loss中的pose_predict 、leye_cls_predict、reye_cls_predict 、big_mouth_cls_predict 、mouth_cls_predict 这些对关键点的性能有什么影响?这些是怎么影响最终的关键点预测结果的呢?

ainrichman commented 1 year ago

你好,PFLD论文中有详尽描述。简单说,这些都是辅助网络的预测目标,以增加监督信息的方式来提升网络的特征提取能力