Skip to main content

Review of ORB-SLAM: a monocular SLAM system

ORB-SLAM

- Uses

  - Bundle Adjustment
  - ORB features [9]
  - A pose graph
     - Essential graph
     - a spanning tree
       - loop closure links
       - strong edges
       - from covisibility graph

  - covisibliity graph
    - local covisible area
    - tracking and mapping

- mar point and keyframe selection
  - generous spawning
  - restrictive culling
  - identify redundant keyframes
  - improves robustness and lifelong operations


- Stores map points:

  - 3D position X(w,i) in the world coordinate system
  - the viewing direction n(i)
    - the mean unit vector of all its viewing directions
    - the ray that joint the point with the optical center of the keyframe

 - A representative ORB descriptor D(i)
    - the associated ORB descriptor whose hamming distance is minimum
      with respect to all other associated descriptors in the keyframes
      in which the point is observed.

 - the maximum d(max)
 - the minimum d(min) distance
    - at which the point can be observed,
    - according to the scale invariance limits of the ORB features.


- Stores keyframes k(i)

  - The camera pose T (i,w)
   
    - a rigid body transformation
       - that transforms points from the world to the camera coordinate system

   - the camera intrinsics
      - including focal length and principal point

   - all the ORB features extracted in the framee
      - associated or not to a map point,
        whose coordinates are undistorted if a distortion model is provided.



Comments

Popular posts from this blog

How to improve the traditional ASR using Connectionist Temporal Classification

The traditional Automatic Speech Recognition (ASR) performs at about 85% accuracy rate.  At this rate, ASR users are often frustrated with the experience with using such a system. The tradition ASR is often fragile: 1) requires extensive modification of parameters, just to make it work. 2) requires extensive understanding of a language model and a acoustic model. 3) doesn't scale well to multiple languages. 4) hyper-sensitive to speaker variants. Deep Learning on the acoustic model has been introduced, but not much of gain in the accuracy. What if, we can do a DL from end to end? Connectionist Temporal Classification (2006) introduces an idea of using FFT on the frequency of a recording of a voice command and constructs a spectrogram at 8kHz.  At each spectrogram interval, a DL neural network can be assigned, individually. The basic idea is to have RNN output neurons to encode distribution over "symbols". The traditional ASR uses a phone...

How to use Convolution Neural Network to predict SIFT features

A feature locator is essential in all CV domain.  It's the basis of the germetric transformation, epipolar geometry, to 3D mesh reconstruction. Many techniques - SIFT and other SLAM technologies, are available, but they require ideal environments to work in. To address the short comings: - sensitive to low texture environment - sensitive to low light envonrment - sensitive to high light environment (like outdoor day light with above 20k lux) - and many other issues I propose a CNN based neural network to detect 4 correspondences in an image A and an image B. Since it is tricky to have a neural network to predict a 4x4 affine matrix of rotation and translation, I separated the translation vector from the rotation vector. Basically, the ground truth data will be precalcalated with a generic SIFT with RANSAC to calculate the correspondences set P and P'. The L2 (Eucledean) distance will be used between a predicted value.  They are 4 points, so an averaged will ...

Calculating camera extrincs

Before we talk about the projection matrix of the depth correspondces, we need to know two things: - Camera extrinsics - Camera intrinsics Camera extrinsics maps the world coorinates to the camera coordinates. For the simplicity of the camera, it is a pinhole camera without lenses.  I'll talk about the lenses, the focal length, the lense aberation, the pixel sensor dimension, etc in Camera intrincs. So, locating an object in two images and projecting in the camera space is not that straight. But, it will be a straight process with the application of Machine Learning. I'll talk about the next part of the series in applying the deep neural network to optimizing the homographic projection and have it robust in low texture settings including low light. Deep Neural Network - Estimating Homography to address: - low texture environment - outside light conditions ( gamma > 2kLs) - robust as or better than SfM or other SLAM techniquese First, we need to locate the ...