Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in...
Transcript of Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in...
![Page 1: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/1.jpg)
POINT-CLOUD PROCESSING USING HDL CODER
April 17th 2018
![Page 2: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/2.jpg)
AGENDA
Introduction
LiDAR Sensors in Automotive Industry
Point Cloud Processing
Classic processing pipeline
HDL-Coder Workflow
Hardware structure
Examples on the usage
April 17th 2018
2
![Page 3: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/3.jpg)
LIDAR SENSORS IN AUTOMOTIVE
Time of flight measurement for emmitted Laser Beam
April 17th 2018
3
Additional sensor technology offering
High distance measurement
Accurate point distance
Working under bad circumstances (fog, night)
Enhancing redundancy
![Page 4: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/4.jpg)
LIDAR SENSORS IN AUTOMOTIVE
Valeo SCALA first mass production LiDAR Sensor for
automotive (2017)
58.000 points per second
Next generation ~200.000 points per second
Research Utilities
Velodyne LiDAR Ultra Puck ~600,000 points per second
Velodyne HDL-64E 2.2 million points per second
April 17th 2018
4
Number of points to be processed will increase
Possibility of getting more information out of the data
![Page 5: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/5.jpg)
LIDAR SENSORS IN AUTOMOTIVE
Possible future resolution
April 17th 2018 5
State of the art
![Page 6: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/6.jpg)
WHAT IS A POINT CLOUD
April 17th 2018
6
XYZ coordinates
RGB (Texture)
Intensity
Normals
Curvature
…
A point cloud is a set of discrete points in 3D space. Each point is represented by its cartesian coordiantes and may hold additional information
360° view
surface Normals
curvature
![Page 7: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/7.jpg)
POINT CLOUD PROCESSING PIPELINE
April 17th 2018
7
Sensor Data Transformation Feature Extraction
Segmentation Classification Objects
![Page 8: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/8.jpg)
POINT CLOUD - TRANSFORMATION
April 17th 2018
8
Transfor-
mation
Sensor Data distance measurement
Known column and row index (n,m)
Transformation to cartesian coordinates necessary
pitch and yaw depend on resolution, mounting position
![Page 9: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/9.jpg)
POINT CLOUD – FEATURE EXTRACTION
April 17th 2018
9
Feature
Extraction
Normal estimation
Nearest Neighbours for unorganized point cloud
Brute force
Kd-tree
Approximate nearest neighbours
Nearest Neighbours for organized point cloud
Pixel like structure
Define a search mask
Normal estimation using PCA
Surface normal corresponds to eigenvector of smallest eigenvalue
Curvature
Estimated from Eigenvalues
![Page 10: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/10.jpg)
POINT CLOUD – SEGMENTATION
April 17th 2018 10
Segmen-
tation
Evaluate features to detect
Depth changes
Edges
Cluster connected points
Region growing algorithm
![Page 11: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/11.jpg)
WHAT IS AN FPGA AND WHY DO WE USE IT?
April 17th 2018
11
Field Progammable Gate Array
Reconfigurable Integrated Circuit
Suitable for new projects
Implementation of bug fixes
Parallel processing of
Algorithms for Hardware control
Each step in the data processing pipeline
FPGA
Hardware control Data processing
Transformation
Feature Extraction
Segmentation
Emmiter
Receier
Motor Control
![Page 12: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/12.jpg)
POINT CLOUD PROCESSING ON FPGA
Possible data flow using Embedded-Coder and HDL-Coder
April 17th 2018
12
System on a Chip
PC
Data generation
UDP CPU AXI
FPGA
Point Cloud Processing
AXI CPU UDP
PC
Evaluation Visualization
![Page 13: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/13.jpg)
POINT CLOUD PROCESSING ON FPGA
Possible data flow using Embedded-Coder and HDL-Coder
April 17th 2018
13
System on a Chip
PC
Data generation
UDP CPU AXI
FPGA
Point Cloud Processing
AXI CPU UDP
PC
Evaluation Visualization
![Page 14: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/14.jpg)
POINT TRANSFORMATION
Date 14
Example:
Column Wise data received from Sensor (64 scan points)
Transformation multipliers from lookup table available
![Page 15: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/15.jpg)
POINT TRANSFORMATION
Date 15
Streaming inserted
![Page 16: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/16.jpg)
POINT TRANSFORMATION
Date 16
Streaming and Sharing inserted
![Page 17: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/17.jpg)
NORMAL ESTIMATION
April 17th 2018
17
Example: Simple normal estimation
Assumptions
Organized Point Cloud
Data processed point wise in increasing manner (column and row wise)
P(n-2, m-2) P(n-2, m-1) P(n-2,m)
P(n-1, m-2) P(n-1, m-1) P(n-1, m)
P(n, m-2) P(n, m-1) P(n, m)
P(n+1, m-2) P(n+1, m-1)
New point
Point to calculate
surface normal
![Page 18: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/18.jpg)
NORMAL ESTIMATION
April 17th 2018
18
UsingVector-Ram Blocks (Matlab System object)
Store currently not needed data in Ram
Read 3 Values from Ram at once
![Page 19: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/19.jpg)
SUMMARY
April 17th 2018
19
HDL Coder
Algorithm development for FPGA without VHDL coding
Run as HiL-Setup directly
Comparable to Simulink implementation
Challenges
Algorithm selection
What can be implemented?
How to adopt algorithms?
![Page 20: Point-Cloud Processing Using HDL Coder - MathWorks · A point cloud is a set of discrete points in 3D space. Each point is represented ... Point Cloud AXI Processing CPU UDP PC Evaluation](https://reader030.fdocuments.in/reader030/viewer/2022040411/5eda0b1349d90237bc3d7998/html5/thumbnails/20.jpg)