1. A method for image registrations, comprising: determining a first binary descriptor of a first key point in a first image, wherein at least one element in the first binary descriptor is a result of a comparison of a difference between intensities of at least two pixels of the first image with a threshold; determining a second binary descriptor of a second key point in a second image, wherein at least one element in the second binary descriptor is a result of a comparison of a difference between intensities of at least two pixels of the second image with the threshold; determining a weighted distance between the first binary descriptor and the second binary descriptor, wherein at least two weights of the weighted distance for comparing at least two elements of the first and the second binary descriptors are different; registering the first key point with the second key point when the weighted distance is below a noise threshold, wherein at least some steps of the method are performed using a processor; and executing a computer vision action based on the image registrations, wherein the computer vision action includes one or combination of visual odometry, 3D reconstruction, object detection, object recognition, sensor fusion, and image-based localization.