File the over-merge findings: two tracklet fixes, and cosine is not identity
The user checked the lead's crops. LIM SEONHO's 36 assignments cover at least six different men, a chibi and a cat, so 36 of 68 is a bug. 22 came from native resolves and 14 from reconcile merges. Two fixes are written in the orchestrator repo, tested, not deployed and not run on a GPU. `link_tracklets` caps a tracklet's panel span, because `window` bounded each pair while transitivity was unbounded and the lead's 22 native assignments came from tracklets spanning 22 and 30 panels. And one shared appearance tokenizer drops generic words, because whole chains hung on the word `short` and one pair on the word `hair`. The obvious third fix is ruled out by measurement. Over all 22 crop embeddings, the cat scores up to 0.82 against men, two different men score 0.93, and the highest pair is 0.96. No threshold separates them, so crop-to-crop cosine is not a link signal. Item 1 of the agreed plan, sending the live cast instead of a cosine top-k gallery, is not started. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+35
@@ -644,3 +644,38 @@ labels, which is item 1.
|
||||
|
||||
Panel 7 got worse, not better: 5 of its 6 detections carry `has_face = False`, and `person_6`, the one that
|
||||
does, went unassigned. The previous run bound its colleague. That is the cost of requiring a face, item 4.
|
||||
|
||||
## 2026-08-12, sixth session, later — the lead was over-merged, and cosine cannot fix it
|
||||
|
||||
The user checked the lead's crops in the review UI. `LIM SEONHO`'s 36 assignments cover at least six
|
||||
different men, a chibi, and a cat. So 36 of 68 is a bug, not a protagonist.
|
||||
|
||||
Split by mechanism: 22 native resolves, 14 from reconcile merges. Both are broken, for different reasons.
|
||||
|
||||
**The tracklet linker chained across the chapter.** `window=8` bounds each pair, transitivity was
|
||||
unbounded. The 22 native assignments came from 3 tracklets spanning 0, 22 and 30 panels, visible as two
|
||||
confidence blocks of eleven rows at 0.95 and ten at 1.0. Fixed by capping the merged group's span
|
||||
(`decisions/identity-bbox.md#tracklet-span-cap`).
|
||||
|
||||
**Both tokenizers linked on words that are not identity.** Whole chains hung on `short`; one pair linked on
|
||||
the word `hair` itself. There is now one tokenizer with a `GENERIC` stopword set, shared with reconcile's
|
||||
pre-filter (`decisions/identity-bbox.md#generic-tokens`).
|
||||
|
||||
Measured on the same 22 real crops, candidate overlap forced to pass: 3 tracklets at worst span 30 becomes
|
||||
9 at worst span 8.
|
||||
|
||||
**Then the obvious next fix was ruled out by measurement.** Pulled all 22 crop embeddings from MinIO and
|
||||
computed the pairwise cosine. The cat scores up to 0.82 against men, two different men score 0.93, and the
|
||||
highest pair in the matrix is 0.96. No threshold exists, so crop-to-crop cosine is not a link signal, and
|
||||
the `candidates` overlap condition is close to noise. Filed as
|
||||
`caveats/audit-open.md#cosine-not-identity`. Inference: identity embeds the whole person box, so cosine
|
||||
measures scene and style, not face.
|
||||
|
||||
Also seen: vision boxes cats as people and dresses them. `p081` and `p108` are cats, described
|
||||
`short brown / yellow plaid shirt` and `short brown / white t-shirt`.
|
||||
|
||||
Checks: `tracklets.py` self-check ok, orchestrator 118 passed. Both new asserts confirmed to fail with
|
||||
their fix disabled. Nothing deployed, nothing re-run on a GPU.
|
||||
|
||||
Artefact: `lead_tracklets.png`, the 22 panels with boxes, insets and tracklet grouping. Session scratchpad
|
||||
only, not committed.
|
||||
|
||||
Reference in New Issue
Block a user