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 project a camera plane A to a camera plane B

How to Create a holographic display and camcorder In the last part of the series "How to Create a Holographic Display and Camcorder", I talked about what the interest points, descriptors, and features to find the same object in two photos. In this part of the series, I'll talk about how to extract the depth of the object in two photos by calculating the disparity between the photos. In order to that, we need to construct a triangle mesh between correspondences. To construct a mesh, we will use Delaunnay triagulation.  Delaunnay Triagulation - It minimizes angles of all triangles, while the sigma of triangles is maximized. The reason for the triangulation is to do a piece wise affine transformation for each triangle mapped from a projective plane A to a projective plane B. A projective plane A is of a camera projective view at time t, while a projective plane B is of a camera projective view at time t+1. (or, at t-1.  It really doesn't matter)...

State of the Art SLAM techniques

Best Stereo SLAMs in 2017 are reviewed. Namely, (in arbitrary order) EKF-SLAM based,  Keyframe based,  Joint BA optimization based,  RSLAM,  S-PTAM,  LSD-SLAM,   Best RGB-D SLAMs in 2017 are also reviewed. KinectFusion,  Kintinuouns,  DVO-SLAM,  ElasticFusion,  RGB-D SLAM,   See my keypoints of the best Stereo SLAMs. Stereo SLAM Conditionally Independent Divide and Conquer EKF-SLAM [5]   operate in large environments than other approaches at that time uses both  close and far points far points whose depth cannot be reliably estimated due to little disparity in the stereo camera  uses an inverse depth parametrization [6] shows empirically points can be triangulated reliably, if their depth is less than about 40 times the stereo baseline.     - Keyframe-based  Stereo SLAM   - uses BA optimization in a local area to archive scalability.  ...

How to create a holographic camcorder

Since the invention of a camcorder, we haven't seen much of advancement of a video camcorder. Sure, there are few interesting, new features like capturing video in 360 or taking high resolution 4K content. But the content is still in 2D and we still watch it on a 2D display. Have you seen the movie Minority Report (2002)? There is a scene where Tom Cruise is watching a video recording of his lost son in 3D or holographically. Here is a video clip of this scene. I have been waiting for the technological advancement to do this, but it's not here yet. So I decided to build one myself. In order to build a holographic video camcorder, we need two devices. 1) a video recorder - a recorder which captures the video content in 3D or holographically. 2) a video display - a display device which shows the recorded holographic content in 3D or holographically. Do we have a technology to record a video, holographically. Yes, we can now do it, and I'll e...