MATLAB中图像补全模型如何使用图割统计补丁偏移量

How to Use Graph Cut for the Statistics of Patch Offsets for Image Completion Model in MATLAB

我正在尝试使用 Shai Bagon 的 (@Shai) Graph Cut MATLAB Toolbox GCMex for the model from Statistics of Patch Offsets for Image Completion (Image Completion Approaches Using the Statistics of Similar Patches)。

模型由:

假设标签(轮班)的数量为 4(向上 1,向下 2,向右 3 或向左 4)以使事情更简单。
我仍然不确定如何设置数据结构(数组)以使用求解器。

有人知道吗?

我不确定我的 GCMex 实现是否支持这种类型的平滑项。

如果我没理解错的话,你需要为每个相邻的ij计算一个不同的 LxL 权重矩阵。底层的 c++ 包(Boykov 等人的)确实支持这个,但我没有为这个选项创建一个接口。

更新:

假设您有 n 个像素和 l 个可能的标签。
当前的 GCMex 接口支持 pair-wise 形式的权重:

E(i, L(i), j, L(j)) = w(i,j) * S(L(i), L(j)) 

也就是说,pair-wise penalty 的主要“来源”是 fixed lxl 矩阵 S(L(i), L(j)) 定义了将相邻像素 ij 分别分配给标签 L(i)L(j) 的惩罚。此 lxl 权重 而不是 取决于像素 i 和 [=] 的 位置 12=] 只有 在他们的标签上 L(i)L(j).
唯一的空间依赖性来自 标量 w(i,j),它通过取决于 ij 位置的标量调制 S .

但是,在您的情况下,您实际需要的是每对 ij.[=40 的 lxl 矩阵=]

我认为你应该研究一下 void setSmoothness(smoothFnCoord cost);