【问题标题】:Convert Edge Detection to Mask将边缘检测转换为遮罩
【发布时间】:2020-10-18 16:09:53
【问题描述】:

给一个我应用边缘检测过滤器的图像,什么方法(希望是高效/高性能的)来实现标记片段中点的“总和”的掩码?

图片说明:

提前谢谢你。

更新:

添加了较轻图像的示例 (https://imgur.com/a/MN0t3pH)。 正如您将在下图中看到的,我们假设当用户标记一个区域 (ROI) 时,将会有一个对象从其背景中“突出”。我们的最终目标是获得该对象最准确的“掩码”,以便我们可以将其用于 ML 处理。

【问题讨论】:

  • 一个建议是对您的原始图像设置阈值并裁剪该区域。使用形态学填充区域并清理任何异常值。然后获取轮廓并在黑色背景上绘制填充为白色的轮廓
  • @fmw42 嘿 Fred,谢谢您的回复。我做了类似的事情,它适用于高对比度边缘检测。对于边缘较轻的场景,您有什么建议?另外,你做有偿顾问是偶然的吗?
  • @RoiMulia 我认为您应该添加一个 ROI 包含较亮边缘的示例图像。
  • 我同意@Burak。请发布一个您遇到困难的示例。
  • 到目前为止您尝试过什么?也许我们可以给你一些提示来改进一个“工作”的例子。

标签: python opencv computer-vision metal edge-detection


【解决方案1】:

从您上传的两个示例中,我可以假设您正在根据颜色/强度的差异进行阈值化 - 我可以建议 grabcut 作为基本的前景分离 - 使用该 ROI 中的蒙版边缘作为算法的输入. 更好的是 - 如果您的阈值与第一张图像一样好,只需跳过边缘检测部分,这将是grabcut的输入。

======= 编辑 =======

@RoiMulia 如果你需要生产级别我可以建议你完全离开阈值+边缘检测方向,尝试背景去除技术(SOTA 目前是神经网络,如Background Matting: The World is Your Green Screen (example))。

您也可以尝试一些现成的后台清除 API,例如 https://www.remove.bg/ 或 https://clippingmagic.com/

【讨论】:

  • 我为此做了一个快速而肮脏的尝试,结果更好,但仍然不在生产级范围内。结果:imgur.com/a/MgfjH1z。我们有办法优化它吗?
【解决方案2】:

1.
鉴于您的“投资回报率”监督,我强烈建议您探索 GrabCut(由 YoniChechnik 提议):
Rother C、Kolmogorov V、Blake A."GrabCut" interactive foreground extraction using iterated graph cuts。 ACM 图形事务 (TOG)。 2004.

要了解它的工作原理,您可以使用 power-point 的“背景去除”工具:

这是基于 GrabCut 算法的。

这是它在 power point 中的样子:

GrabCut 主要根据前景/背景颜色分布对选定 ROI 中的前景对象进行分割,而较少根据边缘/边界信息进行分割,尽管这些额外信息可以集成到公式中。

好像opencv有GrabCut的基本实现,见here。


2.
如果您正在寻找仅使用边界信息的方法,您可能会发现this answer 很有用。


3.
另一种方法是使用 NCuts: Shi J, Malik J. Normalized cuts and image segmentation. IEEE 模式分析和机器智能汇刊。 2000.

如果你有非常可靠的边缘图,你可以将 NCuts 使用的“亲和矩阵”修改为二进制矩阵

         0  if there is a boundary between i and j
w_ij =   1  if there is no boundary between i and j
         0  if i and j are not neighbors of each other

NCuts 可以被视为一种估计“稳健连接组件”的方法。

【讨论】:

  • 感谢您的回复,Shai。 GrabCut 提供了很好的结果,但不幸的是,没有达到我们在修复过程中需要的精度。我也会尝试 NCuts,我给你赏金,因为我觉得这个答案在转向 DL 方法之前最大化了我的 CV 选项。谢谢!
猜你喜欢
  • 2016-09-11
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多