Neural network 神经网络如何处理感兴趣区域较小的大型图像?

Neural network 神经网络如何处理感兴趣区域较小的大型图像?,neural-network,Neural Network,如果我理解正确,当训练神经网络识别图像中的对象时,通常将单个像素映射到单个输入层节点。然而,有时我们可能会有一个只有一小部分感兴趣的大图片。例如,如果我们训练一个神经网络来识别交通标志,我们可能会看到交通标志只覆盖了一小部分的图像,而其余的图像则被道路、树木、天空等拍摄下来。创建一个神经网络来尝试从每个位置寻找交通标志似乎非常昂贵 我的问题是,除了对图像进行预处理外,还有什么具体的策略可以用神经网络来处理这种情况吗 谢谢。如果你想识别大尺寸图像上的小物体,你应该使用“扫描窗口” 对于“扫描窗口”

如果我理解正确,当训练神经网络识别图像中的对象时,通常将单个像素映射到单个输入层节点。然而,有时我们可能会有一个只有一小部分感兴趣的大图片。例如,如果我们训练一个神经网络来识别交通标志,我们可能会看到交通标志只覆盖了一小部分的图像,而其余的图像则被道路、树木、天空等拍摄下来。创建一个神经网络来尝试从每个位置寻找交通标志似乎非常昂贵

我的问题是,除了对图像进行预处理外,还有什么具体的策略可以用神经网络来处理这种情况吗


谢谢。

如果你想识别大尺寸图像上的小物体,你应该使用“扫描窗口”

对于“扫描窗口”,您可以应用降维方法:

  • DCT()
  • 主成分分析()

  • 每个输入节点使用1个像素通常是完成的。进入网络的是特征向量,因此您应该输入实际特征,而不是原始数据。输入原始数据(及其所有噪声)不仅会导致分类错误,而且培训所需时间也会超过必要的时间

    简而言之:预处理是不可避免的。您需要对数据进行更抽象的表示。有数百种方法可以解决您提出的问题。让我给你一些流行的方法

    1) 图像处理以查找感兴趣的区域
    当检测交通标志时,一种常见的策略是使用边缘检测(即,与某些过滤器进行卷积),应用一些启发式,使用阈值过滤器,并隔离感兴趣区域(斑点、强连接组件等),这些区域作为网络的输入

    2) 在没有任何先验知识或图像处理的情况下应用特征
    使用特定的图像表示,他们可以从中快速计算特征。他们的框架已经被证明是实时工作的。(我知道他们的原始工作没有说明NNs,但我在论文中将它们的特性应用于多层感知器,所以你可以将其用于任何分类器,真的。)

    3) 深入学习
    学习更好的数据表示可以并入神经网络本身。这些方法是最流行的atm研究方法之一。因为这是一个非常大的主题,我只能给你一些关键词,这样你就可以自己研究它了。是学习有效表达的网络。可以将它们与常规ANN一起使用。乍一看似乎有点复杂,但它们值得一看。在对神经网络进行实际分类之前,它们有交替的子窗口卷积(边缘检测)和重采样层。CNN目前能够在OCR中实现一些最佳结果


    在每种情况下,你都必须问自己:1)我是否给我的ANN提供了一个表示法,该表示法包含完成工作所需的所有数据(一个不太抽象的表示法)和2)远离太多噪音(从而保持足够的抽象性).

    我们通常不使用完全连接的网络来处理图像,因为输入层中的单元数量将是巨大的。在神经网络中,我们有专门的神经网络来处理图像,即卷积神经网络(CNN)。
    然而,CNN扮演着特征提取器的角色。编码后的特征将最终输入一个完全连接的网络,该网络充当分类器。在你的情况下,我不知道你的物体与整个图像相比有多小。但是如果感兴趣的对象非常小,即使使用CNN,图像分类的性能也不会很好。然后我们可能需要使用对象检测(使用滑动窗口)来处理它

    谢谢你的回复。那么,通常通过使用扫描窗口并将图像从扫描窗口发送到网络来处理神经网络“外部”的此类情况吗?这样的事情完全不可能由神经网络自己来处理吗?例如:让我们拍摄2000x2000像素的原始图像。扫描窗口可以是20x20像素(根据经验选择)。在这种情况下,神经网络的输入层应该包含400个神经元,但如果我们将DCT/PCA方法应用到我们的扫描窗口,我们可以减少到约100个神经元。