From 31d7f110109e5be45e86e7f1267c01d15dd75b71 Mon Sep 17 00:00:00 2001 From: tzhong518 Date: Fri, 26 Jan 2024 10:41:05 +0900 Subject: [PATCH 1/2] fix: highest confidence Signed-off-by: tzhong518 --- .../src/node.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/perception/traffic_light_multi_camera_fusion/src/node.cpp b/perception/traffic_light_multi_camera_fusion/src/node.cpp index 1582040648624..10ab3f2aea425 100644 --- a/perception/traffic_light_multi_camera_fusion/src/node.cpp +++ b/perception/traffic_light_multi_camera_fusion/src/node.cpp @@ -82,13 +82,17 @@ int compareRecord(const traffic_light::FusionRecord & r1, const traffic_light::F int visible_score_1 = calVisibleScore(r1); int visible_score_2 = calVisibleScore(r2); if (visible_score_1 == visible_score_2) { - int area_1 = r1.roi.roi.width * r1.roi.roi.height; - int area_2 = r2.roi.roi.width * r2.roi.roi.height; - if (area_1 < area_2) { - return -1; - } else { - return static_cast(area_1 > area_2); - } + double sum_1 = 0; + for_each(r1.signal.elements.begin(), r1.signal.elements.end(), [&sum_1](const auto & elem) { + sum_1 = sum_1 + elem.confidence; + }); + double sum_2 = 0; + for_each(r2.signal.elements.begin(), r2.signal.elements.end(), [&sum_2](const auto & elem) { + sum_2 = sum_2 + elem.confidence; + }); + double confidence_1 = sum_1 / r1.signal.elements.size(); + double confidence_2 = sum_2 / r2.signal.elements.size(); + return confidence_1 < confidence_2 ? -1 : 1; } else { return visible_score_1 < visible_score_2 ? -1 : 1; } From 564bf45b9b1a500d652638ba3ed4f290b4e4d613 Mon Sep 17 00:00:00 2001 From: tzhong518 Date: Fri, 16 Feb 2024 14:07:08 +0900 Subject: [PATCH 2/2] fix: use the confidence of the first element Signed-off-by: tzhong518 --- .../traffic_light_multi_camera_fusion/src/node.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/perception/traffic_light_multi_camera_fusion/src/node.cpp b/perception/traffic_light_multi_camera_fusion/src/node.cpp index 10ab3f2aea425..ee91d91407655 100644 --- a/perception/traffic_light_multi_camera_fusion/src/node.cpp +++ b/perception/traffic_light_multi_camera_fusion/src/node.cpp @@ -82,16 +82,8 @@ int compareRecord(const traffic_light::FusionRecord & r1, const traffic_light::F int visible_score_1 = calVisibleScore(r1); int visible_score_2 = calVisibleScore(r2); if (visible_score_1 == visible_score_2) { - double sum_1 = 0; - for_each(r1.signal.elements.begin(), r1.signal.elements.end(), [&sum_1](const auto & elem) { - sum_1 = sum_1 + elem.confidence; - }); - double sum_2 = 0; - for_each(r2.signal.elements.begin(), r2.signal.elements.end(), [&sum_2](const auto & elem) { - sum_2 = sum_2 + elem.confidence; - }); - double confidence_1 = sum_1 / r1.signal.elements.size(); - double confidence_2 = sum_2 / r2.signal.elements.size(); + double confidence_1 = r1.signal.elements[0].confidence; + double confidence_2 = r2.signal.elements[0].confidence; return confidence_1 < confidence_2 ? -1 : 1; } else { return visible_score_1 < visible_score_2 ? -1 : 1;