2

我会通过一些MATLAB code for Normalized Cut for image segmentation,我不能找出下面这段代码:Normalized cut:这段代码做了什么?

% 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。 (由像素ij之间的相似性定义)。 W然后用于解决本征值问题d^(-1/2)(D-W)d^(-1/2) x = \lambda x

w_ij的是,因为权重定义的方式,所有阳性,所以dr是0的矢量。

什么是补偿?他们如何选择? offset*2背后的原因是什么?我有这种感觉,这是为了避免在某些情况下的一些潜在的陷阱。这可能是什么?

任何帮助将非常感谢,谢谢!

+0

你可以发布一个链接到你参考的NCuts代码吗? – Shai 2014-12-03 07:20:22

+1

@Shai [here](http://www.cis.upenn.edu/~jshi/software/)你去 - – user2121792 2014-12-04 15:33:24

回答

1

我相信你遇到了一段由Prof Stella X Yu编写的代码。
事实上,当W为正时,此代码无效,这是NCut的常见情况。
然而,在一个CVPR 2001 paper余和仕扩展NCuts处理互动以及积极的。在这些情况下,dr(r为“排斥”)起着重要作用。说到负面权重,我必须说我个人并不赞同于和施的方法。
我坚信,当存在排斥信息时,Correlation Clustering是一个比扩展的NCuts目标好得多的目标函数。我用负权重进行的一些图像分割实验的结果表明,相关聚类目标优于扩展NCut。

+1

非常感谢你! – user2121792 2014-12-04 15:32:15

+0

@ user2121792非常欢迎。如果你遇到负面的亲和力 - 让我知道,我对他们有一个情有独钟:) – Shai 2014-12-04 15:38:07