SlideShare a Scribd company logo
1 of 54
Download to read offline
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   Registration   Conclusion




                                   Point Cloud Library
                      3D Features. Registration. Surface Classification

                                             Radu Bogdan RUSU
                                                          June 14, 2010
[Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Outline


      1. Introduction
      2. Acquisition
      3. Feature Estimation
      4. (Fast) Point Feature Histograms

      5. Surface Classification
      6. Object Recognition

      7. Registration

      8. Conclusion

Radu Bogdan RUSU                                                                            PCL :: 3D Features
[Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Motivation (1/2)
                   Point-based classification

                           Figure out ways to “classify the world”




Radu Bogdan RUSU                                                                            PCL :: 3D Features
[Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Motivation (2/2)
                   Point-based classification




                                        Two basic alternatives:
         1.          create a powerful, discriminative 3D feature descriptor;
                     learn different classes of surface or object types;
                     use a machine learning classifier
                                                                                                                   .
                     (the solution efficiency depends on the method used − let your “neighbor” (the ML guy) solve it)
                                                                         →




Radu Bogdan RUSU                                                                                  PCL :: 3D Features
[Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Motivation (2/2)
                   Point-based classification




                                        Two basic alternatives:
         1.          create a powerful, discriminative 3D feature descriptor;
                     learn different classes of surface or object types;
                     use a machine learning classifier
                                                                                                                   .
                     (the solution efficiency depends on the method used − let your “neighbor” (the ML guy) solve it)
                                                                         →

         2.          use geometric reasoning techniques: segmentation, region
                     growing, robust estimators, octrees, ...
                     fit linear (planes, lines) and non-linear (cylinders, spheres,
                     etc) models to your data




Radu Bogdan RUSU                                                                                  PCL :: 3D Features
Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Outline


      1. Introduction
      2. Acquisition
      3. Feature Estimation
      4. (Fast) Point Feature Histograms

      5. Surface Classification
      6. Object Recognition

      7. Registration

      8. Conclusion

Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Acquisition (1/1)
                   How are Point Clouds acquired? Where do they come from?


      Recap: Point Cloud acquisition sources:
             laser/lidar sensors (2D/3D)
             stereo cameras
             time-of-flight (TOF) cameras
             etc...




                              *
Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Filtering (1-2/2)
                   Statistical Gross Outlier Removal :: PCL/Filters/StatisticalOutlierRemoval


                      P = {pi ∈ Praw | dist(pi , pj ) > µ + dthresh · σ}



          Distance Analysis:




            Before and after:




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion


                   Filtering (1-2/2)
                   Statistical Gross Outlier Removal :: PCL/Filters/StatisticalOutlierRemoval


                      P = {pi ∈ Praw | dist(pi , pj ) > µ + dthresh · σ}




            Before and after:




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Outline


      1. Introduction
      2. Acquisition
      3. Feature Estimation
      4. (Fast) Point Feature Histograms

      5. Surface Classification
      6. Object Recognition

      7. Registration

      8. Conclusion

Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Local Features Estimation (1-2/5)
                   Surface Normal Estimation :: PCL/Features/NormalEstimationOMP,TBB




             Given a point cloud with x,y,z 3D point coordinates




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Local Features Estimation (1-2/5)
                   Surface Normal Estimation :: PCL/Features/NormalEstimationOMP,TBB




             Given a point cloud with x,y,z 3D point coordinates



             Select each point’s k -nearest neighbors, fit a local plane,
             and compute the plane normal




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Local Features Estimation (3/5)
                   Surface Normal and Curvature Estimation



                                    k                                            1        k
                 Cj =               i=1 ξi   · (pi − pj )T · (pi − pj ), p =     k   ·    i=1 pi

                  
                              di2                                                        λ0
                         −                                                σp =
                      e       µ2    , pi outlier                                     λ0 +λ1 +λ2
          ξi =
                                1, pi inlier
                  




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Local Features Estimation (4-5/5)
                   Consistent Normal Orientation


                       Before
                                                                    Extended Gaussian Image
                                                                    Orientation consistent for:
                                                                       1. registration
                                                                       2. feature estimation
                                                                       3. surface representation



                                                                                normals on the
                                                                                Gaussian sphere
                                                                                should be in the
                                                                                same half-space

Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Local Features Estimation (4-5/5)
                   Consistent Normal Orientation


                       Before                                                      After




                                                                          (viewpoint − pi ) · npi ≥ 0

                                                                                           or:

                                                                         propagate consistency
                                                                         through an EMST

Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Feature Persistence (1/5)
                   What scale to choose ?




            bad scale (too small)                                            good scale


      Selecting the right scale (k -neighborhood) is problematic:




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Feature Persistence (2/5)
                   Solution: Compute the persistence of the feature over multiple scales

             Scales are independent, can be parallelized
             Where to threshold ?
                     Computer Graphics: look for jumps in the feature curve




                     Datasets in “robotics” have non-smooth surfaces. Solution:




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Feature Persistence (3/5)
                   Multiple radii analysis

        L1-Manhattan                           L2-Euclidean                       Jeffries-Matusita




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Feature Persistence (4/5)
                   Multiple radii analysis

        Bhattacharyya                           Chi-Square                         Kullback-Leibler




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion


                   Feature Persistence (5/5)
                   Example Result
             RAW/intensity data                               Persistent Feature Histograms




                                                                                                             *
                                                  n−1
                                          Pf =           [Pfi ∩ Pfi+1 ]
                                                   i=1
Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Outline


       1. Introduction
       2. Acquisition
       3. Feature Estimation
       4. (Fast) Point Feature Histograms

       5. Surface Classification
       6. Object Recognition

       7. Registration

       8. Conclusion

Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Point Feature Histograms (PFH) (1-4/5)
                      Basic Concepts :: PCL/Features/FPFHEstimation




           For every point pair
            (ps , ns ); (pt , nt ) , let
           u = ns , v = (pt −ps )×u, w = u×v

                                            
               f0 = v , n j                 
                                            
               f1 = u, pj − pi /||pj − pi ||
                                            
                                                                                    x≤3         fx ·d
                                              i    =                                                            · dx
               f2 = ||pj − pi ||             hist
                                            
                                                                                    x=0     fxmax −fxmin
                                            
                                            
               f3 = atan( w, nj , u, nj )




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Point Feature Histograms (PFH) (1-4/5)
                      Basic Concepts :: PCL/Features/FPFHEstimation




                                            
               f0 = v , n j                 
                                            
               f1 = u, pj − pi /||pj − pi ||
                                            
                                                                                    x≤3         fx ·d
                                              i    =                                                            · dx
               f2 = ||pj − pi ||             hist
                                            
                                                                                    x=0     fxmax −fxmin
                                            
                                            
               f3 = atan( w, nj , u, nj )


Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Point Feature Histograms (PFH) (1-4/5)
                      Basic Concepts :: PCL/Features/FPFHEstimation




           For every point pair
            (ps , ns ); (pt , nt ) , let
           u = ns , v = (pt −ps )×u, w = u×v




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Point Feature Histograms (PFH) (1-4/5)
                      Points lying on different geometric primitives




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Point Feature Histograms (PFH) (5/5)
                      Complexity Analysis

               Complexity is high: O(k 2 ). Optimizations to the rescue!




                       Unordered                                                          Ordered
Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Fast Point Feature Histograms (FPFH) (1/5)
                      Basic Concepts

                                                                                1       k   1
          Re-formulate: FPFH(p) = SPF (p) +                                     k       i=1 ωk     · SPF (pk )




                 Point Feature Histograms (PFH)                               Fast Point Feature Histograms (FPFH)

Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Fast Point Feature Histograms (FPFH) (2/5)
                      Theoretical formulation




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction    Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                       Fast Point Feature Histograms (FPFH) (3/5)
                       Noise Analysis




               Synthetically noiseless                                         Synthetically noisified




Radu Bogdan RUSU                                                                                          PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Fast Point Feature Histograms (FPFH) (4/5)
                      Noise Analysis




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   [F/PFH]   Surface Classification   Object Recognition    Registration   Conclusion


                      Fast Point Feature Histograms (FPFH) (5/5)
                      Persistence Similarity




Radu Bogdan RUSU                                                                                         PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Outline


      1. Introduction
      2. Acquisition
      3. Feature Estimation
      4. (Fast) Point Feature Histograms

      5. Surface Classification
      6. Object Recognition

      7. Registration

      8. Conclusion

Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (1/8)
                   Point-based classification recap

                           Figure out ways to “classify the world”




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (2/8)
                   Learning classes of surfaces




          Concave vs Convex




           13 classes total




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (3/8)
                   Noise Analysis




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (4/8)
                   Most Discriminating Features Selection

             How many training samples to generate ? Need to
             simulate real scans.
             Solution: generate a lot, then select the most
             discriminative ones




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (5/8)
                   Classification results using different methods




                   SVM



                   KNN



                KMeans
                                              Table 1. Classification results
                                        Method used                Noiseless    Noisy
                                   SVM RBF Sublinear kernel         95.26%     89.55%
                                   KNN Bhattacharyya (µ-dist)       87.11%     83.53%
                                  K-Means (81D) Bhattacharyya       73.63%     70.74%

Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (6/8)
                   FPFH classification results




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (7/8)
                   Classification results using PFH and SVM: 89.95%




                                                                                                                *

                                                    *
Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion


                   Surface Classification (8/8)
                   Classification results using FPFH and CRF: 97.36%




Radu Bogdan RUSU                                                                           PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion


                   Outline


      1. Introduction
      2. Acquisition
      3. Feature Estimation
      4. (Fast) Point Feature Histograms

      5. Surface Classification
      6. Object Recognition

      7. Registration

      8. Conclusion

Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion


                   GFPFH Concepts
                   From local annotations (FPFH) to global (cluster) annotations (GFPFH)




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion


                   FPFH Classification
                   Classification results using FPFH and CRF: 98.27%




                                                                                                             *




Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion


                   GFPFH Classification
                   Classification results using GFPFH and SVM: 95.13%




                                                    *
Radu Bogdan RUSU                                                                            PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Outline


       1. Introduction
       2. Acquisition
       3. Feature Estimation
       4. (Fast) Point Feature Histograms

       5. Surface Classification
       6. Object Recognition

       7. Registration

       8. Conclusion

Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (1/7)
                      Multiple Scans :: PCL/Registration/IterativeClosestPoint*


                                           points on similar surfaces




                                                                                                                           *




Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (2/7)
                      The classics




                                                                                                                          *



Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (3/7)
                      Outdoor Example: Persistence, Initial Alignment




                                                                                                                             *


Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (4/7)
                      Outdoor Example: Non-Linear Optimization




                                                                                                              *
Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (5/7)
                      Outdoor Example: Non-Linear Optimization




Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (6/7)
                      Back to Indoor Environments




Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   [Registration]   Conclusion


                      Registration (7/7)
                      Registered 360◦ scans - 15 million points




Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   Registration   [Conclusion]


                      Outline


       1. Introduction
       2. Acquisition
       3. Feature Estimation
       4. (Fast) Point Feature Histograms

       5. Surface Classification
       6. Object Recognition

       7. Registration

       8. Conclusion

Radu Bogdan RUSU                                                                                        PCL :: 3D Features
Introduction   Acquisition   Feature Estimation   F/PFH   Surface Classification   Object Recognition   Registration   [Conclusion]


                      Questions?




                                      http://www.ros.org/wiki/pcl
Radu Bogdan RUSU                                                                                        PCL :: 3D Features

More Related Content

More from zukun

ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVzukun
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Informationzukun
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statisticszukun
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibrationzukun
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionzukun
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluationzukun
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-softwarezukun
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptorszukun
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectorszukun
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-introzukun
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video searchzukun
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video searchzukun
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learningzukun
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionzukun
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick startzukun
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysiszukun
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structureszukun
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities zukun
 
Icml2012 learning hierarchies of invariant features
Icml2012 learning hierarchies of invariant featuresIcml2012 learning hierarchies of invariant features
Icml2012 learning hierarchies of invariant featureszukun
 

More from zukun (20)

ETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCVETHZ CV2012: Tutorial openCV
ETHZ CV2012: Tutorial openCV
 
ETHZ CV2012: Information
ETHZ CV2012: InformationETHZ CV2012: Information
ETHZ CV2012: Information
 
Siwei lyu: natural image statistics
Siwei lyu: natural image statisticsSiwei lyu: natural image statistics
Siwei lyu: natural image statistics
 
Lecture9 camera calibration
Lecture9 camera calibrationLecture9 camera calibration
Lecture9 camera calibration
 
Brunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer visionBrunelli 2008: template matching techniques in computer vision
Brunelli 2008: template matching techniques in computer vision
 
Modern features-part-4-evaluation
Modern features-part-4-evaluationModern features-part-4-evaluation
Modern features-part-4-evaluation
 
Modern features-part-3-software
Modern features-part-3-softwareModern features-part-3-software
Modern features-part-3-software
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptors
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectors
 
Modern features-part-0-intro
Modern features-part-0-introModern features-part-0-intro
Modern features-part-0-intro
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
Lecture 01 internet video search
Lecture 01 internet video searchLecture 01 internet video search
Lecture 01 internet video search
 
Lecture 03 internet video search
Lecture 03 internet video searchLecture 03 internet video search
Lecture 03 internet video search
 
Icml2012 tutorial representation_learning
Icml2012 tutorial representation_learningIcml2012 tutorial representation_learning
Icml2012 tutorial representation_learning
 
Advances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer visionAdvances in discrete energy minimisation for computer vision
Advances in discrete energy minimisation for computer vision
 
Gephi tutorial: quick start
Gephi tutorial: quick startGephi tutorial: quick start
Gephi tutorial: quick start
 
EM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysisEM algorithm and its application in probabilistic latent semantic analysis
EM algorithm and its application in probabilistic latent semantic analysis
 
Object recognition with pictorial structures
Object recognition with pictorial structuresObject recognition with pictorial structures
Object recognition with pictorial structures
 
Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities Iccv2011 learning spatiotemporal graphs of human activities
Iccv2011 learning spatiotemporal graphs of human activities
 
Icml2012 learning hierarchies of invariant features
Icml2012 learning hierarchies of invariant featuresIcml2012 learning hierarchies of invariant features
Icml2012 learning hierarchies of invariant features
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Cvpr2010 open source vision software, intro and training part viii point cloud library - rusu - unknown - 2010

  • 1. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Point Cloud Library 3D Features. Registration. Surface Classification Radu Bogdan RUSU June 14, 2010
  • 2. [Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 3. [Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Motivation (1/2) Point-based classification Figure out ways to “classify the world” Radu Bogdan RUSU PCL :: 3D Features
  • 4. [Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Motivation (2/2) Point-based classification Two basic alternatives: 1. create a powerful, discriminative 3D feature descriptor; learn different classes of surface or object types; use a machine learning classifier . (the solution efficiency depends on the method used − let your “neighbor” (the ML guy) solve it) → Radu Bogdan RUSU PCL :: 3D Features
  • 5. [Introduction] Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Motivation (2/2) Point-based classification Two basic alternatives: 1. create a powerful, discriminative 3D feature descriptor; learn different classes of surface or object types; use a machine learning classifier . (the solution efficiency depends on the method used − let your “neighbor” (the ML guy) solve it) → 2. use geometric reasoning techniques: segmentation, region growing, robust estimators, octrees, ... fit linear (planes, lines) and non-linear (cylinders, spheres, etc) models to your data Radu Bogdan RUSU PCL :: 3D Features
  • 6. Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 7. Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Acquisition (1/1) How are Point Clouds acquired? Where do they come from? Recap: Point Cloud acquisition sources: laser/lidar sensors (2D/3D) stereo cameras time-of-flight (TOF) cameras etc... * Radu Bogdan RUSU PCL :: 3D Features
  • 8. Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Filtering (1-2/2) Statistical Gross Outlier Removal :: PCL/Filters/StatisticalOutlierRemoval P = {pi ∈ Praw | dist(pi , pj ) > µ + dthresh · σ} Distance Analysis: Before and after: Radu Bogdan RUSU PCL :: 3D Features
  • 9. Introduction [Acquisition] Feature Estimation F/PFH Surface Classification Object Recognition Registration Conclusion Filtering (1-2/2) Statistical Gross Outlier Removal :: PCL/Filters/StatisticalOutlierRemoval P = {pi ∈ Praw | dist(pi , pj ) > µ + dthresh · σ} Before and after: Radu Bogdan RUSU PCL :: 3D Features
  • 10. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 11. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Local Features Estimation (1-2/5) Surface Normal Estimation :: PCL/Features/NormalEstimationOMP,TBB Given a point cloud with x,y,z 3D point coordinates Radu Bogdan RUSU PCL :: 3D Features
  • 12. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Local Features Estimation (1-2/5) Surface Normal Estimation :: PCL/Features/NormalEstimationOMP,TBB Given a point cloud with x,y,z 3D point coordinates Select each point’s k -nearest neighbors, fit a local plane, and compute the plane normal Radu Bogdan RUSU PCL :: 3D Features
  • 13. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Local Features Estimation (3/5) Surface Normal and Curvature Estimation k 1 k Cj = i=1 ξi · (pi − pj )T · (pi − pj ), p = k · i=1 pi  di2 λ0  − σp = e µ2 , pi outlier λ0 +λ1 +λ2 ξi = 1, pi inlier  Radu Bogdan RUSU PCL :: 3D Features
  • 14. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Local Features Estimation (4-5/5) Consistent Normal Orientation Before Extended Gaussian Image Orientation consistent for: 1. registration 2. feature estimation 3. surface representation normals on the Gaussian sphere should be in the same half-space Radu Bogdan RUSU PCL :: 3D Features
  • 15. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Local Features Estimation (4-5/5) Consistent Normal Orientation Before After (viewpoint − pi ) · npi ≥ 0 or: propagate consistency through an EMST Radu Bogdan RUSU PCL :: 3D Features
  • 16. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Feature Persistence (1/5) What scale to choose ? bad scale (too small) good scale Selecting the right scale (k -neighborhood) is problematic: Radu Bogdan RUSU PCL :: 3D Features
  • 17. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Feature Persistence (2/5) Solution: Compute the persistence of the feature over multiple scales Scales are independent, can be parallelized Where to threshold ? Computer Graphics: look for jumps in the feature curve Datasets in “robotics” have non-smooth surfaces. Solution: Radu Bogdan RUSU PCL :: 3D Features
  • 18. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Feature Persistence (3/5) Multiple radii analysis L1-Manhattan L2-Euclidean Jeffries-Matusita Radu Bogdan RUSU PCL :: 3D Features
  • 19. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Feature Persistence (4/5) Multiple radii analysis Bhattacharyya Chi-Square Kullback-Leibler Radu Bogdan RUSU PCL :: 3D Features
  • 20. Introduction Acquisition [Feature Estimation] F/PFH Surface Classification Object Recognition Registration Conclusion Feature Persistence (5/5) Example Result RAW/intensity data Persistent Feature Histograms * n−1 Pf = [Pfi ∩ Pfi+1 ] i=1 Radu Bogdan RUSU PCL :: 3D Features
  • 21. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 22. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Point Feature Histograms (PFH) (1-4/5) Basic Concepts :: PCL/Features/FPFHEstimation For every point pair (ps , ns ); (pt , nt ) , let u = ns , v = (pt −ps )×u, w = u×v  f0 = v , n j   f1 = u, pj − pi /||pj − pi ||  x≤3 fx ·d i = · dx f2 = ||pj − pi ||  hist  x=0 fxmax −fxmin   f3 = atan( w, nj , u, nj ) Radu Bogdan RUSU PCL :: 3D Features
  • 23. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Point Feature Histograms (PFH) (1-4/5) Basic Concepts :: PCL/Features/FPFHEstimation  f0 = v , n j   f1 = u, pj − pi /||pj − pi ||  x≤3 fx ·d i = · dx f2 = ||pj − pi ||  hist  x=0 fxmax −fxmin   f3 = atan( w, nj , u, nj ) Radu Bogdan RUSU PCL :: 3D Features
  • 24. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Point Feature Histograms (PFH) (1-4/5) Basic Concepts :: PCL/Features/FPFHEstimation For every point pair (ps , ns ); (pt , nt ) , let u = ns , v = (pt −ps )×u, w = u×v Radu Bogdan RUSU PCL :: 3D Features
  • 25. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Point Feature Histograms (PFH) (1-4/5) Points lying on different geometric primitives Radu Bogdan RUSU PCL :: 3D Features
  • 26. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Point Feature Histograms (PFH) (5/5) Complexity Analysis Complexity is high: O(k 2 ). Optimizations to the rescue! Unordered Ordered Radu Bogdan RUSU PCL :: 3D Features
  • 27. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Fast Point Feature Histograms (FPFH) (1/5) Basic Concepts 1 k 1 Re-formulate: FPFH(p) = SPF (p) + k i=1 ωk · SPF (pk ) Point Feature Histograms (PFH) Fast Point Feature Histograms (FPFH) Radu Bogdan RUSU PCL :: 3D Features
  • 28. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Fast Point Feature Histograms (FPFH) (2/5) Theoretical formulation Radu Bogdan RUSU PCL :: 3D Features
  • 29. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Fast Point Feature Histograms (FPFH) (3/5) Noise Analysis Synthetically noiseless Synthetically noisified Radu Bogdan RUSU PCL :: 3D Features
  • 30. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Fast Point Feature Histograms (FPFH) (4/5) Noise Analysis Radu Bogdan RUSU PCL :: 3D Features
  • 31. Introduction Acquisition Feature Estimation [F/PFH] Surface Classification Object Recognition Registration Conclusion Fast Point Feature Histograms (FPFH) (5/5) Persistence Similarity Radu Bogdan RUSU PCL :: 3D Features
  • 32. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 33. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (1/8) Point-based classification recap Figure out ways to “classify the world” Radu Bogdan RUSU PCL :: 3D Features
  • 34. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (2/8) Learning classes of surfaces Concave vs Convex 13 classes total Radu Bogdan RUSU PCL :: 3D Features
  • 35. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (3/8) Noise Analysis Radu Bogdan RUSU PCL :: 3D Features
  • 36. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (4/8) Most Discriminating Features Selection How many training samples to generate ? Need to simulate real scans. Solution: generate a lot, then select the most discriminative ones Radu Bogdan RUSU PCL :: 3D Features
  • 37. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (5/8) Classification results using different methods SVM KNN KMeans Table 1. Classification results Method used Noiseless Noisy SVM RBF Sublinear kernel 95.26% 89.55% KNN Bhattacharyya (µ-dist) 87.11% 83.53% K-Means (81D) Bhattacharyya 73.63% 70.74% Radu Bogdan RUSU PCL :: 3D Features
  • 38. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (6/8) FPFH classification results Radu Bogdan RUSU PCL :: 3D Features
  • 39. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (7/8) Classification results using PFH and SVM: 89.95% * * Radu Bogdan RUSU PCL :: 3D Features
  • 40. Introduction Acquisition Feature Estimation F/PFH [Surface Classification] Object Recognition Registration Conclusion Surface Classification (8/8) Classification results using FPFH and CRF: 97.36% Radu Bogdan RUSU PCL :: 3D Features
  • 41. Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 42. Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion GFPFH Concepts From local annotations (FPFH) to global (cluster) annotations (GFPFH) Radu Bogdan RUSU PCL :: 3D Features
  • 43. Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion FPFH Classification Classification results using FPFH and CRF: 98.27% * Radu Bogdan RUSU PCL :: 3D Features
  • 44. Introduction Acquisition Feature Estimation F/PFH Surface Classification [Object Recognition] Registration Conclusion GFPFH Classification Classification results using GFPFH and SVM: 95.13% * Radu Bogdan RUSU PCL :: 3D Features
  • 45. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 46. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (1/7) Multiple Scans :: PCL/Registration/IterativeClosestPoint* points on similar surfaces * Radu Bogdan RUSU PCL :: 3D Features
  • 47. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (2/7) The classics * Radu Bogdan RUSU PCL :: 3D Features
  • 48. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (3/7) Outdoor Example: Persistence, Initial Alignment * Radu Bogdan RUSU PCL :: 3D Features
  • 49. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (4/7) Outdoor Example: Non-Linear Optimization * Radu Bogdan RUSU PCL :: 3D Features
  • 50. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (5/7) Outdoor Example: Non-Linear Optimization Radu Bogdan RUSU PCL :: 3D Features
  • 51. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (6/7) Back to Indoor Environments Radu Bogdan RUSU PCL :: 3D Features
  • 52. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition [Registration] Conclusion Registration (7/7) Registered 360◦ scans - 15 million points Radu Bogdan RUSU PCL :: 3D Features
  • 53. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration [Conclusion] Outline 1. Introduction 2. Acquisition 3. Feature Estimation 4. (Fast) Point Feature Histograms 5. Surface Classification 6. Object Recognition 7. Registration 8. Conclusion Radu Bogdan RUSU PCL :: 3D Features
  • 54. Introduction Acquisition Feature Estimation F/PFH Surface Classification Object Recognition Registration [Conclusion] Questions? http://www.ros.org/wiki/pcl Radu Bogdan RUSU PCL :: 3D Features