Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 8.95 KB

perc.MD

File metadata and controls

86 lines (59 loc) · 8.95 KB

Self Driving Car Perception :

Object Detection Segmentation SLAM

2D Object Detection:

  • Object Detection [models]
  • Real time object detection [models]
  • Few shot object detection [models]
  • Object Detection In Aerial Images [models]

Object Tracking [models]

3D Object Detection:

Segmentation: models

  • Semantic Segmentation [models]
  • Panoptic Segmentation [models]
  • 3D Semantic Segmentation [models]
  • Real-Time Semantic Segmentation [models]
  • Road Segmentation [models]

Depth Estimation: [models]

  • Monocular Depth Estimation [models]
  • Stereo Depth Estimation [models]

Vision SLAM: @github/SLAM

Autonomous Vehicles : [models and features]

SLAM (Simultaneous Localization and Mapping)

More on Simultaneous Localization and Mapping (SLAM) in my visual slam notes @visual-slam.

Filter Based SLAM : Filter based SLAM treats the SLAM problem as a state-estimation problem, where the state encompasses information about the current position and map. The state is recursively updated by a filter, which estimates the current position and map based on actions and measurements. As more data is collected, the estimate is augmented and refined.

Some filter based SLAM algorithms are:

  • Kalman Filter: this is a recursive algorithm that works in two steps: a prediction step and an update step. The prediction step makes a prediction for the state based on the dynamics of the system, and the update steps reconcile the prediction with the measurements to produce an improved estimate of the state. The information from the prediction and measurements are weighed based on their uncertainty / (co)-variance. The Kalman Filter algorithm assumes a linear world with Gaussian error / noise; in fact, the Kalman Filter is the optimal / best estimator in a linear, Gaussian world when optimizing for mean square error between the estimated and true state. However, a limitation of the Kalman Filter is that linearity and / or Gaussian error / noise do not always apply.

  • Extended Kalman Filter (EKS): the Extended Kalman Filter (EKS) extends the Kalman Filter and allows us to relax the linearity assumption by using linearization. The technique involves using a first-order Taylor expansion around the estimate and keeps most of the Kalman Filter mechanics. The EKS algorithm is a very popular technique for nonlinear state estimation due to its flexibility and efficiency. However, EKS can also introduce large errors in the estimate and lead to suboptimal performance.

  • Unscented Kalman Filter (UKS): the Unscented Kalman Filter (UKS) extends the Kalman Filter and allows us to relax the linearity assumption by approximating a probability distribution. The technique involves using an unscented transformation that calculates statistics, such as the mean or variance, for a random variable that undergoes a nonlinear transformation (by sampling sigma points that represent the distribution of the state). The UKS can provide more accurate estimates for the state, especially in more nonlinear systems, but can be more computationally expensive.

  • Particle Filter: the Particle Filter represents the estimate as a set of particles, where each particle represents a possible state; particles with higher weights are deemed to be more reflective of the true state. As more information is collected, the particles are re-weighted based on their match to the observed measurements. A key strength of the Particle Filter is that it has very few assumptions of the underlying system, allowing for complexity, and the ability to handle non-linear systems and non-Gaussian error / noise (unlike the Kalman Filter). As such, it’s very flexible and can be used in a wide variety of situations. However, the Particle Filter does also have limitations such as dimensionality (i.e., a lot of particles may be needed to accurately express the state distribution), divergence (i.e., the particles can diverge from the true state), and complexity (i.e., the computation required can be intensive). There are variants that build upon the Particle Filter and address these limitations. In general, filter based SLAM shines in structured environments where the dynamics are known — in this setting, it can be computationally efficient and potentially provide real-time estimates.

Graph Based SLAM : Graph based SLAM treats the SLAM problem as a graph problem, where position information is represented by the nodes and the map is derived with the edges. In the robotics space, it’s common to use pose-graph optimization. In a pose graph, the nodes represent poses and landmarks and the edges represent constraints between them. New nodes are added as new poses and landmarks are detected, and constraints connect sequential nodes with information about the movement. For example, moving from one point to another would be represented with two nodes, each containing information about the pose and landmarks measured, connected by an edge, containing information about the motion and other observations. In constructing the pose graph, we can also add edges between nodes if they are similar enough, indicating a return to some previous poses and landmarks. When two nodes are very similar, it provides information to update the pose graph and potentially add new edges indicating their closeness (this is also sometimes called detecting a loop closure).

  • Square Root Smoothing And Mapping (Square Root SAM) [paper]
  • Incremental Smoothing and Mapping (iSAM) [paper]
  • g2o: A General Framework for Graph Optimization [paper]

In general, graph based SLAM performs better than filtering based SLAM when there are large uncertainties or non-Gaussian noises because of its flexibility. However, a limitation is that it can be computationally expensive.

Deep Learning Based SLAM Deep learning based SLAM attempts to solve the SLAM problem using neural networks and deep learning. Examples:

[A Comprehensive survey of visual SLAM algorithms] [ Lidar SLAM: The Ultimate Guide to Simultaneous Localization and Mapping ]

resources : Evaluation and Analysis of Perception Systems for Autonomous Driving, Vision-Based Environmental Perception for Autonomous Driving, Computer Vision and Perception for Self-Driving Cars (Deep Learning Course), Perception, Planning, Control, and Coordination for Autonomous Vehicles, DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving, Self Driving Car : Uni Bonn.