【问题标题】:CNN for detecting changes in gradient? (depth map)用于检测梯度变化的 CNN? (深度图)
【发布时间】:2021-01-16 14:53:49
【问题描述】:

我有一个问题,我试图在深度图中查找梯度变化,同时忽略噪声和伪影。我正在使用它来检测主要出现在路边的可驾驶表面中的“下降”。这些边缘很难在彩色图像中检测到,因为路缘的两侧可以具有相同的表面,并且路缘的样式、颜色和方向在不同位置之间可能会有很大差异:

因此,决定使用深度图。

虽然可以使用相当简单的算法来完成深度变化,但忽略(或至少识别)噪声和伪影确实很难做到。我目前的方法是简单地将图像移动几个像素,然后将其从自身中减去以显示渐变的快速变化:video here

在图像中出现噪点之前,这非常有效:

经过一些研究,我认为检测这些最可靠的方法是使用卷积神经网络 (CNN)。我过去在这些方面有一些经验,但这似乎是一个相当独特的问题,因为这既不是完全分割也不是分类。输出的目标非常小,而且对图像进行一致标记非常困难:

我的问题是(如果太宽泛,请允许我澄清一下):什么标签系统/网络可以用于这样的任务?而且,我认为这是神经网络的工作真的正确吗?

使用 Nvidia DIGITS 和 Caffe,到目前为止,我已经尝试过这些网络(运气不佳):

对于我的标签技术,我尝试了两种不同的方法:

输出边缘分割(与输入大小相同)

输出网格分类(32x18网格,如果包含任何边则填充)

在这两种情况下,产生的输出大多是胡言乱语,损失是通过屋顶

【问题讨论】:

    标签: machine-learning deep-learning neural-network computer-vision conv-neural-network


    【解决方案1】:

    鉴于新的信息,我有以下建议。两者都涉及机器学习。考虑到现实世界的复杂性,我相信在这些情况下,仅使用启发式方法来检测线条将会很困难。

    如果你有足够的数据:

    我认为您应该直接将其视为基于深度学习的对象检测问题。正如您自己指出的那样,“这些边缘很难在彩色图像中检测到,因为路缘的两侧可以具有相同的表面,并且路缘的样式、颜色和方向在不同位置之间可能会有很大差异”。深度图是一项有用的功能,但深度网络将学习深度,以及您指出的所有其他上下文线索。在深度图上使用深度网络不会那么有效,因为输入已经是较低维度的特征(与 RGB 图像相反)。 Here 是检测车道的一个例子。

    如果您没有足够的数据:

    提取特征,例如深度、边缘方向以及您认为可能有用的任何其他特征。使用 SVM 或随机森林等算法根据这些特征对线进行分类。


    编辑前的旧答案: 您要解决的最终应用是什么? “在忽略噪声和伪影的情况下尝试在深度图中找到梯度变化”的说法有点模棱两可,因为图像左侧有几个梯度变化,我不确定你是否关心。

    这看起来有点像自动驾驶数据集。如果您的目标是检测车道线或道路边界,那么尝试直接检测可能比尝试估计深度更容易。

    如果不是,请让我们知道(尽可能/允许)最终目标是什么,因为从一个应用程序到下一个应用程序,“噪音”都是主观的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多