Skip to content

feat(#44): detection-side pyramid downsampling (part A) + HD static example - #42

Merged
kalwalt merged 2 commits into
devfrom
feat/detection-downsampling-44
Jun 18, 2026
Merged

feat(#44): detection-side pyramid downsampling (part A) + HD static example#42
kalwalt merged 2 commits into
devfrom
feat/detection-downsampling-44

Conversation

@kalwalt

@kalwalt kalwalt commented Jun 18, 2026

Copy link
Copy Markdown
Member

Superproject side of #44 part A. Pairs with the library change in webarkit/WebARKitLib#52.

What

  • Submodule bump to the part-A downsampling commit (feat(#44): detect features on downsampled frame (part A) WebARKitLib#52) + rebuilt build/ and dist/ artifacts.
  • Static example: point the Teblid static-image example at a marker-fills-frame 1920×1440 demo image (pinball-demo-big.jpg, ~476 KB) so HD downsampling is actually exercised (pyrLevel 1, scale 2.0) while the marker still acquires.
  • Docs: add docs/design-detection-downsampling.md (understanding, ArtoolkitX reference, decision log, the four edits, testing, risks, non-goals).

Why the new image

The previous pinball-demo.jpg is a small marker in a large frame; once downsampled it falls below the detector threshold and fails to acquire. pinball-demo-big.jpg keeps the marker filling the frame, so it locks reliably at pyrLevel 1. (pinball-demo.jpg is left tracked — see the follow-up note below.)

Testing

Reloaded static example:

Feature detect pyramid level: 1 (scale factor 2.000, 2.000)
Camera Size 1440, 1920
Marker tracked! Num. matches: 1000

Content correctly centered (#38) and right-handed (#42/#46); no #43-style doubling.

Scope / follow-ups

  • Part A only; the detection guard (skip detection while tracking) is part B.
  • A separate issue will track why the small-marker pinball-demo.jpg is detectable in WebARKitLib-rs and the jsartoolkitNFT Node.js version but not here once downsampled.

🤖 Generated with Claude Code

…xample

Bump WebARKitLib to the part-A downsampling change (webarkit/WebARKitLib#52)
and rebuild build/ + dist/. Feature detection now runs on a pyrDown'd copy
of the live frame; matched keypoints are rescaled to full-frame coords.

- examples: point the Teblid static-image example at a marker-fills-frame
  1920x1440 demo image (pinball-demo-big.jpg) so HD downsampling is
  exercised (pyrLevel 1, scale 2.0) and the marker still acquires. The old
  pinball-demo.jpg (small marker in a large frame) falls below the detector
  threshold once downsampled.
- docs: add docs/design-detection-downsampling.md (understanding, ArtoolkitX
  reference, decision log, the four edits, testing, risks, non-goals).

Verified: Marker tracked, 1000 matches, content centered (#38) and
right-handed (#42/#46), no #43-style doubling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kalwalt kalwalt self-assigned this Jun 18, 2026
@kalwalt kalwalt added enhancement New feature or request javascript Emscripten / C / C++ all about Emscripten labels Jun 18, 2026
@kalwalt kalwalt added this to the Markerless tracking milestone Jun 18, 2026
@kalwalt kalwalt moved this from To do to Reviewer approved in New markerless image tracking Jun 18, 2026
Re-point the submodule at the canonical webarkit/WebARKitLib dev tip after
#52 (detection-side pyramid downsampling, part A) merged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kalwalt
kalwalt merged commit 6744fe8 into dev Jun 18, 2026
kalwalt added a commit that referenced this pull request Jun 18, 2026
…xample

Bump WebARKitLib to the part-A downsampling change (webarkit/WebARKitLib#52)
and rebuild build/ + dist/. Feature detection now runs on a pyrDown'd copy
of the live frame; matched keypoints are rescaled to full-frame coords.

- examples: point the Teblid static-image example at a marker-fills-frame
  1920x1440 demo image (pinball-demo-big.jpg) so HD downsampling is
  exercised (pyrLevel 1, scale 2.0) and the marker still acquires. The old
  pinball-demo.jpg (small marker in a large frame) falls below the detector
  threshold once downsampled.
- docs: add docs/design-detection-downsampling.md (understanding, ArtoolkitX
  reference, decision log, the four edits, testing, risks, non-goals).

Verified: Marker tracked, 1000 matches, content centered (#38) and
right-handed (#42/#46), no #43-style doubling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-project-automation github-project-automation Bot moved this from Reviewer approved to Done in New markerless image tracking Jun 18, 2026
kalwalt added a commit that referenced this pull request Jun 21, 2026
Rewrite the design doc's resolution: the static-image AR bug was three orthogonal issues, headlined by the keypoint scale-factor double-application (webarkit/WebARKitLib#43), plus the projection X-sign (#35) and D*R*D marker-frame handedness (#42). Documents the diagnostic method (MATCH-centroid log, getCorners debug overlay, pose-log NDC math) and the final verified state. Demotes the superseded hypotheses (projection-only #35 plan, GrayScale Y-flip theory, example-side correction) to a clearly-marked history section.

Refs #30, webarkit/WebARKitLib#35, webarkit/WebARKitLib#42, webarkit/WebARKitLib#43

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kalwalt added a commit that referenced this pull request Jun 21, 2026
…xample

Bump WebARKitLib to the part-A downsampling change (webarkit/WebARKitLib#52)
and rebuild build/ + dist/. Feature detection now runs on a pyrDown'd copy
of the live frame; matched keypoints are rescaled to full-frame coords.

- examples: point the Teblid static-image example at a marker-fills-frame
  1920x1440 demo image (pinball-demo-big.jpg) so HD downsampling is
  exercised (pyrLevel 1, scale 2.0) and the marker still acquires. The old
  pinball-demo.jpg (small marker in a large frame) falls below the detector
  threshold once downsampled.
- docs: add docs/design-detection-downsampling.md (understanding, ArtoolkitX
  reference, decision log, the four edits, testing, risks, non-goals).

Verified: Marker tracked, 1000 matches, content centered (#38) and
right-handed (#42/#46), no #43-style doubling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kalwalt
kalwalt deleted the feat/detection-downsampling-44 branch July 5, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Emscripten / C / C++ all about Emscripten enhancement New feature or request javascript

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant