{"id":"36b9a169-98d6-4bb0-a3ef-c0ab6dbc8219","arxiv_id":"2412.03146","paper_version":2,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":4,"one_line_summary":"MCVO is a multi-camera visual odometry system that estimates metric-scale robot poses for arbitrarily arranged cameras by enforcing scale consistency across independently reconstructed camera trajectories.","lead":"This paper describes a visual odometry system that uses several cameras mounted in arbitrary positions and orientations on a robot, without needing them to overlap or an inertial sensor. It recovers real-world scale by requiring all cameras to agree on the same body trajectory, and reports lower trajectory error than stereo SLAM baselines on two public datasets.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"The scale-estimation derivation in §III-C presupposes each camera's SfM reconstruction differs from the true trajectory by one scalar scale, but monocular SfM has a 7-DoF similarity ambiguity; the paper never describes the Sim(3) alignment needed before Eq. (5) is solved.","rationale":"The reader and I converge on the same weak point: Eq. (5) presupposes that each camera's independent monocular SfM reconstruction differs from the true shared trajectory by a single positive scale. That is a 1-DoF assumption, but the actual gauge of each reconstruction is 7-DoF. Without a described Sim(3) alignment, the residual in Eq. (3) is not a function purely of the scale factors, and the least-squares solution is not guaranteed to recover metric scale. This is the most load-bearing concern because the headline claim is exactly metric-scale estimation for arbitrarily arranged cameras with no overlap and no IMU; if this derivation is invalid, the experimental ATE improvements cannot be attributed to the claimed mechanism. The concern is not that the system is dishonest or that the experiments are fabricated; the code is released and the trajectories in Fig. 7 look plausible, so it is possible the implementation contains an implicit alignment or a more careful initialization that the text omits. Therefore the correct disposition remains conditional rather than rejection: the authors should document the Sim(3) alignment and provide an identifiability analysis, or the code should be checked for the missing step. Repeated-trials error bars would be a useful secondary improvement, but the derivation issue is primary.","tokens_in":12145,"tokens_out":12316,"duration_ms":118188,"concrete_test":"Run the released MCVO code on a synthetic two-camera sequence generated from a known metric 6-DoF body trajectory; before initialization, perturb each camera's SfM reconstruction by an independent random similarity transform (rotation, translation, and scale). Compare the scale recovered by the Eq. (5) path with the known metric scale. If the estimated scale is wrong by more than a few percent, the missing Sim(3) alignment is load-bearing; if the code silently performs such an alignment, that step must be documented in the paper.","verdict_should_be":"UNCHANGED","load_bearing_attack":"Section III-C estimates a per-camera positive scale s_c and writes the SfM pose as [R^c_t, s_c T^c_t] before comparing body-frame translations in Eq. (3). This is only valid if each independent monocular SfM reconstruction has already been transformed into a common world frame with its rotation fixed, so the remaining ambiguity is a single scale. Monocular SfM actually has a 7-DoF similarity ambiguity: the output can be [R^c_t R_g, s_g R^c_t t_g + s_c T^c_t] with arbitrary rotation R_g and translation t_g. The paper does not explain how these gauge degrees of freedom are removed before Eq. (5) is solved. If this alignment is absent, the rotations appearing in θ are gauge-dependent, the residual (3) does not isolate s_c, and the least-squares solution of (5) is not a metric-scale estimate. The empirical scale accuracy could still be genuine if the code performs an undocumented alignment, but the derivation as written omits a load-bearing step.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"MCVO is a multi-camera visual odometry system designed for rigidly mounted cameras with arbitrary relative placement and no requirement for overlapping fields of view. The pipeline consists of a SuperPoint/LK optical-flow frontend with a 3-priority quad-tree feature selection, an initialization stage that reconstructs per-camera monocular SfM trajectories and estimates per-camera scale factors from cross-camera body-trajectory consistency, and a backend that performs bundle adjustment with periodic scale correction and multi-camera loop closure. Experiments on KITTI-360 and MultiCamData compare favorably with stereo ORB-SLAM3, VINS-Fusion, and MultiCamSLAM in ATE and scale drift on several sequences, including a non-overlapping three-camera configuration.","tokens_in":12368,"tokens_out":6614,"duration_ms":62839,"significance":"The paper addresses a practically relevant problem and the system-level pipeline is coherent. The public code release and the systematic comparisons across two multi-camera datasets, including non-overlapping configurations, are concrete strengths. If the scale-estimation derivation is completed by making the gauge-alignment step explicit, the proposed method would be a useful generic baseline for multi-camera VO without IMUs. As it stands, the theoretical justification for metric-scale estimation is incomplete because the derivation drops the 7-DoF similarity ambiguity of monocular SfM without explanation.","major_comments":[{"comment":"The derivation of the scale residual assumes that each camera's monocular SfM reconstruction differs from the true trajectory only by a per-camera positive scale factor, but monocular SfM output has a 7-DoF similarity gauge ambiguity (arbitrary rotation, translation, and scale). Equations (2)-(3) use R^c_t and T^c_t from independent SfM runs without describing how the arbitrary rotation and translation of each reconstruction are aligned to a common world frame before forming the residual in Eq. (3). Unless this Sim(3) alignment is performed, the term θ is gauge-dependent, the residual does not isolate s_c, and the least-squares solution of Eq. (5) is not a metric-scale estimate. Please specify the alignment procedure (e.g., Sim(3) alignment of camera trajectories to the principal camera's frame) or prove that the residual is invariant under the gauge degrees of freedom.","section":"III-C, Eqs. (2)-(3)"},{"comment":"The optimization in Eq. (5) is called a constrained least-squares problem, but no constraints are listed, and the scale factors are described as \"parameterized over Lie groups\" without definition. Positive scalars are not a Lie group in the usual sense, and the parameterization and any positivity/regularization constraints should be stated explicitly. Also, the identifiability of s from the least-squares problem is not analyzed: for degenerate motions (e.g., pure rotation or constant-velocity straight motion) the matrix F in Eq. (4) may lose rank, and the paper should state conditions under which the scale solution is unique.","section":"III-C, Eq. (5)"}],"minor_comments":[{"comment":"The extrinsic parameters (r^c, t^c) are used without defining whether they transform camera-to-body or body-to-camera; please state the convention.","section":"III-C, Eq. (2)"},{"comment":"The sentence \"The scale estimation is formulated as a manifold-aware optimization problem within the ceres solver, with scale factor s parameterized over Lie groups\" is unclear because a positive scalar is not a Lie group; please replace with a standard parameterization (e.g., log-scale) or remove the claim.","section":"III-C"},{"comment":"The MultiCamData columns are labeled \"Trans. Trans.\" without distinguishing translation from scale-drift percentage; please use separate labeled columns with units.","section":"IV-B, Table I"},{"comment":"The three priority rules for the 3-priority quad-tree are listed, but the algorithm that combines them into the quad-tree selection is not specified; add pseudocode or a precise procedure.","section":"III-B"},{"comment":"Table II reports \"UsageCP U\" and \"UsageGP U\" in an unreadable format, and the caption does not define these metrics; please format the table and define CPU/GPU usage.","section":"IV-C, Table II"},{"comment":"The evaluation metrics include \"scale drift\" but the paper does not define how the scale error percentage in Table I is computed; add a formula or reference to the metric definition.","section":"IV-A"}],"recommendation":"major_revision","confidential_remarks":"The main technical gap is the missing Sim(3) alignment in the scale-estimation derivation. If the code on GitHub contains the alignment step, the authors may be able to fix this with a textual clarification and a brief experiment; otherwise, the central claim is not supported. I recommend a major revision and would welcome a revised version that makes the gauge handling explicit."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"MCVO is a respectable engineering effort with a genuinely new scale-estimation idea, but the paper as written has a load-bearing gap: it assumes each camera's monocular SfM reconstruction is already similarity-aligned to a common frame, yet never describes a Sim(3) alignment step. That matters because Eqs. (3)-(5) only isolate the per-camera scale factor if rotations and translations from SfM are expressed in a shared world frame; otherwise the residual is contaminated by gauge-dependent rotation and translation terms. The stress-test note is right about this.\n\nWhat is actually new: estimating metric scale by enforcing cross-camera trajectory consistency, without IMU or overlapping FoV, is a real contribution relative to the cited stereo/multi-camera baselines, including the overlapping-authors ref [9], which uses IMU. The system also ships with code and shows consistent ATE/RPE improvements over ORB-SLAM3 and VINS-Fusion on KITTI-360 and MultiCamData, including a fully non-overlapping 3-cam configuration. The GPU frontend and 3-priority quad-tree are sensible engineering, and the authors are honest in the Discussion about extrinsic calibration being hard without overlap.\n\nSoft spots, in proportion: the missing alignment description is the biggest issue. It is not a demonstrated failure — the code may do the right thing — but the derivation is incomplete, and a reviewer cannot verify the claim without seeing the initialization's alignment logic. Also missing: any identifiability analysis (e.g., degenerate motions where scale is unobservable), and the evaluation has no repeated trials or error bars, so small performance gaps should be read skeptically. The hand-set thresholds (30-pixel parallax, 50-frame correction) are reasonable but not sensitivity-analyzed. These are fixable.\n\nMy take: the central claim is plausible and the empirical work is real, but the paper needs a major revision that spells out the alignment procedure, ideally with a mathematical statement of the gauge normalization, and an observability discussion. I'd send it to peer review. I would not cite the scale-estimation result yet — I'd wait for the revision to close the gap.","headline":"Solid multi-camera VO with a genuinely new scale-by-trajectory-consistency idea, but the paper skips the Sim(3) alignment that its scale-estimation derivation depends on.","tokens_in":12931,"tokens_out":2476,"would_cite":false,"duration_ms":23270,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"Rigid multi-camera rigs can recover metric-scale motion without IMU or overlapping fields of view.","keywords":["multi-camera visual odometry","metric-scale estimation","structure-from-motion","non-overlapping cameras","visual SLAM","GPU feature tracking","loop closure","scale ambiguity"],"falsifier":"Run only the initialization stage on a sequence with ground-truth metric poses and compare the recovered per-camera scales with the true scales. In a controlled version, take one camera's reconstruction and deliberately rotate and translate it by a random similarity transform before the least-squares solve; if the recovered scales change, the residual is not isolating pure scale and the missing gauge-alignment step matters.","tokens_in":11907,"feed_emoji":"📷","tokens_out":11758,"duration_ms":102899,"temperature":0.7,"pith_summary":"MCVO is a visual odometry system for a rigidly bundled set of arbitrarily placed cameras; it estimates the body's 6-DoF motion directly from the camera streams. Its central claim is that metric-scale poses can be recovered without an IMU and without overlapping fields of view, using only calibrated extrinsics and the fact that all cameras share the same rigid body motion. The paper derives scale from a least-squares residual comparing each camera's monocular Structure-from-Motion trajectory expressed in the body frame, with one positive scale factor per camera as the unknown. If the claim holds, vehicles and robots could use wide-baseline, non-overlapping camera arrays as drop-in odometry, avoiding the narrow-field-of-view failures of monocular and stereo systems in texture-poor scenes. On KITTI-360 and MultiCamData the reported translation and rotation errors are below those of the stereo baselines on most tested sequences.","feed_headline":"Rigid camera rigs get metric-scale motion without overlap or IMU","feed_subtitle":"MCVO compares each camera's trajectory to solve for scale, reporting lower errors than stereo baselines on KITTI-360.","key_machinery":"The central object is the per-camera scale factor $s_c$, a positive real number that converts each camera's monocular Structure-from-Motion translations into the shared body frame. The argument is carried by the pairwise trajectory-consistency residual $e(T^b_{i,t}, T^b_{j,t}) = T^b_{i,t} - T^b_{j,t}$, which is linear in the unknown scale pair once camera rotations and extrinsics are fixed; stacking these residuals over camera pairs and frames produces a sparse block matrix and a constrained least-squares problem solved with a standard sparse nonlinear optimizer. Around this core, the system uses a GPU-accelerated learned feature detector with Lucas-Kanade optical flow, a three-priority quad-tree feature selection for spatially uniform tracking, a multi-camera bundle adjustment with inverse-depth landmarks, and a Bag-of-Words loop closure that fuses features from all cameras.","core_discovery":"The discovery is that monocular scale ambiguity can be resolved across cameras by enforcing trajectory consistency, rather than by stereo overlap or an IMU. Each camera runs independent monocular Structure-from-Motion over a short sliding window, giving rotations $R^c_t$ and translations $T^c_t$ up to an unknown scalar per camera. After expressing each camera's trajectory in the shared body frame through the calibrated extrinsics, the body trajectory from camera $i$ and camera $j$ should coincide; the pairwise residual is $e(T^b_{i,t}, T^b_{j,t}) = [T^i_t,\\,-T^j_t][s_i;\\,s_j] + \\theta$, where $\\theta$ depends only on rotations and extrinsics. Solving the resulting sparse least-squares problem over all camera pairs and frames yields metric scale at initialization, and the backend bundle adjustment refines the scale continuously by adjusting inverse depths. The paper reports that even a fully non-overlapping three-camera setup achieves lower translation error than stereo baselines on several KITTI-360 sequences.","pith_inferences":["The pairwise residual treats each camera's reconstruction as differing from the true body trajectory only by a scalar, but monocular Structure-from-Motion carries a full seven-degree-of-freedom similarity ambiguity; unless the arbitrary rotation and translation of each reconstruction are aligned before the least-squares solve, the recovered scale may absorb gauge misalignment. The paper does not s","If extrinsic calibration or synchronization errors are present, they will leak into the per-camera scale factors; a natural extension is to estimate extrinsics jointly with the scales during initialization.","The scale estimate depends on the body trajectory being distinguishable across cameras; a perfectly straight, constant-speed motion may leave the scale underdetermined, and a dedicated test on such a trajectory would clarify the failure mode.","The fixed 50-frame scale-correction interval is a tunable design choice; varying it on a long sequence with slow scale drift would show how much of the accuracy gain comes from correction frequency versus the initial scale estimate."],"forward_implications":["Metric scale is obtainable for any rigid multi-camera rig with known extrinsics, including configurations with zero field-of-view overlap and mixed pinhole and fisheye cameras.","A fully non-overlapping three-camera setup on KITTI-360 reports lower translation error than the stereo baselines, so overlap is not a prerequisite for scale accuracy.","Moving feature extraction to the GPU cuts CPU usage by roughly 47 percent relative to a conventional binary feature frontend on the tested sequence, freeing CPU for backend optimization.","Fusing features from all cameras into a single Bag-of-Words model strengthens loop detection and pose graph correction relative to single-camera loop closure.","Because scale is corrected periodically in the backend, scale drift as well as pose drift is bounded over long trajectories."],"supporting_citations":[{"why":"Supplies the sliding-window bundle adjustment, marginalization, and pose graph formulation reused in MCVO's backend.","marker":"[1]"},{"why":"The stereo baseline whose reported errors MCVO compares against on KITTI-360.","marker":"[2]"},{"why":"Provides the KITTI-360 benchmark and ground-truth trajectories used for evaluation.","marker":"[5]"},{"why":"Provides the MultiCamData benchmark and the start-end pose discrepancy metric used for indoor evaluation.","marker":"[7]"},{"why":"The learned feature extractor used in the GPU-accelerated frontend and its ablation study.","marker":"[30]"},{"why":"The sparse least-squares solver used for scale optimization and backend bundle adjustment.","marker":"[31]"},{"why":"The bag-of-words place recognition model used in the multi-camera loop closure.","marker":"[32]"}],"fun_headline_variants":["MCVO: metric-scale visual odometry for arbitrary camera rigs","Scale from trajectory consistency in arbitrary multi-camera rigs","MCVO: multi-camera VO with metric scale from rigid constraints","MCVO: robust multi-camera odometry that solves scale without IMU","Trajectory consistency gives multi-cameras metric scale"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The scale solve assumes each camera's independent monocular reconstruction already differs from the true shared body trajectory by only a single positive scale factor per camera, with no leftover rotation or translation ambiguity between reconstructions.","fun_headline_variants_meta":{"raw":{"variants":["MCVO: metric-scale visual odometry for arbitrary camera rigs","Scale from trajectory consistency in arbitrary multi-camera rigs","MCVO: multi-camera VO with metric scale from rigid constraints","MCVO: robust multi-camera odometry that solves scale without IMU","Trajectory consistency gives multi-cameras metric scale"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.001131,"raw_usage":{"total_tokens":4752,"prompt_tokens":1047,"completion_tokens":3705,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":663,"completion_tokens_details":{"reasoning_tokens":3616}},"tokens_in":663,"tokens_out":3705,"duration_ms":24859,"temperature":1.0,"reasoning_tokens":3616,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-11T22:42:51.474734+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Run only the initialization stage on a sequence with ground-truth metric poses and compare the recovered per-camera scales with the true scales. In a controlled version, take one camera's reconstruction and deliberately rotate and translate it by a random similarity transform before the least-squares solve; if the recovered scales change, the residual is not isolating pure scale and the missing gauge-alignment step matters.","supporting_citations":[{"cited_title":"VINS-Mono: A robust and versa- tile monocular visual-inertial state estimator,","cited_arxiv_id":null,"evidence_quote":"Supplies the sliding-window bundle adjustment, marginalization, and pose graph formulation reused in MCVO's backend."},{"cited_title":"ORB-SLAM3: An accurate open-source library for visual, visual-inertial, and multimap slam,","cited_arxiv_id":null,"evidence_quote":"The stereo baseline whose reported errors MCVO compares against on KITTI-360."},{"cited_title":"KITTI-360: A novel dataset and benchmarks for urban scene understanding in 2D and 3D,","cited_arxiv_id":null,"evidence_quote":"Provides the KITTI-360 benchmark and ground-truth trajectories used for evaluation."},{"cited_title":"Design and evaluation of a generic visual slam framework for multi-camera systems,","cited_arxiv_id":null,"evidence_quote":"Provides the MultiCamData benchmark and the start-end pose discrepancy metric used for indoor evaluation."},{"cited_title":"Superpoint: Self- supervised interest point detection and description,","cited_arxiv_id":null,"evidence_quote":"The learned feature extractor used in the GPU-accelerated frontend and its ablation study."},{"cited_title":"Ceres solver—a large scale non-linear optimization library,","cited_arxiv_id":null,"evidence_quote":"The sparse least-squares solver used for scale optimization and backend bundle adjustment."},{"cited_title":"Bags of binary words for fast place recognition in image sequences,","cited_arxiv_id":null,"evidence_quote":"The bag-of-words place recognition model used in the multi-camera loop closure."}],"review_version":1}