Object detection in Point Cloud is popular in HD Map and sensor-based autonomous driving. There basically four types of object you can obtain in daily scenario: road surface - contains painted lane marking and pavement area, support facility - contains road boundary (guardrail and curb), road sign, light pole, etc., uncorrelated object - for example, sidewalk, building, etc., and moving object - such like pedestrian, vehicle, bicycle, etc.
In this project, please search references, design and prototype your road boundary (guardrail) detection algorithm.
Open a Terminal at the project directory, run:
$ python3 CoordTransform.py
This python script will read original point cloud data, do coordinate transformation (LLA -> ECEF -> ENU -> Camera),
and generate a point_cloud_camera_coord.csv
file, which has 4 columns (X-coord, Y-coord, Z-coord, Intensity) for each data item.
Build the project "cloud_viewer" with the CMakeLists.txt
Run the project solution
Make sure the file final_project_point_cloud.fuse
is in the directory ./final_project_data/
Make sure the point_cloud_camera_coord.csv
is under the correct directory
If you already have point_cloud_camera_coord.pcd
file, you can commemt the line 335 to line 339
Python 3.6
C++
PCL 1.8.1 for C++
opencv for C++
It is recommended that you use cmake to build the project
We only test the project under windows system
CoordTransform.py
point_cloud_camera_coord.csv
cloud_viewer.cpp
CMakeLists.txt