Coder Social home page Coder Social logo

udacitysensorfusion's Introduction

UdacitySensorFusion

Course metrials and projects of Udacity Sensor Fusion Nanodegree Program.

Lidar Obstacle Detection

Lidar Point Clouds Input 3D Tracked Objects w/ Bounding Boxes
Raw input Tracked result
  • Contained in the folder lidar_obstacle_detection
  • Implemented a 3D lidar object detection, which contains several classical algoirthm:
Type RANSAC 2D Line Fitting RANSAC 3D Plane Fitting Kd-tree Clustering
Result Ransac 2D Ransac 3D Kdtree 2D
Source code RANSAC 2D source code RANSAC 3D source code Kd-tree source code

Camera Object Detection

Items Images
TTC Calculation based on 3D Object Detection TTC
2D Image Keypoints Detection keypoint
3D Object Detection via YOLOv3 obejct detection
  • 2D Feature Tracking
    • Implemented classic image feature detection, description as well as matching within OpenCV:
      • Keypoints detectors: implemented based on intensity gradients such as HARRIS, SHITOMASI, etc, as well as Non-maximum Suppression (NMP) technique for clearing overlapping of keypoints
      • Descriptors: applied OpenCV built-in descriptors, including Histograms of Oriented (HoG) based descriptors such as SIFT and SURF, as well as Binary Descriptors such as BRISK, BRISK, ORB and AKAZE.
      • Descriotpr Matching: implemented manually about L1, L2 norms matching, as well as K Nearest Neighbor matching algorithm based on distances / ratios
    • Performed analysis on different combinations of detector / descriptor / matching to evaluate overall performance
    • Refer to 2D Feature Tracking Page for further details
  • 3D Object Tracking
    • Applied YOLOv3 object detection with trained model and generated bounding boxes for detected objects
    • Implemented 3D lidar point clouds projection on 2D camera image
    • Calculated Time-to-Collision (TTC) based on 2D camera image keypoints matching, and projected 3D lidar point clouds on 2D images
    • Conducted analysis of performance of camera TTC via various combinations of detector / descriptor
    • Refer to 3D Object Tracking Page for further details
Camera based TTC Lidar based TTC
combinations camera combinations lidar

Radar Target Generation and Detection

Source / Input (from 2D FFT) Result / Output of 2D CFAR
FFT 2D CFAR 2D
  • 2D CFAR Algorithm
    • Refer to Radar Target Generation and Detection for further details.
    • The 2D CFAR algorithm takes the 2D FFT result, i.e., the complete Range Dopper Map (the variable RDM in the script), as its input
    • then the algorithm applies sliding window through the input, and during each iteration it conducts averaging of surrounding cell values of the interested cell (i.e., the Cell Under Test (CUT)), to take as threshold of the CUT.
    • Parameter Selection: to achieve an ideal performance of 2D CFAR, the following paramters are set:
Tr Td Gr Gd SNR
12 14 6 8 5

UKF Highway Object Tracking

udacitysensorfusion's People

Contributors

cyscgzx33 avatar

Stargazers

Guilherme Euzébio avatar  avatar Alejandro Fernández-Infante Sánchez-Camacho avatar Atul Acharya avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.