如何使用 CNN 的特征图来定位图像上的对象?
How to use feature maps of CNN to localize obect on the image?
我正在学习 CNN。我了解卷积层和池化层的工作原理,我了解创建特征图的方式和原因。然后如何定位对象? IE。我正在使用 Helen dataset,其中每张照片都有 194 个面部点(轮廓、眼睛、鼻子和嘴巴)。例如,将这些面孔输入我的神经网络,我可以接收地图特征并从中计算图像中是否有眼睛的概率。但是我如何从那个特征图中知道那些眼睛的确切位置呢?
我想到的唯一一个决定如下:假设我们有 16x16 的图像,然后使用三个 3x3 的过滤器,我们收到三个 "basic feature" 14x14 的地图,没有合并(因为它使位置不太准确)我们用另外三个 3x3 过滤器处理它们,以接收 9 个具有更一般特征的地图。在这些地图上,我们找到所需特征(眼睛)的检测位置,转到上一层以找到从中接收到这只眼睛的元素(我们称它们为加法基本特征),然后从这些元素中的每一个我们转到更上一层(输入)并标记所有参与创建被加数基本特征的输入层元素。
这种方式似乎过于复杂和不准确,这就是为什么我要求正确的图像本地化方法。
你要的叫"object localization"。有很多技术可以做到这一点。参见 f.e。斯坦福 CS231 https://www.youtube.com/playlist?list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC (Feb 1 and Feb 3 in http://cs231n.stanford.edu/syllabus.html).
中的第 8 和第 9 讲
我正在学习 CNN。我了解卷积层和池化层的工作原理,我了解创建特征图的方式和原因。然后如何定位对象? IE。我正在使用 Helen dataset,其中每张照片都有 194 个面部点(轮廓、眼睛、鼻子和嘴巴)。例如,将这些面孔输入我的神经网络,我可以接收地图特征并从中计算图像中是否有眼睛的概率。但是我如何从那个特征图中知道那些眼睛的确切位置呢?
我想到的唯一一个决定如下:假设我们有 16x16 的图像,然后使用三个 3x3 的过滤器,我们收到三个 "basic feature" 14x14 的地图,没有合并(因为它使位置不太准确)我们用另外三个 3x3 过滤器处理它们,以接收 9 个具有更一般特征的地图。在这些地图上,我们找到所需特征(眼睛)的检测位置,转到上一层以找到从中接收到这只眼睛的元素(我们称它们为加法基本特征),然后从这些元素中的每一个我们转到更上一层(输入)并标记所有参与创建被加数基本特征的输入层元素。
这种方式似乎过于复杂和不准确,这就是为什么我要求正确的图像本地化方法。
你要的叫"object localization"。有很多技术可以做到这一点。参见 f.e。斯坦福 CS231 https://www.youtube.com/playlist?list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC (Feb 1 and Feb 3 in http://cs231n.stanford.edu/syllabus.html).
中的第 8 和第 9 讲