Skip to content

Commit 3a4d702

Browse files
committed
Additional fixes
1 parent ede8800 commit 3a4d702

5 files changed

Lines changed: 23 additions & 24 deletions

File tree

controller/src/controller/reid.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from scene_common import log
99

1010
class ReIDDatabase(ABC):
11-
def prepare_reid_dict(self, embedding_vector, dimensions=None,
12-
caller_name="prepare_reid_dict",
11+
def prepareReidDict(self, embedding_vector, dimensions=None,
12+
caller_name="prepareReidDict",
1313
normalize_embeddings=False):
1414
"""Prepare a normalized/validated ReID payload from arbitrary vector shapes.
1515
@@ -46,10 +46,10 @@ def prepare_reid_dict(self, embedding_vector, dimensions=None,
4646
"dimensions": expected_dimensions,
4747
}
4848

49-
def _prepare_reid_vector(self, reid_vector, dimensions, caller_name,
49+
def prepareReidVector(self, reid_vector, dimensions, caller_name,
5050
normalize_embeddings=False):
5151
"""Backward-compatible wrapper returning only the prepared vector."""
52-
prepared_reid = self.prepare_reid_dict(
52+
prepared_reid = self.prepareReidDict(
5353
reid_vector,
5454
dimensions,
5555
caller_name,

controller/src/controller/uuid_manager.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import numpy as np
1010

11-
from controller.vdms_adapter import VDMSDatabase, IP_SCORE_TOLERANCE
11+
from controller.vdms_adapter import VDMSDatabase, COSINE_SIMILARITY_TOLERANCE
1212
from controller.moving_object import ReidState, MovingObject
1313
from scene_common import log
1414
from scene_common.timestamp import get_epoch_time
@@ -561,7 +561,7 @@ def _isSimilarityMatch(self, metric_value, threshold):
561561
if self._isHigherBetterMetric():
562562
# For IP metrics, scores must lie within [-1, 1] (normalized embeddings).
563563
# Allow a small tolerance to absorb float32 rounding from VDMS computation.
564-
if metric_value < -(1.0 + IP_SCORE_TOLERANCE) or metric_value > (1.0 + IP_SCORE_TOLERANCE):
564+
if metric_value < -(1.0 + COSINE_SIMILARITY_TOLERANCE) or metric_value > (1.0 + COSINE_SIMILARITY_TOLERANCE):
565565
return False
566566
return metric_value > threshold
567567
return metric_value < threshold
@@ -592,7 +592,7 @@ def _findBestMetricCandidate(self, entities):
592592
metric_value = entity.get('_distance')
593593
if metric_value is None or not math.isfinite(metric_value):
594594
continue
595-
if is_higher_better and (metric_value < -(1.0 + IP_SCORE_TOLERANCE) or metric_value > (1.0 + IP_SCORE_TOLERANCE)):
595+
if is_higher_better and (metric_value < -(1.0 + COSINE_SIMILARITY_TOLERANCE) or metric_value > (1.0 + COSINE_SIMILARITY_TOLERANCE)):
596596
log.warning(
597597
f"Ignoring out-of-range IP similarity score {metric_value} "
598598
f"for uuid={entity.get('uuid')}")

controller/src/controller/vdms_adapter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
SIMILARITY_METRIC = "L2"
2121
# Tolerance applied to the theoretical [-1, 1] IP score bounds to absorb
2222
# float32 rounding errors from VDMS normalization and inner-product computation.
23-
IP_SCORE_TOLERANCE = 1e-6
23+
COSINE_SIMILARITY_TOLERANCE = 1e-6
2424

2525
class VDMSDatabase(ReIDDatabase):
2626
def __init__(self, set_name=SCHEMA_NAME,
@@ -58,7 +58,7 @@ def _is_valid_similarity_score(self, score):
5858

5959
# With normalized embeddings, Inner Product must stay within [-1, 1].
6060
# Allow a small tolerance to absorb float32 rounding from VDMS.
61-
if self._uses_inner_product_metric() and (value < -(1.0 + IP_SCORE_TOLERANCE) or value > (1.0 + IP_SCORE_TOLERANCE)):
61+
if self._uses_inner_product_metric() and (value < -(1.0 + COSINE_SIMILARITY_TOLERANCE) or value > (1.0 + COSINE_SIMILARITY_TOLERANCE)):
6262
return False
6363

6464
return True
@@ -252,7 +252,7 @@ def addEntry(self, uuid, rvid, object_type, reid_vectors, set_name=SCHEMA_NAME,
252252
normalize_embeddings = self._uses_inner_product_metric()
253253

254254
for reid_vector in reid_vectors:
255-
prepared_reid = self.prepare_reid_dict(
255+
prepared_reid = self.prepareReidDict(
256256
reid_vector,
257257
self.dimensions,
258258
"addEntry",
@@ -469,7 +469,7 @@ def findMatches(self, object_type, reid_vectors, set_name=SCHEMA_NAME,
469469
blob = []
470470
normalize_embeddings = self._uses_inner_product_metric()
471471
for reid_vector in reid_vectors:
472-
vec_array = self._prepare_reid_vector(
472+
vec_array = self.prepareReidVector(
473473
reid_vector,
474474
self.dimensions,
475475
"findMatches",

tests/functional/tc_reid_unique_count.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ def check_unique_detections(params):
163163
"""! Verify if more than expected unique detections aren't found.
164164
@return BOOL True for the expected behaviour.
165165
"""
166-
interval = 10
166+
interval = 10 # seconds
167167
start_time = time.time()
168168
expect_exceed = expect_exceed_max_unique_count(params)
169169
exceeded_scenes = set()
@@ -187,7 +187,6 @@ def check_unique_detections(params):
187187

188188
log.info(f"Status after {int(time.time() - start_time)} / {TEST_WAIT_TIME} sec")
189189

190-
191190
for scene, scene_state in detection_count.items():
192191
current = scene_state["current"]
193192
maximum = scene_state["maximum"]

tests/sscape_tests/vdms_adapter/test_vdms_adapter.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -218,14 +218,14 @@ class TestAddEntry:
218218

219219
@patch('controller.vdms_adapter.vdms.vdms')
220220
def test_prepare_reid_dict_infers_dimensions_from_row_vector(self, mock_vdms_class):
221-
"""Verify prepare_reid_dict infers dimensions and flattens (1, N) input."""
221+
"""Verify prepareReidDict infers dimensions and flattens (1, N) input."""
222222
mock_vdms_instance = MagicMock()
223223
mock_vdms_class.return_value = mock_vdms_instance
224224

225225
db = VDMSDatabase()
226226
row_vector = np.arange(12, dtype=np.float32).reshape(1, 12)
227227

228-
prepared = db.prepare_reid_dict(row_vector, dimensions=None, caller_name="unit-test")
228+
prepared = db.prepareReidDict(row_vector, dimensions=None, caller_name="unit-test")
229229

230230
assert prepared is not None
231231
assert prepared['dimensions'] == 12
@@ -234,20 +234,20 @@ def test_prepare_reid_dict_infers_dimensions_from_row_vector(self, mock_vdms_cla
234234

235235
@patch('controller.vdms_adapter.vdms.vdms')
236236
def test_prepare_reid_dict_rejects_dimension_mismatch(self, mock_vdms_class):
237-
"""Verify prepare_reid_dict returns None when expected dimensions do not match."""
237+
"""Verify prepareReidDict returns None when expected dimensions do not match."""
238238
mock_vdms_instance = MagicMock()
239239
mock_vdms_class.return_value = mock_vdms_instance
240240

241241
db = VDMSDatabase()
242242
row_vector = np.arange(16, dtype=np.float32).reshape(1, 16)
243243

244-
prepared = db.prepare_reid_dict(row_vector, dimensions=32, caller_name="unit-test")
244+
prepared = db.prepareReidDict(row_vector, dimensions=32, caller_name="unit-test")
245245

246246
assert prepared is None
247247

248248
@patch('controller.vdms_adapter.vdms.vdms')
249249
def test_prepare_reid_dict_normalizes_for_ip_metric(self, mock_vdms_class):
250-
"""Verify prepare_reid_dict normalizes vectors when normalize_embeddings=True (IP metric)."""
250+
"""Verify prepareReidDict normalizes vectors when normalize_embeddings=True (IP metric)."""
251251
mock_vdms_instance = MagicMock()
252252
mock_vdms_class.return_value = mock_vdms_instance
253253

@@ -256,7 +256,7 @@ def test_prepare_reid_dict_normalizes_for_ip_metric(self, mock_vdms_class):
256256
vec[0] = 3.0
257257
vec[1] = 4.0
258258

259-
prepared = db.prepare_reid_dict(vec, dimensions=256, caller_name="unit-test", normalize_embeddings=True)
259+
prepared = db.prepareReidDict(vec, dimensions=256, caller_name="unit-test", normalize_embeddings=True)
260260

261261
assert prepared is not None
262262
normalized = prepared['embedded_vector']
@@ -266,7 +266,7 @@ def test_prepare_reid_dict_normalizes_for_ip_metric(self, mock_vdms_class):
266266

267267
@patch('controller.vdms_adapter.vdms.vdms')
268268
def test_prepare_reid_dict_preserves_for_l2_metric(self, mock_vdms_class):
269-
"""Verify prepare_reid_dict preserves raw vectors when normalize_embeddings=False (L2 metric)."""
269+
"""Verify prepareReidDict preserves raw vectors when normalize_embeddings=False (L2 metric)."""
270270
mock_vdms_instance = MagicMock()
271271
mock_vdms_class.return_value = mock_vdms_instance
272272

@@ -275,7 +275,7 @@ def test_prepare_reid_dict_preserves_for_l2_metric(self, mock_vdms_class):
275275
vec[0] = 3.0
276276
vec[1] = 4.0
277277

278-
prepared = db.prepare_reid_dict(vec, dimensions=256, caller_name="unit-test", normalize_embeddings=False)
278+
prepared = db.prepareReidDict(vec, dimensions=256, caller_name="unit-test", normalize_embeddings=False)
279279

280280
assert prepared is not None
281281
raw = prepared['embedded_vector']
@@ -312,7 +312,7 @@ def test_add_entry_requires_standard_fields(self, mock_vdms_class):
312312

313313
@patch('controller.vdms_adapter.vdms.vdms')
314314
def test_add_entry_accepts_row_vector_shape(self, mock_vdms_class):
315-
"""Verify addEntry accepts (1, N) vectors through prepare_reid_dict."""
315+
"""Verify addEntry accepts (1, N) vectors through prepareReidDict."""
316316
mock_vdms_instance = MagicMock()
317317
mock_vdms_class.return_value = mock_vdms_instance
318318

@@ -1278,7 +1278,7 @@ def test_dimension_inference_none_with_128_vectors(self, mock_vdms_class):
12781278
db = VDMSDatabase(dimensions=None)
12791279
vec = np.random.randn(128).astype(np.float32)
12801280

1281-
prepared = db.prepare_reid_dict(vec, dimensions=None, caller_name="unit-test")
1281+
prepared = db.prepareReidDict(vec, dimensions=None, caller_name="unit-test")
12821282

12831283
assert prepared is not None
12841284
assert prepared['dimensions'] == 128
@@ -1293,7 +1293,7 @@ def test_dimension_inference_none_with_512_vectors(self, mock_vdms_class):
12931293
db = VDMSDatabase(dimensions=None)
12941294
vec = np.random.randn(512).astype(np.float32)
12951295

1296-
prepared = db.prepare_reid_dict(vec, dimensions=None, caller_name="unit-test")
1296+
prepared = db.prepareReidDict(vec, dimensions=None, caller_name="unit-test")
12971297

12981298
assert prepared is not None
12991299
assert prepared['dimensions'] == 512

0 commit comments

Comments
 (0)