Research
Video Stitching from Multiple Moving Cameras
Overview Research area: Computer vision — geometric alignment of multiple videos (video stitching / multi-view alignment), with ties to image stitching and video stabilization. Technical level: Advanc
- arXiv
- 2611.09570
- Published
- 2026-11-06
- Authors
- Shira Ifergane, Roy Amoyal, Shahar Benishay, Oren Freifeld
AI summary
Overview
- Research area: Computer vision — geometric alignment of multiple videos (video stitching / multi-view alignment), with ties to image stitching and video stabilization.
- Technical level: Advanced. The paper assumes familiarity with homographies, Spatial Transformer Networks, keypoint matching (RoMa, LoFTR), and unsupervised test-time optimization.
- Scope (one sentence): The paper introduces MViS, a two-stage unsupervised test-time optimization framework that jointly aligns an arbitrary number of freely moving camera videos into a temporally coherent panorama, together with a new multi-camera dataset (MMCD) and the first benchmark for more than two freely moving cameras.
What This Paper Is About
Stitching videos from several handheld or drone cameras that all move freely is hard because the result must be both spatially aligned at every instant and temporally stable across time. Running a multi-image stitcher independently on each frame gives panoramas that look fine individually but shake region-by-region, and ordinary stabilization cannot fix this because different regions need conflicting corrections. The authors ask how to align N moving-camera videos jointly — without assuming a fixed camera ordering or a persistent pattern of overlaps — and they also build the dataset and metrics needed to measure progress in this setting.
Key Contributions
- A method for multi-camera (N > 2) video stitching — MViS is presented as the first approach in this setting that handles more than two freely moving cameras with arbitrary, time-varying view-intersection graphs (the authors only assume the overlap graph is connected at each time).
- A scalable unsupervised formulation — a lightweight alignment network processes a sliding multi-view temporal window and predicts per-view, per-time homographies, optimized with regularization-free losses built on relative transformation compositions, avoiding per-scene hyperparameter tuning.
- A new annotated dataset and benchmark — MMCD (Multiview Moving Camera Dataset), with 53 scenes, 3–6 cameras per scene, 221 videos and 47,040 frames, plus the first benchmark for video stitching with more than two moving cameras.
- A variance-based geometric metric — Geometric Variance (GV), for assessing cross-view alignment quality, used alongside a stability score and CMSA (Mean Square Acceleration of video-corner trajectories).
Main Findings
- Two-view performance matches or surpasses the state of the art: On the StabStitch-D benchmark (N = 2), MViS obtains the best SSIM in all four categories (Regular 25.47/.846, Low-Light 36.51/.960, Low-Texture 30.80/.932, Fast-Moving 25.76/.850) and the best PSNR in 2 of 4 categories. StabStitch++ reports 25.51/.837, 35.10/.958, 34.23/.928 and 25.64/.830 respectively; MViS's PSNR is lower in Low-Light (36.51 vs 35.10 — MViS higher) and Low-Texture (30.80 vs 34.23 — MViS lower). LCP failed on Low-Light and Low-Texture, marked "-".
- Large gains over StabStitch++ at N = 3: On MMCD, StabStitch++ reaches a GV of 27.8 (reflecting severe misalignment when camera ordering is violated), stability .799 and CMSA 20.0; MViS reaches GV 3.1, stability .917 and CMSA 2.5, with 22/22 successful scenes for both.
- Only method applicable beyond three cameras: StabStitch++'s code does not support N > 3. MViS reports GV 2.8 / stability .925 / CMSA 14.2 (10/10 scenes) at N = 4; GV 2.3 / .874 / 11. (11/11) at N = 5; and GV 3.0 / .930 / 2.4 (10/10) at N = 6.
- Per-frame multi-image stitching is temporally incoherent: AutoStitch, APAP, GSP, SPW, GES-GSP and OBJ-GSP produce plausible single-frame panoramas but CMSA values orders of magnitude higher than MViS, and several fail on some scenes (success counts range from 5/10 to 22/22 depending on method and N).
- Temporal extensions of stitching help but do not close the gap: Adding temporal regularization (TR) or post-hoc smoothing (PS) to GSP/GES-GSP/OBJ-GSP improves stability over the per-frame baselines but still loses to MViS; the authors attribute this to the optimal stabilization strength being non-uniform across cameras and panoramic regions.
- Both stages matter, and order matters: In the ablation on StabStitch-D (N = 2) and MMCD (N > 2), removing Stage 1 causes frequent failures; removing Stage 2 degrades alignment, especially when inter-view overlap is small; optimizing both losses simultaneously usually harms performance; unnormalized RGB also hurts; temporal loss terms mainly affect stabilization.
- The network is needed for temporal coherence: Directly optimizing the same losses over homographies without a network (geometry only, appearance only, or geometry-then-appearance) yields spatially aligned videos that exhibit severe temporal jitter. (The provided text is truncated at this sentence; full numbers for this experiment are not in the excerpt.)
- Practical cost: Per frame, Stage 1 takes 0.5–0.6 s, Stage 2 takes 0.7–0.8 s, and preprocessing takes 0.4–0.5 s, stable across N; memory is independent of original resolution and scales linearly with N.
Methodology in Plain English
The authors take N roughly synchronized videos of the same scene. Each frame is resized to 256×256 and each color channel is normalized by its mean and standard deviation across all frames of all videos, which handles color differences between cameras.
Before optimizing anything, they compute noisy pairwise homographies — called Observed Relative Transformations (ORTs) — using an image matcher (RoMa by default; LoFTR results are in an appendix) plus RANSAC. These are computed for cross-view pairs at the same time and for consecutive frames within each view. Overlap masks follow from these ORTs, and pairs whose matcher certainty score is too low (for example below 0.3 for RoMa) are simply ignored.
A small alignment network then looks at a sliding window containing two consecutive time steps from all N views. A shared CNN embeds each image, and a fully connected module (two linear layers with a GELU in between) sees all of them at once and outputs 8 numbers per frame, which parameterize a 3×3 homography with determinant 1 (the SL(3) parameterization). Because the network sees all views jointly, information is shared inside the network rather than only through the loss.
Optimization happens in two stages. Stage 1 compares, on a 7×7 grid of points, the observed pairwise transformation against the composition of the predicted transformation of one frame with the inverse of the predicted transformation of another — both across views at the same time and across time within a view. This geometric loss works even from an identity initialization. Stage 2 refines with an RGB appearance loss computed only inside the overlap masks, where the same relative compositions are used to warp images onto each other.
Crucially, all losses depend only on relative transformations, so no regularization on the transformations is needed and no canonical panorama or atlas has to be maintained — the solution is defined only up to a global transformation, which affects visualization but not alignment quality. To render a panorama, they apply the inverse of one view's transformation to everything, purely as a post-processing choice. Stabilization arises implicitly from overlapping windows, the network's smoothness bias, and the temporal loss terms.
Why This Matters
Research impact. The paper reframes video stitching from a pairwise, two-camera problem into a joint multi-view, multi-time optimization with global consistency, and it supplies the missing evaluation infrastructure (dataset, benchmark, and the GV metric) for a setting that previously had none. Its regularization-free, relative-composition losses extend a line of joint-alignment work (Barel et al., Hirsch et al.) from still images to video, and it shows a clean alternative to alternating bundled-path optimization, which earlier work found prohibitively hard.
Real-world applications.
- Multi-user handheld capture, where several people film the same event and want one wide, stable panorama.
- Drone footage from multiple freely flying cameras covering a shared scene.
- Mobile multi-camera devices and ad-hoc camera networks assembled on the spot, with no fixed rig or calibration.
- Event broadcasting or surveillance-style coverage where cameras pan independently and overlap intermittently.
Industry relevance. The method requires no scene-specific hyperparameter tuning and no fixed camera ordering, and it runs in roughly 1.6–1.9 s per frame across two optimization stages plus 0.4–0.5 s preprocessing, with memory scaling linearly in the number of cameras. That makes it a plausible component for consumer video tools rather than a lab-only demonstration; the authors also provide code-oriented resources via their project page.
Future Directions
- Closing the residual stability gap at N ≥ 4: CMSA at N = 4 (14.2) and N = 5 (11.) is much higher than at N = 3 (2.5) and N = 6 (2.4), so the near-linear scaling of quality with camera count is not yet achieved.
- Replacing or strengthening the geometry initialization: Stage 1 depends on noisy ORTs from a keypoint matcher; results with LoFTR are only reported in the appendix, and whether learned dense matching improves robustness to low texture is left open.
- Handling larger and dynamic topologies: The paper demonstrates up to N = 8 on an extended scene derived from the N = 6 category and shows time-varying overlap graphs, but scenes are 5–10 seconds long; longer captures with cameras entering and leaving remain untested.
- Global reference for evolving scenes: Because the losses are invariant to a global transformation and no atlas is maintained, maintaining a stable panoramic coordinate system over long, evolving sequences is an open question the authors explicitly flag.
Target Audience
Graduate students and researchers in computer vision working on image/video stitching, multi-view geometry, homography estimation, or unsupervised test-time optimization; engineers building multi-camera panorama or video-stabilization products; and benchmark builders who need a multi-camera dataset (MMCD) and metrics (GV, stability, CMSA) for evaluating joint alignment beyond two views. Readers should be comfortable with homographies and standard unsupervised warp-based losses, since the paper's core argument rests on relative-composition formulations.
Authors’ abstract
We address geometric video alignment for the same scene captured by multiple freely moving cameras. Existing methods, which are based on image stitching or video stabilization, are typically limited to two cameras or must assume the restrictive setting of a fixed linear ordering of the cameras. We propose MViS, a lightweight test-time optimization framework for joint multi-view alignment with temporal consistency. MViS uses a spatial-transformer-inspired net to jointly process frames from all views within a short temporal window and predict per-view, per-time homographies. Optimization proceeds in two stages: geometry-guided alignment followed by appearance-based refinement, with both stages enforcing multi-view and temporal consistency across the sequence. The method requires no scene-specific hyperparameter tuning, handles arbitrary and time-varying view-intersection graphs, and remains robust under rapid camera motion. On a standard two-view video benchmark, MViS matches or surpasses the state of the art. To facilitate evaluation in more complex scenarios, we introduce an annotated dataset with more than two freely moving cameras and establish the first benchmark for this setting. Project page: https://bgu-cs-vil.github.io/MViS-project/ .