基于机器学习的边缘检测器

时间:2017-04-08 18:51:27

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

我已经使用机器学习阅读了以下blog边缘检测。他们

  

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

我想使用opencv实现这项技术。

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

我们如何注释最重要的边缘和对象边界,以便与机器学习算法一起使用?

2 个答案:

答案 0 :(得分:2)

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

  1. Dollar slides at U. Toronto

  2. Review Paper from U. twente

  3. Github repository s9xie

  4. 我希望这会对你有所帮助。

答案 1 :(得分:1)

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

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