【问题标题】:Machine learning-based edge detector基于机器学习的边缘检测器
【发布时间】:2017-09-04 01:48:51
【问题描述】:

我已阅读以下blog 关于使用机器学习进行边缘检测的内容。他们

使用了基于现代机器学习的算法。该算法在人类注释最重要边缘和对象边界的图像上进行训练。给定这个标记的数据集,训练机器学习模型来预测图像中每个像素属于对象边界的概率。

我想用 opencv 来实现这个技术。

有人知道或知道如何使用 Opencv 实现/开发此方法吗?

我们如何注释最重要的边缘和对象边界以用于机器学习算法?

【问题讨论】:

  • 我不认为投递箱的人会从关于 stackoverflow 的问题开始。你的问题太宽泛了。你可以在opencv中实现任何东西,这取决于你愿意添加多少代码......
  • 伙计们提供了有关他的解决方案的技术细节,我正在尝试用 opencv 实现它。这个问题在我看来非常清楚和准确。

标签: opencv image-processing machine-learning deep-learning signal-processing


【解决方案1】:

opncv 上有强大的边缘检测算法。著名的是霍夫变换(博客上描述的线的结合)。大多数强边缘检测器都是基于梯度的; x 或 y 或两个方向的梯度。我想向您介绍Sobel edge detectorLaplacian。两者都在 opencv 中提供。 对于您想要问题的情况,这很棘手,并且取决于您设置的日期。我为您提供了以下链接:

  1. Dollar slides at U. Toronto

  2. Review Paper from U. twente

  3. Github repository s9xie

我希望这对你有帮助。

【讨论】:

  • 第三个现已集成到 OpenCV 的 dnn 模块中。因此,您可以通过几行代码直接从 opencv 运行基于深度学习的边缘检测。
【解决方案2】:

现在您必须获取一个带有注释的数据集,就像 Dropbox 所做的那样。这将是你的起点。然后您可以在#deep-learning 的文档部分了解神经网络。所谓的 U 形网络是当前最先进的分割技术,如 (https://github.com/EdwardTyantov/ultrasound-nerve-segmentation) 所示。这可以很容易地用于您的任务。

我仍然认为注释数千张图像并不是您真正想要的。如果您不想学习边缘检测器,可以使用更经典的东西,如 canny 或 sobel (https://en.wikipedia.org/wiki/Edge_detection),如您提供的博客文章中所述。

【讨论】:

    猜你喜欢
    • 2019-01-22
    • 2019-06-22
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2018-08-25
    相关资源
    最近更新 更多