{"id":"813e5fe1-9404-48d2-ac52-7d465beee459","arxiv_id":"2507.22733","paper_version":2,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":0,"one_line_summary":"A single linear system, built from first-order camera dynamics, recovers normalized velocity and 3D points from asynchronous point tracks with minimal solutions of three, four, or six points.","lead":"A new linear solver estimates camera velocity and 3D point structure from point tracks with arbitrary timestamps, covering global shutter, rolling shutter, and event cameras. It generalizes the classic two-view five-point and eight-point solvers and unifies earlier point- and line-based asynchronous motion methods.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"The rank analysis in Appendix Sec. 6.2 contains an invalid inference, so the claimed generic uniqueness and predictable degeneracies of the solver are not actually proven.","rationale":"The reader's verdict is CONDITIONAL, and I agree that the conditionality is warranted. The reader's weakest_assumption emphasizes the known-rotation input; that is an explicit design premise and is acknowledged in the future-work section, so I do not regard it as the most load-bearing flaw. The more serious issue is the invalid rank proof in Appendix Sec. 6.2. That proof is internally inconsistent: if taken at face value, it would rule out the true scale-ambiguous solution, contradicting the solver's own premise. This means the theoretical claim of 'predictable degeneracies and solution multiplicities' is unsupported. However, this does not necessarily mean the solver is wrong; the derivation of Eq. (8) via the Schur complement is standard, and the experiments suggest the method works in practice. Therefore the appropriate response is to keep the CONDITIONAL verdict, requiring either a corrected rank analysis or an empirical demonstration of generic uniqueness before full acceptance. My concrete random-sweep test distinguishes between a flawed proof and a false claim, which is the key question for the central result.","tokens_in":19951,"tokens_out":18832,"duration_ms":248918,"concrete_test":"Run a noiseless random sweep (e.g., 10^5 trials) over the minimal cases M=1, N=3; M=2, (N1,N2)=(2,2); and M=3, (2,2,2), with random P_i, v, distinct timestamps, and known ω. In each trial compute A and B and compare nullity(B) to nullity(A). If rank(B) < 2 or nullity(B) ≠ nullity(A) in any non-degenerate trial, the claimed generic uniqueness fails. If rank(B) = 2 and nullity(B) = nullity(A) = 1 throughout, the solver is empirically sound and the appendix proof simply needs repair.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The weakest load-bearing step is in Appendix Sec. 6.2, the only proof offered that B has the predicted nullspace and that the minimal configurations in Eq. (11) are non-degenerate. The proof infers (I - UU^T)Gv = 0 from G^T(I - UU^T)Gv = 0 because 'G^T has full rank.' This inference is invalid: G^T is 3×3N, and when 3N > 3 it is not injective, so G^T y = 0 does not imply y = 0 even if G^T has full row rank. More importantly, the conclusion the proof aims at is too strong: in the noiseless case Bv = 0 must hold for the true velocity v due to scale ambiguity, so rank(B) is at most 2. A correct argument must show the nullspace of B is exactly one-dimensional, i.e., that [F_i, G_i] has generic rank 3M+2. The later claim that any matrix [G_i, -U_i] with full rank forces v = 0 is also wrong: for true data [G_i, -U_i] always has the nonzero null vector (v_true, λ_i), so this condition cannot certify uniqueness. Consequently, the 'predictable degeneracies and solution multiplicities' component of the central claim is unproven, independently of the explicitly assumed known rotation. The linear algebra leading to Eq. (8) is sound, but the guarantee that the SVD of B recovers velocity uniquely in generic configurations is not established by the manuscript.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper presents a linear N-point solver for estimating 3D point positions and the direction of linear camera velocity from asynchronous, timestamped point tracks. Under a constant-velocity motion model with known angular velocity, the incidence relation f'_ij × (P_i − v t'_ij) = 0 is written as a homogeneous linear system (Eq. 6). The authors eliminate the 3D points via a Schur complement, reducing the problem to a 3×3 system Bv = 0 (Eq. 8), solve for v by SVD, and recover points by linear least squares. Experiments on simulated data and on global-shutter, rolling-shutter, and event-camera sequences are reported, with comparisons to the eventail line solver.","tokens_in":20226,"tokens_out":11309,"duration_ms":139734,"significance":"The proposed solver is an interesting and potentially useful contribution: it gives a single linear system for asynchronous point tracks across modalities, with an O(M) Schur-complement step and released code. If the generic non-degeneracy claims were established, the 3-point (single-track), 4-point, and 6-point minimal cases and the 'three observations of one point' result would be valuable theory. The simulation study is reasonably comprehensive and the real-data results show consistent improvements over the eventail baseline. However, the theoretical guarantee that the SVD of B recovers a unique velocity in the generic case rests on an invalid rank proof, so the central theoretical claim is currently unproven.","major_comments":[{"comment":"The rank analysis in Appendix 6.2 is invalid. From Eq. (29), G^T(I−UU^T)G v_hat = 0 and the fact that G^T is 3×3N, 'G^T has full rank' only means G^T has full row rank; unless 3N = 3 it does not imply (I−UU^T)G v_hat = 0, so Eq. (30) does not follow. More importantly, the proof's goal is impossible in the noiseless case: because A x_true = 0, the true velocity satisfies B v_true = 0, so rank(B) ≤ 2 always. Consequently the subsequent claim that full rank of [G_i, −U_i] forces v_hat = 0 contradicts the existence of the true null vector (v_true, λ_i) with G_i v_true = U_i λ_i. The generic uniqueness of the nullspace of B is therefore not established by the manuscript.","section":"6.2"},{"comment":"The minimal-configuration claims in Section 3.4 (Eq. (11) and the itemized cases, including 'three temporal observations of only a single point') follow only from a constraint count (2N ≥ 3M+2) and the requirement N_i ≥ 2. A constraint count is necessary but not sufficient for a unique solution; one must show that the stacked system A has generic rank 3M+2, or equivalently that B has a one-dimensional nullspace. Since the rank proof in Section 6.2 is invalid, the observability conditions and 'predictable degeneracies and solution multiplicities' asserted in the abstract and introduction are not proven. Please provide a correct rank analysis or explicitly restrict these claims.","section":"3.4"}],"minor_comments":[{"comment":"The abstract and the first contribution bullet in Section 1 should explicitly state the known-rotation assumption; Section 3.2 states it, but the unqualified wording 'recover the full orientation of the displacement baseline' could mislead readers.","section":"Abstract / Section 1"},{"comment":"The block equation should use [G_i, −U_i] rather than [G, −U_i]; as written, the dimensions are incompatible because G is 3N×3 while U_i is 3N_i×3.","section":"6.2, Eq. (33)"},{"comment":"The phrase 'enforcing rank(B) ≥ 2 ensures that the SVD step succeeds' is imprecise: in noisy data B will generically have rank 3, and the smallest singular vector is still used. It would clarify the text to state that rank(B) ≥ 2 is the noiseless degeneracy condition for a unique null vector.","section":"3.4 / Algorithm 1"},{"comment":"Section 3.5 says 'Tracks shorter than 2 are pruned' while Section 4.2 says tracks shorter than 10 pixels are filtered; please clarify whether these thresholds refer to the number of observations or to pixel track length.","section":"3.5 / 4.2"},{"comment":"Table 3 has formatting issues: several entries appear merged with '--' or missing column separators (e.g., in the Ours* + E and Ours + E + GS columns), making the table hard to read; please reformat for clarity.","section":"Table 3"},{"comment":"The sentence 'we build upon a recently introduced geometric method for line feature-based motion and structure estimation from asynchronous measurements [10, 11]' attributes both references to line-based estimation, but [10] is a 5-point relative motion solver; please adjust the citation or the wording.","section":"Related Work"},{"comment":"Please define f_hat'_ij explicitly as the normalized projection of P_hat'_ij = P_hat_i − v_hat t'_ij; currently the reader must infer the normalization from context.","section":"Eq. (13)"}],"recommendation":"major_revision","confidential_remarks":"The core linear algebra of the solver (Eqs. 3–9) appears sound, the code is released, and the experimental validation is useful. The flaw in Section 6.2 is specific and in principle fixable, but it currently undermines the paper's strongest theoretical claims. The comparison is also narrow (only eventail), so the empirical claims would be strengthened by additional baselines. The known-rotation limitation should be made prominent in the abstract."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The one thing to know: this paper delivers a working linear solver for velocity and structure from asynchronous point tracks, and the empirical work supports it. The theoretical shell around it is not in the same shape. The main derivation (Sec. 3.1–3.3) is straightforward and correct: with known rotation and a constant-velocity model, the point incidence relation becomes a homogeneous linear system, and the Schur complement reduces it to a 3×3 eigenproblem for v. The 3/4/6-point minimal configurations fall out of the counting in Eq. (11), and the appendix derivations showing the epipolar constraint and the line solver [11] as special cases are clean. The authors also credit Saurer et al. [40] for the incidence relation itself, so the point-track generalization is the honest statement of novelty, and it is real.\n\nThe experiments back the main algorithmic claims: 63 µs runtime, sensible noise behavior, and consistent wins over the line-based eventail baseline on global shutter, rolling shutter, and event data. Code is public. The dependence on an external rotation estimate is disclosed and shown in simulation to be the error source that more observations cannot cure.\n\nNow the soft spot, and it is real. Appendix Sec. 6.2 is not a proof. The inference from G^T(I−UU^T)Gv = 0 to (I−UU^T)Gv = 0 requires G^T to be injective; G^T is 3×3N and is far from that. Worse, the target claim is the wrong one: in the noiseless case Bv = 0 for the true velocity, so B has rank at most 2. The appendix sets out to show B has full rank, which would contradict the scale ambiguity the rest of the paper correctly embraces. What needs proving is that the nullspace of B is exactly one-dimensional generically, i.e. that the stacked [F_i, G_i] has rank 3M+2. That is not established here. So the \"predictable degeneracies\" part of the central claim is currently unproven, even though the solver's simulations suggest it is true. This is a fixable proof gap, not a silent failure of the method.\n\nMinor quibbles: the starred real-data numbers (high-inlier subsets) are shown without error bars, and eventail is a weak baseline in line-deprived scenes. Read the tables as indicative, not as a controlled comparison.\n\nWho this is for: people doing event-camera or rolling-shutter geometry, and visual-inertial bootstrapping. It will get used. Recommendation: send to a serious referee, with the appendix flagged for a mandatory rework of the rank argument.","headline":"The solver is a genuinely useful primitive and the empirical case holds up; the degeneracy proof in the appendix is wrong and needs a bounded but real rework before the theory section can stand.","tokens_in":20798,"tokens_out":7052,"would_cite":true,"duration_ms":76574,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"A single linear solve recovers camera velocity and 3D structure from asynchronous point tracks, unifying global shutter, rolling shutter, and event cameras.","keywords":["asynchronous feature tracks","structure from motion","constant velocity model","linear solver","rolling shutter camera","event camera","Schur complement","point incidence relation"],"falsifier":"Using ground-truth trajectories, feed the solver two sequences identical except for a controlled angular-rate bias and compare velocity errors: a linear, track-count-independent error increase would confirm the rotation assumption is load-bearing; likewise, inserting a sudden acceleration spike inside the observation window and watching the velocity error jump would test the constant-velocity assumption directly.","tokens_in":19728,"feed_emoji":"🎥","tokens_out":4917,"duration_ms":60740,"temperature":0.7,"pith_summary":"The paper claims that structure and constant-linear motion of a camera can be solved linearly from 2D point tracks with arbitrary timestamps, without requiring synchronized views. It builds a point incidence relation between the rotation-compensated bearing of each observation, the unknown 3D point, and the unknown velocity. Stacking those relations yields one homogeneous linear system, and a Schur complement reduces the velocity part to a small 3-by-3 null-space problem. If correct, one closed-form solver replaces the standard synchronized two-view algorithms and also handles rolling shutter and event camera tracks, even mixing tracks from different collocated sensors.","feed_headline":"One linear solve gives camera velocity from asynchronous tracks","feed_subtitle":"A constant-velocity incidence relation replaces synchronized two-view geometry, covering global shutter, rolling shutter, and event cameras.","key_machinery":"The central object is the point incidence relation $[f'_{ij}]_\\times P_i - t'_{ij}[f'_{ij}]_\\times v = 0$, which expresses that each rotated bearing, the 3D point, and the constant-velocity displacement lie in a common plane. Stacked per point, these constraints form the block matrix $A$; the Schur complement $B = M_D - M_B^\\top M_A^{-1} M_B$ collapses the system to $B v = 0$, so velocity is the null vector of a $3\\times 3$ matrix and structure is recovered by back-substitution. Because $M_A$ is block diagonal, the inversion cost is linear in the number of tracks rather than cubic.","core_discovery":"Under a constant velocity model with known angular rate, the paper derives a point incidence relation $[f'_{ij}]_\\times P_i - t'_{ij}[f'_{ij}]_\\times v = 0$, where $f'_{ij}$ is the rotation-compensated bearing of point $i$ at time $t_{ij}$. Stacking these relations for all points gives a homogeneous linear system $A x = 0$; eliminating the 3D points via the Schur complement produces a $3\\times 3$ matrix $B$ whose smallest-singular-value vector is the normalized linear velocity, and the points follow in closed form. The paper states that three temporal observations of a single point already suffice to recover the full orientation of the displacement baseline and the corresponding 3D point, and it gives minimal 3-point, 4-point, and 6-point configurations. It also shows that the classical epipolar constraint and a recent line-based event solver are special cases of the same incidence relation.","pith_inferences":["Because the angular rate is fixed as input, a constant gyro bias should translate directly into a velocity error floor that extra point observations cannot remove; this predicts a linear error-versus-bias curve.","The solver could be placed in an outer loop that alternates point/velocity solving with rotation refinement, removing the dependence on an external IMU while keeping each inner solve linear.","Since the line solver is a special case of the same incidence relation, point tracks and line tracks could be combined into one hybrid asynchronous solver.","The observed trade-off between number of tracks and observations per track suggests that event cameras' high temporal density can substitute for the spatial coverage of frame cameras, which could be tested by matching error curves across sensor types."],"forward_implications":["A single closed-form solver covers synchronized global-shutter frames, row-timestamped rolling-shutter frames, and fully asynchronous event tracks with no change of algorithm.","Minimal configurations of 3, 4, and 6 points, each with at least two observations per track, bootstrap velocity and structure from very sparse data.","The solver gives a linear initialization for RANSAC-based tracking pipelines, with degeneracy conditions that are checkable in advance.","The same incidence relation specializes to the essential-matrix epipolar constraint and to the line-based event solver, unifying them as instances of one linear system.","When acceleration is supplied as known input, the extended version of the solver recovers absolute scale and removes the sign ambiguity."],"supporting_citations":[{"why":"Supplies the line-based asynchronous motion solver that this work extends from line features to point tracks, and serves as the experimental baseline.","marker":"[11]"},{"why":"Introduced the point-motion incidence relation used in rolling-shutter pose estimation, which the paper's derivation starts from.","marker":"[40]"},{"why":"Classical epipolar geometry reference; the paper shows its incidence relation specializes to the essential matrix used by the 5-point and 8-point algorithms.","marker":"[15]"},{"why":"Earlier event-camera minimal solver in the same line of work, providing context for the extension to point features.","marker":"[10]"},{"why":"Cited as an algorithm that can supply the known angular rate without an IMU.","marker":"[7]"},{"why":"RANSAC is the outlier-rejection and hypothesis-refinement framework used in the implementation.","marker":"[6]"},{"why":"Learning-based event point tracker used in the experiments to generate asynchronous point tracks from event cameras.","marker":"[14]"}],"fun_headline_variants":["Linear solve recovers motion from asynchronous camera tracks","One linear system handles rolling shutter and event cameras","Asynchronous tracks solved with a single linear point incidence","N-point solver for structure and motion without sync","Velocity and 3D points from time-stamped correspondences"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The camera rotation must be known and accurate, and translation over each window must be close to constant velocity; if the IMU-based rotation is biased or the trajectory jerks, every equation in the linear system inherits the error and the solver does not correct it.","fun_headline_variants_meta":{"raw":{"variants":["Linear solve recovers motion from asynchronous camera tracks","One linear system handles rolling shutter and event cameras","Asynchronous tracks solved with a single linear point incidence","N-point solver for structure and motion without sync","Velocity and 3D points from time-stamped correspondences"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000171,"raw_usage":{"total_tokens":1303,"prompt_tokens":1005,"completion_tokens":298,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":621,"completion_tokens_details":{"reasoning_tokens":223}},"tokens_in":621,"tokens_out":298,"duration_ms":3455,"temperature":1.0,"reasoning_tokens":223,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-06T11:20:54.391892+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Using ground-truth trajectories, feed the solver two sequences identical except for a controlled angular-rate bias and compare velocity errors: a linear, track-count-independent error increase would confirm the rotation assumption is load-bearing; likewise, inserting a sudden acceleration spike inside the observation window and watching the velocity error jump would test the constant-velocity assumption directly.","supporting_citations":[{"cited_title":"A linear n-point solver for line and mo- tion estimation with event cameras","cited_arxiv_id":null,"evidence_quote":"Supplies the line-based asynchronous motion solver that this work extends from line features to point tracks, and serves as the experimental baseline."},{"cited_title":"A mini- mal solution to the rolling shutter pose estimation problem","cited_arxiv_id":null,"evidence_quote":"Introduced the point-motion incidence relation used in rolling-shutter pose estimation, which the paper's derivation starts from."},{"cited_title":"Multiple View Ge- ometry in Computer Vision","cited_arxiv_id":null,"evidence_quote":"Classical epipolar geometry reference; the paper shows its incidence relation specializes to the essential matrix used by the 5-point and 8-point algorithms."},{"cited_title":"A 5-point minimal solver for event camera relative motion estimation","cited_arxiv_id":null,"evidence_quote":"Earlier event-camera minimal solver in the same line of work, providing context for the extension to point features."},{"cited_title":"Accurate angu- lar velocity estimation with an event camera","cited_arxiv_id":null,"evidence_quote":"Cited as an algorithm that can supply the known angular rate without an IMU."},{"cited_title":"Fischler and Robert C","cited_arxiv_id":null,"evidence_quote":"RANSAC is the outlier-rejection and hypothesis-refinement framework used in the implementation."},{"cited_title":"Event-based tracking of any point with motion-robust correlation features","cited_arxiv_id":null,"evidence_quote":"Learning-based event point tracker used in the experiments to generate asynchronous point tracks from event cameras."}],"review_version":1}