ImageEn, unit IEVision

TIEVisionFeatureAlgorithm

TIEVisionFeatureAlgorithm

Declaration

TIEVisionFeatureAlgorithm = (
  ievFeatureORB,
  ievFeatureSIFT,
  ievFeatureAKAZE,
  ievFeatureKAZE,
  ievFeatureBRISK
  );

Description

The keypoint detector and descriptor used by TIEVisionFeaturesDetector.
Value Description
ievFeatureORB Oriented FAST and Rotated BRIEF. Very fast, but finds fewer correct matches
ievFeatureSIFT Scale-Invariant Feature Transform. The most reliable matching, especially with changes of scale and viewpoint, but slower
ievFeatureAKAZE Accelerated KAZE. A good balance of accuracy and speed
ievFeatureKAZE Uses a nonlinear scale space. Accurate keypoint positions, but the slowest
ievFeatureBRISK Binary Robust Invariant Scalable Keypoints. Fast

Comparison

Results of aligning the three image pairs of the ImageAlignment demo (Customs Form, Book and Certificate) with detect, findHomography and warpPerspective, using the default image size limits:
Algorithm Aligned all 3 pairs (maxFeatures = 2000) Aligned all 3 pairs (maxFeatures = 500) Matches (Customs / Book / Certificate) Accuracy Time Peak Memory
ievFeatureORB Yes Yes, but less accurate on Book 300 / 300 / 300 * Good, weakest on Certificate 60 ms 74 MB
ievFeatureSIFT Yes Yes 209 / 575 / 280 Best or equal best on all 3 300 ms 308 MB
ievFeatureAKAZE Yes Yes 188 / 202 / 72 Good 550 ms 248 MB
ievFeatureKAZE Yes Yes 258 / 75 / 103 Good 1400 ms 370 MB
ievFeatureBRISK Yes No, failed on Certificate 156 / 128 / 90 Good 400 ms 120 MB
* ORB keeps a fixed percentage of its matches (goodMatchPercentage), so its count does not indicate quality.
Time is per pair. Peak memory is for a 2.4 MP image (whole process). Results will vary with the images, so if alignment fails or is inaccurate, try another algorithm.

Recommendation

◼ievFeatureSIFT (the default) for the most reliable results
◼ievFeatureORB when speed or memory matters most, e.g. video or batch processing

See Also

◼createFeaturesDetector
◼setMaxImageSize