From 3aaac952ad83992d72a243eb3a0118a92a1c2565 Mon Sep 17 00:00:00 2001 From: Barzan Hayati Date: Wed, 13 Aug 2025 07:33:19 +0000 Subject: [PATCH] Fix face score --- src/nv_tracker_manager.cpp | 10 +++++----- src/nv_tracker_manager.hpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/nv_tracker_manager.cpp b/src/nv_tracker_manager.cpp index b1a7942..aae7032 100644 --- a/src/nv_tracker_manager.cpp +++ b/src/nv_tracker_manager.cpp @@ -47,9 +47,10 @@ bool NvTrackerManager::create_nv_tracker() { return true; } -void NvTrackerManager::get_face_score(float *user_meta_data) { +float NvTrackerManager::get_face_score(float *user_meta_data) { face_score = (user_meta_data[8] + user_meta_data[11] + user_meta_data[14]) / 3; + return face_score; } bool NvTrackerManager::check_existence(int object_id, int source_id, float area, @@ -228,7 +229,6 @@ GstPadProbeReturn NvTrackerManager::tracker_src_pad_buffer_probe( nvds_acquire_obj_meta_from_pool(batch_meta); face_obj->unique_component_id = FACE_COMPONENT_ID; // Use a new component ID - face_obj->confidence = 1.0; face_obj->rect_params = *face_rect_params; face_obj->rect_params.has_bg_color = 0; @@ -236,8 +236,6 @@ GstPadProbeReturn NvTrackerManager::tracker_src_pad_buffer_probe( face_obj->rect_params.border_color = NvOSD_ColorParams{1.0, 0.0, 0.0, 1.0}; // Red box - manager->get_face_score(user_meta_data); - // FaceCandidate *face_candidate = new FaceCandidate(); FaceCandidTrace::FaceCandidate *face_candidate = new FaceCandidTrace::FaceCandidate(); @@ -248,7 +246,9 @@ GstPadProbeReturn NvTrackerManager::tracker_src_pad_buffer_probe( face_candidate->frame_number = frame_meta->frame_num; face_candidate->h = face_rect_params->height; face_candidate->w = face_rect_params->width; - face_candidate->face_score = manager->face_score; + face_candidate->face_score = manager->get_face_score( + user_meta_data); // manager->face_score; + face_obj->confidence = face_candidate->face_score; //1.0; face_candidate->object_id = obj_meta->object_id; face_candidate->source_id = frame_meta->source_id; bool add_status = face_candidate_trace->add(face_candidate); diff --git a/src/nv_tracker_manager.hpp b/src/nv_tracker_manager.hpp index 10ebea5..68c7859 100644 --- a/src/nv_tracker_manager.hpp +++ b/src/nv_tracker_manager.hpp @@ -51,5 +51,5 @@ class NvTrackerManager { GstPadProbeInfo *, gpointer); static bool check_existence(int, int, float, bool *); - void get_face_score(float *); + float get_face_score(float *); }; \ No newline at end of file