Skip to content
←Back to Papers

PAPER DEEP DIVE

Visual navigationCross-PlatformCamera Canonicalization

CanonNav: Disentangling Navigation Behavior from Camera Geometry in Cross-Platform Visual Navigation

While visual navigation has advanced through imitation learning from cross-platform demonstrations, fully leveraging such data remains challenging. First, directly learning from image-trajectory pairs entangles navigation behavior with platform-dependent camera geometry. This hinders consistent learning by forcing the policy to implicitly infer camera geometry from visual observations, an inherently ill-posed problem. Second, imitation learning from demonstrated trajectories captures the expert's chosen motion but leaves the intermediate decisions underlying that motion implicit. To address these issues, we propose CanonNav, a visual navigation framework that disentangles navigation behavior from camera geometry and incorporates complementary planning supervision into learning from cross-platform demonstrations. CanonNav introduces camera geometry canonicalization, which transforms visual observations and trajectories into a camera-consistent representation space. Building on this representation, we derive safety and local-progress supervision using pseudo-labels from an offline traversability estimator. Safety supervision penalizes unsafe trajectories, while local-progress supervision guides where the robot should advance. Experiments across diverse camera configurations and environments show that, despite using only RGB at inference, CanonNav consistently outperforms RGB-based baselines and even surpasses RGB-D-based methods in challenging scenarios.

Paper: CanonNav: Disentangling Navigation Behavior from Camera Geometry in Cross-Platform Visual Navigation

Authors: Dong-Wook Kim, Ji-Hoon Hwang, E-In Son, Mintaek Oh, and Seung-Woo Seo

Affiliation: Seoul National University

Code: DongwookKim110/CanonNav, MIT License, inspected at commit 489e8eb

Project page: CanonNav Project Page

One-Sentence Summary

CanonNav maps images, relative goals, and trajectories into a shared canonical forward-facing camera space, then learns safety and local-progress signals from offline traversability pseudo-labels so that a policy using only RGB input can remain stable across different robot cameras.

Why a Change of Camera Also Changes the Learning Problem

A conventional point-goal navigation policy receives an RGB observation $I_t$ and a relative goal $g_t=(r_t,\theta_t)$, then predicts a local path $\tau_t$. On a fixed robot this is already a difficult visuomotor problem, but it still has a stable relationship between image appearance and action. Cross-platform training breaks that relationship. A camera mounted low on a small indoor robot and a camera mounted high on a Husky can observe the same corridor while producing very different ground-plane geometry. The same future waypoint may appear near the image center on one platform and close to the bottom edge on another.

The paper highlights the problem in Figure 1. It is not merely a distribution shift in color, texture, or lighting. Camera intrinsics, mounting height, and pitch jointly change how every image pixel corresponds to a physical location on the ground. A policy trained on several such platforms is therefore asked to solve an underdetermined inverse problem: infer the unobserved camera geometry and choose a safe action at the same time. Textureless floors, partial occlusion, and limited field of view can make that inference ambiguous even for a powerful visual backbone.

Camera geometry changes image-to-trajectory correspondence

Figure 1: Different camera geometries alter the relationship between image regions and trajectory labels, while behavior cloning alone provides no explicit local-progress or safety target.

Existing augmentation strategies broaden the observed range of viewpoints. ExAug creates counterfactual views through scene reconstruction, RoVi-Aug synthesizes viewpoint changes, and RING randomizes embodiments and cameras in simulation. These methods reduce the chance that a network memorizes one camera, but they do not remove camera geometry from the input. If a test view lies outside the augmented distribution, the policy can still confuse a change in viewpoint with a change in the environment.

The second difficulty is supervisory. Expert trajectories reveal which path was eventually selected, but they do not label the most useful intermediate region or tell the learner whether each future waypoint is safely traversable. A pure behavior-cloning objective can reproduce a demonstrated route in familiar conditions and still fail on a long subgoal that requires an early detour. Depth sensors can expose nearby obstacles, yet CanonNav targets monocular RGB deployment, so the planning signal must be constructed during training and transferred through visual features at test time.

The authors respond with a representation-first design. They do not append raw camera parameters to an image encoder and hope the network learns their effect. Instead, they apply an explicit geometric transform before feature extraction. This choice creates a coordinate system in which image pixels, normalized trajectories, BEV labels, and the relative goal have consistent meaning across platforms. Safety and progress supervision become learnable in that common space rather than being attached to incompatible camera-specific observations.

The Canonical Camera as an Explicit Coordinate System

For a forward-facing monocular camera, the paper reduces the relevant extrinsic geometry to a pitch rotation $R_{\mathrm{pitch}}$ and a camera height $h$. Together with the intrinsic matrix $K$, these variables form the geometry tuple $\phi=(K,R_{\mathrm{pitch}},h)$. A normal end-to-end policy implicitly marginalizes over all possible geometry:

$$ p(\tau_t\mid I_t,g_t) = \int p(\tau_t\mid I_t,g_t,\phi)\, p(\phi\mid I_t)\,d\phi. $$

That expression makes the hidden coupling visible. The policy is not only learning how to navigate; it is also estimating a posterior over camera configurations and integrating its uncertainty into the action. CanonNav avoids asking the network to perform this inference implicitly. It fixes a canonical intrinsic matrix $\tilde K$ and warps the input image so that every source camera behaves like the same virtual camera before the policy sees it.

The canonical input is $336\times256$. Its focal lengths and principal point are chosen as $\tilde f_x=\tilde f_y=\tilde c_x=168$ and $\tilde c_y=128$. A source pixel is transformed with the homography:

$$ (\tilde u,\tilde v,1)^{\top} \propto \tilde K R_{\mathrm{pitch}}^{-1}K^{-1} (u,v,1)^{\top}. $$

The transform changes more than tensor dimensions. It aligns the optical model: focal length, principal point, and pitch are normalized before visual encoding. For a ground point $(x,y)$, the canonical coordinates can be written as $(-y,-h,x)^{\top}$. Projection then gives a particularly informative pair of equations:

$$ \tilde u=\tilde c_x-\tilde f_x\frac{y}{x}, \qquad \tilde v=\tilde c_y-\tilde f_y\frac{h}{x}. $$

Here, horizontal image position mainly encodes the ground point's lateral angle, while vertical image position relates its forward distance to camera height. Dividing the ground coordinates by $h$ removes the last platform-specific scale:

$$ \tilde u=\tilde c_x-\tilde f_x\frac{\tilde y}{\tilde x}, \qquad \tilde v=\tilde c_y-\tilde f_y\frac{1}{\tilde x}, \qquad (\tilde x,\tilde y)=(x/h,y/h). $$

The policy predicts in this height-normalized space, and the relative goal becomes $\tilde g_t=(r_t/h,\theta_t)$. Physical scale is not discarded permanently; multiplying a prediction by the current camera height recovers metres at execution time. This is the central geometric idea of the paper. CanonNav does not remove camera metadata from deployment. It uses camera metadata once to construct a common representation, which is different from presenting the same raw image and camera vector to every learned module.

The official implementation materializes this reasoning in canonnav/data/dataset.py. The image is warped with a homography composed from the canonical intrinsics, a pitch term, and the source intrinsics. Training also applies a yaw augmentation, rotates the BEV representation and trajectory labels by the same angle, normalizes positions by camera height, and keeps the goal and reach target in the same frame. This synchronization matters: a visually convincing warp with stale labels would train the network against two incompatible geometries.

CanonNav method overview

Figure 2: Canonical RGB and normalized goals feed a shared visual condition, which drives trajectory diffusion, Scope-of-Reach prediction, and waypoint traversability.

A Shared Visual Condition for Three Outputs

The canonical image is encoded by DINOv3 ViT-S+ with LoRA rank 3. CanonNav extracts the 3rd, 6th, 9th, and 12th transformer layers and aggregates them with four $1\times1$ convolutions. The paper reports the resulting feature map as $256\times16\times21$. Low-level layers preserve local obstacle boundaries and texture; deeper layers provide longer-range context such as corridor openings and route choices. Selecting several depths avoids forcing a single layer to represent both fine geometry and scene-level planning.

The relative goal is encoded as a 256-dimensional query. It attends to the image tokens through two cross-attention layers, producing a goal-conditioned feature $f_A$. The network then concatenates the pooled image feature, the goal embedding, and the attended feature:

$$ f_{\mathrm{cond}} = [f_I^{\mathrm{pool}},f_G,f_A]. $$

This condition vector is shared by two main heads. A conditional one-dimensional U-Net performs diffusion over trajectories, generating 30 candidates with 16 waypoints each. A second head predicts Scope-of-Reach, a compact representation of the local region the robot should try to reach next. Scope-of-Reach is modeled as an axis-aligned diagonal Gaussian:

$$ \mathcal S = \mathcal N\left( \mu, \operatorname{diag}(\sigma^2) \right). $$

The term “Scope-of-Reach” should not be read as a final destination. It is an intermediate navigational decision. When a direct route is blocked or a goal lies outside the current field of view, the robot still needs to decide which visible, traversable region offers the most useful progress. The Gaussian mean places that region on the ground plane, while its diagonal variance gives the region spatial extent. A large lateral variance can represent a broad opening; a smaller longitudinal variance makes the target more precise. In code, the Gaussian head constrains its standard deviation to $0.02$ through $0.7$ in normalized coordinates to prevent degenerate distributions.

A third branch evaluates the generated paths. Each waypoint is projected into the feature map, sampled bilinearly, and combined with waypoint coordinates to produce a traversability score. This is not another generative decoder. It is a lightweight scorer that answers a narrower question: given the current canonical observation, how likely is the robot to traverse the local segment around this point? Separating generation from evaluation lets diffusion preserve multiple plausible routes while the scorer applies safety-oriented selection at runtime.

Diffusion Policy with Planning Losses on a Clean Estimate

Trajectory generation follows conditional diffusion. During training, Gaussian noise is added to a normalized expert trajectory $\tilde\tau^\ast$ at a sampled diffusion step $k$. The denoiser $\epsilon_\theta$ predicts that noise from the noisy trajectory, step index, and visual condition. A conventional DDPM loss learns the expert trajectory distribution, but it does not by itself know that a predicted waypoint intersects an obstacle or that the route should approach a specific reachable region.

CanonNav therefore reconstructs an estimate of the clean trajectory from the noisy sample:

$$ \hat\tau_0 = \frac{ \tilde\tau_k-\sqrt{1-\bar\alpha_k}\, \epsilon_\theta(\tilde\tau_k,k,f_{\mathrm{cond}}) }{ \sqrt{\bar\alpha_k} }. $$

The safety and progress terms are evaluated on $\hat\tau_0$, which gives them a trajectory-shaped target at every training step. At inference, the model runs ten denoising steps and evaluates the final candidates. The implementation in canonnav/models/model.py follows the same logic: it first recovers $x_0$, then samples the BEV distance field, computes collision costs, and checks consistency between candidate waypoints and the predicted Scope-of-Reach.

The full objective combines diffusion, safety, progress, and smoothness:

$$ \mathcal L = \lambda_{\mathrm{diff}}\mathcal L_{\mathrm{diff}} + \mathcal L_{\mathrm{safety}} + \mathcal L_{\mathrm{prog}} + \lambda_{\mathrm{smooth}}\mathcal L_{\mathrm{smooth}}. $$

These terms are complementary rather than interchangeable. The diffusion loss retains the multimodal distribution of expert behavior. Safety loss penalizes paths that enter obstacle margins. Progress loss teaches the model where a local policy should advance before it can see or reach the final goal. Smoothness prevents the generated trajectory from exploiting noisy per-waypoint scores with abrupt control changes.

Turning Offline Traversability into Training Supervision

The training corpus contains RGB images, odometry, and expert trajectories, but not dense depth or collision annotations for every frame. CanonNav uses a frozen ViTA estimator to create traversability masks from training images. Using known camera geometry, it back-projects those masks into a $32\,\mathrm m\times32\,\mathrm m$ BEV grid with $0.1\,\mathrm m$ cells. The result is a collision map $M_{\mathrm{coll}}$ and a signed distance field $M_{\mathrm{sdf}}$. The traversability estimator is a label generator, not part of the deployed RGB policy.

The safety objective has a collision component and a waypoint traversability component:

$$ \mathcal L_{\mathrm{safety}} = \lambda_{\mathrm{coll}}\mathcal L_{\mathrm{coll}} + \lambda_{\mathrm{trav}}\mathcal L_{\mathrm{trav}}. $$

For estimated waypoint $\hat p_i$, the model restores metric coordinates using camera height and samples the signed distance field. Points closer than the required safety margin receive a smooth penalty:

$$ c_i = \operatorname{softplus}\left( \frac{ d_{\mathrm{safe}}-M_{\mathrm{sdf}}(h\hat p_i) }{\eta} \right), \qquad \mathcal L_{\mathrm{coll}} = \frac{1}{\gamma} \log\sum_{i=1}^{N}\exp(\gamma c_i). $$

The log-sum-exp form concentrates attention on the riskiest waypoint instead of averaging a collision away across an otherwise safe trajectory. The traversability branch predicts a score $\hat q_i$ for each point and compares it with a BEV-derived target:

$$ \mathcal L_{\mathrm{trav}} = \frac{1}{N} \sum_{i=1}^{N} \operatorname{BCE}(\hat q_i,q_i^\ast). $$

Visible points whose distance exceeds the robot radius are positive, while points inside the margin or outside the map are negative. Waypoints projected outside the camera view receive a neutral target of $0.5$, so the model is not forced to invent a confident label for an unobserved region. The paper also stops gradients from the waypoint coordinates and image features into the trajectory through this scorer. The traversability head consumes a clean trajectory estimate during training; it is not allowed to reshape the diffusion target through a second, noisy route.

The code uses a robot radius of $0.25\,\mathrm m$ and an additional margin of $0.5\,\mathrm m$, matching the paper's total $d_{\mathrm{safe}}=0.75\,\mathrm m$. This is a platform-specific safety definition. A wider robot or a higher-speed controller should not silently inherit the same numeric margin merely because it can load the checkpoint.

Constructing the Local Progress Target

Scope-of-Reach labels are derived from expert paths and the BEV collision map. The trajectory is sampled every $0.33\,\mathrm m$. At each pose, the pipeline checks all BEV cells covered by the robot footprint; a pose is treated as colliding when at least 30 percent of those cells are occupied. Starting from the current pose, the target is the last valid waypoint before either the first collision or the first exit from the camera's visible region. If the complete segment remains safe and visible, the final waypoint becomes the target.

This label captures an important intermediate decision that raw expert trajectories leave implicit. Among the locations the robot can currently see and safely approach, how far should it commit before replanning? The Scope-of-Reach loss combines a Gaussian negative log-likelihood with a smooth L1 term:

$$ \mathcal L_{\mathrm{pred}} = -\log\mathcal N \left( \tilde s^\ast;\tilde\mu,\operatorname{diag}(\tilde\sigma^2) \right) + \operatorname{SmoothL1}(\tilde\mu,\tilde s^\ast). $$

Location alone is insufficient. A Gaussian centered on a safe point can still assign substantial probability mass to an adjacent obstacle. The progress loss therefore includes a negative-mass term that integrates the predicted reach distribution over the collision map:

$$ \mathcal L_{\mathrm{neg}} = \int M_{\mathrm{coll}}(x,y)\, \mathcal S(x,y)\,dx\,dy. $$

A consistency term then ties the generated trajectory to the reach prediction. For each waypoint it computes the Mahalanobis distance to the predicted Gaussian, and a negative soft-min encourages at least one waypoint to lie near the mean:

$$ d_i = (\hat p_i-\tilde\mu)^\top \operatorname{diag}(\tilde\sigma^2)^{-1} (\hat p_i-\tilde\mu), \qquad \mathcal L_{\mathrm{cons}} = -\rho\log \sum_{i=1}^{N}\exp\left(-\frac{d_i}{\rho}\right). $$

The combined progress objective uses prediction, negative mass, and consistency terms:

$$ \mathcal L_{\mathrm{prog}} = \lambda_{\mathrm{pred}}\mathcal L_{\mathrm{pred}} + \lambda_{\mathrm{neg}}\mathcal L_{\mathrm{neg}} + \lambda_{\mathrm{cons}}\mathcal L_{\mathrm{cons}}. $$

This construction exposes both a target and a spatial penalty. The target says where the expert route remains viable; the collision-mass term says where the Gaussian must not spread. Consistency prevents the trajectory head and the reach head from learning independent stories about the same observation.

Runtime Selection by Expected Reach Rather Than Raw Confidence

Diffusion produces 30 trajectories. Choosing the candidate with the largest sampling likelihood or the endpoint nearest the goal is unsafe because a high-probability path can still cross an obstacle. CanonNav treats the predicted traversability $q_i$ as a survival probability per unit distance. Let $\ell_i$ be the length of segment $i$. The probability of reaching the start of that segment is:

$$ R_i = \prod_{j=1}^{i-1}q_j^{\ell_j}. $$

The expected distance travelled within the segment is obtained by integrating the survival probability along its length:

$$ d_i = \int_0^{\ell_i}q_i^x\,dx = \frac{1-q_i^{\ell_i}}{-\ln q_i}. $$

Summing these contributions gives an expected reachable length:

$$ \hat L = \sum_{i=1}^{N}R_i d_i = \sum_{i=1}^{N} \left( \prod_{j=1}^{i-1}q_j^{\ell_j} \right) \frac{1-q_i^{\ell_i}}{-\ln q_i}. $$

The scalar expected length is converted back into a point $\bar p$ on the trajectory polyline. Candidate ranking then combines goal progress and physical displacement, with an additional temporal-consistency score relative to the previous path. The released implementation uses weights $0.6$, $0.4$, and $0.2$, clips the first two scores at a five-metre scale, and normalizes the mean heading change by 45 degrees. When no goal is supplied, goal progress is removed and displacement drives selection.

This scorer encodes a useful separation of responsibilities. The generative model can remain expressive and propose several routes. The execution layer estimates how far each route can actually continue before its survival probability collapses, then prefers a path that makes progress without jumping to a new direction every frame. The final system does not run ViTA online and does not require depth at test time.

CanonNav Data Flow

flowchart LR
    A["RGB and relative goal"] --> B["Canonical homography
intrinsics pitch height"] B --> C["DINOv3 ViT-S+
LoRA rank 3"] C --> D["Layers 3 6 9 12
multi-level fusion"] D --> E["Goal cross-attention"] E --> F["Shared condition"] F --> G["Diffusion sampler
30 paths x 16 points"] F --> H["Scope-of-Reach
2D Gaussian"] G --> I["Waypoint traversability"] I --> J["Expected reach point"] H --> K["Trajectory consistency"] J --> K K --> L["Selected path and control"] M["Offline ViTA labels"] --> N["BEV collision and SDF"] N --> O["Safety supervision"] N --> H G --> O

The left side is the deployed path. The lower branch exists only during training data construction and optimization. This distinction is essential when judging the method: CanonNav uses an offline depth-derived estimator to manufacture labels, but its inference graph is monocular RGB plus known camera geometry.

Evaluation Protocol and Main Results

Simulation uses outdoor CitySim and the indoor AWS Hospital environment. Horizontal field of view takes values of $70^\circ$, $80^\circ$, and $90^\circ$; pitch takes values of $0^\circ$, $10^\circ$, and $20^\circ$. Camera heights are $0.55$ and $0.75\,\mathrm m$ in CitySim, and $0.45$ and $0.65\,\mathrm m$ in the hospital, yielding 18 camera configurations. CitySim subgoals are 6, 12, and 20 metres, while hospital subgoals are 6, 9, and 12 metres. The evaluation contains 312 CitySim cases and 264 hospital cases, each repeated ten times across the camera configurations, for 56,160 and 47,520 rollouts respectively.

Training draws from SCAND, HuRoN, BotanicGarden, a self-collected Husky dataset, and HM3D, producing 8.35 million image-goal-trajectory samples after preprocessing. Comparisons include four RGB methods and two RGB-D methods. Success rate is the fraction of completed subgoals; collision count is reported per 100 metres. All methods are evaluated in environments absent from training.

Long-range setting Method Success rate Collisions per 100 m
CitySim, 20 mLiMo (RGB)48.3%4.25
CitySim, 20 mViPlanner (RGB-D)39.3%4.87
CitySim, 20 mNavDP (RGB-D)71.2%2.21
CitySim, 20 mCanonNav (RGB)86.4%0.89
Hospital, 12 mNavDP (RGB-D)82.9%1.91
Hospital, 12 mCanonNav (RGB)85.5%2.37

Table 1: Key rows from the paper's main comparison. CanonNav has the highest success rate under the hardest CitySim setting, but does not dominate every depth baseline metric.

The most persuasive result is the 20-metre outdoor setting. CanonNav reaches 86.4 percent success while NavDP reaches 71.2 percent, and collision frequency falls from 2.21 to 0.89 per 100 metres. This setting rewards committing to an early detour before the obstacle dominates the near-field view. On the shorter outdoor cases, NavDP is slightly stronger: 99.7 versus 99.4 percent at six metres and 93.7 versus 94.1 percent at twelve metres, with a large advantage in six-metre collisions. The contribution is therefore not universal superiority over depth; it is better performance when local progress must be anticipated from visual context.

The hospital results sharpen that interpretation. CanonNav improves success from 82.9 to 85.5 percent at twelve metres, yet its collision rate is 2.37 versus NavDP's 1.91. A depth-based planner can react more reliably to nearby indoor obstacles, while the RGB policy gains success by choosing better long-range intermediate targets. Reporting only success would hide this tradeoff; reporting both metrics makes the role of the method much clearer.

Qualitative comparisons in CitySim and Hospital

Figure 4: CanonNav predicts the yellow Scope-of-Reach region before committing to a detour, while imitation-only RGB baselines are more likely to approach the obstacle before reacting.

What Happens When the Camera Moves

The camera experiment isolates the paper's main claim more directly than aggregate success. Figure 3 varies horizontal field of view and pitch relative to the $70^\circ$, zero-pitch reference. A wider view can supply context for a turn, but only if the policy can use the additional pixels. CanonNav and LiMo generally benefit from wider fields of view, whereas ViPlanner and NavDP degrade in some settings. Camera robustness is therefore not a simple function of receiving more visual information.

Success changes under horizontal field of view and camera pitch

Figure 3: Camera sensitivity across horizontal field of view and pitch. CanonNav gains from wider views and remains relatively stable under pitch changes.

Pitch is especially revealing because it changes the vertical mapping between image rows and distances on the ground. At the 20-metre CitySim subgoal, LiMo drops by 24.66 percentage points under the reported pitch variation, ViPlanner drops by 50.34 points, and NavDP rises by 9.80 points. CanonNav changes by only 1.17 points. In the nine-metre hospital case, its largest pitch-induced variation is 3.87 points. The canonical transform does not make the network blind to camera parameters; it performs the geometric conversion before learning the policy.

The field-of-view trend also exposes a real limitation. Canonicalization maps the source image into a fixed narrow target view. When the physical camera sees a wider area, peripheral context may be compressed or cropped by the homography. This helps explain why a nominal robustness improvement can coexist with a cost in scene coverage. The result should be read as stability under the evaluated geometry range, not as invariance to arbitrarily extreme cameras.

Ablation: Geometry and Planning Labels Depend on One Another

The component study removes canonicalization, safety supervision, and local-progress supervision in different combinations. C denotes canonicalization, S denotes safety supervision, and P denotes local-progress supervision. All comparisons use the same long-range settings.

Setting CitySim 20 m SR CitySim 20 m collisions Hospital 12 m SR Hospital 12 m collisions
Scratch28.8%6.3632.4%12.15
DINOv3 + LoRA62.6%2.9967.0%4.76
Add C65.6%2.5270.0%4.62
C + S83.0%1.1579.8%3.42
C + P79.1%1.5381.2%3.13
S + P, no C77.1%1.6675.2%4.04
C + S + P86.4%0.8985.5%2.37

Table 2: Component ablation from the paper. C is camera canonicalization, S is safety supervision, and P is local-progress supervision.

The jump from scratch to DINOv3 plus LoRA is the largest single gain: 33.8 percentage points on CitySim and 34.6 on the hospital setting. Canonicalization alone adds about three points, which could look modest in isolation. Its importance becomes clear only after planning supervision is introduced. C+S reaches 83.0 percent and C+P reaches 79.1 percent, while the full model reaches 86.4 percent. Safety and progress therefore contribute in different ways rather than acting as duplicate labels.

The S+P condition without canonicalization is the decisive control. It reaches 77.1 percent on CitySim with a standard deviation of 7.7, compared with 86.4 percent and 3.8 for the full model. The hospital pattern is similar. The pseudo-labels still contain useful information, but the same BEV target appears at different image locations as camera geometry changes. Without a common coordinate system, the visual features learn conflicting associations and the planning losses become less stable.

Physical Robot Trials

The real-world platform is a Clearpath Husky with a ZED 2i camera and an NVIDIA Jetson AGX Orin 64 GB. CanonNav runs onboard at 4.5 Hz. Trials cover a corridor, a walkway, and an off-road route. Five subgoals range from 25 to 41 metres, each with ten trials. Different horizontal fields of view and pitch values are used across environments rather than keeping one fixed camera.

Environment and subgoal NavDP success NavDP interventions CanonNav success CanonNav interventions
Corridor G1, 25 m3/101.38/100.3
Corridor G2, 41 m0/103.87/100.4
Walkway G1, 32 m1/101.59/100.1
Walkway G2, 33 m9/100.110/100.0
Off-road G1, 27 m4/101.27/100.5
Overall17/501.5841/500.26

Table 3: Physical trials from the paper. SR is the number of trials completed without intervention; Int. is the average number of human interventions per subgoal.

The overall result rises from 17/50 to 41/50 trials without intervention, while average interventions fall from 1.58 to 0.26. The 41-metre corridor is the strongest evidence: NavDP completes none of ten trials and requires 3.8 interventions per trial, whereas CanonNav completes seven and requires 0.4. The improvement is not merely a policy that drives more aggressively toward the goal. Its intervention count also falls, which is consistent with selecting a viable detour earlier.

Walkway G2 is a useful counterexample. NavDP already succeeds in 9/10 trials with only 0.1 interventions, and CanonNav improves that to 10/10 with zero. The absolute gain is small because the baseline was not near failure. Across the other four conditions the gap is much larger. This uneven pattern is more credible than a uniform victory and helps identify where canonicalized local progress matters most.

Physical navigation in corridor, walkway, and off-road environments

Figure 5: Real corridor, walkway, and off-road trials. CanonNav commits to visible detours farther from the obstacle, while NavDP more often reacts when the obstacle is already close.

Supplementary Figure S1 visualizes the expected-reach calculation. A path that crosses a low-traversability region receives an earlier stopping point instead of being rewarded for correct-looking waypoints after the risky section. This is a better match for physical navigation than averaging all waypoint scores: a route that fails halfway should not receive a high score from its unreachable tail.

Expected reach point for candidate trajectories

Supplementary Figure S1: Each candidate receives an expected reach point from per-waypoint survival probabilities before goal progress, displacement, and temporal consistency are scored.

Reading the Official Implementation

The repository makes several details concrete. DINOv3 layer numbers 3, 6, 9, and 12 in the paper correspond to the zero-based indices [2,5,8,11] in canonnav/models/model.py; this is an indexing convention, not a different feature choice. The goal-conditioning module uses positional encodings and two cross-attention layers, consistent with the paper's 768-dimensional condition assembled from pooled image features, goal features, and attended features.

The code also adds a scalar nav_type, creating a condition dimension of 3 * dec.out_channel + 1. This supports goal-directed and exploratory behavior in one model. The public training documentation explicitly identifies exploration_prob=0.3 as an addition relative to the paper. The released system is therefore slightly broader than the goal-directed pipeline described in the main manuscript.

The traversability branch projects each waypoint into the image feature grid and samples the surrounding feature, rather than using coordinates alone. The gradient stop around waypoint coordinates and image features ensures that the BCE objective trains the evaluator without becoming another generator objective. The Scope-of-Reach head limits standard deviations to a bounded interval, and canonnav/models/build.py constructs the conditional DDPM, squared-cosine schedule, 30 candidates, 16 waypoints, and ten inference steps specified in the configuration.

There is one concrete discrepancy that should not be hidden. The supplementary material reports a learning rate of $1\times10^{-4}$ for LoRA parameters and $5\times10^{-3}$ for the remaining trainable parameters. The inspected public configs/train.yaml lists $5\times10^{-5}$ and $1\times10^{-4}$, respectively. These are substantially different settings. Reproduction should record the exact commit and decide whether the released configuration or the paper experiment record is authoritative; the two configurations should not be described as identical.

The repository supplies a checkpoint, a single-image demonstration, a ROS1 Hospital example, and training code. It expects a traversability map as a target input for training but does not package ViTA inference in the deployed navigation path. Reconstructing the full pseudo-label pipeline requires the matching offline estimator and calibrated BEV projection. This is the largest practical gap between loading the released policy and reproducing the end-to-end data preparation process.

Limitations

The authors explicitly note the field-of-view tradeoff. When the source camera observes more than the canonical camera, warping into the fixed $336\times256$ view can lose peripheral context that would have been useful for a detour. A wider canonical view would preserve more of the scene but increase input area and reduce the effective resolution available to distant targets. Canonicalization therefore solves geometric inconsistency without creating unlimited visual context.

Embodiment geometry remains outside the canonical representation. The transform accounts for camera intrinsics, pitch, and height, but the policy still depends on robot size, turning radius, speed, and footprint. The $0.25\,\mathrm m$ robot radius and $0.75\,\mathrm m$ total safety distance are fixed training values. Moving the checkpoint to a wider or longer platform changes the meaning of a collision-free BEV cell and should require retraining or explicit embodiment conditioning.

The supplementary failure analysis identifies incorrect Scope-of-Reach prediction as the main error path. If the Gaussian mean lands on an untraversable area, trajectory generation can faithfully follow it toward that region. Small boxes, low-texture obstacles, and objects that resemble the surrounding ground are the hardest cases. The policy can make labels geometrically consistent across cameras, but it cannot recover obstacle concepts that the offline labeler never detected.

Three engineering risks follow. First, deployment requires calibrated intrinsics, mounting height, and pitch; drift in any of them shifts the entire transformed scene. Second, the physical study uses one Husky platform, so cross-platform evidence is stronger for camera variation than for wheeled, legged, or differently sized robots. Third, the public repository does not expose a complete ViTA-to-BEV label-generation stack, which weakens direct reproducibility of the training distribution. A strong result on the reported hardware does not eliminate any of these dependencies.

What CanonNav Changes in Practice

The paper's main contribution is not merely a new encoder or an extra loss term. It defines an ordering: establish a common geometric representation first, then apply planning supervision whose spatial meaning is stable across platforms. Expansion-based augmentation and canonicalization are not equivalent. Augmentation teaches a model to tolerate more observations; canonicalization changes the observation itself so that downstream labels refer to the same physical quantity.

For robot developers, the runtime decomposition is also worth extracting. A generative head proposes multiple paths. A lightweight evaluator estimates survival probability along each candidate. A selector converts those probabilities into an expected reachable point and balances progress, displacement, and temporal consistency. This structure gives the system a place to express conservative execution without collapsing all uncertainty into the diffusion sampler.

The natural next steps are geometric and embodied rather than purely architectural. One direction is a canonical space that can represent richer camera rotations or multi-camera rigs without throwing away peripheral context. Another is conditioning on footprint, turn radius, and dynamics so that the same navigation behavior can transfer across bodies. Camera normalization solves one part of the cross-platform problem; a complete solution must also represent the machine that executes the path.

CanonNav succeeds because it gives every camera the same ruler before asking the policy to learn where it can safely go; the planning labels work across platforms only after that ruler is shared.

Conclusion

CanonNav combines geometric canonicalization with safety and local-progress supervision learned from offline traversability labels. The resulting monocular policy is evaluated under 18 camera configurations, outperforms RGB baselines and NavDP on long outdoor subgoals, and improves real Husky success from 17/50 to 41/50 trials without intervention. Its limits are equally concrete: peripheral context is compressed, embodiment geometry is not normalized, and failures concentrate around incorrect reach predictions and weak traversability labels. The paper is strongest when read as an argument about representation and supervision order, not as a claim that RGB has universally surpassed depth.

Visual navigationCross-PlatformCamera CanonicalizationRGB-OnlyDiffusion policiesRobot Learning

SOURCE LINKS

https://arxiv.org/abs/2608.30242https://github.com/DongwookKim110/CanonNav

Related Papers

Navi-Agent: Unlocalized Monocular Navigation Agent

Navi-Agent: Unlocalized Monocular Navigation Agent

Vision-Language Navigation in Continuous Environments (VLN-CE) requires an embodied agent to execute long-horizon instructions in unknown environments. Existing zero-shot VLN-CE systems typically maintain spatial states through geometric localization or coordinate-based representations. Recent geometry-constrained navigation removes depth and globally consistent coordinates, but maintaining persistent spatial awareness for place confirmation, progress verification, and recovery remains challenging. We present Navi-Agent, a zero-shot VLN-CE agent that constructs a coordinate-free spatial state from visual observations and executed motion histories. Navi-Agent organizes this state as a navigation topology, where nodes represent visual places and edges represent motion transitions. This representation enables observation-based approximate self-localization, task progress verification, and visual revisitation-based recovery. Navi-Agent performs closed-loop navigation by decomposing instructions into sub-goals, executing local visual navigation, and verifying visited places through the constructed spatial state. Experiments on zero-shot VLN-CE benchmark and real-world robot platforms show that Navi-Agent achieves state-of-the-art performance among geometry-constrained methods while remaining competitive with approaches relying on geometric localization.

Xie, Wenyuan, Hong, Mengyang, Wang, Yongzhong · 699 views · Sep 17, 2026
VLNVision-language navigation
Sep 17, 2026
HyperDCM: Dynamic Cluster Memory Replay in Hyperbolic Space for Continual Robotic Navigation Across Scenes

HyperDCM: Dynamic Cluster Memory Replay in Hyperbolic Space for Continual Robotic Navigation Across Scenes

Continual learning in visual navigation remains challenging due to catastrophic forgetting and the difficulties associated with adapting to diverse and evolving environments. To address these issues, we propose Hyperbolic Dynamic Cluster Memory (HyperDCM), a structure-aware memory mechanism that enhances diffusion policy-based navigation through scene graph modeling and principled memory replay. HyperDCM extracts semantic scene triples from RGB observations using large vision-language models, encodes them into scene graph embeddings via a Relational Graph Convolutional Network (R-GCN), and projects the embeddings into hyperbolic space to enhance structural separability and retention in continual navigation. A dynamic clustering and structure-sensitive update strategy selects representative samples for memory replay, thereby preserving knowledge diversity and mitigating catastrophic forgetting. Experiments on multi-scene indoor and outdoor datasets demonstrate that HyperDCM achieves superior retention of past navigation capabilities and improved generalization compared to representative continual learning baselines adapted to diffusion policy navigation.

Zhengfei Lu, Jian Yang, Muyu Wang · 969 views · Jul 4, 2026
Continual learningVisual navigation
Jul 4, 2026
EA-Nav: Learning Safe Visual Navigation Policies with Embodiment Awareness

EA-Nav: Learning Safe Visual Navigation Policies with Embodiment Awareness

Cross-embodiment navigation is a key challenge in embodied intelligence. Due to differences in embodiment, the same visual observation may imply different actions for different agents, making prediction ambiguous when relying solely on vision. Existing studies mainly rely on reinforcement learning, which requires large-scale interaction and careful reward design, making it difficult to support scalable pretraining and real-world adaptation. In contrast, imitation-learning-based approaches remain limited. To address these challenges, we propose an imitation-learning-based embodiment-aware navigation framework with a modular multi-stage design. In pretraining, we construct a cross-embodiment navigation dataset from Internet videos and introduce embodiment geometry as conditional tokens to reduce action ambiguity under the same observation. In fine-tuning, we design a multimodal information injection mechanism based on a decoupled architecture. Specifically, we design a trajectory augmentation strategy to generate high-risk samples, which are used to train spatial perception and risk-aware correction separately, thereby explicitly incorporating embodiment geometry for safe navigation. Experimental results show that the proposed method effectively improves navigation performance across different embodiment settings, demonstrating the effectiveness of incorporating embodiment geometry into embodied navigation.

Jialu Zhang, Yong Du, Xianda Guo · 341 views · Jul 22, 2026
Visual navigationBody-Awareness
Jul 22, 2026
Learning Adaptive Safety Margins for Visual Navigation

Learning Adaptive Safety Margins for Visual Navigation

Robots in cluttered indoor spaces often fail not because they cannot generate collision-free paths, but because a fixed safety margin is mis-calibrated: conservative margins cause detours and timeouts, while permissive margins lead to near-boundary shortcuts under perception bias. Diffusion-based planners propose diverse trajectory candidates from egocentric RGB-D, yet reliable selection remains the bottleneck. We propose a context-conditioned safety critic that learns an adaptive clearance preference for ranking diffusion proposals, decomposed into three complementary terms: (i) a safety term with a clearance-budget penalty and a control-barrier-function residual for waypoint- and transition-wise safety, (ii) an efficiency term combining a smoothness penalty with a safety-gated detour-ratio penalty that avoids detours without incentivizing risky shortcuts, and (iii) a distance-constraint matching term that anchors the learned budget to realized ESDF clearances to prevent margin collapse. We train the critic with privileged ESDF geometry in simulation and distill it into a perception-only selector via a two-stage teacher-student procedure. On PointGoal navigation in HM3D and MP3D, including cross-dataset transfer, our method achieves the highest success rate (SR) and success weighted by path length (SPL) among strong diffusion, optimization, and RL baselines. Trained purely in simulation, it transfers to a Unitree G1 humanoid and navigates cluttered indoor scenes without task-specific tuning.

Junyi Hu, Shuaihang Yuan, Geeta Chandra Raju Bethala · 369 views · Jul 20, 2026
Visual navigationSafety Margin
Jul 20, 2026

As an Amazon Associate, we earn from qualifying purchases.