Skip to content

Pass DIVE camera registrations to 2-cam/3-cam VIAME pipelines#1780

Draft
romleiaj wants to merge 1 commit into
mainfrom
sealtk/registration-json
Draft

Pass DIVE camera registrations to 2-cam/3-cam VIAME pipelines#1780
romleiaj wants to merge 1 commit into
mainfrom
sealtk/registration-json

Conversation

@romleiaj

Copy link
Copy Markdown
Collaborator

Multicam pipelines previously received no transform information from DIVE; the old h5 workflow relied on paths hardcoded inside the pipes. Desktop and web now hand the dataset's camera registration to the pipeline's warp processes, mirroring the stereo calibration flow:

  • One standard to_registration.json per non-reference camera is written into the job work dir; warpN (matching the pipeline camera position) receives its file via -s warpN:transformation_file=..., with the pair and direction pinned through the reader's from_camera/to_camera config since a pair may be stored in either orientation.
  • Pipeline camera order is the registration reference first (the pipes warp everything onto camera 1's frame), then display order. Which detector a pipe runs on which input is the pipe's documented contract, not something DIVE infers.
  • Only pairs registering a camera directly onto the reference are supported; pairs between two non-reference cameras are explicitly unsupported for pipelines and never reach the job. Cameras with points-only (unfitted) pairs get no settings.
  • Web sends the registration as a multicam_registration job param built from dataset meta; the worker writes the files.

Requires VIAME's dive transform_2d_io reader and warp_detections process.

Multicam pipelines previously received no transform information from
DIVE; the old h5 workflow relied on paths hardcoded inside the pipes.
Desktop and web now hand the dataset's camera registration to the
pipeline's warp processes, mirroring the stereo calibration flow:

- One standard <camera>_to_<reference>_registration.json per
  non-reference camera is written into the job work dir; warpN
  (matching the pipeline camera position) receives its file via
  -s warpN:transformation_file=..., with the pair and direction pinned
  through the reader's from_camera/to_camera config since a pair may be
  stored in either orientation.
- Pipeline camera order is the registration reference first (the pipes
  warp everything onto camera 1's frame), then display order. Which
  detector a pipe runs on which input is the pipe's documented
  contract, not something DIVE infers.
- Only pairs registering a camera directly onto the reference are
  supported; pairs between two non-reference cameras are explicitly
  unsupported for pipelines and never reach the job. Cameras with
  points-only (unfitted) pairs get no settings.
- Web sends the registration as a multicam_registration job param built
  from dataset meta; the worker writes the files.

Requires VIAME's dive transform_2d_io reader and warp_detections
process.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@romleiaj
romleiaj marked this pull request as draft July 21, 2026 19:21
@romleiaj

Copy link
Copy Markdown
Collaborator Author

Paired with VIAME/VIAME#278.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant