for Robot Artificial Inteligence

11. Visual odometer(Feature point)

|

Feature Point

  • Basic concepts
    • Definition: The point of local uniqueness in the frame
      • It should be able to discern even if the object’s size, position, camera point of view, lighting, etc. change.
  • Applicable fields: recognition, detection, tracking, classification…
  • property
    • Repeatability: The same area can be found in different frame.
    • Differentiation: Feature points in different region have different expressions.
    • Efficiency: The number of feature points in the image should be smaller than the number of pixels.
    • Locality: Feature points relate only to the local area of the image.
  • Configuration(구성)
    • Keypoint: Location information of feature points
    • Descriptor: A vector describing information about surrounding pixels
  • Harris corner detector
    • In a small window in an image, the part with large image change in all directions is regarded as a corner
    • The point where the image change value of the pixel is locally maximized is used as the corner point.

  • Shi-Tomasi
    • Good features should be able to be optimized for tracking algorithms!
    • Both simple translation and affine changes are considered.
    • Only the smallest of the two eigenvalues is considered.

Scale Invariant Feature Transform(SIFT)

  • You need strong points such as changes in size, direction and lighting!
    • Result of picking feature vectors for local patches centering on identifiable feature points
    • It expresses the direction and rapid degree of regional brightness change.
    • Due to the large amount of computation, it is not suitable for real-time SLAM implementation.
      • Of course, it can be complemented by GPU programming
    • The Difference of Gaussian method was used to compensate for the large amount of computation in the Laplacian of Gaussian method.
    • Laplacian: 2nd derivative of the brightness of the image

  • Difference of Gaussian(DoG)

  • Process
    • Scale-space extrema detection: Potential feature point candidates robust to changes in size and direction are extracted based on the difference of Gaussian for all scales.
    • keypoint localization: For each extrema, low-contrast points and points in the edge region are removed.
    • Orientation assignment: directional assignment based on local gradient for each point
    • Keypoint descriptor: 16x16 size block -> 4x4 sub-block unit
      • Generate 8 bin histogram of direction in each sub-block
      • Finally, create a 128 dimensional vector

Oriented-FAST and Rotated-BRIEF(ORB)

  • quickly detect feature points based on the apparent change in brightness of grayscale

  • Binary Robust Independent Elementary Features(BRIEF)
    • Descriptor vector is composed of binary numbers.
    • Decide the binary number to treat as the vector through comparison between two pixels in the patch

  • Random two pixel pairs are randomly determined based on probability distribution
  • Generate 128bit binary descriptor by comparing 128 pairs

  • Oriented-FAST
    • The weakness of FAST is that it does not have direction and scale.
    • Solve scale immutability problems with image pyramids
    • Connect the geometric center O and the moment-based center C to find the direction for it
  • Rotated-BRIEF
    • Conventional BRIEF does not have rotational invariance
    • Use of keypoint direction information obtained during FAST detection
    • Use Steer BRIEF: Performs BRIEF after rotating according to the direction information

Correspondence matching(대응 매칭)

  • Basic concepts
    • Process required to perform data association process in SLAM
    • The process of correctly matching descriptors between images and images, or images and maps
    • Problems caused by repetitive textures can cause inconsistent accumulation!
  • Brute-force matcher
    • The point with the shortest descriptor distance between feature points in two different images is regarded as a matching point.
    • Generally, descriptor distance means similarity
    • Euclid distance, Hamming distance…
    • If the number of dots increases, the calculation amount increases, which is not efficient.
  • Fast Library for Approximate Nearest Neighbors(FLANN)
    • Matching library for fast matching in high Dimension
    • Real-time matching is suitable for SLAM

Reference

SLAM KR

Comments