SLIDE 1
Signed Distance Function Representation, Tracking, and Mapping
Tanner Schmidt
SLIDE 2 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- Patch Volumes
- DART
- DynamicFusion
SLIDE 3 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- Patch Volumes
- DART
- DynamicFusion
SLIDE 4 Explicit Surface Representations
- Geometry is stored explicitly as a list of points, triangles, or other geometric fragments
- e.g. meshes, point clouds
Vertices: [ (x0, y0, z0), (x1, y1, z1), …, (xn, yn, zn) ] Indices: [ (i0, i1), (i2, i3), …, (in-1, in) ]
SLIDE 5
- Geometry is not stored explicitly but rather defined as a level set of a function defined
- ver the space in which the geometry is embedded
- There are parametric representations:
Implicit Surface Representation
SLIDE 6
- Geometry is not stored explicitly but rather defined as a level set of a function defined
- ver the space in which the geometry is embedded
- And there are nonparametric representations:
Implicit Surface Representation
SLIDE 7
- Geometry is not stored explicitly but rather defined as a level set of a function defined
- ver the space in which the geometry is embedded
- And there are nonparametric representations:
Implicit Surface Representation
SLIDE 8 Implicit to Explicit Conversion
- In two dimensions, we can use an algorithm called marching squares
SLIDE 9 Implicit to Explicit Conversion in 3D
- Typically done using marching cubes, a 3D analogue to marching squares
SLIDE 10 Implicit to Explicit Conversion in 3D
- Can also be done by raycasting for a view-dependent partial surface
SLIDE 11
- Can be done by finding the closest point between each discrete location and any part of
the geometry
Explicit to Implicit Conversion
SLIDE 12
- Can also be done with a distance transform
Explicit to Implicit Conversion
SLIDE 13 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 14
Signed Distance Function Fusion
SLIDE 15
Signed Distance Function Fusion
SLIDE 16
Signed Distance Function Fusion
SLIDE 17
Signed Distance Function Fusion
SLIDE 18
Signed Distance Function Fusion
SLIDE 19
Signed Distance Function Fusion
SLIDE 20
Signed Distance Function Fusion
SLIDE 21
Signed Distance Function Fusion
SLIDE 22
Signed Distance Function Fusion
SLIDE 23
Signed Distance Function Fusion
SLIDE 24
Signed Distance Function Fusion
SLIDE 25
Signed Distance Function Fusion
SLIDE 26
Signed Distance Function Fusion
SLIDE 27
Signed Distance Function Fusion
SLIDE 28
Signed Distance Function Fusion
SLIDE 29
Signed Distance Function Fusion
SLIDE 30
Signed Distance Function Fusion
SLIDE 31
Signed Distance Function Fusion
SLIDE 32
Signed Distance Function Fusion
SLIDE 33
Signed Distance Function Fusion
SLIDE 34
Signed Distance Function Fusion
SLIDE 35
Signed Distance Function Fusion
SLIDE 36
Signed Distance Function Fusion
SLIDE 37
Signed Distance Function Fusion
SLIDE 38
Signed Distance Function Fusion
SLIDE 39
Signed Distance Function Fusion
SLIDE 40
Signed Distance Function Fusion
SLIDE 41
Signed Distance Function Fusion
SLIDE 42
Signed Distance Function Fusion
SLIDE 43
Signed Distance Function Fusion
SLIDE 44
Signed Distance Function Fusion
SLIDE 45
Signed Distance Function Fusion
SLIDE 46
Signed Distance Function Fusion
SLIDE 47
- This addition requires the per-frame projected truncated signed distance volumes
to be globally registered
Signed Distance Function Fusion
SLIDE 48 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 49
Signed Distance Function Tracking
SLIDE 50
Signed Distance Function Tracking
SLIDE 51
Signed Distance Function Tracking
SLIDE 52
Signed Distance Function Tracking
SLIDE 53
Signed Distance Function Tracking
SLIDE 54
Signed Distance Function Tracking
SLIDE 55
Signed Distance Function Tracking
SLIDE 56
Signed Distance Function Tracking
SLIDE 57
Point-plane Iterative Closest Point (ICP)
SLIDE 58
Point-plane Iterative Closest Point (ICP)
SLIDE 59
Point-plane Iterative Closest Point (ICP)
SLIDE 60
Point-plane Iterative Closest Point (ICP)
SLIDE 61
Point-plane Iterative Closest Point (ICP)
SLIDE 62
Point-plane Iterative Closest Point (ICP)
SLIDE 63
Point-plane Iterative Closest Point (ICP)
SLIDE 64
Point-plane Iterative Closest Point (ICP)
SLIDE 65
Direct Signed Distance Function Tracking
SLIDE 66
Direct Signed Distance Function Tracking
SLIDE 67
Direct Signed Distance Function Tracking
SLIDE 68 Online fusion
- Tracking requires the fused SDF volume for all frames up to the current frame
SLIDE 69 Online fusion
- Tracking requires the fused SDF volume for all frames up to the current frame
- We must maintain a running average SDF value at each cell
SLIDE 70 Online fusion
- Tracking requires the fused SDF volume for all frames up to the current frame
- We must maintain a running average SDF value at each cell
- Each cell stores both an SDF value and a weight
SLIDE 71
Truncated Signed Distance Function
SLIDE 72 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 73
SLIDE 74 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 75 Tracking Failure
Color-only Tracking Depth-only Tracking
SLIDE 76 Loop Closure
Without Loop Closure With Loop Closure
SLIDE 77
SLIDE 78 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 79
SLIDE 80
SLIDE 81
SLIDE 82 Overview
- Explicit and implicit surface representations
- SDF fusion
- SDF tracking
- Related research
- KinectFusion
- PatchVolumes
- DART
- DynamicFusion
SLIDE 83