Binary robust independent elementary features (BRIEF)
Even though we have FAST to quickly detect the keypoints, we still have to use SIFT or SURF to compute the descriptors. We need a way to quickly compute the descriptors as well. This is where BRIEF comes into the picture. BRIEF is a method for extracting feature descriptors. It cannot detect the keypoints by itself, so we need to use it in conjunction with a keypoint detector. The good thing about BRIEF is that it's compact and fast.
Consider the following image:

BRIEF takes the list of input keypoints and outputs an updated list. So, if you run BRIEF on this image, you will see something like this:

The following is the code:
import cv2 import numpy as np input_image = cv2.imread('images/house.jpg') gray_image = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY) # Initiate FAST detector fast = cv2.FastFeatureDetector_create() # Initiate BRIEF extractor, before opencv 3.0.0 use cv2.DescriptorExtractor_create("BRIEF") brief = cv2.xfeatures2d...