如果物体可能在某些位置,CNN 的平移不变性是否不需要?

人工智能 神经网络 卷积神经网络 物体识别
2021-11-02 06:41:33

关于在图像中使用 CNN 进行对象检测的各种文本都谈到了它们的平移不变性是一件好事。这对于对象可能位于图像中任何位置的任务是有意义的。假设在家庭图像中检测到一只小猫。

但是,假设您已经掌握了有关图像中感兴趣对象的可能位置的一些信息。例如,用于检测景观图像数据集中的树木。大多数情况下,树木将位于图像的下半部分,而在某些情况下,它们可能位于顶部(因为它位于山丘或其他地方)。所以你想让你的神经网络学习这些信息——树可能连接到图像的底部(地面)。这可能使用 CNN 范式吗?

谢谢

2个回答

根据你的例子:

树木可能位于图像的下半部分。不过,您将不知道是否会有一棵、两棵或五棵树。由于 CNN 的平移不变性,每棵树都会激活负责树检测的过滤器。您仍然需要处理树木在山上的少数例外情况。

为了在这种特殊情况下获得更好的结果,您可能需要考虑某种聚焦机制,它会尝试去除图片中不需要的部分,以防(例如)没有山丘。看看空间变压器网络在训练期间,它学习预测空间变换(例如缩放),这将有助于“主要”分类器预测图像类别。

我认为,您对图像中树木位置的假设是非常不正确的。只需谷歌图片搜索“风景”(如果还没有的话),您会看到几乎相同数量的图像,其中树木构成图像的顶部与仅位于中间和底部的图像。

谈到 CNN,它会自动学习(这就是美!)训练图像中存在的对象的属性。我所说的属性是指对象的可能位置、位置、形状颜色等。如果你可视化 CNN 层(主要是后面的层)输出,使用类激活的地图,你可以看到 CNN 学习和关注的内容。此外,您可以可视化CNN 学习的过滤器(或内核)。