Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid...
Transcript of Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid...
![Page 1: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/1.jpg)
Surface reconstruction Introduction
Florent Lafarge
Inria Sophia Antipolis - Mediterranee
![Page 2: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/2.jpg)
Outline
Contents
Introduction
Smooth/piecewise-smooth reconstruction methods
Primitive-based reconstruction methods
![Page 3: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/3.jpg)
Definitions
Surface reconstruction
Process of recovering a surface or a solid from
data measurements
Measurements are mainly point sets
![Page 4: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/4.jpg)
Definitions
Input points are
unstructured
A surface can be
seen as a set of
connected points
![Page 5: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/5.jpg)
Definitions
Laser scanning
![Page 7: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/7.jpg)
Definitions
Airborne Lidar
![Page 9: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/9.jpg)
Definitions
RGB-D sensors
![Page 10: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/10.jpg)
Definitions
Is a point just its spatial coordinates x-y-z ?
Not necessarily: additionnal attributes can exist
![Page 11: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/11.jpg)
Definitions
Is a point just its spatial coordinates x-y-z ?
Not necessarily: additionnal attributes can exist
For each point :
• Normal
• Color
• Confidence (MVS)
• Camera index (MVS)
![Page 12: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/12.jpg)
Definitions
Defects in the point sets
noise
outliers
heterogeneous sampling
missing data
..
10
![Page 13: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/13.jpg)
Definitions
Noise
![Page 14: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/14.jpg)
Definitions
Noise
Inaccuracy
acquisition system
registration
..
![Page 15: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/15.jpg)
Definitions
Outliers
![Page 16: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/16.jpg)
Definitions
Outliers
Typical problem
from multi-view
stereo
![Page 17: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/17.jpg)
Definitions
Heterogeneous sampling
15
![Page 18: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/18.jpg)
Definitions
Heterogeneous sampling
![Page 19: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/19.jpg)
Definitions
Missing data
![Page 20: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/20.jpg)
Definitions
Missing data
![Page 21: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/21.jpg)
Definitions
How do we represent a surface ?
Different ways, but the most common is the
triangular mesh
vertex
edge facet
![Page 22: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/22.jpg)
Definitions
Properties of surfaces
Manifold / Non-manifold
manifold
Non-manifold
20
![Page 23: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/23.jpg)
Definitions
Properties of surfaces
Manifold / Non-manifold
Watertight / with boundary
20
![Page 24: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/24.jpg)
Definitions
Properties of surfaces
Manifold / Non-manifold
Watertight / with boundary
Implicit / explicit
20
![Page 25: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/25.jpg)
Definitions
Properties of surfaces
Manifold / Non-manifold
Watertight / with boundary
Implicit / explicit
Smooth/piecewise smooth/primitive-based
20
![Page 26: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/26.jpg)
Definitions
Mesh data structure
How to store geometry and connectivity?
Compact storage (File formats)
Efficient algorithms on meshes
– Identify time-critical operations
– All vertices/edges of a face
– All incident vertices/edges/faces of a vertex
vertex
edge
facet
![Page 27: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/27.jpg)
Definitions
Mesh data structure
What should be stored?
– Geometry: 3D coordinates
– Attributes
• e.g. normal, color, texture coordinate
• Per vertex, per face, per edge
– Connectivity: What is adjacent to what
vertex
edge
facet
![Page 28: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/28.jpg)
Definitions
Mesh data structure
What should it support?
– Rendering
– Queries
• What are the vertices of face #3?
• Is vertex #6 adjacent to vertex #12?
• Which faces are adjacent to face #7?
– Modifications
• Remove/add a vertex/face, vertex split..
vertex
edge
facet
![Page 29: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/29.jpg)
Definitions
Mesh data structure
How good is a data structure?
– Time to construct (preprocessing)
– Time to answer a query
– Time to perform an operation
– Space complexity
– Redundancy
vertex
edge
facet
![Page 30: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/30.jpg)
Definitions
Facet set (STL)
Face:
– 3 positions
9 float / facets
no connectivity!
vertex
edge
facet
25
![Page 31: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/31.jpg)
Definitions vertex
edge
facet
Shared vertex (PLY,OBJ,OFF)
Indexed Face List
– Vertex: position
– Face: vertex indices
3 float/vertex + 3 int/facet
no neighborhood info
![Page 32: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/32.jpg)
Definitions
Facet-based connectivity
Vertex:
– position
– 1 facet
Facet:
– 3 vertices
– 3 facet neighbors
no edges!
![Page 33: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/33.jpg)
Definitions
Edge-based connectivity
Vertex:
– position
– 1 edge
Edge:
– 2 vertices
– 2 facets
– 4 edges
Facet
edge orientation?
![Page 34: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/34.jpg)
Definitions
Halfedge-based connectivity
Vertex:
– position
– 1 halfedge
Halfedge:
– 1 vertex
– 1 facet
– 1,2 or 3 halfedges
Facet
– 1 halfedge
![Page 35: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/35.jpg)
Definitions
One-ring traversal
1. Start at vertex
![Page 36: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/36.jpg)
Definitions
One-ring traversal
1. Start at vertex
2. Outgoing halfedge
![Page 37: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/37.jpg)
Definitions
One-ring traversal
1. Start at vertex
2. Outgoing halfedge
3. Opposite halfedge
![Page 38: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/38.jpg)
Definitions
One-ring traversal
1. Start at vertex
2. Outgoing halfedge
3. Opposite halfedge
4. Next halfedge
![Page 39: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/39.jpg)
Definitions
One-ring traversal
1. Start at vertex
2. Outgoing halfedge
3. Opposite halfedge
4. Next halfedge
5. Opposite
![Page 40: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/40.jpg)
Definitions
One-ring traversal
1. Start at vertex
2. Outgoing halfedge
3. Opposite halfedge
4. Next halfedge
5. Opposite
6. Next
7. ...
![Page 41: Surface reconstruction - Inria · Surface reconstruction Process of recovering a surface or a solid from data measurements Measurements are mainly point sets . Definitions Input points](https://reader030.fdocuments.in/reader030/viewer/2022040512/5e5ea82cfda81d6c53697cd8/html5/thumbnails/41.jpg)
Definitions
Halfedge-based libraries
CGAL
– www.cgal.org
– Computational geometry
– Free for non-commercial use
OpenMesh
– www.openmesh.org
– Mesh processing
– Free, LGPL licence