Minor fixes after refactoring#6
Merged
Merged
Conversation
Owner
|
Thanks! |
dmitriy-myz
added a commit
to dmitriy-myz/python-validity
that referenced
this pull request
May 28, 2026
Two changes, big payoff: AAB0 #0 went from 243/250 to 250/250 byte-exact on the captured Wine enrollment frame. Average across 9 AAB0s improved from ~94% to ~98%. 1. FILL was 128 (= the Q0 mid-gray byte value). DLL pads its 3×3 tiles with Q16 mid-gray = 0x800000 (= 8388608). Using 128 propagated through the doh convolution chain to non-padding pixels and changed NMS results in EDGE TILES (rows 2 and cols 2 of the 3×3 grid). With the fix, my port's tile 8 is byte-exact with captured F250 tile 8. 2. Corner-tile tightening in _a960_passes_global_edge: for tile (i=GRID-1, j=GRID-1) — bottom-right — cap gy at oy + last_row_step (= 102 exclusive for 112-px frame). Without this, my port keeps 7 tile-8 kps with gy in [102, 108] that DLL drops. Empirically derived from 9-AAB0 enrollment capture; the kp orientation of these kps and the per-AAB0 gy_max in DLL's tile 8 (range 82-101) suggests the actual rule may be more nuanced (per-frame variable), but the exclusive `gy < oy + step` empirically catches most edge cases for the captured data. Per-AAB0 byte-exact (gx, gy) match after fix: #0: 250/250 #1: 239/250 #2: 239/250 #3: 243/250 #4: 244/250 uunicorn#5: 248/250 uunicorn#6: 249/250 uunicorn#7: 246/250 uunicorn#8: 246/250 Residual drift (1-11 per frame) is concentrated in TILE 8 (corner) where DLL applies a per-frame gy cut whose rule isn't yet pinned down. For example AAB0 #1 DLL keeps only 3 of ~12 high-resp tile-8 kps; DLL's kept kps have gy ≤ 82 while my port's only_mine kps have gy in [89, 101]. The cut isn't strict top-N or fixed gy threshold. Diagnostic tools added: dev/find_edge_bound.py - per-tile bound aggregator across all AAB0s (lists observed gx/gy ranges) dev/try_per_tile_bound.py - tests a per-tile bound filter against my port's output Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here's the PR for the minor fixes after @uunicorn refactoring. Just a couple of imports and the default values for VID/PID on open() function