如何在 MATLAB 中使用 Graph Cut 统计图像补全模型的补丁偏移量
Posted
技术标签:
【中文标题】如何在 MATLAB 中使用 Graph Cut 统计图像补全模型的补丁偏移量【英文标题】:How to Use Graph Cut for the Statistics of Patch Offsets for Image Completion Model in MATLAB 【发布时间】:2021-01-14 17:34:10 【问题描述】:我正在尝试将 Shai Bagon 的 (@Shai) Graph Cut MATLAB Toolbox GCMex 用于来自 Statistics of Patch Offsets for Image Completion (Image Completion Approaches Using the Statistics of Similar Patches) 的模型。
模型由下式给出:
假设标签 (Shifts) 的数量为 4(上 1、下 2、右 3 或左 4)以简化操作。 我仍然不确定如何设置数据结构(数组)以使用求解器。
有人知道吗?
【问题讨论】:
【参考方案1】:我不确定我的 GCMex 实现是否支持这种类型的平滑项。
如果我理解正确,您需要为每个相邻的i
、j
计算一个不同 L
xL
权重矩阵。底层的 c++ 包(由 Boykov 等人提供)确实支持这一点,但我没有为此选项创建接口。
更新:
假设您有n
像素和l
可能的标签。
当前的 GCMex 接口支持以下形式的成对权重:
E(i, L(i), j, L(j)) = w(i,j) * S(L(i), L(j))
也就是说,成对惩罚的主要“来源”是一个固定l
xl
矩阵S(L(i), L(j))
,它定义了分配相邻像素i
和@987654333的惩罚@ 分别标记L(i)
和L(j)
。 l
xl
的权重不取决于标签上i
和j
像素的位置仅 L(i)
和 L(j)
.
唯一的空间依赖性来自一个标量 w(i,j)
,它通过一个取决于i
和j
位置的标量调制S
。
但是,在您的情况下,您实际需要的是每对 i
和 j
的 l
xl
矩阵。
我认为你应该看看void setSmoothness(smoothFnCoord cost);
。
【讨论】:
如果有支持,您是否有机会描述阵列?这样我就可以在C
中实现了?
顺便说一句,由于我没有适当的声誉,因此我无法投票给您的答案。
所以这样的数组中所需元素的数量是不可行的,因此使用函数处理程序?我还认为该模型要求称重取决于位置和标签,对吗?
@David 好像是这样以上是关于如何在 MATLAB 中使用 Graph Cut 统计图像补全模型的补丁偏移量的主要内容,如果未能解决你的问题,请参考以下文章
目标背景分割Graph Cut based Object Segmentation目标分割,目标轮廓提取算法的MATLAB仿真
[bzoj3514][CodeChef GERALD07] Chef ans Graph Queries [LCT+主席树]