【发布时间】:2020-09-18 21:00:22
【问题描述】:
我随机取了一个内核,并将其应用到 padding='valid'、stride=(1,1) 的图像上,内核的大小 = (3,3)。
这是正常的图像:
这是应用滤镜后的图像:
然后我把原图旋转了90度,变成了这样:
然后我在这个旋转的图像上应用了相同的过滤器,并将其作为输出:
然后我旋转了这个输出图像,使其旋转与之前的特征图相同。 在我旋转了这个旋转的特征图,并将其与之前的特征图进行比较后,我注意到它们并不相同。
这是两个特征图的图像:
如您所见,它们显然不一样。
这意味着特征图随着输入图像中特征位置的变化而变化。
但是为什么会这样呢? 例如:假设我们有一个检测“眼睛”的内核,在对位于图像中心的“眼睛”图像训练内核之后,我们给它一个图像,这一次,“眼睛”出现在顶部- 图像的左侧。它仍然会做得很好,因为它会在图像的每个 (5,5) 部分上搜索眼睛(假设内核的大小为 (5, 5)),所以特征出现在哪里并不重要在图片中。
那么,当我们改变输入图像中特征的位置时,为什么特征图会出现在'5'的例子中?
【问题讨论】:
-
嘿 Dhruv,您是否尝试打印像素值?你能给我们提供你的代码吗?我认为发生的情况是,当您的滤镜在图像上移动时,它会将某些功能应用于该滤镜选择的像素值。如果您现在旋转该图像,您的滤镜将选择一组不同的像素,因为滤镜仍在以相同的方式(或更好的方向)在图像上移动
标签: machine-learning deep-learning feature-detection