81
1 FLaME: Fast Lightweight Mesh Estimation using Variational Smoothing on Delaunay Graphs W. Nicholas Greene with Nicholas Roy Robust Robotics Group, MIT CSAIL LPM Workshop IROS 2017 September 28, 2017

FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

1

FLaME: Fast Lightweight Mesh Estimation using

Variational Smoothing on Delaunay Graphs

W. Nicholas Greene

with Nicholas Roy

Robust Robotics Group, MIT CSAIL

LPM Workshop IROS 2017

September 28, 2017

Page 2: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

2

We want Autonomous Vision-Based Navigation

https://commons.wikimedia.org/wiki/File%3AQuadcopter_Drone.png

https://commons.wikimedia.org/wiki/File%3ACanon_90-300mm_camera_lens.jpg

Page 3: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

3

But Dense Monocular SLAM is Expensive

Density

Efficiency

Mono-Slam (Davison, ICCV 2007)

PTAM (Klein and Murray, ISMAR 2007)

SVO (Forster et al., ICRA 2014)

Sparse Methods

https://commons.wikimedia.org/wiki/File%3ANvidia_Titan_XP.jpg

https://shop-media.intel.com/api/v2/helperservice/getimage?url=http://images.icecat.biz/img/gallery/23221218_49.jpg&height=550&width=550

https://www.qualcomm.com/sites/ember/files/styles/optimize/public/component-item/flexible-block/thumb/chip_3.png?itok=XncLtDdQ

Page 4: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

4

But Dense Monocular SLAM is Expensive

Density

Efficiency

Mono-Slam (Davison, ICCV 2007)

PTAM (Klein and Murray, ISMAR 2007)

SVO (Forster et al., ICRA 2014)

Sparse Methods

Engel et al. ICCV 2013

LSD-SLAM (Engel et al., ECCV 2014)

Mur-Artal and Tardos (RSS 2015)

Pillai et al. ICRA 2016

Semi-Dense Methods

https://commons.wikimedia.org/wiki/File%3ANvidia_Titan_XP.jpg

https://shop-media.intel.com/api/v2/helperservice/getimage?url=http://images.icecat.biz/img/gallery/23221218_49.jpg&height=550&width=550

https://www.qualcomm.com/sites/ember/files/styles/optimize/public/component-item/flexible-block/thumb/chip_3.png?itok=XncLtDdQ

Page 5: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

5

But Dense Monocular SLAM is Expensive

Density

Efficiency

Mono-Slam (Davison, ICCV 2007)

PTAM (Klein and Murray, ISMAR 2007)

SVO (Forster et al., ICRA 2014)

Sparse Methods

Engel et al. ICCV 2013

LSD-SLAM (Engel et al., ECCV 2014)

Mur-Artal and Tardos (RSS 2015)

Pillai et al. ICRA 2016

Semi-Dense Methods

DTAM (Newcombe et al., ICCV 2011)

Graber et al. (ICCV 2011)

MonoFusion (Pradeep et al., ISMAR 2013)

REMODE (Pizzoli et al., ICRA 2014)

Dense Methods

https://commons.wikimedia.org/wiki/File%3ANvidia_Titan_XP.jpg

https://shop-media.intel.com/api/v2/helperservice/getimage?url=http://images.icecat.biz/img/gallery/23221218_49.jpg&height=550&width=550

https://www.qualcomm.com/sites/ember/files/styles/optimize/public/component-item/flexible-block/thumb/chip_3.png?itok=XncLtDdQ

Page 6: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

6

But Dense Monocular SLAM is Expensive

https://commons.wikimedia.org/wiki/File%3ANvidia_Titan_XP.jpg

https://commons.wikimedia.org/wiki/File%3AQuadcopter_Drone.png

https://commons.wikimedia.org/wiki/File%3ACanon_90-300mm_camera_lens.jpg

Page 7: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

7

But Dense Monocular SLAM is Expensive

Density

Efficiency

Mono-Slam (Davison, ICCV 2007)

PTAM (Klein and Murray, ISMAR 2007)

SVO (Forster et al., ICRA 2014)

Sparse Methods

Engel et al. ICCV 2013

LSD-SLAM (Engel et al., ECCV 2014)

Mur-Artal and Tardos (RSS 2015)

Pillai et al. ICRA 2016

Semi-Dense Methods

DTAM (Newcombe et al., ICCV 2011)

Graber et al. (ICCV 2011)

MonoFusion (Pradeep et al., ISMAR 2013)

REMODE (Pizzoli et al., ICRA 2014)

Dense Methods

?

Can we more efficiently estimate dense geometry?https://commons.wikimedia.org/wiki/File%3ANvidia_Titan_XP.jpg

https://shop-media.intel.com/api/v2/helperservice/getimage?url=http://images.icecat.biz/img/gallery/23221218_49.jpg&height=550&width=550

https://www.qualcomm.com/sites/ember/files/styles/optimize/public/component-item/flexible-block/thumb/chip_3.png?itok=XncLtDdQ

Page 8: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

8

What Would a Dense Method Do?

Image

Page 9: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

9

Estimate Depth for Every Pixel

Depthmap

Page 10: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

10

Dense Methods Oversample Geometry

One depth estimate per pixel

100k - 1M pixels per image

Depthmap

Page 11: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

11

Dense Methods Make Regularization Hard(er)

One depth estimate per pixel

100k - 1M pixels per image

Depthmap

Page 12: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

12

Meshes Encode Geometry with Fewer Depths

Depthmap

Page 13: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

13

Meshes Encode Geometry with Fewer Depths

Depthmap

Page 14: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

14

Meshes Encode Geometry with Fewer Depths

Depthmap

Page 15: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

15

Meshes Encode Geometry with Fewer Depths

One depth estimate per vertex

100 - 10k vertices per mesh

Depthmap

Page 16: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

16

Meshes Make Regularization Easy(er)

One depth estimate per vertex

100 - 10k vertices per mesh

Depthmap

Page 17: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

17

FLaME: Fast Lightweight Mesh Estimation

Fast (< 5 ms/frame) Lightweight (< 1 Intel i7 CPU core) Runs Onboard MAV

Greene and Roy, ICCV2017

Page 18: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

18

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 19: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

19

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 20: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

20

Select Easily Trackable Features

- At each frame we sample trackable pixels or features over the image

- These features will serve as potential vertices to add to the mesh

Page 21: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

21

Select Easily Trackable Features

- At each frame we sample trackable pixels or features over the image

- These features will serve as potential vertices to add to the mesh

Page 22: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

22

Select Easily Trackable Features

- At each frame we sample trackable pixels over the image domain

- These features will serve as potential vertices to add to the mesh

Page 23: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

23

Select Easily Trackable Features

- At each frame we sample trackable pixels over the image domain

- These features will serve as potential vertices to add to the mesh

Page 24: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

24

Select Easily Trackable Features

- At each frame we sample trackable pixels over the image domain

- These features will serve as potential vertices to add to the mesh

Page 25: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

25

Select Easily Trackable Features

- At each frame we sample trackable pixels over the image domain

- These features will serve as potential vertices to add to the mesh

Select pixel in each grid cell with maximum score:

Page 26: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

26

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 27: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

27

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

Page 28: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

28

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

Page 29: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

29

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

Page 30: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

30

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

Page 31: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

31

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

Page 32: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

32

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

- Each successful match generates an inverse depth measurement

Page 33: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

33

Estimate Inverse Depths for Features

- We track features across new images using direct epipolar stereo

comparisons

- Each successful match generates an inverse depth measurement

- Measurements are fused over time using Bayesian update

Page 34: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

34

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 35: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

35

Triangulate Features into Mesh

- Once a features inverse depth variance drops below threshold, we insert it

into the mesh using Delaunay triangulations

Page 36: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

36

Triangulate Features into Mesh

- Once a features inverse depth variance drops below threshold, we insert it

into the mesh using Delaunay triangulations

Page 37: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

37

Triangulate Features into Mesh

- Once a features inverse depth variance drops below threshold, we insert it

into the mesh using Delaunay triangulations

Page 38: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

38

Triangulate Features into Mesh

- Once a features inverse depth variance drops below threshold, we insert it

into the mesh using Delaunay triangulations

- We can project 2D mesh into 3D using the inverse depth for each vertex

Page 39: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

39

Triangulate Features into Mesh

- Once a features inverse depth variance drops below threshold, we insert it

into the mesh using Delaunay triangulations

- We can project 2D mesh into 3D using the inverse depth for each vertex

Page 40: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

40

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 41: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

41

Smooth Mesh Using Variational Regularization

- Mesh inverse depths are noisy and prone to outliers

- Need to spatially regularize/smooth inverse depths

Raw

Page 42: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

42

Smooth Mesh Using Variational Regularization

- Mesh inverse depths are noisy and prone to outliers

- Need to spatially regularize/smooth inverse depths

- Will exploit graph structure to make optimization fast and incremental

Raw Smoothed

Page 43: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

43

Define Variational Cost over Inverse Depthmap

Raw idepthmap

Page 44: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

44

Define Variational Cost over Inverse Depthmap

Raw idepthmap

Smoothed idepthmap

Page 45: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

45

Define Variational Cost over Inverse Depthmap

NLTGV2 stands for Non-Local Total Generalized Variation (Second Order)

Ranftl et al. 2014, Pinies et al. 2015

Raw idepthmap

Smoothed idepthmap

Page 46: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

46

Approximate Cost over Mesh

- Reinterpret mesh as graph

Page 47: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

47

Approximate Cost over Mesh

- Reinterpret mesh as graph

Page 48: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

48

Approximate Cost over Mesh

Page 49: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

49

Approximate Cost over Mesh

Raw idepthmap

Page 50: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

50

Approximate Cost over Mesh

Page 51: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

51

Approximate Cost over Mesh

Raw mesh

Page 52: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

52

Approximate Cost over Mesh

Raw mesh

Smoothed mesh

Page 53: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

53

Approximate Cost over Mesh

Smoothed mesh

Raw mesh

Page 54: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

54

Approximate Cost over Mesh

Smoothed mesh

Raw mesh

Math…

Page 55: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

55

Approximate Cost over Mesh

Smoothed mesh

Raw mesh

Math…

Page 56: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

56

Optimize using Primal-Dual on Graph

Page 57: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

57

Optimize using Primal-Dual on Graph

Math…

Page 58: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

58

Optimize using Primal-Dual on Graph

Math…

Page 59: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

59

Optimize using Primal-Dual on Graph

Math…

Page 60: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

60

Optimize using Primal-Dual on Graph

Math…

Edges update using vertices

Page 61: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

61

Optimize using Primal-Dual on Graph

Math…

Vertices update using edges

Page 62: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

62

Optimize using Primal-Dual on Graph

Math…

Optimization steps are fast even

without GPU (<< frame rate)

Page 63: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

63

Optimize using Primal-Dual on Graph

Math…

Optimization steps are fast even

without GPU (<< frame rate)

Optimization convergence is

fast (~ frame rate)

Page 64: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

64

Optimize using Primal-Dual on Graph

Math…

Optimization steps are fast even

without GPU (<< frame rate)

Optimization convergence is

fast (~ frame rate)

Mesh can be augmented without

restarting optimization

Page 65: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

65

FLaME: Fast Lightweight Mesh Estimation

Image and pose

Depthmap

interpolation Delaunay

Triangulation

Variational Regularizer

(NLTGV2-L1)

Inverse Depth

EstimationFeature Selection

Output

Page 66: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

66

Benchmark Results

Compared FLaME to two existing CPU-only approaches:

- LSD-SLAM

- MLM

Page 67: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

67

Benchmark Results

Compared FLaME to two existing CPU-only approaches:

- LSD-SLAM

- MLM

Evaluated on two benchmark datasets (ground truth poses):

- TUM RGBD SLAM (640x480 @ 30 Hz)

- EuRoC MAV (752x480 @ 20 Hz)

Page 68: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

68

Benchmark Results

Compared FLaME to two existing CPU-only approaches:

- LSD-SLAM

- MLM

Evaluated on two benchmark datasets (ground truth poses):

- TUM RGBD SLAM (640x480 @ 30 Hz)

- EuRoC MAV (752x480 @ 20 Hz)

Desktop Intel i7 CPU only

Page 69: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

69

Benchmark Results

Lower Error

Page 70: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

70

Benchmark Results

More Dense

Page 71: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

71

Benchmark Results

Less Load

Page 72: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

72

Benchmark Results

Faster

Page 73: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

73

Benchmark Results

Faster

Page 74: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

74

Benchmark Results

Page 75: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

75

Flight Experiments

DJI F450 frame

Intel NUC flight computer

10 ms/frame runtime

1.5 core load

Indoor Flight at 2.5 m/s

Outdoor Flight at 3.5 m/s

Page 76: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

76

Flight Experiments

Page 77: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

77

FLaME Contributions

• Proposed a lightweight method for dense online monocular depth estimation

Paper Code*

* Coming soon!W. Nicholas Greene ([email protected])

Page 78: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

78

FLaME Contributions

• Proposed a lightweight method for dense online monocular depth estimation

• Formulated the reconstruction problem as a non-local variational

optimization over a Delaunay graph, which allows for a fast, efficient

approach to depth estimation

Paper Code*

* Coming soon!W. Nicholas Greene ([email protected])

Page 79: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

79

FLaME Contributions

• Proposed a lightweight method for dense online monocular depth estimation

• Formulated the reconstruction problem as a non-local variational

optimization over a Delaunay graph, which allows for a fast, efficient

approach to depth estimation

• Demonstrated improved depth accuracy and density on benchmark

datasets using less than 1 Intel i7 CPU core

Paper Code*

* Coming soon!W. Nicholas Greene ([email protected])

Page 80: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

80

FLaME Contributions

• Proposed a lightweight method for dense online monocular depth estimation

• Formulated the reconstruction problem as a non-local variational

optimization over a Delaunay graph, which allows for a fast, efficient

approach to depth estimation

• Demonstrated improved depth accuracy and density on benchmark

datasets using less than 1 Intel i7 CPU core

• Demonstrated real-world applicability with indoor and outdoor flight

experiments running FLaME onboard, in-the-loop

Paper Code*

* Coming soon!W. Nicholas Greene ([email protected])

Page 81: FLaME: Fast Lightweight Mesh Estimation using Variational ...wngreene.github.io/data/slides/2017.09.28_iros_presentation_flame_4x3_nobackup.pdfSep 28, 2017  · optimization over a

81

Acknowledgments

This material is based upon work supported by DARPA under Contract No.

HR0011-15-C-0110 and by the NSF Graduate Research Fellowship under Grant

No. 1122374. Any opinion, findings, and conclusions or recommendations

expressed in this material are those of the authors(s) and do not necessarily

reflect the views of the National Science Foundation.

We also thank John Ware, John Carter, and the rest of the MIT-Draper FLA

Team for continued development and testing support.

Paper Code*

* Coming soon!W. Nicholas Greene ([email protected])