MRF和Graph Cut:从方程式到代码?

时间:2018-11-26 09:04:23

标签: python image-processing graph-theory max-flow

我尝试编写科学论文,但遇到了一些麻烦。本文是关于前景/背景分割的,其中前景是运动物体,背景是静态场景。我用KDE算法获得了每个像素属于前景或背景的概率。现在,我必须在成对的MRF上使用Graph Cut算法。这是减少能量的方法: energy_function

l_i和l_j是我要为每个像素找到的标签。 p(x_i | phi_f)是像素x_i属于前景而p(x_i | phi_b)属于背景的概率。这些概率是通过KDE估算的。

MRF的每个节点都是图像中的一个像素。一个像素与其四个邻居之间有一条边缘,每个像素与源与宿之间有一条边缘(一个用于前景,一个用于背景)。

我需要帮助才能将此方程式传递给代码。

如果我理解的话,第一个术语是成对成本,以求平滑并确定像素与其相邻像素之间边缘的权重。根据等式,我将λ作为权重放在每个边缘上。

第二项是一元成本,它确定像素与源和接收器之间边缘的权重。在此,像素与源之间的权重与像素与宿之间的权重相同。我说的对吗?

我将sklearn的KernelDensity和PyMaxflow用于Graph Cut。有关代码的另一个问题:score_samples()函数返回某些像素的inf值。如何在Graph Cut中使用这些值?

感谢您的帮助!

0 个答案:

没有答案