使用Procrustes分析比较手写形状
这个例子展示了如何使用Procrustes分析来比较两个手写的数字3。视觉和分析地探索强迫大小和反射变化的影响。
加载和显示原始数据
输入两个手写数字3的地标数据。
A = [11 39;17 42;25 42;25 40;23 36;19 35;30 34;35 29;...30 20;18 19];B = [15 31;20 37;30 40;29 35;25 29;29 31;31 31;35 20;...29 10;25 18];
创建X
而且Y
从一个
而且B
、移动B
移到一边,使每个形状更明显。
X = a;Y = B + repmat([25 0], 10,1);
画出图形,用字母标出地标点。图中的线条将点连接起来,以指示每个形状的绘制路径。
情节(X (: 1) X (:, 2),的r -, y (:,1), y (:,2),“b -”);文本(X (: 1) X (:, 2), (“abcdefghij”)') text(Y(:,1), Y(:,2),(“abcdefghij”)”)传说('X =目标',“Y =比较”,“位置”,“本身”xlim([0 65]);55 ylim ([0]);
计算最佳变换
使用Procrustes分析来寻找使地标数据点之间距离最小化的转换。
[d,Z,tr] = procrustes(X,Y);
函数的输出为d
(一种标准化的不相似度测量),Z
(转换后的地标矩阵),以及tr
(包含字段的计算转换的结构数组T
,b
,c
对应于变换方程)
想象一下变换后的形状,Z
,使用蓝色虚线。
情节(X (: 1) X (:, 2),的r -, y (:,1), y (:,2),“b -”,...Z(: 1)、Z (:, 2),”乙:“);文本(X (: 1) X (:, 2), (“abcdefghij”)') text(Y(:,1), Y(:,2),(“abcdefghij”)') text(Z(:,1), Z(:,2),(“abcdefghij”)”)传说('X =目标',“Y =比较”,...'Z =变形',“位置”,“西南”xlim([0 65]);55 ylim ([0]);
检查两个形状的相似性
使用两个不同的数值,即不相似度量d
还有缩放方法b
,以评估目标形状与变换后形状的相似度。
不相似度测量d
给出一个0到1之间的数字,描述目标形状和转换后的形状之间的差值。接近0的值表示更相似的形状,而接近1的值表示不相似。
d
D = 0.1502
的小值d
在这种情况下,说明这两个形状是相似的。普罗克汝斯忒斯
计算d
通过比较集合点之间的偏差平方和与原始点的列均值的偏差平方和。
分子= sum(sum(X-Z).^2))
分子= 166.5321
分母= sum(sum(bsxfun(@minus,X,mean(X)).^2)))
分母= 1.1085e+03
比率=分子/分母
比率= 0.1502
所得到的度量d与形状大小的尺度无关,只考虑地标数据的相似性。
检查形状的大小相似度。
tr.b
Ans = 0.9291
前面图中目标的大小和比较形状看起来相似。的价值强化了这种视觉印象b
= % 0.93,这意味着最好的转换结果是将比较形状缩小了0.93(仅7%)。
限制转换的形式
探索手动调整缩放和反射系数的影响。
力b
等于1 (set“缩放”
To false)用于检查目标和转换后的图形在大小上的不同程度。
ds = procrustes(X,Y,“缩放”假)
Ds = 0.1552
在本例中,设置的比例
的计算值增加d
只有0.0049,这进一步支持了两个数字3在大小上的相金宝app似性。更大的增长d
会显示出更大的尺寸差异。
这个例子只需要旋转,而不需要反射来对齐形状。你可以通过观察矩阵的行列式来证明这一点T
在这个分析中是1。
依据(tr.T)
Ans = 1.0000
如果你需要变换中的反射,行列式T
是1。您可以按照下面的方法将反射强制到转换中。
[dr,Zr,trr] = procrustes(X,Y,“反射”,真正的);博士
Dr = 0.8130
d值急剧增大,说明强制反射导致地标点转换较差。转换后的图形显示了类似的结果。
情节(X (: 1) X (:, 2),的r -, y (:,1), y (:,2),“b -”,...锆(:1)、锆(:,2),”乙:“);文本(X (: 1) X (:, 2), (“abcdefghij”)') text(Y(:,1), Y(:,2),(“abcdefghij”)') text(Zr(:,1), Zr(:,2),(“abcdefghij”)”)传说('X =目标',“Y =比较”,...'Z =变形',“位置”,“西南”xlim([0 65]);55 ylim ([0]);
标志性数据点现在离目标数据点更远了。变换后的3现在是目标3的一个不受欢迎的镜像。
如果将转换后的形状上下翻转,似乎形状可能会更好地匹配。然而,翻转形状会使转换变得更糟糕,因为地标数据点将离它们的目标对应点更远。从这个例子中,很明显手动调整缩放和反射参数通常不是最优的。