有什么可以对比两张图片得出相似度的软件_有什么可以对比两张图片得出相似度的软件

3个月前 (03-17 01:25)阅读3回复1
路人甲
路人甲
  • 管理员
  • 注册排名2
  • 经验值468750
  • 级别管理员
  • 主题93750
  • 回复0
楼主

有什么可以对比两张图片得出相似度的软件

我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。例如,在教育研究中,经常遇到对人的分析和判别,个体的不同属性对于区分个体有着不同的重要性。因此,有时需要采用不同的距离函数。? ? 如果用dij表示第i个样品和第j个样品之间的距离,那么对一切i,j和k,dij应该满足如下四个条件:①当且仅当i=j时,dij=0②dij>0③dij=dji(对称性)④dij≤dik+dkj(三角不等式)? ? 显然,欧氏距离满足以上四个条件。满足以上条件的函数有多种,本节将要用到的马氏距离也是其中的一种。? ? 第i个样品与第j个样品的马氏距离dij用下式计算:dij =(x i 一x j)‘S-1(x i一xj)? ? ?其中,x i 和x j分别为第i个和第j个样品的m个指标所组成的向量,S为样本协方差矩阵。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。------------------------------------------------------------------------欧氏距离定义:欧氏距离( Euclidean distance)是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在二维和三维空间中的欧式距离的就是两点之间的距离,二维的公式是d = sqrt((x1-x2)^ (y1-y2)^)三维的公式是d=sqrt(x1-x2)^ (y1-y2)^ (z1-z2)^)推广到n维空间,欧式距离的公式是d=sqrt( ∑(xi1-xi2)^ ) 这里i=1,2..nxi1表示第一个点的第i维坐标,xi2表示第二个点的第i维坐标n维欧氏空间是一个点集,它的每个点可以表示为(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是实数,称为x的第i个坐标,两个点x和y=(y(1),y(2)...y(n))之间的距离d(x,y)定义为上面的公式.欧氏距离看作信号的相似程度。距离越近就越相似,就越容易相互干扰,误码率就越高。--------------------------------------------------------------------------------马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。下面是关于马氏距离的计算方法(参考:http://topic.csdn.net/u/20080911/14/f4402565-3b4f-4de4-a4fa-f4c020dd1477.html )两个样本:His1 = {3,4,5,6}His2 = {2,2,8,4}它们的均值为:U = {2.5, 3, 6.5, 5}协方差矩阵为:S =| 0.25 0.50 -0.75 0.50 || 0.50 1.00 -1.50 1.00 ||-0.75 -1.50 2.25 -1.50 || 0.50 1.00 -1.50 1.00 |其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)] [His2(i)-u(i)]*[His2(j)-u(j)]}/2下一步就是求出逆矩阵S^(-1)马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量]}欧氏距离(http://en.wikipedia.org/wiki/Euclidean_distance )即两项间的差是每个变量值差的平方和再平方根,目的是计算其间的整体距离即不相似性。马氏距离(Mahalanobis distances)1)马氏距离的计算是建立在总体样本的基础上的,这一点可以从上述协方差矩阵的解释中可以得出,也就是说,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;2)在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离来代替马氏距离,也可以理解为,如果样本数小于样本的维数,这种情况下求其中两个样本的距离,采用欧式距离计算即可。3)还有一种情况,满足了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如A(3,4),B(5,6);C(7,8),这种情况是因为这三个样本在其所处的二维空间平面内共线(如果是大于二维的话,比较复杂???)。这种情况下,也采用欧式距离计算。4)在实际应用中“总体样本数大于样本的维数”这个条件是很容易满足的,而所有样本点出现3)中所描述的情况是很少出现的,所以在绝大多数情况下,马氏距离是可以顺利计算的,但是马氏距离的计算是不稳定的,不稳定的来源是协方差矩阵,这也是马氏距离与欧式距离的最大差异之处。我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。?马氏距离的计算:[plain] view plain copy print?%欧氏距离和马氏距离的计算 ?x=[1 2;1 3;2 2;3 1]; ?[mx,nx]=size(x); ?Dis=ones(mx,nx);%产生全1的矩阵 ?C=cov(x);%计算协方差 ?for i=1:mx ?? ? for j=1:nx ?? ? ? ? D(i,j)=((x(i,:)-x(j,:))*inv(C)*(x(i,:)-x(j,:))‘)^0.5; ?? ? end ?end ?D ??Y=pdist(x,‘mahal‘) ?y=squareform(Y) ?[plain] view plain copy print??结果:前面.................

有什么可以对比两张图片得出相似度的软件

我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。例如,在教育研究中,经常遇到对人的分析和判别,个体的不同属性对于区分个体有着不同的重要性。因此,有时需要采用不同的距离函数。? ? 如果用dij表示第i个样品和第j个样品之间的距离,那么对一切i,j和k,dij应该满足如下四个条件:①当且仅当i=j时,dij=0②dij>0③dij=dji(对称性)④dij≤dik+dkj(三角不等式)? ? 显然,欧氏距离满足以上四个条件。满足以上条件的函数有多种,本节将要用到的马氏距离也是其中的一种。? ? 第i个样品与第j个样品的马氏距离dij用下式计算:dij =(x i 一x j)‘S-1(x i一xj)? ? ?其中,x i 和x j分别为第i个和第j个样品的m个指标所组成的向量,S为样本协方差矩阵。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。------------------------------------------------------------------------欧氏距离定义:欧氏距离( Euclidean distance)是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在二维和三维空间中的欧式距离的就是两点之间的距离,二维的公式是d = sqrt((x1-x2)^ (y1-y2)^)三维的公式是d=sqrt(x1-x2)^ (y1-y2)^ (z1-z2)^)推广到n维空间,欧式距离的公式是d=sqrt( ∑(xi1-xi2)^ ) 这里i=1,2..nxi1表示第一个点的第i维坐标,xi2表示第二个点的第i维坐标n维欧氏空间是一个点集,它的每个点可以表示为(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是实数,称为x的第i个坐标,两个点x和y=(y(1),y(2)...y(n))之间的距离d(x,y)定义为上面的公式.欧氏距离看作信号的相似程度。距离越近就越相似,就越容易相互干扰,误码率就越高。--------------------------------------------------------------------------------马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。下面是关于马氏距离的计算方法(参考:http://topic.csdn.net/u/20080911/14/f4402565-3b4f-4de4-a4fa-f4c020dd1477.html )两个样本:His1 = {3,4,5,6}His2 = {2,2,8,4}它们的均值为:U = {2.5, 3, 6.5, 5}协方差矩阵为:S =| 0.25 0.50 -0.75 0.50 || 0.50 1.00 -1.50 1.00 ||-0.75 -1.50 2.25 -1.50 || 0.50 1.00 -1.50 1.00 |其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)] [His2(i)-u(i)]*[His2(j)-u(j)]}/2下一步就是求出逆矩阵S^(-1)马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量]}欧氏距离(http://en.wikipedia.org/wiki/Euclidean_distance )即两项间的差是每个变量值差的平方和再平方根,目的是计算其间的整体距离即不相似性。马氏距离(Mahalanobis distances)1)马氏距离的计算是建立在总体样本的基础上的,这一点可以从上述协方差矩阵的解释中可以得出,也就是说,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;2)在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离来代替马氏距离,也可以理解为,如果样本数小于样本的维数,这种情况下求其中两个样本的距离,采用欧式距离计算即可。3)还有一种情况,满足了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如A(3,4),B(5,6);C(7,8),这种情况是因为这三个样本在其所处的二维空间平面内共线(如果是大于二维的话,比较复杂???)。这种情况下,也采用欧式距离计算。4)在实际应用中“总体样本数大于样本的维数”这个条件是很容易满足的,而所有样本点出现3)中所描述的情况是很少出现的,所以在绝大多数情况下,马氏距离是可以顺利计算的,但是马氏距离的计算是不稳定的,不稳定的来源是协方差矩阵,这也是马氏距离与欧式距离的最大差异之处。我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。马氏距离有很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。?马氏距离的计算:[plain] view plain copy print?%欧氏距离和马氏距离的计算 ?x=[1 2;1 3;2 2;3 1]; ?[mx,nx]=size(x); ?Dis=ones(mx,nx);%产生全1的矩阵 ?C=cov(x);%计算协方差 ?for i=1:mx ?? ? for j=1:nx ?? ? ? ? D(i,j)=((x(i,:)-x(j,:))*inv(C)*(x(i,:)-x(j,:))‘)^0.5; ?? ? end ?end ?D ??Y=pdist(x,‘mahal‘) ?y=squareform(Y) ?[plain] view plain copy print??结果:前面.................

0
回帖

有什么可以对比两张图片得出相似度的软件_有什么可以对比两张图片得出相似度的软件 相关回复(1)

晨曦微凉
晨曦微凉
沙发
图片相似度对比,精准便捷的辅助工具。
话唠3周前 (06-08 17:01)回复00
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息