1. A method for determining a matching score between a first set of n 1 feature points, and a second set of n 2 feature points, the method comprising the procedures of: producing a triple-wise affinity tensor, including the affinity score of assignments of triplets of feature points of said first set of feature points and triplets of feature points of said second set of feature points, wherein said affinity score of assignments of triplets is determined by the equation: A ijk = A ikj = A jik = A jki = A kij = A kji = exp - ( (  α 1 i - α 2 i ′  +  α 1 j - α 2 j ′  +  α 1 k - α 2 k ′  ) 2 σ 2 ) ; determining a leading eigenvector of said triple-wise affinity tensor; iteratively producing a binary optimal assignment vector by discretization of said leading eigenvector; and determining a matching score between said first set of feature points and said second set of feature points according to said triple-wise affinity tensor and according to said optimal assignment vector wherein said procedures of producing a triple-wise affinity tensor, determining a leading eigenvector, producing a binary optimal assignment vector and determining a matching score are being performed by a computer system including at least one processor.