EBV-CAN: Vision--Language Grounding for Contact-Aided Endoscope Navigation
Organizations: The Chinese University of Hong Kong. · National University of Singapore.
Abstract
Flexible endoscopes exploit structural compliance to traverse narrow lumens, pipes, and cavities, where navigation involves distributed environmental contact. This compliance makes tip motion depend on the evolving support configuration. We present external bird's-eye-view contact-aided navigation (EBV-CAN), a vision-language policy that combines one initial global static bird's-eye image with evolving endoscopic observations and motor state. Three supervised semantic queries locate the tip, next waypoint, and instructed target on the cached global image; their residual representations predict bending and insertion commands. We introduce the Vision-Language Contact-Aided (VLCA) dataset, linking 517 demonstrations and 75k action samples to 958k spatial entries and 93k remaining-route records. On 50 held-out episodes, tip-coordinate and waypoint localization reach 97.5% and 94.8%. Swapping the target instruction under identical observations changes target attention and motor output across 17 dual-target episodes. Across 1,920 physical trials of eight policies trained under a shared protocol, EBV-CAN achieves 183/240 successes (76.25%) under automatic blue-area scoring. Gated recurrent unit behavior cloning (GRU-BC) achieves the lowest matched-task offline mean absolute error (MAE), 0.056, and 1/240 physical successes, establishing distinct rankings for action imitation and task completion. Successful multi-guide executions and representative failures connect spatial progress, steering transitions, and visibility to physical navigation.
Figures & tables
| Level | Guides | Target / variant | Episodes | Frames |
|---|---|---|---|---|
| L0 | 0 | Star | 81 | 10,080 |
| L1 | 1 | Star | 44 | 7,613 |
| L1.5 | 1 | Star / I | 111 | 15,538 |
| L2 | 2 | Star | 50 | 9,837 |
| L2.5 | 2 | Star / I | 19 | 2,889 |
| L3 | 3 | Star | 15 | 3,295 |
| Entity | Count | Supervision role |
|---|---|---|
| Guide/object boxes | 770,788 | Scene geometry |
| Target boxes | 93,415 | Goal grounding |
| Robot-tip entries | 93,413 | Localization |
| Canonical reference boxes | 4,041 | Guide identity |
| Ordered episode plans | 518 | Route order |
| Remaining-route records | 93,085 | Next waypoint |
| Input condition | Tip acc. (%) | WP acc. (%) | MAE |
|---|---|---|---|
| Recorded inputs | 95.78 | 94.78 | 0.094 |
| Repeat current EV feature | 92.79 | 94.23 | 0.104 |
| Freeze EV at first sample | 22.01 | 43.78 | 0.186 |
| Permute global patches | 29.69 | 3.04 | 0.101 |
| Policy | Test MAE | Selected epoch | Trainable (M) | Deployed (M) | |
| Zero-action reference | 1 | 0.480 | — | — | — |
| Copy preceding expert action | 1 | 0.051 | — | — | — |
| GRU-BC | 1 | 0.057 | 12 | 2.78 | 2.8 |
| ACT-style | 16 | 0.074 | 20 | 9.47 | 9.47 |
| Diffusion-MLP | 1 | 0.130 | 2 | 3.25 | 3.25 |
| Qwen3-VL + MLP | 1 | 0.104 | 14 | 9.84 | 4,447.7 |
| Physical success (automatic blue-area criterion) | ||||||||||
| Policy | Offline MAE | L0 | L1 | L1.5 | L2 | L2.5 | L3 | L3.5 | L4 | All |
| GRU-BC | 0.056 | 1/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 1/240 (0.42%) |
| ACT-style | 0.073 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/240 (0.00%) |
| Diffusion-MLP | 0.129 | 1/30 | 0/30 | 0/30 | 0/30 | 0/30 | 1/30 | 0/30 | 0/30 | 2/240 (0.83%) |
| Qwen3-VL + MLP | 0.102 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/240 (0.00%) |
| Qwen3-VL + chunk MLP | 0.148 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/30 | 0/240 (0.00%) |
| Level | Training | Validation | Test | Total |
|---|---|---|---|---|
| L0 | 65 / 8,451 | 8 / 749 | 8 / 880 | 81 / 10,080 |
| L1 | 36 / 6,312 | 4 / 588 | 4 / 713 | 44 / 7,613 |
| L1.5 | 89 / 12,815 | 11 / 1,284 | 11 / 1,439 | 111 / 15,538 |
| L2 | 40 / 7,687 | 5 / 1,066 | 5 / 1,084 | 50 / 9,837 |
| L2.5 | 15 / 2,268 | 2 / 231 | 2 / 390 | 19 / 2,889 |
| L3 | 11 / 2,361 | 2 / 425 | 2 / 509 | 15 / 3,295 |
| Subset | Episodes | Frames | Critical frames |
|---|---|---|---|
| SFT training | 300 | 300 | 0 |
| RFT training | 415 | 73,169 | 15,770 |
| Evaluation | 103 | 19,015 | 3,915 |
| Component | Setting |
|---|---|
| EBV input / patch grid | / |
| EV feature input | |
| EV window / action horizon | 8 / 6 retained samples |
| Current-EV CNN input | |
| Motor state / embedding | 4 / 64 dimensions |
| Navigation GRU | width 256; reset each window |
| Level | Samples | Tip-peak acc. | Waypoint acc. | Norm. MAE | Insertion MAE | Bending MAE |
|---|---|---|---|---|---|---|
| L0 | 880 | 93.18 | 100.00 | 0.077 | 1.605 | 11.158 |
| L1 | 713 | 88.08 | 99.30 | 0.081 | 1.788 | 10.985 |
| L1.5 | 1,439 | 98.33 | 98.75 | 0.084 | 1.596 | 13.370 |
| L2 | 1,084 | 97.32 | 86.44 | 0.075 | 1.443 | 11.739 |
| L2.5 | 390 | 100.00 | 96.92 | 0.090 | 1.815 | 13.391 |
| L3 | 509 | 97.45 | 88.21 | 0.078 | 1.648 | 10.989 |
| Level | Positive / total | Rate (%) | Interval (%) |
|---|---|---|---|
| L0 | 29/30 | 96.7 | 83.3–99.4 |
| L1 | 29/30 | 96.7 | 83.3–99.4 |
| L1.5 | 24/30 | 80.0 | 62.7–90.5 |
| L2 | 23/30 | 76.7 | 59.1–88.2 |
| L2.5 | 24/30 | 80.0 | 62.7–90.5 |
| L3 | 19/30 | 63.3 | 45.5–77.9 |
| Policy | Levels with 0/30 | Representative recorded behaviors |
|---|---|---|
| GRU-BC | L1, L1.5, L2, L2.5, L3, L3.5, L4 | Occlusion, incorrect steering, pass-by, target-view loss |
| ACT-style | L0, L1, L1.5, L2, L2.5, L3, L3.5, L4 | Pass-by, incorrect steering, early/late steering |
| Diffusion-MLP | L1, L1.5, L2, L2.5, L3.5, L4 | Incorrect steering, early steering |
| Qwen3-VL + MLP | L0, L1, L1.5, L2, L2.5, L3, L3.5, L4 | Target-view loss, early/incorrect steering |
| Qwen3-VL + chunk MLP | L0, L1, L1.5, L2, L2.5, L3, L3.5, L4 | Reverse progression, target-view loss |
| GR00T, LoRA | L0, L2, L2.5, L3, L3.5 | Incorrect/early/insufficient steering, target-view loss |
| Level | GRU | ACT | Diffusion | Qwen MLP | Qwen chunk | GR00T F | GR00T L | EBV-CAN | |
|---|---|---|---|---|---|---|---|---|---|
| L0 | 880 | 0.046 | 0.061 | 0.123 | 0.090 | 0.142 | 0.048 | 0.052 | 0.077 |
| L1 | 713 | 0.052 | 0.062 | 0.124 | 0.082 | 0.132 | 0.053 | 0.055 | 0.081 |
| L1.5 | 1439 | 0.049 | 0.066 | 0.122 | 0.104 | 0.140 | 0.056 | 0.054 | 0.084 |
| L2 | 1084 | 0.044 | 0.056 | 0.121 | 0.085 | 0.137 | 0.048 | 0.050 | 0.075 |
| L2.5 | 390 | 0.060 | 0.081 | 0.127 | 0.106 | 0.148 | 0.062 | 0.061 | 0.090 |
| L3 | 509 | 0.046 | 0.069 | 0.118 | 0.082 | 0.129 | 0.051 | 0.048 | 0.078 |
| Policy | Epochs trained / selected | Updates | Final train loss | Validation MAE | Test MAE | Insertion MAE | Bending MAE |
|---|---|---|---|---|---|---|---|
| GRU-BC | 17 / 12 | 16,150 | 0.007 | 0.056 | 0.057 | 1.133 | 8.640 |
| ACT-style | 25 / 20 | 23,750 | 0.045 | 0.069 | 0.074 | 1.553 | 10.579 |
| Diffusion-MLP | 7 / 2 | 6,650 | 0.125 | 0.128 | 0.130 | 2.491 | 20.354 |
| Qwen3-VL + MLP | 19 / 14 | 18,050 | 0.018 | 0.100 | 0.104 | 2.555 | 12.082 |
| Qwen3-VL + chunk MLP | 30 / 25 | 28,500 | 0.047 | 0.148 | 0.151 | 3.236 | 21.077 |
| GR00T, frozen | 29 / 24 | 27,550 | 0.025 | 0.058 | 0.063 | 1.355 | 8.623 |