Expand description
The solve pass’s keyframe index: which earlier keyframes a frame might be revisiting, by visual words.
The index keeps only word postings in memory (per layer, per word, the keyframes that saw it, one per frame in
frame order), as the TypeScript KeyframeIndex it replaces did. The keyframes themselves are rows the host
stores (keyframe/<id>) and reads back. A revisit search is declare-then-provide: KeyframeIndex::retrieve
names up to MAX_CANDIDATES candidate keyframes, the host loads those rows, keeps the ones
Retrieval::admits, and scores them with the kernels’ candidate evaluation.
Structs§
- Keyframe
Index - Retrieval
- The outcome of
KeyframeIndex::retrieve.
Constants§
- BUDGET_
DIAGNOSTIC - The diagnostic code (severity warning) the host emits when
Retrieval::budget_warningis set. - DEFAULT_
MIN_ GAP - Keyframes closer than this many frames to the query are odometry, not revisits, unless the query says otherwise.
- MAX_
CANDIDATES - Candidates handed to evaluation, by vote count.
- MIN_
FEATURES - A query needs at least this many features to search at all.
- MIN_
VOTES - Votes a candidate needs.
- POSTING_
SPREAD - Keyframes taken from each end of one word’s posting.
- QUERY_
WORDS - Words sampled from a query, spread evenly over all of its words.
- RETRIEVAL_
BUDGET - A posting longer than this overran the retrieval budget:
BUDGET_DIAGNOSTICis due for the layer.