1. A method for recognizing faces, comprising: retrieving a pair of face images; segmenting each of the retrieved face images into a plurality of image patches, wherein each patch in one image and a corresponding one in the other image form a pair of patches; determining a first similarity of each pair of patches; determining, from all pair of patches, a second similarity of the pair of face images; and fusing the first similarity determined for the each pair of patches and the second similarity determined for the pair of face images; wherein determining, from all pair of patches, a second similarity comprises: obtaining each of pair of patches from the plurality of image patches; obtaining a plurality of adjacent patches surrounding the obtained patches in a second KNN; retrieving, from the second KNN, sub networks for the adjacent patches; and determining the second similarity in the retrieved subnetworks.