1 of 36

1

Towards Universal State Estimation and

Reconstruction in the Wild

​

Team 15 - Bhuvan Jhamb, Chenwei Lyu

Mentors - Nikhil Keetha, Dr. Sebastian Scherer

2 of 36

2

· Imagine what’s in the future…

Motivation

https://medium.com/@recogni/autonomous-vehicles-and-a-system-of-connected-cars-944f86275663

https://www.reuters.com/technology/apple-ramps-up-vision-pro-production-plans-february-launch-bloomberg-news-2023-12-20/

https://www.af.mil/News/Article-Display/Article/2551037/robot-dogs-arrive-at-tyndall-afb/

Autonomous Vehicle

AR/VR

Robotics

What is common in all of these? - SLAM

3 of 36

3

Motivation

· SLAM: Simultaneous Localization and Mapping

  • Localization: Determining the robot's position in the environment.
  • Mapping: Creating a map of the environment.

4 of 36

4

Motivation

· Why Are Existing Methods Insufficient?

  • Classical SLAM: brittle, × use priors, extensive fine tuning
  • Implicit SLAM × ⇒ Robotic systems
  • No explicit dense learning based SLAM ⇒ real time, high accuracy VO and dense mapping

​

Hence this leads to our project:

Towards Universal State Estimation and Reconstruction in the Wild

5 of 36

5

​

​

​

Classical Structure From Motion Pipeline:

  • Multiple modules

​

  • Usually no or minimal information sharing

​

  • Priors are not well utilized `

Image source (link)

Recap:

6 of 36

6

​

​

​

The DUSt3R Pipeline

DUSt3R: Geometric 3D Vision Made Easy

Recap:

(Dense and Unconstrained Stereo 3D Reconstruction)

​

7 of 36

7

​

​

​

The DUSt3R Pipeline

​

DUSt3R: Geometric 3D Vision Made Easy

Recap:

8 of 36

8

​

​

​

DUSt3R: Geometric 3D Vision Made Easy

Experiments - Minimal Overlap

Recap:

9 of 36

9

​

​

​

Experiments - Cross View

DUSt3R: Geometric 3D Vision Made Easy

Recap:

10 of 36

10

Generalizable and Robust SLAM for “In the Wild” Settings:

​

  • Is DUSt3R the ideal way to exploit priors in pose estimation and mapping

- in ill posed settings (very sparse views/pure rotation/planar data etc.)

- or challenging (extreme lightening variations etc.) scenarios

Directions Explored

Recap:

  • How to extend Dust3R framework to sequential data

11 of 36

11

​

​

​

Scaling to >2 images

DUSt3R: Geometric 3D Vision Made Easy

Failure Cases (Long term Sequential Data)

12 of 36

12

Other works extending Dust3R to SLAM settings

Inherit Limitations of Dust3R….

13 of 36

13

​

​

​

DUSt3R fails on Out Of Distribution Data

DUSt3R: Geometric 3D Vision Made Easy

(Humans)

source (link)

14 of 36

14

Limitations of DUSt3R :

​

  • Not generalizable enough for precise large scale reconstruction in the wild settings (yet)
  • Is this just a scale issue?

15 of 36

15

New models came out over the summer!

Dust3R

Geometrical

Matching

Feature-based

matching

Mast3R

16 of 36

16

Precise correspondences enable precise reconstruction!

​

​

​

​

Given precise correspondences- reconstruction is a geometrically grounded task

​

​

​

Instead of teaching the network to reason about geometry, we focus on learning precise correspondences, which can be utilized for reconstruction

17 of 36

17

Precise correspondences enable precise reconstruction!

​

​

​

18 of 36

18

Image Matching

Sparse

Matching

Dense

Matching

Generalised

Matching

e.g. GMFlow

19 of 36

19

19

19

Our solution : Match Anything

​

  • One architecture for both dense and sparse matching

​

​

Match Anything

  • Simple architecture trained with large scale data

​

20 of 36

20

Architecture

Geometrical

Matching

Feature-based

matching

Mast3R

Match Anything

1. Simplify the architecture to be more generalizable

  • Include more dataset for training

21 of 36

21

21

Architecture

2. Only predict flow in the covisible region

​

  • This makes matching a 2D problem, as the network don’t need to reason about occlusions/geometry!

​

​

​

22 of 36

22

Co-visible Mask Generation

Project pixels from camera 1 into 3D space and then back to camera 2

​

FoV mask: If the coordinates of projected pixel is within image boundaries, then it’s in FOV

Occlusion mask: If the depth of projected pixel is close to the real depth of that pixel, then it’s visible

23 of 36

1. Accumulate Pointcloud:

From posed depth image, upproject into point cloud and accumulate.

23

Sampling Method

· To get image pairs, we need to design a sampling method.

2. Voxelize:

Voxel downsample point clouds & camera positions to create enumerable scene representation.

3. Calculate Covisibility:

For all camera position to all voxels, determine if the camera can see the voxel. Save to a list.

24 of 36

4. Generate Samples:

Randomly select a base camera and a target voxel, filter all candidate camera position that can have required angle with the base camera when looking at the target voxel.

​

Score all candidates based on visibility from the preprocessed covisibility list. Keep N candidates and add to pair list.

24

Reference ray

Sampling Method

25 of 36

25

Datasets

26 of 36

26

Results

Season

Day-Night

27 of 36

27

Results

Scale

Perspective

28 of 36

WxBS result

28

Tested: 90

58

0.69

29 of 36

Profiling Match Anything (On AGX Orin)

29

Batch Size

Time Taken in forward pass (ms)

Time taken per image (ms)

1

92.12

92.12

2

103.54

51.72

4

186.96

46.74

8

349.27

43.65

~20 FPS Performance

30 of 36

30

Limitations

Extreme Dark

Comprehensive Change

31 of 36

31

Utilizing match anything for reconstruction

End to End approaches�Robust but not Generalizable enough

Very Modular approaches�Generalizable but not robust enough

Somewhere in between totally modular vs totally E2E

32 of 36

32

Utilizing match anything for reconstruction

​

​

​

33 of 36

33

Utilizing match anything for reconstruction

Replace with Match Anything

34 of 36

34

Ongoing Work

  • Current model training is in progress�
  • Start another training with all 10 datasets

​

  • MAC VO Integration

​

  • Comprehensive benchmarking and profiling

Source - ChatGPT

35 of 36

35

Nikhil

Keetha

Jay

Karhade

Sebastian Scherer

Thanks to Mentors and Collaborators

Yuchen Zhang

Yutian

Chen

Yuheng Qiu

36 of 36

36

Thanks For Listening!