Detect-then-describe approach first performs feature detection and then extracts a feature descriptor from a patch centered around each keypoint [1]}, [2]}. The keypoint detector is typically responsible for providing robustness or invariance against possible real issues such as scale transformation, rotation, or viewpoint changes by normalizing the patch accordingly. However, some of these responsibilities might also be delegated to the descriptor. The common pipeline varies from using hand-crafted detectors [3]}, [4]} and descriptors [5]}, [6]}, replacing either the descriptor [7]}, [8]}, [9]}, [10]}, [11]}, [12]} or detector [13]}, [14]}, [15]} with a learned alternative, or learning both the detector and descriptor [16]}, [17]}. For efficiency, the feature detector often considers only small image regions and typically focuses on low-level structures such as corners or blobs [18]}. The descriptor then captures higher level information in a larger patch around the keypoint.
