You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`stale_feature_timeout_secs`| float | 5.0 | How long (seconds) to accumulate features in memory before flushing to VDMS. Features older than this threshold are persisted to the database for long-term storage. |
164
-
|`stale_feature_check_interval_secs`| float | 1.0 | How frequently (seconds) the background timer checks for stale features and flushes them to VDMS. More frequent checks ensure timely database updates. |
165
-
|`feature_accumulation_threshold`| int | 12 | Minimum number of quality features required before initiating a similarity query against the database. More features = higher statistical confidence in matching. |
166
-
|`feature_slice_size`| int | 10 | When persisting features to VDMS, sample every Nth feature vector from the accumulated set to reduce database bloat. Example: slice_size=10 stores every 10th vector. |
167
-
|`similarity_threshold`| int | 60 | Minimum similarity score (0-100) for a match to be considered valid. Higher values = stricter matching. |
168
-
|`vector_dimensions`| int | auto |**Optional.** Override the embedding vector length used for the VDMS descriptor set schema. When absent (recommended), the controller infers the dimension automatically from the first received embedding. Set this only to validate that your producer always emits a specific length; a mismatch between the configured value and the received embedding causes the controller to reject all embeddings and log an error. |
|`stale_feature_timeout_secs`| float | 5.0 | How long (seconds) to accumulate features in memory before flushing to VDMS. Features older than this threshold are persisted to the database for long-term storage. |
164
+
|`stale_feature_check_interval_secs`| float | 1.0 | How frequently (seconds) the background timer checks for stale features and flushes them to VDMS. More frequent checks ensure timely database updates. |
165
+
|`feature_accumulation_threshold`| int | 12 | Minimum number of quality features required before initiating a similarity query against the database. More features = higher statistical confidence in matching. |
166
+
|`feature_slice_size`| int | 10 | When persisting features to VDMS, sample every Nth feature vector from the accumulated set to reduce database bloat. Example: slice_size=10 stores every 10th vector. |
167
+
|`similarity_threshold`| int | 60 | Minimum similarity score (0-100) for a match to be considered valid. Higher values = stricter matching. |
169
168
170
169
### Embedding Dimension Inference
171
170
172
-
The controller automatically infers the ReID embedding dimension from the first vector it receives at runtime, removing the need to keep `vector_dimensions` in configuration synchronized with the model:
171
+
The controller automatically infers the ReID embedding dimension from the first vector it receives at runtime:
173
172
174
-
-**Auto-inference (default)**: On the first decoded embedding the controller reads the vector length from the payload, creates the VDMS descriptor set schema with that dimension, and locks that dimension for the process lifetime. All subsequent embeddings are validated against that inferred length; mismatches are discarded with a warning.
175
-
-**Optional override** (`vector_dimensions` in config): Set this when you want the controller to reject embeddings whose length does not match a specific value. Useful in deployments where the embedding model is fixed and any deviation should be treated as a misconfiguration. A mismatch triggers an error and no vectors are stored for that run.
173
+
-**Runtime inference only**: On the first decoded embedding the controller reads the vector length from the payload, creates the VDMS descriptor set schema with that dimension, and locks that dimension for the process lifetime. All subsequent embeddings are validated against that inferred length; mismatches are discarded with a warning.
176
174
-**Switching ReID models**: Because the dimension is locked after the first embedding, switching to a model with a different output length requires restarting the controller. The VDMS descriptor set must also be recreated if the stored dimension differs (VDMS does not support in-place schema migration).
177
175
-**Base64 compatibility**: The controller decodes base64 embeddings using the payload byte length by default. Producers can also include an optional `embedding_dimensions` field alongside `embedding_vector`; if provided, it must match the packed float count.
178
176
@@ -191,7 +189,7 @@ python scene_controller.py \
191
189
**Current Implementation Note**:
192
190
193
191
-`stale_feature_timeout_secs`, `stale_feature_check_interval_secs`, `feature_accumulation_threshold`, `feature_slice_size`, and `similarity_threshold` are fully implemented
194
-
-`vector_dimensions` is optional; omit it to let the controller infer dimensions automatically from the first received embedding
192
+
-ReID embedding dimensions are inferred at runtime from the first received embedding; there is no configuration override for dimension
195
193
- All semantic metadata attributes are currently used for TIER 1 filtering. Selective metadata filtering is planned for Phase 2.
0 commit comments