11. Visual odometer(Feature point)
18 Jun 2020 | Visual SLAM
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
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.
- Definition: The point of local uniqueness in the frame
- 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