Deep Patch Visual Odometry
About
We propose Deep Patch Visual Odometry (DPVO), a new deep learning system for monocular Visual Odometry (VO). DPVO uses a novel recurrent network architecture designed for tracking image patches across time. Recent approaches to VO have significantly improved the state-of-the-art accuracy by using deep networks to predict dense flow between video frames. However, using dense flow incurs a large computational cost, making these previous methods impractical for many use cases. Despite this, it has been assumed that dense flow is important as it provides additional redundancy against incorrect matches. DPVO disproves this assumption, showing that it is possible to get the best accuracy and efficiency by exploiting the advantages of sparse patch-based matching over dense flow. DPVO introduces a novel recurrent update operator for patch based correspondence coupled with differentiable bundle adjustment. On Standard benchmarks, DPVO outperforms all prior work, including the learning-based state-of-the-art VO-system (DROID) using a third of the memory while running 3x faster on average. Code is available at https://github.com/princeton-vl/DPVO
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Camera pose estimation | Sintel | ATE0.115 | 92 | |
| Visual-Inertial Odometry | EuRoC (All sequences) | MH1 Error0.087 | 51 | |
| Visual Odometry | TUM-RGBD | freiburg1/xyz Error0.012 | 34 | |
| Visual Odometry | KITTI | KITTI Seq 03 Error2.09 | 27 | |
| Monocular Visual Odometry | VIVID Mean over sequences | ATE RMSE0.55 | 20 | |
| Monocular Visual Odometry | VIVID in_rob_local | ATE RMSE0.06 | 18 | |
| Monocular Visual Odometry | VIVID in_rob_global | ATE RMSE0.09 | 17 | |
| Monocular Visual Odometry | VIVID in_unst_local | ATE RMSE0.09 | 17 | |
| Monocular Visual Odometry | VIVID in_rob_dark | ATE RMSE0.14 | 16 | |
| Monocular Visual Odometry | VIVID in_unst_global | ATE RMSE0.25 | 15 |