1:N
This commit is contained in:
parent
62cce21166
commit
a5f53b1256
|
|
@ -205,17 +205,21 @@ def _classify_frame(features, svm, scaler, expected_user):
|
|||
second_df = float(df_values[df_sorted[1][0]]) if len(df_sorted) > 1 else -999.0
|
||||
df_margin = top_df - second_df
|
||||
|
||||
# === Verifikasi 1:1 ===
|
||||
# Untuk model LBP+SVM, cukup cek skor OVR user sendiri.
|
||||
# Gap check dihapus karena terlalu ketat untuk variasi pencahayaan/sudut.
|
||||
gap = top_df - user_df if predicted_class != expected_user else 0.0
|
||||
# === Verifikasi 1:N ===
|
||||
# Mengecek apakah prediksi tertinggi adalah user yang login
|
||||
# dan memastikan skornya memenuhi threshold
|
||||
gap = top_df - second_df if len(df_sorted) > 1 else top_df
|
||||
|
||||
if user_df >= DF_APPROVED:
|
||||
status = "APPROVED"
|
||||
is_match = True
|
||||
elif user_df >= DF_PENDING:
|
||||
status = "PENDING"
|
||||
is_match = True
|
||||
if predicted_class == expected_user:
|
||||
if top_df >= DF_APPROVED:
|
||||
status = "APPROVED"
|
||||
is_match = True
|
||||
elif top_df >= DF_PENDING:
|
||||
status = "PENDING"
|
||||
is_match = True
|
||||
else:
|
||||
status = "REJECTED"
|
||||
is_match = False
|
||||
else:
|
||||
status = "REJECTED"
|
||||
is_match = False
|
||||
|
|
@ -329,8 +333,7 @@ def verify_face(model_dir, user_id, input_path, is_video=False):
|
|||
"frames_pending": aggregated['frames_pending'],
|
||||
"frames_rejected": aggregated['frames_rejected'],
|
||||
"approved_ratio": aggregated['approved_ratio'],
|
||||
"predicted_user": expected_user if aggregated['match'] else "unknown",
|
||||
"actual_predicted": max(set(r['predicted_class'] for r in frame_results), key=lambda c: sum(1 for r in frame_results if r['predicted_class'] == c)),
|
||||
"predicted_user": max(set(r['predicted_class'] for r in frame_results), key=lambda c: sum(1 for r in frame_results if r['predicted_class'] == c)),
|
||||
"expected_user": expected_user,
|
||||
"user_id": int(user_id) if str(user_id).isdigit() else str(user_id),
|
||||
"message": None,
|
||||
|
|
|
|||
Loading…
Reference in New Issue