Autonomous Driving Project: Euclidean Clustering Object Detection

Objective

The goal of this project is to detect and segment cars and pedestrians on the road using Euclidean clustering. You will implement this using the Point Cloud Library (PCL) and focus on detecting clusters (vehicles and pedestrians) within a point cloud.

The project consists of the following tasks:

  • Implement Euclidean Clustering:

    • Implement an Euclidean clustering program using PCL, following the provided guidelines and comments in cluster_extraction.cpp.
  • Optional Task:

    • Implement the algorithm that performs Euclidean clustering, based on the proximity function and pseudo-code.
    • Plot the distance of each detected cluster.
    • Color vehicles that are within 5 meters and directly in front of the ego vehicle in red.
    • Test the approach using Dataset 2 and evaluate its performance.
  • Dataset 2 Challenge:

    • Try to make your solution work with Dataset 2. If unsuccessful, write a short report explaining why the approach does not work.

System Requirements

  • A Linux-based operating system or virtual machine (Ubuntu 18-20 recommended)
  • PCL Library (install via: sudo apt-get install pcl-tools or sudo apt install libpcl-dev)
  • CMake (install via: sudo apt-get install cmake)