问题描述
我正在尝试将Shai Bagon(@Shai)Graph Cut MATLAB Toolbox GCMex的模型用于“针对图像完成的补丁偏移统计数据(Image Completion Approaches Using the Statistics of Similar Patches)中的模型。
该模型的给出者:
假设标签的数量(Shifts)为4(上移1,下移2,右移3或左移4),以简化操作。
我仍然不确定如何设置数据结构(数组)以利用求解器。
有人有主意吗?
解决方法
我不确定我的GCMex实现是否支持这种平滑度术语。
如果我理解正确,您需要为每个相邻的i
,j
计算一个不同 L
x L
的权重矩阵。底层的c ++软件包(由Boykov等人编写)确实支持此功能,但是我没有为此选项创建接口。
更新:
假设您有n
个像素和l
个可能的标签。
当前的GCMex接口支持以下形式的成对加权:
E(i,L(i),j,L(j)) = w(i,j) * S(L(i),L(j))
也就是说,成对惩罚的主要“来源”是 fixed l
x l
矩阵S(L(i),L(j))
,它定义分配相邻像素的惩罚i
和j
分别标记为L(i)
和L(j)
。 l
x l
的权重不不取决于像素i
和j
的位置标签L(i)
和L(j)
上仅。
唯一的空间相关性来自标量 w(i,j)
,它通过取决于S
和i
的位置的标量来调制j
。>
但是,对于您来说,实际需要的是每对l
和l
的{{1}} x i
矩阵。