---
title: Vertical Jitter Compensation (VJC)
url: https://www.emergentmind.com/topics/vertical-jitter-compensation-vjc
type: topic
---

# Vertical Jitter Compensation (VJC)

In the broad sense used across recent technical literature, Vertical Jitter Compensation (VJC) denotes the estimation and mitigation of the vertical component of motion-induced perturbations in sensing or beam-delivery systems. The term appears explicitly in VoxelHound as a module for quadruped panoramic perception, where it compensates gait-induced vertical feature displacement before 2D-to-BEV lifting [2603.13108]. Closely related forms of vertical jitter compensation also appear in accelerator physics as vertical orbit stabilization at ATF2 [1110.5231], in event-based spacecraft sensing as vertical-axis jitter estimation using controlled hardware data [2505.12588], and in multi-plane wavefront sensing when vertical jitter is treated as one axis of general tip/tilt image motion rather than as a specialized vertical-only problem [2508.09256]. This suggests that VJC is best understood as a cross-domain control and estimation problem rather than a single canonical algorithm.

## 1. Scope, terminology, and domain-specific usage

The explicit designation “Vertical Jitter Compensation” is used in "Panoramic Multimodal Semantic Occupancy Prediction for Quadruped Robots" [2603.13108]. In that setting, the perturbation source is quadruped locomotion: “body oscillation along the vertical axis introduces vertical jitter in the captured images,” producing “misalignment in spatial feature representation” and degrading “the stability of the BEV transformation” [2603.13108]. The compensation target is therefore a vertically shifted panoramic feature map.

In accelerator physics, the terminology is different but the objective is directly vertical. "Pulse-to-pulse Orbit Jitter Propagation in Multi-bunch Operation at the KEK Accelerator Test Facility 2 (ATF2)" studies pulse-to-pulse vertical orbit jitter, its propagation through the extraction line and final focus system, and its reduction using the FONT5 intra-train feedback system [1110.5231]. Here, VJC refers to suppression of the vertical beam position and angle excursion rather than to image stabilization.

In event-based spacecraft sensing, "Event-based Star Tracking under Spacecraft Jitter: the e-STURT Dataset" does not present a named VJC module, but it explicitly includes vertical sensor-plane motion through Axis2, or the y-axis, and provides hardware ground truth for developing and evaluating high-frequency jitter estimation and compensation methods [2505.12588]. In optical phase retrieval, "Jitter Sensing and Control for Multi-Plane Phase Retrieval" addresses general 2D image jitter, that is tip and tilt, with no vertical-axis-only correction scheme; however, if vertical jitter is interpreted as one axis of image motion, the method is directly relevant in the broader sense [2508.09256].

| Context | Vertical quantity of interest | Compensation or estimation mechanism |
|---|---|---|
| Quadruped panoramic occupancy | Vertical jitter in captured images | Global vertical feature shift via grid sampling |
| ATF2 accelerator feedback | Vertical beam position and angle | FONT5 intra-train orbit feedback |
| Event-based star tracking | Axis2 / y-axis sensor-plane motion | Event-stream jitter estimation with hardware ground truth |
| Multi-plane phase retrieval | Vertical component of tip/tilt image motion | Centroiding plus FSM-like correction |

A plausible implication is that the phrase “VJC” is domain-specific in its exact implementation, but consistent in its functional role: it isolates the vertical component of disturbance and attempts to remove or estimate it before downstream degradation accumulates.

## 2. VJC in panoramic multimodal occupancy prediction

In VoxelHound, VJC is a lightweight feature-space stabilization module inserted between the image encoder and the 2D-to-BEV view transform [2603.13108]. Its purpose is to compensate the dominant vertical displacement induced by quadruped locomotion, especially pitch and roll coupled to gait and terrain interaction. The paper is explicit that the module is not a full 2D warp estimator: it models only a single global vertical offset and applies a vertical shift to the image feature map [2603.13108].

The input is a 2D image feature map
$$
\mathbf{F} \in \mathbb{R}^{C \times H \times W},
$$
and the output is a vertically compensated feature map
$$
\mathbf{F}_{\text{comp}} \in \mathbb{R}^{C \times H \times W}.
$$
The method first collapses the horizontal dimension:
$$
\mathbf{F}_{v}(c, h)=\frac{1}{W} \sum_{w=1}^{W} \mathbf{F}(c, h, w),
$$
yielding
$$
\mathbf{F}_v \in \mathbb{R}^{C \times H}.
$$
This operation summarizes vertical structure while suppressing horizontal redundancy [2603.13108].

The pooled feature is then processed by a 1D encoder:
$$
\hat{\mathbf{F}}_{v}=\mathcal{E}_{v}\left(\mathbf{F}_{v}\right),
$$
where $\mathcal{E}_v$ consists of two Conv1D layers with ReLU activations. A single scalar offset is regressed by
$$
\Delta h_{\text{raw}}=\mathcal{R}\left(\hat{\mathbf{F}}_{v}\right),
$$
with $\mathcal{R}$ defined as adaptive average pooling followed by a linear layer. The raw offset is normalized for grid sampling:
$$
\Delta h=\frac{2}{H}\Delta h_{\text{raw}}.
$$
An identity grid $\mathcal{G}_0$ is then shifted vertically:
$$
\mathcal{G}(h, w)=\mathcal{G}_{0}(h, w)+(0, \Delta h),
$$
and the compensated feature map is obtained by bilinear sampling:
$$
\mathbf{F}_{\text{comp}}=\operatorname{GridSample}(\mathbf{F}, \mathcal{G}).
$$
The final output is passed to the downstream view transform [2603.13108].

The paper does not derive VJC from an explicit spherical camera reprojection model. Instead, it performs a learned feature-space vertical alignment in the normalized image domain before BEV lifting. Because the input camera is a panoramic annular lens camera and the broader pipeline uses a panoramic ERP-like representation, the operative assumption is that small vertical perturbations can be approximated by a global vertical shift in feature space [2603.13108]. This suggests that VJC is intentionally restricted to the dominant locomotion-induced distortion rather than to general pose recovery.

## 3. Optimization, ablations, and empirical behavior in VoxelHound

VJC is trained end-to-end as part of the full occupancy network and does not have a separate dedicated loss [2603.13108]. The training objective is the overall occupancy loss
$$
\mathcal{L}_{\mathrm{occ}}=\mathcal{L}_{\mathrm{ce}}+\mathcal{L}_{\mathrm{ls}}+\mathcal{L}_{\mathrm{scal}}^{\text{geo}}+\mathcal{L}_{\mathrm{scal}}^{\text{sem}},
$$
with cross-entropy loss, Lovasz-Softmax loss, and affinity losses from prior work. The full model is trained on 4 NVIDIA RTX 3090 GPUs, using AdamW, with initial learning rate $4 \times 10^{-4}$, weight decay $0.01$, for 48 epochs, and with ResNet-18 image backbones [2603.13108].

The ablation results isolate the contribution of VJC. The baseline without VJC and without MIPF reaches 22.74 mIoU. Adding VJC only increases performance to 22.92 mIoU, while MIPF only gives 23.14 mIoU, and the full model with both VJC and MIPF reaches 23.34 mIoU [2603.13108]. The paper therefore attributes a gain of $0.18$ mIoU to VJC alone. It also reports that VoxelHound achieves state-of-the-art performance on PanoMMOcc with a gain of $+4.16\%$ in mIoU [2603.13108].

A hidden channel dimension study indicates that VJC remains lightweight across tested capacities. For $C_{hd}=1, 4, 8, 16, 32, 64$, the reported parameter counts vary from 43.46 M to 43.50 M and memory from 386.83 MB to 386.97 MB, while the best mIoU, 23.34, occurs at $C_{hd}=64$ [2603.13108]. The paper interprets this as evidence that the module has minimal impact on parameters and memory.

The limitations follow directly from the design. VJC corrects only a global vertical shift, not local deformation, full affine warping, roll-specific skew, or complex motion blur [2603.13108]. It assumes that the dominant gait-induced perturbation can be approximated as vertical displacement in feature space and is therefore most suitable for small-to-moderate vertical jitter rather than severe viewpoint changes. The paper also notes that extremely dark nighttime scenes and sparse LiDAR at long range can still produce boundary sparsity in occupancy prediction, indicating that compensating image jitter alone does not resolve all failure modes [2603.13108].

## 4. Multi-plane phase retrieval as a broader VJC analogue

"Jitter Sensing and Control for Multi-Plane Phase Retrieval" is directly relevant to VJC only in the broader sense that it demonstrates tip/tilt, that is 2D image jitter, sensing and correction using a nonlinear curvature wavefront sensor (nlCWFS) and a fast steering mirror (FSM) [2508.09256]. The paper is explicit that it does not describe a specialized vertical jitter sensor or a vertical-axis-only correction scheme. If vertical jitter is treated as the vertical component of image motion, however, the method supports that use case as part of general tip/tilt compensation [2508.09256].

The nlCWFS uses four intensity measurement planes placed at known axial offsets from the pupil: near or inner planes at $z=\pm 1$ cm and far or outer planes at $z=\pm 5$ cm [2508.09256]. The central observation is that multi-plane phase retrieval sensors “contain tip/tilt information embedded in their signals,” so lateral centroid displacement at known $z$ can be used to infer angular jitter [2508.09256]. The paper emphasizes that the outer planes provide a larger geometric lever arm and are therefore more reliable for tip/tilt estimation. The pixel-scale equivalence is given as $0.273\,\lambda/D$ per pixel for the inner planes and $0.055\,\lambda/D$ per pixel for the outer planes [2508.09256].

Centroiding uses the intensity weighted-average method:
$$
x_n = \frac{\sum x_i\, I_n(x_i, y_j)}{\sum I_n(x_i, y_j)}, \qquad
y_n = \frac{\sum y_j\, I_n(x_i, y_j)}{\sum I_n(x_i, y_j)},
$$
for measurement plane $n \in \{1,2,3,4\}$ [2508.09256]. Reference centroids for an unaberrated beam are determined by a Canny edge detector, followed by a Circular Hough Transform that fits a circle to the beam boundary, with the fitted circle center taken as the reference centroid [2508.09256].

The laboratory setup includes a HeNe laser at $\lambda=633$ nm, single-mode fiber injection, a 1 mm pinhole, a fast steering mirror, an optional aberrator plate, a deformable mirror, and an Allied Vision camera with plate scale $3.45\,\mu\text{m}$; a 2:1 beam reducer shrinks the beam diameter to 0.5 mm [2508.09256]. Injected test cases are $-3.84\,\lambda/D$, $-1.92\,\lambda/D$, and $-0.38\,\lambda/D$, together with corresponding opposite-signed tilt values $+3.84\,\lambda/D$, $+1.92\,\lambda/D$, and $+0.38\,\lambda/D$ [2508.09256]. For an unaberrated beam, averaging the outer-plane estimates allows the weighted-average method to estimate tip and tilt to within about $\pm 0.1\,\lambda/D$ on average across the three cases, whereas the inner planes show spread around $\pm 0.57\,\lambda/D$ [2508.09256].

The reported correction is not implemented as a direct real-time optical feedback loop in the experiment. Instead, the authors emulate closed-loop operation in the image domain: they estimate tip/tilt from the outer planes, convert the angular offset to a pixel shift using the known $z$ geometry and plate scale, apply the corrective pixel shift to each image, and then perform phase reconstruction using a modified Gerchberg–Saxton algorithm with up to five iterations [2508.09256]. The paper states that uncorrected tip/tilt can blur reconstructions, create branch cuts, increase RMS wavefront reconstruction error, and reduce the accuracy of higher-order phase retrieval, whereas correction produces flatter and smoother wrapped phase [2508.09256]. In the broader VJC sense, this is a clear example of vertical-axis compensation implemented within a general 2D tip/tilt framework.

## 5. Vertical orbit jitter compensation in accelerator physics

In ATF2, vertical jitter compensation is formulated as stabilization of the vertical beam position and angle before the beam reaches the virtual Interaction Point (IP) [1110.5231]. The facility is designed to demonstrate beam sizes around 40 nm at the IP, while also pursuing a second goal: stabilizing the vertical beam position at the virtual IP to about 5% of the nominal rms vertical beam size. The paper states that this requires controlling the orbit to better than 1 $\mu$m at the entrance of the ATF2 final focus system (FFS) [1110.5231].

The compensation hardware is the FONT5 feedback system in the extraction line. It uses two stripline kickers, $K1$ and $K2$, separated by a phase advance of $\pi/2$ so that both vertical position $y$ and angle $y'$ can be corrected, together with three stripline BPMs, $P1$, $P2$, and $P3$, and an FPGA-based digital processor that performs coupled $y$ and $y'$ correction [1110.5231]. The system is tested in 3-bunch train mode with 154 ns bunch spacing at 1.3 GeV. The first bunch is measured and the correction is applied to later bunches, so the target disturbance is correlated pulse-to-pulse jitter [1110.5231].

The vertical-plane phase-space vector is
$$
\mathbf{y} = (y, y'),
$$
and the pulse ensemble is represented by the covariance matrix
$$
\Sigma = \left\langle (\mathbf{y}-\bar{\mathbf{y}})^T (\mathbf{y}-\bar{\mathbf{y}}) \right\rangle
=
\begin{pmatrix}
\langle y^2\rangle & \langle yy'\rangle \\
\langle y'y\rangle & \langle y'^2\rangle
\end{pmatrix},
$$
with zero mean assumed. The rms jitters are
$$
\sigma = \sqrt{\langle y^2\rangle}, \qquad \sigma' = \sqrt{\langle y'^2\rangle},
$$
and linear transport between positions satisfies
$$
\Sigma(s_2) = R \,\Sigma(s_1)\, R^T,
$$
with
$$
R=
\begin{pmatrix}
R_{33} & R_{34}\\
R_{43} & R_{44}
\end{pmatrix}.
$$
The paper also reconstructs phase-space covariance from the rms position measurements at three BPMs and then performs tracking simulations with MAD to include the nonlinear effects of the FFS sextupoles [1110.5231].

For the 16 April 2010 dataset with 1000 pulses, the measured rms vertical position jitter at $P2$ drops from 2.3 $\mu$m to 0.4 $\mu$m for bunch 2 and from 2.5 $\mu$m to 1.1 $\mu$m for bunch 3 when feedback is enabled [1110.5231]. The corresponding angle jitter at $P2$ changes from 1.9 $\mu$rad to 0.65 $\mu$rad for bunch 2 and to 0.72 $\mu$rad for bunch 3. The BPM resolutions are better than 0.4 $\mu$m at $P2$ and about 1 $\mu$m at $P3$, and the feedback-off correlations are 98% between bunches 1 and 2 and 89% between bunches 2 and 3 [1110.5231]. These strong correlations are precisely what make intra-train correction effective.

At the entrance to the FFS, the predicted jitter for bunch 2 changes from $\sigma_{\rm FFS}=5.1\,\mu$m and $\sigma'_{\rm FFS}=0.7\,\mu$rad to 3.3 $\mu$m and 0.3 $\mu$rad with feedback, while bunch 3 changes from 5.9 $\mu$m and 0.9 $\mu$rad to 3.7 $\mu$m and 0.5 $\mu$rad [1110.5231]. At the IP, the predicted vertical position jitter is reduced from 17.3 nm to 8.0 nm for bunch 2 and from 16.0 nm to 7.5 nm for bunch 3, while the corresponding vertical angle jitter changes from 155.6 $\mu$rad to 100.0 $\mu$rad and from 173.7 $\mu$rad to 110.5 $\mu$rad [1110.5231]. In this literature, VJC is therefore a feedback and transport problem defined on beam centroid phase space rather than on image features.

## 6. Event-based spacecraft sensing and vertical-axis jitter benchmarks

The e-STURT dataset addresses spacecraft jitter as a sensing problem: jitter degrades fine-pointing required for optical communication, earth observation, and space domain awareness, and event cameras are attractive because they provide asynchronous, high temporal resolution observations [2505.12588]. For VJC, the essential design choice is that jitter is simulated along both sensor axes, including Axis2, the vertical sensor-plane or y-axis motion, under controlled frequency bands [2505.12588].

The hardware consists of a Prophesee Gen4 HD event camera with resolution $1280 \times 720$, temporal resolution $1\,\mu s$, pixel size $4.86 \times 4.86\,\mu m^2$, maximum bandwidth 1066 Meps over USB3, and a field of view of $3.42^\circ \times 1.89^\circ$ with 100 mm optics. The camera is mounted on a Physik Instrumente U-723 PILine XY Stage with motion range $22\,\mathrm{mm} \times 22\,\mathrm{mm}$, bidirectional repeatability $\pm 0.2\,\mu m$, and minimum incremental motion $0.1\,\mu m$; the optics use a 100 mm / F2.8 lens [2505.12588]. Calibration with a checkerboard under uniform motion yields
$$
0.1\,\text{mm} \approx 20.58\,\text{pixels}, \qquad R^2 = 0.998,
$$
and the dataset defines the jitter amplitude as
$$
a = 0.1\,\text{mm},
$$
corresponding to about 20.58 pixels [2505.12588].

The dataset includes single-axis x motion, single-axis y motion, and simultaneous x-y motion in three frequency bands: slow, $0\text{–}30\,\mathrm{Hz}$; medium, $30\text{–}100\,\mathrm{Hz}$; and fast, $100\text{–}200\,\mathrm{Hz}$ [2505.12588]. It comprises 20 experimental episodes and about 200 sequences total, with 10 sequences per episode: one static reference, three Axis1 sequences, three Axis2 sequences, and three BothAxes sequences [2505.12588]. Each sequence lasts 190 s, including 10 s for initialization, homing, and stabilization and 180 s of acquisition, and each contains a raw event stream `.dat`, piezo telemetry `.csv`, and hardware synchronization log `.log` [2505.12588]. Episode 2 has incomplete data because of actuator stiction and malfunction, and Episode 20 lacks the synchronization spike protocol used in later episodes [2505.12588].

The baseline estimator operates directly on the event stream
$$
\mathcal{E} = \{e_k\}_{k=1}^{N}, \qquad e_k = (x_k, y_k, t_k, p_k),
$$
where $p_k \in \{-1,+1\}$ is the polarity [2505.12588]. Events are partitioned into non-overlapping temporal batches
$$
\mathcal{B}_q = \{e_k \mid t_k \in [q t_{\text{batch}}, (q+1)t_{\text{batch}})\},
$$
with
$$
t_{\text{batch}} = \frac{1}{2 f_{\max}},
$$
then accumulated in a circular queue
$$
\mathcal{C}_q = \bigcup_{p=q-N_c}^{q} \mathcal{B}_p.
$$
DBSCAN identifies star-event clusters $\{F_1, F_2, \dots, F_P\}$, after which linear trends are fit:
$$
x_j^p = m_x^p t_j^p + c_x^p, \qquad
y_j^p = m_y^p t_j^p + c_y^p.
$$
Evaluating at the current batch time
$$
t_q = (q+1)t_{\text{batch}}
$$
gives a centroid estimate
$$
S_p = \big(m_x^p t_q + c_x^p,\; m_y^p t_q + c_y^p\big).
$$
A support set
$$
W_{q,p} = \{e_k \in \mathcal{B}'_{q,p} \mid \|(x_k,y_k) - S_p\| < r\}
$$
is formed near the centroid, and the inter-batch displacement is estimated by
$$
h_x^{*}, h_y^{*} = \arg\max_{(h_x, h_y)} \sum_{e_n \in W_{q-1,p}} I[(x_n + h_x, y_n + h_y) \in W_{q,p}],
$$
so that $h_y^*$ directly represents vertical sensor-plane jitter [2505.12588].

Ground truth is obtained from the piezoelectric actuator at 30 Hz, with
$$
\delta t_{gt} \approx 33.3\,\text{ms},
$$
and synchronization uses a 0.4 mm spike after initial 0.1 mm motions [2505.12588]. The reported trend is that slow motion yields the best recovery, while medium and fast motion reduce fidelity because star events become sparser and noise separation becomes harder. Axis2-only and BothAxes sequences nonetheless demonstrate that vertical motion and mixed-axis jitter can be estimated from event data [2505.12588]. This makes e-STURT a benchmark for VJC-oriented estimation algorithms rather than a closed-loop compensator in its own right.

## 7. Cross-domain interpretation, misconceptions, and limits

A frequent source of ambiguity is the assumption that VJC denotes a single standardized algorithm. The available literature supports a narrower statement: the explicit module name appears in VoxelHound, while other domains implement related functionality under field-specific names such as vertical orbit feedback, event-based jitter estimation, or tip/tilt sensing and control [2603.13108][1110.5231][2505.12588][2508.09256]. This suggests that VJC is better treated as a problem class organized around vertical disturbance suppression.

A second ambiguity concerns dimensionality. In VoxelHound, the compensation variable is a single global vertical displacement in feature space [2603.13108]. In ATF2, the vertical plane is intrinsically two-dimensional in phase space, with both $y$ and $y'$ corrected by coupled feedback [1110.5231]. In multi-plane phase retrieval, compensation is fundamentally 2D tip/tilt, and any “vertical jitter” interpretation refers only to one orthogonal component of that motion [2508.09256]. In e-STURT, vertical jitter is one explicit axis of hardware actuation, but the baseline estimator is formulated for general $(h_x,h_y)$ displacement [2505.12588]. A plausible implication is that “vertical” often identifies the dominant or operationally critical axis rather than a complete motion model.

A third misconception is to equate vertical jitter compensation with generic stabilization. The cited systems show more specific objectives. In panoramic occupancy prediction, VJC exists to stabilize image-to-BEV correspondence before multimodal fusion [2603.13108]. In accelerator physics, the objective is to preserve nanometre-scale beam overlap and therefore luminosity at the IP [1110.5231]. In phase retrieval, jitter correction is integrated with wavefront reconstruction because low-order pointing errors can cascade into branch cuts and larger RMS reconstruction error [2508.09256]. In spacecraft event sensing, the current contribution is chiefly a dataset and a baseline estimator that enable future compensation algorithms [2505.12588].

Across these settings, the recurring pattern is consistent: vertical jitter is estimated from an internal signal representation, whether pooled image features, BPM measurements, event streams, or multi-plane optical centroids; the estimate is mapped into a correction variable; and compensation is judged by its effect on a downstream scientific or control objective. This suggests that the core significance of VJC lies less in any one architecture than in its role as an intermediate stabilization layer that prevents vertical perturbations from degrading subsequent inference, reconstruction, or beam transport.

Source: https://www.emergentmind.com/topics/vertical-jitter-compensation-vjc