🖍️
gitbook_docs
  • Introduction
  • Machine Learning
    • Recommended Courses
      • For Undergrad Research
      • Math for Machine Learning
    • ML Notes
      • Covariance Correlation
      • Feature Selection
      • Linear Regression
      • Entropy, Cross-Entropy, KL Divergence
      • Bayesian Classifier
        • Terminology Review
        • Bayesian Classifier for Normally Distributed classes
      • Linear Discriminant Analysis
      • Logistic Regression
        • Logistic Regression Math
      • Logistic Regression-MaximumLikelihood
      • SVM
        • SVM concept
        • SVM math
      • Cross Validation
      • Parameter, Density Estimation
        • MAP, MLE
        • Gaussian Mixture Model
      • E-M
      • Density Estimation(non-parametric)
      • Unsupervised Learning
      • Clustering
      • kNN
      • WaveletTransform
      • Decision Tree
    • Probability and Statistics for Machine Learning
      • Introduction
      • Basics of Data Analysis
      • Probability for Discrete Random Variable
      • Poisson Distribution
      • Chi-Square Distribution
      • P-value and Statistical Hypothesis
      • Power and Sample Size
      • Hypothesis Test Old
      • Hypothesis Test
      • Multi Armed Bandit
      • Bayesian Inference
      • Bayesian Updating with Continuous Priors
      • Discrete Distribution
      • Comparison of Bayesian and frequentist inference
      • Confidence Intervals for Normal Data
      • Frequenist Methods
      • Null Hypothesis Significance Testing
      • Confidence Intervals: Three Views
      • Confidence Intervals for the Mean of Non-normal Data
      • Probabilistic Prediction
  • Industrial AI
    • PHM Dataset
    • BearingFault_Journal
      • Support Vector Machine based
      • Autoregressive(AR) model based
      • Envelope Extraction based
      • Wavelet Decomposition based
      • Prediction of RUL with Deep Convolution Nueral Network
      • Prediction of RUL with Information Entropy
      • Feature Model and Feature Selection
    • TempCore Journal
      • Machine learning of mechanical properties of steels
      • Online prediction of mechanical properties of hot rolled steel plate using machine learning
      • Prediction and Analysis of Tensile Properties of Austenitic Stainless Steel Using Artificial Neural
      • Tempcore, new process for the production of high quality reinforcing
      • TEMPCORE, the most convenient process to produce low cost high strength rebars from 8 to 75 mm
      • Experimental investigation and simulation of structure and tensile properties of Tempcore treated re
    • Notes
  • LiDAR
    • Processing of Point Cloud
    • Intro. 3D Object Detection
    • PointNet
    • PointNet++
    • Frustrum-PointNet
    • VoxelNet
    • Point RCNN
    • PointPillars
    • LaserNet
  • Simulator
    • Simulator List
    • CARLA
    • Airsim
      • Setup
      • Tutorial
        • T#1
        • T#2
        • T#3: Opencv CPP
        • T#4: Opencv Py
        • Untitled
        • T#5: End2End Driving
  • Resources
    • Useful Resources
    • Github
    • Jekyll
  • Reinforcement Learning
    • RL Overview
      • RL Bootcamp
      • MIT Deep RL
    • Textbook
    • Basics
    • Continuous Space RL
  • Unsupervised Learning
    • Introduction
  • Unclassified
    • Ethics
    • Conference Guideline
  • FPGA
    • Untitled
  • Numerical Method
    • NM API reference
Powered by GitBook
On this page
  • Introduction
  • Contribution
  • Network
  • Classification network
  • Unordered: use symmetric function
  • Local and Global Information Aggregation
  • Joint alignment network
  • Implementation
  • Reference

Was this helpful?

  1. LiDAR

PointNet

PreviousIntro. 3D Object DetectionNextPointNet++

Last updated 3 years ago

Was this helpful?

Deep Learning on Point Sets for 3D Classification and Segmentation: , , ,

Introduction

The main problem with point cloud deep learning is that typical convolutional architecture requires highly regular input data format, like image or temporal features. As pointcloud are not in regular format, the common approaches are to transform the data to regular 3D voxel grid or projections.

  • renders the resulting data unnecessarily voluminous

  • introducies quantization artifacts that can obscure natural invariances of the data.

Example:

Idea: generalize 2D convolutions to regular 3D grids

The main problem is inefficient representation: cubic voxel grid of size 100 will have 1,000,000 voxels.


Work with point clouds instead

Pointnet was the initial approach for novel type of neural network that directly consumes unordered point clouds, which also takes care of the permutation invariance of points in the point cloud.

A novel deep net architecture that consumes raw point cloud (set of points) without voxelization or rendering.

A point cloud is just a set of points and therefore invariant to permutations of its members, necessitating certain symmetrizations in the net computation. Further invariances to rigid motions also need to be considered

Permutation invariant: a model that produces the same output regardless of the order of elements in the input vector.

e.g. MLP.

CNN, RNN is NOT permulation invariant.

Key to our approach is the use of a single symmetric function, max pooling. Effectively the network learns a set of optimization functions/criteria that select interesting or informative points of the point cloud and encode the reason for their selection.

Contribution

  • We design a novel deep net architecture suitable for consuming unordered point sets in 3D;

  • We show how such a net can be trained to perform 3D shape classification, shape part segmentation and scene semantic parsing tasks;

Network

For simplicity, it’ll be assumed that a point in a point cloud is fully described by its (x, y, z) coordinates. In practice, other features may be included, such as surface normal and intensity.

There are three main constraints:

  • Point clouds are unordered. Algorithm has to be invariant to permutations of the input set.

    • In other words, a network that consumes N 3D point sets needs to be invariant to N! permutations of the input set in data feeding order.

    • For example, rotating and translating points all together should not modify the global point cloud category

  • Network should capture interactions among points

    • It means that points are not isolated, and neighboring points form a meaningful subset.

Classification network

k classes output scores

  • max pooling from nx1024 to 1024 ;

    • nx1024: number of points (local) --> 1x1024: global feature

Unordered: use symmetric function

  • +, * is a symmetric function.

  • Used max pooling as the symmetric function.

  • used shared MLP (h) --> max pooling (g) to get global feature in R^1 dimension.

More note on Symmetry Function for Unordered Input unordered points

  • The biggest issue when doing deep learning w/ point cloud is that deep learning requires ordered input wheras pointcloud are unordered set.

Local and Global Information Aggregation

A combination of global and local knowledge is achieved in segmentation network to rely on both local geometry and global semantic

In segmentation network, it concatenated global feature(1x1024) to each of (nx64) to get [ n x(64+1024)]

Joint alignment network

Under rigid tranformation, the semantic labeling should be invariant.

Option 1) align all input set to a canonical space before feature extraction.

This paper used T-net.

It is a mini-network that predicts an affine transformation matrix. Apply the transformation on the coordinates of input points.

It resembles the big network of (1) point independent feature extract (2) max pooling (3) fully connected layers

Implementation

Reference



image from:

Network must be invariant to .

The classification model from the in using PyTorch. ****

You can find the full notebook at:

arxiv paper
rigid transformations
original paper
Google Colab
Read this for detail
https://github.com/nikitakaraevv/pointnet/blob/master/nbs/PointNetClass.ipynb
PointNet:
Charles R. Qi
Hao Su
Kaichun Mo
Leonidas J. Guibas
An In-Depth Look at PointNetMedium
PointnetMedium
Deep Learning on Point clouds: Implementing PointNet in Google ColabMedium
Logo
Logo
Logo