如何让神经网络给出位置?

How to make a neural net give position?

我了解了如何做分类问题并开始了解卷积网络,我认为这在某种程度上是答案。我对如何设置网络来给我输出位置有点困惑。

假设您有面部数据集的鼻子终点位置。要找到终点,您只需做一个 'classification' 类型的问题,您的输出层类似于 64x64 = 4096 点,但如果鼻子位于网格的第 43 行和第 20 列,您只需将输出设置为所有除了在元素 43*64 + 20 = 2772 处将其设置为 1 之外的零?然后将其映射回您的图像尺寸。

我找不到太多关于这部分识别工作原理的信息,这是我最好的猜测。我正致力于使用这种方法的第二个项目,但这将是很多工作,并且想知道我是否至少在正确的轨道上。这似乎是一个已解决的问题,但我似乎无法找到人们如何做到这一点。

尽管您所描述的可能可行,但通常不使用神经网络(卷积网络和其他网络)来确定特征在图像中的位置。特别是,卷积神经网络 (CNN) 专门设计为具有平移不变性,因此无论它们在输入图像中的位置如何,它们都会检测特征 - 这与您正在寻找的有点相反。

对于您所描述的这类问题,一种常见且有效的解决方案是级联分类器。它们有一些局限性,但对于您所描述的那种应用程序,它可能会工作得很好。特别是,级联分类器旨在提供良好的性能,这归功于分阶段方法,在这种方法中,输入图像的大部分部分很快就会被前几个阶段消除。

不要误会我的意思,尝试使用您描述的方法可能会很有趣;请注意,它可能很难很好地扩展。