我正在通过一些用于归一化剪切的MATLAB代码进行图像分割,但无法弄清楚下面的代码是做什么的:
% degrees and regularization
d = sum(abs(W),2);
dr = 0.5 * (d - sum(W,2));
d = d + offset * 2;
dr = dr + offset;
W = W + spdiags(dr,0,n,n);
offset
定义为0.5。
W
是正方形,稀疏,对称矩阵(w_ij
由像素之间的相似性定义i
和j
)。W
然后用于解决特征值问题d^(-1/2)(D-W)d^(-1/2) x = \lambda x
该w_ij
的是因为权重的定义方式全部阳性,所以dr
为0的向量。
偏移量是多少?他们是如何选择的?背后的原因是offset*2
什么?我觉得这是为了在某些情况下避免某些潜在的陷阱。这些可能是什么?
任何帮助将不胜感激,谢谢!
相信您遇到过Stella X Yu教授编写的一段代码。
确实,当W
为正数时,此代码无效,这是NCuts的常见情况。
但是,在2001年CVPR论文中, Yu和Shi扩展了NCuts来处理负面互动和正面互动。在这些情况下dr
(“排斥”)起着重要作用。
说到负重,我必须说我个人不同意于和施的方法。
我坚信,当存在排斥信息时,相关聚类是比扩展NCuts目标更好的目标函数。我用负权重进行的一些图像分割实验的结果表明,相关性聚类目标优于扩展的NCuts。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句