首页 » 刷脸背后:人脸检测 人脸识别 人脸检索 » 刷脸背后:人脸检测 人脸识别 人脸检索全文在线阅读

《刷脸背后:人脸检测 人脸识别 人脸检索》7.2 计算人脸相似度的方法

关灯直达底部

本章中,我们主要使用欧氏距离和余弦相似度的度量方法作为计算图像间相似性的依据。欧氏距离和余弦相似度的最大区别是:前者强调点的思想,后者注重线的思想。下面我们来详细了解一下它们的定义及公式。

7.2.1 欧氏距离

欧氏距离(Euclidean Distance)是一种常用的距离定义,指n维空间中两个点之间的实际距离,也就是说,我们将高维空间向量都视为一个高维空间上的点,用欧氏距离即可求得两点间的距离。文献[1]给出了n维空间中的欧氏距离公式。

n维欧氏空间是一个点集,它的每个点X或向量x可以表示为(x[1],x[2],…,x[n]),其中x[i](i = 1,2,…,n)是实数,称为X的第i个坐标。

两个点A= (a[1],a[2],…,a[n]) 和B= (b[1],b[2],…,b[n])之间的距离ρ(A,B)定义为下面的公式:

向量x= (x[1],x[2],…,x[n]) 的自然长度|x|定义为下面的公式:

计算欧氏距离的代码如下:

7.2.2 余弦相似度

余弦相似度是利用求两个向量之间的余弦相似度来衡量两个向量之间的夹角。余弦相似值越接近1,夹角越小,它们的方向就越吻合,则认为它们越相似;反之,则越不相似。文献[2]给出了n维空间上的余弦相似度公式。

对于n维空间,设向量A = (A1,A2,…,An),B = (B1,B2,…,Bn)。其中分子是两个向量的内积或称点积,分母是两个向量的欧几里得长度的乘积。

本章算法中我们计算余弦相似度的代码如下:

除欧氏距离和余弦相似度外,汉明距离(Hamming Distance)也是一种常用的计算两个向量之间相似度的方法。汉明距离的思想是,一一比较每个位(属性)上,两个向量的值是否相同,如果不相同,则汉明距离加 1。最后得到的汉明距离越小,表明两个向量之间的相似度越高。