SlideShare a Scribd company logo
1 of 26
Download to read offline
1Challenge the future
Point Cloud Segmentation &
Surface Reconstruction
An overview of methods
Ir. Pirouz Nourian
PhD candidate & Instructor, chair of Design Informatics, since 2010
MSc in Architecture 2009
BSc in Control Engineering 2005
MSc Geomatics, GEO1004, Directed by Dr. Sisi Zlatanova
2Challenge the future
Topics
A very short introduction to segmentation and surface reconstruction
• Big Picture, Problem Statement
• Goal is to make a [simple] Brep, with few faces
• General Approaches to this problem (surface
reconstruction):
• Volumetric, Implicit, using voxels and iso-surfaces
• Alpha Shapes (Ball-Pivoting)
• Delaunay or Voronoi Based?
• Poisson?
• General Approaches to this problem (surface
reconstruction):
3Challenge the future
Topics
A very short introduction to segmentation and surface reconstruction
• Big Picture, Problem Statement
• Goal is to make a [simple] Brep, with few faces
Images courtesy of Ajith Sampath
?
4Challenge the future
A few approaches to surface reconstruction
• Voxels  Field of Signed-Distance Iso-Surface
• Ball-Pivoting (alpha shapes) triangulation
• Planar Segments Neighbourhood Matrix Edge List Simple Mesh
• Poisson Surface Reconstruction
• Implicit Function
• [ Hoppe et al. 92 ]
• Volumetric Reconstruction
• [ Curless and Levoy 96 ]
• Alpha Shapes
• [ Edelsbrunner and Mucke 94 ]
• 3D Voronoi-Based Reconstruction
• [ Amenta , Bern & Kamvysselis 98 ]
5Challenge the future
Segmentation for Detecting Features
Points belonging to a set of surfaces considered as Brep faces
Images courtesy of Dr. Shi Pu, Faculty of Feo Information Science and Earth Observations, University of Twente (ITC)
6Challenge the future
Segmentation for Detecting Features
Points belonging to a set of surfaces considered as Brep faces
3D reconstruction from AHN pointcloud: Carl Chen, Rusne Sileryte, Kaixuan Zhou; Ed. Pirouz Nourian, Sisi Zlatanova
7Challenge the future
Segmentation for Detecting Features
Points belonging to a set of surfaces considered as Brep faces
Images courtesy of Ajith Sampath
8Challenge the future
Segmentation for Detecting Features
Points belonging to a set of surfaces considered as Brep faces
Images courtesy of Ajith Sampath
Building Reconstruction
 The distance between two planar segments (P & Q) in a roof is defined as:
 A neighborhood Matrix is then generated. The matrix shows all mutuallyintersecting
planes.
 Any two intersecting planes are selected,and all planes thatintersectboth of them are
enumerated,and solved.
 For instance Planes {1,4,10} and {1,4,13} are solved to get the breakline (A-B)as shown.
9Challenge the future
Problem
• Estimated Normal Vectors For Each Point
• Estimated Curvature For Each Point
Preliminaries…
• Estimate Normal Vectors For Each Point Using the Covariance Matrix
• (Fit a Plane to a Bunch of Points)
• Cross Product of the Two Eigen Vectors Corresponding to the Two Largest Eigen Values
10Challenge the future
Covariance Matrix Computation
Check the attached code for the latest version!
Dim Neighbors = Pts.FindAll(Function(V) V.distanceto(point) < D)
Dim Centroid As New Point3d
For Each neighbor As point3d In Neighbors
Centroid = Centroid + neighbor
Next
For k As Integer=0 To Neighbors.count - 1
Dim CiCBar As New Matrix(3, Neighbors.count)
Dim Diff As point3d = Neighbors(k) - Centroid
CiCBar(0, k) = Diff.X
CiCBar(1, k) = Diff.y
CiCBar(2, k) = Diff.z
Dim CiCBarOld As New Matrix(3, Neighbors.count)
CiCBarOld = CiCBar.Duplicate()
CiCBar.Transpose()
CovM = CiCBarOld * CiCBar ‘Why is this a matrix of correct size?
Next
CovM.Scale(1 / Neighbors.count)
CovMatrices.Add(CovM)
11Challenge the future
Efficient Eigen Value Computation
• Find the roots of this characteristic function (why? & how?)
• Using a Trigonometric Method
• (The following code is my version of it, test it first on a cubic function)
A special case in which a 3x3 Matrix is dealt with
Function CubicRoots(a, b, c, d)
Dim t As Double
Dim p,q As Double
p = (3 * a * c - b ^ 2) / (3 * a ^ 2)
If p < 0 Then
q = (2 * b ^ 3 - 9 * a * b * c + 27 * a ^ 2 * d) / (27 * a ^ 3)
Dim roots As New list(Of Double)
For k As Integer = 0 To 2
t = 2 * Math.Sqrt(-p / 3) * Math.Cos((1 / 3) * Math.Acos(((3 * q) / (2 * p)) * Math.Sqrt(-3 / p)) - k * ((2 * Math.PI) / 3))
Dim x As Double = t - b / (3 * a)
roots.add(x)
Next
Return roots
Else
Return Nothing
End If
End Function
12Challenge the future
Ready for Segmentation!
We do an iterative segmentation called Region Growing
Mesh Segmentation in Action
low angle threshold
high angle threshold
13Challenge the future
Mesh Segmentation
• Connected Faces
• Start Making Regions out of Neighbours of Similar Aspects
(normal vectors/orientations)
• Recursively Grow Regions with an Angle Tolerance (how?)
How to detect faces of a Brep given a Mesh?
Define Faces=M.Faces
Define Regions As New list(Of List(Of Integer))
For i in range M.Faces.Count
If clusters.count = 0 Or There is no region containing(i) Then
Define region As New list(Of Integer)
region.Append(i)
For j in range adjacentfaces(of i)
If isSimilar(M.FaceNormals(i), M.FaceNormals(j), t) Then region.Append(j)
End For
region = RecursivelyGrowRegion(M, region, angle threshold)
Regions.Append(region)
End If
End For
14Challenge the future
Point Cloud Segmentation
Region Growing Segmentation Pseudocode
15Challenge the future
A few approaches to surface reconstruction
• 3d Hough Transform [Vosselman et al.]
• Implicit Function [ Hoppe et al. 92 ]
• Alpha Shapes [ Edelsbrunner and Mucke 94 ]
• Many more:
Berger, Matthew, et al. "State of the art in surface reconstruction from point clouds." EUROGRAPHICS star reports. Vol. 1. No. 1. 2014.
(e.g. Ball-Pivoting algorithm) The space generated by point pairs that can
be touched by an empty disc of radius alpha.
Using Voxels  Field of Signed-Distance Iso-Surface
16Challenge the future
2D Hough Transform
17Challenge the future
2d Hough
Transform
b = -ax + y
18Challenge the future
2d Hough
Transform
R=x cos θ+ y sin θ
19Challenge the future
3d Hough transform
c = -ax -by + z
R = x cos θ cos Φ + y sin θ cos Φ+ z sin Φ
20Challenge the future
20
Restricted
3d Hough Transform
Plane should contain
(0,0,0) → z = ax + by
b = -ax/y + z/y (y != 0)
21Challenge the future
21
22Challenge the future
22
23Challenge the future
23
24Challenge the future
24
Hough
Filtering
25Challenge the future
25
Final
result
26Challenge the future
Questions?
Thank you!
p.nourian@tudelft.nl

More Related Content

What's hot

Introduction to Reverse Engineering
Introduction to Reverse EngineeringIntroduction to Reverse Engineering
Introduction to Reverse Engineering
Gopinath Chintala
 
Cad lecture-4
Cad lecture-4Cad lecture-4
Cad lecture-4
27273737
 

What's hot (20)

Ray tracing
Ray tracingRay tracing
Ray tracing
 
Liver segmentation using U-net: Practical issues @ SNU-TF
Liver segmentation using U-net: Practical issues @ SNU-TFLiver segmentation using U-net: Practical issues @ SNU-TF
Liver segmentation using U-net: Practical issues @ SNU-TF
 
Nurbs (1)
Nurbs (1)Nurbs (1)
Nurbs (1)
 
fusion of Camera and lidar for autonomous driving I
fusion of Camera and lidar for autonomous driving Ifusion of Camera and lidar for autonomous driving I
fusion of Camera and lidar for autonomous driving I
 
CNN Tutorial
CNN TutorialCNN Tutorial
CNN Tutorial
 
Iterative Closest Point Algorithm - analysis and implementation
Iterative Closest Point Algorithm - analysis and implementationIterative Closest Point Algorithm - analysis and implementation
Iterative Closest Point Algorithm - analysis and implementation
 
Introduction to Reverse Engineering
Introduction to Reverse EngineeringIntroduction to Reverse Engineering
Introduction to Reverse Engineering
 
論文紹介:End-to-End Object Detection with Transformers
論文紹介:End-to-End Object Detection with Transformers論文紹介:End-to-End Object Detection with Transformers
論文紹介:End-to-End Object Detection with Transformers
 
Lec14 multiview stereo
Lec14 multiview stereoLec14 multiview stereo
Lec14 multiview stereo
 
3-d interpretation from single 2-d image for autonomous driving
3-d interpretation from single 2-d image for autonomous driving3-d interpretation from single 2-d image for autonomous driving
3-d interpretation from single 2-d image for autonomous driving
 
Assembly representation scheme
Assembly representation schemeAssembly representation scheme
Assembly representation scheme
 
Visual realism
Visual realismVisual realism
Visual realism
 
SSII2020 [O3-01] Extreme 3D センシング
SSII2020 [O3-01]  Extreme 3D センシングSSII2020 [O3-01]  Extreme 3D センシング
SSII2020 [O3-01] Extreme 3D センシング
 
Clipping
ClippingClipping
Clipping
 
Clipping
ClippingClipping
Clipping
 
Robot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdfRobot Motion Planning Introduction to Mobile Robotics.pdf
Robot Motion Planning Introduction to Mobile Robotics.pdf
 
Introduction to Real Time Rendering
Introduction to Real Time RenderingIntroduction to Real Time Rendering
Introduction to Real Time Rendering
 
Cad lecture-4
Cad lecture-4Cad lecture-4
Cad lecture-4
 
Computer Graphics - Lecture 02 transformation
Computer Graphics - Lecture 02 transformationComputer Graphics - Lecture 02 transformation
Computer Graphics - Lecture 02 transformation
 
Convolution Neural Network (CNN)
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)
 

Viewers also liked

Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
Lecture 02   yasutaka furukawa - 3 d reconstruction with priorsLecture 02   yasutaka furukawa - 3 d reconstruction with priors
Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
mustafa sarac
 

Viewers also liked (20)

Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
 
On NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modellingOn NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modelling
 
Preliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modellingPreliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modelling
 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedplugins
 
Tudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimization
 
Polygon Mesh Representation
Polygon Mesh RepresentationPolygon Mesh Representation
Polygon Mesh Representation
 
Indoor Point Cloud Processing
Indoor Point Cloud ProcessingIndoor Point Cloud Processing
Indoor Point Cloud Processing
 
Point cloud modeling
Point cloud modelingPoint cloud modeling
Point cloud modeling
 
Transforming Rasters and Point Clouds
Transforming Rasters and Point CloudsTransforming Rasters and Point Clouds
Transforming Rasters and Point Clouds
 
Surface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportationSurface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportation
 
Dissertation_Full
Dissertation_FullDissertation_Full
Dissertation_Full
 
Semantic 3D City Models with CityGML
Semantic 3D City Models with CityGMLSemantic 3D City Models with CityGML
Semantic 3D City Models with CityGML
 
3D Creations & Models update 25/07/2015
3D Creations & Models update 25/07/20153D Creations & Models update 25/07/2015
3D Creations & Models update 25/07/2015
 
Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
Lecture 02   yasutaka furukawa - 3 d reconstruction with priorsLecture 02   yasutaka furukawa - 3 d reconstruction with priors
Lecture 02 yasutaka furukawa - 3 d reconstruction with priors
 
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro..."High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
 
Structure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and StructureStructure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and Structure
 
3d Printing Overview
3d Printing Overview3d Printing Overview
3d Printing Overview
 
3D data acquisition and archaeological documentation, Alberto Sanchez, France...
3D data acquisition and archaeological documentation, Alberto Sanchez, France...3D data acquisition and archaeological documentation, Alberto Sanchez, France...
3D data acquisition and archaeological documentation, Alberto Sanchez, France...
 
Tutorial Virtual Educa 2009 "Herramientas y estrategias de aprendizaje en ent...
Tutorial Virtual Educa 2009 "Herramientas y estrategias de aprendizaje en ent...Tutorial Virtual Educa 2009 "Herramientas y estrategias de aprendizaje en ent...
Tutorial Virtual Educa 2009 "Herramientas y estrategias de aprendizaje en ent...
 
Seminar report neelam
Seminar report neelamSeminar report neelam
Seminar report neelam
 

Similar to Point Cloud Segmentation for 3D Reconstruction

Miniproject final group 14
Miniproject final group 14Miniproject final group 14
Miniproject final group 14
Ashish Mundhra
 
Geometric modeling111431635 geometric-modeling-glad (1)
Geometric modeling111431635 geometric-modeling-glad (1)Geometric modeling111431635 geometric-modeling-glad (1)
Geometric modeling111431635 geometric-modeling-glad (1)
manojg1990
 
Collision Detection In 3D Environments
Collision Detection In 3D EnvironmentsCollision Detection In 3D Environments
Collision Detection In 3D Environments
Ung-Su Lee
 

Similar to Point Cloud Segmentation for 3D Reconstruction (20)

Build Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface ReconstructionBuild Your Own 3D Scanner: Surface Reconstruction
Build Your Own 3D Scanner: Surface Reconstruction
 
testpang
testpangtestpang
testpang
 
Electrical Engineering Assignment Help
Electrical Engineering Assignment HelpElectrical Engineering Assignment Help
Electrical Engineering Assignment Help
 
SolidModeling.ppt
SolidModeling.pptSolidModeling.ppt
SolidModeling.ppt
 
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURINGUnit 2-ME8691 & COMPUTER AIDED DESIGN AND    MANUFACTURING
Unit 2-ME8691 & COMPUTER AIDED DESIGN AND MANUFACTURING
 
On mesh
On meshOn mesh
On mesh
 
Surface models
Surface modelsSurface models
Surface models
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and Culling
 
Algorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model RecoveryAlgorithmic Techniques for Parametric Model Recovery
Algorithmic Techniques for Parametric Model Recovery
 
CS 354 More Graphics Pipeline
CS 354 More Graphics PipelineCS 354 More Graphics Pipeline
CS 354 More Graphics Pipeline
 
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection ProblemTheories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
Curves and surfaces
Curves and surfacesCurves and surfaces
Curves and surfaces
 
Miniproject final group 14
Miniproject final group 14Miniproject final group 14
Miniproject final group 14
 
Geometric modeling111431635 geometric-modeling-glad (1)
Geometric modeling111431635 geometric-modeling-glad (1)Geometric modeling111431635 geometric-modeling-glad (1)
Geometric modeling111431635 geometric-modeling-glad (1)
 
Template-Based Paper Reconstruction from a Single Image is Well Posed when th...
Template-Based Paper Reconstruction from a Single Image is Well Posed when th...Template-Based Paper Reconstruction from a Single Image is Well Posed when th...
Template-Based Paper Reconstruction from a Single Image is Well Posed when th...
 
Collision Detection In 3D Environments
Collision Detection In 3D EnvironmentsCollision Detection In 3D Environments
Collision Detection In 3D Environments
 

More from Pirouz Nourian

More from Pirouz Nourian (8)

Geo1004 lecture 1_topology&amp;topological_datamodels_final
Geo1004 lecture 1_topology&amp;topological_datamodels_finalGeo1004 lecture 1_topology&amp;topological_datamodels_final
Geo1004 lecture 1_topology&amp;topological_datamodels_final
 
Ar1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design OptimizationAr1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design Optimization
 
Ar1 twf030 lecture2.2
Ar1 twf030 lecture2.2Ar1 twf030 lecture2.2
Ar1 twf030 lecture2.2
 
Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1
 
Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2
 
Ar1 twf030 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational DesignAr1 twf030 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational Design
 
Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017
 
Syntactic space syntax4generativedesign
Syntactic space syntax4generativedesignSyntactic space syntax4generativedesign
Syntactic space syntax4generativedesign
 

Recently uploaded

+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Recently uploaded (20)

Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 

Point Cloud Segmentation for 3D Reconstruction

  • 1. 1Challenge the future Point Cloud Segmentation & Surface Reconstruction An overview of methods Ir. Pirouz Nourian PhD candidate & Instructor, chair of Design Informatics, since 2010 MSc in Architecture 2009 BSc in Control Engineering 2005 MSc Geomatics, GEO1004, Directed by Dr. Sisi Zlatanova
  • 2. 2Challenge the future Topics A very short introduction to segmentation and surface reconstruction • Big Picture, Problem Statement • Goal is to make a [simple] Brep, with few faces • General Approaches to this problem (surface reconstruction): • Volumetric, Implicit, using voxels and iso-surfaces • Alpha Shapes (Ball-Pivoting) • Delaunay or Voronoi Based? • Poisson? • General Approaches to this problem (surface reconstruction):
  • 3. 3Challenge the future Topics A very short introduction to segmentation and surface reconstruction • Big Picture, Problem Statement • Goal is to make a [simple] Brep, with few faces Images courtesy of Ajith Sampath ?
  • 4. 4Challenge the future A few approaches to surface reconstruction • Voxels  Field of Signed-Distance Iso-Surface • Ball-Pivoting (alpha shapes) triangulation • Planar Segments Neighbourhood Matrix Edge List Simple Mesh • Poisson Surface Reconstruction • Implicit Function • [ Hoppe et al. 92 ] • Volumetric Reconstruction • [ Curless and Levoy 96 ] • Alpha Shapes • [ Edelsbrunner and Mucke 94 ] • 3D Voronoi-Based Reconstruction • [ Amenta , Bern & Kamvysselis 98 ]
  • 5. 5Challenge the future Segmentation for Detecting Features Points belonging to a set of surfaces considered as Brep faces Images courtesy of Dr. Shi Pu, Faculty of Feo Information Science and Earth Observations, University of Twente (ITC)
  • 6. 6Challenge the future Segmentation for Detecting Features Points belonging to a set of surfaces considered as Brep faces 3D reconstruction from AHN pointcloud: Carl Chen, Rusne Sileryte, Kaixuan Zhou; Ed. Pirouz Nourian, Sisi Zlatanova
  • 7. 7Challenge the future Segmentation for Detecting Features Points belonging to a set of surfaces considered as Brep faces Images courtesy of Ajith Sampath
  • 8. 8Challenge the future Segmentation for Detecting Features Points belonging to a set of surfaces considered as Brep faces Images courtesy of Ajith Sampath Building Reconstruction  The distance between two planar segments (P & Q) in a roof is defined as:  A neighborhood Matrix is then generated. The matrix shows all mutuallyintersecting planes.  Any two intersecting planes are selected,and all planes thatintersectboth of them are enumerated,and solved.  For instance Planes {1,4,10} and {1,4,13} are solved to get the breakline (A-B)as shown.
  • 9. 9Challenge the future Problem • Estimated Normal Vectors For Each Point • Estimated Curvature For Each Point Preliminaries… • Estimate Normal Vectors For Each Point Using the Covariance Matrix • (Fit a Plane to a Bunch of Points) • Cross Product of the Two Eigen Vectors Corresponding to the Two Largest Eigen Values
  • 10. 10Challenge the future Covariance Matrix Computation Check the attached code for the latest version! Dim Neighbors = Pts.FindAll(Function(V) V.distanceto(point) < D) Dim Centroid As New Point3d For Each neighbor As point3d In Neighbors Centroid = Centroid + neighbor Next For k As Integer=0 To Neighbors.count - 1 Dim CiCBar As New Matrix(3, Neighbors.count) Dim Diff As point3d = Neighbors(k) - Centroid CiCBar(0, k) = Diff.X CiCBar(1, k) = Diff.y CiCBar(2, k) = Diff.z Dim CiCBarOld As New Matrix(3, Neighbors.count) CiCBarOld = CiCBar.Duplicate() CiCBar.Transpose() CovM = CiCBarOld * CiCBar ‘Why is this a matrix of correct size? Next CovM.Scale(1 / Neighbors.count) CovMatrices.Add(CovM)
  • 11. 11Challenge the future Efficient Eigen Value Computation • Find the roots of this characteristic function (why? & how?) • Using a Trigonometric Method • (The following code is my version of it, test it first on a cubic function) A special case in which a 3x3 Matrix is dealt with Function CubicRoots(a, b, c, d) Dim t As Double Dim p,q As Double p = (3 * a * c - b ^ 2) / (3 * a ^ 2) If p < 0 Then q = (2 * b ^ 3 - 9 * a * b * c + 27 * a ^ 2 * d) / (27 * a ^ 3) Dim roots As New list(Of Double) For k As Integer = 0 To 2 t = 2 * Math.Sqrt(-p / 3) * Math.Cos((1 / 3) * Math.Acos(((3 * q) / (2 * p)) * Math.Sqrt(-3 / p)) - k * ((2 * Math.PI) / 3)) Dim x As Double = t - b / (3 * a) roots.add(x) Next Return roots Else Return Nothing End If End Function
  • 12. 12Challenge the future Ready for Segmentation! We do an iterative segmentation called Region Growing Mesh Segmentation in Action low angle threshold high angle threshold
  • 13. 13Challenge the future Mesh Segmentation • Connected Faces • Start Making Regions out of Neighbours of Similar Aspects (normal vectors/orientations) • Recursively Grow Regions with an Angle Tolerance (how?) How to detect faces of a Brep given a Mesh? Define Faces=M.Faces Define Regions As New list(Of List(Of Integer)) For i in range M.Faces.Count If clusters.count = 0 Or There is no region containing(i) Then Define region As New list(Of Integer) region.Append(i) For j in range adjacentfaces(of i) If isSimilar(M.FaceNormals(i), M.FaceNormals(j), t) Then region.Append(j) End For region = RecursivelyGrowRegion(M, region, angle threshold) Regions.Append(region) End If End For
  • 14. 14Challenge the future Point Cloud Segmentation Region Growing Segmentation Pseudocode
  • 15. 15Challenge the future A few approaches to surface reconstruction • 3d Hough Transform [Vosselman et al.] • Implicit Function [ Hoppe et al. 92 ] • Alpha Shapes [ Edelsbrunner and Mucke 94 ] • Many more: Berger, Matthew, et al. "State of the art in surface reconstruction from point clouds." EUROGRAPHICS star reports. Vol. 1. No. 1. 2014. (e.g. Ball-Pivoting algorithm) The space generated by point pairs that can be touched by an empty disc of radius alpha. Using Voxels  Field of Signed-Distance Iso-Surface
  • 16. 16Challenge the future 2D Hough Transform
  • 17. 17Challenge the future 2d Hough Transform b = -ax + y
  • 18. 18Challenge the future 2d Hough Transform R=x cos θ+ y sin θ
  • 19. 19Challenge the future 3d Hough transform c = -ax -by + z R = x cos θ cos Φ + y sin θ cos Φ+ z sin Φ
  • 20. 20Challenge the future 20 Restricted 3d Hough Transform Plane should contain (0,0,0) → z = ax + by b = -ax/y + z/y (y != 0)
  • 26. 26Challenge the future Questions? Thank you! p.nourian@tudelft.nl